:root{font-family:Inter,ui-sans-serif,Noto Sans SC,Microsoft YaHei,sans-serif;color:#dce8f8;background:#0a1526;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:#0a1526}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;overflow:hidden}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;max-width:1420px;margin:auto;padding:0 42px;border-bottom:1px solid #3b3530}.brand{color:inherit;display:flex;gap:13px;align-items:center;text-decoration:none;font-size:22px;font-weight:900;letter-spacing:-.04em}.brand small{display:block;color:#817970;font-size:8px;letter-spacing:.18em;margin-top:2px}.brand-dice{display:grid;place-items:center;width:38px;height:38px;color:#16120f;background:#ff6f3c;border-radius:9px 9px 9px 2px;transform:rotate(-3deg)}.site-header nav{display:flex;align-items:center;gap:28px}.site-header nav a{color:#b8afa5;text-decoration:none;font-size:14px}.connection{display:flex;align-items:center;gap:7px;color:#938b82;font-size:12px}.connection:before{content:"";width:7px;height:7px;border-radius:50%;background:#e45839;box-shadow:0 0 0 4px #e4583920}.connection.online:before{background:#72d39c;box-shadow:0 0 0 4px #72d39c20}.live-stats{display:inline-flex;align-items:baseline;gap:4px;min-height:34px;padding:7px 11px;border:1px solid #3b3530;border-radius:999px;color:#938b82;font-size:12px;white-space:nowrap}.live-stats b{color:#ff7442;font-size:15px}.live-stats small{margin-left:4px;color:inherit;font-size:10px}.hero{max-width:1420px;min-height:710px;margin:auto;padding:72px 42px 86px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(520px,.95fr);gap:76px;position:relative}.hero:before{content:"";position:absolute;width:580px;height:580px;left:-330px;top:50px;border-radius:50%;border:1px solid #2e4466;box-shadow:0 0 0 80px #0f1c3399,0 0 0 81px #24395c;pointer-events:none}.hero-copy{position:relative;z-index:1;padding-top:20px}.eyebrow{margin:0 0 24px;color:#ff8a5d;font-size:11px;font-weight:700;letter-spacing:.28em}.hero h1{margin:0;font-size:clamp(54px,5.3vw,88px);line-height:.98;letter-spacing:-.07em;font-weight:900}.hero h1 span{color:#ff7442}.hero-lead{max-width:650px;color:#aaa096;font-size:18px;line-height:1.8;margin:32px 0}.entry-card,.room-card{margin-top:36px;max-width:640px;border:1px solid #413a34;background:#191614dd;padding:24px;box-shadow:12px 12px #0d0b0a}.entry-card label span{display:block;color:#9d948b;font-size:12px;margin-bottom:8px}.entry-card input,.join-control input{border:1px solid #4a423b;background:#100e0d;color:#f4efe7;outline:none;padding:14px 15px}.entry-card label input{width:100%}.entry-card input:focus{border-color:#ff7442}.entry-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:12px;margin-top:14px}.entry-actions .daily-button{grid-column:1 / -1;border-color:color-mix(in srgb,var(--coral) 60%,var(--line-strong));color:var(--coral-strong);background:color-mix(in srgb,var(--coral-soft) 35%,var(--surface-solid))}.entry-section{margin-top:18px}.entry-section>span,.fame-rule-picker>small{display:block;color:#9d948b;font-size:12px;margin-bottom:8px}.mode-picker,.fame-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.mode-picker button,.fame-picker button{min-height:62px;border:1px solid #554b43;background:transparent;color:#e9e1d8;padding:9px;text-align:left}.mode-picker button.selected,.fame-picker button.selected{border-color:#ff7442;background:#2d211b;box-shadow:inset 0 -3px #ff7442}.mode-picker b,.mode-picker small,.fame-picker b,.fame-picker small{display:block}.mode-picker small,.fame-picker small{margin-top:5px;color:#948a81;font-size:9px;line-height:1.35}.tier-description{margin:8px 0 0;color:#8f857c;font-size:10px}.entry-actions button{min-height:48px;border:1px solid #554b43;background:transparent;color:#e9e1d8}.entry-actions button.primary{background:#ff7442;border-color:#ff7442;color:#17110e;font-weight:800}.entry-actions button:disabled{opacity:.42;cursor:not-allowed}.join-control{display:grid;grid-template-columns:1fr 80px}.join-control input{min-width:0;text-transform:uppercase;letter-spacing:.18em}.error-message{color:#ff9474;font-size:13px;margin:14px 0 0}.room-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #39332e;padding-bottom:18px}.room-heading small{display:block;color:#827970;font-size:9px;letter-spacing:.18em}.room-heading strong{color:#ff7442;font-size:32px;letter-spacing:.16em}.room-heading>span{color:#9b9289;font-size:13px}.player-list{display:flex;gap:10px;flex-wrap:wrap;padding:18px 0 8px}.player-list div{display:flex;align-items:center;gap:8px;padding:7px 10px 7px 7px;background:#24201d}.player-list i{display:grid;place-items:center;width:25px;height:25px;background:#ff7442;color:#21150f;font-style:normal;font-size:11px;font-weight:800}.player-list b{color:#8f857c;font-size:10px}.player-list .ready-mark{color:#72d39c}.player-list .offline-mark{color:#e58a70}.room-note{color:#8f857c;font-size:13px;margin-bottom:0}.lobby-actions{display:flex;align-items:center;gap:14px;margin-top:16px}.lobby-actions button{min-height:42px;border:1px solid #ff7442;padding:0 18px;background:transparent;color:#ff8a5d;font-weight:700}.lobby-actions button.primary,.lobby-actions button.ready{background:#ff7442;color:#17110e}.lobby-actions .leave-button{margin-left:auto;border-color:#766b62;color:#9e9389}.lobby-actions .room-note{margin:0}.rule-builder{align-self:start;background:#e8dfd2;color:#1b1714;padding:32px;box-shadow:18px 18px #ff7442;transform:rotate(.6deg)}.rule-builder-head{display:flex;align-items:end;justify-content:space-between;border-bottom:2px solid #211b17;padding-bottom:20px}.rule-builder-head small{font-size:9px;letter-spacing:.22em;color:#766c63}.rule-builder-head h2{margin:3px 0 0;font-size:31px;letter-spacing:-.05em}.rule-builder-head>b{color:#e95628;font-size:13px}.rule-builder>p{color:#766d64;font-size:13px;margin:16px 0 20px}.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.comparison-grid button{border:1px solid #bdb2a5;background:transparent;color:#4d453e;min-height:48px;padding:0 11px;display:grid;grid-template-columns:26px 1fr 20px;align-items:center;text-align:left;font-size:13px}.comparison-grid button span{color:#978b80;font-size:9px}.comparison-grid button i{font-style:normal;text-align:right}.comparison-grid button.selected{background:#211c18;color:#f6ede1;border-color:#211c18}.comparison-grid button.selected span,.comparison-grid button.selected i{color:#ff8254}.comparison-grid button:disabled{cursor:default}.comparison-notes{margin-top:16px;border-top:1px solid #bdb2a5;padding-top:12px;color:#665d55}.comparison-notes summary{cursor:pointer;color:#8a3c24;font-size:11px;font-weight:700}.comparison-notes ul{margin:11px 0 0;padding-left:18px}.comparison-notes li{margin:7px 0;font-size:10px;line-height:1.55}.pool-builder{margin-top:28px;padding-top:24px;border-top:2px solid #211b17}.fame-rule-picker{margin-bottom:24px}.fame-rule-picker>small{color:#80746a}.fame-rule-picker .fame-picker button{color:#4d453e;border-color:#b9aea2}.fame-rule-picker .fame-picker button.selected{color:#f6ede1;background:#211c18;border-color:#211c18}.fame-rule-picker p{margin:8px 0 0;color:#756b62;font-size:10px}.pool-builder-head{display:flex;align-items:end;justify-content:space-between;gap:16px}.pool-builder-head small{color:#80746a;font-size:8px;letter-spacing:.18em}.pool-builder h3{margin:3px 0 0;font-size:20px;letter-spacing:-.035em}.pool-builder>p{color:#756b62;font-size:12px;margin:12px 0}.tag-mode{display:flex;border:1px solid #b7ab9f}.tag-mode button{border:0;border-right:1px solid #b7ab9f;background:transparent;color:#6c6259;padding:7px 9px;font-size:10px}.tag-mode button:last-child{border-right:0}.tag-mode button.selected{background:#211c18;color:#f6ede1}.tag-mode button:disabled,.tag-cloud button:disabled,.selected-tags button:disabled{cursor:default}.tag-cloud,.selected-tags{display:flex;flex-wrap:wrap;gap:6px}.tag-cloud button,.selected-tags button{border:1px solid #b9aea2;background:#f4ece1;color:#5f554d;padding:7px 9px;font-size:11px}.tag-cloud button small{margin-left:6px;color:#9a8d82;font-size:8px}.tag-cloud button.selected{border-color:#e9572b;background:#ff7442;color:#21150f}.tag-cloud button.selected small{color:#6e2c17}.tag-entry{display:grid;grid-template-columns:1fr auto;margin-top:10px}.tag-entry input,.pool-options select{min-width:0;border:1px solid #b9aea2;background:#f7f0e7;color:#211c18;outline:0;padding:10px 11px}.tag-entry input:focus,.pool-options select:focus{border-color:#e9572b}.tag-entry button{border:1px solid #211c18;background:#211c18;color:#f7f0e7;padding:0 13px}.tag-entry button:disabled{opacity:.45;cursor:not-allowed}.selected-tags{margin-top:8px}.selected-tags button{background:#211c18;border-color:#211c18;color:#f7f0e7}.selected-tags button span{margin-left:7px;color:#ff8052}.excluded-tags button{background:#f3d8cf;border-color:#d8856c;color:#6b2c19}.excluded-tags button span{color:#a23b1d}.pool-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.pool-options label{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #b9aea2;padding:9px 11px;color:#5f554d;font-size:11px}.pool-options input{accent-color:#e9572b}.pool-options select{max-width:135px;padding:6px;font-size:10px}.pool-builder .exclude-label{margin-bottom:-1px;color:#8a3c24;font-weight:700}.game-stage{max-width:1336px;margin:0 auto 86px;padding:42px;background:#e8dfd2;color:#1c1815;box-shadow:14px 14px #ff7442}.game-stage-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:30px;padding-bottom:26px;border-bottom:2px solid #211b17}.game-stage-head>div:first-child{margin-right:auto}.game-exit{align-self:center;border:1px solid #766b62;background:transparent;color:#665d55;padding:10px 14px}.game-stage-head .eyebrow{margin-bottom:12px;color:#e9572b}.game-stage-head h2{margin:0;font-size:clamp(28px,4vw,48px);letter-spacing:-.055em}.attempt-counter{display:flex;align-items:end;gap:9px;white-space:nowrap}.attempt-counter b{color:#e9572b;font-size:48px;line-height:.9}.attempt-counter span{color:#746a61;font-size:12px}.round-countdown{display:flex;min-width:112px;flex-direction:column;align-items:flex-end;justify-content:center;padding:9px 13px;border:1px solid var(--line-strong, #d9bf98);border-radius:14px;background:var(--surface-solid, #fffdf3)}.round-countdown span{color:var(--muted, #857466);font-size:10px}.round-countdown b{margin-top:2px;color:var(--mint-strong, #629f6d);font-size:25px;line-height:1;letter-spacing:.06em;font-variant-numeric:tabular-nums}.round-countdown.urgent{border-color:var(--danger, #e47791);background:color-mix(in srgb,var(--danger, #e47791) 12%,var(--surface-solid, #fffdf3))}.round-countdown.urgent b{color:var(--danger, #e47791)}.timer-settling{margin:26px 0;padding:24px;border:1px dashed var(--line-strong, #d9bf98);border-radius:16px;color:var(--muted, #857466);background:var(--surface-solid, #fffdf3);text-align:center}.game-search{position:relative;margin:26px 0}.game-search>input{width:100%;min-height:56px;border:1px solid #ada195;background:#f7f0e7;padding:0 18px;color:#1c1815;outline:0}.game-search>input:focus{border-color:#e9572b}.game-suggestions{position:absolute;z-index:5;left:0;right:0;top:60px;border:1px solid #ada195;background:#f7f0e7;box-shadow:8px 8px #1c1815}.game-suggestions button{width:100%;border:0;border-bottom:1px solid #d1c7bc;background:transparent;color:#1c1815;text-align:left;padding:12px 16px}.game-suggestions button:hover{background:#ff7442}.game-suggestions button b,.game-suggestions button span{display:block}.game-suggestions button span{color:#7e746b;font-size:11px;margin-top:3px}.answer-banner{margin:26px 0;padding:22px;background:#1c1815;color:#f4efe7}.answer-banner span{display:block;color:#ff8052;font-size:11px;letter-spacing:.14em}.answer-banner strong{display:block;margin-top:8px;font-size:28px}.race-progress{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin:22px 0}.race-progress div{display:grid;grid-template-columns:1fr auto;gap:4px 10px;border:1px solid #b9aea2;padding:11px 13px}.race-progress span{font-weight:700}.race-progress b{color:#e9572b;font-size:12px}.race-progress i{grid-column:1 / -1;color:#7f756c;font-size:10px;font-style:normal;text-transform:uppercase}.duel-progress{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}.match-score{display:flex;justify-content:center;gap:14px;margin:18px 0 0}.match-score>span{display:flex;align-items:baseline;gap:8px;min-width:0;border:2px solid var(--line-strong);border-radius:13px;padding:10px 14px;background:var(--surface-solid)}.match-score>span.self{border-color:var(--coral)}.match-score>span.winner{border-color:var(--mint);box-shadow:0 0 0 2px color-mix(in srgb,var(--mint) 55%,transparent)}.match-score small{color:var(--muted);font-size:10px;letter-spacing:.14em}.match-score b{color:var(--coral-strong);font-size:18px}.match-score i{color:var(--muted);font-size:10px;font-style:normal}.duel-progress>div{min-width:0;border:2px solid #2a2420;padding:16px}.duel-progress .self{text-align:left;box-shadow:-6px 6px #ff7442}.duel-progress .opponent{text-align:right;box-shadow:6px 6px #2a2420}.duel-progress small,.duel-progress span,.duel-progress b,.duel-progress i{display:block}.duel-progress small{color:#7f756c;font-size:9px;letter-spacing:.16em}.duel-progress span{margin-top:4px;font-size:18px;font-weight:800}.duel-progress b{margin-top:12px;color:#e9572b;font-size:clamp(13px,2vw,22px);letter-spacing:.08em;overflow-wrap:anywhere}.duel-progress i{margin-top:6px;color:#7f756c;font-size:10px;font-style:normal}.guess-history{margin-top:24px}.guess-history>p{color:#756c64;text-align:center;padding:30px;border:1px dashed #b9aea2}.guess-history article{border-top:1px solid #b9aea2;padding:16px 0}.guess-history article header{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px;padding:8px 10px;background:#c9c0b6}.guess-history article header.title-partial{background:#e2bd55}.guess-history article header.title-exact{background:#78c99a}.guess-history article header span{color:#746a61;font-size:12px}.guess-history article>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:6px}.guess-history article>div>span{min-height:86px;display:flex;flex-direction:column;align-items:flex-start;padding:8px 10px;background:#c9c0b6}.guess-history article>div>span.exact{background:#78c99a}.guess-history article>div>span.partial{background:#e2bd55}.guess-history article>div>span.unknown{background:repeating-linear-gradient(135deg,#cbc2b8,#cbc2b8 6px,#beb4aa 6px 12px)}.guess-history article small{color:#5d554e;font-size:9px}.guess-history .comparison-value{display:block;margin-top:6px;color:#312a25;font-size:12px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.guess-history article>div>span{position:relative}.guess-history .comparison-verdict{position:absolute;top:6px;right:6px;display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;font-size:16px;font-weight:900;line-height:1;background:#ffffffd9;box-shadow:0 1px 5px #00000059}.guess-history article>div>span small{font-size:12px}.guess-history .comparison-verdict.exact{color:var(--success-ink)}.guess-history .comparison-verdict.partial{color:var(--warning-ink)}.guess-history .comparison-verdict.miss{color:color-mix(in srgb,var(--danger) 85%,var(--ink-strong))}.guess-history .comparison-verdict.unknown{color:var(--muted)}.feature-strip{border-top:1px solid #3a342f;border-bottom:1px solid #3a342f;display:grid;grid-template-columns:repeat(3,1fr);max-width:1420px;margin:auto}.feature-strip article{padding:36px 42px 42px;border-right:1px solid #3a342f}.feature-strip article:last-child{border:0}.feature-strip b{color:#ff7442;font-size:11px}.feature-strip h2{font-size:23px;margin:20px 0 10px}.feature-strip p{color:#8f867d;line-height:1.65;margin:0}.data-note{max-width:1420px;margin:auto;padding:110px 42px}.data-note h2{max-width:800px;font-size:clamp(40px,5vw,72px);line-height:1;letter-spacing:-.06em;margin:0 0 26px}.data-note>p:not(.eyebrow){max-width:770px;color:#9c938a;font-size:17px;line-height:1.8}.data-note>div{margin-top:44px;display:grid;grid-template-columns:120px 1fr 120px 1fr;border-top:1px solid #3a342f;border-bottom:1px solid #3a342f;align-items:center}.data-note span{color:#ff7442;font-weight:800;padding:22px 0}.data-note i{color:#8c837b;font-style:normal;padding:22px;border-left:1px solid #3a342f}footer{max-width:1420px;margin:auto;padding:28px 42px;border-top:1px solid #3a342f;display:flex;justify-content:space-between;color:#726a63;font-size:12px}footer b{color:#d8cfc5}footer a{color:inherit;font-weight:800;text-underline-offset:3px}:root{color:#5c4b3f;background:#fff7e8;color-scheme:light}body{background:#eef5fd}.app-shell{--page: #78c8f8;--page-alt: #b8e5ff;--surface: rgba(248, 251, 255, .65);--surface-solid: #f8fbff;--panel: #eef6ff;--ink: #6b829a;--ink-strong: #243b5a;--muted: #7d94b0;--line: rgba(62, 142, 219, .14);--line-strong: rgba(62, 142, 219, .3);--coral: #3e8edb;--coral-strong: #2b6cb3;--coral-soft: #e1f2ff;--mint: #5ad7ff;--mint-strong: #2ba8e0;--mint-soft: #e4f8ff;--honey: #c9c4f7;--pink: #f6b8d6;--shadow: rgba(62, 142, 219, .15);--shadow-strong: rgba(62, 142, 219, .24);--success: #6fc9a0;--success-ink: #1f5c44;--warning: #f6c96e;--warning-ink: #6d5216;--neutral: #e3eefb;--danger: #e46f96;color:var(--ink);background:radial-gradient(ellipse 90% 60% at 18% 12%,rgba(90,215,255,.4) 0%,transparent 62%),radial-gradient(ellipse 70% 55% at 86% 22%,rgba(201,196,247,.38) 0%,transparent 60%),radial-gradient(ellipse 60% 45% at 64% 96%,rgba(246,184,214,.22) 0%,transparent 62%),linear-gradient(180deg,#78c8f8,#b8e5ff 46%,#f8fbff);font-family:Yu Gothic UI,Noto Sans SC,Microsoft YaHei,ui-rounded,sans-serif;transition:background .26s ease,color .26s ease}.app-shell[data-theme=night]{--page: #08152f;--page-alt: #101f4a;--surface: rgba(8, 21, 47, .72);--surface-solid: #0d1d42;--panel: #122650;--ink: #b8c9e8;--ink-strong: #eaf3ff;--muted: #8fa3c9;--line: rgba(180, 220, 255, .14);--line-strong: rgba(180, 220, 255, .3);--coral: #5ca9ff;--coral-strong: #8cc2ff;--coral-soft: #18305f;--mint: #62dfff;--mint-strong: #a4ecff;--mint-soft: #103a55;--honey: #7568c8;--pink: #b8a8ff;--shadow: rgba(0, 0, 0, .35);--shadow-strong: rgba(0, 0, 0, .5);--neutral: #152a52;--success-ink: #1f5c44;--warning-ink: #6d5216;--danger: #ff7a9c;background:radial-gradient(ellipse 26% 26% at 82% 12%,rgba(234,243,255,.5) 0%,rgba(234,243,255,.16) 40%,transparent 72%),radial-gradient(ellipse 80% 55% at 24% 18%,rgba(92,169,255,.2) 0%,transparent 62%),radial-gradient(ellipse 70% 60% at 76% 70%,rgba(117,104,200,.24) 0%,transparent 64%),radial-gradient(ellipse 55% 45% at 20% 82%,rgba(98,223,255,.14) 0%,transparent 62%),radial-gradient(circle 1.5px at 18% 30%,rgba(234,243,255,.7) 0 1.5px,transparent 2.5px),radial-gradient(circle 1.5px at 68% 16%,rgba(184,168,255,.6) 0 1.5px,transparent 2.5px),radial-gradient(circle 1.5px at 42% 58%,rgba(234,243,255,.5) 0 1.5px,transparent 2.5px),radial-gradient(circle 1.5px at 88% 66%,rgba(98,223,255,.55) 0 1.5px,transparent 2.5px),radial-gradient(circle 1.5px at 10% 76%,rgba(184,168,255,.5) 0 1.5px,transparent 2.5px),linear-gradient(150deg,#08152f,#101f4a 56%,#182b62)}.site-header{height:78px;margin-top:12px;border:1px solid var(--line);border-radius:24px;color:var(--ink);background:var(--surface);box-shadow:0 14px 36px var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{color:var(--ink-strong)}.brand small,.site-header nav a,.connection{color:var(--muted)}.brand-dice{color:#fff;background:linear-gradient(135deg,var(--coral),var(--mint));border-radius:14px 14px 14px 5px;box-shadow:0 7px 16px var(--shadow-strong)}.theme-toggle{display:inline-flex;align-items:center;gap:6px;min-height:34px;border:1px solid var(--line-strong);border-radius:999px;padding:0 12px;color:var(--ink);background:linear-gradient(135deg,var(--coral-soft),var(--mint-soft));font-size:12px;font-weight:700}.theme-toggle span{color:var(--coral-strong);font-size:16px}.connection:before{background:var(--danger);box-shadow:0 0 0 4px color-mix(in srgb,var(--danger) 18%,transparent)}.connection.online:before{background:var(--success);box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 22%,transparent)}.live-stats{border-color:var(--line-strong);color:var(--muted);background:color-mix(in srgb,var(--surface-solid) 72%,transparent)}.live-stats b,footer a,.github-link{color:var(--coral-strong)}.hero{min-height:690px}.hero:before{width:460px;height:460px;left:-245px;top:90px;border:2px dashed color-mix(in srgb,var(--coral) 55%,transparent);box-shadow:0 0 0 55px color-mix(in srgb,var(--mint-soft) 65%,transparent),0 0 0 57px color-mix(in srgb,var(--mint) 38%,transparent);transform:rotate(12deg)}.hero:after{content:"✦  ♡  ✦";position:absolute;right:42px;top:34px;color:var(--coral);font-size:22px;letter-spacing:.7em;opacity:.72;pointer-events:none}.eyebrow,.hero h1 span,.room-heading strong,.feature-strip b,.data-note span{color:var(--coral-strong)}.hero h1,.data-note h2,.feature-strip h2{color:var(--ink-strong)}.hero h1{text-shadow:3px 4px 0 color-mix(in srgb,var(--mint) 22%,transparent)}.hero-lead,.feature-strip p,.data-note>p:not(.eyebrow),footer{color:var(--muted)}.entry-card,.room-card{border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:0 18px 42px var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.entry-card label span,.entry-section>span,.fame-rule-picker>small,.room-heading>span,.room-note,.tier-description,.player-list b{color:var(--muted)}.entry-card input,.join-control input,.tag-entry input,.pool-options select,.game-search>input{border:1px solid var(--line-strong);border-radius:13px;color:var(--ink-strong);background:var(--surface-solid);box-shadow:inset 0 2px 7px var(--shadow)}.entry-card input:focus,.tag-entry input:focus,.pool-options select:focus,.game-search>input:focus{border-color:var(--coral);box-shadow:0 0 0 4px color-mix(in srgb,var(--coral) 18%,transparent)}.mode-picker button,.fame-picker button,.entry-actions button,.lobby-actions button,.game-exit{border:1px solid var(--line-strong);border-radius:13px;color:var(--ink);background:var(--surface-solid)}.mode-picker button,.fame-picker button{position:relative;overflow:hidden}.mode-picker button:after,.fame-picker button:after{content:"♡";position:absolute;right:8px;top:5px;color:var(--line-strong);font-size:12px}.mode-picker button.selected,.fame-picker button.selected,.fame-rule-picker .fame-picker button.selected{border-color:var(--coral);color:var(--ink-strong);background:linear-gradient(135deg,var(--coral-soft),var(--mint-soft));box-shadow:inset 0 -3px var(--coral)}.mode-picker button.selected:after,.fame-picker button.selected:after{color:var(--coral-strong)}.mode-picker small,.fame-picker small,.fame-rule-picker p{color:var(--muted)}.entry-actions button.primary,.lobby-actions button.primary,.lobby-actions button.ready{border-color:transparent;color:#fff;background:linear-gradient(135deg,var(--coral-strong),var(--mint-strong));box-shadow:0 8px 18px var(--shadow-strong)}.rematch-button{margin-top:18px;border-color:transparent;color:#fff;background:linear-gradient(135deg,var(--coral-strong),var(--mint-strong));box-shadow:0 8px 18px var(--shadow-strong)}.error-message,.player-list .offline-mark{color:var(--danger)}.room-heading{border-color:var(--line)}.player-list div{border-radius:999px;color:var(--ink);background:var(--mint-soft)}.player-list i{color:#fff;background:linear-gradient(135deg,var(--coral),var(--mint));border-radius:50%}.player-list .ready-mark{color:var(--success)}.lobby-actions .leave-button,.game-exit{color:var(--muted);background:transparent}.rule-builder,.game-stage{border:1px solid var(--line);border-radius:28px;color:var(--ink);background:var(--panel);box-shadow:14px 16px color-mix(in srgb,var(--mint) 45%,transparent);transform:none}.rule-builder{position:relative}.rule-builder:before{content:"★";position:absolute;right:23px;top:-17px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--coral),var(--honey));box-shadow:0 8px 18px var(--shadow)}.rule-builder-head,.pool-builder,.game-stage-head{border-color:var(--line-strong)}.rule-builder-head h2,.pool-builder h3,.game-stage-head h2{color:var(--ink-strong)}.rule-builder-head small,.rule-builder>p,.pool-builder-head small,.pool-builder>p,.fame-rule-picker>small,.attempt-counter span,.race-progress i,.duel-progress small,.duel-progress i,.guess-history>p{color:var(--muted)}.rule-builder-head>b,.game-stage-head .eyebrow,.attempt-counter b,.race-progress b,.duel-progress b{color:var(--coral-strong)}.comparison-grid button,.tag-mode,.tag-cloud button,.selected-tags button,.pool-options label,.race-progress div,.duel-progress>div,.guess-history>p,.guess-history article{border-color:var(--line-strong)}.comparison-grid button,.tag-mode button,.tag-cloud button,.pool-options label{color:var(--ink);background:var(--surface-solid)}.comparison-grid button span,.comparison-notes,.tag-mode button,.tag-cloud button small{color:var(--muted)}.comparison-grid button,.tag-mode,.tag-cloud button,.selected-tags button,.pool-options label,.tag-entry button{border-radius:11px}.comparison-grid button.selected,.tag-mode button.selected,.tag-cloud button.selected,.selected-tags button,.tag-entry button{border-color:var(--mint);color:var(--ink-strong);background:var(--mint-soft)}.comparison-grid button.selected span,.comparison-grid button.selected i,.selected-tags button span{color:var(--coral-strong)}.comparison-notes{border-color:var(--line)}.comparison-notes summary,.pool-builder .exclude-label{color:var(--coral-strong)}.tag-mode button{border-color:var(--line-strong)}.tag-cloud button.selected{border-color:var(--coral);background:var(--coral-soft)}.excluded-tags button{border-color:color-mix(in srgb,var(--danger) 55%,var(--line));color:var(--danger);background:color-mix(in srgb,var(--danger) 13%,var(--surface-solid))}.pool-options input{accent-color:var(--coral-strong)}.game-stage{margin-top:36px}.game-search>input{min-height:60px}.game-suggestions{border-color:var(--line-strong);border-radius:15px;background:var(--surface-solid);box-shadow:0 15px 34px var(--shadow-strong);overflow:hidden}.game-suggestions button{border-color:var(--line);color:var(--ink-strong)}.game-suggestions button:hover{background:linear-gradient(90deg,var(--coral-soft),var(--mint-soft))}.game-suggestions button span{color:var(--muted)}.answer-banner{border:1px solid var(--line-strong);border-radius:18px;color:var(--ink-strong);background:linear-gradient(135deg,var(--coral-soft),var(--mint-soft))}.answer-banner span{color:var(--coral-strong)}.race-progress div,.duel-progress>div{border-radius:16px;background:var(--surface-solid)}.duel-progress .self{box-shadow:-6px 7px color-mix(in srgb,var(--coral) 62%,transparent)}.duel-progress .opponent{box-shadow:6px 7px color-mix(in srgb,var(--mint) 62%,transparent)}.guess-history article header,.guess-history article>div>span{border-radius:11px;color:var(--ink-strong);background:var(--neutral)}.guess-history article header.title-partial,.guess-history article>div>span.partial{color:var(--warning-ink);background:var(--warning)}.guess-history article header.title-exact,.guess-history article>div>span.exact{color:var(--success-ink);background:var(--success)}.guess-history article>div>span.unknown{background:repeating-linear-gradient(135deg,var(--neutral),var(--neutral) 6px,color-mix(in srgb,var(--neutral) 70%,var(--line-strong)) 6px,color-mix(in srgb,var(--neutral) 70%,var(--line-strong)) 12px)}.guess-history article header span,.guess-history article small,.guess-history .comparison-verdict{color:color-mix(in srgb,currentColor 75%,var(--muted))}.guess-history .comparison-value{color:inherit}.feature-strip{gap:16px;padding:0 42px;border:0}.feature-strip article{border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:0 14px 30px var(--shadow)}.feature-strip article:last-child{border:1px solid var(--line)}.data-note>div,footer{border-color:var(--line)}.data-note i{border-color:var(--line);color:var(--muted)}footer b{color:var(--ink-strong)}.app-shell[data-theme=night] .entry-card,.app-shell[data-theme=night] .room-card,.app-shell[data-theme=night] .site-header{box-shadow:0 18px 42px var(--shadow-strong)}@media(max-width:980px){.site-header{margin:10px 12px 0;padding:0 22px}.site-header nav a{display:none}.site-header nav a.github-link{display:inline;font-size:12px}.hero{grid-template-columns:1fr;padding:48px 22px 70px;gap:50px}.hero h1{font-size:clamp(48px,11vw,74px)}.rule-builder{transform:none;box-shadow:10px 10px color-mix(in srgb,var(--mint) 45%,transparent)}.game-stage{margin:0 22px 70px;padding:28px}.feature-strip{grid-template-columns:1fr}.feature-strip article{border-right:0;border:1px solid var(--line);padding:28px 22px}.data-note{padding:80px 22px}.data-note>div{grid-template-columns:95px 1fr}footer{padding:24px 22px}}@media(max-width:560px){.site-header{height:auto;min-height:112px;padding:12px 14px;flex-wrap:wrap;align-content:center;gap:8px}.site-header nav{width:100%;justify-content:flex-end;gap:8px;flex-wrap:wrap}.connection{font-size:0}.live-stats small{display:none}.hero{min-height:auto}.hero h1{font-size:48px}.hero-lead{font-size:15px}.entry-actions,.mode-picker,.fame-picker,.duel-progress{grid-template-columns:1fr}.duel-progress .opponent{text-align:left;box-shadow:-6px 6px color-mix(in srgb,var(--mint) 62%,transparent)}.comparison-grid{grid-template-columns:1fr}.pool-builder-head{align-items:start;flex-direction:column}.pool-options{grid-template-columns:1fr}.game-stage-head{align-items:start}.attempt-counter b{font-size:36px}.rule-builder{padding:24px}.data-note>div{display:block}.data-note i,.data-note span{display:block;border-left:0;padding:12px 0}footer{display:block}footer span{display:block;margin-top:6px}}.nav-link{border-color:transparent;background:transparent;color:var(--ink);padding:6px 10px;font-size:13px}.leaderboard-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--ink) 45%,transparent)}.leaderboard-panel{width:min(480px,calc(100vw - 32px));max-height:80vh;overflow-y:auto;border:2px solid var(--line-strong);border-radius:18px;padding:22px;background:var(--surface-solid);box-shadow:0 20px 50px var(--shadow-strong)}.leaderboard-panel header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.leaderboard-panel h2{margin:0;color:var(--ink-strong)}.panel-close{border-color:transparent;background:transparent;color:var(--muted);font-size:22px;line-height:1}.leaderboard-filters{display:flex;gap:8px;margin-bottom:16px}.leaderboard-filters button{border-color:var(--line-strong);background:transparent;color:var(--muted);font-size:12px;padding:6px 12px}.leaderboard-filters button.active{border-color:transparent;color:#fff;background:linear-gradient(135deg,var(--coral-strong),var(--mint-strong))}.leaderboard-empty{color:var(--muted);text-align:center;padding:24px 0}.leaderboard-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.leaderboard-list li{display:grid;grid-template-columns:28px 1fr auto auto;gap:12px;align-items:center;border:2px solid var(--line);border-radius:13px;padding:10px 14px;background:color-mix(in srgb,var(--surface-solid) 60%,var(--mint-soft))}.leaderboard-list li.self{border-color:var(--coral)}.leaderboard-list i{font-style:normal;color:var(--muted);font-size:12px}.leaderboard-list b{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-list span{color:var(--coral-strong);font-size:13px}.leaderboard-list small{color:var(--muted);font-size:11px}.admin-panel{width:min(560px,calc(100vw - 32px))}.admin-token-gate{display:grid;gap:10px;padding:8px 0 4px}.admin-token-gate label{color:var(--muted);font-size:12px}.admin-token-gate input{font-size:14px}.admin-error{color:var(--coral-strong);font-size:13px;margin:0 0 10px}.admin-suggestion-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.admin-suggestion-list li{border:2px solid var(--line);border-radius:13px;padding:12px 14px;background:color-mix(in srgb,var(--surface-solid) 60%,var(--mint-soft))}.admin-titles{display:grid;gap:2px}.admin-titles b{color:var(--ink)}.admin-titles small{color:var(--muted);font-size:12px}.admin-titles i{color:var(--coral-strong);font-size:11px;font-style:normal}.admin-evidence{color:var(--muted);font-size:11px;margin:8px 0;line-height:1.5}.admin-actions{display:flex;gap:8px}.admin-actions button{border-color:var(--line-strong);background:transparent;color:var(--ink);font-size:12px;padding:6px 14px}.admin-actions button:first-child{border-color:transparent;color:#fff;background:linear-gradient(135deg,var(--coral-strong),var(--mint-strong))}.admin-toolbar{display:flex;align-items:center;gap:10px;margin-top:16px}.admin-toolbar button{border-color:var(--line-strong);background:transparent;color:var(--ink);font-size:12px;padding:7px 12px}.admin-rebuild-note{color:var(--muted);font-size:11px}.optional-hint{color:var(--muted);font-size:10px;font-weight:400;letter-spacing:.02em;margin-left:6px}.leaderboard-identity{color:var(--muted);font-size:12px;margin:-6px 0 14px}.leaderboard-identity b{color:var(--coral-strong);font-family:ui-monospace,Cascadia Code,Consolas,monospace;letter-spacing:.12em}.game-suggestions b .original-title{display:block;color:var(--muted);font-size:10px;font-weight:400;letter-spacing:.02em}.intermission-bar{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;border:2px solid var(--mint);border-radius:15px;margin:16px 0 0;padding:14px 18px;background:color-mix(in srgb,var(--mint-soft) 55%,var(--surface-solid));box-shadow:0 8px 20px color-mix(in srgb,var(--mint) 30%,transparent)}.intermission-bar span{color:var(--ink);font-size:13px}.intermission-bar b{color:var(--coral-strong);font-size:20px;letter-spacing:.06em;font-variant-numeric:tabular-nums}.intermission-bar button{border-color:var(--mint-strong);color:#fff;background:linear-gradient(135deg,var(--coral-strong),var(--mint-strong))}.intermission-bar button.ready{border-color:transparent;color:var(--ink-strong);background:var(--mint-soft)}.intermission-bar small{grid-column:1 / -1;color:var(--muted);font-size:11px}@media(max-width:980px){.intermission-bar{grid-template-columns:1fr auto}}.duel-progress .duel-lights{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px;font-size:0}.duel-progress .duel-lights i{display:inline-block;width:14px;height:14px;margin:0;border-radius:50%;border:2px solid var(--line-strong);background:transparent;color:transparent;font-size:0}.duel-progress .duel-lights i.exact{border-color:var(--success);background:var(--success)}.duel-progress .duel-lights i.partial{border-color:var(--warning);background:var(--warning)}.duel-progress .duel-lights i.miss{border-color:color-mix(in srgb,var(--muted) 80%,transparent);background:color-mix(in srgb,var(--muted) 60%,transparent)}.duel-progress .opponent .duel-lights{justify-content:flex-end}@media(max-width:980px){.duel-progress .opponent .duel-lights{justify-content:flex-start}}.game-suggestions{max-height:min(46vh,380px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;padding-bottom:6px}.game-suggestions::-webkit-scrollbar{width:8px}.game-suggestions::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:4px}.game-suggestions::-webkit-scrollbar-track{background:transparent}.exhausted-wait{display:grid;gap:8px;justify-items:center;text-align:center;border:2px dashed var(--line-strong);border-radius:15px;margin:16px 0 0;padding:24px 18px}.exhausted-wait p{color:var(--muted);font-size:13px;margin:0}.exhausted-wait b{color:var(--coral-strong);font-size:22px;font-variant-numeric:tabular-nums;letter-spacing:.06em}.app-shell:before{background-image:radial-gradient(ellipse 46% 20% at 24% 30%,rgba(255,255,255,.7) 0%,transparent 68%),radial-gradient(ellipse 38% 16% at 62% 46%,rgba(255,255,255,.6) 0%,transparent 68%),radial-gradient(ellipse 44% 18% at 82% 22%,rgba(255,255,255,.65) 0%,transparent 68%),radial-gradient(ellipse 30% 12% at 8% 72%,rgba(255,255,255,.45) 0%,transparent 70%);animation:cloud-drift 90s ease-in-out infinite alternate}.app-shell:after{background-image:radial-gradient(circle 3px at 22% 64%,rgba(255,255,255,.9) 0 3px,transparent 5px),radial-gradient(circle 2px at 66% 78%,rgba(90,215,255,.9) 0 2px,transparent 4px),radial-gradient(circle 2.5px at 86% 56%,rgba(246,184,214,.85) 0 2.5px,transparent 4.5px),radial-gradient(circle 2px at 40% 86%,rgba(255,255,255,.75) 0 2px,transparent 4px);animation:light-float 26s ease-in-out infinite alternate}.app-shell[data-theme=night]:before{background-image:radial-gradient(circle 1.5px at 12% 24%,rgba(234,243,255,.85) 0 1.5px,transparent 2.5px),radial-gradient(circle 1.5px at 33% 12%,rgba(184,168,255,.8) 0 1.5px,transparent 2.5px),radial-gradient(circle 1.5px at 56% 30%,rgba(234,243,255,.7) 0 1.5px,transparent 2.5px),radial-gradient(circle 1.5px at 74% 48%,rgba(98,223,255,.75) 0 1.5px,transparent 2.5px),radial-gradient(circle 1.5px at 91% 24%,rgba(234,243,255,.8) 0 1.5px,transparent 2.5px),radial-gradient(circle 1.5px at 26% 82%,rgba(184,168,255,.7) 0 1.5px,transparent 2.5px),radial-gradient(circle 1.5px at 66% 88%,rgba(234,243,255,.6) 0 1.5px,transparent 2.5px);animation:star-twinkle 7s ease-in-out infinite alternate}.app-shell[data-theme=night]:after{background-image:radial-gradient(ellipse 30% 18% at 82% 10%,rgba(234,243,255,.22) 0%,transparent 70%);animation:moon-breathe 9s ease-in-out infinite}@keyframes cloud-drift{0%{background-position:0% 0%,0% 0%,0% 0%,0% 0%}to{background-position:10% 3%,-8% 5%,6% -2%,-4% 2%}}@keyframes light-float{0%{background-position:0% 0%,0% 0%,0% 0%,0% 0%}to{background-position:6% -18%,-8% -22%,10% -14%,-6% -20%}}@keyframes star-twinkle{0%{opacity:.55}to{opacity:1}}@keyframes moon-breathe{0%,to{opacity:.6}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.app-shell:before,.app-shell:after{animation:none}}.entry-card,.room-card,.leaderboard-panel,.admin-panel,.rule-builder,.game-stage,.game-suggestions{backdrop-filter:blur(16px) saturate(1.25);-webkit-backdrop-filter:blur(16px) saturate(1.25)}.entry-card,.room-card,.leaderboard-panel,.admin-panel{box-shadow:0 1px #ffffff80 inset,0 18px 42px var(--shadow)}.app-shell[data-theme=night] .entry-card,.app-shell[data-theme=night] .room-card,.app-shell[data-theme=night] .leaderboard-panel,.app-shell[data-theme=night] .admin-panel{box-shadow:0 1px #ffffff0f inset,0 18px 42px var(--shadow-strong)}button{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease,background .3s ease,color .3s ease}.chat-input{display:grid;grid-template-columns:auto 1fr auto;gap:8px;padding:10px;border-top:1px solid var(--line)}.chat-voice{width:40px;height:40px;border:1px solid var(--line-strong);border-radius:50%;font-size:16px;background:transparent}.chat-voice:hover{border-color:var(--coral);box-shadow:0 0 12px color-mix(in srgb,var(--coral) 45%,transparent)}.chat-voice.listening{border-color:var(--danger);color:#fff;background:var(--danger);animation:voice-pulse 1.2s ease-in-out infinite}@keyframes voice-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--danger) 55%,transparent)}50%{box-shadow:0 0 0 8px transparent}}.lobby-actions button:not(:disabled):hover,.mode-picker button:not(.selected):hover,.fame-picker button:not(.selected):hover,.intermission-bar button:hover,.admin-actions button:hover,.admin-toolbar button:hover,.rematch-button:hover,.daily-button:hover,.leaderboard-filters button:not(.active):hover{transform:scale(1.03);box-shadow:0 0 0 1px color-mix(in srgb,var(--coral) 35%,transparent),0 10px 30px color-mix(in srgb,var(--coral) 40%,transparent)}.app-shell[data-theme=night] .entry-actions button:not(:disabled):hover,.app-shell[data-theme=night] .lobby-actions button:not(:disabled):hover,.app-shell[data-theme=night] .mode-picker button:not(.selected):hover,.app-shell[data-theme=night] .fame-picker button:not(.selected):hover,.app-shell[data-theme=night] .intermission-bar button:hover,.app-shell[data-theme=night] .admin-actions button:hover,.app-shell[data-theme=night] .admin-toolbar button:hover,.app-shell[data-theme=night] .rematch-button:hover,.app-shell[data-theme=night] .daily-button:hover,.app-shell[data-theme=night] .leaderboard-filters button:not(.active):hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--mint) 35%,transparent),0 10px 34px color-mix(in srgb,var(--mint) 35%,transparent)}.hero h1{font-weight:200;letter-spacing:.03em;color:var(--ink-strong);text-shadow:0 2px 26px rgba(62,142,219,.35),0 1px 2px rgba(255,255,255,.6)}.app-shell[data-theme=night] .hero h1{color:#fff;text-shadow:0 0 18px rgba(92,169,255,.6),0 0 46px rgba(98,223,255,.35)}.brand b{font-weight:300;letter-spacing:.14em}.eyebrow{letter-spacing:.34em;font-weight:400}.music-player{position:fixed;left:22px;bottom:22px;z-index:40}.music-fab{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid var(--line-strong);border-radius:50%;font-size:20px;color:var(--ink-strong);background:var(--surface);backdrop-filter:blur(16px) saturate(1.25);-webkit-backdrop-filter:blur(16px) saturate(1.25);box-shadow:0 1px #fff6 inset,0 10px 30px var(--shadow)}.music-fab:hover{transform:scale(1.06);box-shadow:0 0 0 1px color-mix(in srgb,var(--coral) 35%,transparent),0 12px 34px color-mix(in srgb,var(--coral) 40%,transparent)}.music-panel{position:absolute;left:0;bottom:64px;width:min(300px,calc(100vw - 44px));border:1px solid var(--line-strong);border-radius:18px;padding:16px 18px;background:var(--surface);backdrop-filter:blur(16px) saturate(1.25);-webkit-backdrop-filter:blur(16px) saturate(1.25);box-shadow:0 1px #ffffff59 inset,0 18px 42px var(--shadow-strong)}.app-shell[data-theme=night] .music-fab,.app-shell[data-theme=night] .music-panel{box-shadow:0 1px #ffffff0f inset,0 18px 42px var(--shadow-strong)}.music-title{margin:0;color:var(--ink-strong);font-size:14px;font-weight:600;letter-spacing:.04em}.music-artist{margin:3px 0 12px;color:var(--muted);font-size:11px}.music-progress{display:grid;gap:4px}.music-progress input[type=range],.music-volume input[type=range]{width:100%;accent-color:var(--coral)}.music-progress span{color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums;text-align:right}.music-controls{display:flex;align-items:center;justify-content:center;gap:10px;margin:12px 0}.music-controls button{width:40px;height:40px;border:1px solid var(--line-strong);border-radius:50%;font-size:13px;color:var(--ink);background:transparent}.music-controls button:disabled{opacity:.4;cursor:default}.music-controls button.music-play{width:52px;height:52px;font-size:15px;border-color:transparent;color:#fff;background:linear-gradient(135deg,var(--coral),var(--mint));box-shadow:0 8px 22px color-mix(in srgb,var(--coral) 45%,transparent)}.music-volume{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center}.music-volume span{color:var(--muted);font-size:11px}.music-missing{color:var(--danger);font-size:11px;line-height:1.6;margin:6px 0 0}@media(max-width:640px){.music-player{left:14px;bottom:14px}}.room-chat{position:fixed;right:22px;bottom:22px;z-index:40}.chat-fab{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 18px;border:1px solid var(--line-strong);border-radius:999px;font-size:13px;letter-spacing:.12em;color:var(--ink-strong);background:var(--surface);backdrop-filter:blur(16px) saturate(1.25);-webkit-backdrop-filter:blur(16px) saturate(1.25);box-shadow:0 1px #fff6 inset,0 10px 30px var(--shadow)}.chat-fab:hover{transform:scale(1.04);box-shadow:0 0 0 1px color-mix(in srgb,var(--coral) 35%,transparent),0 12px 34px color-mix(in srgb,var(--coral) 40%,transparent)}.chat-panel{position:absolute;right:0;bottom:58px;width:min(320px,calc(100vw - 44px));height:min(420px,calc(100vh - 140px));display:grid;grid-template-rows:1fr auto;border:1px solid var(--line-strong);border-radius:18px;overflow:hidden;background:var(--surface);backdrop-filter:blur(16px) saturate(1.25);-webkit-backdrop-filter:blur(16px) saturate(1.25);box-shadow:0 1px #ffffff59 inset,0 18px 42px var(--shadow-strong)}.chat-messages{overflow-y:auto;padding:14px;display:grid;gap:8px;align-content:start}.chat-messages>div{display:grid;gap:2px;border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:color-mix(in srgb,var(--surface-solid) 55%,transparent)}.chat-messages>div.self{border-color:color-mix(in srgb,var(--coral) 45%,transparent)}.chat-messages b{color:var(--coral-strong);font-size:11px;font-weight:600}.chat-messages>div.self b{color:var(--mint-strong)}.chat-messages span{color:var(--ink);font-size:13px;line-height:1.5;overflow-wrap:anywhere}.chat-empty{color:var(--muted);font-size:12px;text-align:center;margin:18px 0}.chat-input{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px;border-top:1px solid var(--line)}.chat-input input{font-size:13px}.chat-input button{border-color:transparent;color:#fff;font-size:12px;padding:0 14px;background:linear-gradient(135deg,var(--coral),var(--mint))}@media(max-width:640px){.room-chat{right:14px;bottom:14px}}.guess-history article header.title-exact,.guess-history article header.title-partial,.guess-history article>div>span.exact,.guess-history article>div>span.partial{font-weight:800;letter-spacing:.02em}.guess-history .comparison-verdict.exact,.guess-history .comparison-verdict.partial{font-weight:900}.comparison-grid button.selected{background:linear-gradient(135deg,var(--coral-soft),var(--mint-soft));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--coral) 40%,transparent)}.music-loop-note{margin:2px 0 10px;color:var(--muted);font-size:10px;letter-spacing:.1em}.guess-history.duel-history{display:grid;grid-template-columns:1fr 1fr;gap:12px}.duel-column{display:grid;gap:8px;align-content:start}.duel-column.opponent article{opacity:.96}.duel-column.opponent .comparison-value,.duel-column.opponent small{color:transparent;-webkit-user-select:none;user-select:none}@media(max-width:980px){.guess-history.duel-history{grid-template-columns:1fr}}.chat-audio-play{justify-self:start;border:1px solid var(--line-strong);border-radius:999px;padding:6px 14px;font-size:12px;color:var(--coral-strong);background:color-mix(in srgb,var(--coral-soft) 55%,transparent)}.chat-audio-play:hover{border-color:var(--coral);box-shadow:0 0 10px color-mix(in srgb,var(--coral) 45%,transparent)}
