:root{--bg:#080a0c;--ink:#dedfda;--ink-dim:#a0a6ad;--magenta:#eb8fd8;--cyan:#79dce8;--green:#a3db96;--rule:#23282d;--rule-strong:#3a4147;--measure:70ch;--tap:44px;--mono:ui-monospace, "SF Mono", SFMono-Regular, "Cascadia Mono", Menlo, Consolas, "DejaVu Sans Mono", "Liberation Mono", monospace}*{box-sizing:border-box}html,body{background:var(--bg);margin:0;padding:0}body{color:var(--ink);font-family:var(--mono);-webkit-text-size-adjust:100%;font-variant-ligatures:none;font-size:18px;line-height:1.6}#root{min-height:100dvh}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.skip-link{z-index:50;background:var(--bg);color:var(--cyan);border:1px solid var(--cyan);padding:.5rem .75rem;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.tint-mystery{color:var(--magenta)}.tint-interactive{color:var(--cyan)}.tint-success{color:var(--green)}.btn{font:inherit;color:var(--cyan);border:1px solid var(--rule-strong);min-height:var(--tap);text-align:left;cursor:pointer;background:0 0;padding:.4rem .7rem}.btn:hover:not(:disabled),.btn:focus-visible{border-color:var(--cyan);text-decoration:underline}.btn:disabled{color:var(--ink-dim);border-color:var(--rule);cursor:not-allowed}.btn[aria-expanded=true]{border-color:var(--cyan);text-decoration:underline}.btn-plain{min-height:auto;color:var(--cyan);border:1px solid #0000;padding:.25rem .4rem}.btn-plain:hover,.btn-plain:focus-visible{border-color:var(--rule-strong);text-decoration:underline}.btn-quiet{color:var(--ink-dim)}.btn-quiet:hover:not(:disabled),.btn-quiet:focus-visible{color:var(--ink);border-color:var(--rule-strong)}.btn-row{flex-wrap:wrap;gap:.4rem;display:flex}.btn-col{flex-direction:column;align-items:stretch;gap:.2rem;display:flex}.start{max-width:var(--measure);margin:0 auto;padding:3rem 1rem 4rem}.start-title{letter-spacing:.22em;text-transform:uppercase;color:var(--magenta);margin:0;font-size:1.5rem;font-weight:400}.start-sub{color:var(--ink-dim);margin:.4rem 0 2.5rem}.start-actions{flex-direction:column;align-items:flex-start;gap:.5rem;margin:1.5rem 0;display:flex}.start-notes{color:var(--ink-dim);border-left:1px solid var(--rule-strong);margin:2rem 0;padding-left:.9rem}.start-notes p{margin:0 0 .5rem}.start-foot{color:var(--ink-dim);margin-top:3rem}.setup-block{border:0;margin:2.5rem 0 0;padding:0}.setup-head{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.14em;margin:0 0 .75rem;padding:0;font-size:1rem;font-weight:400}.setup-prompt{margin:0 0 .75rem}.setup-note{color:var(--ink-dim);margin:.75rem 0 0}.character-btn{min-width:18rem;display:block}.character-name{color:var(--cyan)}.character-blurb{color:var(--ink-dim);display:block}.radio-col{flex-direction:column;gap:.25rem;display:flex}.radio,.check{min-height:var(--tap);cursor:pointer;align-items:baseline;gap:.6rem;padding:.3rem 0;display:flex}.radio input,.check input{accent-color:var(--cyan);flex:none;align-self:flex-start;width:1rem;height:1rem;margin-top:.35em}.radio strong,.check strong{color:var(--cyan);font-weight:400}.app{flex-direction:column;height:100dvh;display:flex;position:relative;overflow:hidden}.app.large-text{font-size:1.15em}.topbar{width:100%;max-width:var(--measure);border-bottom:1px solid var(--rule);flex-wrap:nowrap;flex:none;justify-content:space-between;align-items:center;gap:.5rem;margin:0 auto;padding:.3rem 1rem;display:flex}.topbar-toggle{min-width:0;color:var(--ink);align-items:center;gap:.4rem;padding:.2rem .3rem;display:flex}.topbar-place{text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;text-overflow:ellipsis;font-size:1rem;font-weight:400;overflow:hidden}.topbar-meta{flex-wrap:nowrap;flex:none;gap:0 .1rem;display:flex}.status{width:100%;max-width:var(--measure);border-bottom:1px solid var(--rule);flex:none;margin:0 auto;padding:.3rem 1rem .4rem}.status-sub,.objective{color:var(--ink-dim);margin:0}.objective-tag{color:var(--ink-dim)}.objective-done .objective-text{color:var(--green)}.warn{width:100%;max-width:var(--measure);color:var(--magenta);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);flex:none;margin:0 auto;padding:.4rem 1rem}.main{flex:auto;min-height:0;display:flex;overflow:hidden}.transcript{overscroll-behavior:contain;scroll-behavior:auto;flex:auto;min-height:0;padding:.6rem 1rem .9rem;position:relative;overflow-y:auto}.entry{max-width:var(--measure);margin:0 auto .9rem}.entry:last-child{margin-bottom:0}.entry-head{margin:0 0 .45rem}.entry-title{text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:1rem;font-weight:400}.entry-sub{color:var(--ink-dim);margin:0}.para{white-space:pre-wrap;overflow-wrap:break-word;margin:0 0 .7rem}.para:last-child{margin-bottom:0}em{font-style:italic}.command-line{color:var(--ink-dim);margin:0}.entry-failure .para,.entry-system .para,.entry-options .para,.entry-journal .para{color:var(--ink-dim)}.entry-journal .para{font-style:italic}.entry-objective .para{color:var(--green)}.controls{width:100%;max-width:100%;padding:.45rem 1rem calc(.55rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--rule);overscroll-behavior:contain;flex:none;max-height:34%;margin:0 auto;overflow-y:auto}.controls-type{max-height:none;overflow:visible}@keyframes anchor-nudge{0%{transform:translateY(0)}35%{transform:translateY(3px)}to{transform:translateY(0)}}.controls-nudge{animation:.18s cubic-bezier(.22,1,.36,1) anchor-nudge}.type-input{max-width:var(--measure);margin:0 auto}.type-row{align-items:center;gap:.5rem;display:flex}.type-row:before{content:">";color:var(--cyan);flex:none}.command-field{min-width:0;min-height:var(--tap);font:inherit;color:var(--ink);border:0;border-bottom:1px solid var(--rule-strong);caret-color:var(--cyan);background:0 0;flex:auto;padding:.3rem 0}.command-field:focus{border-bottom-color:var(--cyan);outline:none}.command-field::placeholder{color:var(--ink-dim);opacity:1}.type-hint{color:var(--ink-dim);margin:.3rem 0 0;font-size:.85em}.panel{max-width:min(100%,56rem);margin:0 auto}.panel-section{margin:0 0 .4rem}.panel-section .btn-row{gap:.3rem}.panel-title{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.14em;margin:0 0 .2rem;font-size:.8rem;font-weight:400}.panel-note{color:var(--ink-dim);margin:0}.panel-meta{border-top:1px solid var(--rule);flex-wrap:wrap;gap:.1rem .25rem;margin-top:.4rem;padding-top:.35rem;display:flex}.chip-row{flex-wrap:wrap;gap:.3rem;display:flex}.btn-chip{color:var(--cyan);padding:.3rem .6rem}.category-row{border-bottom:1px solid var(--rule);padding-bottom:.35rem}.btn-category{color:var(--ink-dim)}.btn-category[aria-expanded=true]{color:var(--cyan);border-color:var(--cyan);text-decoration:underline}.chip-count{color:var(--ink-dim)}.category-open{margin-top:.35rem}.chip-held{color:var(--green)}.btn-chip[aria-expanded=true]{border-color:var(--cyan);text-decoration:underline}.chip-actions{border-left:1px solid var(--rule-strong);flex-wrap:wrap;gap:.3rem;margin-top:.3rem;padding-left:.6rem;display:flex}.thing-list{flex-direction:column;gap:.15rem;margin:0;padding:0;list-style:none;display:flex}.thing{padding:0}.btn-thing{border-color:#0000;justify-content:space-between;gap:.75rem;width:100%;min-height:1.9rem;padding:.2rem .4rem;display:flex}.btn-thing:hover,.btn-thing:focus-visible,.btn-thing[aria-expanded=true]{border-color:var(--rule-strong)}.thing-name{color:var(--cyan);padding:.2rem .4rem .05rem;display:block}.thing-actions{padding:.1rem 0 .3rem 1.2rem}.chev{color:var(--ink-dim)}.scrim{z-index:40;background:#080a0ceb;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.dialog{width:100%;max-width:var(--measure);background:var(--bg);border:1px solid var(--rule-strong);padding:1rem 1rem calc(1.5rem + env(safe-area-inset-bottom,0px));margin:2rem 1rem}.dialog-head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem;padding-bottom:.6rem;display:flex}.dialog-head h2{text-transform:uppercase;letter-spacing:.14em;margin:0;font-size:1rem;font-weight:400}.dialog-block{border:0;border-top:1px solid var(--rule);margin:0 0 1.2rem;padding:.8rem 0 0}.dialog-block legend{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.14em;padding:0}.dialog-block .btn-row{margin-bottom:.4rem}.dialog-note{color:var(--ink-dim);margin:.6rem 0 0}.dialog-pre{white-space:pre-wrap}.btn-danger{color:var(--magenta)}.btn-danger:hover:not(:disabled),.btn-danger:focus-visible{border-color:var(--magenta)}.toast{left:50%;bottom:calc(.75rem + env(safe-area-inset-bottom,0px));z-index:60;max-width:min(var(--measure), calc(100vw - 1.5rem));background:var(--bg);border:1px solid var(--rule-strong);align-items:center;gap:.75rem;padding:.5rem .7rem;display:flex;position:fixed;transform:translate(-50%)}@media (pointer:coarse){.btn-plain,.btn-thing,.thing-name{min-height:var(--tap);align-items:center;display:flex}}@media (width<=480px){body{font-size:16px}.transcript{padding:1rem .75rem 1.5rem}.topbar,.objective,.warn,.controls{padding-left:.75rem;padding-right:.75rem}.topbar{flex-wrap:wrap;row-gap:0;padding-top:.15rem;padding-bottom:.15rem}.topbar-toggle{flex:1 0 100%}.topbar-meta{gap:0 .1rem;margin-left:0}.topbar-meta .btn-plain{padding-left:.2rem;padding-right:.2rem}.topbar-sub:before{content:none}.topbar-sub{display:block}.controls{max-height:46%}.controls-type{max-height:none}.character-btn{width:100%;min-width:0}.dialog{border:0;min-height:100dvh;margin:0}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:more){:root{--ink:#fff;--ink-dim:#d2d6da;--rule:#5a6066;--rule-strong:#8a9096}}
