@charset "UTF-8";
:root{color-scheme:dark;--bg:#101c27;--panel:#15232e;--line:#2a3944;--text:#e7f0f3;--muted:#92a8b7;--accent:#53debf;font-family:Inter,"Noto Sans JP",system-ui,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:13px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,select,summary{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,canvas:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}
.topbar{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px}.brand{display:flex;align-items:center;gap:15px;color:var(--text);text-decoration:none;font-weight:700;letter-spacing:.12em;font-size:17px}.brand small{display:block;font-size:9px;letter-spacing:.2em;color:var(--muted);margin-top:6px;font-weight:500}.brand-mark{color:var(--accent);border:1px solid #4bd3b777;border-radius:5px;font:800 23px/1 monospace;padding:9px;letter-spacing:-2px;position:relative}.brand-mark span{font-size:10px;letter-spacing:0;vertical-align:top;margin-left:3px}.build-tag{display:flex;align-items:center;gap:10px;font:10px monospace;letter-spacing:.08em;color:var(--muted)}.build-tag b{border:1px solid var(--line);padding:7px;color:var(--text);margin-left:12px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px #53debf44}
main{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:calc(100dvh - 152px)}.viewport{position:relative;overflow:hidden;min-height:640px;background:#bdcdd0}#scene{display:block;width:100%;height:100%;position:absolute;inset:0;touch-action:none}.scene-heading{position:absolute;top:32px;left:34px;color:#213b49;pointer-events:none}.eyebrow{font:10px monospace;letter-spacing:.2em;color:var(--muted)}.scene-heading .eyebrow{color:#456670}h1{font-size:38px;letter-spacing:.08em;margin:12px 0 9px;line-height:1.3}h1 span{display:block;font-size:12px;letter-spacing:.22em;font-weight:500;margin-top:6px}.scene-heading p{font-size:12px;color:#52717b;margin:0}.scene-badge{position:absolute;right:26px;top:32px;display:flex;align-items:center;gap:8px;background:#132b36e6;border:1px solid #49626b;border-radius:30px;padding:9px 14px;font-size:11px}.scene-bottom{position:absolute;bottom:26px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;color:#34535f;pointer-events:none}.coordinate{font:11px monospace;letter-spacing:.06em}.coordinate b{font-weight:500;color:#1a3844}.state-tag{background:#173f49;color:#b5f3df;padding:7px 15px;border-radius:4px;font:11px monospace;min-width:64px;text-align:center}.view-hint{position:absolute;bottom:29px;left:50%;transform:translateX(-50%);font-size:10px;color:#466570;pointer-events:none;white-space:nowrap}#fatal{position:absolute;top:45%;left:10%;right:10%;padding:24px;background:#3a2024;color:#ffe4df;border:1px solid #dd8d7c;border-radius:8px;line-height:1.8}
.sidebar{background:var(--panel);border-left:1px solid var(--line);padding:26px 24px}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.version{font:10px monospace;color:#8197a5}.console-section{border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:21px}.console-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}h2{font-size:12px;display:flex;align-items:center;gap:9px;margin:0 0 16px;font-weight:600;letter-spacing:.05em}h2>span:first-child{font:10px monospace;color:var(--accent)}.model-card{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid #354853;border-radius:6px;background:#1a2c38}.model-icon{display:grid;place-items:center;width:36px;height:38px;background:#26443f;color:var(--accent);font:20px monospace;border-radius:4px}.model-card strong{font-size:14px;letter-spacing:.08em}.model-card small{display:block;font:8px monospace;color:var(--muted);letter-spacing:.1em;margin-top:5px}.file-label{margin-left:auto;color:var(--muted);font:9px monospace;border:1px solid #425762;padding:3px 5px;border-radius:3px}#load-status{font-size:11px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere;margin:12px 0 8px}#load-status[data-status="error"]{color:#eebe89}#load-status[data-status="ready"]{color:var(--accent)}.path{display:block;color:#9db3bd;font-size:9px;line-height:1.7;overflow-wrap:anywhere;background:#101d26;padding:9px 10px;border-radius:3px;margin-bottom:12px}.button{background:#223c42;color:#adf2df;border:1px solid #3b6865;border-radius:4px;padding:10px 12px;width:100%;text-align:left;font-size:11px;min-height:38px}.button span{float:right}.button:hover{background:#2c5052}.button:disabled{opacity:.5;cursor:wait}.button.secondary{background:transparent;color:var(--muted);border-color:#3a4c57}.button.secondary:hover{color:var(--text);background:#223340}.note{color:#8199a8;font-size:10px;line-height:1.7;margin:10px 0 0}.field{display:block;color:var(--muted);font-size:10px}select{display:block;width:100%;background:#0f1e28;color:#d7e9ee;border:1px solid #354b57;padding:10px;border-radius:4px;margin-top:8px;font-size:11px}.clip-line{display:flex;justify-content:space-between;gap:10px;font-size:10px;margin-top:12px;color:var(--muted)}.clip-line b{font-weight:500;max-width:180px;overflow-wrap:anywhere;color:var(--text)}.secondary{margin-top:12px}.slider-field{font-size:10px;color:var(--muted);display:block;margin-bottom:12px}.slider-field output{float:right;font:10px monospace;color:#c8dfdf}input[type=range]{display:block;width:100%;accent-color:var(--accent);height:18px;margin:6px 0 0;cursor:pointer}.live{margin-left:auto;font:8px monospace!important;color:var(--accent)!important;letter-spacing:.1em}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.metrics div{background:#10202a;padding:12px 7px;border-radius:4px;text-align:center}.metrics b{display:block;font:22px monospace;color:#d5eeee}.metrics span{display:block;font:7px monospace;color:var(--muted);margin-top:7px}details{margin-top:13px;font-size:10px;color:var(--muted)}summary{padding:6px 0}pre{font-size:10px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;color:#c3d7df;background:#10202a;padding:10px;max-height:220px;overflow:auto}
footer{min-height:64px;padding:15px 30px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}footer>div{display:flex;align-items:center;gap:5px}kbd{font:9px monospace;border:1px solid #3b4d59;padding:5px 6px;border-radius:3px;color:#b9cdd5;background:#192b38}footer span{margin:0 9px 0 3px}footer i{height:15px;border-left:1px solid var(--line);margin:0 10px}.footer-label{font:8px monospace;letter-spacing:.1em;white-space:nowrap}.touch-controls{display:none}#joystick{position:relative;width:116px;height:116px;background:#152d3b22;border:1px solid #456c7866;border-radius:50%;touch-action:none;display:grid;place-items:center;user-select:none}#stick-thumb{position:absolute;width:44px;height:44px;border-radius:50%;background:#e7f7f2b8;border:1px solid #43716b;box-shadow:0 3px 12px #152d3b22;pointer-events:none}.stick-cross{font:60px monospace;color:#304e5b33;pointer-events:none}#touch-run{width:66px;height:66px;align-self:end;background:#173f49e6;color:#c7fbe8;border:1px solid #8bceba;border-radius:50%;font:12px monospace;touch-action:manipulation}#touch-run span{display:block;font:8px system-ui;margin-top:5px}#touch-run[aria-pressed=true]{background:#37a993;color:#082b26}
@media(min-width:900px) and (min-height:1000px){.sidebar{padding-top:32px}.console-section{padding-bottom:24px;margin-bottom:28px}}
@media(max-width:1000px){main{grid-template-columns:minmax(0,1fr) 300px}.sidebar{padding:24px 19px}.footer-label{display:none}h1{font-size:32px}.scene-heading{left:24px}.build-tag b{display:none}footer{padding:14px 20px}footer>div{flex-wrap:wrap}.view-hint{bottom:65px}}
@media(pointer:coarse),(max-width:760px){.touch-controls{position:absolute;bottom:58px;left:24px;right:24px;display:flex;justify-content:space-between;pointer-events:none}.touch-controls>*{pointer-events:auto}.view-hint{bottom:195px}.coordinate{font-size:10px}}
@media(max-width:760px){.topbar{height:72px;padding:0 18px}.brand{font-size:14px;gap:11px}.brand-mark{font-size:20px;padding:8px}.brand small{font-size:7px}.build-tag{font-size:8px;gap:6px}main{display:flex;flex-direction:column;min-height:0}.viewport{height:67dvh;min-height:460px;max-height:780px}.scene-heading{top:22px;left:22px}h1{font-size:28px;margin-top:10px}.scene-heading p{font-size:10px}.scene-badge{right:17px;top:22px;font-size:10px;padding:8px 10px}.sidebar{border-left:0;border-top:1px solid var(--line);padding:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px}.panel-title{grid-column:1/-1}.console-section{min-width:0}.console-section:nth-last-child(2){border:0}.scene-bottom{left:22px;right:22px;bottom:22px}footer{font-size:9px;padding-bottom:max(16px,env(safe-area-inset-bottom))}footer i,footer>div>span:last-child{display:none}}
@media(max-width:480px){.sidebar{display:block}.console-section:nth-last-child(2){border-bottom:1px solid var(--line)}.build-tag{font-size:7px;letter-spacing:0}.brand{letter-spacing:.05em}.scene-heading .eyebrow{font-size:8px}.scene-heading p{display:none}.viewport{min-height:460px}.view-hint{font-size:9px}.metrics span{font-size:8px}}
/* Combat overlays keep the model console and its existing controls available. */
.viewport{align-self:start;position:sticky;top:0;height:calc(100dvh - 88px)}
.scene-heading{top:20px}.scene-heading h1{font-size:28px;margin:8px 0}.scene-heading h1 span{font-size:10px;margin-top:3px}
.combat-hud{position:absolute;top:116px;left:22px;right:22px;display:grid;grid-template-columns:1fr 1fr;gap:8px;pointer-events:none;color:#eaf8f5}
.health-card{background:#102832e8;border:1px solid #6b9b9c88;border-radius:6px;padding:9px 11px;min-width:0}.health-card>span{display:flex;justify-content:space-between;gap:6px;font-size:10px}.health-card b{font:11px monospace;white-space:nowrap}.health-card progress{display:block;width:100%;height:7px;appearance:none;border:0;border-radius:8px;overflow:hidden;margin-top:7px;background:#38505c}.health-card progress::-webkit-progress-bar{background:#38505c}.health-card progress::-webkit-progress-value{background:#5ae1bc}.health-card progress::-moz-progress-bar{background:#5ae1bc}.enemy-health progress::-webkit-progress-value{background:#ef9a85}.enemy-health progress::-moz-progress-bar{background:#ef9a85}
.combat-readout{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:8px;color:#1f4653;font-size:11px;min-height:21px;text-shadow:0 1px 2px #ffffffaa}.combat-readout b{color:#086963;font:700 18px monospace}#enemy-intent[data-state=Windup]{color:#854100;font-weight:700}#enemy-intent[data-state=Attack]{color:#a31522;font-weight:700}#enemy-intent[data-state=Recovery]{color:#126482;font-weight:700}
.quest-card{position:absolute;bottom:145px;left:22px;width:280px;max-width:calc(100% - 44px);background:#142e3aeb;color:#ecf9f6;border:1px solid #719e9e;border-radius:7px;padding:13px;z-index:2}.quest-card strong{display:block;font-size:12px;line-height:1.6}.quest-card p{font-size:10px;color:#bfd2d7;line-height:1.7;margin:6px 0 10px}.quest-card .button{text-align:center;background:#2d665e;font-weight:600}#quest-status{font-size:11px;line-height:1.8;color:var(--accent)}
#combat-feedback{position:absolute;top:200px;left:22px;right:22px;text-align:center;pointer-events:none;font-size:12px;font-weight:600;color:#174f54;text-shadow:0 1px 2px #fff}
.touch-controls{display:flex;position:absolute;bottom:60px;left:22px;right:22px;justify-content:space-between;align-items:end;pointer-events:none}.touch-controls>*{pointer-events:auto}.touch-action-pad{margin-left:auto;display:grid;grid-template-columns:repeat(3,60px);gap:8px;align-items:end}#joystick,#touch-run{display:none}.touch-action-pad button{width:60px;height:60px;border:1px solid #8bceba;background:#173f49ee;color:#e1fff2;border-radius:50%;font:10px monospace;touch-action:none;user-select:none}.touch-action-pad button span{display:block;font:8px system-ui;margin-top:4px}.touch-action-pad button:disabled{opacity:.42;cursor:default}.touch-action-pad button[aria-pressed=true]{background:#279a85;color:#e8fff9}#touch-fire{background:#8d5734f2;border-color:#f2c28e}.touch-action-pad button:active{filter:brightness(1.3)}
body[data-combat=active] .viewport[data-hurt=true]{box-shadow:inset 0 0 0 5px #d74b60}.viewport[data-hurt=true] .combat-hud{filter:drop-shadow(0 0 4px #eb3b55)}#fatal{z-index:10}
@media(pointer:coarse),(max-width:760px){#joystick{display:grid}#touch-run{display:block;width:60px;height:60px}.touch-action-pad{grid-template-columns:repeat(2,60px)}.quest-card{bottom:204px}.view-hint{bottom:195px;font-size:9px}.touch-controls{bottom:54px}}
@media(max-width:760px){.viewport{position:relative;top:auto;height:67dvh;min-height:500px}.combat-hud{top:106px;left:17px;right:17px;gap:6px}.health-card{padding:8px}.health-card>span{font-size:9px}.health-card b{font-size:10px}.scene-heading{top:18px}.scene-heading h1{font-size:25px}.scene-badge{top:24px}.combat-readout{font-size:10px}#combat-feedback{top:188px;font-size:11px}.quest-card{left:17px;width:calc(100% - 34px);max-width:none;padding:10px}.quest-card strong{font-size:11px}.quest-card p{font-size:9px}.touch-controls{left:17px;right:17px}#joystick{width:108px;height:108px}.view-hint{white-space:normal;text-align:center;width:100%;padding:0 16px}}
body[data-combat=ready] .quest-card{top:201px;bottom:auto;width:230px;background:transparent;border:0;padding:0}body[data-combat=ready] .quest-card strong,body[data-combat=ready] .quest-card p{display:none}
@media(max-width:760px){.viewport{align-self:stretch}}
#sound-toggle{position:absolute;right:26px;top:77px;min-width:62px;min-height:32px;padding:5px 11px;border:1px solid #577d84;border-radius:20px;background:#183440e8;color:#d6efeb;font-size:10px;touch-action:manipulation}#sound-toggle[aria-pressed=true]{border-color:#53debf;color:#76f3d6}#sound-toggle:disabled{opacity:.5}
.enemy-readout{font-size:11px}.enemy-readout>div{display:flex;gap:10px;margin:7px 0}.enemy-readout dt{flex:none;color:#82999d}.enemy-readout dd{margin:0;overflow-wrap:anywhere}#enemy-debug-panel[hidden]{display:none}#enemy-attack-debug{max-height:260px;overflow:auto;font-size:10px;white-space:pre-wrap;overflow-wrap:anywhere}#enemy-intent[data-state=ComboGap]{color:#806000;font-weight:700}
#touch-dodge{--ready:100%;background:radial-gradient(closest-side,#173f49 87%,transparent 89%),conic-gradient(#75e9ce var(--ready),#47636e 0)}
.round-banner{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);width:min(90%,480px);padding:18px;background:#102633f2;border:1px solid #80c9bb;border-radius:10px;color:#f0fff9;pointer-events:none;text-align:center;z-index:5;box-shadow:0 8px 28px #10263344}.round-banner strong{font-size:18px}.round-banner p{font-size:13px;line-height:1.5;margin:8px 0 0}.round-banner[hidden]{display:none}.quest-card{max-height:calc(100% - 160px);overflow-y:auto;overscroll-behavior:contain}.quest-card select{max-width:100%;min-height:40px;color:#e1fff2;background:#173f49;border:1px solid #8bceba;border-radius:5px;padding:5px}.quest-card label{display:block;font-size:12px;margin-top:6px}#result-rounds,#result-breakdown{font-size:12px;line-height:1.6;text-align:left;padding-left:20px;overflow-wrap:anywhere}#score-details{margin:12px 0;text-align:left}#score-details summary{cursor:pointer;min-height:32px}.combat-readout{overflow-wrap:anywhere;min-width:0}button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #6dffe0;outline-offset:3px}@media(max-width:760px){.round-banner{top:40%;padding:12px}.round-banner strong{font-size:15px}.round-banner p{font-size:12px}.quest-card{max-height:calc(100% - 260px);left:12px;right:12px;max-width:calc(100% - 24px)}.combat-readout{font-size:10px}.health-card span{flex-wrap:wrap;gap:3px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
#quest-statistics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0;font-size:10px}#quest-statistics>div{border:1px solid #537477;border-radius:4px;padding:7px;background:#102832}#quest-statistics dt{color:#abc5cd;font-size:9px}#quest-statistics dd{margin:4px 0 0;color:#b4ffe5;font:13px monospace}
@media(max-width:760px){#sound-toggle{right:17px;top:67px;min-height:32px}#quest-statistics{gap:5px;margin:7px 0}#quest-statistics>div{padding:5px}#quest-statistics dd{font-size:11px}}
body[data-combat=cleared] .quest-card{border-color:#75f2c8;box-shadow:0 0 0 2px #75f2c833}body[data-combat=failed] .quest-card{border-color:#ff9b9b;box-shadow:0 0 0 2px #ff9b9b33}body[data-encounter=intermission] .round-banner{border-color:#75f2c8}
@media(max-width:760px){.viewport{height:max(70dvh,640px);min-height:640px}.round-banner{top:46%}.health-card>span{font-size:11px}.health-card b{font-size:12px}.combat-readout{font-size:11px}}
/* Responsive, always-reachable pause controls for both touch and keyboard. */
#pause-toggle{position:absolute;right:100px;top:77px;z-index:6;min-height:34px;padding:6px 12px;border:1px solid #75b8b1;border-radius:20px;background:#183440eb;color:#d9fff2;font-size:11px;touch-action:manipulation}
#pause-toggle:hover{background:#28605e}
.pause-panel{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);width:min(92%,400px);max-height:calc(100% - 165px);overflow-y:auto;padding:22px 20px;background:#102633f5;color:#edfff8;border:1px solid #81d3be;border-radius:12px;box-shadow:0 15px 48px #071b24bb;z-index:8;text-align:center}
.pause-panel strong{display:block;font-size:20px;letter-spacing:.06em}
.pause-panel p{font-size:12px;line-height:1.65;color:#c4e2dd;margin:10px 0 16px}
.pause-panel button{display:block;width:100%;padding:11px 10px;margin:8px 0;min-height:43px;border:1px solid #6ab8af;background:#234c50;color:#edfff8;border-radius:6px;cursor:pointer;font-weight:600}
.pause-panel button:hover,.pause-panel button:focus-visible{background:#2f6969}
#pause-resume{background:#287467}
#pause-exit{border-color:#ad8681;background:#432f39}
@media(max-width:760px){#pause-toggle{top:67px;right:93px;font-size:10px;padding:5px 9px;min-height:34px}.pause-panel{top:44%;max-height:calc(100% - 190px);padding:14px 13px}.pause-panel strong{font-size:17px}}
/* Provisional three-wave tactical ammo HUD and accessible reload button. */
.ammo-readout{color:#143c46;font-weight:700}.ammo-readout b{color:#0a5551;font:700 16px monospace}.ammo-readout[data-state=low] b{color:#9b3b22}.ammo-readout[data-state=reloading] b{color:#315c88}
#touch-reload{--reload:0%;background:radial-gradient(closest-side,#183440 85%,transparent 88%),conic-gradient(#80d9f5 var(--reload),#46636e 0);border-color:#7c9fbb;grid-column:auto}
#touch-reload:disabled{opacity:.42}
#touch-reload[data-state=reloading]{opacity:.85;cursor:default}
@media(pointer:coarse),(max-width:760px){
 .touch-action-pad{grid-template-columns:repeat(3,54px);gap:7px}
 .touch-action-pad button{width:54px;height:54px;font-size:10px}
 .touch-action-pad button span{font-size:8px}
 .touch-controls{align-items:end}
 #combat-feedback{top:224px}
}
@media(max-width:360px){
 .touch-action-pad{grid-template-columns:repeat(3,50px);gap:5px}
 .touch-action-pad button{width:50px;height:50px}
 #joystick{width:100px;height:100px}
}
/* Active reload rhythm: the button's outer timing ring is visible while
   loading; it glows only during the actual authoritative success window. */
#touch-reload strong{display:block;font:inherit;letter-spacing:0.01em}
#touch-reload[data-state=perfect]{border:2px solid #ceff7e;color:#eeffcb;
  background:radial-gradient(closest-side,#1b5440 83%,transparent 86%),conic-gradient(#c3ff70 var(--reload),#41645a 0);
  box-shadow:0 0 0 2px #d7ff7855,0 0 18px #bbff6a88}
#touch-reload[data-state=missed]{border-color:#e69b79;color:#ffcfad;
  background:radial-gradient(closest-side,#61382d 85%,transparent 87%),conic-gradient(#d79d81 var(--reload),#645351 0)}
#touch-reload[data-state=boosted]{border-color:#9fea74;color:#e7ffd4}
#ammo-readout[data-state=perfect] b,#ammo-readout[data-state=boosted] b{color:#398242}
#ammo-readout[data-state=missed] b{color:#a74539}
/* Batch 02: compact, state-driven combat presentation. No strobing or screen shake. */
#enemy-phase{display:block;margin-top:5px;font:700 10px monospace;color:#d4e7eb}#enemy-phase[data-phase="2"]{color:#ffac9e}
#low-hp-warning{grid-column:1/-1;color:#fff0e7;background:#7b2839e8;border:1px solid #ffafa3;border-radius:4px;padding:5px 8px;font-size:11px}
.viewport[data-low-hp=true] .health-card:first-child{border-color:#ff8d83}.viewport[data-low-hp=true] #player-hp{accent-color:#ef6862}
#attack-warning{grid-column:1/-1;width:100%;height:5px;accent-color:#e99a36;margin:0;border:0}#attack-warning-hint{grid-column:1/-1;font-size:11px;color:#5f3509;font-weight:700;line-height:1.4}#attack-warning-hint:empty{display:none}
.reload-timing{grid-column:1/-1;position:relative;height:11px;background:#294958;border:1px solid #173440;border-radius:5px;overflow:hidden}.reload-timing span{position:absolute;left:var(--window-start,48%);width:var(--window-size,30%);height:100%;background:#bcf976}.reload-timing b{position:absolute;left:min(98%,var(--elapsed));height:100%;width:3px;background:white}.reload-timing[data-state=perfect]{outline:2px solid #5d940b}.reload-timing[data-state=missed] span{background:#d39373}
#new-record{color:#dcff96;letter-spacing:.08em;padding:7px 0}#personal-best{color:#e8f2c8;overflow-wrap:anywhere}.motion-setting{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.5;margin-top:12px}.motion-setting input{width:18px;height:18px}
body[data-encounter=phase-transition] .round-banner{border:2px solid #ff786b;background:#3b202df5;box-shadow:0 0 30px #fb564733}body[data-encounter=phase-transition] #round-title{color:#ffc5b8}
body[data-combat=cleared] #quest-result{font-size:17px;color:#baffde;letter-spacing:.03em}body[data-combat=cleared] .quest-card{background:#122e34f5;border:2px solid #94ffd3}
body[data-combat=ready] .combat-readout,body[data-combat=ready] #enemy-intent{display:none}body[data-combat=ready] .quest-card #personal-best{display:block;font-size:10px}
#combat-feedback{top:298px}@media(max-width:760px){.combat-hud{gap:5px}.combat-readout{font-size:10px;line-height:1.35;min-height:18px}.combat-readout b{font-size:14px}#enemy-phase{font-size:9px}#attack-warning-hint{font-size:10px}#combat-feedback{top:314px;font-size:11px}.round-banner{top:54%}.round-banner strong{font-size:16px}#low-hp-warning{font-size:10px}.quest-card #personal-best{font-size:10px}}
@keyframes record-arrival{from{opacity:.3;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
#new-record:not([hidden]){animation:record-arrival .4s ease-out}body[data-combat=cleared] .quest-card{animation:record-arrival .35s ease-out}

.viewport[data-low-hp=true] #player-hp::-webkit-progress-value{background:#ef6862}.viewport[data-low-hp=true] #player-hp::-moz-progress-bar{background:#ef6862}
/* Feedback follows the HUD's actual height, including multi-line mobile warnings. */
.combat-hud #combat-feedback{position:static;grid-column:1/-1;min-width:0;font-size:11px;line-height:1.4}
