:root{--bg:#f7f5f0;--surface:#fff;--text:#1f1b16;--muted:#6f675c;--border:#e2ddd3;--accent:#8a3b12;--ok:#2f6b3a;--error:#a3261b;--selected:#8a3b121a;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--serif:Georgia, "Iowan Old Style", serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font:17px/1.55 var(--sans);color:var(--text);background:var(--bg)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#16140f;--surface:#1f1c16;--text:#ece6da;--muted:#a39a8b;--border:#3a342a;--accent:#e0915c;--ok:#7cc48a;--error:#f08a7e;--selected:#e0915c26}}*{box-sizing:border-box}body{margin:0}h1,h2{font-family:var(--serif);margin:0}h1{font-size:1.3rem}h2{color:var(--accent);font-size:1rem}.muted{color:var(--muted)}.app{grid-template:"header header""story sidebar"minmax(0,1fr)/minmax(0,1fr) 300px;height:100dvh;display:grid}.app-header{border-bottom:1px solid var(--border);grid-area:header;justify-content:space-between;align-items:baseline;padding:12px 20px;display:flex}.story{grid-area:story;min-height:0;padding:20px max(20px,50% - 360px);overflow-y:auto}.sidebar{border-left:1px solid var(--border);background:var(--surface);flex-direction:column;grid-area:sidebar;gap:20px;min-height:0;padding:20px;display:flex;overflow-y:auto}@media (width<=800px){.app{grid-template-columns:minmax(0,1fr);grid-template-areas:"header""story""sidebar";height:auto;min-height:100vh}.story{overflow-y:visible}.sidebar{border-left:none;border-top:1px solid var(--border);overflow-y:visible}}a{color:var(--accent)}button,input,select{font:inherit;color:inherit}button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;padding:6px 12px}button:disabled{opacity:.5;cursor:default}input:not([type=checkbox]):not([type=range]),select{border:1px solid var(--border);background:var(--bg);border-radius:6px;min-width:0;padding:6px 10px}code{font-size:.85em}.small{font-size:.85rem}.ok{color:var(--ok)}.error{color:var(--error)}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.between{flex-wrap:nowrap;justify-content:space-between;align-items:flex-start}code{overflow-wrap:anywhere}.nowrap{white-space:nowrap}.grow{flex:180px}.settings{flex-direction:column;gap:16px;display:flex}.card{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;gap:12px;padding:16px;display:flex}.card p{margin:0}.picker-panel{flex-direction:column;gap:8px;margin-top:8px;display:flex}.model-list{border:1px solid var(--border);border-radius:6px;max-height:360px;margin:0;padding:0;list-style:none;overflow-y:auto}.model-list li{border-bottom:1px solid var(--border);align-items:stretch;display:flex}.model-list li:last-child{border-bottom:none}.model-list li.selected{background:var(--selected)}.model-list button{background:0 0;border:none;border-radius:0}.model-list .star{color:var(--accent)}.model-row{text-align:left;flex-direction:column;flex:1;align-items:flex-start;display:flex}.test-output{white-space:pre-wrap;font-family:var(--serif);background:var(--bg);border-radius:6px;padding:12px}button.primary{border-color:var(--accent);background:var(--accent);color:var(--bg)}textarea{font:inherit;color:inherit;border:1px solid var(--border);background:var(--surface);resize:vertical;border-radius:6px;padding:8px 10px}.start{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.story-log{flex-direction:column;gap:14px;padding-bottom:16px;display:flex}.narration{white-space:pre-wrap;font-family:var(--serif);font-size:1.05rem;line-height:1.65}.player-action{white-space:pre-wrap;background:var(--selected);border-radius:10px;align-self:flex-end;max-width:85%;padding:8px 12px}.note{color:var(--muted);font-size:.85rem;font-style:italic}.thinking{font-style:italic}.chip{border:1px solid var(--border);border-left:4px solid var(--muted);background:var(--surface);border-radius:6px;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:6px 10px;font-size:.85rem;display:flex}.chip-by{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.7rem;font-weight:600}.chip-detail{color:var(--muted)}.chip-result{text-transform:capitalize;margin-left:auto}.chip.tone-yes{border-left-color:var(--ok)}.chip.tone-no{border-left-color:var(--error)}.chip.tone-mixed,.chip.tone-event{border-left-color:var(--accent)}.pending-move{border-color:var(--accent);margin-bottom:12px}.error-card{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:12px}.action-input{background:var(--bg);align-items:flex-end;gap:8px;padding:12px 0;display:flex;position:sticky;bottom:0}.action-input textarea{flex:1}.sidebar p{margin:4px 0}.stats{text-align:center;grid-template-columns:repeat(5,1fr);gap:4px;margin:8px 0;display:grid}.stat{flex-direction:column;display:flex}.stat-value{font-size:1.1rem;font-weight:600}.entry-list{margin:6px 0 0;padding-left:18px}.entry-list li{margin-bottom:4px}button.link{color:var(--muted);background:0 0;border:none;align-self:flex-start;padding:0;text-decoration:underline}.session-zero{flex-direction:column;gap:16px;display:flex}.session-zero header p{margin:4px 0 0}.question-prompt{color:var(--text);font-size:1.35rem}.progress{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.progress button{border-radius:50%;width:32px;height:32px;padding:0;font-size:.85rem}.progress button.done.player{border-color:var(--accent);color:var(--accent)}.progress button.done.gm{border-color:var(--accent);color:var(--accent);border-style:dashed}.progress button[aria-current=step],.progress button.done[aria-current=step]{background:var(--accent);border-color:var(--accent);color:var(--bg)}.fields{flex-direction:column;gap:12px;display:flex}.field{flex-direction:column;gap:4px;display:flex}.stat-assign{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;display:grid}.stat-assign label{text-transform:capitalize;flex-direction:column;gap:4px;display:flex}.stat-assign p{grid-column:1/-1}.badge{border:1px dashed var(--accent);color:var(--accent);border-radius:999px;align-self:flex-start;padding:1px 8px;font-size:.75rem;font-weight:600}.gm-answer{flex-direction:column;gap:8px;margin:0;display:flex}.gm-answer dt{color:var(--muted);font-size:.8rem}.gm-answer dd{font-family:var(--serif);white-space:pre-wrap;margin:0;font-size:1.05rem}.summary-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.summary-list li{border-bottom:1px solid var(--border);padding-bottom:12px}.summary-values{font-family:var(--serif);margin:4px 0 0}.narration p{margin:0 0 .7em}.narration p:last-child{margin-bottom:0}.input-dock{border-top:1px solid var(--border);background:var(--bg);flex-direction:column;gap:8px;padding:10px 0 12px;display:flex;position:sticky;bottom:0}.input-dock .action-input{padding:0;position:static}.oracle{flex-direction:column;gap:8px;display:flex}.oracle button{padding:4px 10px;font-size:.85rem}.track{gap:3px;margin:4px 0 8px;display:flex}.track span{border:1px solid var(--border);border-radius:2px;flex:1;height:10px}.track span.on{border-color:var(--accent);background:var(--accent)}.track-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.stepper{gap:2px;display:inline-flex}.stepper button,button.icon{width:26px;height:26px;padding:0;line-height:1}button.icon{color:var(--muted);background:0 0;border:none;flex:none}.stat button{margin-top:2px;padding:0 4px}.add-entry{margin-top:6px}.add-entry input{padding:4px 8px;font-size:.85rem}.add-entry button{padding:4px 10px;font-size:.85rem}details summary{cursor:pointer;list-style:revert}details summary h2{display:inline}.move-ref{margin-top:10px}.move-ref p{margin:2px 0}.scene-divider{border-top:1px solid var(--border);font-family:var(--serif);color:var(--accent);text-align:center;flex-direction:column;align-items:center;gap:2px;margin:8px 0;padding-top:10px;display:flex}.story-log>.scene-divider:first-child{border-top:none;margin-top:0;padding-top:0}.choice{border:none;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.choice legend{margin-bottom:4px}.choice label{align-items:center;gap:8px;display:flex}.campaigns{flex-direction:column;gap:16px;display:flex}.campaign-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.campaign-list li{flex-flow:wrap;justify-content:space-between;align-items:center}.pre{white-space:pre-wrap}.home,.lobby,.auth{flex-direction:column;gap:24px;display:flex}.auth>*{width:100%;max-width:440px;margin-inline:auto}.auth .card{padding:24px}.auth input{width:100%}.center{text-align:center}a.button{border:1px solid var(--border);background:var(--surface);color:inherit;border-radius:6px;padding:6px 12px;text-decoration:none}.banner{z-index:10;border:1px solid var(--border);background:var(--surface);border-radius:8px;max-width:calc(100% - 32px);padding:8px 14px;position:fixed;top:12px;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #00000026}.roster{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.presence{background:var(--border);vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.presence.on{background:var(--ok)}.round{flex-direction:column;gap:6px;display:flex}.round-list{flex-direction:column;gap:2px;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.round-list li{flex-wrap:wrap;align-items:baseline;gap:0 6px;display:flex}.round-list li.posted .round-action{white-space:pre-wrap}.player-action .speaker{color:var(--muted);font-size:.8rem;font-weight:600;display:block}table.usage{border-collapse:collapse;width:100%;font-size:.9rem}table.usage th,table.usage td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:4px 6px}table.usage input[type=number]{width:7em}.badge+.badge{margin-left:4px}
