:root{font-family:Avenir Next,Segoe UI,sans-serif;color:#1f241a;background:radial-gradient(circle at top left,rgba(245,187,92,.26),transparent 32%),radial-gradient(circle at top right,rgba(128,158,95,.2),transparent 28%),linear-gradient(180deg,#f6efde 0%,#ece0c3 100%);line-height:1.5;font-weight:400;--panel-bg: rgba(255, 251, 241, .82);--panel-border: rgba(81, 79, 49, .14);--panel-shadow: 0 18px 60px rgba(62, 48, 25, .12);--accent: #264a32;--accent-strong: #193323;--muted: #6e6a54;--warning: #8d2c2c}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.lobby-shell,.game-shell{min-height:100vh;padding:24px}.hero-card,.panel,.status-bar{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:24px;box-shadow:var(--panel-shadow);backdrop-filter:blur(8px)}.hero-card{max-width:760px;margin:40px auto;padding:32px}.room-summary{margin-top:24px;padding-top:24px;border-top:1px solid rgba(57,60,40,.12)}.room-summary h2{margin:0 0 8px;font-family:Georgia,Times New Roman,serif}.eyebrow{margin:0 0 12px;color:var(--accent);font-size:.8rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.hero-card h1,.status-bar h1,.panel h2,.action-card h3{margin:0;font-family:Georgia,Times New Roman,serif}.hero-copy,.status-copy,.muted{color:var(--muted)}.join-form,.stack,.column,.log-list{display:flex;flex-direction:column;gap:16px}.admin-actions{display:flex;gap:10px;flex-wrap:wrap}.log-list{max-height:34rem;overflow-y:auto;padding-right:6px}.event-pane-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.speech-pane-stack{display:flex;flex-direction:column;gap:20px}.speech-entry{border:1px solid rgba(59,63,41,.08);border-radius:18px;padding:14px;background:rgba(255,255,255,.55)}.speech-entry-summary{margin:0 0 12px;color:var(--muted)}.speech-entry-current{border-color:#264a3238;background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(249,243,222,.9)),rgba(255,255,255,.55)}.speech-entry-raw-text{margin:0 0 12px;white-space:pre-wrap}.speech-display-toggle{color:var(--muted);font-size:.9rem}.critical-round-list{gap:10px}.critical-round-card{border:1px solid rgba(59,63,41,.08);border-radius:16px;padding:12px;background:rgba(255,255,255,.6)}.critical-round-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.critical-round-header h3{margin:0;font-size:1rem}.critical-round-count{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.critical-event-list{display:flex;flex-direction:column;gap:6px}.critical-event-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.72)}.critical-event-tags{display:flex;gap:6px;flex-wrap:wrap}.critical-event-tag{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;background:rgba(245,187,92,.18);color:var(--accent-strong);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.critical-event-tag-scope{background:rgba(38,74,50,.08)}.critical-event-summary{margin:0}.discussion-history-panel .log-list{max-height:34rem}.utterance-segment-list{display:flex;flex-direction:column;gap:10px}.utterance-segment{border:1px solid rgba(59,63,41,.08);border-radius:16px;padding:12px;background:rgba(255,255,255,.72)}.utterance-segment-meta,.utterance-chip-row{display:flex;gap:8px;flex-wrap:wrap}.utterance-segment-meta{margin-bottom:8px}.utterance-badge,.utterance-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 10px;font-size:.8rem}.utterance-badge{background:rgba(38,74,50,.08);color:var(--accent-strong)}.utterance-badge-type{background:rgba(245,187,92,.18)}.utterance-summary{margin:0 0 10px}.utterance-chip{background:rgba(31,36,26,.06);color:#2e3426}.utterance-chip-key{font-family:SFMono-Regular,Consolas,monospace;color:var(--muted)}.utterance-raw{margin-top:10px}.utterance-raw summary{cursor:pointer;color:var(--muted);font-size:.9rem}.speech-builder{display:flex;flex-direction:column;gap:14px;margin-bottom:16px}.builder-card{border:1px solid rgba(59,63,41,.08);border-radius:18px;padding:14px;background:rgba(255,255,255,.55)}.builder-card h3{margin:0 0 10px}.builder-card-collapsible{padding:0;overflow:hidden}.builder-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;cursor:pointer;list-style:none}.builder-summary::-webkit-details-marker{display:none}.builder-summary h3{margin:0}.builder-summary-state{color:var(--muted);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.builder-body{padding:0 14px 14px}.builder-row,.builder-grid{display:grid;gap:10px}.builder-row{grid-template-columns:minmax(0,1fr) auto}.builder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:8px}.field input,.field select,.field textarea{width:100%;border:1px solid rgba(64,79,52,.18);border-radius:14px;background:rgba(255,255,255,.72);padding:12px 14px;color:#1d2419}.checkbox-field label{display:flex;align-items:center;gap:10px;color:#1d2419}.checkbox-field input{width:auto}.primary-button,.ghost-button{border-radius:999px;padding:11px 18px;border:none;transition:transform .16s ease,background .16s ease}.primary-button{background:linear-gradient(135deg,var(--accent),#496a3b);color:#f7f2e4}.ghost-button{background:rgba(38,74,50,.08);color:var(--accent-strong)}.primary-button:hover,.ghost-button:hover{transform:translateY(-1px)}.primary-button:disabled,.ghost-button:disabled{cursor:not-allowed;transform:none;opacity:.5}.primary-button:disabled{background:#9aa397;color:#f3efe5}.ghost-button:disabled{background:rgba(89,98,84,.14);color:#1933238c}.status-bar{display:grid;gap:12px;grid-template-columns:1fr auto;padding:22px 24px;margin-bottom:24px}.status-actions{display:flex;align-items:start;gap:12px;flex-wrap:wrap}.mode-switch{display:inline-flex;padding:4px;border-radius:999px;background:rgba(38,74,50,.08)}.mode-switch-button{border:none;border-radius:999px;padding:8px 14px;background:transparent;color:var(--accent-strong);font-weight:700}.mode-switch-button-active{background:rgba(255,255,255,.82);box-shadow:0 6px 18px #3e30191a}.status-bar h1{font-size:clamp(2rem,3vw,2.8rem);line-height:1.05}.status-notice{grid-column:1 / -1;margin:0;color:var(--muted)}.status-progress{grid-column:1 / -1;display:grid;gap:14px;padding:16px 18px 18px;border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.58),rgba(255,248,232,.78)),radial-gradient(circle at top right,rgba(245,187,92,.2),transparent 34%);border:1px solid rgba(59,63,41,.08)}.status-progress-copy .eyebrow{margin-bottom:8px}.status-progress-heading{margin:0 0 4px;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;color:var(--accent-strong)}.status-progress-track-shell{position:relative;overflow-x:auto;padding:4px 0 2px}.status-progress-track-shell:before{content:"";position:absolute;left:18px;right:18px;top:18px;height:4px;border-radius:999px;background:rgba(38,74,50,.12)}.status-progress-fill{position:absolute;left:18px;top:18px;height:4px;min-width:0;border-radius:999px;background:linear-gradient(90deg,rgba(38,74,50,.85),rgba(245,187,92,.9),rgba(38,74,50,.85));background-size:220px 100%;animation:status-shimmer 2.8s linear infinite;transition:width .34s ease}.status-progress-track{position:relative;z-index:1;display:grid;grid-template-columns:repeat(14,minmax(68px,1fr));gap:0;min-width:980px;margin:0;padding:0;list-style:none}.status-step{display:grid;justify-items:center;gap:10px;color:var(--muted);transition:color .18s ease,transform .18s ease,opacity .18s ease}.status-step-marker{width:18px;height:18px;margin-top:9px;border-radius:999px;border:3px solid rgba(38,74,50,.14);background:rgba(255,255,255,.95);box-shadow:0 0 0 6px #ffffff8c;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.status-step-label{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.status-step-done{color:var(--accent-strong)}.status-step-done .status-step-marker{border-color:#264a32d1;background:var(--accent);box-shadow:0 0 0 6px #264a321a}.status-step-current{color:var(--accent-strong);transform:translateY(-2px)}.status-step-current .status-step-marker{border-color:#f5bb5cf2;background:#f8c976;box-shadow:0 0 0 8px #f5bb5c29;animation:status-pulse 1.3s ease-in-out infinite}.status-step-upcoming{opacity:.7}@keyframes status-pulse{0%,to{transform:scale(1);box-shadow:0 0 0 8px #f5bb5c29}50%{transform:scale(1.14);box-shadow:0 0 0 12px #f5bb5c14}}@keyframes status-shimmer{0%{background-position:0 0}to{background-position:220px 0}}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;background:rgba(38,74,50,.12);color:var(--accent-strong);text-transform:capitalize}.pill-error,.pill-disconnected{background:rgba(141,44,44,.12);color:var(--warning)}.board-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.7fr);gap:20px;align-items:start}.column{gap:20px}.column-wide{min-width:0}.aux-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:20px;align-items:start}.llm-mode-layout{margin-top:20px}.panel{padding:20px}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel-collapsible{padding:0;overflow:hidden}.panel-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px;cursor:pointer;list-style:none}.panel-summary::-webkit-details-marker{display:none}.panel-summary-state{color:var(--muted);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.panel-body{padding:0 20px 20px}.player-list,.detail-grid{margin:0;padding:0;list-style:none}.player-list li{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid rgba(57,60,40,.08)}.player-line-primary{font-weight:700}.player-line-secondary{color:var(--muted);font-size:.92rem;word-break:break-word}.player-dead{opacity:.55}.log-entry,.debug-entry,.action-card{border:1px solid rgba(59,63,41,.08);border-radius:18px;padding:14px;background:rgba(255,255,255,.55)}.log-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-grid dt{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.detail-grid dd{margin:4px 0 0;font-size:1.1rem}.role-card{border:1px solid rgba(59,63,41,.08);border-radius:18px;padding:14px;background:rgba(255,255,255,.55)}.role-label{margin:0 0 6px;color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.role-value{margin:0;font-weight:600}.role-list{margin:0;padding-left:18px}.json-block,.debug-entry pre{overflow:auto;margin:0;border-radius:16px;background:rgba(25,32,24,.94);color:#f1ebde;padding:14px;font-size:.86rem}.llm-prompt-panel{padding:24px}.llm-prompt-note{margin:0 0 14px}.llm-response-stack{display:flex;flex-direction:column;gap:18px;margin-top:22px}.llm-action-row{display:flex;gap:10px;flex-wrap:wrap}.llm-response-input{min-height:180px}.llm-response-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.llm-prompt-block{overflow:auto;margin:0;border-radius:20px;background:linear-gradient(180deg,rgba(24,30,23,.98),rgba(31,39,29,.98)),rgba(24,30,23,.98);color:#f5efdf;padding:18px;font-size:.92rem;line-height:1.65;white-space:pre-wrap;word-break:break-word}.checkbox-row{display:flex;gap:10px;align-items:center}.error-text,.error-banner{color:var(--warning)}.error-banner{margin:0 0 18px;padding:14px 16px;border-radius:16px;background:rgba(141,44,44,.08)}.debug-panel summary{cursor:pointer;font-weight:700}@media (max-width: 1100px){.board-grid,.aux-grid{grid-template-columns:1fr}}@media (min-width: 1180px){.event-pane-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}@media (max-width: 720px){.lobby-shell,.game-shell{padding:16px}.status-bar{grid-template-columns:1fr}.status-actions{align-items:center}.builder-row,.builder-grid,.critical-event-row,.llm-response-grid{grid-template-columns:1fr}}
