:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f4ecd8;background:#080c10;--bg: #080c10;--panel: rgba(16, 22, 26, .82);--panel-strong: rgba(230, 218, 188, .08);--ink: #f4ecd8;--muted: #b5aa92;--line: rgba(231, 204, 151, .24);--line-dark: rgba(244, 236, 216, .16);--green: #2c6f68;--green-bright: #3f9488;--rust: #a95039;--gold: #d8ad61;--red: #c15f4c;--shadow: 0 26px 80px rgba(0, 0, 0, .5);--glass: blur(18px) saturate(130%)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(135deg,rgba(216,173,97,.09),transparent 34%),linear-gradient(225deg,rgba(44,111,104,.22),transparent 42%),linear-gradient(90deg,rgba(244,236,216,.035) 1px,transparent 1px),linear-gradient(0deg,rgba(244,236,216,.025) 1px,transparent 1px),var(--bg);background-size:auto,auto,44px 44px,44px 44px}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 0%,rgba(8,12,16,.42) 76%,rgba(8,12,16,.82) 100%),repeating-linear-gradient(118deg,rgba(255,255,255,.03) 0 1px,transparent 1px 18px);mask-image:linear-gradient(180deg,black,transparent 86%);opacity:.72}a,button,input,select{font:inherit}button,.button-link{min-height:42px;border:1px solid rgba(216,173,97,.36);border-radius:7px;padding:0 16px;background:linear-gradient(180deg,#2d8379,#215a54);color:#fff9e8;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:inset 0 1px #ffffff2e,0 12px 28px #00000047}button:hover:not(:disabled),.button-link:hover{background:linear-gradient(180deg,var(--green-bright),#276960)}button:disabled,input:disabled{cursor:not-allowed;opacity:.48}input,select{min-height:42px;width:100%;padding:0 12px;border:1px solid rgba(231,204,151,.32);border-radius:7px;background:#f4ecd814;color:var(--ink)}h1,h2,p{margin:0}h1{font-size:clamp(38px,7vw,78px);line-height:.92;letter-spacing:0;text-transform:uppercase}h2{font-size:16px;letter-spacing:0}p{color:var(--muted)}code{padding:2px 7px;border-radius:6px;background:#f4ecd81f;color:inherit;overflow-wrap:anywhere;word-break:break-all}.shell{width:min(1220px,calc(100vw - 32px));margin:0 auto;padding:26px 0 36px}.narrow{width:min(1180px,calc(100vw - 32px))}.auth-layout{min-height:calc(100vh - 62px);display:grid;grid-template-columns:minmax(240px,.72fr) minmax(620px,1.48fr);gap:24px;align-items:start}.masthead{position:relative;min-height:320px;display:grid;align-content:end;padding:24px;border:1px solid rgba(231,204,151,.2);border-radius:8px;overflow:hidden;color:#fff6df;background:linear-gradient(180deg,#080c101a,#080c10d1),linear-gradient(135deg,rgba(216,173,97,.24),transparent 34%),linear-gradient(225deg,rgba(55,107,95,.4),transparent 46%),#10161a;box-shadow:var(--shadow)}.masthead:before{content:"";position:absolute;inset:18px;border:1px solid rgba(244,236,216,.12);border-radius:8px;pointer-events:none}.masthead>*{position:relative}.masthead p,.topbar p{margin-top:10px;color:#cfc3ad;overflow-wrap:anywhere}.eyebrow{margin-bottom:10px;color:var(--gold);font-size:12px;font-weight:900;letter-spacing:0;text-transform:uppercase}.auth-panel{grid-template-columns:minmax(360px,1.08fr) minmax(320px,.92fr);align-items:start;padding:0;overflow:hidden;border-color:#e7cc9742}.auth-feedback{grid-column:1 / -1;margin:0}.form-feedback{align-self:start}.auth-card{display:grid;gap:14px;padding:24px}.primary-auth{grid-row:1 / span 2;background:#2d83791f;border-right:1px solid rgba(231,204,151,.18)}.join-auth{align-content:start;background:linear-gradient(180deg,rgba(216,173,97,.1),transparent 42%),#0b11152e}.joinable-auth{align-content:start;background:#e7cc9714;border-bottom:1px solid rgba(231,204,151,.14)}.join-auth-heading{display:grid;gap:4px;padding-bottom:4px;border-bottom:1px solid rgba(231,204,151,.14)}.join-auth-heading span{color:var(--gold);font-size:12px;font-weight:900}.join-actions{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.joinable-room-list{display:grid;gap:10px}.joinable-room-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid rgba(231,204,151,.14);border-radius:8px;background:#0a0f1347}.joinable-room-row div:first-child,.joinable-room-count{display:grid;gap:3px;min-width:0}.joinable-room-row strong{overflow-wrap:anywhere}.joinable-room-row span,.joinable-room-count span{color:var(--muted);font-size:12px}.joinable-room-count{justify-items:end}.joinable-room-actions{grid-column:1 / -1;display:grid;grid-template-columns:1fr auto;gap:8px}.secondary-link{min-width:76px;background:#f4ecd814;color:var(--ink)}.topbar{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;margin-bottom:18px;padding:16px;border:1px solid rgba(231,204,151,.18);border-radius:8px;background:#0b1115b8;color:#f6eddb;backdrop-filter:var(--glass);box-shadow:0 18px 55px #00000047}.game-screen{width:min(1480px,calc(100vw - 20px));min-height:100vh;padding:10px 0 18px}.game-screen .topbar{position:sticky;top:0;z-index:30;margin-bottom:10px;padding:10px 12px;border-color:#6c7f7547;background:#070a0ef0;box-shadow:0 14px 36px #00000052}.game-screen .topbar h1{font-size:22px;line-height:1.08;text-transform:none}.game-screen .topbar p{margin-top:3px;font-size:13px}.game-screen .topbar .eyebrow{margin-bottom:3px;color:#80c7b9}.brand-block{min-width:0}.top-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;min-width:0;max-width:100%}.room-meta{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end;min-width:0;max-width:100%}.room-meta span,.status-pill,.phase-chip,.timer{min-height:34px;border:1px solid var(--line-dark);border-radius:999px;padding:7px 12px;background:#f4ecd814;color:#f7efdf;font-size:13px;font-weight:800;text-align:center}.layout{display:grid;grid-template-columns:minmax(300px,360px) 1fr;gap:18px;align-items:start}.chat-app-layout{grid-template-columns:320px minmax(0,1fr);grid-template-areas:"sidebar workspace";gap:0;align-items:stretch;min-height:0;height:calc(100vh - 72px);overflow:visible;border:1px solid rgba(128,199,185,.18);border-radius:14px;background:#070a0ef0;box-shadow:0 28px 90px #00000085}.observer-layout{grid-template-columns:minmax(340px,430px) 1fr}.sidebar,.main-column{display:grid;gap:14px}.chat-app-layout .sidebar{grid-area:sidebar;align-content:start;position:relative;max-height:none;overflow:visible;gap:10px;padding:14px;border-right:1px solid rgba(128,199,185,.16);background:linear-gradient(180deg,rgba(45,131,121,.2),transparent 240px),#05080bf5}.chat-room-shell{grid-area:workspace;grid-template-rows:auto auto minmax(0,1fr);gap:0;min-width:0;min-height:0;background:linear-gradient(180deg,rgba(128,199,185,.06),transparent 280px),#0d1117f5}.chat-app-layout .sidebar .panel{gap:10px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}.spectator-chat-layout,.observer-chat-layout{height:calc(100vh - 72px)}.observer-chat-layout{grid-template-columns:minmax(340px,410px) minmax(0,1fr)}.chat-app-layout .sidebar .panel-heading{padding-bottom:6px;border-bottom:1px solid rgba(231,204,151,.11)}.panel{display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow);backdrop-filter:var(--glass)}.panel-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.panel-heading span{color:var(--muted);font-size:13px;font-weight:800}.compact-heading h3{font-size:16px}.mini-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.seat-panel{padding:16px}.seat-list{display:grid;gap:8px}.table-grid{grid-template-columns:1fr 1fr}.seat{position:relative;display:grid;gap:6px;min-height:76px;padding:11px;border:1px solid rgba(231,204,151,.18);border-radius:8px;background:#f4ecd812}.chat-app-layout .seat{min-height:58px;padding:9px 10px;border-color:#80c7b91c;background:#ffffff09}.chat-app-layout .seat.mine{background:#3f948833;border-color:#80c7b97a}.seat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:8px 0 0 8px;background:#f4ecd82e}.seat.host:before{background:var(--gold)}.seat.mine{background:#3f94882e;border-color:#3f948885}.seat.dead{opacity:.68}.seat-main{display:grid;gap:3px}.seat strong{overflow-wrap:anywhere}.seat span,.seat-state{display:flex;align-items:center;gap:6px;color:#b5aa92;font-size:12px;font-weight:700}.status-dot{width:8px;height:8px;flex:0 0 auto;border-radius:999px;background:#8d8374}.status-dot.connected{background:#2f8a65}.status-dot.disconnected{background:var(--rust)}.seat-actions,.tool-row,.inline-form{display:grid;gap:8px}.seat-actions,.tool-row{grid-template-columns:1fr 1fr}.ai-demo-tools,.bot-seat-tools,.external-runner-helper,.diagnostics-summary{display:grid;gap:10px;margin:10px 0 12px;padding:10px;border:1px solid rgba(216,173,97,.22);border-radius:8px;background:#080c1038}.external-runner-helper pre{overflow:auto;margin:0;padding:10px;border:1px solid rgba(231,204,151,.14);border-radius:8px;background:#080c1057;color:#f4ecd8;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.diagnostics-summary span{color:#cfc4aa;font-size:13px}.bot-credentials{display:grid;gap:8px;min-width:0}.bot-credentials pre{max-height:180px;overflow:auto;margin:0;padding:10px;border:1px solid rgba(216,173,97,.18);border-radius:8px;background:#080c10b3;color:#f7efdf;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.mini{min-height:28px;padding:0 8px;font-size:12px}.secondary{background:linear-gradient(180deg,#b15a42,#813d2e);border-color:#f2b8825c}.text-link{color:var(--gold);font-weight:900}.banner{margin-bottom:16px;padding:12px 14px;border:1px solid rgba(216,173,97,.55);border-radius:8px;background:#d8ad6124;color:#ffe3a3;font-weight:800}.status-note,.rules-reference{margin-top:12px;padding:10px 12px;border:1px solid rgba(231,204,151,.14);border-radius:8px;background:#080c1042;color:#ead9b8;font-weight:800}.status-note span{display:inline-block;margin-left:8px;color:var(--gold)}.phase-timeline{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.phase-timeline span{padding:5px 8px;border:1px solid rgba(231,204,151,.14);border-radius:999px;color:#c9b892;font-size:12px;font-weight:900}.phase-timeline .current{border-color:#d8ad618c;background:#d8ad6124;color:#ffe3a3}.rules-reference{position:relative;width:fit-content;max-width:100%;z-index:1}.rules-reference[open]{z-index:1000}.rules-reference summary{cursor:pointer;color:var(--gold)}.rules-reference-body{position:absolute;top:calc(100% + 8px);left:0;z-index:1000;width:min(380px,calc(100vw - 32px));padding:12px;border:1px solid rgba(231,204,151,.2);border-radius:8px;background:#0a0e11f5;box-shadow:0 18px 42px #0000006b}.rules-reference-body p{margin-top:8px;color:#d8cfb8;overflow-wrap:anywhere}.rules-reference-body p:first-child{margin-top:0}.phase-panel{position:relative;min-height:190px;background:linear-gradient(135deg,rgba(216,173,97,.16),transparent 48%),#10161adb}.phase-panel:has(.rules-reference[open]){z-index:50}.phase-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start}.phase-row h2{font-size:26px}.phase-row>div:last-child{display:grid;justify-items:end;gap:8px}.village-status{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 14px;border:1px solid rgba(231,204,151,.16);border-radius:8px;background:#10161ac7;box-shadow:var(--shadow)}.chat-app-layout .village-status{margin:0;padding:10px 18px;border-width:0 0 1px;border-color:#80c7b929;border-radius:0;background:linear-gradient(90deg,rgba(45,131,121,.22),transparent 50%),#090d12f5;box-shadow:none}.chat-app-layout .village-status .eyebrow{margin-bottom:4px}.chat-app-layout .village-status h2{font-size:19px}.village-status h2{font-size:20px}.village-status p{margin-top:2px;color:#d5c9ad;font-size:13px;font-weight:800}.chat-app-layout .village-status p{color:#cfc6ad}.village-status-side{display:grid;justify-items:end;gap:6px}.chat-app-layout .village-status .phase-timeline{margin-top:6px}.role-status-chip{display:none;width:fit-content;max-width:100%;align-items:center;gap:8px;margin-top:8px;padding:6px 10px;border:1px solid rgba(216,173,97,.26);border-radius:999px;background:#d8ad611a;color:#f8e7ba;font-size:13px;font-weight:800}.role-status-chip strong{color:#fff3ce}.village-action-panel{display:grid;gap:10px;margin-top:10px;padding:12px;border:1px solid rgba(216,173,97,.22);border-radius:8px;background:linear-gradient(135deg,rgba(216,173,97,.1),transparent 48%),#080c1057}.chat-app-layout .village-action-panel{margin-top:0;border-color:#80c7b92e;background:#070a0e94}.village-action-panel .status-note,.village-action-panel .action-form,.village-action-panel .inline-form{margin:0}.village-support{display:grid;gap:10px;padding:0 2px}.chat-app-layout .village-support{grid-template-columns:minmax(0,1fr);gap:10px;padding:8px 18px 12px;border-top:1px solid rgba(108,127,117,.18);background:#080c1047}.action-stack{display:grid;gap:12px}.observer-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}.observer-grid section,.observer-list{display:grid;gap:10px}.observer-grid h3{margin:0;font-size:15px}.compact-heading h3{margin:0;font-size:16px}.role-panel{background:linear-gradient(160deg,rgba(44,111,104,.18),transparent 48%),#10161ad1}.chat-app-layout .role-panel{order:-10;border-color:#d8ad6161;background:linear-gradient(135deg,rgba(216,173,97,.18),transparent 45%),#181813d1}.chat-app-layout .seat-panel{order:10}.chat-app-layout .tools-panel{order:20}.role-card,.result{display:flex;justify-content:space-between;gap:12px;padding:14px;border-radius:8px;border:1px solid rgba(216,173,97,.22);background:#080c10c7;color:#f7efdf}.chat-app-layout .role-card{align-items:center;min-height:78px;border-color:#d8ad6170;background:linear-gradient(135deg,#d8ad6133,#2d83791a),#05080aad}.role-card strong{font-size:22px}.chat-app-layout .role-card strong{font-size:30px;line-height:1}.endgame-panel{background:linear-gradient(135deg,rgba(216,173,97,.2),transparent 44%),#10161adb}.reveal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.reveal-card{display:grid;gap:4px;min-height:64px;padding:10px;border:1px solid rgba(231,204,151,.18);border-radius:8px;background:#f4ecd814}.reveal-card span{color:var(--muted);font-size:12px;font-weight:800}.vote-results-panel{background:linear-gradient(135deg,rgba(216,173,97,.14),transparent 44%),#10161adb}.vote-result-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);gap:12px;align-items:start}.vote-result-list,.vote-result-summary{display:grid;gap:8px;min-width:0;padding:12px;border:1px solid rgba(231,204,151,.14);border-radius:8px;background:#080c1047}.vote-result-list p,.vote-result-summary p{overflow-wrap:anywhere;color:#d8cfb8}.chat-log,.event-log{display:grid;align-content:start;gap:8px;min-height:132px;max-height:270px;overflow:auto;padding:12px;border:1px solid rgba(231,204,151,.14);border-radius:8px;background:#080c1047}.conversation-panel{min-height:560px}.chat-app-layout .conversation-panel{grid-template-rows:auto auto minmax(180px,1fr) auto auto auto;min-height:0;height:100%;padding:0;border:0;border-radius:0;overflow:hidden;background:transparent;box-shadow:none;backdrop-filter:none}.chat-app-layout .conversation-panel>.panel-heading{padding:10px 18px 0}.chat-app-layout .conversation-panel>.panel-heading span{color:#cfc6aab8}.chat-app-layout .conversation-panel>.panel-heading h2{font-size:18px}.chat-app-layout .conversation-filters{padding:0 18px 2px}.conversation-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.conversation-filters .active{border-color:#d8ad61b3;background:#d8ad612e;color:#f8e7ba}.conversation-feed,.conversation-stream{display:grid;align-content:start;gap:8px;min-height:390px;max-height:min(68vh,760px);overflow:auto;padding:12px;border:1px solid rgba(231,204,151,.14);border-radius:8px;background:#080c1047;overflow-anchor:none}.chat-app-layout .conversation-feed,.chat-app-layout .conversation-stream{min-height:180px;max-height:none;height:100%;margin:0 18px;border-color:#6c7f7533;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 38%),#04070a80}.chat-app-layout .conversation-feed{scrollbar-color:rgba(128,199,185,.42) rgba(4,7,10,.32)}.conversation-item{min-width:0;overflow-wrap:anywhere;border-left:3px solid rgba(231,204,151,.32);padding:6px 8px;background:#ffffff0a}.conversation-item.public_chat,.conversation-item.chat{justify-self:start;width:min(100%,620px);padding:10px 12px;border:1px solid rgba(231,204,151,.14);border-radius:8px;background:#f4ecd812}.chat-app-layout .conversation-item.public_chat,.chat-app-layout .conversation-item.chat{max-width:min(76%,720px);border:1px solid rgba(128,199,185,.16);border-left:0;border-radius:12px 12px 12px 4px;background:#f4ecd814;box-shadow:0 10px 24px #0000002e}.conversation-item.public_chat.mine,.conversation-item.chat.mine{justify-self:end;border-color:#d8ad6152;background:#d8ad611c}.chat-app-layout .conversation-item.public_chat.mine,.chat-app-layout .conversation-item.chat.mine{border-color:#d8ad6147;border-radius:12px 12px 4px;background:#2d83793d}.conversation-item.system,.conversation-item.vote_result{justify-self:center;max-width:min(100%,620px);padding:6px 10px;border-radius:8px;background:#768b7e1f;color:#bfc7b8;font-size:13px;text-align:center}.chat-app-layout .conversation-item.system{border:1px solid rgba(108,127,117,.18);border-left:0;border-radius:999px;background:#6c7f751a;color:#cfd7c7c7;box-shadow:none}.chat-app-layout .conversation-item.vote_result{border-left:0;border-radius:12px;background:#768b7e1f}.conversation-item.vote_result{width:min(100%,620px);text-align:left}.conversation-vote-result{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,.55fr);gap:10px;margin-top:8px}@media(max-width:720px){.conversation-vote-result{grid-template-columns:1fr}}.conversation-vote-result table{width:100%;min-width:0;border-collapse:collapse;overflow:hidden;border:1px solid rgba(231,204,151,.14);border-radius:6px;background:#080c1047;font-size:12px}.conversation-vote-result th,.conversation-vote-result td{padding:6px 8px;border-bottom:1px solid rgba(231,204,151,.1);color:#d8cfb8;vertical-align:top}.conversation-vote-result th{color:var(--gold);font-weight:800;text-align:left}.conversation-vote-result tr:last-child td{border-bottom:0}.conversation-item.werewolf_chat,.conversation-item.private-werewolf{border-color:#b4434357;background:#581a2057}.conversation-item.host_info,.conversation-item.private_info{border-left-color:#7aa2ff;background:#4e6faa24}.conversation-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:4px;color:var(--gold)}.conversation-item.public_chat p,.conversation-item.chat p{color:#f2ead7}.conversation-meta-detail{color:#cfc4aa;font-size:.86rem;opacity:.82}.conversation-badge{padding:2px 7px;border-radius:999px;background:#b4434338;color:#ffd0c9;font-size:12px;font-weight:900}.conversation-composer{margin-top:2px}.chat-app-layout .conversation-composer{grid-template-columns:minmax(0,1fr) auto;margin:0;padding:10px 18px 12px;border-top:1px solid rgba(128,199,185,.14);background:#070a0ec7}.chat-app-layout .conversation-composer:last-of-type{padding-bottom:16px}.chat-app-layout .conversation-composer input{min-height:44px;border-color:#80c7b93d;border-radius:999px;background:#f4ecd818}.chat-app-layout .village-action-panel{margin:10px 18px 0;border-radius:14px;box-shadow:none}.chat-app-layout .village-action-panel .panel-heading{padding-bottom:6px;border-bottom:1px solid rgba(128,199,185,.12)}.chat-app-layout .village-action-panel .status-note{color:#d8cfb8;font-weight:800}.chat-app-layout .observer-info-panel{margin:10px 18px 18px;box-shadow:none}.chat-app-layout .jump-latest-button{justify-self:center;margin:8px 18px 14px}.empty-state{align-self:center;justify-self:center}.private-composer input{border-color:#b443436b}.private-chat{min-height:110px;max-height:180px}.chat-log p,.event-log p{color:#d8cfb8}.inline-form{grid-template-columns:1fr auto}.tools-panel .muted{font-size:12px;font-weight:800}.action-form{display:grid;gap:12px}label{display:grid;gap:7px;color:var(--ink);font-weight:800}.check{grid-template-columns:auto 1fr;align-items:center}.check input{min-height:auto;width:auto}.role-toggle-grid{display:grid;gap:10px}.field-hint{color:var(--muted);font-size:12px;font-weight:700}.role-derived-count{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;border:1px solid rgba(231,204,151,.22);border-radius:7px;background:#0b111538;color:var(--ink);font-weight:800}.role-derived-count strong{color:#fff6df}.muted{color:var(--muted)}.masthead-link{justify-self:start;margin-top:18px}.records-screen{width:min(1180px,calc(100vw - 32px))}.records-topbar h1{font-size:clamp(30px,5vw,54px);text-transform:none}.records-layout,.records-detail-layout{display:grid;gap:16px}.records-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.detail-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.records-summary-strip div{display:grid;gap:4px;min-width:0;padding:14px;border:1px solid rgba(128,199,185,.18);border-radius:8px;background:#f4ecd80f}.records-summary-strip span{color:var(--muted);font-size:12px;font-weight:900}.records-summary-strip strong{color:#fff6df;overflow-wrap:anywhere}.completed-game-list,.records-timeline,.records-chat{display:grid;gap:10px}.completed-game-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid rgba(231,204,151,.16);border-radius:8px;background:#ffffff09;color:var(--ink);text-decoration:none}.completed-game-row:hover{border-color:#80c7b96b;background:#3f94881f}.completed-game-row div{display:grid;gap:4px;min-width:0}.completed-game-row div:last-child{text-align:right}.completed-game-row span,.records-chat span{color:var(--muted);font-size:12px;font-weight:800}.records-role-grid{margin-top:14px}.records-timeline p,.records-chat p{padding:10px 12px;border-left:3px solid rgba(128,199,185,.55);border-radius:7px;background:#080c104d;color:#eadfca}.records-chat p{display:grid;grid-template-columns:minmax(120px,.2fr) auto minmax(0,1fr);gap:10px;align-items:start}.records-empty{min-height:180px;align-content:center}.phase-night_werewolves .phase-panel,.phase-night_seer .phase-panel,.phase-night_witch .phase-panel{background:linear-gradient(135deg,rgba(44,111,104,.24),transparent 44%),#0d1418e6}.phase-day_discussion .phase-panel{background:linear-gradient(135deg,rgba(216,173,97,.22),transparent 48%),#191814db}.phase-day_vote .phase-panel{background:linear-gradient(135deg,rgba(193,95,76,.22),transparent 48%),#181112e0}.phase-ended .phase-panel{background:linear-gradient(135deg,rgba(216,173,97,.24),transparent 44%),#10161ae6}@media(max-width:1080px){.auth-layout{grid-template-columns:1fr}.masthead{min-height:220px}}@media(max-width:920px){.auth-layout,.layout,.topbar,.auth-panel{grid-template-columns:1fr}.primary-auth{grid-row:auto;border-right:0;border-bottom:1px solid rgba(231,204,151,.18)}.top-actions,.room-meta{justify-content:flex-start}.topbar{min-width:0}.village-status{grid-template-columns:1fr}.village-status-side{justify-items:start}.brand-block,.topbar>div:first-child{min-width:0}.room-meta span,.status-pill,.button-link{max-width:100%}.table-grid{grid-template-columns:1fr}.reveal-grid{grid-template-columns:1fr 1fr}.inline-form,.observer-grid,.vote-result-grid{grid-template-columns:1fr}.chat-app-layout{display:grid;grid-template-areas:"workspace" "sidebar";height:auto;min-height:0;overflow:visible;border-radius:8px}.chat-app-layout .sidebar{position:static;max-height:none;overflow:visible;padding-right:0;border-right:0}.chat-room-shell{grid-template-rows:auto auto auto}.chat-app-layout .role-panel{order:-20}.chat-app-layout .seat-panel{order:20}.chat-app-layout .tools-panel{order:30}.chat-app-layout .conversation-panel{grid-template-rows:auto auto auto minmax(220px,48vh) auto auto;min-height:0;height:auto;border-radius:0}.chat-app-layout .conversation-panel .village-action-panel{order:-1}.role-status-chip{display:inline-flex}.chat-app-layout .conversation-feed,.chat-app-layout .conversation-stream{min-height:220px;max-height:48vh;margin:0 12px}.chat-app-layout .conversation-panel>.panel-heading,.chat-app-layout .conversation-filters{padding-right:12px;padding-left:12px}.chat-app-layout .village-action-panel,.chat-app-layout .conversation-composer,.chat-app-layout .jump-latest-button{margin-right:12px;margin-left:12px}.chat-app-layout .conversation-composer,.chat-app-layout .village-support{grid-template-columns:1fr;padding-right:12px;padding-left:12px}.spectator-chat-layout,.observer-chat-layout{height:auto}.records-summary-strip,.detail-strip,.completed-game-row,.records-chat p{grid-template-columns:1fr}.completed-game-row div:last-child{text-align:left}}
