@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/bricolage-grotesque-vietnamese-600-normal-Ipewt4hn.woff2) format("woff2"),url(/assets/bricolage-grotesque-vietnamese-600-normal-BppAn7jL.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/bricolage-grotesque-latin-ext-600-normal-CN5JKkBm.woff2) format("woff2"),url(/assets/bricolage-grotesque-latin-ext-600-normal-DF26P3Q7.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/bricolage-grotesque-latin-600-normal-nxTgbNFE.woff2) format("woff2"),url(/assets/bricolage-grotesque-latin-600-normal-Bw0J83-2.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/bricolage-grotesque-vietnamese-700-normal-BLYPkJbo.woff2) format("woff2"),url(/assets/bricolage-grotesque-vietnamese-700-normal-CHrFuVHU.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/bricolage-grotesque-latin-ext-700-normal-fBkt-7fi.woff2) format("woff2"),url(/assets/bricolage-grotesque-latin-ext-700-normal-BXpPFNFj.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/bricolage-grotesque-latin-700-normal-gtcctNPv.woff2) format("woff2"),url(/assets/bricolage-grotesque-latin-700-normal-DvJDmrLu.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/bricolage-grotesque-vietnamese-800-normal-RJtJa6zl.woff2) format("woff2"),url(/assets/bricolage-grotesque-vietnamese-800-normal-DJ4hCX8l.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/bricolage-grotesque-latin-ext-800-normal-BimIDUhy.woff2) format("woff2"),url(/assets/bricolage-grotesque-latin-ext-800-normal-CkoBqIJM.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/bricolage-grotesque-latin-800-normal-J50vIsBe.woff2) format("woff2"),url(/assets/bricolage-grotesque-latin-800-normal-Br4b-5gk.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-sans-latin-ext-400-normal-Q_nF8v4l.woff2) format("woff2"),url(/assets/instrument-sans-latin-ext-400-normal-r32jotim.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-sans-latin-400-normal-DRC__1Mx.woff2) format("woff2"),url(/assets/instrument-sans-latin-400-normal-D1W7dsQl.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/instrument-sans-latin-ext-500-normal-CTEe1bJa.woff2) format("woff2"),url(/assets/instrument-sans-latin-ext-500-normal-CAxz3nsc.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/instrument-sans-latin-500-normal-Dk9ku72i.woff2) format("woff2"),url(/assets/instrument-sans-latin-500-normal-Z6ESRlEs.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/instrument-sans-latin-ext-600-normal-BsaQcF38.woff2) format("woff2"),url(/assets/instrument-sans-latin-ext-600-normal-DMks36a2.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/instrument-sans-latin-600-normal-B7fBEWYG.woff2) format("woff2"),url(/assets/instrument-sans-latin-600-normal-B9e8oLYv.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/instrument-sans-latin-ext-700-normal-ClYbKGw-.woff2) format("woff2"),url(/assets/instrument-sans-latin-ext-700-normal-BQc-7cTM.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/instrument-sans-latin-700-normal-CYfAanHo.woff2) format("woff2"),url(/assets/instrument-sans-latin-700-normal-DfAjL1vF.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink: #1b1916;--night: #141210;--night-2: #2a2622;--night-3: #332e29;--ink-line: #3a352f;--coral: #f0562e;--coral-ink: #b83a17;--coral-light: #ff9a7a;--coral-deep: #3a1f17;--butter: #ffd66b;--butter-soft: #fff3cf;--butter-ink: #7a5a00;--mint: #7fd1a8;--paper: #f6f3ee;--cream: #fbf9f6;--hair: #f1ece4;--line-light: #e8e2d8;--dim: #cfc8be;--faint: #9a9288;--muted-light: #6e675d;--correct: #7fd1a8;--display: "Bricolage Grotesque", "Instrument Sans", "Helvetica Neue", Arial, sans-serif;--font: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%;overflow:hidden;background:var(--night)}body{font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.cursor-hidden,body.cursor-hidden *{cursor:none!important}.viewport{--bg: var(--night);--surface: var(--night-2);--surface-2: var(--night-3);--line: var(--ink-line);--text: #ffffff;--muted: var(--dim);--subtle: var(--faint);--shadow: 0 30px 80px rgba(0, 0, 0, .45);--highlight: var(--butter);position:fixed;inset:0;overflow:hidden;background:var(--bg);color:var(--text)}.viewport[data-tone=light]{--bg: var(--paper);--surface: #ffffff;--surface-2: var(--hair);--line: var(--line-light);--text: var(--ink);--muted: var(--muted-light);--subtle: var(--faint);--shadow: 0 24px 60px rgba(40, 30, 20, .12);--highlight: var(--coral);color-scheme:light}.stage{position:absolute;top:50%;left:50%;transform-origin:center center;padding:56px 96px;display:flex;flex-direction:column}.message-body,.message-hero-body,.couple-names,.welcome-names,.welcome-hint,.holding-names,.holding-date,.holding-place,.prompt-text,.slide-text,.lobby-title,.question-text,.answer-text,.reveal-answer,.podium-champion,.pairing-lead{overflow-wrap:break-word}.stage>*{min-height:0}.spinner{width:72px;height:72px;border-radius:50%;border:7px solid var(--surface);border-top-color:var(--butter);animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.card-label{display:flex;align-items:center;gap:14px;margin:0 0 22px;font-size:28px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--highlight)}.avatar{display:inline-grid;place-items:center;width:64px;height:64px;flex:none;border-radius:50%;background:#e2efe7;color:var(--ink);font-size:26px;font-weight:700;letter-spacing:.02em}.live-dot{display:inline-block;flex:none;width:16px;height:16px;border-radius:50%;background:currentColor;animation:live-pulse 1.6s ease-in-out infinite}@keyframes live-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}.wordmark{margin:0;font-family:var(--display);font-size:40px;font-weight:700;letter-spacing:-.02em;color:var(--text)}.tv-button{display:inline-flex;align-items:center;gap:16px;margin-top:40px;height:104px;padding:0 48px;border:0;border-radius:24px;background:#fff;color:var(--ink);font:700 36px/1 var(--font);cursor:pointer}.viewport[data-tone=light] .tv-button{background:var(--ink);color:#fff}.tv-button:focus-visible{outline:6px solid var(--butter);outline-offset:6px}.offline-note{position:absolute;left:96px;bottom:14px;display:inline-flex;align-items:center;gap:12px;padding:8px 24px;border-radius:999px;background:var(--coral);color:#fff;font-size:28px;font-weight:700;z-index:20}.dev-panel{position:absolute;right:12px;bottom:12px;display:flex;gap:14px;align-items:center;padding:6px 12px;border-radius:8px;background:#0009;color:#9fe;font:16px/1.2 ui-monospace,monospace;z-index:30}.dev-panel button{font:inherit}.loading-screen{flex:1;display:grid;place-items:center;align-content:center;gap:48px}.loading-screen .couple-names{font-size:88px;color:var(--text)}.pairing{flex:1;display:grid;place-items:center}.pairing-panel{width:1400px;display:flex;flex-direction:column;align-items:center;text-align:center;animation:fade-in .6s ease both}.pairing-lead{margin:36px 0 52px;font-size:48px;line-height:1.2;color:var(--muted)}.pairing-lead strong{color:var(--text);font-weight:700}.pin{display:flex}.pin-group{display:flex;gap:22px;font-family:var(--mono);font-size:96px;font-weight:700;line-height:1}.pin-char{display:grid;place-items:center;width:150px;height:190px;border-radius:18px;background:var(--surface);color:var(--text)}.pin-loading .pin-char{animation:tile-wait 1.2s ease-in-out infinite}@keyframes tile-wait{0%,to{opacity:.45}50%{opacity:1}}.pin-timer{width:600px;height:8px;margin-top:44px;border-radius:8px;overflow:hidden;background:var(--surface)}.pin-timer span{display:block;height:100%;border-radius:inherit;background:var(--butter);transition:width 1s linear}.viewport[data-tone=light] .pin-timer span{background:var(--coral)}.pin-expiry{margin:30px 0 0;font-size:32px;color:var(--subtle)}.pairing-note{max-width:1120px;margin:36px 0 0;font-size:34px;line-height:1.4;color:var(--muted)}.pairing-status .pairing-panel{width:1200px}.pairing-status .spinner{margin-top:72px}.status-mark{display:grid;place-items:center;width:112px;height:112px;border-radius:50%;background:var(--coral-deep);color:var(--coral-light);font-family:var(--display);font-size:56px;font-weight:800}.viewport[data-tone=light] .status-mark{background:var(--coral-soft, #fde7df);color:var(--coral-ink)}.status-title{margin:40px 0 0;font-family:var(--display);font-size:80px;font-weight:700;letter-spacing:-.03em;line-height:1.05}.pairing-status .pairing-note{max-width:980px;text-wrap:balance;margin-top:28px;font-size:40px}.idle-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 560px;grid-template-rows:minmax(0,1fr);gap:24px}.idle-layout.with-strip{grid-template-rows:minmax(0,1fr) 184px}.idle-layout.is-waiting{grid-template-columns:minmax(0,1fr) 600px;gap:32px}.photo-strip{grid-column:1 / -1;min-height:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.45fr);gap:24px}.photo-strip img,.photo-strip-empty{width:100%;height:100%;min-height:0;object-fit:cover;border-radius:16px;background:var(--surface)}.photo-strip-empty{opacity:.5}.add-yours{min-height:0;display:flex;align-items:center;gap:22px;padding:20px 24px 20px 20px;border-radius:16px;background:#fff;color:var(--ink)}.add-yours .qr-code{flex:none;width:136px;height:136px}.add-yours-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.add-yours-copy strong{font-family:var(--display);font-size:36px;font-weight:700;letter-spacing:-.02em;line-height:1.05}.add-yours-code{font-family:var(--mono);font-size:30px;font-weight:700;letter-spacing:.04em;overflow-wrap:anywhere}.side-column>.add-yours{flex:none}.photo-stage{position:relative;min-height:0;border-radius:20px;overflow:hidden;background:var(--surface)}.slideshow{position:absolute;inset:0}.slide{position:absolute;inset:0;margin:0;transition:opacity 1.2s ease}.slide-in{opacity:1;animation:fade-in 1.2s ease both}.slide-out{opacity:0}.slide-backdrop{position:absolute;inset:-60px;background-size:cover;background-position:center;filter:blur(42px) brightness(.5) saturate(1.15)}.slide-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.slide-in .slide-photo{animation:slide-drift 9s ease-out both}@keyframes slide-drift{0%{transform:scale(1)}to{transform:scale(1.035)}}.slide-caption{position:absolute;left:28px;bottom:28px;max-width:calc(100% - 56px);display:flex;flex-direction:column;gap:10px;padding:16px 30px 16px 16px;border-radius:18px;background:#1b1916c7;color:#fff;animation:fade-up .9s ease both}.slide-by{display:flex;align-items:center;gap:18px;margin:0;font-size:36px;font-weight:700;min-width:0}.slide-by .avatar{width:60px;height:60px;font-size:24px;background:#e8efe9;color:var(--ink)}.slide-by-name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slide-text{margin:0 0 0 78px;font-size:34px;font-weight:500;line-height:1.25;color:var(--dim);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.side-column{min-height:0;display:flex;flex-direction:column;gap:24px}.side-column>*{animation:fade-in .9s ease both}.couple-names{margin:0;font-family:var(--display);font-size:60px;font-weight:700;letter-spacing:-.035em;line-height:1.04;color:var(--text);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.couple-names.name-m{font-size:48px}.couple-names.name-s{font-size:38px;letter-spacing:-.025em;-webkit-line-clamp:3}.message-card,.leaderboard-card,.prompt-card{border-radius:20px}.message-card{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;padding:36px 40px 32px;overflow:hidden;background:var(--butter);color:var(--ink)}.message-card .message-body:before,.message-hero .message-hero-body:before{content:"“"}.message-card .message-body:after,.message-hero .message-hero-body:after{content:"”"}.message-body{position:relative;flex:none;margin:0 0 20px;font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1.16;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;animation:fade-in .6s ease both}.message-body.size-xl{font-size:58px;-webkit-line-clamp:4}.message-body.size-l{font-size:50px;-webkit-line-clamp:5}.message-body.size-m{font-size:48px;-webkit-line-clamp:5}.message-from{display:flex;align-items:center;margin-top:auto;gap:18px;font-size:34px;font-weight:700;min-width:0}.message-author{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-pages{flex:none;display:inline-flex;gap:10px;margin-left:auto;padding-left:18px}.message-pages span{width:14px;height:14px;border-radius:50%;background:currentColor;opacity:.3;transition:opacity .4s ease,background .4s ease}.message-pages span.is-current{background:var(--coral);opacity:1}.message-hero{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:72px 96px;border-radius:20px;background:var(--butter);color:var(--ink);animation:fade-in .9s ease both}.message-hero-body{margin:0 0 44px;font-family:var(--display);font-weight:700;letter-spacing:-.03em;line-height:1.2;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden;animation:fade-in .6s ease both}.message-hero-body.size-xl{font-size:84px;-webkit-line-clamp:5}.message-hero-body.size-l{font-size:68px;-webkit-line-clamp:7}.message-hero-body.size-m{font-size:56px;-webkit-line-clamp:8}.message-hero .message-from{font-size:38px}.leaderboard-card{flex:none;padding:30px 36px 26px;background:var(--surface)}.leaderboard-card .card-label{margin-bottom:14px}.leaderboard-card .leader-list{gap:4px}.leaderboard-card .leader{grid-template-columns:minmax(0,1fr) auto;min-height:52px;padding:0}.leader-list{margin:0;padding:0;list-style:none;display:grid;gap:12px}.leader{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:20px;min-height:72px;padding:0 22px 0 8px;border-radius:18px}.leader-rank{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--surface-2);font-family:var(--display);font-size:30px;font-weight:700}.leader.rank-4{color:var(--subtle)}.leader-name{font-size:36px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leader-points{font-family:var(--display);font-size:38px;font-weight:700;font-variant-numeric:tabular-nums}.prompt-card{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;padding:40px;background:var(--butter);color:var(--ink)}.prompt-card svg{color:var(--coral)}.prompt-title{margin:24px 0 12px;font-family:var(--display);font-size:56px;font-weight:700;letter-spacing:-.03em}.prompt-text{margin:0;font-size:34px;line-height:1.4;color:var(--butter-ink)}.welcome{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:80px;border-radius:20px;border:3px dashed var(--line);background:var(--bg)}.photo-stage:has(.welcome){background:transparent}.welcome-names{margin:0;max-width:100%;font-family:var(--display);font-size:128px;font-weight:700;letter-spacing:-.045em;line-height:.98}.welcome-names.name-m{font-size:100px}.welcome-names.name-s{font-size:76px}.welcome-hint{margin:28px 0 0;font-size:44px;color:var(--muted)}.scan-card{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;padding:48px;border-radius:20px;background:var(--butter);color:var(--ink);text-align:center}.scan-title{font-family:var(--display);font-size:48px;font-weight:700;letter-spacing:-.02em}.scan-card .qr-frame{padding:16px;border-radius:8px}.scan-code{font-family:var(--mono);font-size:56px;font-weight:700;letter-spacing:.12em}.join-card{display:flex;align-items:center;gap:28px;padding:20px 28px 20px 20px;border-radius:28px;background:var(--butter);color:var(--ink)}.qr-frame{flex:none;padding:12px;border-radius:18px;background:#fff;line-height:0}.qr-code{display:block}.join-copy{display:flex;flex-direction:column;gap:8px;min-width:0}.join-copy strong{font-family:var(--display);font-size:48px;font-weight:700;letter-spacing:-.03em;line-height:1.05}.join-link{font-size:28px;font-weight:500;line-height:1.3}.join-code{font-family:var(--mono);font-weight:700;letter-spacing:.04em}.join-hint{font-size:28px;line-height:1.3;color:var(--butter-ink)}.join-column{flex-direction:column;align-items:center;text-align:center;padding:36px 44px;gap:28px}.join-column .join-copy{align-items:center}.holding{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.holding-glow{position:absolute;inset:-56px -96px;background:radial-gradient(ellipse 40% 50% at 50% 45%,rgba(255,214,107,.14),transparent 70%),radial-gradient(ellipse 30% 40% at 30% 60%,rgba(240,86,46,.08),transparent 70%);animation:breathe 9s ease-in-out infinite alternate}@keyframes breathe{0%{opacity:.55}to{opacity:1}}.holding>:not(.holding-glow){position:relative}.holding-mark{color:var(--coral);fill:var(--coral);margin-bottom:40px}.holding-names{margin:0;max-width:1600px;font-family:var(--display);font-size:140px;font-weight:700;letter-spacing:-.045em;line-height:1}.holding-names.name-m{font-size:108px}.holding-names.name-s{font-size:84px}.holding-rule{width:160px;height:8px;margin:52px 0 44px;border-radius:8px;background:var(--butter)}.holding-date{margin:0;font-size:40px;font-weight:600;color:var(--text)}.holding-place{margin:14px 0 0;font-size:34px;color:var(--muted)}.trivia{--text: #ffffff;--muted: var(--dim);--subtle: var(--faint);--surface: var(--night-2);--surface-2: var(--night-3);--line: var(--ink-line);--highlight: var(--butter);flex:1;display:flex;flex-direction:column;min-height:0;margin:-56px -96px;padding:56px 96px;background:var(--night);color:var(--text)}.trivia-countdown,.trivia-question{background:var(--coral);--muted: rgba(255, 255, 255, .86)}.trivia-lobby{background:var(--butter);color:var(--ink);--text: var(--ink);--muted: rgba(27, 25, 22, .78)}.lobby{flex:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:120px;align-items:center;padding:0 32px}.lobby-title{margin:0 0 36px;font-family:var(--display);font-size:124px;font-weight:800;letter-spacing:-.045em;line-height:.95}.lobby-hint{margin:0;max-width:820px;font-size:48px;line-height:1.3}.lobby-link{margin:36px 0 0;font-size:40px;line-height:1.3}.lobby-link strong{font-weight:700}.lobby-code{display:block;margin-top:6px;font-family:var(--mono);font-size:64px;font-weight:700;letter-spacing:.12em;overflow-wrap:anywhere}.lobby-qr{padding:36px;border-radius:24px;background:#fff;line-height:0}.timer{display:grid;place-items:center;flex:none;width:168px;height:168px;border-radius:50%;background:var(--ink);color:var(--butter);font-family:var(--display);font-size:72px;font-weight:700;font-variant-numeric:tabular-nums}.timer.urgent{color:var(--coral-light)}.ring{position:relative;display:grid;place-items:center;width:176px;height:176px;flex:none}.ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.ring-face{fill:var(--ink)}.ring-track,.ring-fill{fill:none;stroke-width:12}.ring-track{stroke:#ffffff1f}.ring-fill{stroke:var(--butter);stroke-linecap:round;transition:stroke-dashoffset .25s linear}.ring.urgent .ring-fill{stroke:var(--coral-light)}.ring-value{position:relative;font-family:var(--display);font-size:80px;font-weight:700;color:var(--butter);font-variant-numeric:tabular-nums}.ring.urgent .ring-value{color:var(--coral-light)}.countdown{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:48px}.countdown-title{margin:0;font-family:var(--display);font-size:160px;font-weight:800;letter-spacing:-.045em;line-height:1}.countdown .ring{width:340px;height:340px}.countdown .ring-value{font-size:160px}.countdown-hint{margin:0;font-size:38px;font-weight:600}.question-layout{flex:1;min-height:0;display:flex;flex-direction:column;padding:0 32px}.question-bar{display:flex;align-items:center;justify-content:space-between;gap:48px;margin-bottom:24px}.question-count{font-family:var(--display);font-size:38px;font-weight:700;letter-spacing:-.01em}.question-body{flex:1;min-height:0;display:flex;align-items:flex-end;gap:32px}.question-body .answers{flex:1;align-self:stretch}.question-text{flex:1;margin:0}.question-body{flex:1;min-height:0;display:flex;gap:32px}.question-body .answers{flex:1}.question-text{margin:0 0 32px;font-family:var(--display);font-size:100px;font-weight:700;letter-spacing:-.035em;line-height:1.2;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.question-text.question-m{font-size:80px}.question-text.question-s{font-size:56px;-webkit-line-clamp:4}.question-text.question-xs{font-size:44px;-webkit-line-clamp:5}.question-text.question-xxs{font-size:38px;-webkit-line-clamp:7}.answers{flex:1;min-height:0;margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:minmax(0,148px);align-content:end;gap:24px}.answers.count-2{grid-auto-rows:minmax(0,220px);align-content:end}.answer{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);grid-template-rows:auto;align-content:safe center;align-items:safe center;column-gap:28px;row-gap:8px;min-height:0;padding:20px 32px 20px 24px;border-radius:18px;background:#fff;color:var(--ink);overflow:hidden;transition:opacity .6s ease,background .6s ease,transform .6s ease}.answer-letter{grid-row:1 / -1;display:grid;place-items:center;width:72px;height:72px;border-radius:12px;background:var(--ink);color:#fff;font-family:var(--display);font-size:38px;font-weight:700}.answer-text{grid-column:2;align-self:stretch;min-width:0;font-family:var(--display);font-size:54px;font-weight:700;letter-spacing:-.02em;line-height:1.2;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.answer-text.answer-m{font-size:40px;-webkit-line-clamp:4}.answer-text.answer-s{font-size:34px;-webkit-line-clamp:5}.answers.count-5,.answers.count-6{gap:16px}.count-5 .answer,.count-6 .answer{grid-template-columns:56px minmax(0,1fr);column-gap:20px;row-gap:4px;padding:12px 24px 12px 16px;border-radius:22px}.count-5 .answer-letter,.count-6 .answer-letter{width:56px;height:56px;border-radius:14px;font-size:30px}.count-5 .answer-result,.count-6 .answer-result{font-size:30px}.answer-correct,.answer-wrong{grid-template-rows:auto auto}.answer-result{grid-column:2;justify-self:start;display:flex;align-items:center;gap:12px;font-family:var(--display);font-size:36px;font-weight:700;font-variant-numeric:tabular-nums}.answer-bar{position:absolute;left:0;right:0;bottom:0;height:10px;background:#ffffff0f}.answer-bar span{display:block;height:100%;background:var(--faint);transition:width .8s ease}.trivia-reveal .answer{background:var(--night-2);color:#fff}.trivia-reveal .answer-letter{background:var(--night-3)}.answer-correct,.trivia-reveal .answer-correct{background:var(--correct);color:var(--ink);animation:correct-pop .7s cubic-bezier(.2,1.4,.4,1) both}.answer-correct .answer-letter,.trivia-reveal .answer-correct .answer-letter{background:var(--ink);color:var(--correct)}.answer-correct .answer-bar span{background:var(--ink)}@keyframes correct-pop{0%{transform:scale(.96)}60%{transform:scale(1.03)}to{transform:scale(1)}}.answer-wrong{opacity:.55}.question-media{width:520px;margin:0;flex:none;border-radius:28px;overflow:hidden;background:#0000002e}.question-media img{display:block;width:100%;height:100%;object-fit:contain}.answered{margin:32px 0 0;text-align:center;font-size:36px;font-weight:700}.reveal-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 600px;gap:48px;padding:16px 32px 0}.reveal-main{min-height:0;display:flex;flex-direction:column}.reveal-hero{animation:fade-up .7s ease both}.reveal-kicker{margin:0 0 16px;font-family:var(--display);font-size:38px;font-weight:700;color:var(--butter)}.reveal-answer{margin:0;font-family:var(--display);font-size:140px;font-weight:800;letter-spacing:-.045em;line-height:1.2;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.reveal-answer.reveal-m{font-size:100px}.reveal-answer.reveal-s{font-size:72px}.reveal-rate{margin-top:auto;display:flex;flex-direction:column;gap:24px}.reveal-rate-bar{height:32px;border-radius:999px;overflow:hidden;background:var(--night-3)}.reveal-rate-bar span{display:block;height:100%;border-radius:inherit;background:var(--mint);animation:grow 1.1s .3s cubic-bezier(.2,.8,.2,1) both;transform-origin:left center}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.reveal-rate-copy{font-size:36px;color:var(--muted)}.reveal-main .answers{margin-top:8px}.reveal-side{min-height:0;display:flex;flex-direction:column}.scores{flex:1;width:100%;padding:40px;border-radius:20px;background:var(--night-2);animation:fade-up .7s .2s ease both}.score-list{margin:0;padding:0;list-style:none;display:grid;gap:22px}.score{display:flex;align-items:baseline;justify-content:space-between;gap:24px;font-size:44px}.score.is-dim{color:var(--subtle)}.score-name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-points{font-family:var(--display);font-weight:700;font-variant-numeric:tabular-nums}.reveal-note{font-size:40px;color:var(--muted)}.trivia-paused{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.paused-mark{display:grid;place-items:center;width:176px;height:176px;border-radius:50%;background:var(--night-2);color:var(--butter)}.paused-title{margin:40px 0 16px;font-family:var(--display);font-size:120px;font-weight:800;letter-spacing:-.04em}.paused-hint{margin:0;font-size:40px;color:var(--muted)}.trivia-podium{position:relative;overflow:hidden;padding:48px 0 0;background:radial-gradient(ellipse 45% 70% at 50% 18%,rgba(255,214,107,.3),transparent 70%),radial-gradient(ellipse 30% 60% at 18% 0%,rgba(240,86,46,.24),transparent 70%),radial-gradient(ellipse 30% 60% at 82% 0%,rgba(127,209,168,.16),transparent 70%),var(--night)}.podium-screen{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;min-height:0}.podium-lights{display:none;position:absolute;inset:-48px 0 0;pointer-events:none;animation:fade-in 1.2s 1.4s ease both}.beam{position:absolute;top:-80px;width:520px;height:1200px;transform-origin:50% 0;background:linear-gradient(180deg,rgba(255,241,184,.28),rgba(255,214,107,.05) 70%,transparent);clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);filter:blur(6px)}.beam-center{left:calc(50% - 260px);background:linear-gradient(180deg,rgba(255,241,184,.42),rgba(255,214,107,.08) 75%,transparent)}.beam-left{left:6%;transform:rotate(-24deg);background:linear-gradient(180deg,rgba(255,154,122,.24),transparent 75%);animation:sweep-left 7s ease-in-out infinite alternate}.beam-right{right:6%;transform:rotate(24deg);background:linear-gradient(180deg,rgba(127,209,168,.2),transparent 75%);animation:sweep-right 7s ease-in-out infinite alternate}@keyframes sweep-left{0%{transform:rotate(-30deg)}to{transform:rotate(-12deg)}}@keyframes sweep-right{0%{transform:rotate(30deg)}to{transform:rotate(12deg)}}.confetti{position:absolute;inset:-48px 0 0;overflow:hidden;pointer-events:none;z-index:1}.confetti span{position:absolute;top:-40px;opacity:0;animation-name:confetti-fall;animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:both}@keyframes confetti-fall{0%{opacity:0;transform:translateZ(0) rotate(0)}6%{opacity:.95}88%{opacity:.9}to{opacity:0;transform:translate3d(var(--drift, 0px),1160px,0) rotate(var(--spin, 540deg))}}.podium-head{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;max-width:1640px;text-align:center}.podium-title{margin:0;font-size:32px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--butter);animation:fade-up .8s .1s ease both}.podium-champion{margin:10px 0 0;font-family:var(--display);font-size:108px;font-weight:800;letter-spacing:-.045em;line-height:1.05;color:#fff;text-shadow:0 0 60px rgba(255,214,107,.45);animation:champion-in .9s 1.9s cubic-bezier(.2,1.3,.4,1) both}.podium-champion.champion-m{font-size:84px}.podium-champion.champion-s{font-size:64px}@keyframes champion-in{0%{opacity:0;transform:scale(.6);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}.podium{position:relative;z-index:2;flex:1;min-height:0;margin-top:24px;display:flex;align-items:flex-end;justify-content:center;gap:20px}.podium-shadow{position:absolute;left:-60px;right:-60px;bottom:-12px;height:24px;border-radius:50%;background:#0000008c;filter:blur(12px);z-index:-1}.step{--delay: 0s;width:360px;display:flex;flex-direction:column;align-items:center}.step-empty{visibility:hidden}.step-top{width:100%;display:flex;flex-direction:column;align-items:center;padding:0 12px;animation:pop-in .7s calc(var(--delay) + .45s) cubic-bezier(.2,1.4,.4,1) both}@keyframes pop-in{0%{opacity:0;transform:translateY(40px) scale(.7)}to{opacity:1;transform:none}}.step-crown{position:relative;z-index:3;width:92px;height:64px;margin-bottom:-12px;filter:drop-shadow(0 6px 18px rgba(255,214,107,.7));animation:crown-bob 2.4s calc(var(--delay) + 1.2s) ease-in-out infinite}@keyframes crown-bob{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-10px) rotate(4deg)}}.step-avatars{display:flex;justify-content:center}.podium-avatar{position:relative;display:grid;place-items:center;width:164px;height:164px;flex:none;border-radius:50%;overflow:hidden;background:linear-gradient(160deg,#d8b9a0,#8c6450);box-shadow:0 0 0 6px var(--ring, #e9e5df),0 0 36px #ffffff26}.podium-avatar+.podium-avatar{margin-left:-36px}.podium-avatar.tint-1{background:linear-gradient(160deg,#b8c9d3,#5d7a8a)}.podium-avatar.tint-2{background:linear-gradient(160deg,#c9a68a,#6f5a4a)}.podium-avatar.tint-3{background:linear-gradient(160deg,#e7b8a3,#b05a33)}.podium-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.podium-initials{position:absolute;left:0;right:0;bottom:0;padding:6px 0 10px;background:#1b191673;font-family:var(--display);font-size:28px;font-weight:700;line-height:1;text-align:center;color:#fff;letter-spacing:.04em}.step-1 .podium-avatar{--ring: var(--butter);width:204px;height:204px;box-shadow:0 0 0 8px var(--ring),0 0 80px #ffd66bbf;animation:winner-glow 2.4s calc(var(--delay) + 1.2s) ease-in-out infinite}.step-1 .podium-initials{font-size:32px}.step:not([data-players="1"]) .podium-avatar{width:104px;height:104px;box-shadow:0 0 0 5px var(--ring, #d9d4cc),0 0 0 9px var(--night)}.step:not([data-players="1"]) .podium-avatar+.podium-avatar{margin-left:-20px}.step:not([data-players="1"]) .podium-initials{font-size:24px}@keyframes winner-glow{0%,to{box-shadow:0 0 0 8px var(--ring),0 0 60px #ffd66b8c}50%{box-shadow:0 0 0 8px var(--ring),0 0 110px #ffd66bf2}}.step-2 .podium-avatar{--ring: #e9e5df}.step-3 .podium-avatar{--ring: #f2a77a}.step-name{max-width:100%;margin-top:22px;display:flex;flex-direction:column;align-items:center;font-size:40px;font-weight:700;line-height:1.12;text-align:center;color:#fff}.step-1 .step-name{font-size:44px}.step[data-players="1"] .step-name-line{overflow-wrap:anywhere}.step:not([data-players="1"]) .step-name{font-size:36px}.step:not([data-players="1"]) .step-name-line{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.step-more{white-space:nowrap;font-size:30px;font-weight:600;color:var(--dim)}.step-points{margin:12px 0 22px;padding:6px 24px;border-radius:999px;background:var(--night-3);color:#fff;font-family:var(--display);font-size:40px;font-weight:700;font-variant-numeric:tabular-nums}.step-1 .step-points{background:var(--butter);color:var(--ink);font-size:48px}.step-plinth{width:100%;display:flex;flex-direction:column;transform-origin:50% 100%;animation:rise .9s var(--delay) cubic-bezier(.2,.9,.25,1.05) both}@keyframes rise{0%{transform:scaleY(0);opacity:0}30%{opacity:1}to{transform:none;opacity:1}}.step-cap{height:24px;border-radius:12px 12px 0 0;background:#fff;transform:perspective(400px) rotateX(35deg);transform-origin:bottom}.step-block{position:relative;display:flex;align-items:flex-start;justify-content:center;padding-top:12px;overflow:hidden;background:linear-gradient(180deg,#e9e5df,#a9a298)}.step-shine{position:absolute;inset:0 60% 0 0;background:linear-gradient(90deg,rgba(255,255,255,.28),transparent)}.step-rank{position:relative;font-family:var(--display);font-size:96px;font-weight:800;line-height:1;letter-spacing:-.04em;color:#5e574e}.step-1 .step-cap{background:#fff1b8}.step-1 .step-block{height:330px;background:linear-gradient(180deg,#ffd66b,#e39b2d)}.step-1 .step-rank{font-size:132px;color:#6b3f00}.step-2 .step-block{height:210px}.step-3 .step-cap{background:#ffd3b8}.step-3 .step-block{height:150px;background:linear-gradient(180deg,#f2a77a,#b05a33)}.step-3 .step-rank{font-size:80px;color:#5a2410}.podium-empty{position:relative;z-index:2;margin:auto 0;font-size:48px;color:var(--dim)}.podium-rest-bar{position:relative;z-index:3;width:100%;display:flex;align-items:center;justify-content:center;gap:48px;padding:22px 96px 40px;background:#141210eb;animation:fade-in .8s 2.2s ease both}.podium-rest{display:flex;gap:40px;margin:0;padding:0;list-style:none;min-width:0}.podium-rest li{display:flex;align-items:baseline;gap:12px;min-width:0;font-size:32px;color:var(--dim)}.podium-rest .leader-rank{display:inline;width:auto;height:auto;border-radius:0;background:none;font-family:var(--font);font-size:32px;font-weight:500;color:var(--dim)}.podium-rest .leader-rank:after{content:" ·"}.podium-rest .leader-name{max-width:320px;font-size:30px}.podium-rest .leader-points{font-family:var(--font);font-size:32px;font-weight:500;color:var(--dim)}.podium-thanks{flex:none;font-size:32px;font-weight:700;color:var(--butter)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.confetti{display:none}}
