@font-face{font-family:Space;src:url('../fonts/space-grotesk-latin.woff2') format('woff2');font-display:swap}@font-face{font-family:Mono;src:url('../fonts/jetbrains-mono-latin.woff2') format('woff2');font-display:swap}
#carry-actions{position:absolute;left:32px;bottom:24px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 12px;border-radius:10px;background:#f7f5edee;max-width:calc(100% - 64px);box-shadow:0 5px 20px #17251b20}#carry-status{font:11px Mono,monospace;margin-right:8px}#carry-actions .quiet{padding:8px 10px}.walking #carry-actions{pointer-events:none}
#card-dialog.composing-card{position:fixed;inset:0 auto auto 0;margin:0;width:min(680px,calc(100% - 40px));max-height:82dvh;padding:24px 30px;background:transparent;border:0;border-radius:0;box-shadow:none;transform-origin:0 0;overflow:auto}
#card-dialog.composing-card form{display:grid;grid-template-columns:1fr auto;column-gap:20px}
.composing-card .dialog-heading,.composing-card #card-title,.composing-card .small{grid-column:1 / -1}
.composing-card label[for=card-title]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.composing-card fieldset{grid-column:1;grid-row:3}.composing-card legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.composing-card .checkbox{grid-column:1;grid-row:4;margin:0;font-size:11px}
.composing-card .dialog-actions{grid-column:2;grid-row:3 / 5;align-self:center}
#card-dialog.composing-card::backdrop{background:transparent;backdrop-filter:none}
.composing-card #card-title{font:500 26px/1.4 Space,Arial,sans-serif;min-height:135px;background:transparent;border:0;border-bottom:1px solid #263d3355;border-radius:0;padding:16px 0;resize:none}
.composing-card #card-title:focus-visible{outline:0;border-bottom-color:#334737}
.composing-card #card-placement-field{display:none}
.composing-card .swatch{border-color:var(--card-paper)}
.composing-card h2{display:none}
.composing-card .small{color:#38463d;font-size:11px;margin-bottom:0}
.composing-card fieldset{margin:15px 0}.composing-card .dialog-actions{margin-top:16px}
@media(max-width:760px){#carry-actions{left:12px;bottom:24px;max-width:calc(100% - 24px)}#carry-status{width:100%}.composing-card #card-title{font-size:21px}}
.topbar-tools{display:flex;align-items:center;gap:10px}#fps-counter{display:inline-block;min-width:78px;padding:7px 9px;border-radius:6px;background:#24332def;color:#dfefcf;font:11px Mono,monospace;font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap}.walking .topbar:has(#fps-counter){opacity:1}@media(max-width:760px){.topbar-tools{gap:3px}#fps-counter{min-width:62px;padding:6px;font-size:9px}}@media(max-width:370px){.topbar .back>span:last-child{max-width:45px;line-height:1.1}}
#target-label{position:absolute;top:calc(50% + 22px);left:50%;transform:translateX(-50%);padding:8px 12px;max-width:90%;width:max-content;border-radius:6px;background:#28332cdb;color:#fff;font:11px Mono,monospace;pointer-events:none;text-align:center}@media(max-width:760px){}
:root{color-scheme:light;--ink:#242925;--muted:#6a706b;--line:#303b3026;--paper:#f7f5ed;--accent:#cf763f;font-family:Space,Arial,sans-serif;color:var(--ink);background:#e8e5dc}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button,a{ -webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ad5a25;outline-offset:4px}button{color:inherit}button:disabled{opacity:.45;cursor:wait}[hidden]{display:none!important}a{color:inherit}#station{height:100dvh;min-height:500px;position:relative;overflow:hidden}#viewport,#viewport canvas{position:absolute;inset:0;width:100%;height:100%;display:block}#viewport canvas{touch-action:none;outline:none}.topbar{position:absolute;top:0;left:0;right:0;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:transparent;z-index:3;pointer-events:none}.back{font-size:14px;text-decoration:none;font-weight:600;display:flex;gap:12px;align-items:center}.back>span:first-child{font-size:24px;font-weight:400}.quiet{border:1px solid var(--line);background:#f7f5edbf;border-radius:8px;padding:11px 15px;font-size:12px;font-weight:500}.quiet:hover{background:#fff}.topbar .quiet{border:0;background:transparent}.eyebrow{font:9px Mono,monospace;letter-spacing:.17em;color:var(--muted)}.primary{border:1px solid #252d28;background:#28332c;color:#fff;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:12px 17px;font-size:12px;text-decoration:none}.primary:hover{background:#3c4c40}#reticle{position:absolute;left:50%;top:50%;width:5px;height:5px;border:1px solid #fff;background:#30383099;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}#toast{position:absolute;left:50%;bottom:82px;transform:translate(-50%,10px);opacity:0;transition:opacity .15s,transform .15s;background:#28332cf2;color:#fff;font-size:12px;padding:12px 18px;border-radius:9px;pointer-events:none;text-align:center;max-width:90%}#toast.visible{opacity:1;transform:translate(-50%,0)}
#loading{position:absolute;inset:0;background:#edece4;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:6}#loading h2{font-size:28px;font-weight:500;letter-spacing:-.035em;margin:18px 0 8px}#loading p{font-size:12px;color:var(--muted)}.loading-orbit{border:1px solid #c6cbbd;border-top-color:#75846e;width:40px;height:40px;border-radius:50%;margin:0 0 26px;animation:orbit 1.4s linear infinite}@keyframes orbit{to{transform:rotate(360deg)}}#fallback{position:absolute;top:30%;left:50%;transform:translateX(-50%);max-width:500px;width:90%;padding:30px;background:var(--paper);border-radius:15px;box-shadow:0 20px 80px #0002}#fallback a{display:inline-block;margin:15px}.small{font-size:12px;color:var(--muted);line-height:1.65}dialog{background:var(--paper);border:1px solid #fff;border-radius:16px;padding:28px;width:min(490px,calc(100% - 32px));max-height:85dvh;box-shadow:0 25px 100px #18201750;color:var(--ink)}dialog::backdrop{background:#15231c44;backdrop-filter:blur(5px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between}.dialog-heading button{border:0;background:transparent;font-size:25px;line-height:1;padding:0 0 0 10px}dialog h2{font-size:29px;letter-spacing:-.05em;font-weight:500;margin:13px 0 22px}dialog p{font-size:14px;line-height:1.7}label{display:block;font-size:12px;font-weight:600;margin:18px 0 8px}textarea,select{width:100%;border:1px solid #b9bdb3;background:#fffaf3;border-radius:7px;padding:12px;color:var(--ink)}textarea{resize:vertical}fieldset{border:0;padding:0;margin:20px 0}legend{font-size:12px;font-weight:600;margin-bottom:10px}#colours{display:flex;gap:10px}.swatch{width:31px;height:31px;border-radius:50%;border:3px solid var(--paper);box-shadow:0 0 0 1px #0002}.swatch[aria-pressed=true]{box-shadow:0 0 0 2px #4b5b4e}.checkbox{display:flex;align-items:center;gap:9px;font-weight:400}.checkbox input{accent-color:#495b48}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:25px}.danger{color:#a13d30;border:0;background:transparent;margin-right:auto;padding:10px 0}#list-dialog{width:min(620px,calc(100% - 32px))}#card-list h3{font:10px Mono,monospace;letter-spacing:.12em;text-transform:uppercase;margin:24px 0 9px}#card-list button{display:flex;align-items:center;width:100%;text-align:left;padding:12px;border:1px solid #dadcd3;border-radius:6px;margin:5px 0;background:#fff9;gap:10px;font-size:13px}#card-list .card-dot{width:10px;height:10px;border-radius:3px;flex:none}#about-dialog{width:min(650px,calc(100% - 32px))}.facts{display:grid;gap:12px;margin:25px 0}.facts div{border-top:1px solid var(--line);padding-top:12px;display:grid;grid-template-columns:160px 1fr;gap:15px;font-size:12px;line-height:1.5}.facts span{color:var(--muted)}
@media(max-width:760px){.topbar{padding:0 16px;height:62px}.topbar .quiet{font-size:10px;padding:5px}.back{font-size:12px;gap:5px}#toast{bottom:82px;width:max-content}.facts div{grid-template-columns:1fr;gap:4px}dialog{padding:23px}#loading h2{font-size:25px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.topbar .back,.topbar .topbar-tools{pointer-events:auto}.topbar .back{text-shadow:0 1px 8px #fff}.topbar #about-button{background:#f7f5eddd;border-radius:50%;width:30px;height:30px;padding:0;font-size:15px}#target-label:empty{display:none}

/* Keep the exit control readable against both Earth and the bright interior. */
.exit-hint{position:absolute;z-index:4;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;width:max-content;max-width:calc(100% - 32px);margin:0;padding:11px 17px;border:1px solid #ffffff50;border-radius:10px;background:#17251bef;color:#fff;box-shadow:0 4px 20px #0004;font:500 14px/1.4 Space,Arial,sans-serif;pointer-events:none}
.exit-hint kbd{padding:4px 8px;border:1px solid #ffffff90;border-bottom-width:3px;border-radius:5px;background:#ffffff15;color:#fff;font:600 13px Mono,monospace}
.walking #carry-actions{bottom:82px}
#entry-dialog{width:min(500px,calc(100% - 32px))}
.entry-controls{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:18px}
.entry-controls li{display:grid;grid-template-columns:114px 1fr;gap:16px;align-items:center;font-size:14px;line-height:1.5}
.entry-controls li>span:first-child{display:flex;gap:4px;font-weight:600}
.entry-controls kbd{display:inline-block;width:max-content;padding:3px 5px;border:1px solid #b7bdb5;border-bottom-width:2px;border-radius:4px;background:#fff9;font:11px Mono,monospace}
#entry-dialog .dialog-actions .primary{width:100%;font-size:15px;padding:14px}
#enter-station:focus-visible{outline:none;background:#3c4c40}
