 .support-toggle{display:none}
/* Two-thumb action arc. CSS pixels are logical browser units, not physical pixels. */
@media(max-width:1100px),(pointer:coarse){
 #game{--hud-scale:1;--hud-opacity:.82;--hud-lift:0px;--hud-inset:0px;--hud-joystickLift:0px}
 #game .controls{position:absolute!important;inset:auto 0 0!important;height:0!important;background:none!important;padding:0!important;pointer-events:none}
 #game .movement{position:static!important;width:0!important;height:0!important;margin:0;padding:0;pointer-events:none}
 #game .combat-panel,#game.interior-stage .combat-panel{display:block;position:fixed!important;width:244px!important;max-width:none!important;height:244px;right:calc(max(8px,env(safe-area-inset-right)) + var(--hud-inset))!important;bottom:calc(max(8px,env(safe-area-inset-bottom)) + var(--hud-lift))!important;margin:0!important;transform:scale(var(--hud-scale));transform-origin:bottom right;pointer-events:none;opacity:var(--hud-opacity);z-index:26}
 #game .skills{display:block!important;position:absolute;inset:0;pointer-events:none!important}
 #game .skills .skill,#game #interact,#game #hud-support{position:absolute!important;width:52px!important;height:52px!important;min-width:48px;min-height:48px!important;padding:4px 2px!important;margin:0;border-radius:50%!important;background:#17333dd9!important;border:1px solid #b7cda774;box-shadow:0 2px 9px #071e2633;pointer-events:auto;touch-action:none;overflow:hidden}
 #game .skill[data-skill=attack]{width:72px!important;height:72px!important;right:16px;bottom:16px;background:#41644fdd!important;border-color:#e0d39b9c}
 #game .skill[data-skill=special]{right:104px;bottom:12px}
 #game .skill[data-skill=burst]{right:116px;bottom:78px}
 #game .skill[data-skill=ultimate]{right:94px;bottom:144px}
 #game .skill[data-skill=guard]{right:180px;bottom:80px;display:none}
 #game .skill[data-skill=heal]{right:180px;bottom:144px;display:none}
 #game.support-open .skill[data-skill=guard],#game.support-open .skill[data-skill=heal]{display:block}
 #game #hud-support{display:flex;flex-direction:column;align-items:center;justify-content:center;right:180px;bottom:16px}#hud-support b{font-size:20px}#hud-support span{font:7px Fredoka,system-ui,sans-serif}
 #game #interact{right:16px!important;bottom:104px!important;display:flex;flex-direction:column;gap:1px;background:#42594bd9!important;visibility:visible}
 #game #interact b{font:700 18px Fredoka,Georgia,serif}#game #interact span{font:700 7px Fredoka,system-ui,sans-serif}
 #game .skill .glyph{font-size:19px;height:21px}#game .skill[data-skill=attack] .glyph{font-size:25px;height:28px}
 #game .skill b{font-size:8px}#game .skill small{font-size:7px}
 #game .skill .cooldown{background:conic-gradient(#0b172ccd var(--cool-angle,0deg),#0b172c20 0);font-size:13px}
 #game .skill:active,#game #interact:active,#game .skill.pressed{transform:scale(.94);filter:brightness(1.35)}
 #game.interior-stage .skills{visibility:hidden!important;pointer-events:none!important}#game.interior-stage .skills *{pointer-events:none!important}
 #game #joystick{bottom:calc(max(12px,env(safe-area-inset-bottom)) + var(--hud-joystickLift))!important}
 #game .combat-top{position:absolute;right:0;top:-24px;width:244px;display:none}#game.turn-battle .combat-top{display:block;min-height:0}
 #game .guide{top:8px;bottom:auto!important;max-width:40%;font-size:9px}
 #game .topbar{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}
}
@media(orientation:portrait) and (max-width:1100px){
 #game .playfield{min-height:0;flex:1}#game{height:100dvh}
 body[data-control=floating] #game #joystick,body[data-control=joystick] #game #joystick{width:128px!important;height:160px!important}
 #game #hud-support{right:180px;bottom:180px}#game .skill[data-skill=guard]{right:180px;bottom:244px}#game .skill[data-skill=heal]{right:116px;bottom:244px}
 #game .guide{top:120px;left:50%;max-width:90%;width:max-content}
 #game .dialogue{max-width:none;bottom:12px;left:10px;right:10px}
 #game .dialogue-actions{display:flex;flex-wrap:wrap;gap:8px}#game .dialogue-actions button{min-height:48px}
 #game .topbar .area{font-size:9px;letter-spacing:0}.top-actions .menu-btn span{display:none}
}
.hud-settings summary{cursor:pointer;min-height:48px;padding:14px 0;color:#e6d4a4}.hud-settings label{display:block;margin:12px 0}.hud-settings input[type=range]{display:block;padding:8px 0;min-height:48px}

#game.interior-stage #hud-support{display:none!important}
@media(orientation:landscape) and (max-height:340px) and (max-width:1100px){
 #game .topbar{height:44px!important}#game .area{visibility:hidden}
 #game .quest-hud{position:fixed;top:0;left:88px;right:auto;width:170px;max-width:30vw;min-height:44px;height:44px;padding:5px 8px!important;border-radius:6px}
 #game .quest-hud strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:3px 0 0}#game .quest-hud small{display:none}
 #game .target-hud{top:54px;min-width:150px;max-width:32%;font-size:9px;padding:5px 8px}
}

@media(max-width:1100px),(pointer:coarse){#game #hud-support{right:var(--hud-support-right,180px);bottom:var(--hud-support-bottom,16px);transform:scale(var(--hud-smallscale,1));transform-origin:bottom right}#game #hud-support:active{filter:brightness(1.4)}}
@media(orientation:portrait) and (max-width:1100px){
 #game.support-open .skill[data-skill=special],#game.support-open .skill[data-skill=burst]{visibility:hidden;pointer-events:none!important}
 #game .skill[data-skill=guard]{right:104px;bottom:12px}#game .skill[data-skill=heal]{right:116px;bottom:78px}
}
@media(orientation:portrait) and (max-width:360px){body[data-control=floating] #game #joystick,body[data-control=joystick] #game #joystick{width:120px!important}}

/* Context actions and support occupy one stable thumb slot, never two overlapping hit areas. */
@media(max-width:1100px),(pointer:coarse){
 #game #hud-support{right:16px;bottom:104px;transform:none}
 #game #interact.context-absent,#game #hud-support.context-covered{display:none!important}
}

.gameplay-button{position:fixed;z-index:19;min-width:48px;height:48px;border:1px solid #acc5ae66;border-radius:50%;background:#193b3cb3;color:#e3e8c7;touch-action:none;font-size:19px}#sprint{left:max(20px,env(safe-area-inset-left));top:160px}#sprint[aria-pressed=true]{background:#527a64cc}#cancel-target{right:12px;top:116px;font-size:14px}#game.talking .gameplay-button,#game.turn-battle #sprint{visibility:hidden}#orientation-note{display:none!important}
#story-intro{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(24px,8vw,120px);background:radial-gradient(ellipse at 75% 25%,#365b6266,transparent 60%),linear-gradient(145deg,#10242b,#152e2f);color:#ece7cd}#story-intro h2{font:clamp(30px,5vw,64px) Fredoka,Georgia,serif;margin:20px 0}#story-intro p{max-width:640px;font-size:clamp(16px,2.2vw,23px);line-height:1.7}#story-intro small{letter-spacing:.18em;color:#aecdb8}#story-intro button{padding:12px 18px;margin:12px 12px 0 0;background:#c4d6b7;color:#173332;border-radius:6px;min-height:48px}#story-intro #intro-skip{background:transparent;color:#bdcbbd;border:1px solid #bdcbbd55}.protagonist-cards{display:flex;gap:10px}.protagonist-card{flex:1;border:1px solid #8ca99b66;border-radius:8px;background:#183238;color:#e7e7cc;padding:10px;text-align:left}.protagonist-card[aria-pressed=true]{border-color:#e2c784;background:#294846}.protagonist-card canvas{width:72px;height:80px;object-fit:contain;image-rendering:pixelated}.protagonist-card small{display:block;line-height:1.45}.tutorial-hint{position:fixed;bottom:12px;left:32%;width:32%;z-index:9;pointer-events:none;background:#162f31c9;padding:7px 10px;border-radius:8px;color:#dae4c3;font-size:11px;text-align:center}.tutorial-hint button{pointer-events:auto;border:0;background:transparent;color:#d9dfc3;min-width:28px;min-height:28px}@media(orientation:portrait){.tutorial-hint{left:12%;width:76%;bottom:238px}}#game.talking .tutorial-hint{display:none}
.creator-genders{display:flex;gap:10px;margin:15px 0}.creator-genders button{flex:1;background:#203c40;border:1px solid #8fa58b77;color:#e5e7cd;padding:12px;border-radius:6px;min-height:48px}.creator-genders button[aria-pressed=true]{border-color:#e0c780;background:#39584b}#creator-fullname{width:100%;max-width:none}.creator-preview{display:flex;align-items:center;gap:20px}.creator-preview canvas{width:108px;height:120px;image-rendering:pixelated}.creator-preview p{font-size:13px;color:#becdbe}.appearance-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.appearance-fields select{display:block;width:100%;min-height:42px}#gift-preview{display:flex;align-items:center;gap:15px;padding:10px;color:var(--gift-color);background:radial-gradient(ellipse at left,color-mix(in srgb,var(--gift-color) 15%,transparent),transparent);border-radius:8px}#gift-preview span{font-size:38px;text-shadow:0 0 18px var(--gift-color);animation:aether-pulse 1.5s ease-in-out infinite alternate}#gift-preview small{font-size:11px;letter-spacing:.08em}#dialogue-actions{max-height:45vh;overflow:auto}#speech{animation:ritual-line .25s ease-out}@keyframes aether-pulse{to{opacity:.6;transform:scale(1.1)}}@keyframes ritual-line{from{opacity:.5;transform:translateY(3px)}}@media(prefers-reduced-motion:reduce){#gift-preview span,#speech{animation:none}}
#dialogue.ritual-mode{left:5%;right:5%;width:90%;max-width:none;bottom:16px;max-height:calc(100dvh - 76px);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(190px,1fr);padding:20px;gap:24px;overflow:auto;align-items:center}#dialogue.ritual-mode>canvas,#dialogue.ritual-mode>#dialogue-next{display:none}#dialogue.ritual-mode>div:not(.dialogue-actions){grid-column:1;grid-row:1}#dialogue.ritual-mode #dialogue-actions{grid-column:2;grid-row:1;max-height:calc(100dvh - 130px);overflow:auto;display:flex;flex-direction:column;gap:10px}#dialogue.ritual-mode #dialogue-actions button{width:100%;min-height:46px;text-align:left;padding:11px 13px}#dialogue.ritual-mode #speech{font-size:14px;line-height:1.65}#dialogue.ritual-mode #gift-preview{margin-top:12px}@media(orientation:portrait){#dialogue.ritual-mode{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:18px;bottom:12px;max-height:calc(100dvh - 78px)}#dialogue.ritual-mode #dialogue-actions{max-height:40dvh;flex-shrink:1}#dialogue.ritual-mode #speech{font-size:14px}}
#gift-preview canvas{width:110px;height:68px;flex-shrink:0;image-rendering:pixelated}#gift-preview small{line-height:1.5}
.hud-xp{height:2px!important;margin-top:3px!important;background:#203b3d!important}.hud-xp i{background:#cfb472!important}
#game.talking #sibling-hud{visibility:hidden;pointer-events:none}#sibling-hud{max-width:min(45vw,240px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Prompt 1: stable action arc. Support never replaces a combat power or interaction. */
@media(max-width:1100px),(pointer:coarse){
 #game #hud-support{right:180px!important;bottom:16px!important;transform:none}
 #game #interact.context-absent{display:none!important}
 #game #hud-support.context-covered{display:flex!important}
 #game.support-open .skill[data-skill=special],#game.support-open .skill[data-skill=burst]{visibility:visible!important;pointer-events:auto!important}
 #game .skill[data-skill=guard]{right:180px!important;bottom:80px!important}
 #game .skill[data-skill=heal]{right:180px!important;bottom:144px!important}
 #game .skills .skill b{font-size:8px}
}
@media(orientation:portrait) and (max-width:1100px){
 #game #hud-support{right:16px!important;bottom:244px!important}
 #game .skill[data-skill=guard]{right:16px!important;bottom:308px!important}
 #game .skill[data-skill=heal]{right:80px!important;bottom:308px!important}
}
#prototype-minimap{position:fixed;right:12px;top:112px;width:144px;height:90px;z-index:8;border:1px solid #a3b99c88;border-radius:8px;pointer-events:none;opacity:.88}
@media(orientation:portrait){#prototype-minimap{top:148px;width:120px;height:75px}}
@media(orientation:landscape) and (max-height:340px){#prototype-minimap{top:auto;bottom:8px;left:calc(50% - 52px);right:auto;width:104px;height:65px}}

@media(orientation:landscape){#prototype-minimap{top:auto;bottom:8px;left:calc(50% - 76px);right:auto;width:104px;height:65px}}
