:root{color:#162542;font-synthesis:none;text-rendering:optimizelegibility;background:#f7f9fc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#f7f9fc;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}.app-shell,.home-shell{min-height:100vh}.home-shell{background:#fff;position:relative;overflow:hidden}.home-noise{opacity:.8;background:#f0f5ff;border-radius:50%;width:58vw;height:58vw;position:absolute;top:6vh;right:-18vw}.brand-lockup,.topbar{justify-content:space-between;align-items:center;display:flex}.brand-lockup{z-index:1;gap:10px;max-width:1180px;margin:0 auto;padding:28px 40px;position:relative}.brand-lockup>div:last-child{flex-direction:column;gap:2px;display:flex}.brand-lockup strong,.topbar-brand strong{letter-spacing:.02em;font-size:15px}.brand-lockup span{color:#76839a;font-size:11px}.brand-mark{color:#fff;background:#e64949;border-radius:11px;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 8px 18px #e6494933}.brand-mark.small{width:30px;height:30px;box-shadow:none;border-radius:8px}.home-content{z-index:1;grid-template-columns:minmax(0,1.05fr) minmax(340px,.72fr);align-items:center;gap:8vw;width:min(1100px,100% - 80px);min-height:calc(100vh - 145px);margin:0 auto;padding:44px 0 80px;display:grid;position:relative}.home-intro{max-width:620px}.eyebrow,.section-kicker{color:#e64949;letter-spacing:.18em;margin:0 0 16px;font-size:11px;font-weight:800}h1,h2,p{margin-top:0}.home-intro h1{color:#15233e;letter-spacing:-.04em;margin-bottom:24px;font-size:clamp(42px,6vw,76px);line-height:.99}.home-intro h1 em{color:#e64949;font-style:normal}.home-lede{color:#67758e;max-width:480px;font-size:17px;line-height:1.7}.rule-strip{color:#50617d;flex-wrap:wrap;gap:22px;margin-top:36px;font-size:13px;display:flex}.rule-item{align-items:center;gap:8px;display:inline-flex}.rule-item svg{color:#d39a00}.entry-panel{background:#fff;border:1px solid #e4eaf2;justify-self:end;width:100%;max-width:410px;padding:28px;position:relative;box-shadow:0 20px 60px #1a2d4f1a}.mode-tabs{background:#f3f6fa;gap:4px;margin-bottom:28px;padding:4px;display:flex}.mode-tabs button{color:#7b879a;background:0 0;border:0;flex:1;padding:10px;font-size:13px;font-weight:700}.mode-tabs button.active{color:#162542;background:#fff;box-shadow:0 2px 8px #192d4b14}.entry-form{gap:18px;display:grid}.field{gap:8px;display:grid}.field-label{color:#4f607c;justify-content:space-between;font-size:12px;font-weight:700;display:flex}.field-label>span{align-items:center;gap:7px;display:inline-flex}.field-label svg{color:#8595ae}.field-label small{color:#9aa6b8;font-weight:500}input{color:#162542;background:#fbfcfe;border:1px solid #dfe6ef;border-radius:5px;outline:0;width:100%;padding:13px 14px;transition:border-color .18s,box-shadow .18s}input:focus{border-color:#6485be;box-shadow:0 0 0 3px #6485be21}.primary-button{color:#fff;background:#e64949;border:0;border-radius:5px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 18px;font-size:13px;font-weight:800;transition:transform .18s,background .18s;display:inline-flex;box-shadow:0 8px 18px #e649492e}.primary-button:hover:not(:disabled){background:#d63e3e;transform:translateY(-1px)}.full-width{width:100%}.entry-footnote{color:#9aa6b8;justify-content:center;align-items:center;gap:6px;margin:20px 0 0;font-size:11px;display:flex}.entry-footnote svg{color:#5a9c73}.form-error,.toast-error{color:#a53636;background:#fff0f0;border:1px solid #ffd5d5;padding:10px 12px;font-size:12px;line-height:1.45}.home-footer{color:#9aa6b8;font-size:11px;position:absolute;bottom:22px;left:40px}.app-shell{background:#f7f9fc}.topbar{background:#fff;border-bottom:1px solid #e4eaf2;height:64px;padding:0 28px}.topbar-brand,.topbar-meta,.connection,.player-count,.host-tag{align-items:center;display:inline-flex}.topbar-brand{gap:9px}.topbar-meta{color:#8290a5;gap:14px;font-size:11px}.connection{gap:5px}.connection-connected{color:#4e9b6f}.connection-offline{color:#c26a6a}.topbar-room{font-variant-numeric:tabular-nums;border-left:1px solid #e2e8ef;padding-left:14px}.icon-button,.copy-button{color:#65748d;background:0 0;border:0;place-items:center;display:inline-grid}.icon-button{width:32px;height:32px}.icon-button:hover,.copy-button:hover{color:#e64949}.game-frame{width:min(1120px,100% - 56px);min-height:calc(100vh - 64px);margin:0 auto;padding:54px 0 80px}.lobby-heading,.round-topline,.section-heading,.action-panel-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.lobby-heading h1,.round-topline h1{color:#15233e;letter-spacing:-.035em;margin-bottom:0;font-size:clamp(28px,4vw,45px);line-height:1.08}.room-code-block{background:#fff;border:1px solid #dfe6ef;align-items:center;gap:10px;padding:10px 12px 10px 15px;display:flex}.room-code-block span,.share-code span{color:#8795a9;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.room-code-block strong{color:#e64949;letter-spacing:.12em;font-size:20px}.lobby-main{grid-template-columns:minmax(0,1.25fr) minmax(260px,.55fr);gap:24px;margin-top:40px;display:grid}.panel-surface,.action-panel,.pokemon-card{background:#fff;border:1px solid #e0e7ef;box-shadow:0 12px 34px #1a2d4f0d}.panel-surface{padding:24px}.section-heading{align-items:center;margin-bottom:18px}.section-heading h2,.action-panel-heading h2{color:#162542;letter-spacing:-.025em;margin:3px 0 0;font-size:21px}.section-kicker{letter-spacing:.16em;margin-bottom:0;font-size:9px}.player-count{color:#8190a6;gap:6px;font-size:12px}.player-list{border-top:1px solid #edf1f5}.player-row{border-bottom:1px solid #edf1f5;align-items:center;gap:11px;min-height:60px;display:flex}.player-number{color:#9ca8b8;text-align:center;width:22px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.player-avatar{color:#4d689b;background:#eef3fb;border-radius:50%;place-items:center;width:31px;height:31px;display:grid}.player-avatar.offline{color:#aab4c1;background:#f2f4f6}.player-row strong{color:#273754;flex:1;font-size:13px}.host-tag{color:#a6790c;background:#fff7d9;gap:4px;padding:4px 7px;font-size:10px}.presence-dot{background:#ccd3dc;border-radius:50%;width:7px;height:7px}.presence-dot.online{background:#56a276;box-shadow:0 0 0 3px #56a27621}.player-score{color:#e08c22;font-size:11px;font-weight:800}.notice{align-items:center;gap:9px;margin-top:18px;padding:12px;font-size:12px;display:flex}.notice-yellow{color:#99730e;background:#fff9e7}.lobby-side{align-content:start;gap:14px;display:grid}.host-note{color:#4a6597;gap:12px;display:flex}.host-note>div{flex:1}.host-note strong{color:#263754;font-size:13px}.host-note p{color:#7c899d;margin:7px 0 0;font-size:12px;line-height:1.6}.share-code{align-items:center;gap:10px;display:flex}.share-code span{flex:1}.share-code strong{color:#273754;letter-spacing:.1em;font-size:16px}.round-topline{align-items:center}.round-topline h1{font-size:clamp(25px,3vw,37px)}.phase-badge{color:#6f7e93;background:#fff;border:1px solid #e0e7ef;align-items:center;gap:8px;padding:8px 11px;font-size:11px;font-weight:700;display:inline-flex}.phase-badge span{background:#e2ac2a;border-radius:50%;width:7px;height:7px}.phase-guessing span{background:#6485be}.phase-reveal span,.phase-scoreboard span{background:#5b9f77}.round-grid{grid-template-columns:minmax(0,1fr) minmax(340px,.77fr);gap:24px;margin-top:34px;display:grid}.dex-stage{align-content:start;gap:15px;display:grid}.pokemon-card{overflow:hidden}.pokemon-card-top{color:#8795a9;letter-spacing:.08em;border-bottom:1px solid #e6ebf1;justify-content:space-between;padding:13px 17px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;display:flex}.pokemon-image-wrap{background:#f5f8fc;place-items:center;min-height:330px;padding:26px;display:grid}.pokemon-image-wrap img{object-fit:contain;filter:drop-shadow(0 18px 16px #2a3e6126);width:min(74%,290px);height:290px}.pokemon-caption{justify-content:space-between;align-items:baseline;padding:17px 18px;display:flex}.pokemon-caption span{color:#8b98aa;font-size:11px}.pokemon-caption strong{color:#1d2e4d;font-size:21px}.pokemon-loading{color:#8391a5;background:#fff;border:1px solid #e0e7ef;place-items:center;gap:12px;min-height:430px;font-size:13px;display:grid}.role-hint{background:#fff;border:1px solid #e0e7ef;border-left:3px solid #7187b5;grid-template-columns:auto 1fr;align-items:center;gap:10px 11px;padding:16px 18px;display:grid}.role-hint-icon{color:#7187b5;background:#eef3fb;border-radius:50%;place-items:center;width:35px;height:35px;display:grid}.role-hint>div:nth-child(2){gap:3px;display:grid}.role-hint>div:nth-child(2) span{color:#8a97a9;font-size:10px}.role-hint>div:nth-child(2) strong{color:#263754;font-size:13px}.role-hint p{color:#63728a;grid-column:1/-1;margin:2px 0 0;font-size:12px;line-height:1.55}.category-callout{background:#fff8df;border:1px solid #f0d47a;border-left:3px solid #d59a1f;grid-column:1/-1;gap:7px;margin-top:3px;padding:13px 15px;display:grid}.category-callout span,.category-reveal span{color:#a77810;align-items:center;gap:6px;font-size:11px;font-weight:800;display:inline-flex}.category-callout strong{color:#654b11;overflow-wrap:anywhere;font-size:28px;line-height:1.18}.role-hint.role-honest{border-left-color:#5b9f77}.role-hint.role-honest .role-hint-icon{color:#5b9f77;background:#edf8f0}.role-hint.role-smart{border-left-color:#d59a1f}.role-hint.role-smart .role-hint-icon{color:#b48218;background:#fff8df}.action-panel{min-height:350px;padding:23px}.live-stats{background:#fff;border:1px solid #e0e7ef;padding:20px 21px;box-shadow:0 12px 34px #1a2d4f0d}.live-stats-heading{border-bottom:1px solid #edf1f5;justify-content:space-between;align-items:center;padding-bottom:15px;display:flex}.live-stats-heading h2{color:#162542;letter-spacing:-.025em;margin:3px 0 0;font-size:19px}.live-stats-heading>svg{color:#6485be}.stats-summary{border-bottom:1px solid #edf1f5;grid-template-columns:repeat(3,1fr);gap:8px;padding:15px 0;display:grid}.stats-summary>div{gap:4px;min-width:0;display:grid}.stats-summary strong{color:#2d4777;overflow-wrap:anywhere;font-size:16px;line-height:1.2}.stats-summary span{color:#8996a8;font-size:10px}.score-list{display:grid}.score-row{color:#74839a;border-bottom:1px solid #f0f3f6;align-items:center;gap:8px;min-height:38px;font-size:11px;display:flex}.score-row:last-child{border-bottom:0}.score-row.current{color:#2d4c85}.score-number{color:#6f7e93;background:#edf2f8;border-radius:50%;place-items:center;width:21px;height:21px;font-size:10px;font-weight:800;display:grid}.score-row.current .score-number{color:#fff;background:#6485be;box-shadow:0 0 0 3px #6485be26}.score-row strong{color:#344460;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.score-row b{color:#e08c22;text-align:right;min-width:18px;font-size:14px}.score-host,.score-offline{color:#a6790c;background:#fff7d9;flex:none;padding:3px 5px;font-size:9px;font-weight:800}.score-offline{color:#9aa6b8;background:#f1f4f7}.action-panel-heading{border-bottom:1px solid #edf1f5;align-items:center;padding-bottom:18px}.action-panel-heading>svg{color:#7187b5}.timer{color:#e64949;align-items:center;gap:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;display:inline-flex}.speaker-callout{padding:23px 0}.speaker-callout span,.truth-line span{color:#8996a8;font-size:11px;display:block}.speaker-callout strong{color:#263754;align-items:center;gap:10px;margin:9px 0 7px;font-size:22px;display:flex}.speaker-callout strong b{color:#fff;background:#6485be;border-radius:50%;place-items:center;width:32px;height:32px;font-size:14px;display:inline-grid}.speaker-callout p,.panel-copy{color:#75839a;margin:0;font-size:12px;line-height:1.6}.progress-line{background:#edf1f5;height:4px;margin-bottom:15px;overflow:hidden}.progress-line span{background:#6485be;height:100%;transition:width .3s;display:block}.speaker-list{justify-content:space-between;margin-bottom:23px;display:flex}.speaker-list span{color:#a2adbc;background:#f1f4f7;border-radius:50%;place-items:center;width:22px;height:22px;font-size:10px;display:grid}.speaker-list span.done{color:#fff;background:#5b9f77}.speaker-list span.current{color:#fff;background:#6485be;box-shadow:0 0 0 4px #6485be26}.shortcut-actions{gap:8px;margin-top:10px;display:grid}.secondary-button{color:#526b96;background:#f4f7fb;border:1px solid #d7e0ed;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 14px;font-size:12px;font-weight:800;transition:color .18s,border-color .18s,background .18s;display:inline-flex}.secondary-button:hover:not(:disabled){color:#2d4c85;background:#eaf1fc;border-color:#9db4d7}.secondary-button.danger-button{color:#a3564f;background:#fff7f5;border-color:#edccc6}.secondary-button.danger-button:hover:not(:disabled){color:#943d36;background:#ffefec;border-color:#d99b93}.guess-list{grid-template-columns:1fr 1fr;gap:9px;margin:20px 0;display:grid}.guess-option{color:#324360;text-align:left;background:#fbfcfe;border:1px solid #dfe6ef;align-items:center;gap:8px;padding:11px 12px;display:flex}.guess-option:hover,.guess-option.selected{color:#2d4c85;background:#f0f5ff;border-color:#7492c7}.guess-option span{color:#6f7e93;background:#e9eef6;border-radius:50%;place-items:center;width:22px;height:22px;font-size:11px;font-weight:800;display:grid}.guess-option strong{flex:1;font-size:12px}.waiting-state{color:#71809a;text-align:center;justify-items:center;gap:8px;padding:62px 0;display:grid}.waiting-state svg{color:#d59a1f}.waiting-state strong{color:#324360;font-size:14px}.waiting-state span{font-size:12px}.role-reveal-screen{text-align:center;justify-items:center;padding:40px 0;display:grid}.role-reveal-card{background:#fff;border:1px solid #dfe6ef;border-top:4px solid #7187b5;width:min(100%,520px);padding:43px 34px 28px;box-shadow:0 20px 55px #1a2d4f17}.role-reveal-card.role-honest{border-top-color:#5b9f77}.role-reveal-card.role-bluffer{border-top-color:#7187b5}.role-reveal-card.role-smart{border-top-color:#d59a1f}.role-big-icon{color:#7187b5;background:#eef3fb;border-radius:50%;place-items:center;width:62px;height:62px;margin:0 auto 20px;display:grid}.role-reveal-card.role-honest .role-big-icon{color:#5b9f77;background:#edf8f0}.role-reveal-card.role-smart .role-big-icon{color:#b48218;background:#fff8df}.role-reveal-card>span{color:#8c98a9;font-size:11px}.role-reveal-card h1{color:#1d2e4d;letter-spacing:-.04em;margin:9px 0 13px;font-size:38px}.role-reveal-card>p{color:#71809a;max-width:330px;margin:0 auto;font-size:13px;line-height:1.7}.category-reveal{color:#4d8e68;background:#edf8f0;gap:7px;margin:24px 0;padding:13px;display:grid}.category-reveal strong{color:#34724f;overflow-wrap:anywhere;font-size:28px;line-height:1.2}.role-reveal-foot{color:#a1abba;align-items:center;gap:7px;margin-top:28px;font-size:11px;display:inline-flex}.role-reveal-card .secondary-button{margin-top:20px}.result-banner{text-align:center;justify-items:center;gap:7px;margin-bottom:20px;padding:21px 12px;display:grid}.result-banner>div{border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.result-banner strong{font-size:19px}.result-banner span{font-size:11px}.result-banner.correct{color:#377551;background:#eff9f2}.result-banner.correct>div{color:#fff;background:#5b9f77}.result-banner.wrong{color:#9b4d4d;background:#fff1f1}.result-banner.wrong>div{color:#fff;background:#d56d6d}.result-banner.skipped{color:#526a90;background:#f2f6fc}.result-banner.skipped>div{color:#fff;background:#7187b5}.skip-note{border-bottom:1px solid #edf1f5;gap:5px;padding:13px 0 17px;display:grid}.skip-note span{color:#8996a8;font-size:11px}.skip-note strong{color:#344460;font-size:15px}.truth-line{border-bottom:1px solid #edf1f5;padding:12px 0}.truth-line strong{color:#253754;margin-top:5px;font-size:18px;display:block}.identity-list{margin:10px 0}.identity-row{color:#71809a;align-items:center;gap:9px;min-height:35px;font-size:11px;display:flex}.identity-row>span{color:#fff;background:#9eabbc;border-radius:50%;place-items:center;width:20px;height:20px;font-size:10px;display:grid}.identity-row>strong{color:#344460;flex:1}.identity-row em{font-style:normal}.identity-row b{color:#5b9f77;font-size:11px}.identity-row.honest-row>span{background:#5b9f77}.guess-note{color:#8693a5;margin:14px 0 20px;font-size:11px;line-height:1.6}.guess-note strong{color:#425371}.toast{z-index:5;max-width:340px;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 25px #1e32501f}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=760px){.brand-lockup{padding:22px 20px}.home-content{width:min(100% - 40px,560px);min-height:auto;padding:56px 0 82px;display:block}.home-intro h1{font-size:clamp(42px,14vw,66px)}.home-lede{font-size:15px}.entry-panel{max-width:none;margin-top:42px;padding:22px}.home-footer{font-size:10px;left:20px}.topbar{height:58px;padding:0 16px}.topbar-meta{gap:8px}.topbar-room{display:none}.game-frame{width:min(100% - 32px,560px);min-height:calc(100vh - 58px);padding:32px 0 56px}.lobby-heading,.round-topline{display:block}.room-code-block{width:fit-content;margin-top:20px}.lobby-main,.round-grid{grid-template-columns:1fr;gap:16px;margin-top:28px}.lobby-side{order:-1}.host-note{display:none}.round-topline .phase-badge{margin-top:17px}.pokemon-image-wrap{min-height:280px}.pokemon-image-wrap img{height:240px}.action-panel{min-height:auto}.live-stats{padding:18px}.category-callout strong,.category-reveal strong{font-size:24px}.toast{max-width:none;bottom:16px;left:16px;right:16px}}@media (width<=420px){.topbar-brand strong{font-size:13px}.connection{font-size:10px}.panel-surface,.action-panel{padding:18px}.guess-list{grid-template-columns:1fr}.pokemon-caption strong{font-size:18px}}
