.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#edge-hud{position:absolute;inset:0;pointer-events:none;z-index:8;--edge-panel:#15372ee3;--edge-line:#d0e9c449;--edge-gold:#f0cc7f;--edge-text:#fff8df}
.edge-top{position:absolute;top:calc(12px + var(--safe-top));left:max(12px,calc(10px + var(--safe-left)));right:max(12px,calc(10px + var(--safe-right)));display:flex;align-items:flex-start;gap:9px;justify-content:space-between;max-width:680px;margin:0 auto}
.edge-vitals{width:112px;flex:none;display:grid;grid-template-columns:30px 1fr;grid-template-rows:17px 5px;column-gap:8px;row-gap:5px;align-items:center;padding:8px 9px;border-radius:14px;background:var(--edge-panel);backdrop-filter:blur(12px);box-shadow:0 3px 14px #07192340;color:var(--edge-text)}
.edge-emblem{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border:1px solid #d0b9777a;border-radius:10px;background:#26483c;font:italic 22px Georgia,serif;color:var(--edge-gold)}
#edge-hp{font:600 11px var(--mono);white-space:nowrap;font-variant-numeric:tabular-nums}
.edge-health-track{height:4px;overflow:hidden;border-radius:3px;background:#e2f6d727}
.edge-health-track i{display:block;height:100%;width:100%;background:#bce8bc;transition:width .1s linear}
.low-health .edge-health-track i{background:#ff987d}
.counter-ready .edge-emblem{border-color:#ffe094;color:#ffe094;box-shadow:0 0 16px #ffdf6d40}
.edge-top button{pointer-events:auto;border:1px solid var(--edge-line);color:var(--edge-text);background:var(--edge-panel);backdrop-filter:blur(12px);box-shadow:0 3px 14px #07192340}
#edge-mission{display:grid;justify-items:center;gap:5px;min-height:48px;min-width:96px;max-width:172px;padding:8px 10px;border:0;border-radius:14px;font:600 11px Arial,sans-serif;letter-spacing:.9px;flex:0 1 auto}
.edge-mission-bottom{display:flex;gap:8px;align-items:center;justify-content:center}
#edge-time{font:12px var(--mono);letter-spacing:0;font-variant-numeric:tabular-nums;color:#e6efd6}
.fight-dots{display:flex;gap:3px}
.fight-dot{width:5px;height:5px;border-radius:50%;background:#d5efd43d}
.fight-dot.current{background:var(--edge-gold)}
.fight-dot.cleared{background:#8bddc3}
#edge-pause{display:grid;place-items:center;min-width:46px;width:46px;height:46px;border-radius:50%;padding:0;font:20px Arial,sans-serif}
#edge-context{position:absolute;top:calc(76px + var(--safe-top));left:50%;transform:translateX(-50%);max-width:90%;border-radius:10px;background:#15372ef0;padding:8px 13px;color:#f4d890;font:600 11px/1.4 Arial,sans-serif;letter-spacing:.5px;text-align:center;white-space:nowrap}
#edge-control-mode{position:absolute;bottom:calc(14px + var(--safe-bottom));left:50%;transform:translateX(-50%);white-space:nowrap;font:10px Arial,sans-serif;letter-spacing:1px;color:#f0f7da;opacity:.8;text-shadow:0 1px 5px #081f1a}
#edge-threats{position:absolute;inset:0}
.edge-threat{position:absolute;display:grid;place-items:center;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;background:#193b34e8;border:1px solid #e5b5858c;box-shadow:0 2px 7px #0004}
.edge-threat i{display:block;width:9px;height:9px;border-top:2px solid #ffc293;border-left:2px solid #ffc293;rotate:45deg}
.edge-threat.casting{background:#6c3036;border-color:#ffe0a9}
.edge-threat.casting i{border-color:#ffecbf}
#app:not([data-state=ready]) header{display:none}
body[data-edge-active=true] #app #battle-controls{display:contents;height:0;padding:0;border:0;background:none;pointer-events:none}
body[data-edge-active=true] #app .control-row{display:contents}
body[data-edge-active=true] #app #move-stick{position:absolute;top:auto;left:max(16px,calc(12px + var(--safe-left)));right:auto;bottom:calc(28px + var(--safe-bottom));width:96px;height:110px;margin:0;z-index:9;pointer-events:auto}
body[data-edge-active=true] #app .stick-base{width:92px;height:92px;border:1px solid #e3f0c955;background:#15372e70;backdrop-filter:blur(6px);box-shadow:inset 0 0 0 8px #c7e6b508}
body[data-edge-active=true] #app .stick-base:after{content:'';position:absolute;inset:14px;border-radius:50%;border:1px dashed #d8e8bb4d;pointer-events:none}
body[data-edge-active=true] #app .stick-base>span{font-size:36px;color:#d7e9b91a}
body[data-edge-active=true] #app .stick-base i{width:38px;height:38px;top:26px;left:26px;background:radial-gradient(circle at 35% 30%,#4f7762,#24483e 75%);border:1px solid #d2e5b778;box-shadow:0 3px 12px #071b1d70;z-index:1}
body[data-edge-active=true] #app #move-stick small{font:11px Arial,sans-serif;letter-spacing:1.2px;margin-top:6px;color:#f2f1cf;text-shadow:0 1px 5px #071b1d}
body[data-edge-active=true] #app #dash,body[data-edge-active=true] #app #ability{position:absolute;top:auto;bottom:calc(34px + var(--safe-bottom));right:max(85px,calc(81px + var(--safe-right)));left:auto;display:flex;flex-direction:column;justify-content:center;gap:3px;pointer-events:auto;z-index:9;width:66px;min-width:66px;height:66px;min-height:66px;margin:0;padding:6px 3px;border-radius:50%;border:1px solid #ffdc95;background:#ecc77a;color:#213e31;box-shadow:0 3px 14px #071b1d70,0 0 0 4px #f4d28b22;overflow:hidden}
body[data-edge-active=true] #app #ability{width:60px;min-width:60px;height:60px;min-height:60px;right:max(15px,calc(11px + var(--safe-right)));bottom:calc(68px + var(--safe-bottom));background:#193d32ee;color:#ead39c;border:2px solid #9bab8566;box-shadow:0 3px 14px #071b1d70}
body[data-edge-active=true] #app #ability:enabled{border-color:#f7d58f;background:#2a5141;color:#ffe0a3;box-shadow:0 0 0 4px #f4d28b22,0 3px 14px #071b1d70}
body[data-edge-active=true] #app #dash:disabled{background:#214638df;color:#c3d7c6;border-color:#b9d7b05c;box-shadow:0 3px 14px #071b1d70}
body[data-edge-active=true] #app #dash .ability-icon,body[data-edge-active=true] #app #ability .ability-icon{font:25px/1 Arial,sans-serif}
body[data-edge-active=true] #app #dash strong,body[data-edge-active=true] #app #ability strong{font:600 11px Arial,sans-serif;letter-spacing:0;text-transform:none}
body[data-edge-active=true] #app #dash small,body[data-edge-active=true] #app #ability small{display:block;min-height:12px;font:10px/1.2 var(--mono);letter-spacing:0;margin-top:2px}
body[data-edge-active=true] #app #boss{top:calc(76px + var(--safe-top));bottom:auto;left:50%;right:auto;transform:translateX(-50%);width:min(230px,65%);max-width:65%;height:34px;background:#15372ee8;border:0;padding:7px 10px;border-radius:10px}
body[data-edge-active=true] #app #boss span{font:10px Arial,sans-serif;letter-spacing:.5px}
body[data-edge-active=true] #app #banner,body[data-edge-active=true] #app #boss:not([hidden])~#banner{top:calc(116px + var(--safe-top));font:600 12px/1.4 Arial,sans-serif;background:#15372ef5;border-radius:10px;max-width:88%;padding:9px 13px}
#app:not([data-state=ready]) .overlay{inset:0;padding:max(14px,var(--safe-top)) max(14px,var(--safe-right)) max(14px,var(--safe-bottom)) max(14px,var(--safe-left));z-index:12}
body[data-edge-active=true] #app #touch-coach{top:calc(80px + var(--safe-top));width:min(340px,calc(100% - 28px));padding:16px;z-index:10}
body[data-edge-active=true] #touch-coach .eyebrow{display:none}
body[data-edge-active=true] #app #touch-coach h2{font:500 23px Georgia,serif;margin:0 0 8px}
body[data-edge-active=true] #app #touch-coach p{font:12px/1.5 Arial,sans-serif}
body[data-edge-active=true] #app #touch-coach .lesson-skip{min-height:44px;font-size:11px}
.edge-pause-options{display:none;gap:8px;grid-template-columns:repeat(3,1fr)}
.edge-pause-options button{min-height:44px;background:#274b40;border:1px solid #c7e4c137;border-radius:9px;color:#f3f5dc;font:12px Arial,sans-serif}
.edge-pause-options{display:grid}
#pause-dialog{padding:22px;width:min(480px,calc(100% - 28px));max-height:calc(100dvh - 24px - var(--safe-top) - var(--safe-bottom));border-radius:20px;background:#193b32}
#pause-dialog h2{font-size:28px;line-height:1;margin-bottom:8px}
#pause-dialog h2 br,#pause-dialog .eyebrow{display:none}
#pause-dialog>p{margin:8px 0 12px;font-size:12px}
#pause-dialog .primary{margin:0 0 10px;min-height:44px;font:600 12px Arial;letter-spacing:.5px;border-radius:9px}
#pause-dialog .secondary{min-height:44px;margin-top:0;font:12px Arial;letter-spacing:0;border-radius:9px}
#edge-details-dialog{width:min(480px,calc(100% - 28px));padding:24px;background:#193b32}
#edge-details-dialog h2{font-size:28px}
#edge-detail-objective{color:#f3d690!important}
.edge-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}
.edge-detail-grid>div{padding:10px;background:#244a3d;border-radius:10px}
.edge-detail-grid span{display:block;font:11px Arial;color:#bed4c5;margin-bottom:4px}
.edge-detail-grid strong{font:500 18px var(--mono);color:#f6f4dc}
#edge-details-dialog>p{font-size:12px;line-height:1.5}
@media(min-width:1000px){.edge-top{max-width:900px}
.edge-vitals{width:135px}
.edge-top #edge-mission{min-width:145px}
body[data-edge-active=true] #app #dash{right:110px;bottom:40px;width:76px;height:76px}
body[data-edge-active=true] #app #ability{right:30px;bottom:68px;width:68px;height:68px}
body[data-edge-active=true] #edge-control-mode{bottom:22px}}
@media(max-height:520px) and (min-width:600px){.edge-top{max-width:none;top:calc(9px + var(--safe-top));left:calc(14px + var(--safe-left));right:calc(14px + var(--safe-right))}
#edge-mission{position:absolute;left:50%;transform:translateX(-50%)}
#edge-pause{margin-left:auto}
body[data-edge-active=true] #app #move-stick{bottom:calc(15px + var(--safe-bottom))}
body[data-edge-active=true] #app #dash{bottom:calc(22px + var(--safe-bottom));right:calc(90px + var(--safe-right))}
body[data-edge-active=true] #app #ability{bottom:calc(50px + var(--safe-bottom));right:calc(20px + var(--safe-right))}
body[data-edge-active=true] #app #touch-coach{top:calc(70px + var(--safe-top));padding:12px;width:360px}
body[data-edge-active=true] #app #touch-coach h2{font-size:21px}
body[data-edge-active=true] #app #touch-coach p{margin:6px 0;font-size:12px}
body[data-edge-active=true] #app #touch-coach .lesson-skip{min-height:36px}
#edge-context{top:calc(69px + var(--safe-top))}
#pause-dialog{padding:16px}
#pause-dialog>p{margin:6px 0 10px}}
@media(max-width:350px){.edge-top{gap:6px;left:10px;right:10px}
.edge-vitals{width:104px;padding:8px 6px;column-gap:6px}
#edge-mission{min-width:88px;padding:8px 6px;font-size:10px;letter-spacing:.5px}
#edge-control-mode{font-size:9px;letter-spacing:.6px}
body[data-edge-active=true] #app #move-stick{left:12px}
body[data-edge-active=true] #app #dash{right:80px;width:62px;min-width:62px;height:62px;min-height:62px}
body[data-edge-active=true] #app #ability{right:12px;width:56px;min-width:56px;height:56px;min-height:56px}}
@media(prefers-reduced-motion:reduce){.edge-health-track i{transition:none}}
#edge-mission{position:absolute;left:50%;transform:translateX(-50%);width:112px;max-width:calc(100% - 220px)}
#edge-pause{margin-left:auto}

#stage{position:absolute;inset:0;overflow:hidden}#app:not([data-state=ready]) #stage{inset:0}#app:not([data-state=ready]) header{display:none}#app:not([data-state=ready]) .overlay{inset:0}
#move-stick{display:none;touch-action:none;user-select:none;-webkit-touch-callout:none;cursor:grab;text-align:center}body[data-input=touch] #move-stick{display:block}.stick-base{position:relative;margin:0 auto;border-radius:50%}.stick-base>span{position:absolute;inset:0;display:grid;place-items:center}.stick-base i{position:absolute;pointer-events:none;border-radius:50%}.held .stick-base{border-color:#b6ffea!important}#dash small,#ability small{display:block}.edge-pause-options{display:grid}
