:root{--bg-0: #080a14;--bg-1: #101527;--panel: rgba(20, 25, 43, .82);--panel-solid: #141a2c;--border: rgba(255, 255, 255, .12);--text: #eef1fb;--muted: #9aa3bd;--red: #d9483f;--red-dim: #7a2a25;--blue: #3b74e8;--blue-dim: #23406e;--gold: #e7c07a;--accent: #8b5cf6;--font: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html{margin:0;height:100%;width:100%}body{margin:0;min-height:100%;width:100%;font-family:var(--font);color:var(--text);background-color:var(--bg-0);background-image:radial-gradient(1200px 700px at 50% -10%,#1c2340 0%,transparent 60%),radial-gradient(900px 600px at 50% 120%,#201436 0%,transparent 60%),linear-gradient(180deg,var(--bg-1),var(--bg-0));overflow-x:hidden;-webkit-font-smoothing:antialiased}body.cn-in-game{overflow:hidden;height:100dvh}body.cn-in-game #cn-seo{display:none}#app{position:relative;height:100vh;height:100dvh;width:100%}.cn-stage{position:absolute;inset:0;z-index:0}.cn-stage canvas{display:block;width:100%;height:100%}.cn-btn{font:inherit;font-weight:600;font-size:.9rem;padding:.55rem 1rem;border-radius:10px;border:1px solid var(--border);background:#ffffff0f;color:var(--text);cursor:pointer;transition:transform .12s ease,background .18s ease,border-color .18s ease,opacity .18s ease}.cn-btn:hover:not(:disabled){background:#ffffff1f;transform:translateY(-1px)}.cn-btn:disabled{opacity:.45;cursor:not-allowed}.cn-btn-primary{background:linear-gradient(135deg,#7c3aed,#2563eb);border-color:transparent;box-shadow:0 8px 22px -10px #6366f1e6}.cn-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#8b5cf6,#3b82f6)}.cn-btn-ghost.is-on{background:#8b5cf647;border-color:#a78bfab3}.cn-input{font:inherit;font-size:.95rem;width:100%;padding:.6rem .8rem;border-radius:10px;border:1px solid var(--border);background:#080b16b3;color:var(--text);outline:none}.cn-input:focus{border-color:#8b5cf6cc;box-shadow:0 0 0 3px #8b5cf62e}.cn-code-input{text-transform:uppercase;letter-spacing:.35em;font-weight:700;text-align:center}.cn-muted{color:var(--muted);font-size:.82rem;line-height:1.4}.cn-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:.4rem;font-weight:700}.cn-top{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;gap:1rem;padding:.7rem 1.1rem;background:linear-gradient(180deg,#080a14eb,#080a1459);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);flex-wrap:wrap}.cn-brand{display:flex;align-items:center;gap:.4rem;font-weight:800;letter-spacing:.02em;font-size:1.05rem}.cn-turn{display:flex;align-items:center;gap:.4rem;font-size:.9rem;padding:.35rem .8rem;border-radius:999px;background:#ffffff0f;border:1px solid var(--border)}.cn-turn-red{background:#d9483f2e;border-color:#d9483f99}.cn-turn-blue{background:#3b74e82e;border-color:#3b74e899}.cn-dot{width:10px;height:10px;border-radius:50%;background:currentColor;display:inline-block}.cn-turn-red .cn-dot,.cn-team-red .cn-dot{color:var(--red);background:var(--red)}.cn-turn-blue .cn-dot,.cn-team-blue .cn-dot{color:var(--blue);background:var(--blue)}.cn-scores{display:flex;gap:.5rem;margin-left:auto}.cn-score{display:flex;flex-direction:column;align-items:center;min-width:72px;padding:.25rem .6rem;border-radius:10px;border:1px solid var(--border);background:#ffffff0a}.cn-score.is-active{box-shadow:0 0 0 1px currentColor inset}.cn-score-red{color:#f0a79f}.cn-score-red.is-active{background:#d9483f33}.cn-score-blue{color:#a9c3f5}.cn-score-blue.is-active{background:#3b74e833}.cn-score-num{font-size:1.25rem;font-weight:800;color:var(--text);line-height:1.1}.cn-score-lbl{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.cn-top-actions{display:flex;gap:.5rem}.cn-cluebar{position:absolute;left:50%;bottom:1.1rem;transform:translate(-50%);z-index:5;display:flex;align-items:center;gap:.9rem;padding:.7rem 1rem;border-radius:14px;background:var(--panel);border:1px solid var(--border);backdrop-filter:blur(10px);box-shadow:0 18px 50px -20px #000000e6;max-width:min(92vw,760px);flex-wrap:wrap;justify-content:center}.cn-clueinfo{display:flex;align-items:center;gap:.5rem;font-size:.95rem}.cn-clue-tag{font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);border:1px solid rgba(231,192,122,.5);border-radius:6px;padding:.1rem .4rem}.cn-clueinfo strong{font-size:1.15rem;letter-spacing:.04em}.cn-clue-num{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:50%;background:#e7c07a2e;color:var(--gold);font-weight:800}.cn-guesses{color:var(--muted);font-size:.85rem}.cn-clueform{display:flex;gap:.5rem;align-items:center}.cn-clue-word{width:10rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.cn-clue-count{width:4.2rem;text-align:center}.cn-chat{display:none;position:absolute;top:4.6rem;right:1rem;bottom:6.4rem;width:320px;z-index:5;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:14px;backdrop-filter:blur(10px);overflow:hidden}body.cn-in-game .cn-chat{display:flex}.cn-chat-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem .8rem;border-bottom:1px solid var(--border);font-size:.82rem;font-weight:700;letter-spacing:.02em}.cn-scope{display:flex;gap:.2rem;background:#0000004d;border-radius:8px;padding:.15rem}.cn-scope button{font:inherit;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:transparent;border:none;padding:.25rem .5rem;border-radius:6px;cursor:pointer}.cn-scope button.is-on{background:#8b5cf659;color:var(--text)}.cn-scope button:disabled{opacity:.35;cursor:not-allowed}.cn-chat-log{flex:1;overflow-y:auto;padding:.6rem .8rem;display:flex;flex-direction:column;gap:.35rem;font-size:.85rem}.cn-chat-line{line-height:1.35;word-break:break-word}.cn-chat-line .cn-chat-name{font-weight:700;margin-right:.35rem}.cn-chat-line.is-red .cn-chat-name{color:#f0a79f}.cn-chat-line.is-blue .cn-chat-name{color:#a9c3f5}.cn-chat-line.is-team{border-left:2px solid rgba(231,192,122,.6);padding-left:.5rem}.cn-chat-text{color:#dfe4f5}.cn-chat-form{display:flex;gap:.4rem;padding:.55rem;border-top:1px solid var(--border)}.cn-send{padding:.55rem .8rem}.cn-overlay{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:1.4rem;pointer-events:none}.cn-overlay>.cn-card:not([hidden]){pointer-events:auto}.cn-card{width:min(920px,100%);max-height:calc(100vh - 3rem);overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:1.6rem;backdrop-filter:blur(14px);box-shadow:0 30px 80px -30px #000000f2;animation:cn-pop .25s ease}@keyframes cn-pop{0%{opacity:0;transform:translateY(10px) scale(.99)}}.cn-title{font-size:clamp(2.2rem,6vw,3.4rem);margin:0;text-align:center;letter-spacing:.02em;background:linear-gradient(120deg,#f5b4ad,#cbb2ff 45%,#9ec0ff);-webkit-background-clip:text;background-clip:text;color:transparent}.cn-sub{text-align:center;color:var(--muted);margin:.6rem auto 1.6rem;max-width:46ch;line-height:1.5;font-size:.92rem}.cn-home-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.cn-panel{display:flex;flex-direction:column;gap:.7rem;padding:1rem;border-radius:14px;border:1px solid var(--border);background:#ffffff08}.cn-rooms{margin-top:1.4rem}.cn-rooms-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.cn-rooms-head h2{font-size:1rem;margin:0}.cn-rooms-list{display:flex;flex-direction:column;gap:.5rem}.cn-room{display:flex;align-items:center;gap:.8rem;font:inherit;color:var(--text);text-align:left;padding:.65rem .9rem;border-radius:12px;border:1px solid var(--border);background:#ffffff0a;cursor:pointer;transition:background .16s ease,border-color .16s ease}.cn-room:hover{background:#8b5cf629;border-color:#8b5cf680}.cn-room-code{font-weight:800;letter-spacing:.14em;font-size:1rem}.cn-room-meta{color:var(--muted);font-size:.78rem}.cn-room-join{margin-left:auto;color:var(--gold);font-weight:700;font-size:.82rem}.cn-lobby-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.2rem}.cn-code-row{display:flex;align-items:center;gap:.7rem}.cn-code{font-size:2rem;letter-spacing:.3em;font-weight:800}.cn-lobby-cta{text-align:right;display:flex;flex-direction:column;gap:.4rem;align-items:flex-end}.cn-teams{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.cn-team{border-radius:14px;border:1px solid var(--border);padding:.9rem;background:#ffffff08;border-top:3px solid var(--accent)}.cn-team-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.7rem}.cn-team-head h3{margin:0;font-size:1rem}.cn-count{margin-left:auto;color:var(--muted);font-size:.8rem}.cn-team-list{display:flex;flex-direction:column;gap:.4rem;min-height:3rem;margin-bottom:.8rem}.cn-player{display:flex;align-items:center;gap:.5rem;padding:.4rem .55rem;border-radius:9px;background:#00000038;font-size:.88rem}.cn-player.is-you{outline:1px solid rgba(139,92,246,.6)}.cn-player.is-off{opacity:.5}.cn-player-name{font-weight:600}.cn-badge{font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;padding:.12rem .4rem;border-radius:5px;background:#e7c07a33;color:var(--gold);font-weight:700}.cn-badge-op{background:#ffffff1a;color:var(--muted)}.cn-crown{color:var(--gold)}.cn-offline{margin-left:auto;font-size:.68rem;color:var(--muted)}.cn-team-actions{display:flex;gap:.5rem}.cn-team-actions .cn-btn{flex:1;padding:.45rem .6rem;font-size:.8rem}.cn-end{text-align:center;max-width:520px}.cn-end-kicker{text-transform:uppercase;letter-spacing:.22em;font-size:.75rem;font-weight:800;margin:0}.cn-end-kicker.is-win{color:#7ee0a6}.cn-end-kicker.is-loss{color:#f08a7f}.cn-end-title{font-size:2rem;margin:.4rem 0}.cn-end-sub{color:var(--muted);margin:0 0 1.2rem}.cn-end [data-leave]{margin-top:.7rem;display:inline-block}.cn-banner{position:absolute;top:0;left:0;right:0;z-index:20;text-align:center;padding:.4rem;font-size:.82rem;font-weight:600;background:#e7c07aeb;color:#2a2005}.cn-banner.is-down{background:#d9483feb;color:#fff}.cn-toasts{position:absolute;bottom:1rem;left:1rem;z-index:30;display:flex;flex-direction:column;gap:.5rem;max-width:min(78vw,380px)}.cn-toast{padding:.6rem .9rem;border-radius:10px;background:#1c2237f5;border:1px solid var(--border);font-size:.85rem;box-shadow:0 12px 30px -12px #000000e6;animation:cn-pop .2s ease}.cn-toast.is-error{border-color:#d9483fb3;background:#3c1818f5}@media (max-width: 820px){.cn-home-grid,.cn-teams{grid-template-columns:1fr}.cn-chat{width:260px;top:auto;bottom:5.6rem;height:42vh}.cn-scores{order:5}.cn-top{gap:.6rem}}@media (max-width: 620px){.cn-chat{left:.6rem;right:.6rem;width:auto;height:34vh}.cn-cluebar{bottom:auto;top:4.6rem}}.cn-seo{position:relative;z-index:1;border-top:1px solid var(--border);background:linear-gradient(180deg,rgba(8,10,20,.6),var(--bg-0) 220px)}.cn-seo-inner{max-width:820px;margin:0 auto;padding:3.2rem 1.4rem 4rem;line-height:1.68;font-size:1.02rem;color:#cfd6ea}.cn-seo h1{font-size:clamp(1.9rem,4.6vw,2.7rem);line-height:1.15;margin:.4rem 0 1rem;letter-spacing:-.01em;background:linear-gradient(120deg,#f5b4ad,#cbb2ff 45%,#9ec0ff);-webkit-background-clip:text;background-clip:text;color:transparent}.cn-seo h2{font-size:clamp(1.35rem,3vw,1.7rem);margin:2.4rem 0 .8rem;color:var(--text);letter-spacing:-.005em}.cn-seo h3{font-size:1.08rem;margin:1.5rem 0 .4rem;color:var(--gold)}.cn-seo p{margin:.7rem 0}.cn-seo ul,.cn-seo ol{margin:.7rem 0;padding-left:1.3rem}.cn-seo li{margin:.35rem 0}.cn-seo a{color:#a9c3f5;text-decoration:underline;text-underline-offset:2px}.cn-seo a:hover{color:#cbb2ff}.cn-seo-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:800;color:var(--gold);margin:0}.cn-seo-lead{font-size:1.1rem;color:#dfe5f5}.cn-seo-cta-row{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;margin:1.6rem 0 .4rem}.cn-seo-cta{display:inline-block;padding:.7rem 1.3rem;border-radius:999px;font-weight:700;text-decoration:none;color:#fff;background:linear-gradient(135deg,#7c3aed,#2563eb);box-shadow:0 12px 30px -12px #6366f1e6}.cn-seo-cta:hover{color:#fff;background:linear-gradient(135deg,#8b5cf6,#3b82f6)}.cn-seo-cta-note{color:var(--muted);font-size:.85rem}.cn-seo-steps li{margin:.7rem 0}.cn-seo-footer{margin-top:3rem;padding-top:1.4rem;border-top:1px solid var(--border);color:var(--muted);font-size:.85rem}
