:root{color-scheme:dark;--bg: #12141a;--panel: #1a1e28;--border: #3a4150;--text: #eceaf2;--muted: #9aa0b4;--accent: #c9b56a;--accent-dim: #7a6840;--btn-primary: var(--accent-dim);--btn-secondary: var(--border);--player: #7eb8da;--narrator: #eceaf2;--error: #e07070;--ok-border: #4a7c59;--ok-text: #8fd4a0;--bg-gradient: none;--pattern-opacity: 0;--font-ui: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--font-story: "IBM Plex Serif", Georgia, serif;--scrollbar-size: 7px;--scrollbar-track: color-mix(in srgb, var(--bg) 55%, var(--panel));--scrollbar-thumb: color-mix(in srgb, var(--border) 55%, var(--muted) 45%);--scrollbar-thumb-hover: color-mix(in srgb, var(--accent-dim) 65%, var(--border))}html[data-color-scheme=light]{color-scheme:light}html.theme-instant *,html.theme-instant *:before,html.theme-instant *:after{transition:none!important}html.theme-instant:before{transition:none!important}*{box-sizing:border-box}[hidden]{display:none!important}html{min-height:100%}html:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:var(--pattern-opacity);transition:opacity 1.4s ease}html[data-pattern=stars_sparse]:before{background-image:radial-gradient(1px 1px at 20px 30px,rgba(255,255,255,.45),transparent),radial-gradient(1px 1px at 80px 120px,rgba(255,255,255,.35),transparent),radial-gradient(1.5px 1.5px at 160px 60px,rgba(255,200,255,.4),transparent);background-size:200px 180px}html[data-pattern=stars_dense]:before{background-image:radial-gradient(1px 1px at 10px 15px,rgba(180,220,255,.5),transparent),radial-gradient(1px 1px at 50px 70px,rgba(180,220,255,.4),transparent),radial-gradient(1px 1px at 90px 40px,rgba(100,200,255,.45),transparent),radial-gradient(1.5px 1.5px at 130px 100px,rgba(255,255,255,.35),transparent);background-size:150px 130px}html[data-pattern=crosshatch]:before{background-image:repeating-linear-gradient(45deg,transparent,transparent 8px,rgba(80,20,20,.12) 8px,rgba(80,20,20,.12) 9px),repeating-linear-gradient(-45deg,transparent,transparent 8px,rgba(40,10,10,.1) 8px,rgba(40,10,10,.1) 9px);background-size:24px 24px}html[data-pattern=rain_diagonal]:before{background-image:repeating-linear-gradient(105deg,transparent,transparent 4px,rgba(160,200,255,.08) 4px,rgba(160,200,255,.08) 5px);background-size:12px 40px}html[data-pattern=bubbles]:before{background-image:radial-gradient(circle at 15% 25%,rgba(255,255,255,.15) 0 8px,transparent 9px),radial-gradient(circle at 75% 65%,rgba(255,220,100,.12) 0 12px,transparent 13px),radial-gradient(circle at 45% 80%,rgba(255,180,200,.1) 0 6px,transparent 7px);background-size:280px 220px}html[data-bg-mode=polka_dots]:before{background-image:radial-gradient(circle at center,color-mix(in srgb,var(--polka-color, #fff) 55%,transparent) 0 22%,transparent 23%);background-size:var(--polka-size, 24px 24px);opacity:var(--polka-opacity, .12)}html[data-bg-mode=spikes]:before{background-image:repeating-linear-gradient(-55deg,transparent,transparent 10px,color-mix(in srgb,var(--spike-color, #888) calc(var(--spike-opacity, .15) * 100%),transparent) 10px,color-mix(in srgb,var(--spike-color, #888) calc(var(--spike-opacity, .15) * 100%),transparent) 11px),repeating-linear-gradient(55deg,transparent,transparent 14px,color-mix(in srgb,var(--spike-color, #888) calc(var(--spike-opacity, .12) * 100%),transparent) 14px,color-mix(in srgb,var(--spike-color, #888) calc(var(--spike-opacity, .12) * 100%),transparent) 15px);background-size:calc(80px / var(--spike-density, .5)) calc(60px / var(--spike-density, .5));opacity:1}html:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity 1.4s ease}html[data-overlay-mode=polka_dots]:after{background-image:radial-gradient(circle at center,color-mix(in srgb,var(--overlay-polka-color, #fff) 50%,transparent) 0 20%,transparent 21%);background-size:var(--overlay-polka-size, 20px 20px);opacity:var(--overlay-opacity, .12)}html[data-overlay-mode=spikes]:after{background-image:repeating-linear-gradient(90deg,transparent,transparent 8px,color-mix(in srgb,var(--overlay-spike-color, #666) calc(var(--overlay-spike-opacity, .15) * 100%),transparent) 8px,color-mix(in srgb,var(--overlay-spike-color, #666) calc(var(--overlay-spike-opacity, .15) * 100%),transparent) 9px);background-size:calc(40px / var(--overlay-spike-density, .5)) 100%;opacity:var(--overlay-opacity, .15)}body{margin:0;min-height:100vh;background-color:var(--bg);background-image:var(--bg-gradient);background-size:cover;background-attachment:fixed;color:var(--text);font-family:var(--font-ui);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color 1.4s ease,background-image 1.4s ease,color 1.4s ease}h1,.brand{font-family:var(--font-story)}::selection{background:color-mix(in srgb,var(--accent) 35%,transparent);color:var(--text)}.it-scroll-y{overflow-y:auto;overscroll-behavior:contain}.it-scroll-y,.story-log,.ask-log,.journey-panel,.admin-table-wrap--logs,.theme-raw pre,textarea{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.it-scroll-y::-webkit-scrollbar,.story-log::-webkit-scrollbar,.ask-log::-webkit-scrollbar,.journey-panel::-webkit-scrollbar,.admin-table-wrap--logs::-webkit-scrollbar,.theme-raw pre::-webkit-scrollbar,textarea::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}.it-scroll-y::-webkit-scrollbar-track,.story-log::-webkit-scrollbar-track,.ask-log::-webkit-scrollbar-track,.journey-panel::-webkit-scrollbar-track,.admin-table-wrap--logs::-webkit-scrollbar-track,.theme-raw pre::-webkit-scrollbar-track,textarea::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}.it-scroll-y::-webkit-scrollbar-thumb,.story-log::-webkit-scrollbar-thumb,.ask-log::-webkit-scrollbar-thumb,.journey-panel::-webkit-scrollbar-thumb,.admin-table-wrap--logs::-webkit-scrollbar-thumb,.theme-raw pre::-webkit-scrollbar-thumb,textarea::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px;border:2px solid var(--scrollbar-track);transition:background-color .2s ease}.it-scroll-y::-webkit-scrollbar-thumb:hover,.story-log::-webkit-scrollbar-thumb:hover,.ask-log::-webkit-scrollbar-thumb:hover,.journey-panel::-webkit-scrollbar-thumb:hover,.admin-table-wrap--logs::-webkit-scrollbar-thumb:hover,.theme-raw pre::-webkit-scrollbar-thumb:hover,textarea::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.it-scroll-y::-webkit-scrollbar-corner,.story-log::-webkit-scrollbar-corner,.ask-log::-webkit-scrollbar-corner,.journey-panel::-webkit-scrollbar-corner,textarea::-webkit-scrollbar-corner{background:var(--scrollbar-track)}.panel,.story,input,textarea,select,.btn,.header,.journey-panel,.story-log .entry .label{transition:background-color 1.4s ease,color 1.4s ease,border-color 1.4s ease}.app{max-width:1200px;margin:0 auto;padding:1.25rem}.header{text-align:center;margin-bottom:0;padding-bottom:1rem}.header h1{margin:0;font-size:1.75rem;letter-spacing:.04em;color:var(--accent)}.tagline{margin:.35rem 0 .75rem;color:var(--muted);font-size:.95rem}.ops-bar{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;width:100%;max-width:52rem;margin:0 auto}.ops-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem}.ops-step{margin:0;text-align:center;font-family:JetBrains Mono,monospace;font-size:.68rem;color:var(--accent-dim);animation:ops-step-in .35s ease}@keyframes ops-step-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ops-quotas{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center;animation:ops-step-in .4s ease}.quota-card{flex:1 1 9.5rem;max-width:11rem;padding:.45rem .55rem;border-radius:6px;border:1px solid var(--border);background:color-mix(in srgb,var(--panel) 85%,var(--bg));font-family:JetBrains Mono,monospace;font-size:.62rem}.quota-card--active{border-color:var(--accent-dim);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}.quota-card--dim{opacity:.72}.quota-card-head{display:flex;align-items:center;justify-content:space-between;gap:.25rem;margin-bottom:.35rem}.quota-model{color:var(--text);font-size:.6rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quota-active-tag{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;font-size:.55rem}.quota-metric{display:grid;grid-template-columns:2rem 1fr 2.8rem;align-items:center;gap:.2rem;margin-bottom:.2rem}.quota-metric-label{color:var(--muted)}.quota-metric-val{text-align:right;color:var(--muted)}.quota-bar{grid-column:1 / -1;height:3px;border-radius:2px;background:var(--border);overflow:hidden;position:relative}.quota-bar:after{content:"";display:block;height:100%;width:var(--quota-pct, 0%);background:var(--accent-dim);transition:width .4s ease}.quota-bar--warm:after{background:color-mix(in srgb,var(--accent) 70%,orange)}.quota-bar--hot:after{background:var(--error)}.quota-hint{display:block;margin-top:.15rem;color:var(--muted);font-size:.55rem}.api-status-wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem}.api-status-host{position:relative;display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}.api-status{display:inline-flex;align-items:center;gap:.45rem;font-family:JetBrains Mono,monospace;font-size:.75rem;padding:.35rem .75rem;border-radius:4px;border:1px solid var(--border);cursor:default;-webkit-user-select:none;user-select:none}.api-status-host.has-help .api-status{cursor:help}.api-status-indicator{width:.45rem;height:.45rem;border-radius:50%;flex-shrink:0;background:var(--muted)}.api-status.checking .api-status-indicator{background:var(--accent);animation:api-pulse 1.1s ease-in-out infinite}.api-status.ok .api-status-indicator{background:var(--ok-text);box-shadow:0 0 6px color-mix(in srgb,var(--ok-text) 55%,transparent)}.api-status.fail .api-status-indicator{background:var(--error)}@keyframes api-pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.api-status.checking{border-color:color-mix(in srgb,var(--accent-dim) 50%,var(--border));color:var(--muted)}.api-retest{font-family:JetBrains Mono,monospace;font-size:.7rem;padding:.3rem .65rem;text-transform:uppercase;letter-spacing:.06em}.api-retest:disabled{opacity:.6;cursor:wait}.api-status.ok{border-color:var(--ok-border);color:var(--ok-text)}.api-status.fail{border-color:#7c4a4a;color:var(--error)}.api-status.warn{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));color:var(--accent)}.api-status.warn .api-status-indicator{background:var(--accent);animation:api-pulse 1.4s ease-in-out infinite}.api-status.server.reconnecting .api-status-indicator{animation:api-pulse .8s ease-in-out infinite}.api-help-popover{position:absolute;z-index:40;top:calc(100% + .45rem);left:50%;transform:translate(-50%) translateY(4px);width:min(22rem,calc(100vw - 2rem));padding:.85rem 1rem 1rem;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-family:"IBM Plex Serif",serif;font-size:.88rem;line-height:1.45;box-shadow:0 12px 32px #00000073,0 0 0 1px #c9a22714;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s}.api-status-host.has-help:hover .api-help-popover,.api-status-host.has-help:focus-within .api-help-popover,.api-status-host.has-help.is-pinned .api-help-popover{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%) translateY(0)}.api-help-popover:before{content:"";position:absolute;top:-6px;left:50%;width:10px;height:10px;margin-left:-5px;background:var(--panel);border-left:1px solid var(--border);border-top:1px solid var(--border);transform:rotate(45deg)}.api-help-title{margin:0 0 .5rem;font-family:JetBrains Mono,monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--accent)}.api-help-summary{margin:0 0 .65rem;color:var(--text)}.api-help-detail{margin:0 0 .75rem;padding:.5rem .6rem;border-radius:4px;background:color-mix(in srgb,var(--bg) 70%,var(--panel));border:1px solid var(--border);font-size:.82rem;color:var(--muted);word-break:break-word}.api-help-detail-label{display:block;font-family:JetBrains Mono,monospace;font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-dim);margin-bottom:.2rem}.api-help-section{margin:.5rem 0 0}.api-help-section h4{margin:0 0 .35rem;font-family:JetBrains Mono,monospace;font-size:.62rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.api-help-section ul{margin:0;padding-left:1.15rem}.api-help-section li{margin:.2rem 0;color:var(--text)}.api-status-host.has-help .api-status-label:after{content:" ⓘ";font-size:.65rem;color:var(--muted);opacity:.85}.journey-bar{position:relative;margin-bottom:1.25rem}.hard-break{border-bottom:1px solid var(--border);margin-bottom:.75rem}.game-nav-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.journey-tab{display:inline-flex;align-items:center;gap:.5rem;font-family:JetBrains Mono,monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:transparent;border:1px solid var(--border);border-radius:4px;padding:.45rem .85rem .45rem .75rem;cursor:pointer;transition:color .2s ease,border-color .2s ease,background-color .2s ease}.journey-tab:after{content:"";display:inline-block;width:.45rem;height:.45rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s ease}.journey-tab:hover{color:var(--text);border-color:var(--accent)}.journey-tab[aria-expanded=true]{color:var(--accent);border-color:var(--accent);background:#c9a22714}.journey-tab[aria-expanded=true]:after{transform:rotate(-135deg) translateY(1px)}.journey-panel{position:absolute;left:0;right:0;top:calc(100% + .35rem);z-index:50;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:1rem 1.1rem 1.1rem;box-shadow:0 12px 40px #00000073,0 0 0 1px #c9a22714;max-height:min(70vh,520px);overflow-y:auto;overscroll-behavior:contain;animation:journey-in .28s ease}@keyframes journey-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.continue-panel .saves-list .save-item:last-child{margin-bottom:0}.continue-panel .placeholder{margin:0;font-size:.85rem;color:var(--muted);font-style:italic}.journey-form{display:grid;gap:.65rem}.journey-field{margin-bottom:0}.journey-field--full{grid-column:1 / -1}.journey-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;grid-column:1 / -1}@media(max-width:640px){.journey-row{grid-template-columns:1fr}.journey-panel{position:fixed;left:1rem;right:1rem;top:auto;bottom:1rem;max-height:75vh;z-index:50;box-shadow:0 -8px 40px #00000080}}.field-hint{display:block;margin-top:.35rem;font-size:.72rem;color:var(--muted);font-style:italic}.journey-form .btn.primary{grid-column:1 / -1;margin-top:.25rem}.journey-form .toggle{grid-column:1 / -1}.layout{display:grid;grid-template-columns:280px 1fr;gap:1.25rem;align-items:start}@media(max-width:768px){.layout{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:1rem;margin-bottom:1rem}.panel h2{margin:0 0 .75rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}label{display:block;font-size:.8rem;color:var(--muted);margin-bottom:.65rem}input,textarea,select{width:100%;margin-top:.25rem;padding:.55rem .7rem;background:var(--panel);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:inherit;font-size:.9rem}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2rem;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%239aa0b4' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .65rem center}select:focus,input:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 28%,transparent)}.btn{font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:500;padding:.55rem 1.1rem;border-radius:10px;border:1px solid var(--border);background:color-mix(in srgb,var(--panel) 88%,var(--bg));color:var(--text);cursor:pointer;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;letter-spacing:.02em;-webkit-tap-highlight-color:transparent;transition:background .18s ease,border-color .18s ease,color .18s ease,opacity .18s ease,box-shadow .18s ease}.btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:color-mix(in srgb,var(--accent) 10%,var(--panel))}.btn:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 32%,transparent)}.journey-tab:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 32%,transparent)}.btn.primary{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 42%,var(--btn-primary, var(--accent-dim))) 0%,var(--btn-primary, var(--accent-dim)) 100%);border-color:color-mix(in srgb,var(--accent) 70%,var(--border));color:#fff;margin-top:.5rem;box-shadow:0 1px color-mix(in srgb,var(--accent) 28%,transparent)}.btn.primary:hover:not(:disabled){background:var(--accent);color:#12141a}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.icon{width:2.15rem;height:2.15rem;min-width:2.15rem;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:999px}.btn.icon svg{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}.btn.icon.is-active,.btn.icon.is-listening,.btn.icon[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--panel))}.btn.icon.primary{margin-top:0}.btn.icon.btn-with-spinner{min-width:2.15rem;min-height:2.15rem}label.toggle{display:flex;align-items:center;gap:.75rem;margin:.15rem 0 .35rem;cursor:pointer;color:var(--text);font-size:.9rem;-webkit-user-select:none;user-select:none}label.toggle:has(.toggle-input:disabled){opacity:.55;cursor:not-allowed}.toggle-track{position:relative;width:2.55rem;height:1.42rem;flex-shrink:0;border-radius:999px;background:color-mix(in srgb,var(--muted) 28%,var(--panel));border:1px solid var(--border);transition:background-color .18s ease,border-color .18s ease}.toggle-track:after{content:"";position:absolute;top:.12rem;left:.12rem;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--text);box-shadow:0 1px 3px #00000059;transition:transform .18s ease,background-color .18s ease}.toggle-input:checked+.toggle-track{background:var(--accent);border-color:var(--accent)}.toggle-input:checked+.toggle-track:after{transform:translate(1.12rem);background:#fff}.toggle-input:focus-visible+.toggle-track{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 42%,transparent)}.toggle-copy{line-height:1.35}.btn-with-spinner{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:5.25rem;min-height:2.65rem}.btn-with-spinner .btn-spinner{display:none;width:1.15rem;height:1.15rem;border:2px solid color-mix(in srgb,currentColor 28%,transparent);border-top-color:currentColor;border-radius:50%;animation:btn-spin .65s linear infinite}.btn-with-spinner.is-loading{opacity:1;cursor:wait}.btn-with-spinner.is-loading:disabled{opacity:1}.btn-with-spinner.is-loading .btn-label{visibility:hidden}.btn-with-spinner.is-loading .btn-spinner{display:block;position:absolute}@keyframes btn-spin{to{transform:rotate(360deg)}}.saves-list .save-item{display:block;width:100%;text-align:left;margin-bottom:.4rem;padding:.5rem;font-size:.85rem}.saves-list .save-item--active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--panel))}.story{background:var(--panel);border:1px solid var(--border);border-radius:10px;min-height:420px;max-height:calc(100vh - 14rem);display:flex;flex-direction:column}.story-log{flex:1;min-height:0;padding:1.1rem 1.15rem 1.35rem;overflow-y:auto;max-height:none;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-behavior:smooth;display:flex;flex-direction:column;gap:1rem}.story-log .placeholder{color:var(--muted);font-style:italic}.entry{margin-bottom:0;padding:.95rem 1.05rem 1.05rem}.entry.is-jump-target{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent)}.entry .label{display:inline-flex;align-items:center;width:fit-content;padding:.12rem .6rem;border-radius:999px;border:1px solid var(--border);font-family:JetBrains Mono,monospace;font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1.45}.entry.player .label{color:var(--player);background:color-mix(in srgb,var(--player) 16%,transparent);border-color:color-mix(in srgb,var(--player) 42%,var(--border))}.entry.narrator .label{color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent);border-color:color-mix(in srgb,var(--accent) 42%,var(--border))}.entry .text{font-family:var(--font-story, "IBM Plex Serif", Georgia, serif);margin:.35rem 0 0;white-space:pre-wrap}.tts-text,.tts-word{-webkit-user-select:text;user-select:text;cursor:text}.tts-word{border-radius:.18em;transition:color .08s ease,background-color .08s ease}.tts-word.is-active{color:var(--accent);background:color-mix(in srgb,var(--accent) 22%,transparent);box-shadow:0 0 .55em color-mix(in srgb,var(--accent) 35%,transparent)}.tts-quote{font-style:italic;cursor:help}.tts-quote:focus{outline:1px dotted color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}.speaker-popover-anchor{pointer-events:auto}.speaker-popover{position:relative;max-width:16rem;padding:.7rem .8rem .85rem;box-shadow:0 12px 32px color-mix(in srgb,#000 40%,transparent),0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent)}.speaker-popover:after{content:"";position:absolute;left:1.1rem;bottom:-6px;border:6px solid transparent;border-top-color:var(--panel);border-bottom-width:0}.speaker-popover .btn{margin-top:.45rem}.place-tree,.entity-list{list-style:none;padding:0;margin:.55rem 0 0}.place-tree li,.entity-list li{margin:.25rem 0}.place-tree .btn,.entity-list .btn{font-size:.78rem}.entry-head{display:flex;align-items:center;gap:.45rem}.entry-tokens{font-family:JetBrains Mono,monospace;font-size:.62rem;color:var(--muted);letter-spacing:.03em}.input-row{display:flex;gap:.55rem;padding:.85rem 1rem 1rem;border-top:1px solid var(--border);align-items:flex-end}.input-row textarea{flex:1;resize:vertical;min-height:2.5rem;font-family:var(--font-input, "IBM Plex Serif", Georgia, serif)}.input-row .btn{width:auto;align-self:flex-end;flex-shrink:0}.input-row.is-busy textarea{opacity:.72;cursor:wait}.input-row.is-busy .btn-with-spinner.is-loading{border-color:var(--accent)}.error{color:var(--error);padding:0 1rem 1rem;font-size:.9rem}.retry-banner{margin:0 1rem;padding:1rem 1.1rem;border-radius:8px;border:1px solid #7c5a3a;background:linear-gradient(135deg,#c9a2271f,#e0707014);display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;animation:retry-in .35s ease}@keyframes retry-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.retry-banner .retry-icon{flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;background:#e0707026;border:1px solid rgba(224,112,112,.35)}.retry-banner .retry-copy{flex:1;min-width:12rem}.retry-banner .retry-title{margin:0;font-family:JetBrains Mono,monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.retry-banner .retry-message{margin:.25rem 0 0;font-size:.92rem;color:var(--text)}.retry-banner .retry-actions{display:flex;gap:.5rem;flex-shrink:0}.retry-banner .btn-retry{width:auto;padding:.55rem 1.15rem;background:var(--accent-dim);border-color:var(--accent);color:#fff}.retry-banner .btn-retry:hover:not(:disabled){background:var(--accent)}.retry-banner .btn-undo{width:auto;padding:.55rem .85rem;border-color:var(--border);color:var(--muted)}.retry-banner .btn-undo:hover:not(:disabled){color:var(--text);border-color:var(--accent)}.retry-banner .btn-dismiss{width:auto;padding:.55rem .85rem;color:var(--muted)}.retry-banner.busy .btn-retry{opacity:.7;pointer-events:none}.entry.pending-narrator{opacity:.55;font-style:italic}.entry.pending-narrator .label{color:var(--muted);background:color-mix(in srgb,var(--muted) 12%,transparent);border-color:var(--border)}.entry.pending-narrator .text:after{content:" …";animation:ellipsis 1.2s steps(4,end) infinite}@keyframes ellipsis{0%{content:""}25%{content:"."}50%{content:".."}75%,to{content:"..."}}.status-panel .status-hint{margin:.35rem 0 0;font-size:.75rem;color:var(--muted);line-height:1.35}.status-panel .status-hint code{font-family:JetBrains Mono,monospace;font-size:.72rem}.status-panel,.status-panel dl{font-family:var(--font-status, "IBM Plex Serif", Georgia, serif)}.status-panel dl{margin:0;font-size:.85rem}.status-panel dt{color:var(--muted);margin-top:.5rem}.status-panel dt.status-section{margin-top:.85rem;padding-top:.5rem;border-top:1px solid var(--border);color:var(--text);font-size:.8rem}.status-panel dt.status-section code{font-family:JetBrains Mono,monospace;font-size:.72rem;color:var(--accent-dim)}.status-panel dd{margin:.15rem 0 0}.status-panel .theme-muted{color:var(--muted);font-style:italic}.theme-palette .palette-name{font-weight:600;text-transform:capitalize;color:var(--accent)}.atmosphere-block{display:flex;flex-direction:column;gap:.35rem}.atmosphere-row{display:grid;grid-template-columns:4.5rem 1fr 2.25rem;align-items:center;gap:.35rem}.atmosphere-label{font-size:.78rem;color:var(--muted)}.atmosphere-meter{width:100%;height:.45rem;accent-color:var(--accent)}.atmosphere-val{font-family:JetBrains Mono,monospace;font-size:.72rem;text-align:right;color:var(--muted)}.theme-directives .theme-line{margin:.2rem 0;line-height:1.4}.theme-line code{font-family:JetBrains Mono,monospace;font-size:.78rem}.color-swatch{display:inline-block;width:.85rem;height:.85rem;margin-right:.35rem;border-radius:2px;border:1px solid var(--border);vertical-align:middle}.theme-raw{margin-top:.45rem}.theme-raw summary{cursor:pointer;color:var(--muted);font-size:.78rem}.theme-raw summary code{font-family:JetBrains Mono,monospace;font-size:.72rem}.theme-raw pre{margin:.35rem 0 0;padding:.5rem;max-height:10rem;overflow:auto;font-family:JetBrains Mono,monospace;font-size:.68rem;line-height:1.35;background:var(--panel);border:1px solid var(--border);border-radius:4px;white-space:pre-wrap;word-break:break-word}.theme-stale-warn{color:var(--error);font-size:.85em}.still-strip{display:flex;gap:.45rem;margin-top:.65rem;overflow-x:auto}.still-thumb{height:72px;width:auto;max-width:128px;object-fit:cover;border-radius:4px;border:1px solid var(--border);display:block;background:var(--panel)}.still-open{padding:0;border:none;background:transparent;cursor:pointer;line-height:0}.still-pending,.still-failed{height:72px;min-width:88px;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--muted);border:1px dashed var(--border);border-radius:4px}.still-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:color-mix(in srgb,#000 62%,transparent);display:flex;align-items:center;justify-content:center;padding:1.5rem}.still-lightbox img{max-width:min(96vw,960px);max-height:88vh;border-radius:6px;border:1px solid var(--border)}.recap-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0a0a0f;display:flex;flex-direction:column}.recap-toolbar{display:flex;gap:.5rem;padding:.75rem 1rem}.recap-slide{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center}.recap-slide img{max-width:92vw;max-height:78vh;object-fit:contain;animation:kenburns 8s ease-in-out alternate infinite}.recap-caption{color:var(--muted);margin:.75rem 1rem 0}@keyframes kenburns{0%{transform:scale(1) translate(0)}to{transform:scale(1.08) translate(-1.5%,-1%)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.story-log{scroll-behavior:auto}}.play-area{min-width:0}.play-area>.story{min-width:0}.story-body{flex:1;min-height:0;display:flex;flex-direction:column}.ask-column{display:flex;flex-direction:column;min-height:0;min-width:0;height:100%}.play-layout .play-area:has(.ask-toggle){grid-template-columns:minmax(0,1fr) 2.75rem}.ask-column[hidden]{display:none!important}.ask-column.is-collapsed .ask-panel{display:none}.ask-column.is-collapsed .ask-toggle{display:flex}.ask-toggle{flex:1;width:100%;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.04em}.ask-panel{flex:1;display:flex;flex-direction:column;min-height:0;height:100%;margin:0;padding:0;overflow:hidden;box-shadow:none}.ask-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:.85rem 1rem;border-bottom:1px solid var(--border);flex-shrink:0}.ask-panel-title{margin:0;font-size:1rem;font-weight:600}.ask-panel-hint{margin:.3rem 0 0;font-size:.75rem;color:var(--muted);line-height:1.4}.ask-close{flex-shrink:0}.ask-log{flex:1;min-height:12rem;overflow-y:auto;padding:.85rem 1rem;font-size:.88rem;overscroll-behavior:contain}.ask-placeholder{margin:0;color:var(--muted);font-style:italic;font-size:.82rem}.ask-error{margin:0 0 .5rem;padding:.4rem .5rem;font-size:.78rem;color:var(--danger, #c44);background:color-mix(in srgb,var(--danger, #c44) 12%,transparent);border-radius:4px}.ask-entry{margin-bottom:.75rem}.ask-entry-label{display:inline-flex;align-items:center;width:fit-content;padding:.12rem .55rem;border-radius:999px;border:1px solid var(--border);font-family:JetBrains Mono,monospace;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.3rem}.ask-entry--you .ask-entry-label{color:var(--player);background:color-mix(in srgb,var(--player) 16%,transparent);border-color:color-mix(in srgb,var(--player) 42%,var(--border))}.ask-entry--narrator .ask-entry-label{color:var(--narrator, var(--accent));background:color-mix(in srgb,var(--narrator, var(--accent)) 16%,transparent);border-color:color-mix(in srgb,var(--narrator, var(--accent)) 42%,var(--border))}.ask-entry-text{line-height:1.5;white-space:pre-wrap;word-break:break-word}.ask-form{display:flex;flex-direction:column;gap:.5rem;padding:.65rem 1rem .85rem;border-top:1px solid var(--border);flex-shrink:0}.ask-form textarea{resize:vertical;min-height:3.25rem;max-height:8rem;font-size:.88rem}.ask-form.is-busy{opacity:.85}.ask-send{align-self:flex-end}@media(max-width:1024px){.play-layout .play-area,.play-layout .play-area:has(.ask-toggle){grid-template-columns:1fr}.ask-column{height:auto;max-height:42vh}.ask-panel{min-height:0;max-height:42vh}.ask-toggle{writing-mode:horizontal-tb;min-height:2.4rem}}body.admin-page{margin:0;min-height:100vh;background:var(--bg);color:var(--text)}.admin-shell{max-width:1280px;margin:0 auto;padding:0 1.25rem 3rem}.admin-header{padding:1.25rem 0 .75rem;border-bottom:1px solid var(--border);margin-bottom:.75rem}.admin-header-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.admin-brand{display:flex;align-items:baseline;gap:.65rem}.admin-brand-link{font-family:"IBM Plex Serif",Georgia,serif;font-size:1.35rem;font-weight:600;color:var(--text);text-decoration:none}.admin-brand-link:hover{color:var(--accent)}.admin-brand-badge{font-family:JetBrains Mono,monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;padding:.2rem .45rem;border-radius:3px;background:color-mix(in srgb,var(--accent) 18%,var(--panel));border:1px solid var(--accent);color:var(--accent)}.site-nav{display:flex;gap:.35rem}.site-nav-link{font-family:JetBrains Mono,monospace;font-size:.78rem;padding:.4rem .75rem;border-radius:4px;text-decoration:none;color:var(--muted);border:1px solid transparent;transition:color .15s,border-color .15s,background .15s}.site-nav-link:hover{color:var(--text);border-color:var(--border)}.site-nav-link--active{color:var(--text);background:var(--panel);border-color:var(--border)}.admin-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}.admin-updated{font-size:.75rem;color:var(--muted);font-family:JetBrains Mono,monospace}.admin-auto-refresh{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--muted);cursor:pointer}.admin-auto-refresh input{width:auto;margin:0}.admin-status-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.5rem 0 1rem}.admin-status-pill{font-family:JetBrains Mono,monospace;font-size:.72rem;padding:.25rem .55rem;border-radius:999px;border:1px solid var(--border);background:var(--panel)}.admin-status-pill.ok{border-color:var(--ok-border, hsl(130 35% 38%));color:var(--ok-text, hsl(130 45% 55%))}.admin-status-pill.fail{border-color:var(--error);color:var(--error)}.admin-status-pill.warn{border-color:#a67b30;color:#e4a944}.admin-status-pill.checking{color:var(--muted)}.admin-status-meta{font-size:.75rem;color:var(--muted)}.admin-main{display:flex;flex-direction:column;gap:1.5rem}.admin-section-title{margin:0 0 .65rem;font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.admin-section-desc{margin:-.35rem 0 .85rem;font-size:.8rem;color:var(--muted);line-height:1.4}.admin-section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem;margin-bottom:.65rem}.admin-section-head .admin-section-title{margin:0}.admin-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.75rem}.admin-kpi{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.25rem}.admin-kpi-value{font-size:1.75rem;font-weight:600;line-height:1.1;font-family:JetBrains Mono,monospace;color:var(--text)}.admin-kpi-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.admin-kpi-sub{font-size:.75rem;color:var(--muted);margin-top:.15rem}.admin-columns{display:grid;grid-template-columns:1fr 300px;gap:1.25rem;align-items:start}@media(max-width:960px){.admin-columns{grid-template-columns:1fr}}.admin-model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem}.admin-model-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:.85rem 1rem}.admin-model-card--cooldown{opacity:.65;border-style:dashed}.admin-model-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.65rem}.admin-model-name{font-family:JetBrains Mono,monospace;font-size:.78rem;word-break:break-all}.admin-model-role{font-size:.65rem;text-transform:uppercase;color:var(--muted)}.admin-quota-metrics{display:flex;flex-direction:column;gap:.45rem}.admin-quota-metric{display:grid;grid-template-columns:2rem 1fr 4.5rem;align-items:center;gap:.4rem;font-size:.72rem}.admin-quota-bar{height:6px;border-radius:3px;background:color-mix(in srgb,var(--border) 60%,transparent);overflow:hidden}.admin-quota-bar-fill{height:100%;width:var(--quota-pct, 0%);background:var(--accent-dim);border-radius:3px;transition:width .3s ease}.admin-quota-bar-fill--warm{background:#c38822}.admin-quota-bar-fill--hot{background:var(--error)}.admin-search{max-width:16rem;margin:0;font-size:.85rem}.admin-filters{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.admin-filters select{width:auto;min-width:9rem;margin:0;font-size:.8rem}.admin-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.admin-table-wrap--logs{max-height:420px;overflow-y:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.82rem}.admin-table th{text-align:left;padding:.55rem .75rem;font-family:JetBrains Mono,monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 50%,var(--panel));position:sticky;top:0;z-index:1}.admin-table td{padding:.5rem .75rem;border-bottom:1px solid color-mix(in srgb,var(--border) 55%,transparent);vertical-align:middle}.admin-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.admin-table code{font-size:.78rem}.admin-cell-title{font-weight:600;display:block}.admin-cell-sub{font-size:.72rem;color:var(--muted)}.admin-badge{display:inline-block;font-family:JetBrains Mono,monospace;font-size:.65rem;padding:.15rem .4rem;border-radius:3px;text-transform:uppercase}.admin-badge--story{background:color-mix(in srgb,var(--accent) 20%,var(--panel));color:var(--accent)}.admin-badge--memory{background:color-mix(in srgb,hsl(190 50% 40%) 25%,var(--panel));color:#70c9db}.admin-badge--ask{background:color-mix(in srgb,hsl(270 45% 45%) 22%,var(--panel));color:#b890df}.admin-badge--probe{background:color-mix(in srgb,hsl(160 40% 38%) 20%,var(--panel));color:#6ecfae}.admin-badge--ok{color:var(--ok-text, hsl(130 45% 55%))}.admin-badge--fail{color:var(--error)}.admin-badge--warn{color:#e8a530;border:1px solid hsl(38 50% 40%)}.admin-btn-link{font-family:JetBrains Mono,monospace;font-size:.72rem;padding:.25rem .5rem;border:1px solid var(--border);border-radius:4px;background:transparent;color:var(--accent);cursor:pointer}.admin-btn-link:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.admin-panel-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:1rem}.admin-panel-card-title{margin:0 0 .75rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.admin-dl{margin:0;font-size:.82rem}.admin-dl dt{color:var(--muted);margin-top:.5rem;font-size:.72rem}.admin-dl dt:first-child{margin-top:0}.admin-dl dd{margin:.1rem 0 0;word-break:break-word}.admin-purpose-chart{display:flex;flex-direction:column;gap:.5rem}.admin-purpose-row{display:grid;grid-template-columns:4.5rem 1fr 2rem;align-items:center;gap:.5rem;font-size:.78rem}.admin-purpose-bar{height:8px;background:color-mix(in srgb,var(--border) 50%,transparent);border-radius:4px;overflow:hidden}.admin-purpose-bar-fill{height:100%;background:var(--accent);border-radius:4px}.admin-probe{font-size:.82rem;margin-bottom:.65rem;line-height:1.45}.admin-probe.ok{color:var(--ok-text, hsl(130 45% 55%))}.admin-probe.fail{color:var(--error)}.admin-muted{color:var(--muted);font-style:italic}.admin-error{color:var(--error)}.admin-dialog{width:min(920px,96vw);max-height:90vh;border:1px solid var(--border);border-radius:10px;padding:0;background:var(--panel);color:var(--text);box-shadow:0 12px 48px #00000073}.admin-dialog::backdrop{background:#0000008c}.admin-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.15rem;border-bottom:1px solid var(--border)}.admin-dialog-title{margin:0;font-size:1rem}.admin-dialog-close{font-size:1.5rem;line-height:1;border:none;background:none;color:var(--muted);cursor:pointer;padding:.25rem .5rem}.admin-dialog-close:hover{color:var(--text)}.admin-dialog-meta{padding:.65rem 1.15rem;font-size:.78rem;font-family:JetBrains Mono,monospace;color:var(--muted);border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}.admin-dialog-tabs{display:flex;flex-wrap:wrap;gap:.25rem;padding:.5rem 1rem 0;border-bottom:1px solid var(--border)}.admin-tab{font-family:JetBrains Mono,monospace;font-size:.72rem;padding:.4rem .65rem;border:none;border-bottom:2px solid transparent;background:none;color:var(--muted);cursor:pointer;margin-bottom:-1px}.admin-tab:hover{color:var(--text)}.admin-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.admin-dialog-body{padding:1rem 1.15rem 1.25rem;overflow:auto;max-height:calc(90vh - 12rem)}.admin-pre{margin:0;padding:.85rem 1rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;font-family:JetBrains Mono,monospace;font-size:.72rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;max-height:50vh;overflow:auto}.admin-pre--json{color:color-mix(in srgb,var(--text) 90%,var(--accent))}.header .site-nav{margin-top:.5rem}.header .header-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem}.header .header-brand{flex:1;min-width:12rem}.health-table-wrap{max-height:min(70vh,36rem)}.health-probe-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.health-probe-steps li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-shell:has(.play-layout){height:100vh;overflow:hidden}.top-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.5rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--panel) 88%,transparent)}.brand{display:inline-flex;align-items:center;gap:.65rem;font-size:1.08rem;font-weight:600;letter-spacing:.03em;color:var(--accent);text-decoration:none}.brand-mark-wrap{position:relative;width:2.45rem;height:2.45rem;flex-shrink:0;border-radius:.72rem;overflow:hidden;isolation:isolate;background:color-mix(in srgb,var(--panel) 62%,var(--bg));box-shadow:0 0 0 1px color-mix(in srgb,var(--border) 65%,var(--accent) 35%),0 8px 18px color-mix(in srgb,var(--bg) 70%,transparent);transition:box-shadow 1.4s ease,background-color 1.4s ease}.brand-mark-wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 42%,transparent),color-mix(in srgb,var(--bg) 58%,transparent));mix-blend-mode:multiply}.brand-mark{width:100%;height:100%;display:block;object-fit:contain;object-position:center}.header .site-nav,.top-bar .site-nav{display:flex;gap:.35rem}.site-nav-link{font-family:JetBrains Mono,monospace;font-size:.78rem;color:var(--muted);text-decoration:none;padding:.35rem .65rem;border-radius:4px}.site-nav-link:hover,.site-nav-link.active{color:var(--text);background:color-mix(in srgb,var(--accent) 12%,transparent)}.page-pad{padding:1.5rem;max-width:52rem;margin:0 auto}.home-page{padding:2.5rem 1.5rem 3rem;max-width:40rem;margin:0 auto;width:100%;flex:1;min-height:0}.home-page--prompt{display:flex;flex-direction:column}.home-page .tagline{margin:0 0 1.25rem}.home-prompt{flex:1;display:flex;flex-direction:column;justify-content:center;gap:.85rem;padding:1.5rem 0 2.5rem}.home-prompt-title{margin:0;text-align:center;font-size:1.7rem;font-weight:650;letter-spacing:.01em}.home-prompt-hint{margin:0;text-align:center;color:var(--muted)}.home-prompt-box{display:flex;flex-direction:column;gap:0;padding:.85rem .95rem .75rem}.home-prompt-box textarea{min-height:6rem;resize:vertical;background:transparent;border:none;box-shadow:none;margin:0;padding:.35rem .2rem;font-size:1.02rem}.home-prompt-box textarea:focus{outline:none;border:none;box-shadow:none}.home-prompt-box .input-row{border-top:none;padding:.55rem 0 .15rem;justify-content:flex-end}.home-prompt-box .input-row .btn.primary{margin-top:0}.home-prompt-box .error{padding:.35rem 0 .15rem}.home-prompt-alt,.home-form-back{margin:0;text-align:center}.home-prompt-alt .btn,.home-form-back .btn{width:auto;display:inline-flex}.home-form-back{grid-column:1 / -1;text-align:left;margin-bottom:.25rem}.home-resume{margin:0 0 1.5rem;color:var(--muted)}.home-form .btn.primary{margin-top:.75rem}.play-layout{display:grid;grid-template-columns:minmax(14rem,18rem) 1fr;gap:0;flex:1;min-height:0;overflow:hidden}.play-layout .sidebar{padding:0;border-right:1px solid var(--border);min-height:0;overflow:hidden;display:flex;flex-direction:column}.play-layout .play-area{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,20rem);min-height:0;overflow:hidden;gap:1.15rem;padding:1.1rem 1.2rem 1.2rem}.play-layout .story{max-height:none;min-height:0;height:100%;border-radius:10px;border:1px solid var(--border)}.play-layout .ask-column{min-height:0;padding-right:0}.play-layout .ask-panel{min-height:0;max-height:none;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--panel) 72%,transparent)}.character-sheet{margin:0;height:auto;min-height:100%;border:none;border-radius:0;padding:1.15rem 1.2rem 1.5rem;background:color-mix(in srgb,var(--panel) 62%,transparent)}.character-sheet h2{margin:.1rem 0 0;font-size:1.35rem;font-weight:650;line-height:1.2;letter-spacing:0;text-transform:none;color:var(--text)}.sheet-hero{padding-bottom:.9rem;border-bottom:1px solid var(--border)}.sheet-kicker{margin:0;font-family:JetBrains Mono,monospace;font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.sheet-place{margin:.35rem 0 0;color:var(--muted);font-size:.88rem;line-height:1.35}.sheet-lore{margin:.4rem 0 0;font-size:.78rem;color:var(--accent);line-height:1.35}.sheet-stats{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin:.9rem 0 0}.sheet-stat{display:flex;flex-direction:column;gap:.15rem;padding:.45rem .55rem;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--bg) 55%,transparent)}.sheet-stat span{font-family:JetBrains Mono,monospace;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.sheet-stat strong{font-size:.92rem;font-weight:600;overflow-wrap:anywhere}.sheet-section{margin-top:1rem}.sheet-section h3{margin:0 0 .45rem;font-family:JetBrains Mono,monospace;font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.sheet-chips{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:0;padding:0}.sheet-chips li{padding:.18rem .5rem;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--accent) 10%,var(--panel));font-size:.78rem}.sheet-empty{margin:0;color:var(--muted);font-size:.82rem;font-style:italic}.sheet-voices{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.sheet-voices li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.85rem}.sheet-voice-pill{flex-shrink:0;padding:.1rem .5rem;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--panel) 80%,var(--bg));font-family:JetBrains Mono,monospace;font-size:.68rem;color:var(--accent)}.voice-row{margin-top:.35rem;grid-template-columns:1fr 1fr;align-items:stretch}.voice-row .voice-picker{display:flex;flex-direction:column;min-height:100%}.voice-row .voice-picker-trigger{flex:1}.voice-preview-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 0}.voice-preview-row .btn{width:auto;flex:1;margin-top:0}.voice-hint{margin:.5rem 0 0;font-size:.78rem;color:var(--muted)}.entry-actions{margin-top:.55rem}.entry-action-row{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.entry-actions .btn.icon{width:2rem;height:2rem;min-width:2rem}.entry-voice select{font-size:.72rem;padding:.28rem .55rem;max-width:9rem;border-radius:999px}.entry-tts-status,.mic-hint{margin:.35rem 0 0;font-size:.75rem;color:var(--muted)}.tts-volume{display:inline-flex;align-items:center;min-width:5.5rem}.tts-volume input[type=range]{width:5.5rem;height:.45rem;accent-color:var(--accent)}.narration-menu{position:fixed;z-index:50;min-width:12rem;margin:0;padding:.35rem;display:flex;flex-direction:column;gap:.2rem}.narration-menu .btn{width:100%;text-align:left}.tweak-form{display:flex;gap:.35rem;margin-top:.45rem}.tweak-form input{flex:1;font-size:.82rem}.mic-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;align-self:flex-end}.tweak-form .btn.icon{width:2.15rem;height:2.15rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.settings-page{max-width:42rem}.settings-page h1{margin:0 0 .4rem}.settings-stack{display:flex;flex-direction:column;gap:1rem;margin-top:1.25rem}.settings-stack .panel{margin:0;padding:1.15rem 1.2rem 1.25rem}.settings-stack .panel h2{margin:0 0 .95rem}.settings-stack .toggle{margin-top:.35rem}.settings-dl{display:grid;grid-template-columns:8rem 1fr;gap:.45rem 1rem;margin:0}.settings-dl dt{color:var(--muted);font-size:.8rem}.library-page .saves-list{list-style:none;padding:0;margin:1rem 0 0}.sidebar-tabs{display:flex;flex-wrap:wrap;gap:.4rem;padding:.75rem .85rem;border-bottom:1px solid var(--border);flex-shrink:0}.sidebar-tabs .btn{flex:1 1 auto;font-size:.72rem;min-width:4.4rem;margin-top:0;padding:.45rem .55rem}.sidebar-body{flex:1;min-height:0;overflow-y:auto;scrollbar-gutter:stable}.inspector-panel .journey-field{margin-bottom:.55rem}.inspector-pre{margin:.35rem 0 0;white-space:pre-wrap;word-break:break-word;font-size:.72rem;font-family:JetBrains Mono,monospace;max-height:none;line-height:1.45}.inspector-pre.it-scroll-y{max-height:14rem}.inspector-agents{list-style:none;padding:0;margin:.55rem 0 0;display:flex;flex-direction:column;gap:.3rem}.inspector-agents li{display:flex;align-items:center;gap:.45rem;font-size:.75rem}.inspector-agents code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;font-family:JetBrains Mono,monospace;font-size:.68rem;color:var(--muted)}.inspector-tok{margin-left:.35rem;font-family:JetBrains Mono,monospace;font-size:.62rem;color:var(--muted)}.context-meter-wrap{margin-top:.45rem}.context-meter{display:flex;height:.7rem;border-radius:4px;overflow:hidden;border:1px solid var(--border);background:color-mix(in srgb,var(--panel) 70%,var(--bg))}.context-meter-seg,.context-meter-free{min-width:0;height:100%}.context-meter-seg[data-id=prompt],.context-meter-seg[data-id=system]{background:var(--accent)}.context-meter-seg[data-id=world]{background:color-mix(in srgb,var(--player) 55%,var(--accent))}.context-meter-seg[data-id=memory]{background:color-mix(in srgb,var(--muted) 35%,var(--accent))}.context-meter-seg[data-id=story],.context-meter-seg[data-id=user]{background:var(--player)}.context-meter-seg[data-id=meta],.context-meter-seg[data-id=output]{background:color-mix(in srgb,var(--border) 60%,var(--muted))}.context-meter-seg[data-id=entities]{background:color-mix(in srgb,var(--accent) 45%,var(--player))}.context-meter-free{background:transparent}.context-meter-caption{margin:.4rem 0 0;font-size:.72rem;font-family:JetBrains Mono,monospace;color:var(--muted)}.context-legend{list-style:none;padding:0;margin:.45rem 0 0;font-size:.72rem;font-family:JetBrains Mono,monospace}.context-legend li{display:flex;justify-content:space-between;gap:.5rem}.context-swatch{width:.55rem;height:.55rem;border-radius:2px;display:inline-block;margin-right:.35rem;vertical-align:-.05rem;background:var(--muted)}.context-swatch[data-id=prompt],.context-swatch[data-id=system]{background:var(--accent)}.context-swatch[data-id=world]{background:color-mix(in srgb,var(--player) 55%,var(--accent))}.context-swatch[data-id=memory]{background:color-mix(in srgb,var(--muted) 35%,var(--accent))}.context-swatch[data-id=story],.context-swatch[data-id=user]{background:var(--player)}.context-swatch[data-id=meta],.context-swatch[data-id=output]{background:color-mix(in srgb,var(--border) 60%,var(--muted))}.context-swatch[data-id=entities]{background:color-mix(in srgb,var(--accent) 45%,var(--player))}.inspector-list,.inspector-calls{list-style:none;padding:0;margin:0}.inspector-list li{margin-bottom:.65rem}.inspector-list p{margin:.25rem 0 0;font-size:.82rem;color:var(--muted)}.inspector-calls{display:flex;flex-direction:column;gap:.35rem}.inspector-calls .btn{width:100%;justify-content:flex-start;font-size:.72rem}.inspector-call-detail{display:flex;flex-direction:column;gap:.5rem;margin:.4rem 0 .7rem}.voice-picker{position:relative}.voice-picker-trigger{width:100%;justify-content:flex-start;align-items:stretch;flex-direction:column;gap:.4rem;height:auto;min-height:2.4rem;padding:.55rem .75rem;text-align:left;white-space:normal}.voice-picker-trigger-copy{display:flex;flex-direction:column;gap:.35rem;flex:1;min-width:0;width:100%}.voice-picker-trigger .voice-pills{margin-top:auto}.voice-picker-name{font-family:var(--font-story);font-size:.95rem;font-weight:600}.voice-picker-trigger--compact{width:auto;max-width:16rem;min-height:2rem;padding:.25rem .65rem;flex-direction:row;align-items:center}.voice-picker-trigger--compact .voice-picker-trigger-copy{flex-direction:row;flex-wrap:wrap;align-items:center}.voice-picker-trigger--compact .voice-pills{margin-top:0}.voice-picker-trigger--compact .voice-picker-name{font-size:.8rem}.voice-pills{display:flex;flex-wrap:wrap;gap:.25rem}.voice-pill{display:inline-flex;padding:.08rem .45rem;border-radius:999px;border:1px solid var(--border);font-family:JetBrains Mono,monospace;font-size:.62rem;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.voice-picker-menu{display:none}.voice-picker-option{width:100%;height:auto;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.55rem .65rem;text-align:left;white-space:normal}.voice-picker-option-head{display:flex;justify-content:space-between;width:100%;gap:.5rem}.voice-picker-blurb{font-size:.75rem;color:var(--muted)}.voice-grade{font-family:JetBrains Mono,monospace;font-size:.68rem;color:var(--accent)}.voices-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end}.voices-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.85rem;list-style:none;padding:0;margin:1rem 0 0}.voice-card{padding:1rem 1.1rem 1.15rem;margin:0;display:flex;flex-direction:column;gap:.5rem}.voice-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.voice-card h2{margin:0;font-size:1.05rem}.voice-card-blurb{margin:0;font-size:.85rem;color:var(--muted);flex:1}.voice-card-foot{display:flex;flex-direction:column;gap:.55rem;margin-top:auto}.voice-card-preview{margin-top:0}.voice-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:color-mix(in srgb,var(--bg) 55%,rgba(0,0,0,.45))}.voice-modal{width:min(56rem,100%);max-height:min(42rem,90vh);margin:0;display:flex;flex-direction:column;padding:0;overflow:hidden}.voice-modal-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.95rem 1.1rem;border-bottom:1px solid var(--border)}.voice-modal-head h2{margin:0;font-size:1.15rem}.voice-modal-head .btn.icon{width:2.15rem}.voice-modal-toolbar{display:flex;flex-wrap:wrap;gap:.65rem;align-items:end;padding:.85rem 1.1rem;border-bottom:1px solid var(--border)}.voice-modal-toolbar .admin-search{flex:1 1 12rem;min-width:10rem}.voice-modal-toolbar .journey-field{margin:0;min-width:7.5rem}.voice-modal-list{list-style:none;margin:0;padding:.5rem .65rem .85rem;min-height:0;flex:1}.voice-modal-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:start;padding:.7rem .75rem;border-radius:8px}.voice-modal-row.is-active{background:color-mix(in srgb,var(--accent) 12%,transparent)}.voice-modal-copy{display:flex;flex-direction:column;gap:.28rem;min-width:0}.voice-modal-actions{display:flex;gap:.4rem;flex-shrink:0;align-self:start;padding-top:.1rem}.voice-modal-actions .btn{width:auto;margin:0;min-width:5.5rem}.voice-modal .sheet-empty{padding:0 1.1rem 1rem}.home-continue{margin:0 0 1.75rem}.home-continue h2{margin:0 0 .55rem;font-size:.78rem;font-family:JetBrains Mono,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.home-continue-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem;max-height:10rem;overflow:auto}.home-continue-list .btn{width:100%;display:flex;justify-content:space-between}.home-continue-meta{color:var(--muted);font-size:.75rem;font-family:JetBrains Mono,monospace}.admin-page .admin-header-actions{display:flex;gap:.5rem;align-items:center;margin-bottom:1.25rem}.admin-log-list{font-family:JetBrains Mono,monospace;font-size:.75rem;padding-left:1.1rem}@media(max-width:960px){.play-layout,.play-layout .play-area{grid-template-columns:1fr}.play-layout .sidebar{border-right:none;border-bottom:1px solid var(--border)}}.auth-page{max-width:26rem}.auth-brand{display:inline-flex;align-items:center;gap:.55rem;margin-bottom:1.25rem;color:var(--text);text-decoration:none;font-weight:600}.auth-panel h1{margin:0 0 1rem;font-size:1.35rem}.auth-form{display:grid;gap:.7rem}.auth-or{text-align:center;color:var(--muted);font-size:.8rem;margin:.75rem 0}.auth-footer{margin-top:1rem;color:var(--muted);font-size:.85rem}.auth-banner{margin:0;padding:.65rem 1.5rem;background:color-mix(in srgb,var(--accent) 12%,var(--panel));border-bottom:1px solid var(--border);font-size:.85rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.auth-banner .btn{width:auto;margin:0}button.site-nav-link--btn{background:none;border:none;width:auto;margin:0;font-family:inherit}.admin-invite-row{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:end;margin-bottom:1rem}.admin-invite-row .btn{width:auto;margin-top:0}
