:root{font-family:Inter,Noto Sans SC,Microsoft YaHei,sans-serif;color:#20242c;background:#f5f7fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--panel: #ffffff;--ink: #20242c;--muted: #647083;--line: #dbe1ea;--soft: #eef3f8;--accent: #2563eb;--accent-2: #c0395a;--good: #16814a;--bad: #bf2b2b;--warn: #9b6b00;--shadow: 0 14px 38px rgba(31, 42, 68, .09)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}button{min-height:42px;border:0;border-radius:8px;padding:.62rem .9rem;background:#2563eb;color:#fff;font-weight:800;cursor:pointer}button:nth-of-type(2n),.topbar-actions button{background:#eef3f8;color:#20242c}button:disabled{cursor:not-allowed;opacity:.52}input,textarea,select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:.62rem .72rem}textarea{min-height:112px;resize:vertical}label{display:grid;gap:7px;color:var(--muted);font-size:.9rem;font-weight:800}h1,h2,h3,p{margin:0}.app-shell{width:min(1480px,100%);margin:0 auto;padding:24px}.home-shell{min-height:100vh;display:grid;place-items:center}.home-hero{width:min(980px,100%);min-height:520px;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,400px);align-items:center;gap:28px;border:1px solid rgba(32,36,44,.08);border-radius:8px;padding:44px;background:linear-gradient(#ffffffd6,#ffffffd6),url(https://images.unsplash.com/photo-1518005020951-eccb494ad742?auto=format&fit=crop&w=1600&q=80) center/cover;box-shadow:var(--shadow)}.hero-copy{display:grid;gap:16px}.hero-copy p{color:var(--accent-2);font-weight:900}.hero-copy h1{font-size:clamp(2.5rem,6vw,4.8rem);line-height:1;letter-spacing:0}.hero-copy span{max-width:36rem;color:var(--muted);font-size:1.08rem;font-weight:700}.home-form,.panel,.topbar{border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.home-form{display:grid;gap:16px;padding:22px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:16px 18px}.topbar h1{font-size:1.8rem}.topbar p{margin-top:4px;color:var(--muted);font-weight:700}.topbar-actions,.button-row,.inline-action,.panel-head,.round-meta,.segmented{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.topbar-actions{justify-content:flex-end}.topbar-actions span{color:var(--muted);font-weight:800}.grid{display:grid;gap:18px}.lobby-grid{grid-template-columns:minmax(300px,.85fr) minmax(320px,1fr)}.game-grid{grid-template-columns:minmax(320px,.9fr) minmax(360px,1fr)}.panel{min-width:0;display:grid;align-content:start;gap:14px;padding:18px}.wide{grid-column:1 / -1}.panel-head{justify-content:space-between}.panel h2{font-size:1.22rem;letter-spacing:0}.form-grid,.llm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.llm-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:4px}.secret-note,.empty-note{border:1px dashed var(--line);border-radius:8px;padding:12px;background:var(--soft);color:var(--muted);font-weight:800}.player-list,.case-list,.submission-list,.chat-list,.pool-editor,.import-box{display:grid;gap:10px}.case-list.compact{gap:16px}.player-row,.history-row,.submission-row,.chat-row,.case-card,.current-case{min-width:0;border:1px solid var(--line);border-radius:8px;background:#fbfcff;padding:12px}.player-row,.chat-row{display:flex;justify-content:space-between;gap:10px}.player-row span,.chat-row span{color:var(--muted);font-weight:700}.current-case{display:grid;gap:8px;border-color:#2563eb42;background:#f4f7ff}.current-case span{color:var(--accent);font-weight:900}.case-card{display:grid;gap:10px}.case-card-head{display:flex;justify-content:space-between;gap:10px}.case-card p,.history-row small,.surface,.god-view p,.submission-row p{word-break:break-word}.case-card small,.history-row span,.history-row small{color:var(--muted);font-weight:700}.history-row{width:100%;display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;align-items:center;color:var(--ink);text-align:left;background:#fbfcff;padding:14px;min-height:0}.history-row:hover:not(:disabled){border-color:#2563eb73;background:#f4f7ff}.history-body{min-width:0;display:grid;gap:8px;color:var(--ink)}.history-body>strong{color:var(--ink)}.history-title-line{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.history-body>strong{min-width:0;display:block;line-height:1.35;white-space:normal;word-break:break-word}.history-title-line span{color:var(--muted);font-weight:800;white-space:nowrap}.history-row small{line-height:1.45;display:block;max-height:1.5em;overflow:hidden;color:var(--muted);font-weight:700}.history-index{display:grid;place-items:center;width:54px;height:54px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--accent);font-weight:900}.compact{max-height:460px;overflow:auto}.badge{flex:0 0 auto;border-radius:999px;padding:.2rem .55rem;color:#fff;font-size:.78rem;font-weight:900}.badge-ready{background:var(--good)}.badge-generating,.badge-pending{background:var(--warn)}.badge-failed{background:var(--bad)}.segmented{width:fit-content;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}.segmented label{position:relative;min-height:34px;display:grid;place-items:center;padding:0 .8rem;border-radius:6px;color:var(--muted);cursor:pointer}.segmented input{position:absolute;opacity:0}.segmented .active{background:#fff;color:var(--accent)}.soup-panel{gap:16px}.surface{border-left:4px solid var(--accent-2);padding:12px 14px;background:#fff6f8;font-size:1.22rem;font-weight:900;line-height:1.7}.round-meta span{border:1px solid var(--line);border-radius:8px;padding:.45rem .65rem;background:#fff;color:var(--muted);font-weight:900}.action-box{gap:12px}.inline-action{align-items:stretch;flex-wrap:nowrap}.inline-action input{min-width:0}.inline-action button{flex:0 0 auto}.submission-row{display:grid;grid-template-columns:120px 82px minmax(0,1fr) 72px;align-items:center;gap:10px;border-left-width:5px}.submission-row.latest{border-color:#c0395a61;background:#fff7fa}.submission-row span,.submission-row em{color:var(--muted);font-style:normal;font-weight:800}.submission-row.answer-yes{border-left-color:#159947;background:#f1fbf5}.submission-row.answer-no{border-left-color:#d12b2b;background:#fff3f3}.submission-row.answer-irrelevant{border-left-color:#8a94a6;background:#f5f7fa}.submission-row.answer-need-name{border-left-color:#b7791f;background:#fff9e8}.submission-row.answer-pending{border-left-color:#d8a500}.submission-row.answer-yes em{color:#137a3b}.submission-row.answer-no em{color:#b51d1d}.submission-row.answer-irrelevant em{color:#596579}.submission-row.answer-need-name em{color:#9a5b00}.result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.result-column{display:grid;align-content:start;gap:10px;min-width:0;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fbfcff}.result-column:nth-child(1){border-color:#15994759;background:#f4fcf7}.result-column:nth-child(2){border-color:#d12b2b59;background:#fff5f5}.result-column:nth-child(3){border-color:#59657947;background:#f7f9fc}.result-column:nth-child(4){border-color:#b7791f59;background:#fffaf0}.round-result-stack{display:grid;gap:12px;margin-top:10px}.pending-title{margin-bottom:8px;color:var(--muted);font-size:.95rem}.chat-panel{min-height:360px}.chat-list{max-height:280px;overflow:auto;align-content:start}.god-view{display:grid;gap:10px;border:1px solid #e2c56d;border-radius:8px;padding:14px;background:#fff9e8}.hint-tags{display:flex;gap:8px;flex-wrap:wrap}.hint-tags span{border:1px solid #e2c56d;border-radius:999px;padding:.28rem .6rem;background:#fff;color:#7a5600;font-weight:800}details{border:1px solid var(--line);border-radius:8px;padding:10px;background:#fbfcff}summary{cursor:pointer;color:var(--muted);font-weight:900}.error-banner{border:1px solid #f0a6a6;border-radius:8px;margin-bottom:14px;padding:12px 14px;background:#fff1f1;color:var(--bad);font-weight:800}@media(max-width:980px){.home-hero,.lobby-grid,.game-grid,.form-grid,.llm-grid,.result-grid{grid-template-columns:1fr}.home-hero{min-height:auto;padding:24px}.topbar,.topbar-actions,.button-row,.inline-action{align-items:stretch;flex-direction:column}.submission-row{grid-template-columns:1fr}}@media(max-width:560px){.app-shell{padding:14px}.hero-copy h1{font-size:2.25rem}.panel,.home-form{padding:14px}}
