@font-face{font-family:Baskervville;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/baskervville-latin-400-normal-CJh9xaYG.woff2) format("woff2"),url(/assets/baskervville-latin-400-normal-2IAHzyi6.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2) format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff) format("woff")}:root{color-scheme:dark;--ink: #102827;--gold: #ddb77b;--cream: #f7efdb;--muted: #b8cbc3;--line: #aac1ae40;--green: #172f30;--serif: "Baskervville", Georgia, serif;--sans: "DM Sans", Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--ink);color:var(--cream);font-family:var(--sans)}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid #f4c67d;outline-offset:4px}button:disabled{opacity:.55;cursor:wait}[hidden]{display:none!important}#world,.shade,#labels{position:fixed;inset:0;width:100%;height:100%}#world{display:block;touch-action:none;outline:none}.shade{pointer-events:none;background:linear-gradient(90deg,rgba(10,27,29,.96) 0%,rgba(12,32,33,.8) 21%,rgba(13,39,40,.3) 43%,transparent 65%),linear-gradient(0deg,#0925297a,transparent 20%,transparent 82%,#122d2a66)}body.playing .shade{background:linear-gradient(0deg,#071c2580,transparent 15%,transparent 85%,#071c254d)}header{position:fixed;inset:0 0 auto;padding:26px clamp(22px,4.4vw,80px);display:flex;align-items:center;justify-content:space-between;z-index:3;pointer-events:none}header>*{pointer-events:auto}.brand,.tools,.eyebrow,.atlaslabel,.brass,.character,.hud-bottom,nav,nav button,#interact,.realm,.panel-heading{display:flex;align-items:center}.brand{gap:10px;font-family:var(--serif);font-size:24px;font-weight:600;letter-spacing:.02em;text-shadow:0 2px 8px #112927}.brand img{width:36px;height:36px;border:1px solid #c2a27266;border-radius:8px}.tools{gap:10px}.realm{gap:8px;font-size:12px;font-weight:600;background:#102728c9;border:1px solid var(--line);border-radius:25px;padding:9px 14px}.realm i{display:block;width:7px;height:7px;border-radius:50%;background:#9bbd90}.round{width:36px;height:36px;display:grid;place-items:center;color:var(--cream);background:#132e30c7;border:1px solid var(--line);border-radius:50%}.round:hover,nav button:hover,#interact:hover{background:#284845}svg.ico{width:19px;height:19px;display:block;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.hero{position:absolute;left:clamp(24px,7.3vw,145px);top:47%;transform:translateY(-44%);max-width:min(490px,42vw)}.eyebrow,small,.location small{font-family:var(--sans);font-size:10px;text-transform:uppercase;font-weight:650;letter-spacing:.19em;color:var(--gold)}.eyebrow{gap:13px;font-size:12px}.rule{display:inline-block;width:35px;height:1px;background:var(--gold);vertical-align:middle}.hero h1{font-family:var(--serif);font-size:clamp(58px,7.1vw,126px);font-weight:500;line-height:1;margin:17px 0 19px;letter-spacing:-.055em}.hero p{font-size:clamp(15px,1.23vw,19px);color:#dfebe4;line-height:1.65;max-width:360px;margin:0 0 29px}.brass{justify-content:center;gap:28px;min-height:46px;padding:0 23px;border:1px solid #efca8d;border-radius:5px;background:#e5bf83;color:#1c302b;font-weight:700;box-shadow:0 4px 18px #081b2230}.brass:hover{background:#f1cf99}.atlaslabel{position:absolute;bottom:32px;right:clamp(22px,4.4vw,80px);gap:11px;text-shadow:0 2px 6px #0c272b;background:#142f30bc;padding:10px 15px;border:1px solid var(--line);border-radius:5px}.atlaslabel>.ico{width:31px;height:31px;color:var(--gold)}.atlaslabel small,.character small{display:block;font-size:9px;line-height:1.5}.atlaslabel strong,.character strong{font-family:var(--serif);font-weight:500;font-size:19px}.location{position:fixed;top:94px;left:clamp(20px,4.4vw,80px);display:grid;gap:5px;filter:drop-shadow(0 2px 4px #042222)}.location small .rule{width:17px;margin-right:8px}.location strong{font:500 clamp(23px,2.6vw,37px) var(--serif)}#objective{position:fixed;right:clamp(20px,4.4vw,80px);top:93px;background:#132e30e8;border-left:2px solid var(--gold);padding:12px 16px;max-width:236px;border-radius:0 5px 5px 0}#objective small,#objective span{display:block}#objective span{font-size:13px;line-height:1.45;margin-top:5px}.hud-bottom{position:fixed;left:clamp(20px,4.4vw,80px);right:clamp(20px,4.4vw,80px);bottom:24px;justify-content:space-between;pointer-events:none}.hud-bottom>*{pointer-events:auto}.character,nav{background:#132e30ef;border:1px solid var(--line);border-radius:6px;padding:7px}.character{gap:10px;padding:8px 16px 8px 10px}.character>.ico{color:var(--gold);width:26px;height:26px}nav{gap:2px}nav button,#interact,.action{border:0;border-radius:4px;background:transparent;color:var(--cream);gap:7px;padding:9px 11px;font-size:13px}kbd{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 3px;border:1px solid #a9bcaa61;border-bottom-width:2px;border-radius:3px;color:#d8e2d7;font:11px var(--sans)}#interact{position:fixed;left:50%;bottom:94px;transform:translate(-50%);background:#152f30f5;border:1px solid #ccb282;padding:9px 15px;gap:9px}#interact kbd{color:var(--ink);background:var(--gold);font-weight:700;border:0}.nameplate{position:absolute;color:#fff;font:600 11px var(--sans);padding:3px 6px;background:#153333ca;border-radius:3px;transform:translate(-50%,-100%)}#labels{pointer-events:none;overflow:hidden}dialog{width:min(418px,calc(100vw - 32px));max-height:85dvh;overflow:auto;background:#173536;color:var(--cream);padding:24px 28px 27px;border:1px solid #8296866b;border-radius:10px;box-shadow:0 18px 85px #051a1ed1}dialog::backdrop{background:#061d246e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.panel-heading{justify-content:space-between;gap:10px}.panel-heading .round{width:29px;height:29px}h2{font:500 34px/1.1 var(--serif);letter-spacing:-.025em;margin:8px 0 16px}#panel-body p,#panel-body li{font-size:14px;line-height:1.55;color:#d1dfd8}#panel-body p{margin:12px 0 16px}#panel-body label{display:grid;gap:7px;font-size:12px;font-weight:600;margin:12px 0;color:#e4dfcd}input{width:100%;padding:11px;color:var(--cream);border:1px solid #879c8e7a;background:#102d2f;border-radius:4px}form .brass{width:100%;margin-top:18px}#form-error{color:#ffc1a2;min-height:1em;font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap}.action{display:inline-flex;align-items:center;justify-content:center;background:#294849;border:1px solid #82968770}.action:hover{background:#345655}.row{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px;gap:14px}.row strong{font-weight:600}.meta{color:#adc2ba;font-size:12px}.route-map{width:100%;max-height:45vh;background:#123031;border:1px solid var(--line);border-radius:5px}.ledger{padding-left:18px}#notice{position:fixed;z-index:5;bottom:152px;left:50%;transform:translate(-50%);max-width:min(440px,90vw);width:max-content;padding:12px 17px;background:#112d2ef2;border:1px solid var(--gold);border-radius:5px;color:var(--cream);text-align:center;font-size:13px}#loading{position:absolute;bottom:32px;left:32px;font-size:12px;color:var(--cream)}#touchpad{display:none}body.playing header .brand{font-size:20px}@media(pointer:coarse){#touchpad{display:block;position:fixed;bottom:95px;left:16px;text-align:center}#touchpad button{touch-action:none;width:35px;height:35px;border:1px solid var(--line);color:var(--cream);background:#173536cc;border-radius:5px}}@media(max-width:680px){header{padding:16px}.hero{left:23px;top:auto;bottom:15%;max-width:85vw;transform:none}.hero h1{font-size:65px}.hero p{font-size:15px;max-width:310px}.shade{background:linear-gradient(0deg,#0c2629 4%,#102b2de0 33%,#15363833 68%)}.atlaslabel{right:16px;bottom:16px}.brand{font-size:19px}.tools{gap:6px}.realm{font-size:10px;padding:7px 9px}.location{top:74px;left:16px}#objective{top:122px;right:auto;left:16px;max-width:210px;padding:6px 10px}.hud-bottom{left:12px;right:12px;bottom:12px;gap:8px}.character{padding:6px;gap:4px}.character strong{font-size:14px}nav button{padding:7px;font-size:12px}nav kbd{display:none}.atlaslabel .ico{width:23px;height:23px}}@media(max-height:520px){.hero{top:45%;bottom:auto;transform:translateY(-30%)}.hero h1{font-size:48px;margin:6px 0}.hero p{margin-bottom:12px;font-size:13px}.atlaslabel{display:none}#objective{top:65px}.location{top:64px}}
