#app[data-state=ready] #stage{inset:0!important}
#app[data-state=ready] #stage:after{background:linear-gradient(90deg,#07151bf5 0%,#07151bc9 29%,#07151b10 65%),linear-gradient(0deg,#07151bdd,transparent 30%)}
:root{--focus:#8dffe1;--title-cream:#fff3ce;--title-gold:#edc67c}
.build-version{display:none!important}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--focus)!important;outline-offset:3px!important}
#world:focus-visible{outline:3px solid var(--focus)!important;outline-offset:-5px!important}
#app[data-state=ready] header{height:calc(90px + var(--safe-top));padding:calc(22px + var(--safe-top)) max(32px,var(--safe-right)) 20px max(32px,var(--safe-left));border:0;background:transparent;z-index:12}
#app[data-state=ready] #brand img{width:159px;height:36px}
#app[data-state=ready] nav{gap:9px}
#app[data-state=ready] nav button{display:flex;gap:8px;align-items:center;justify-content:center;width:auto;min-width:48px;min-height:48px;height:48px;padding:8px 13px;background:#102725e6;border:1px solid #cbe7ca55;border-radius:12px;color:#ecf5e6;font:13px Arial,sans-serif}
.nav-symbol{font:20px Arial,sans-serif}
.nav-label{font:12px Arial,sans-serif}
#app:not([data-state=ready]) .nav-label{display:none}
#app[data-state=ready] #menu{position:absolute;inset:0;width:100%;height:100%;padding:110px max(50px,var(--safe-right)) calc(64px + var(--safe-bottom)) max(50px,var(--safe-left));background:none;display:flex;align-items:center;overflow:auto;pointer-events:none;z-index:5;scrollbar-width:thin}
#menu .title-copy{width:min(47%,570px);pointer-events:auto;padding:18px 0}
#menu .title-kicker{display:block;font:600 11px Arial,sans-serif;letter-spacing:3px;color:#badaca;margin:0 0 22px}
#menu #game-name{margin:0 0 24px;letter-spacing:-2px;line-height:.95;color:var(--title-cream)}
#game-name>span{display:block;font:600 13px Arial,sans-serif;letter-spacing:8px;margin:0 0 13px 5px;color:#f0d499}
#game-name>em{display:block;font:400 clamp(48px,6.3vw,92px)/.95 Georgia,'Times New Roman',serif;letter-spacing:-3px;color:var(--title-cream);text-shadow:0 3px 25px #0005}
#menu .title-tagline{font:400 29px/1.15 Georgia,serif;letter-spacing:-.3px;color:#f5d595;margin:0 0 20px}
#menu .intro{font:14px/1.65 Arial,sans-serif;color:#c6dacc;max-width:420px;margin:0 0 24px}
.title-actions{display:grid;gap:8px;width:min(340px,100%)}
#menu .primary{position:static;min-height:60px;height:auto;margin:0;padding:14px 20px;border-radius:10px;font:700 14px Arial,sans-serif;letter-spacing:1px;background:#edc67c;color:#172d27;box-shadow:0 5px 24px #0003}
#menu .primary b{font-size:30px}
.title-secondary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:10px;border:1px solid #afcbb956;padding:12px 18px;background:#122a25da;color:#e5f0df;font:600 12px Arial,sans-serif;letter-spacing:.7px}
.title-secondary span{font-size:21px}
.title-secondary:hover{background:#214a3ee8}
#menu .formation-tip{font:12px/1.5 Arial,sans-serif;letter-spacing:0;color:#bcd6c7;margin:17px 0 0;min-height:0}
#menu .records{display:block;width:max-content;max-width:100%;font:11px/1.5 Arial,sans-serif;letter-spacing:.7px;color:#9fb8af;border:0;margin:10px 0 0;padding:0}
.title-meta{position:absolute;bottom:calc(15px + var(--safe-bottom));left:max(32px,var(--safe-left));right:max(32px,var(--safe-right));display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}
.title-meta>span{font:10px/1.5 Arial,sans-serif;letter-spacing:1.2px;color:#aac8bc;text-shadow:0 2px 4px #07151b}
#title-motion{pointer-events:auto;min-height:44px;min-width:44px;background:#102725e8;color:#d2e4d8;border:1px solid #b4d1bf45;border-radius:9px;padding:10px 12px;font:12px Arial,sans-serif}
#menu :is(p,h1,em,span),.panel p,dialog p,dialog li{-webkit-user-select:text;user-select:text}
#menu button,#menu button *,.panel button,.panel button *,dialog button,dialog button *{-webkit-user-select:none;user-select:none}
body .panel>p:not(.eyebrow),body dialog>p:not(.eyebrow),body .boon p{font-size:14px;line-height:1.55;color:#d3e5d7}
body .panel .eyebrow,body dialog .eyebrow{font-size:11px;letter-spacing:1px;color:#f1d28e}
body .panel .primary,body dialog .primary{font-size:13px;letter-spacing:.6px;min-height:48px}
body .panel .secondary,body dialog .secondary{font:12px Arial,sans-serif;letter-spacing:.3px;min-height:48px}
body .camp-tip,body .risk-note,body #earned-boons{font-size:12px;line-height:1.5;color:#bed5c7}
body .boon small{font:11px Arial,sans-serif;letter-spacing:.3px;color:#d3dcba}
body .boon strong{font-size:21px}
body .boon>span{font-size:28px}
body .boon p{margin:6px 0 0}
body dialog{max-height:calc(100dvh - 28px - var(--safe-top) - var(--safe-bottom));padding:30px 24px}
body dialog ol{font-size:14px;line-height:1.65}
body dialog label{font:12px Arial,sans-serif;letter-spacing:.2px;margin:19px 0;gap:9px}
body dialog label small{font:12px/1.45 Arial,sans-serif;color:#bed5c7}
body dialog select{font:16px Arial,sans-serif;min-height:48px}
body dialog input[type=range]{min-height:44px;width:100%;touch-action:pan-y}
body dialog input[type=checkbox]{width:26px;height:26px;flex:none}
body dialog .toggle{min-height:48px;gap:18px}
body .setting-note{font-size:12px!important;line-height:1.5}
body #pause-dialog{max-height:calc(100dvh - 28px - var(--safe-top) - var(--safe-bottom));overflow-y:auto}
body #pause-dialog .edge-pause-options button{font-size:13px;min-height:48px}
.access-settings{border:1px solid #a2c9b34d;border-radius:12px;padding:0 14px 15px;margin:20px 0}
.access-settings legend{font:600 14px Arial,sans-serif;letter-spacing:.4px;padding:0 6px;color:#f5d48e}
.key-settings summary{min-height:48px;display:flex;align-items:center;font:600 13px Arial,sans-serif;color:#f2d390;cursor:pointer}
.key-settings>p{font:12px/1.5 Arial,sans-serif;color:#c8ddce;margin:5px 0 12px}
.key-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.key-grid button{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:#254d40;color:#f1f8e9;border:1px solid #cbe7c349;border-radius:8px;font:12px Arial,sans-serif}
.key-grid kbd{background:#122d26;padding:5px 7px;border-radius:4px;color:#f1d396;font:12px var(--mono)}
.key-grid button.listening{border-color:#f7d282;background:#3b5541}
#binding-status{font:12px/1.45 Arial,sans-serif;min-height:18px;color:#e5dbad;margin:10px 0 0}
#threat-labels-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.threat-caption{position:absolute;transform:translate(-50%,-50%);padding:4px 6px;background:#071a24f5;border:1px solid #f5d799;border-radius:5px;color:#fff3cf;font:700 11px Arial,sans-serif;letter-spacing:.5px;white-space:nowrap;text-shadow:none}
#app[data-state=training] #touch-coach{background:#102d2af5}
body #app #touch-coach h2{font-size:24px}
body #app #touch-coach p{font-size:14px;line-height:1.5}
body #app #touch-coach .lesson-skip{font-size:12px;min-height:44px}
body[data-contrast=true]{--paper:#fff;--muted:#e1f0e8;--gold:#ffe79e;--line:#d1ebe0a3;--focus:#fff}
.edge-vitals,#edge-mission,#edge-pause{--edge-panel:#102d29f5}
body[data-contrast=true] :is(dialog,.panel,.edge-vitals,#edge-mission,#edge-pause,#touch-coach,#edge-context,.threat-caption){background:#05151e!important;color:#fff!important;border:2px solid #e8f9ec!important;box-shadow:none!important;backdrop-filter:none!important}
body[data-contrast=true] :is(.panel p,dialog p,dialog li,.round-copy>p,.prize-caption span,#edge-hp,#edge-time){color:#fff!important}
body[data-contrast=true] :is(.primary,#dash:enabled){background:#ffdf83!important;color:#07141c!important}
body[data-contrast=true] :is(.secondary,.title-secondary,#ability,#move-stick .stick-base){background:#05151e!important;border:2px solid #fff!important;color:#fff!important}
body[data-contrast=true] .edge-health-track{background:#526b64}
body[data-contrast=true] .edge-health-track i{background:#fff}
@media(max-width:760px){body .panel{padding:22px}
body .boons{display:grid;grid-template-columns:1fr;gap:10px}
body .boon{display:grid;grid-template-columns:38px 1fr;min-height:126px;padding:14px;gap:2px 8px}
body .boon>span{grid-row:1/4;align-self:center}
body .boon strong{font-size:20px}
body .boon p{font-size:13px}
.title-meta>span{font-size:10px}}
@media(max-width:599px){#app[data-state=ready] #stage:after{background:linear-gradient(0deg,#07151bf8 0%,#07151bea 37%,#07151b20 70%,#07151b30 100%)}#app[data-state=ready] header{height:calc(74px + var(--safe-top));padding:calc(15px + var(--safe-top)) 18px 10px}
#app[data-state=ready] #brand img{width:121px;height:31px}
#app[data-state=ready] nav{gap:6px}
#app[data-state=ready] nav button{min-width:44px;width:44px;height:44px;min-height:44px;padding:7px;border-radius:50%}
#app[data-state=ready] .nav-label{display:none}
#app[data-state=ready] nav #help{display:flex}
#app[data-state=ready] #menu{padding:calc(82px + var(--safe-top)) 25px calc(65px + var(--safe-bottom));align-items:flex-end}
#menu .title-copy{width:100%;padding:0}
#menu .title-kicker{font-size:10px;letter-spacing:2.3px;margin-bottom:13px}
#menu #game-name{margin:0 0 14px}
#game-name>span{font-size:11px;letter-spacing:5px;margin-bottom:9px;margin-left:2px}
#game-name>em{font-size:clamp(43px,12.7vw,65px);letter-spacing:-2px}
#menu .title-tagline{font-size:23px;margin:0 0 12px}
#menu .intro{font-size:13px;line-height:1.5;margin:0 0 18px}
#menu .intro br{display:none}
.title-actions{width:100%}
#menu .primary{min-height:54px;font-size:13px;padding:11px 18px}
.title-secondary{min-height:47px}
#menu .formation-tip{font-size:11px;margin-top:12px}
#menu .records{font-size:11px;margin-top:6px}
.title-meta{bottom:calc(8px + var(--safe-bottom));left:20px;right:20px}
.title-meta>span{display:none}
#title-motion{margin-left:auto;font-size:11px;background:#102725ed;min-height:44px}}
@media(max-width:599px) and (max-height:700px){#app[data-state=ready] #menu{padding:76px 22px calc(50px + var(--safe-bottom))}
#menu .title-kicker,#menu .intro,#menu .records{display:none}
#menu #game-name{margin-bottom:10px}
#game-name>em{font-size:43px}
#game-name>span{margin-bottom:6px;font-size:10px}
#menu .title-tagline{font-size:21px;line-height:1.15;margin-bottom:13px}
#menu .title-tagline br{display:none}
#menu .primary{min-height:48px}
.title-secondary{min-height:44px;padding:9px 15px}
#menu .formation-tip{margin-top:10px;font-size:11px}
.title-meta{bottom:calc(3px + var(--safe-bottom))}}
@media(min-width:600px) and (max-height:540px){#app[data-state=ready] header{height:62px;padding:9px 22px}
#app[data-state=ready] #brand img{width:133px;height:30px}
#app[data-state=ready] nav button{height:44px;min-height:44px}
#app[data-state=ready] #menu{padding:64px 28px 34px;align-items:center}
#menu .title-copy{width:46%;padding:0}
#menu .title-kicker,#menu .intro,#menu .records{display:none}
#menu #game-name{margin-bottom:10px}
#game-name>span{font-size:10px;letter-spacing:5px;margin-bottom:5px}
#game-name>em{font-size:48px;letter-spacing:-1.8px}
#menu .title-tagline{font-size:20px;margin:0 0 13px}
#menu .title-tagline br{display:none}
#menu .primary{min-height:48px;padding:8px 16px;font-size:12px}
.title-secondary{min-height:44px;padding:7px 15px;font-size:11px}
.title-actions{gap:6px}
#menu .formation-tip{font-size:11px;margin-top:9px}
.title-meta{bottom:3px;left:28px;right:22px}
.title-meta>span{display:none}
#title-motion{margin-left:auto;min-height:36px;font-size:11px;padding:7px 10px}
body .panel{padding:18px}
body .boons{grid-template-columns:repeat(3,1fr)}
body .boon{display:block;min-height:164px;padding:10px}
body .boon p{font-size:12px}
body .boon strong{font-size:18px}
body .panel h2{font-size:28px}
body .camp-panel>p:not(.eyebrow){font-size:12px}
body .camp-tip{font-size:11px}}
@media(prefers-reduced-motion:reduce){.title-copy *{animation:none!important;transition:none!important}}
h1[tabindex="-1"]:focus,h2[tabindex="-1"]:focus{outline:0}
#edge-hp{font:600 12px Arial,sans-serif;font-variant-numeric:tabular-nums}
#edge-time{font-size:12px}
body[data-edge-active=true] #app #dash strong,body[data-edge-active=true] #app #ability strong{font-size:12px}
body[data-edge-active=true] #app #dash small,body[data-edge-active=true] #app #ability small{font:11px/1.2 Arial,sans-serif}
