:root{color-scheme:dark;--bg:#091813;--panel:#11251d;--text:#eee9d9;--muted:#b4c1b7;--gold:#e1c68a;--line:#c4cba530;--green:#99d3b4;font-family:Arial,sans-serif;background:var(--bg);color:var(--text)}*{box-sizing:border-box}body{margin:0}main{max-width:1100px;margin:auto;padding:28px}button,select{font:inherit;color:inherit;background:#0a1b14;border:1px solid var(--line);border-radius:7px;padding:11px 14px;min-height:44px}button{cursor:pointer}button:disabled{opacity:.42;cursor:default}button:not(:disabled):hover{border-color:var(--gold)}button:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:4px}a{color:var(--gold)}[hidden]{display:none!important}h1,h2{font-family:Newsreader,Georgia,serif;font-weight:500;line-height:1.08;margin:0}h1{font-size:clamp(32px,5vw,48px)}h2{font-size:32px}.eyebrow{font-size:10px;letter-spacing:.18em;color:var(--gold);margin:0 0 12px}.training-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.training-head a{font-size:12px}.training-setup{display:flex;align-items:center;gap:12px;margin-bottom:20px}.training-setup label{font-size:12px;color:var(--muted)}.training-setup select{flex:1;min-width:0}#load-panel{padding:50px 20px;text-align:center;border:1px solid var(--line);border-radius:12px;color:var(--muted)}#battle{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--panel)}.hud{display:grid;grid-template-columns:1fr 110px 1fr;gap:20px;padding:20px 24px}.hud>div{min-width:0}.hud strong{font-size:14px}.hud span{display:block;font-size:12px;margin-top:7px}.hud small{display:block;font-size:11px;color:var(--gold);min-height:16px;margin-top:6px}.hud .round{text-align:center;display:flex;flex-direction:column;justify-content:center}.round span{font-size:13px;color:var(--gold)}.round small{font-size:10px;color:var(--muted)}progress{display:block;width:100%;height:9px;margin-top:8px;accent-color:#8fc5a6;border:0;border-radius:20px;overflow:hidden;background:#05130d}progress::-webkit-progress-bar{background:#05130d}progress::-webkit-progress-value{background:linear-gradient(90deg,#3c7760,#a5d4af)}#enemy-hp::-webkit-progress-value{background:linear-gradient(90deg,#985a46,#dfb680)}.stage{position:relative;background:#13281e;overflow:hidden;aspect-ratio:2.15}.stage canvas{display:block;width:100%;height:100%}#scene-label{position:absolute;left:20px;right:20px;top:18px;text-align:center;font-size:12px;letter-spacing:.06em;color:#fff3cf;text-shadow:0 2px 4px #000;pointer-events:none}#pause{position:absolute;bottom:12px;right:12px;background:#06150ed9;font-size:11px;min-height:36px;padding:7px 10px}.intent{display:flex;align-items:center;gap:12px;padding:14px 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#091b14}.intent>span:first-child{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.intent strong{color:var(--gold);font-size:14px}.intent>span:last-child{font-size:12px;color:var(--muted);margin-left:auto;max-width:50%}.coach{margin:20px 24px 14px;padding-left:14px;border-left:2px solid var(--gold);font-size:14px;line-height:1.7;min-height:48px}.coach b{color:var(--gold)}fieldset{border:0;margin:0;padding:10px 24px 14px;min-width:0}legend{font-size:11px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;padding:0}.actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.actions button{display:grid;grid-template-columns:27px 1fr;align-items:center;text-align:left;gap:5px 8px;padding:16px}.actions strong{font-size:16px}.actions small{grid-column:2;color:var(--muted);font-size:11px;line-height:1.5}.action-icon{grid-row:1/3;color:var(--gold);font-size:25px}.actions button[aria-pressed=true],.auxiliary button[aria-pressed=true]{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);background:#263b26}.actions button[data-suggested=true]:after{content:'•';color:var(--green);grid-column:1;font-size:16px;height:0;transform:translateY(-4px)}.auxiliary{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:8px 24px 18px;border-bottom:1px solid var(--line)}.auxiliary>div{margin-right:auto}.auxiliary strong{display:block;font-size:12px}.auxiliary small{display:block;font-size:11px;line-height:1.6;color:var(--muted);margin-top:4px}.auxiliary button{font-size:12px}.auxiliary>span{width:100%;font-size:11px;color:var(--muted)}.decision{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 24px}.decision p{font-size:12px;color:var(--muted);line-height:1.7;max-width:60ch;margin:0}.decision button,#next-lesson{background:var(--gold);color:#10241a;border-color:var(--gold);font-weight:700;white-space:nowrap}.goals{display:flex;gap:8px;flex-wrap:wrap;padding:0 24px 18px}.goals span{font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:7px 10px}.goals .complete{color:var(--green);border-color:#99d3b460}.preferences{display:flex;align-items:center;gap:24px;padding:16px 24px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.preferences label{display:flex;align-items:center;gap:6px}.preferences select{font-size:12px;min-height:34px;padding:6px}.preferences input{accent-color:var(--gold);width:16px;height:16px}.battle-log{border-top:1px solid var(--line);padding:16px 24px}.battle-log summary,.conditions summary{font-size:12px;color:var(--muted);cursor:pointer}.battle-log ol{max-height:250px;overflow:auto;padding-left:22px;font-size:12px;line-height:1.9;color:var(--muted)}.conditions{padding:20px 0 8px}.conditions p{font-size:12px;line-height:1.9;color:var(--muted)}#result{margin:12px 24px 24px;padding:26px;background:#0a1c14;border:1px solid var(--gold);border-radius:10px}#result p{font-size:14px;line-height:1.8;color:var(--muted)}#result button{margin:5px 8px 0 0;font-size:13px}.embedded main{padding:0}.embedded .training-head{padding:22px 24px 0}.embedded .training-setup{padding:0 24px}.embedded #battle{border-radius:0;border-left:0;border-right:0}.embedded .conditions{padding:18px 24px}.embedded .training-head a{display:none}
@media(max-width:600px){main{padding:16px}.training-head{gap:10px}.training-head a{font-size:10px}.training-setup{flex-wrap:wrap;gap:8px}.training-setup label{width:100%}.training-setup select{font-size:12px}.training-setup button{font-size:12px;padding:10px}.hud{gap:10px;grid-template-columns:1fr 64px 1fr;padding:16px 14px}.hud strong{font-size:12px}.hud span{font-size:10px}.hud small{font-size:9px;min-height:24px}.hud .round span{font-size:11px}.round small{font-size:9px}.stage{aspect-ratio:1.4}#scene-label{font-size:10px;top:12px}.intent{padding:13px 14px;gap:8px;flex-wrap:wrap}.intent>span:first-child{font-size:9px}.intent>span:last-child{width:100%;max-width:none;margin:0;font-size:11px}.coach{margin:16px 14px 12px;font-size:13px;min-height:68px}.actions{gap:6px}.actions button{display:flex;flex-direction:column;text-align:center;padding:12px 5px;gap:6px}.actions strong{font-size:14px}.actions small{font-size:10px}.actions .action-icon{font-size:22px}.actions button[data-suggested=true]:after{display:none}fieldset{padding:8px 14px 14px}.auxiliary{padding:5px 14px 16px}.auxiliary>div{width:100%}.auxiliary button{flex:1;padding:10px 8px;font-size:11px}.decision{padding:16px 14px;flex-direction:column;align-items:stretch;gap:12px}.decision p{min-height:40px}.decision button{width:100%}.goals{padding:0 14px 16px;gap:6px}.goals span{font-size:10px;padding:6px 8px}.preferences{padding:14px;gap:12px;flex-wrap:wrap;font-size:11px}.battle-log{padding:16px 14px}#result{margin:10px 14px 18px;padding:20px}#result button{width:100%;margin:6px 0 0}.embedded .training-head{padding:20px 14px 0}.embedded .training-setup{padding:0 14px}.embedded .conditions{padding:16px 14px}.training-head h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.orientation{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 24px;border-bottom:1px solid var(--line);background:#0b1c15;font-size:11px;color:var(--muted)}.orientation button{font-size:11px;padding:8px 12px}.fighter-stats{padding:0 24px 18px}.fighter-stats h2{font:11px Arial,sans-serif;color:var(--muted);letter-spacing:.04em;margin:0 0 9px}.fighter-stats dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.fighter-stats dl>div{padding:11px 14px;border:1px solid var(--line);border-radius:7px;background:#0b1d15;display:grid;grid-template-columns:1fr auto;gap:4px 10px;min-width:0}.fighter-stats dt{font-size:11px;font-weight:700;color:var(--gold)}.fighter-stats dt span{font-size:10px;font-weight:400;color:var(--muted);margin-left:5px}.fighter-stats dd{margin:0;font-size:19px;grid-row:1/3;grid-column:2;align-self:center}.fighter-stats small{font-size:10px;color:var(--muted)}.orientation-target{outline:2px solid var(--gold)!important;outline-offset:4px;box-shadow:0 0 0 7px #e1c68a0c!important;border-radius:5px;position:relative;z-index:1}.orientation-card{position:relative;margin:14px 24px 24px;padding:22px 24px;background:#1b3024;border:1px solid var(--gold);border-radius:10px;box-shadow:0 12px 24px #0002;scroll-margin-top:16px}.orientation-card:before{content:'';position:absolute;top:-7px;left:28px;width:12px;height:12px;background:#1b3024;border-left:1px solid var(--gold);border-top:1px solid var(--gold);transform:rotate(45deg)}.orientation-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:10px}#orientation-progress{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold)}#orientation-skip{font-size:11px;color:var(--muted);min-height:34px;border-color:transparent;padding:7px 0}#orientation-skip:hover{text-decoration:underline}.orientation-card h2{font-size:29px;margin:4px 0 12px;outline:none}.orientation-card p{font-size:14px;line-height:1.75;max-width:76ch;margin:8px 0;color:#e0e9dd}#orientation-task{font-size:12px;color:#b5dcc1;padding-top:8px;margin-top:12px;border-top:1px solid var(--line)}.orientation-nav{display:flex;justify-content:space-between;gap:12px;margin-top:17px}.orientation-nav button{font-size:12px;min-height:42px}#orientation-next{background:var(--gold);color:#142719;font-weight:700}.hud .orientation-target{outline-offset:8px}#hero-status.orientation-target{display:inline-block}#intent-panel.orientation-target{outline-offset:-3px}.orientation-card [hidden]{display:none!important}
@media(max-width:600px){.orientation{padding:11px 14px;align-items:flex-start;font-size:10px}.orientation>span{line-height:1.7;max-width:45%}.orientation button{font-size:10px;padding:8px}.fighter-stats{padding:0 14px 15px}.fighter-stats dl{gap:7px}.fighter-stats dl>div{padding:10px 8px;display:block}.fighter-stats dt{font-size:11px}.fighter-stats dt span{display:block;margin:4px 0 0;font-size:9px;min-height:12px}.fighter-stats dd{margin:5px 0;font-size:20px}.fighter-stats small{display:block;font-size:9px;line-height:1.4}.orientation-card{margin:12px 14px 20px;padding:17px 16px}.orientation-card h2{font-size:25px}.orientation-card p{font-size:13px;line-height:1.7}.orientation-top{gap:8px;flex-wrap:wrap}#orientation-progress{font-size:9px}#orientation-skip{font-size:10px}.orientation-nav{gap:8px}.orientation-nav button{font-size:11px;padding:10px 12px}#orientation-task{font-size:11px}.hud .orientation-target{outline-offset:5px}}
