:root{--bg:#0c0a12;--bg-soft:#14111d;--card:#1a1526;--card-hover:#221b33;--line:#2c2440;--text:#e8e2f2;--text-dim:#b3a9cf;--text-faint:#8d82ab;--accent:#c9a86a;--accent-bright:#e3c78e;--accent-soft:#c9a86a24;--yes:#4cc38a;--no:#e5484d;--partial:#d29a3f;--irr:#6d6488;font-family:Noto Serif SC,Songti SC,STSong,serif}*{box-sizing:border-box}body{background:radial-gradient(ellipse 80% 50% at 50% -10%, #785ac826, transparent), var(--bg);min-height:100vh;color:var(--text);margin:0;font-size:16px;line-height:1.7}#app{min-height:100vh}a{color:var(--accent);text-decoration:none}h1,h2,h3{margin:0;font-weight:600}.home{max-width:980px;margin:0 auto;padding:64px 20px 80px}.hero{text-align:center;margin-bottom:48px}.hero h1{letter-spacing:.3em;text-indent:.3em;background:linear-gradient(180deg, #f0e8d8, var(--accent));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:56px}.tagline{color:var(--text-dim);margin-top:12px}.gen-card{border:1px solid var(--line);background:linear-gradient(180deg, var(--card), var(--bg-soft));border-radius:14px;margin-bottom:48px;padding:20px 24px}.gen-title{color:var(--text-dim);font-size:14px}.gen-controls{flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;display:flex}.riddles h2{margin-bottom:16px;font-size:20px}.loading{color:var(--text-faint);text-align:center;padding:40px 0}.riddle-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.riddle-card{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:12px;flex-direction:column;gap:10px;padding:18px;transition:border-color .2s,background .2s,transform .15s;display:flex}.riddle-card:hover,.riddle-card:focus-visible{border-color:var(--accent);background:var(--card-hover);outline:none;transform:translateY(-2px)}.card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.riddle-card h3{font-size:17px}.surface{color:var(--text-dim);-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;margin:0;font-size:14px;display:-webkit-box;overflow:hidden}.card-foot{color:var(--text-faint);font-size:12px}.badge{border:1px solid var(--line);color:var(--text-dim);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:12px}.badge.easy{color:var(--yes);border-color:var(--yes)}.badge.medium{color:var(--partial);border-color:var(--partial)}.badge.hard{color:var(--no);border-color:var(--no)}.game{flex-direction:column;gap:16px;max-width:760px;min-height:100vh;margin:0 auto;padding:28px 16px 60px;display:flex}.game-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.back{color:var(--text-faint);font-size:14px}.meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.meta .title{font-size:18px}.counter{color:var(--text-faint);font-size:13px}.surface-card{border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--card);border-radius:10px;padding:18px 22px}.surface-card h2{color:var(--accent-bright);letter-spacing:.2em;margin-bottom:8px;font-size:13px}.surface-card p{margin:0;font-size:17px}.chat{flex-direction:column;flex:1;gap:14px;min-height:200px;padding:8px 4px;display:flex;overflow-y:auto}.chat-empty{color:var(--text-faint);text-align:center;margin:auto}.chat-item .q{justify-content:flex-end;gap:10px;display:flex}.chat-item .q p{background:var(--accent-soft);border:1px solid #c9a86a4d;border-radius:12px 12px 2px;max-width:78%;margin:0;padding:8px 14px}.chat-item .a{gap:10px;display:flex}.chat-item .a p{background:var(--bg-soft);border:1px solid var(--line);border-radius:12px 12px 12px 2px;max-width:78%;margin:0;padding:8px 14px}.who{color:var(--text-faint);white-space:nowrap;padding-top:8px;font-size:12px}.who.host{color:var(--accent)}.verdict{border-radius:999px;margin-right:8px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.verdict.yes{color:var(--yes);border:1px solid var(--yes)}.verdict.no{color:var(--no);border:1px solid var(--no)}.verdict.partial{color:var(--partial);border:1px solid var(--partial)}.verdict.irr{color:var(--irr);border:1px solid var(--irr)}.hint-line{color:var(--accent);background:var(--accent-soft);border-radius:8px;margin:0;padding:8px 14px}.dots{align-items:center;gap:4px;display:inline-flex}.dots i{background:var(--text-faint);border-radius:50%;width:5px;height:5px;animation:1.2s infinite blink}.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.2}40%{opacity:1}}.composer{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding-top:14px;display:flex}.composer-row{gap:10px;display:flex}.composer-row input{background:var(--bg-soft);border:1px solid var(--line);color:var(--text);border-radius:10px;flex:1;padding:10px 14px;font-family:inherit;font-size:15px}.composer-row input:focus{border-color:var(--accent);outline:none}.composer-actions{flex-wrap:wrap;gap:8px;display:flex}.btn{border:1px solid var(--line);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:10px;padding:8px 16px;font-family:inherit;font-size:14px;transition:all .15s}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#1a1408;font-weight:600}.btn.primary:hover:not(:disabled){filter:brightness(1.1)}.btn.ghost:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.btn.danger:hover:not(:disabled){border-color:var(--no);color:var(--no)}select{background:var(--bg-soft);border:1px solid var(--line);color:var(--text-dim);border-radius:8px;padding:8px 10px;font-family:inherit}.guess-box{flex-direction:column;gap:10px;display:flex}.guess-box textarea{background:var(--bg-soft);border:1px solid var(--line);color:var(--text);resize:vertical;border-radius:10px;padding:10px 14px;font-family:inherit;font-size:15px}.guess-box textarea:focus{border-color:var(--accent);outline:none}.guess-box .btn{align-self:flex-end}.error{color:var(--no);margin:0;font-size:14px}.error-page{text-align:center;color:var(--no);padding:80px 20px}.reveal{flex-direction:column;gap:16px;display:flex}.reveal-card{border:1px solid var(--line);background:var(--card);border-radius:12px;flex-direction:column;gap:8px;padding:18px 22px;display:flex}.reveal-tag{letter-spacing:.15em;color:var(--text-dim);margin:0;font-size:14px;font-weight:600}.reveal-tag.correct{color:var(--yes)}.reveal-tag.wrong{color:var(--no)}.reveal-tag.revealed{color:var(--partial)}.reveal-title{color:var(--accent-bright);letter-spacing:.2em;margin:0;font-size:13px}.truth{margin:0;font-size:17px}.feedback{color:var(--text-dim);border-top:1px dashed var(--line);margin:4px 0 0;padding-top:10px;font-size:15px}.reveal h3{color:var(--text-dim);letter-spacing:.15em;font-size:14px}.keypoints{color:var(--text-dim);flex-direction:column;gap:8px;margin:0;padding-left:20px;line-height:1.8;display:flex}.reveal-actions{justify-content:center;padding-top:8px;display:flex}.reveal-actions .btn{padding:10px 28px;font-size:15px}.mode-row{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:48px;display:grid}.mode-card{border:1px solid var(--line);background:linear-gradient(180deg, var(--card), var(--bg-soft));border-radius:14px;flex-direction:column;gap:8px;padding:22px 24px;display:flex}.mode-card h3{font-size:18px}.mode-card p{color:var(--text-dim);flex:1;margin:0;font-size:14px}.mode-actions{flex-wrap:wrap;gap:10px;display:flex}.room-head{text-align:center;flex-direction:column;align-items:center;gap:8px;margin-bottom:32px;display:flex}.room-head .back{color:var(--text-faint);font-size:14px}.room-head h1{letter-spacing:.15em;font-size:32px}.subtitle{color:var(--text-dim);margin:0}.room-create,.room-join{max-width:640px;margin:0 auto;padding:48px 20px 80px}.panel{border:1px solid var(--line);background:var(--card);border-radius:14px;flex-direction:column;gap:12px;margin-bottom:20px;padding:20px 24px;display:flex}.panel h2{color:var(--accent-bright);letter-spacing:.1em;font-size:15px}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ai-opt{gap:8px;display:flex}.nick-input,.code-input{background:var(--bg-soft);border:1px solid var(--line);color:var(--text);border-radius:10px;width:100%;padding:10px 14px;font-family:inherit;font-size:15px}.code-input{letter-spacing:.4em;text-align:center;text-transform:uppercase;font-family:SF Mono,Menlo,monospace;font-size:22px}.nick-input:focus,.code-input:focus{border-color:var(--accent);outline:none}.field-label{color:var(--text-faint);font-size:13px}.btn.wide{width:100%;padding:12px;font-size:15px}.riddle-list{flex-direction:column;gap:8px;max-height:380px;display:flex;overflow-y:auto}.riddle-row{text-align:left;background:var(--bg-soft);border:1px solid var(--line);color:var(--text);cursor:pointer;border-radius:10px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:12px 16px;font-family:inherit;font-size:15px;transition:border-color .15s,background .15s;display:grid}.riddle-row:hover:not(:disabled){border-color:var(--accent);background:var(--card-hover)}.riddle-row:disabled{opacity:.5;cursor:wait}.row-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row-theme{color:var(--text-faint);font-size:13px}.room{flex-direction:column;gap:14px;max-width:760px;min-height:100vh;margin:0 auto;padding:20px 16px 60px;display:flex}.room-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.room-code-box{flex-direction:column;align-items:center;display:flex}.room-code-label{color:var(--text-faint);letter-spacing:.2em;font-size:11px}.room-code{letter-spacing:.3em;color:var(--accent-bright);font-family:SF Mono,Menlo,monospace;font-size:26px}.status-pill{border:1px solid var(--line);color:var(--text-dim);border-radius:999px;padding:3px 12px;font-size:12px}.status-pill.online{color:var(--yes);border-color:var(--yes)}.status-pill.offline{color:var(--no);border-color:var(--no)}.connecting-page{flex-direction:column;align-items:center;gap:14px;padding:80px 0;display:flex}.fatal{color:var(--no);font-size:17px}.fatal-actions{gap:12px;display:flex}.players-bar{flex-wrap:wrap;gap:8px;display:flex}.player-chip{border:1px solid var(--line);color:var(--text-dim);background:var(--bg-soft);border-radius:999px;padding:3px 12px;font-size:13px}.player-chip.me{border-color:var(--accent);color:var(--accent-bright)}.player-chip.offline{opacity:.45;text-decoration:line-through}.host-truth{border-top:1px dashed var(--line);color:var(--text-dim);margin-top:10px;padding-top:10px;font-size:14px}.host-truth-tag{color:var(--accent);letter-spacing:.15em;margin-bottom:4px;font-size:11px;display:block}.host-composer .verdict-select{width:auto}.suggestion-card{border:1px solid var(--accent);background:var(--accent-soft);border-radius:10px;flex-direction:column;gap:8px;padding:12px 16px;display:flex}.sug-label{color:var(--accent-bright);letter-spacing:.1em;margin:0;font-size:12px}.sug-body{margin:0}.sug-actions{gap:8px;display:flex}.review-page{flex-direction:column;gap:16px;max-width:720px;margin:0 auto;padding:48px 20px 80px;display:flex}.review-card{border:1px solid var(--line);background:var(--card);border-radius:14px;flex-direction:column;gap:12px;padding:20px 24px;transition:border-color .2s,opacity .3s;display:flex}.review-card.approved{border-color:var(--yes);opacity:.7}.review-card.rejected{border-color:var(--no);opacity:.5}.review-card .card-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.card-head h3{font-size:17px}.review-section{border-left:2px solid var(--line);flex-direction:column;gap:4px;padding-left:14px;display:flex}.sec-label{color:var(--accent-bright);letter-spacing:.15em;margin:0;font-size:12px}.review-section p:not(.sec-label),.review-section li{color:var(--text-dim);margin:0;font-size:15px;line-height:1.7}.review-section ul{margin:0;padding-left:18px}.review-actions{align-items:center;gap:10px;display:flex}.acted-tag{color:var(--text-faint);font-size:14px}@media (width<=600px){.hero h1{font-size:40px}.home{padding-top:40px}.chat-item .q p,.chat-item .a p{max-width:88%}.mode-row{grid-template-columns:1fr}.game{min-height:100dvh;padding:14px 12px 32px}.composer-row input,.guess-box textarea,select,.meta .title,.surface-card p{font-size:16px}.gen-card,.review-card{padding:16px}}
