:root{color-scheme:dark;--bg: #0f1419;--surface: #1a222c;--card: #1a222c;--ink: #f4f7fb;--text: #f4f7fb;--dim: #9aa7b8;--muted: #9aa7b8;--accent: #3dd6c3;--accent-ink: #04120f;--accent-2: #3dd6c3;--danger: #ff6b6b;--border: #2a3544;--pin-unvisited: #6b7685;--font-sans: "Hiragino Sans", "Noto Sans JP", system-ui, sans-serif;--font-display: "Hiragino Sans", "Noto Sans JP", system-ui, sans-serif;font-family:var(--font-sans)}body.theme-customer{color-scheme:light;--bg: #ffe8c8;--surface: #fff8ee;--card: #fff8ee;--ink: #1c120c;--text: #1c120c;--dim: #7a5e48;--muted: #7a5e48;--accent: #ff6a35;--accent-ink: #ffffff;--accent-2: #ffb03a;--danger: #d64545;--border: #f0d4b0;--pin-unvisited: #c4c0b4;--paper: #fff8ee;--play-ink: #1c120c;--font-display: "Hiragino Maru Gothic ProN", "Hiragino Sans", "Yu Gothic", "Noto Sans JP", system-ui, sans-serif;--font-sans: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", system-ui, sans-serif;font-family:var(--font-sans);background:var(--bg);color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);min-height:100dvh}.app{max-width:480px;margin:0 auto;padding:16px 16px 32px}body.theme-customer .app{max-width:none;padding:0;height:100dvh;overflow:hidden}h1{font-size:1.25rem;margin:0 0 8px;color:var(--ink)}h2{font-size:1rem;margin:0 0 8px;color:var(--ink)}p{margin:0 0 12px;color:var(--dim);line-height:1.5}.nav{display:flex;gap:8px;margin-bottom:16px}.nav a,button,.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:10px;padding:10px 12px;text-decoration:none;font-size:.9rem;cursor:pointer;font-family:inherit}button.primary,.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent;font-weight:600}button:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:12px}.store-list{list-style:none;padding:0;margin:0}.store-list li{border-bottom:1px solid var(--border);padding:12px 0}.store-list li:last-child{border-bottom:none}.store-name{font-weight:600;color:var(--ink)}.store-meta{color:var(--dim);font-size:.85rem}.error{color:var(--danger);margin-top:8px}.status-ok{color:var(--accent)}input,select{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--ink);margin-bottom:12px;font-family:inherit}body:not(.theme-customer) input,body:not(.theme-customer) select{background:#111820}.launcher{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.launcher-btn{display:block;text-align:center;padding:14px 16px;font-size:1rem;text-decoration:none}.steps{margin:0 0 16px;padding-left:1.2rem;color:var(--dim);line-height:1.6}.warn{color:#c48a1a}.ops-hours{width:100%;border-collapse:collapse;font-size:.82rem;margin-bottom:10px}.ops-hours th,.ops-hours td{border-bottom:1px solid var(--border);padding:6px 4px;text-align:left}.ops-hours input[type=time]{width:auto;margin:0;padding:4px 6px}.ops-photo-preview{display:block;width:100%;max-width:280px;max-height:160px;object-fit:cover;border-radius:12px;border:1px solid var(--border);background:#ebe7dc}.customer-shell{height:100dvh;max-height:100dvh;display:flex;flex-direction:column;max-width:480px;margin:0 auto;overflow:hidden}.customer-main{flex:1 1 auto;min-height:0;overflow:auto;padding:16px 16px calc(72px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}.customer-main.board-main{padding:0;overflow:hidden;position:relative;display:flex;flex-direction:column;min-height:0;padding-bottom:calc(58px + env(safe-area-inset-bottom))}.tab-bar{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:min(480px,100%);height:calc(58px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:flex;background:#fff8ee;border-top:3px solid var(--play-ink, var(--ink));z-index:40}.tab-bar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--dim);font-size:.68rem;border:none;background:transparent;border-radius:0;padding:8px}.tab-bar a.on{color:var(--accent);font-weight:700}.tab-bar svg{width:22px;height:22px}.customer-main.ticket-main{padding:0;background:radial-gradient(circle at 1px 1px,rgba(255,106,53,.16) 1.2px,transparent 0),var(--bg);background-size:16px 16px,auto;display:flex;flex-direction:column;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.ticket-body{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;padding:14px 14px calc(70px + env(safe-area-inset-bottom))}.ticket-loading{margin:auto;color:var(--dim);font-size:.9rem;font-weight:700}.play{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:12px}.play.has-coupon{justify-content:space-between}.play-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.play-logo{font-family:var(--font-display);font-size:.95rem;font-weight:800;color:var(--play-ink);background:#fff;border:3px solid var(--play-ink);border-radius:999px;padding:4px 12px 5px;box-shadow:3px 3px 0 var(--play-ink)}.play-badge{display:inline-flex;align-items:center;gap:2px;font-size:.72rem;font-weight:800;color:var(--play-ink);background:var(--accent-2);border:3px solid var(--play-ink);border-radius:999px;padding:4px 10px;box-shadow:3px 3px 0 var(--play-ink)}.play-badge.is-hot{background:var(--accent);color:#fff}.play-badge b{font-size:.95rem;font-variant-numeric:tabular-nums}.play-score{background:#fff;border:3px solid var(--play-ink);border-radius:22px;padding:14px 16px 16px;box-shadow:5px 5px 0 var(--play-ink)}.play-score-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.play-sticker{display:inline-block;font-size:.72rem;font-weight:900;color:#fff;background:var(--accent);border:3px solid var(--play-ink);border-radius:10px;padding:3px 10px;transform:rotate(-3deg);box-shadow:2px 2px 0 var(--play-ink)}.play-amount{margin:0;display:flex;align-items:baseline;gap:4px;line-height:.9;color:var(--play-ink)}.play-num{font-family:var(--font-display);font-size:clamp(3.2rem,16vw,4.4rem);font-weight:900;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.play-unit{font-family:var(--font-display);font-size:1.15rem;font-weight:800;color:var(--accent)}.play-meta{margin:8px 0 0;font-size:.82rem;font-weight:700;color:var(--dim)}.play-stage{display:flex;flex-direction:column;align-items:center;gap:10px;flex:0 0 auto}.play.has-coupon .play-stage{margin-top:auto;margin-bottom:2px}.play-qr-shell{position:relative;display:grid;place-items:center;padding-top:10px}.play-qr-tag{position:absolute;top:0;left:50%;transform:translate(-50%) rotate(-2deg);z-index:2;font-size:.78rem;font-weight:900;letter-spacing:.12em;color:var(--play-ink);background:var(--accent-2);border:3px solid var(--play-ink);border-radius:8px;padding:4px 12px;box-shadow:2px 2px 0 var(--play-ink)}.play-qr-pad{position:relative;width:min(68vw,28vh,260px);aspect-ratio:1;background:#fffaf2;border:4px solid var(--play-ink);border-radius:28px;padding:14px;box-shadow:6px 6px 0 var(--accent)}.play-qr-corner{position:absolute;width:22px;height:22px;border:4px solid var(--accent);pointer-events:none}.play-qr-corner.tl{top:8px;left:8px;border-right:0;border-bottom:0;border-radius:6px 0 0}.play-qr-corner.tr{top:8px;right:8px;border-left:0;border-bottom:0;border-radius:0 6px 0 0}.play-qr-corner.bl{bottom:8px;left:8px;border-right:0;border-top:0;border-radius:0 0 0 6px}.play-qr-corner.br{bottom:8px;right:8px;border-left:0;border-top:0;border-radius:0 0 6px}.play-qr-svg{width:100%;height:100%;border-radius:12px;overflow:hidden;background:#fffaf2}.play-qr-svg svg{display:block;width:100%;height:100%}.play-qr-hint{margin:0;font-size:.88rem;font-weight:800;color:var(--play-ink);text-align:center}.play-qr-live{margin:0;display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:700;color:var(--dim)}.play-qr-live i{width:8px;height:8px;border-radius:50%;background:var(--accent);border:2px solid var(--play-ink);animation:play-pulse 1.6s ease-in-out infinite}.play-wait{margin:24px 0;font-weight:700;color:var(--dim)}.play-claim{display:block;text-align:center;margin-top:2px;font-size:.78rem;font-weight:700;color:var(--dim);text-decoration:underline;text-underline-offset:3px}.play-title{margin:4px 0 0;font-family:var(--font-display);font-size:clamp(1.7rem,8vw,2.2rem);font-weight:900;line-height:1.15;color:var(--play-ink);letter-spacing:-.02em}.play-lede{margin:0;font-size:.92rem;font-weight:700;line-height:1.5;color:var(--dim)}.play-steps{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.play-steps li{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:12px;background:#fff;border:3px solid var(--play-ink);border-radius:16px;padding:10px 12px;box-shadow:4px 4px 0 var(--accent-2)}.play-steps li span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--accent);color:#fff;border:3px solid var(--play-ink);font-family:var(--font-display);font-size:1.2rem;font-weight:900}.play-steps li p{margin:0;font-size:.92rem;font-weight:800;color:var(--play-ink);line-height:1.35}.play-cta{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-top:auto;width:100%;border:3px solid var(--play-ink);border-radius:16px;background:var(--accent);color:#fff;font-family:inherit;font-size:1.05rem;font-weight:900;padding:14px 16px;box-shadow:4px 4px 0 var(--play-ink);cursor:pointer}.play-cta:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--play-ink)}.play-issued{margin-bottom:4px;animation:play-pop .42s cubic-bezier(.22,1,.36,1) both}.play-issued .play-score-row{justify-content:flex-start;gap:10px}.play-dev{margin-top:8px;padding:10px 4px 0}.play-dev input{min-width:0;margin:0;font-size:.76rem;border-radius:10px;border:3px solid var(--play-ink)}.board-peek{margin-top:8px;padding-top:14px}.board-peek-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.board-peek-caption{margin:0;font-size:.78rem;font-weight:900;color:var(--play-ink)}.board-peek-link{font-size:.78rem;font-weight:800;color:var(--accent);text-decoration:none}.board-peek-map{height:160px;overflow:hidden;border:3px solid var(--play-ink);border-radius:16px;position:relative;background:#ffe8c8;box-shadow:4px 4px 0 var(--play-ink)}.customer-main.stores-main{padding:0;background:radial-gradient(circle at 1px 1px,rgba(255,106,53,.16) 1.2px,transparent 0),var(--bg);background-size:16px 16px,auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.roster{padding:12px 14px calc(78px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:18px}.roster-hero{background:#fff;border:3px solid var(--play-ink, var(--ink));border-radius:18px;padding:12px 14px;box-shadow:4px 4px 0 var(--play-ink, var(--ink))}.roster-hero-kicker{margin:0 0 6px;display:inline-block;font-size:.65rem;font-weight:900;background:var(--accent-2);border:2px solid var(--play-ink, var(--ink));border-radius:999px;padding:2px 8px;box-shadow:1px 1px 0 var(--play-ink, var(--ink))}.roster-hero-title{margin:0;font-family:var(--font-display);font-size:clamp(1.05rem,4.2vw,1.2rem);font-weight:900;line-height:1.25;color:var(--play-ink, var(--ink))}.roster-hero-count{margin:4px 0 0;display:flex;align-items:baseline;gap:4px;line-height:1}.roster-hero-num{font-family:var(--font-display);font-size:clamp(2.1rem,9vw,2.6rem);font-weight:900;letter-spacing:-.04em;color:var(--accent);text-shadow:2px 2px 0 var(--play-ink, var(--ink))}.roster-hero-unit{font-family:var(--font-display);font-size:1rem;font-weight:900;color:var(--play-ink, var(--ink))}.roster-hero-lede{margin:6px 0 0;font-size:.78rem;font-weight:800;color:var(--dim);line-height:1.35}.roster-section-head{margin-bottom:10px}.roster-section-head h2{margin:0;font-family:var(--font-display);font-size:1.15rem;font-weight:900;color:var(--play-ink, var(--ink))}.roster-section-head p{margin:4px 0 0;font-size:.78rem;font-weight:700;color:var(--dim)}.roster-premium,.roster-list{display:flex;flex-direction:column;gap:12px}.roster-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;text-align:left;font-family:inherit;cursor:pointer;display:grid;grid-template-columns:96px 1fr;gap:0;padding:0;background:#fff;border:3px solid var(--play-ink, var(--ink));border-radius:18px;overflow:hidden;box-shadow:4px 4px 0 var(--play-ink, var(--ink));color:inherit}.roster-card.is-premium{box-shadow:5px 5px 0 var(--accent)}.roster-card-photo,.roster-card-photo.is-empty{width:96px;min-height:96px;height:100%;object-fit:cover;background:#ffefd6;border-right:3px solid var(--play-ink, var(--ink))}.roster-card-body{padding:10px 12px;display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0}.roster-sticker{align-self:flex-start;font-size:.65rem;font-weight:900;color:#fff;background:var(--accent);border:2px solid var(--play-ink, var(--ink));border-radius:8px;padding:2px 8px;transform:rotate(-2deg);box-shadow:2px 2px 0 var(--play-ink, var(--ink))}.roster-sticker.is-soft{background:var(--accent-2);color:var(--play-ink, var(--ink))}.roster-card-name{font-weight:900;font-size:.98rem;color:var(--play-ink, var(--ink));line-height:1.25}.roster-card-meta{font-size:.74rem;font-weight:700;color:var(--dim)}.roster-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#1c120c73;display:flex;align-items:flex-end;justify-content:center;padding:12px 12px calc(70px + env(safe-area-inset-bottom))}.roster-detail{position:relative;width:min(480px,100%);max-height:min(78dvh,640px);overflow:auto;background:#fff;border:3px solid var(--play-ink, var(--ink));border-radius:22px;box-shadow:6px 6px 0 var(--play-ink, var(--ink))}.roster-detail-close{position:absolute;top:10px;right:10px;z-index:2;width:36px;height:36px;border-radius:12px;border:3px solid var(--play-ink, var(--ink));background:var(--accent-2);font-size:1.2rem;font-weight:900;line-height:1;cursor:pointer;box-shadow:2px 2px 0 var(--play-ink, var(--ink))}.roster-detail-photo,.roster-detail-photo.is-empty{display:block;width:100%;height:180px;object-fit:cover;background:#ffefd6;border-bottom:3px solid var(--play-ink, var(--ink))}.roster-detail-body{padding:14px 16px 18px;display:flex;flex-direction:column;gap:8px}.roster-detail-row{display:flex;flex-wrap:wrap;gap:6px}.roster-chip{display:inline-flex;font-size:.68rem;font-weight:900;color:var(--play-ink, var(--ink));background:#fff;border:2px solid var(--play-ink, var(--ink));border-radius:999px;padding:3px 9px}.roster-chip.is-hot{background:var(--accent);color:#fff}.roster-detail-name{margin:0;font-family:var(--font-display);font-size:1.35rem;font-weight:900;line-height:1.25;color:var(--play-ink, var(--ink))}.roster-detail-hours,.store-hours{margin:4px 0 0;font-size:.8rem;font-weight:800;color:var(--play-ink, var(--ink))}.roster-detail-budget,.roster-card-budget{margin:4px 0 0;font-size:.8rem;font-weight:900;color:var(--accent)}.roster-intro{margin:10px 0 0;font-size:.85rem;font-weight:600;line-height:1.5;color:var(--dim);white-space:pre-wrap}.roster-menu{margin:12px 0 0}.roster-menu h3{margin:0 0 6px;font-size:.78rem;font-weight:900;color:var(--play-ink, var(--ink))}.roster-menu ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.roster-menu li{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;background:#fff8ee;border:2px solid var(--play-ink, var(--ink));border-radius:10px;font-size:.82rem;font-weight:800}.roster-menu .menu-price{color:var(--accent);white-space:nowrap}.roster-gallery{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.roster-gallery .roster-detail-photo{flex:0 0 100%;scroll-snap-align:start;width:100%;max-height:200px;object-fit:cover}.roster-detail-meta,.roster-detail-address{margin:0;font-size:.82rem;font-weight:700;color:var(--dim);line-height:1.4}.reco-card .unvisited-badge,.store-detail .unvisited-badge{display:inline-block;font-size:.62rem;font-weight:900;color:#fff;background:var(--accent);border:2px solid var(--play-ink, var(--ink));border-radius:8px;padding:1px 7px;margin-left:6px;vertical-align:middle;box-shadow:1px 1px 0 var(--play-ink, var(--ink))}.board-map{flex:1 1 auto;min-height:280px;position:relative;background:#ffefd6}.board-chips{position:absolute;top:12px;left:12px;right:12px;z-index:2;display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:none}.board-chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;border:3px solid var(--play-ink, var(--ink));background:#fff;color:var(--play-ink, var(--ink));border-radius:999px;padding:7px 12px;font-size:.78rem;font-weight:800;box-shadow:3px 3px 0 var(--play-ink, var(--ink))}.chip.on{background:var(--accent);color:#fff;border-color:var(--play-ink, var(--ink));box-shadow:3px 3px 0 var(--play-ink, var(--ink))}.board-sheet{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:0 12px 30px;display:flex;flex-direction:column;gap:10px;pointer-events:none}.board-sheet>*{pointer-events:auto}.reco-card,.store-card{background:#fff;border:3px solid var(--play-ink, var(--ink));border-radius:18px;overflow:hidden;box-shadow:4px 4px 0 var(--play-ink, var(--ink));display:grid;grid-template-columns:88px 1fr;min-height:88px;cursor:pointer}.reco-card img,.store-card img,.reco-card>div:first-child,.store-card>div:first-child,.store-photo-fallback{width:88px;height:100%;min-height:88px;object-fit:cover;background:#ffefd6;border-right:3px solid var(--play-ink, var(--ink))}.reco-card .body,.store-card .body{padding:10px 12px;display:flex;flex-direction:column;justify-content:center;gap:2px}.reco-card .eyebrow,.store-detail .eyebrow{font-size:.72rem;font-weight:900;color:var(--accent)}.reco-card .name,.store-card .name,.store-detail .name{font-weight:900;color:var(--play-ink, var(--ink));font-size:.95rem}.store-detail{background:#fff;border:3px solid var(--play-ink, var(--ink));border-radius:20px;overflow:hidden;box-shadow:5px 5px 0 var(--accent);display:grid;grid-template-columns:104px 1fr;min-height:112px}.store-detail-media{min-height:112px;background:#ffefd6;border-right:3px solid var(--play-ink, var(--ink))}.store-detail-media img,.store-detail-media .store-photo-fallback{width:100%;height:100%;min-height:112px;object-fit:cover;display:block}.store-detail .body{padding:12px;display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0}.store-detail .store-meta{font-size:.76rem;font-weight:700;line-height:1.35;color:var(--dim)}.store-address{margin:2px 0 0;font-size:.72rem;font-weight:600;color:var(--dim);line-height:1.35}.maps-btn{display:inline-flex;align-items:center;align-self:flex-start;gap:4px;margin-top:8px;padding:8px 12px;border-radius:12px;background:var(--accent);color:#fff;text-decoration:none;font-size:.78rem;font-weight:900;border:3px solid var(--play-ink, var(--ink));box-shadow:3px 3px 0 var(--play-ink, var(--ink))}.maps-btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--play-ink, var(--ink))}.maps-ext{font-size:.85em;line-height:1}.labels{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.labels span{font-size:.65rem;font-weight:800;color:var(--play-ink, var(--ink));background:var(--accent-2);border:2px solid var(--play-ink, var(--ink));border-radius:8px;padding:1px 7px}.demoted-note{font-size:.78rem;font-weight:800;color:var(--play-ink, var(--ink));text-align:center;background:#fff;border:3px solid var(--play-ink, var(--ink));border-radius:999px;padding:8px 14px;align-self:center;box-shadow:3px 3px 0 var(--accent-2)}.map-pin{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:3px solid var(--play-ink, var(--ink));box-shadow:3px 3px 0 var(--play-ink, var(--ink));cursor:pointer;padding:0;-moz-appearance:none;appearance:none;-webkit-appearance:none}.map-pin.visited{background:var(--accent)}.map-pin.unvisited{background:#fff8ee}.map-pin svg{width:15px;height:15px;fill:var(--play-ink, var(--ink))}.map-pin.visited svg{fill:#fff}.map-piece{width:40px;height:40px;border-radius:50%;border:3px solid var(--play-ink, var(--ink));box-shadow:3px 3px 0 var(--accent);object-fit:cover;background:var(--accent);z-index:2}.map-piece.fallback{display:grid;place-items:center;color:#fff;font-size:.75rem;font-weight:900}body.theme-customer .maplibregl-ctrl-group{border:3px solid var(--play-ink, var(--ink))!important;border-radius:12px!important;box-shadow:3px 3px 0 var(--play-ink, var(--ink))!important;overflow:hidden;background:#fff!important}body.theme-customer .maplibregl-ctrl-group button{background:#fff!important;border-bottom:2px solid var(--play-ink, var(--ink))!important;width:34px!important;height:34px!important}body.theme-customer .maplibregl-ctrl-group button+button{border-bottom:none!important}body.theme-customer .maplibregl-ctrl-attrib{background:color-mix(in srgb,#fff 88%,transparent)!important;border-radius:8px!important;font-weight:600}.ceremony{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--bg)}.ceremony-stage{position:absolute;top:0;bottom:0;max-width:480px;margin:0 auto;left:0;right:0}.ceremony-map{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;transform:scale(1.04);transition:opacity .48s ease,transform .7s ease}.ceremony-map.ceremony-map-in{opacity:1;transform:scale(1)}.ceremony-ui{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;padding:12px 12px calc(16px + env(safe-area-inset-bottom));pointer-events:none;background:linear-gradient(to top,color-mix(in srgb,var(--bg) 92%,transparent) 0%,transparent 42%)}.ceremony-ui>*{pointer-events:auto}.ceremony-skip-btn{align-self:flex-end;margin-bottom:auto;margin-top:12px;background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--border);color:var(--dim);border-radius:999px;padding:8px 14px;font-size:.78rem;font-weight:700}.ceremony-dock{display:flex;flex-direction:column;gap:10px}.ceremony-actions{display:flex;flex-direction:column;gap:8px}.ceremony-actions .btn{width:100%;text-align:center}.ceremony-pin{opacity:0;transform:translateY(8px) scale(.7);transition:opacity .22s ease,transform .22s ease}.ceremony-pin.ceremony-pin-in{opacity:1;transform:none}.ceremony-pop{animation:sheet-up .38s ease both}@keyframes play-pop{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}@keyframes play-pulse{0%,to{transform:scale(1)}50%{transform:scale(.75)}}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.play-issued,.play-qr-live i,.ceremony-pop,.ceremony-map,.ceremony-pin{animation:none;transition:none}.ceremony-map,.ceremony-pin{opacity:1;transform:none}.play-cta:active{transform:none}}
