:root{--paper:#f2e9d8;--paper-2:#fbf6ec;--card:#fffdf7;--ink:#221f1a;--ink-soft:#5c5346;--ink-faint:#8e8474;--rule:#d4c6aa;--rule-soft:#e6dbc4;--blue:#1d5b87;--blue-soft:#dceaf3;--red:#a8431f;--red-soft:#f6e2d8;--green:#3c6a37;--green-soft:#e0ecda;--amber:#916012;--mono:ui-monospace,"SF Mono","Cascadia Mono",Menlo,Consolas,monospace;--sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--shadow:0 1px 0 var(--rule),0 2px 8px rgb(60 45 20 / 8%);--radius:3px}*{box-sizing:border-box}html,body{height:100%}html{overflow:hidden}body{margin:0;background:repeating-linear-gradient(0deg,transparent 0 27px,rgb(180 160 120 / 8%) 27px 28px),var(--paper);color:var(--ink);font:16px/1.55 var(--sans);display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:10px 18px;background:var(--ink);color:var(--paper-2);border-bottom:3px solid var(--blue)}.brand{display:flex;align-items:baseline;gap:8px}.brand-mark{color:var(--blue);font-size:20px;line-height:1}.brand-name{font:700 17px/1 var(--mono);letter-spacing:0.14em;text-transform:uppercase}.status{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font:13px/1 var(--mono)}.chip{padding:5px 9px;border-radius:var(--radius);background:rgb(255 255 255 / 10%);white-space:nowrap}.chip.clock{background:var(--blue);font-weight:700;letter-spacing:0.06em}.chip.rank{background:rgb(255 255 255 / 16%)}.chip.hot{background:var(--red)}main{flex:1 1 auto;width:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.title-card,.report{padding:20px 18px 40px;overflow-y:auto;max-height:100%}.title-card{max-width:620px;margin:4vh auto 0;width:100%}.report{max-width:760px;margin:0 auto;width:100%}.who{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px}.who-name{font:700 19px/1.2 var(--sans);letter-spacing:-0.01em}.who-role{font:12px/1 var(--mono);color:var(--ink-faint);text-transform:uppercase;letter-spacing:0.09em}.complaint{font:italic 20px/1.45 Georgia,"Times New Roman",serif;margin:0 0 12px;padding-left:14px;border-left:3px solid var(--blue);color:var(--ink)}.quirk{font-size:13px;color:var(--ink-faint);margin:0}.flag{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:6px 10px;background:var(--red-soft);border:1px solid #e2c3b3;border-radius:var(--radius);font-size:13.5px;color:#7d3416}.flag b{font-weight:700}.meter{height:7px;border-radius:4px;background:var(--rule-soft);overflow:hidden}.meter>i{display:block;height:100%;background:var(--green);transition:width 0.25s ease,background-color 0.25s ease}.meter.warn>i{background:var(--amber)}.meter.crit>i{background:var(--red)}.verbs{display:flex;flex-direction:column;gap:12px}.verb-group>h3{margin:0 0 6px;font:700 11px/1 var(--mono);letter-spacing:0.14em;text-transform:uppercase;color:var(--blue)}.verb-row{display:flex;flex-wrap:wrap;gap:6px}button.verb{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;font:14px/1.2 var(--sans);color:var(--ink);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);cursor:pointer;transition:background-color 0.12s,border-color 0.12s,transform 0.06s}button.verb:hover:not(:disabled){background:var(--blue-soft);border-color:var(--blue)}button.verb:active:not(:disabled){transform:translateY(1px)}button.verb .min{font:700 11px/1 var(--mono);color:var(--ink-faint);padding:3px 5px;background:var(--paper);border-radius:2px;white-space:nowrap}button.verb:hover:not(:disabled) .min{color:var(--blue)}button.verb:disabled{opacity:0.4;cursor:not-allowed}button.verb.used{background:var(--paper);color:var(--ink-faint);text-decoration:line-through}.transcript{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.transcript:empty::after{content:"Nothing yet. Ask them something,or go look at it.";color:var(--ink-faint);font-style:italic;font-size:14px}.transcript li{padding-left:13px;border-left:2px solid var(--rule)}.transcript .q{font:700 12px/1.3 var(--mono);letter-spacing:0.05em;text-transform:uppercase;color:var(--ink-faint);display:flex;gap:8px}.transcript .a{margin:2px 0 0;font-size:15.5px}.transcript li.dud{border-left-color:var(--rule-soft)}.transcript li.dud .a{color:var(--ink-faint)}.transcript li.hit{border-left-color:var(--blue)}.transcript li.lie{border-left-color:var(--amber)}.cands{display:flex;flex-direction:column;gap:8px}.cand{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--paper-2);border:1px solid var(--rule);border-left:4px solid var(--blue);border-radius:var(--radius)}.cand-text{min-width:0}.cand-cause{font-size:15.5px;font-weight:600}.cand-fix{font:12.5px/1.4 var(--sans);color:var(--ink-soft);margin-top:2px}.cand.dead{border-left-color:var(--rule);background:transparent;opacity:0.62}.cand.dead .cand-cause{text-decoration:line-through;text-decoration-thickness:2px;color:var(--ink-faint);font-weight:400}.cand.dead .cand-fix{display:none}.cand-out{font:11px/1.3 var(--mono);color:var(--red);text-transform:uppercase;letter-spacing:0.06em;margin-top:3px}.cand.only{border-left-color:var(--green);background:var(--green-soft)}button.fixit{flex:none;padding:7px 12px;font:700 13px/1 var(--sans);color:#fff;background:var(--blue);border:1px solid #164a6e;border-radius:var(--radius);cursor:pointer;white-space:nowrap}button.fixit:hover{background:#17496c}.cand.only button.fixit{background:var(--green);border-color:#2e5129}.cand.only button.fixit:hover{background:#325a2d}.queue{display:flex;flex-direction:column;gap:9px}.queue:empty::after{content:"Nobody waiting. Enjoy it.";color:var(--ink-faint);font-style:italic;font-size:14px}.waiter{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:8px 10px;background:var(--paper-2);border:1px solid var(--rule-soft);border-radius:var(--radius)}.waiter-name{font-size:14.5px;font-weight:600}.waiter-role{font:11px/1 var(--mono);color:var(--ink-faint);text-transform:uppercase;letter-spacing:0.07em}.waiter .meter{grid-column:1 / -1}.outcome{padding:14px;border-radius:var(--radius);border:1px solid;margin-bottom:14px}.outcome.good{background:var(--green-soft);border-color:#b6cdae}.outcome.bad{background:var(--red-soft);border-color:#e2c3b3}.outcome h3{margin:0 0 4px;font:700 12px/1 var(--mono);letter-spacing:0.14em;text-transform:uppercase}.outcome.good h3{color:var(--green)}.outcome.bad h3{color:var(--red)}.outcome p{margin:0;font-size:15.5px}.outcome .rep{font-weight:700}button.big{padding:11px 20px;font:700 15px/1 var(--sans);color:#fff;background:var(--blue);border:1px solid #164a6e;border-radius:var(--radius);cursor:pointer}button.big:hover{background:#17496c}button.big.ghost{background:transparent;color:var(--blue);border-color:var(--rule)}button.big.ghost:hover{background:var(--blue-soft)}.linky{background:none;border:0;padding:0;font:inherit;color:var(--ink-faint);text-decoration:underline;cursor:pointer}.linky:hover{color:var(--red)}.title-card{max-width:620px;margin:6vh auto 0;text-align:left}.title-card h1{margin:0 0 4px;font:700 44px/1.05 var(--sans);letter-spacing:-0.025em}.title-card .kicker{font:700 12px/1 var(--mono);letter-spacing:0.2em;text-transform:uppercase;color:var(--blue);margin:0 0 14px}.title-card p{font-size:17px;color:var(--ink-soft)}.title-card .lede{font-size:19px;color:var(--ink)}.title-card ol{font-size:16px;color:var(--ink-soft);padding-left:22px}.title-card ol li{margin-bottom:5px}.title-card .actions{margin-top:22px;display:flex;gap:10px;flex-wrap:wrap}.report{max-width:760px;margin:0 auto}.report h1{margin:0 0 2px;font:700 34px/1.1 var(--sans);letter-spacing:-0.02em}.report .sub{color:var(--ink-soft);margin:0 0 20px;font-size:16px}.tally{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.tally div{flex:1 1 120px;padding:12px;background:var(--card);border:1px solid var(--rule);border-radius:var(--radius)}.tally b{display:block;font:700 26px/1.1 var(--mono);letter-spacing:-0.01em}.tally span{font:11px/1.3 var(--mono);text-transform:uppercase;letter-spacing:0.1em;color:var(--ink-faint)}.tally .pos b{color:var(--green)}.tally .neg b{color:var(--red)}table.lines{width:100%;border-collapse:collapse;font-size:14.5px}table.lines th{text-align:left;font:700 11px/1.4 var(--mono);letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--rule);padding:6px 8px}table.lines td{padding:8px;border-bottom:1px solid var(--rule-soft);vertical-align:top}table.lines .num{text-align:right;font-family:var(--mono);white-space:nowrap}table.lines .win{color:var(--green);font-weight:700}table.lines .lose{color:var(--red);font-weight:700}.scroller{overflow-x:auto}.shop{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.buy{display:flex;flex-direction:column;gap:6px;padding:12px;text-align:left;background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);cursor:pointer;font:inherit;color:var(--ink)}.buy:hover:not(:disabled){border-color:var(--blue);background:var(--blue-soft)}.buy:disabled{opacity:0.5;cursor:not-allowed}.buy .buy-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.buy b{font-size:15px}.buy .cost{font:700 12px/1 var(--mono);color:var(--blue);white-space:nowrap}.buy small{color:var(--ink-soft);font-size:13px;line-height:1.45}.buy.owned{border-left:4px solid var(--green)}.buy.owned .cost{color:var(--green)}.footbar{display:flex;justify-content:space-between;gap:14px;padding:10px 18px;border-top:1px solid var(--rule);font-size:13px;color:var(--ink-faint);background:var(--paper-2)}.hr{height:1px;background:var(--rule);border:0;margin:24px 0}h2.section{margin:0 0 10px;font:700 11px/1.4 var(--mono);letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-soft)}@media (prefers-reduced-motion:reduce){*{transition:none !important}}.desktop{position:relative;min-height:720px;border:1px solid var(--rule);border-radius:var(--radius);background:repeating-linear-gradient(45deg,transparent 0 11px,rgb(120 100 70 / 4%) 11px 12px),var(--paper-2);overflow:hidden}.win{position:absolute;background:var(--card);border:1px solid #b3a48a;border-radius:4px;box-shadow:0 2px 0 rgb(80 60 30 / 12%),0 8px 22px rgb(60 45 20 / 16%);display:flex;flex-direction:column;max-width:calc(100% - 12px)}.win.dragging{box-shadow:0 6px 30px rgb(60 45 20 / 30%);opacity:.97}.win-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 6px 5px 9px;background:var(--ink);color:var(--paper-2);border-radius:3px 3px 0 0;cursor:grab;touch-action:none;user-select:none}.win.dragging .win-bar{cursor:grabbing}.win-title{font:700 11.5px/1.3 var(--mono);letter-spacing:.07em;text-transform:uppercase}.win-x{flex:none;width:19px;height:19px;display:grid;place-items:center;background:rgb(255 255 255 / 14%);color:var(--paper-2);border:0;border-radius:3px;font-size:14px;line-height:1;cursor:pointer}.win-x:hover{background:var(--red)}.win-body{overflow-y:auto;padding:9px 11px 11px}.pane{font-size:13.5px}.pane h4{margin:10px 0 4px;font:700 10px/1.3 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--blue);border-bottom:1px solid var(--rule-soft);padding-bottom:2px}.pane .art{display:grid;place-items:center;padding:2px 0 6px}.row{display:flex;justify-content:space-between;gap:10px;padding:3px 0;border-bottom:1px dotted var(--rule-soft)}.row .k{color:var(--ink-soft)}.row .v{text-align:right;font-family:var(--mono);font-size:12px}.row.flag{background:var(--red-soft);margin:0 -5px;padding:3px 5px;border-radius:2px}.row.flag .k,.row.flag .v{color:#7d3416;font-weight:600}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:baseline}.dot.good{background:var(--green)}.dot.bad{background:var(--red)}.pane .none{color:var(--ink-faint);font-style:italic;margin:4px 0}.pane .quote{font:italic 15px/1.4 Georgia,serif;margin:8px 0 6px}.pane .aside{font-size:12px;color:var(--ink-faint);margin:4px 0}.pane .warn{font-size:12.5px;background:var(--red-soft);border:1px solid #e2c3b3;border-radius:2px;padding:5px 7px;margin:6px 0 0;color:#7d3416}.pane .screenmsg{font-family:var(--mono);font-size:12px;background:#223;color:#dbe8f2;padding:9px 10px;border-radius:3px;margin:2px 0 8px}.net,.job{display:flex;justify-content:space-between;gap:8px;padding:4px 6px;font-family:var(--mono);font-size:12px;border:1px solid var(--rule-soft);border-radius:2px;margin-bottom:3px}.net.joined{background:var(--blue-soft);border-color:var(--blue);font-weight:700}.job .who{color:var(--ink-faint)}.job .st{color:var(--ink-soft)}.job.held{background:var(--red-soft);border-color:#e2c3b3}.acts{display:flex;flex-direction:column;gap:4px;margin-top:10px;padding-top:8px;border-top:1px solid var(--rule)}button.act{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;font:13px/1.2 var(--sans);text-align:left;color:#fff;background:var(--blue);border:1px solid #164a6e;border-radius:3px;cursor:pointer}button.act:hover{background:#17496c}button.act .m{font:700 10.5px/1 var(--mono);background:rgb(0 0 0 / 22%);padding:3px 4px;border-radius:2px}button.act.danger{background:var(--red);border-color:#7d3416}button.act.danger:hover{background:#8f3a1a}.dock{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px;padding:8px;background:var(--ink);border-radius:var(--radius)}button.dockit{display:flex;align-items:center;gap:6px;padding:6px 9px;font:12.5px/1 var(--sans);color:var(--paper-2);background:rgb(255 255 255 / 9%);border:1px solid transparent;border-radius:3px;cursor:pointer}button.dockit:hover{background:rgb(255 255 255 / 18%)}button.dockit.on{background:var(--blue);border-color:#6ba8cf;font-weight:700}.between{max-width:560px;margin:8vh auto;text-align:center}.between h2{font:700 26px/1.15 var(--sans);margin:0 0 6px}.between .aside{color:var(--ink-faint);font-size:14px}@media (max-width:760px){.counter{grid-template-columns:1fr}.counter-act{align-items:stretch}.counter-act .big{width:100%}.desktop{position:static;min-height:0;display:flex;flex-direction:column;gap:10px;background:none;border:0;padding:0;overflow:visible}.win{position:static !important;width:100% !important;max-width:none;z-index:auto !important}.win-bar{cursor:default}.win-body{max-height:none !important}.dock{position:sticky;bottom:0}button.dockit .dl{display:none}button.dockit{padding:8px 11px;font-size:16px}}.stage{flex:1 1 auto;min-height:0;display:grid;grid-template-rows:clamp(190px,31vh,320px) minmax(0,1fr)}.room{position:relative;overflow:hidden;background:#c9bb9e;border-bottom:3px solid #5c452c}.room-art{position:absolute;inset:0;width:100%;height:100%;display:block}.rack-led{animation:blink 2.4s steps(1) infinite}.rack-led.l1{animation-duration:3.7s;animation-delay:-1.1s}.rack-led.l2{animation-duration:1.9s;animation-delay:-0.6s}.rack-led.l3{animation-duration:5.1s;animation-delay:-2.4s}@keyframes blink{0%,78%{opacity:1}79%,100%{opacity:0.25}}.actor{position:absolute;left:79%;bottom:2px;transform:translateX(-50%);transform-origin:bottom center;z-index:3;pointer-events:none}.actor .fig{display:block;height:clamp(150px,25vh,230px);filter:drop-shadow(0 2px 2px rgb(35 25 12 / 40%))}.actor::after{content:"";position:absolute;left:50%;bottom:-3px;width:68%;height:9px;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgb(40 28 14 / 42%) 0%,transparent 72%);pointer-events:none}.actor.walking{animation:walk-in 1.15s cubic-bezier(.32,.06,.4,1) both}@keyframes walk-in{from{transform:translateX(min(56vw,620px))}to{transform:translateX(-50%)}}.actor.leaving{animation:walk-out .62s ease-in both}@keyframes walk-out{from{transform:translateX(-50%);opacity:1}to{transform:translateX(min(-58vw,-640px));opacity:0}}.actor.walking .fig{animation:bob .38s ease-in-out infinite}@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}.leg,.arm{transform-box:fill-box}.leg{transform-origin:50% 1%}.arm{transform-origin:50% 6%}.actor.walking .leg-f{animation:swingA .38s ease-in-out infinite}.actor.walking .leg-b{animation:swingB .38s ease-in-out infinite}.actor.walking .fig:not(.carrying) .arm-f{animation:swingB .38s ease-in-out infinite}.actor.walking .fig:not(.carrying) .arm-b{animation:swingA .38s ease-in-out infinite}@keyframes swingA{0%,100%{transform:rotate(15deg)}50%{transform:rotate(-15deg)}}@keyframes swingB{0%,100%{transform:rotate(-15deg)}50%{transform:rotate(15deg)}}.bubble{position:absolute;right:27%;top:7%;z-index:4;width:min(360px,40vw);padding:12px 15px 13px;background:var(--card);border:2px solid #3b342a;border-radius:12px;box-shadow:3px 4px 0 rgb(59 52 42 / 35%);animation:pop .32s cubic-bezier(.2,1.5,.5,1) 1.02s both}.bubble::after,.bubble::before{content:"";position:absolute;right:20px;width:0;height:0;border-style:solid}.bubble::before{bottom:-19px;border-width:19px 0 0 15px;border-color:#3b342a transparent transparent transparent}.bubble::after{bottom:-15px;border-width:15px 0 0 11px;border-color:var(--card) transparent transparent transparent}.bubble-txt{margin:0;font:italic 18px/1.35 Georgia,"Times New Roman",serif;color:var(--ink)}.bubble-who{display:block;margin-top:7px;font:700 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}.bubble.as-notice{animation:none}.bubble.as-notice .outcome{margin:0;border:0;padding:0;background:none}.bubble.as-notice .outcome h3{margin-bottom:3px}@keyframes pop{from{opacity:0;transform:scale(.82) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.room-hud{position:absolute;right:12px;bottom:10px;z-index:5;display:flex;flex-direction:column;align-items:flex-end;gap:7px;padding:9px 10px;background:rgb(28 24 19 / 82%);border:1px solid #6f6353;border-radius:4px}.room-hud .pmeter{width:148px}.room-hud .meter{background:rgb(255 255 255 / 18%)}.qstrip{display:flex;gap:3px;align-items:center;min-height:30px}.qstrip .portrait{border-radius:3px;border-color:#6f6353}.qnone,.qmore{font:10px/1 var(--mono);color:#b9ad99;text-transform:uppercase;letter-spacing:.09em}button.handback{padding:9px 15px;font:700 14px/1 var(--sans);color:#fff;background:var(--blue);border:1px solid #6ba8cf;border-radius:3px;cursor:pointer;white-space:nowrap}button.handback:hover{background:#17496c}button.handback:active{transform:translateY(1px)}.workspace{min-height:0;overflow-y:auto;padding:12px 14px 14px;display:flex;flex-direction:column}.workspace .desktop{flex:1 1 auto}.between{position:absolute;inset:auto 0 14px;z-index:6;text-align:center}.between h2{font:700 22px/1.15 var(--sans);margin:0 0 4px;color:var(--paper-2);text-shadow:0 2px 6px rgb(0 0 0 / 60%)}.between p{margin:0 0 8px;color:var(--paper-2);text-shadow:0 1px 4px rgb(0 0 0 / 60%);font-size:14px}.between .aside{color:#cfc2ab;font-size:13px}.between .outcome{max-width:460px;margin:0 auto 10px}button.fsbtn{padding:5px 9px;font:700 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--paper-2);background:rgb(255 255 255 / 12%);border:1px solid rgb(255 255 255 / 22%);border-radius:3px;cursor:pointer}button.fsbtn:hover{background:var(--blue)}body.is-fullscreen .footbar{display:none}@media (max-width:760px){.stage{grid-template-rows:clamp(180px,30vh,240px) minmax(0,1fr)}.bubble{width:min(240px,54vw);top:4%;right:30%}.bubble-txt{font-size:15px}.room-hud{right:6px;bottom:6px;padding:6px 7px;gap:5px}.room-hud .pmeter{width:96px}.qstrip{display:none}.actor .fig{height:clamp(120px,21vh,170px)}}@media (prefers-reduced-motion:reduce){.actor.walking,.actor.leaving,.bubble,.rack-led,.actor.walking .fig,.actor.walking .leg,.actor.walking .arm{animation:none !important}.actor.walking{transform:translateX(-50%)}}.lastout:empty{display:none}.lo{font:700 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:3px 6px;border-radius:2px;white-space:nowrap}.lo.good{background:rgb(60 106 55 / 85%);color:#e6f2e2}.lo.bad{background:rgb(168 67 31 / 85%);color:#f8e6de}