:root{color-scheme:dark;--black:#000;--white:#fff;--line:#414141;--muted:#a3a3a3;--subtle:#777;--panel:#060606;--mono:ui-monospace,"DejaVu Sans Mono",Consolas,monospace}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;background:var(--black);color:var(--white);overflow:hidden;font-family:var(--mono)}button,input{font:inherit}button{color:var(--white);background:var(--black);border:1px solid var(--line);cursor:pointer}button:hover{border-color:#a0a0a0;background:#0a0a0a}button:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid var(--white);outline-offset:3px}button:disabled{color:#777;cursor:default;border-color:#242424}kbd{font:inherit}#game-shell{position:fixed;inset:0;overflow:hidden;background:#000}#field{position:absolute;inset:0;width:100%;height:100%;display:block;outline:none}#hud-top{position:absolute;left:26px;right:26px;top:max(22px,env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;pointer-events:none}.stars{font-family:Arial,sans-serif;font-size:25px;letter-spacing:5px;line-height:1}.resources{display:flex;align-items:center;gap:10px;font-size:15px;font-variant-numeric:tabular-nums;background:#000c;padding:3px 5px}.orb{width:14px;height:14px;border:2px solid #fff;border-radius:50%}.resource-divider{height:20px;width:1px;background:#555;margin:0 9px}.charge-preview{position:relative;border:1px solid #777;border-radius:2px;display:flex;gap:3px;padding:3px;width:53px;height:20px}.charge-preview:after{content:"";width:3px;height:8px;right:-4px;top:5px;background:#777;position:absolute}.charge-preview span{height:12px;width:8px;background:#1d1d1d}#map-panel{position:absolute;bottom:24px;left:25px;width:146px;pointer-events:none;background:#000d;padding:5px;border:1px solid #555}#minimap{width:134px;height:96px;display:block}#area-label{font-size:8px;letter-spacing:1.1px;border-top:1px solid #2d2d2d;padding-top:7px;margin-top:4px;color:#d0d0d0}#nearby-label{position:absolute;left:50%;bottom:99px;transform:translateX(-50%);max-width:60%;font-size:12px;letter-spacing:.08em;color:#fff;text-align:center;pointer-events:none;background:#000c;padding:5px 10px;border-radius:3px}#nearby-label:empty{display:none}#quick-actions{position:absolute;right:25px;bottom:25px;display:flex;gap:9px}#quick-actions button{min-width:64px;min-height:64px;padding:7px 9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:5px;background:#000e}#quick-actions kbd{font-size:12px;min-height:17px;line-height:17px}#quick-actions span{font-size:9px;color:#a8a8a8;letter-spacing:.025em}#proof-mark{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:8px;letter-spacing:1.3px;color:#848484;pointer-events:none;background:#000d;padding:3px 5px}#proof-mark span{margin:0 7px}#device-mark{position:absolute;bottom:101px;right:27px;font-size:8px;letter-spacing:1.6px;color:#858585;pointer-events:none}dialog{width:min(860px,calc(100vw - 48px));max-height:calc(100dvh - 48px);margin:auto;padding:0;border:1px solid #777;border-radius:9px;background:var(--panel);color:#fff;box-shadow:0 25px 100px #000b;overflow:auto}dialog::backdrop{background:#000b}.tablet-top{display:flex;align-items:center;justify-content:space-between;padding:13px 22px;border-bottom:1px solid #303030}.tablet-brand{font-size:10px;letter-spacing:2px}.tablet-brand span{color:#898989;letter-spacing:1px}#dialog-close{font-family:Arial,sans-serif;font-size:23px;line-height:1;border:0;min-width:34px;min-height:32px;background:none}.tablet-heading{padding:22px 29px 10px}.eyebrow{font-size:9px;letter-spacing:2px;color:#a5a5a5;margin:0 0 12px}h1{font-weight:400;font-size:26px;letter-spacing:1px;line-height:1.3;margin:0 0 9px}#tablet-subtitle{color:#a4a4a4;font-size:11px;line-height:1.7;margin:0;max-width:660px}#tablet-tabs{display:flex;gap:3px;padding:0 27px;margin:14px 0 0;border-bottom:1px solid #333}#tablet-tabs:empty{display:none}#tablet-tabs button{background:none;border:0;border-bottom:2px solid transparent;border-radius:0;min-height:42px;padding:8px 16px;font-size:11px;color:#a5a5a5}#tablet-tabs button[aria-current=page]{color:#fff;border-bottom-color:#fff}#tablet-body{padding:22px 29px 27px;font-size:12px;line-height:1.7}#tablet-body p{margin:0 0 16px;color:#b3b3b3}.tablet-footer{display:flex;justify-content:space-between;gap:10px;padding:12px 23px;border-top:1px solid #303030;font-size:9px;color:#929292;line-height:1.5}.primary-button{min-height:46px;min-width:150px;padding:10px 18px;background:#fff;color:#000;border-color:#fff;font-size:12px;text-align:center}.primary-button:hover{background:#ddd;color:#000;border-color:#fff}.secondary-button{min-height:44px;padding:9px 16px;font-size:11px}.action-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.note{font-size:11px;border-left:2px solid #555;padding:11px 14px;background:#0d0d0d;line-height:1.8;color:#b3b3b3}.title-main{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center}.title-main h2{font-weight:400;font-size:14px;margin:0 0 13px}.intro-lines{display:flex;flex-direction:column;gap:10px}.intro-lines button{text-align:left}.small-label{font-size:9px;letter-spacing:1.3px;color:#999;display:block;margin-bottom:10px}.proof-block{border:1px solid #333;padding:17px}.proof-block p:last-child{margin-bottom:0!important}.map-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.big-map-wrap{background:#000;border:1px solid #333;min-height:238px}#tablet-map{width:100%;height:240px;display:block}.map-legend{font-size:11px}.map-legend strong{font-weight:400;color:#fff;display:block;margin:3px 0 12px}.map-legend div{padding:7px 0;border-bottom:1px solid #222}.map-legend .unfound{color:#808080}.control-list{display:grid;grid-template-columns:1fr 1fr;gap:15px 28px}.control-list h2{font-size:11px;font-weight:400;color:#fff;letter-spacing:1px;margin:0 0 10px}.control-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:35px;color:#aaa;border-bottom:1px solid #252525}.control-row kbd{border:1px solid #555;background:#000;padding:2px 5px;font-size:10px;color:#fff;text-align:right}.options-row{margin-top:20px;padding-top:14px;border-top:1px solid #333;display:flex;gap:20px;align-items:center;flex-wrap:wrap}.options-row label{display:flex;align-items:center;gap:8px;color:#bbb;font-size:11px;min-height:28px}input[type=checkbox]{accent-color:#fff;width:16px;height:16px}.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.status-grid div{border:1px solid #333;padding:12px 14px}.status-grid strong{display:block;font-weight:400;margin-bottom:6px}.status-grid span{font-size:11px;color:#aaa}.site-symbol{font-size:38px;line-height:1.2;margin-bottom:18px;color:#ccc}.landmark-copy{max-width:600px}#fatal{position:fixed;inset:0;background:#000;z-index:100;padding:9vw;font:14px/1.7 var(--mono)}#fatal[hidden]{display:none}#fatal-message{max-width:650px;color:#bbb}
@media(max-width:800px){#proof-mark{left:23px;bottom:8px;transform:none;font-size:7px}#map-panel{bottom:29px;width:112px}#minimap{width:100px;height:73px}#quick-actions{bottom:29px;right:18px;gap:6px}#quick-actions button{min-width:55px;min-height:57px}#device-mark{bottom:92px;right:18px}.tablet-brand{font-size:9px}.tablet-brand span{display:none}.tablet-heading{padding:18px 20px 8px}#tablet-body{padding:18px 20px}.title-main{grid-template-columns:1fr;gap:20px}.tablet-footer{font-size:8px}.map-layout{grid-template-columns:1fr}.big-map-wrap{min-height:190px}#tablet-map{height:200px}.control-list{gap:20px}h1{font-size:23px}}
@media(max-height:480px){dialog{max-height:calc(100dvh - 20px);width:min(800px,calc(100vw - 25px))}.tablet-heading{padding-top:12px}.tablet-top{padding:6px 17px}#tablet-body{padding-top:13px}#hud-top{top:15px}.stars{font-size:22px}#map-panel{width:110px;left:15px;bottom:27px}#minimap{width:98px;height:65px}#area-label{font-size:7px}#quick-actions{bottom:20px}.tablet-footer{padding:8px 17px}}
@media(max-width:520px){dialog{width:calc(100vw - 22px);max-height:calc(100dvh - 24px)}.control-list,.status-grid{grid-template-columns:1fr}.tablet-footer{flex-direction:column}#tablet-tabs{padding:0 11px}#tablet-tabs button{padding:8px 12px}.resources{font-size:12px}.resource-divider{margin:0 2px}#hud-top{left:17px;right:20px}.stars{font-size:23px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Checkpoint 2: compact combat HUD and in-tablet equipment card. */
.weapon-readout{font-size:10px;letter-spacing:1px;color:#ccc}.weapon-readout span{font-size:21px;color:#fff;vertical-align:middle;margin-left:5px}
#combat-notice{position:absolute;top:64px;left:50%;transform:translateX(-50%);max-width:70%;padding:7px 10px;font-size:11px;line-height:1.5;text-align:center;background:#000d;color:#ccc;pointer-events:none}#combat-notice:empty{display:none}
.loadout-card{display:grid;grid-template-columns:72px 1fr;gap:20px;align-items:center;margin-bottom:20px}.loadout-card h2{font-weight:400}.blade-symbol{font-size:70px;line-height:1;text-align:center}
@media(max-width:800px){#quick-actions{gap:5px}#quick-actions button{min-width:52px;padding:6px}#quick-actions kbd{font-size:10px}#tablet-tabs button{padding-left:10px;padding-right:10px}}
@media(max-width:520px){#map-panel{width:88px;left:10px}#minimap{width:76px;height:57px}#quick-actions{right:10px;gap:4px}#quick-actions button{min-width:49px}#combat-notice{top:55px;font-size:10px;max-width:92%}#tablet-tabs button{padding:8px;font-size:10px}#proof-mark{font-size:6px}.loadout-card{grid-template-columns:42px 1fr;gap:12px}.blade-symbol{font-size:48px}}

/* One-Base tablet. Pure black space, restrained white structure, no permanent dashboard. */
#tablet-tabs{flex-wrap:wrap}#tablet-tabs button{padding:8px 12px}#tablet-body h2{font-size:15px;font-weight:400;margin:0 0 12px}.item-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}.item-card,.slot-card{border:1px solid #383838;background:#030303;padding:18px}.item-card p{font-size:11px}.item-bottom{display:flex;gap:10px;align-items:center;justify-content:space-between;font-size:11px}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.slot-card button{display:block;margin-top:10px;width:100%;min-width:0}.slot-card p{font-size:11px}.metrics{display:flex;gap:20px;justify-content:space-between;border-block:1px solid #353535;padding:20px 4px;margin:20px 0}.metrics>span{font-size:24px;font-variant-numeric:tabular-nums}.metrics small{display:block;font-size:9px;color:#aaa;letter-spacing:1px;margin-top:8px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #282828}.setting-row>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.setting-row strong{min-width:56px;text-align:center}.setting-row button{min-width:44px;padding:8px 12px}.chips button[aria-pressed=true]{border-color:#fff;background:#161616}.objective-list{padding:18px 0}.objective-list p{border-bottom:1px solid #242424;padding:9px 0;margin:0!important}.storage-note{border-top:1px solid #333;padding-top:13px}.error-copy{color:#fff!important;border-color:#ddd}.muted{color:#aaa}.store-balance strong{font-size:17px}#tablet-map{height:320px}#quick-actions{right:23px;bottom:24px;gap:7px}#quick-actions button{min-width:57px;max-width:82px;min-height:54px}#quick-actions span{font-size:8px}#tablet-button,#pause-button{position:fixed;top:66px;bottom:auto;min-height:34px!important;flex-direction:row!important;gap:6px!important;padding:6px 8px!important;max-width:none!important}#tablet-button{right:87px}#pause-button{right:23px}#device-mark{bottom:90px}#proof-mark{font-size:8px;letter-spacing:.5px}.tablet-heading h1{font-size:30px;letter-spacing:1.8px}#combat-notice{top:65px;max-width:55%}
@media(max-width:800px){.slot-grid{grid-template-columns:1fr}.slot-card{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}.slot-card h2{grid-column:1/-1}.slot-card p{margin-bottom:4px!important}.item-grid{gap:10px}.item-card{padding:13px}.setting-row{gap:10px}.metrics>span{font-size:19px}#quick-actions{right:14px;gap:4px}#quick-actions button{min-width:50px;max-width:67px}#tablet-button{right:84px}#pause-button{right:14px}#tablet-map{height:250px}}
@media(max-width:540px){.item-grid{grid-template-columns:1fr}.setting-row{flex-wrap:wrap}.slot-card{display:block}#quick-actions button{min-width:41px;max-width:50px;padding:5px 3px}#map-panel{bottom:90px}.metrics{gap:10px}.metrics small{font-size:8px}#combat-notice{top:110px;max-width:90%}.resources{gap:5px}#charge-text{font-size:9px}}
@media(max-height:480px){#tablet-map{height:195px}.tablet-heading h1{font-size:23px}#tablet-button,#pause-button{top:50px}#combat-notice{top:53px;font-size:10px}#quick-actions button{min-height:45px}}
#seed-input{background:#000;border:1px solid #666;color:#fff;padding:10px;max-width:160px;min-height:44px;font:inherit}
#system-actions{position:absolute;top:66px;right:23px;display:flex;gap:8px}#system-actions button{position:static;inset:auto;display:flex;align-items:center;gap:7px;min-width:64px;min-height:34px;padding:7px 9px;border-radius:4px;background:#000e}#system-actions kbd{font-size:11px}#system-actions span{font-size:8px;color:#aaa}
@media(max-height:480px){#system-actions{top:48px;right:15px}}
@media(max-width:540px){#system-actions{top:55px;right:14px}}

/* Explicit gamepad selection is visible independently of :focus-visible heuristics. */
.pad-focus{outline:2px solid #fff!important;outline-offset:3px;background:#202020!important;box-shadow:inset 3px 0 #fff}#tablet button,#tablet input{scroll-margin:8px}.base-exit-action{display:flex;align-items:center;flex-wrap:wrap;gap:12px;border-bottom:1px solid #414141;padding-bottom:14px;margin-bottom:16px}.base-exit-action span{color:#aaa;font-size:11px}

/* Walking-scale menus: one equipment row at a time, with visible focus. */
.loadout-options { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; margin-block:12px; }
.input-debug-output { white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; max-height:260px; overflow:auto; }
.item-card:has(.pad-focus) { border-color:#fff; }

/* Icons supplement labels; they never replace text or create extra focus targets. */
.tablet-icon { width: 1.15em; height: 1.15em; flex: 0 0 1.15em; display: inline-block; vertical-align: -0.18em; margin-right: .5em; pointer-events: none; }
.blade-symbol .tablet-icon { width: 44px; max-width:100%; height:44px; margin:0; }
#tablet-tabs button { display: inline-flex; align-items: center; justify-content: center; }

/* Unequal description lengths must not misalign controller action rows. */
.store-grid .item-card { display:flex; flex-direction:column; }
.store-grid .item-bottom { margin-top:auto; }
/* Story-triggered contrast legibility; not a general theme switch. */
html[data-afterimage="light"] #stars,html[data-afterimage="light"] #device-mark {background:#000;color:#fff;padding:5px 8px;border-radius:3px;}
.affinity-order{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:12px 0;}
.affinity-chip{display:inline-flex;align-items:center;gap:8px;padding:10px;border:1px solid #777;flex-wrap:wrap;}
.affinity-chip svg{width:25px;height:25px;flex:0 0 25px;}.affinity-chip small{width:100%;color:#aaa;}

.affinity-pike svg{color:#f16e7d}.affinity-arc svg{color:#6edbe7}.affinity-scythe svg{color:#cc9aef}.affinity-prism svg{color:#fff}.affinity-fault svg{color:#efb74f}.affinity-lumen svg{color:#9fea9d}

/* Desktop close button occupies the top-right corner without a title bar. */
#hud-top{right:80px}
