:root{color-scheme:dark;--bg:#091221;--panel:#14233b;--silver:#d8e3ef;--muted:#adbed2;--line:#354862}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--silver);font:17px/1.65 system-ui,sans-serif}button,input,select{font:inherit}button,summary{cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #aecbfa;outline-offset:4px}header{max-width:1160px;margin:auto;padding:24px 28px;display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line)}.brand{font-size:12px;letter-spacing:3px;font-weight:700}.small{font-size:13px;color:var(--muted)}main{max-width:1080px;margin:auto;padding:48px 24px 70px}.eyebrow{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#a5c8eb}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.15}h1{font-size:clamp(45px,8vw,82px);margin:18px 0 25px;letter-spacing:-2px}h2{font-size:clamp(27px,4vw,39px);margin:14px 0}h3{font-size:24px}p{max-width:760px}.hero{display:grid;grid-template-columns:1.4fr .6fr;align-items:center;gap:40px;margin-bottom:40px}.oval{border:1px solid #71859e;border-radius:50%;height:270px;position:relative;transform:rotate(-20deg);background:repeating-linear-gradient(90deg,#13243c,#13243c 30px,#172a43 30px,#172a43 60px);box-shadow:0 0 80px #3b66952a;display:grid;place-items:center}.oval:before{content:'';position:absolute;inset:25%;border:1px solid #8396af;border-radius:50%}.oval span{font:100px Georgia;transform:rotate(20deg);color:#d6e1ee}.tags{display:flex;gap:8px;flex-wrap:wrap}.tags span{font-size:12px;border:1px solid var(--line);padding:4px 10px;border-radius:20px}.modes{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}.mode,.scene,.panel{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:26px}.panel{margin:22px 0}.mode{display:flex;flex-direction:column}.mode p{font-size:15px}.mode h2{font-size:31px}.mode .actions{margin-top:auto}.button{display:block;border:1px solid #b9cee6;border-radius:7px;padding:12px 17px;background:#d8e3ef;color:#101e35;font-weight:650;text-align:left;width:100%;margin-top:14px}.button:hover{background:#fff}.compact{width:auto}.ghost{background:transparent;color:var(--silver);border:1px solid #657b96;padding:9px 14px;border-radius:7px}.ghost:hover{background:#233651}.actions .ghost{margin:10px 10px 0 0;font-size:14px}.notice{padding:18px 4px;color:var(--muted);font-size:14px}.check{display:flex;gap:12px;align-items:flex-start;margin-top:16px;color:var(--silver)}input[type=checkbox]{width:22px;height:22px;flex:none}.scene{max-width:800px;margin:22px auto}.scene>p:not(.small){font-family:Georgia,serif;font-size:21px;line-height:1.8;white-space:pre-line}.toolbar,.sectionhead{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;align-items:center}.feedback{border-left:3px solid #a5c8eb;padding:10px 15px;color:#c4dcef;margin:18px 0}.instructions{background:transparent}.instructions summary{font-weight:650}.instructions p{font-size:15px}footer{border-top:1px solid var(--line);padding-top:22px;margin-top:40px;color:var(--muted);font-size:12px}#printArea{display:none}[hidden]{display:none!important}label{font-size:14px}select,input[type=text]{background:#0d192b;color:var(--silver);border:1px solid #63778f;padding:10px;border-radius:6px;max-width:100%;min-width:0}select{max-width:100%}.playergrid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.playerrow{display:grid;grid-template-columns:1fr;gap:6px;border-top:1px solid var(--line);padding-top:14px}.playerrow input,.playerrow select{width:100%}.rolehint{font-size:12px;color:var(--muted);margin:2px 0}.error{color:#ffb6ad}.turnbar{max-width:800px;margin:18px auto 0;display:flex;justify-content:space-between;gap:20px;align-items:center}.turnbar strong{display:block}progress{width:100%;height:6px;accent-color:#b9cee6;margin-top:25px}.lens{background:#0c192d;border-radius:8px;padding:16px;margin-top:20px}.lens p{font-size:15px}.lenschoices{display:flex;gap:8px;flex-wrap:wrap}.lenschoices button{font-size:13px}.voteStatus{margin-top:22px;color:#c7dff5;font-weight:600}.map{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}.map button{text-align:left;font-size:13px}.printcontrols{display:flex;gap:15px;flex-wrap:wrap;align-items:flex-end}.printcontrols label{display:grid;gap:6px}#journal{font-size:14px;padding-left:20px}dialog{max-width:500px;background:var(--panel);color:var(--silver);border:1px solid var(--line);border-radius:14px;padding:30px}dialog::backdrop{background:#000b}.source{border-top:1px solid var(--line);padding-top:14px}#gallery p{font-size:14px}
@media(max-width:650px){.hero{grid-template-columns:1fr}.oval{display:none}.modes,.playergrid,.map{grid-template-columns:1fr}main{padding-top:25px}.scene,.panel{padding:20px}.scene>p:not(.small){font-size:19px}header{padding:18px}.brand{letter-spacing:1px;font-size:10px}.turnbar{align-items:flex-start}.printcontrols{display:grid}.sectionhead{align-items:flex-start}}
@media print{body{background:white;color:#111;font-size:11pt}header,main,dialog{display:none!important}#printArea{display:block}.sheetintro{break-after:page;padding:6mm}.sheetintro h1{font-size:32pt}.sheetintro h2{font-size:21pt}.printcard{break-inside:avoid;border:1px dashed #555;padding:8mm;margin:0 0 6mm;min-height:90mm}.printcard h2{font-size:19pt;margin:8px 0}.printcard p{font-size:11pt;line-height:1.45}.printcard li{font-size:11pt;line-height:1.4;margin:4px 0}.printcard .small{color:#333;font-size:9pt}.answerkey{break-before:page}.answerkey p{font-size:11pt}.printcard footer{font-size:9pt;margin:10px 0 0;padding:8px 0 0;color:#333}@page{size:A4;margin:12mm}}
