:root{color-scheme:light;--ink:#173137;--paper:#eee9da;--gold:#bc9456;--muted:#6e7770}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 ui-sans-serif,system-ui,-apple-system,'PingFang SC',sans-serif}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #193b3d30;background:transparent;color:var(--ink);border-radius:5px;padding:9px 15px;transition:.15s}button:hover:not(:disabled){background:#dcd7c5}button:disabled{opacity:.5;cursor:default}button[aria-pressed=true],.primary{background:var(--ink);color:#f9efdb;border-color:var(--ink)}button.primary:hover:not(:disabled){background:#2d4d4c}a{color:inherit}header{min-height:88px;border-bottom:1px solid #23433e25;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 5%}.brand{text-decoration:none;display:flex;gap:15px;align-items:baseline}.brand b{font:700 35px 'Cormorant Garamond',Georgia,serif}.brand span{font-size:12px;letter-spacing:3px}nav{display:flex;align-items:center;gap:16px;font-size:13px}.connection{color:var(--muted)}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:2px;color:#7b785f;margin:0 0 18px}h1,h2,h3,p{margin-top:0}h1{font-size:38px;line-height:1.35;font-weight:500}h2{font-size:28px;line-height:1.5;font-weight:550}h3{font-size:19px;margin-bottom:8px}.entry{display:grid;grid-template-columns:1fr 1fr;max-width:1150px;margin:45px auto;min-height:670px;gap:75px;padding:0 30px}.poster{position:relative;background:#183138;overflow:hidden;color:#e8d4a6;padding:42px;min-height:640px;box-shadow:10px 12px 0 #d7d1bd}.poster p{font-size:10px;letter-spacing:2.7px;position:relative;z-index:2}.poster h1{font:600 122px/.8 'Cormorant Garamond',Georgia,serif;letter-spacing:-5px;position:relative;z-index:2;margin:75px 0 0}.poster h1 em{font-style:normal;font-size:165px}.moon{position:absolute;width:230px;height:230px;border-radius:50%;right:-35px;top:125px;background:#cdba8550;box-shadow:0 0 90px #c4af7470}.silhouette{position:absolute;font:440px/1 Georgia;right:-20px;bottom:-20px;color:#0b2229}.poster>span{position:absolute;bottom:36px;left:40px;font-size:10px;letter-spacing:3px;z-index:2}.entry-copy{align-self:center}.entry-copy>p{color:#61706c}.entry-copy small{display:block;font-size:10px;color:#808378;margin-top:25px}.tabs,.buttons{display:flex;gap:10px;margin:24px 0}.tabs button{flex:1}form label,label{display:block;font-size:12px;margin:14px 0;color:#596a65}input,select{display:block;width:100%;background:#f8f4e9;border:1px solid #b5beb0;border-radius:4px;min-height:45px;padding:10px;color:var(--ink);margin-top:6px}form>.primary{width:100%;margin-top:12px}.lobby{max-width:780px;margin:70px auto;padding:0 25px}.seats{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0}.seats article{display:flex;flex-direction:column;border:1px solid #a6b5a3;padding:28px;gap:14px}.seats b{font-size:23px}.seats span{color:#63736b}.seats small{color:#8b764d}.table{max-width:1380px;margin:auto;padding:20px 30px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px}.round-track{display:flex;gap:8px;margin:0 0 18px}.round-track span{flex:1;padding:5px;text-align:center;border-bottom:2px solid #c8c9b8;font-size:12px;color:#7e8476}.round-track .current{color:#23453f;border-color:#ab844d;font-weight:bold}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.card{display:grid;grid-template-columns:40px 1fr;gap:0 8px;text-align:left;background:#f6f0e1;border:1px solid #c2c9b7;min-height:78px;padding:12px}.card b{grid-row:span 2;align-self:center;justify-self:center;background:var(--person);color:#fff8e2;width:36px;height:36px;border-radius:50%;font:700 16px/36px Georgia;text-align:center}.card span{font-size:13px;align-self:end;white-space:nowrap}.card small{font-size:10px;color:#777e71}.card:disabled{opacity:.85}.card.used{opacity:.35}.board{background:#183137;padding:9px 9px 0;border:1px solid #3c5556;box-shadow:0 8px 18px #142c2925;border-radius:7px}.board svg{display:block;width:100%;height:auto;min-height:370px}.board>p{font-size:10px;text-align:center;color:#b9c5b9;margin:4px 0 10px}.hex{fill:#657575;stroke:#8e9a8f;stroke-width:1}.hex.building{fill:#294249;stroke:#3d5357}.hex.lamp{fill:#3c504f}.hex.lit{fill:#9c9d7a}.hex.target{stroke:#fff2b7;stroke-width:3;cursor:pointer}.hex.selected{fill:#c7b979;stroke:#fff5cf;stroke-width:4}.coordinate{font:7px system-ui;fill:#c1cabc;pointer-events:none}.lamp{fill:#8f9682;font-size:26px}.lamp.on{fill:#f1d793}.tile-number{fill:#fff5c5;font:bold 11px system-ui}.manhole{fill:#263b40;stroke:#b0b4a2;stroke-width:2}.manhole.covered{fill:#917f64}.initial{fill:#fff8de;font:bold 13px Georgia;pointer-events:none}.person-name{fill:#f4f0d8;font:9px system-ui;paint-order:stroke;stroke:#193137;stroke-width:3;pointer-events:none}.exit{fill:#cdbd86;font-size:27px}.exit-label{fill:#c6d0bc;font:8px system-ui}.witness{display:flex;gap:15px;align-items:center;background:#263f43;color:#edddbb;border-radius:4px;padding:15px;margin-bottom:20px}.witness.seen{background:#d6cca7;color:#33473d}.witness>span{font-size:31px}.witness small{display:block;font-size:10px}.witness b{font-size:13px}aside{background:#e6e2d2;border:1px solid #ccd0bd;border-radius:6px;padding:22px}aside h2{font-size:22px}aside p{font-size:13px;color:#647068}.character-note{border-top:1px solid #bdc5b1;padding-top:18px;margin:20px 0}.character-note small{font-size:11px}.secret{border-left:3px solid #a98c56;padding:5px 12px;margin:16px 0}.secret small,.secret b{display:block}.secret small{font-size:10px;color:#89806c}.secret b{font-size:15px}.action-tabs{display:flex;flex-wrap:wrap;gap:6px}.action-tabs button{font-size:11px;padding:7px 10px}.preview{font-size:12px;padding:12px;border:1px solid #acb69e;margin:14px 0}.preview strong{display:block;color:#974d3c;margin-top:8px}aside>.primary{width:100%}.small{font-size:11px!important;margin-top:22px}.log{margin-top:25px;border-top:1px solid #bfc6b4;padding:18px 4px;font-size:12px}.log p{margin:8px 0}.log span{color:#8b7958;margin-right:12px}footer{font-size:10px;letter-spacing:2px;color:#869080;text-align:center;margin:32px 0}.result{padding:30px;background:#dcd5b6;margin-bottom:25px}.result h1{font-size:30px}.result button{margin-right:10px}dialog{max-width:760px;max-height:85vh;overflow:auto;background:#f1eddf;color:var(--ink);border:1px solid #8c9a88;border-radius:8px;padding:32px}dialog::backdrop{background:#09262bb3}dialog>button{float:right}dialog p{font-size:14px}#notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90%;background:#163b3e;color:#fff3d8;box-shadow:0 4px 20px #0003;padding:13px 22px;border-radius:6px;z-index:20}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #ba9555;outline-offset:3px}@media(max-width:1000px){.layout{grid-template-columns:minmax(0,1fr) 270px;gap:16px}.table{padding:16px}.card{grid-template-columns:1fr;text-align:center;padding:10px 4px;gap:4px}.card b{grid-row:auto}.entry{gap:35px}.poster h1{font-size:100px}.poster h1 em{font-size:132px}aside{padding:16px}}@media(max-width:740px){header{padding:12px 18px;gap:10px;align-items:flex-start}.brand{display:block}.brand b{font-size:29px}.brand span{display:block;font-size:9px}nav{flex-wrap:wrap;justify-content:flex-end;gap:8px;font-size:10px}nav button{font-size:10px;padding:7px}.connection{display:none}.entry{display:block;margin:25px auto;padding:0 24px}.poster{min-height:340px;padding:25px;max-width:420px;margin:auto}.poster h1{margin:30px 0 0;font-size:78px;line-height:.7}.poster h1 em{font-size:115px}.poster p{font-size:8px}.poster>span{bottom:22px;left:25px;font-size:8px}.silhouette{font-size:300px;right:10px;bottom:-45px}.moon{top:75px;width:170px;height:170px}.entry-copy{margin:42px auto;max-width:420px}.entry-copy h2{font-size:26px}.layout{display:flex;flex-direction:column}.table{padding:12px}.round-track{gap:4px}.round-track span{font-size:9px}.cards{gap:7px}.card span{font-size:11px}.card small{font-size:9px}.board{padding:3px}.board svg{min-height:0}.board>p{font-size:8px}.lobby{margin-top:35px}.seats{gap:12px}.seats article{padding:20px}.seats b{font-size:20px}aside{padding:22px}aside .eyebrow{margin-bottom:8px}.action-tabs button{font-size:13px}.buttons{flex-wrap:wrap}dialog{padding:22px;width:92%}.result h1{font-size:25px}}

.board-zoom{display:none}.map-viewport{overflow:auto}@media(max-width:740px){.board-zoom{display:block;color:#e2d6b8;border-color:#a6b6a944;font-size:11px;margin:6px}.map-viewport.zoom svg{min-width:690px;width:690px}.map-viewport{scrollbar-width:thin}}
