:root{--bg:#14151c;--panel:#1d1f2a;--panel-2:#262938;--line:#34384b;--text:#ecedf3;--muted:#9a9fb5;--accent:#ffb547;--accent-ink:#2a1c00;--good:#5fd39a;--bad:#ff7a7a;--ai:#9d8cff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0;font:15px/1.55 system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif}h1,h2,h3,p{margin:0}h1{font-size:24px}h2{font-size:19px}h3{color:var(--muted);letter-spacing:.04em;font-size:13px;font-weight:600}button,input{font:inherit;color:inherit}button{white-space:nowrap;background:var(--panel-2);border:1px solid var(--line);cursor:pointer;border-radius:8px;flex:none;padding:7px 14px}button:hover:not(:disabled){border-color:var(--muted)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}input{background:var(--bg);border:1px solid var(--line);border-radius:8px;width:100%;min-width:0;padding:8px 10px}input:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.muted{color:var(--muted)}.error{color:var(--bad)}.spacer{flex:1}.tag{background:var(--panel-2);color:var(--muted);white-space:nowrap;border-radius:999px;margin-left:6px;padding:1px 8px;font-size:12px;display:inline-block}.tag.warn{color:var(--bad)}.tag.timer{color:var(--accent);font-variant-numeric:tabular-nums}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px}.center-page{place-items:center;min-height:100%;padding:16px;display:grid}.form{flex-direction:column;gap:14px;width:min(420px,100%);display:flex}.form label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.room{grid-template:"bar bar""main side"minmax(0,1fr)/minmax(0,1fr) 340px;height:100%;display:grid}.room-bar{border-bottom:1px solid var(--line);background:var(--panel);grid-area:bar;align-items:center;gap:8px;padding:10px 16px;display:flex}.main-panel{flex-direction:column;grid-area:main;gap:16px;padding:24px;display:flex;overflow-y:auto}.side-panel{border-left:1px solid var(--line);background:var(--panel);flex-direction:column;grid-area:side;min-height:0;display:flex}@media (width<=760px){.room{grid-template:"bar""main""side"/minmax(0,1fr);height:auto}.side-panel{border-left:0;border-top:1px solid var(--line);height:70vh}.main-panel{padding:16px}}.banner{text-align:left;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.banner.error{background:#3a2024;border-color:#6b3037;width:100%}.banner.pause{background:#33301f;border:1px solid #6a5a22;flex-wrap:wrap}.lobby{flex-direction:column;gap:16px;width:100%;max-width:760px;margin:0 auto;display:flex}.lobby-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.invite,.suggestion{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.suggestion{border-color:var(--ai)}.game-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.game-card{flex-direction:column;gap:10px;display:flex}.game-card details{color:var(--muted);font-size:13px}.game-card summary{cursor:pointer}.host-row{flex-wrap:wrap;gap:8px;display:flex}.game{flex-direction:column;gap:18px;width:100%;max-width:640px;margin:0 auto;display:flex}.game-head{justify-content:space-between;display:flex}.game-head .tag{margin:0}.question{font-size:26px;line-height:1.35}.answer-row{gap:8px;display:flex}.answer-row input{font-size:18px}.notice{background:var(--panel);border-radius:10px;padding:12px 14px}.chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.chip{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:3px 12px}.chip.done{border-color:var(--good);color:var(--good)}.answer{font-size:20px}.answer strong{color:var(--accent);font-size:28px}.results{border-collapse:collapse;width:100%}.results td{border-bottom:1px solid var(--line);padding:8px 10px}.results td:last-child{text-align:right;color:var(--good);font-weight:600}.results tr.win td:first-child{color:var(--accent);font-weight:600}.scoreboard{border-bottom:1px solid var(--line);padding:14px 16px}.scoreboard ul{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.scoreboard li{align-items:center;gap:8px;display:flex}.scoreboard li.offline{opacity:.55}.scoreboard .nick{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.scoreboard strong{font-variant-numeric:tabular-nums}.dot{background:var(--line);border-radius:50%;flex:none;width:8px;height:8px}.dot.on{background:var(--good)}.chat{flex-direction:column;flex:1;min-height:0;display:flex}.ai-status{color:var(--muted);border-bottom:1px solid var(--line);padding:6px 16px;font-size:12px}.ai-status.idle,.ai-status.thinking{color:var(--ai)}.chat-list{flex-direction:column;flex:1;gap:8px;padding:12px 16px;display:flex;overflow-y:auto}.msg{overflow-wrap:anywhere}.msg .who{color:var(--muted);margin-right:8px;font-size:13px}.msg.agent .who{color:var(--ai)}.msg.agent .text{color:#d8d2ff}.msg.system{color:var(--muted);text-align:center;font-size:13px}.chat>.error{padding:0 16px;font-size:13px}.chat-input{border-top:1px solid var(--line);gap:8px;padding:12px 16px;display:flex}.scale{padding:44px 8px 0}.scale-track{background:linear-gradient(90deg,#4a7dff,#8a8fa8 50%,#ff8a4a);border-radius:999px;height:18px;position:relative}.scale-marker{background:var(--text);border-radius:2px;width:4px;height:34px;margin-left:-2px;position:absolute;top:-8px}.scale-marker.target{background:var(--accent);z-index:1;width:6px;margin-left:-3px}.scale-marker.mine{background:#fff}.scale-marker-label{white-space:nowrap;color:var(--muted);font-size:12px;position:absolute;bottom:38px;left:50%;transform:translate(-50%)}.scale-marker.target .scale-marker-label{color:var(--accent);font-weight:600}.scale-marker.guess:nth-child(2n) .scale-marker-label{top:38px;bottom:auto}.scale-poles{justify-content:space-between;margin-top:26px;font-size:18px;font-weight:600;display:flex}.clue{font-size:20px}.clue strong{color:var(--accent);font-size:26px}.guess-row{align-items:center;gap:12px;display:flex}.guess-row input[type=range]{accent-color:var(--accent);flex:1;padding:0}.word-card{background:var(--panel);white-space:normal;text-align:left;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:14px 18px;display:flex}.word-card .muted{font-size:12px}.word-card strong{color:var(--accent);letter-spacing:.05em;font-size:30px}.chip.out{opacity:.5;text-decoration:line-through}.chip.undercover{border-color:var(--bad);color:var(--bad)}.describe-list,.vote-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.describe-list li{border:1px solid var(--line);background:var(--panel);border-radius:10px;align-items:center;gap:12px;padding:10px 14px;display:flex}.describe-list li.picked{border-color:var(--accent)}.describe-list .who{color:var(--muted);min-width:4em}.describe-list .text{overflow-wrap:anywhere;flex:1;font-size:17px}.game .card{flex-direction:column;gap:10px;display:flex}.history{color:var(--muted)}.history ul{color:var(--text);margin:4px 0 10px;padding-left:18px}.history summary{cursor:pointer}.game-toolbar{border-top:1px dashed var(--line);width:100%;max-width:640px;color:var(--muted);flex-wrap:wrap;align-items:flex-start;gap:16px;margin:0 auto;padding-top:12px;font-size:13px;display:flex}.game-toolbar button{padding:4px 10px;font-size:13px}.game-toolbar summary{cursor:pointer;padding:5px 0}.game-toolbar details[open] summary{margin-bottom:6px}button.link{color:var(--bad);background:0 0;border:0;padding:0 0 0 8px;font-size:12px}.options{flex-direction:column;gap:8px;margin-top:8px;display:flex}.options label{justify-content:space-between;align-items:center;gap:12px;display:flex}.options input{width:90px;padding:4px 8px}.small{font-size:13px}.big{color:var(--accent);font-size:26px}.plus{color:var(--good)}.tag.timer.urgent{color:var(--bad)}.pick-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.pick{white-space:normal;overflow-wrap:anywhere;padding:14px;font-size:17px}.pick.picked{border-color:var(--accent);color:var(--accent)}.describe-list li.wrong{border-color:var(--bad)}.chip.turn{border-color:var(--accent);color:var(--accent);font-weight:600}.scale-line{color:var(--muted);justify-content:space-between;display:flex}.word-card.static{cursor:default;border:1px solid var(--line)}.clue-chips .chip{padding:6px 14px;font-size:18px}.word-log{border:1px solid var(--line);background:var(--panel);border-radius:10px;flex-direction:column;gap:6px;max-height:260px;padding:10px 14px;display:flex;overflow-y:auto}.word .who{color:var(--muted);margin-right:10px;font-size:13px}.word .text{font-size:17px}.word.invalid .text{color:var(--bad);text-decoration:line-through}.game.wide{max-width:760px}.card-rows{flex-direction:column;gap:8px;display:flex}.card-row,.hand{flex-wrap:wrap;gap:8px;display:flex}.card-face{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:2px;width:58px;height:78px;padding:0;display:flex}.card-face strong{font-size:22px}.card-face span{letter-spacing:1px;color:var(--muted);font-size:9px}.card-face.p2{border-color:#5b8def}.card-face.p3{border-color:var(--accent)}.card-face.p5{border-color:var(--bad)}.card-face.p5 span{color:var(--bad)}.card-face.empty{background:0 0;border-style:dashed}.card-face.danger{color:#6b3037;background:0 0;border-style:dashed;border-color:#6b3037}.card-face.selected{outline:2px solid var(--accent);transform:translateY(-6px)}button.card-face:hover:not(:disabled){transform:translateY(-4px)}.canvas{border-color:var(--ai);flex-direction:column;gap:12px;width:100%;max-width:760px;margin:0 auto;display:flex}.canvas.confirm{border-color:var(--accent)}.canvas-queued{width:100%;max-width:760px;margin:0 auto}.topic-picker{flex-direction:column;gap:12px;display:flex}.scale-card{font-size:18px}.soup-solution{border-color:var(--accent)}button.link.ok{color:var(--good)}.card-face.suit-red strong{color:#ff7a7a}.card-face.suit-blue strong{color:#6ea8ff}.card-face.suit-green strong{color:#5fd39a}.card-face.suit-yellow strong{color:#ffd257}.card-face.suit-trump{border-color:var(--ai)}.card-face.suit-trump strong{color:var(--ai)}.card-face.dim{opacity:.35}.offer{align-items:center;gap:20px;display:flex}.card-face.big-card{width:96px;height:128px}.card-face.big-card strong{font-size:40px}.results tr.turn-row td:first-child{color:var(--accent);font-weight:600}.results tr.out-row td{opacity:.45;text-decoration:line-through}.stack{letter-spacing:2px;font-size:20px}.card-face.duel-card{width:72px}.card-face.duel-card span{color:var(--text);letter-spacing:0;font-size:12px}.team-bar{grid-template-columns:1fr 1fr;gap:10px;display:grid}.team{border:1px solid var(--line);background:var(--panel);border-radius:10px;flex-direction:column;padding:8px 12px;font-size:13px;display:flex}.team-0{border-left:4px solid #ff7a7a}.team-1{border-left:4px solid #6ea8ff}.team.active{background:var(--panel-2);box-shadow:0 0 0 1px var(--accent)}.big-clue{color:var(--accent);margin:0 4px;font-size:22px}.word-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.grid-word{border:2px solid var(--line);background:var(--panel);padding:14px 4px;font-size:16px}.grid-word:disabled{opacity:1;cursor:default}.grid-word.owner-0{border-color:#ff7a7a}.grid-word.owner-1{border-color:#6ea8ff}.grid-word.owner-neutral{border-color:var(--muted)}.grid-word.owner-trap{color:#fff;background:#000;border-color:#fff}.grid-word.revealed{opacity:.45}.grid-word.revealed.owner-0{background:#7a2f2f}.grid-word.revealed.owner-1{background:#2b4a7a}.grid-word.revealed.owner-neutral{background:var(--panel-2)}.keywords{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:8px 12px}.keywords ol{flex-wrap:wrap;gap:24px;margin:4px 0 0;padding-left:20px;font-size:17px;display:flex}.taboo-card h2{color:var(--accent);margin:0;font-size:30px}.frame{align-items:baseline;gap:10px;display:flex}.frame>.muted{min-width:9em}.frame-words{flex-wrap:wrap;gap:6px;display:flex}.frame-words button{padding:4px 10px}.clover-ring,.clover-step{flex-direction:column;gap:4px;display:flex}.clover-slot{border-style:dashed;padding:12px;font-size:16px}.clover-slot.locked{border-style:solid;border-color:var(--good);opacity:1}.clover-clue{color:var(--accent);padding-left:16px}.answer-row .pair{min-width:9em}.poll-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}.poll-option{justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;font-size:16px;display:flex}.poll-option.hit{border-color:var(--good);opacity:1}.poll-option.miss{border-color:var(--bad);text-decoration:line-through}.poll-option.mine{box-shadow:inset 0 0 0 1px var(--accent)}
