/* Preserve the selected pixel case; reclaim the rail for the battlefield. */
.device-shell[data-case]{--case-rail:48px;--key-size:36px;gap:6px}
.device-shell[data-case] .device-controls{padding:16px 0 8px}
.device-shell[data-case] .device-control{grid-template-rows:var(--key-size);gap:0}
.device-shell[data-case] .device-key-label{display:none}
.device-shell[data-case] .device-skill-glyph{width:28px;height:28px;max-width:30px;max-height:30px;transform:none}
.device-shell[data-case] .device-brand{min-height:25px;align-items:center;justify-content:flex-start;font-size:13px;line-height:1;letter-spacing:.13em;padding:0 4px 3px}
.device-shell[data-case] .device-brand-name{display:block;line-height:1.2}
.device-shell .device-evolution{position:absolute;right:12px;bottom:12px;padding:0;z-index:6;width:116px;height:43px}
.device-shell .device-evolution #evolve-button{width:100%;height:100%;min-height:0;padding:0;background:url('assets/ui-v046/button-gold.svg') center/100% 100% no-repeat;border:0;border-radius:0;clip-path:none;font-size:0;opacity:1;overflow:hidden;animation:evolution-button-warmth 3.6s ease-in-out infinite}
.device-shell .device-evolution #evolve-button::before{content:'';position:absolute;inset:5px;pointer-events:none;background:linear-gradient(110deg,transparent 28%,#ffe9b544 47%,#fff4d766 51%,transparent 69%);transform:translateX(-125%);animation:evolution-button-sheen 5.4s ease-in-out infinite}
.device-shell .device-evolution #evolve-button::after{font-family:'Microsoft JhengHei',sans-serif;font-size:16px;text-shadow:0 1px 2px #60341b;line-height:1.2;color:#fff3d1}
.device-shell .device-evolution #evolve-button:disabled{filter:grayscale(.8) brightness(.65);animation:none;box-shadow:none}
.device-shell .device-evolution #evolve-button:disabled::before{animation:none;opacity:0}
.device-shell .device-evolution #evolve-button:hover:not(:disabled){filter:brightness(1.15)}
.device-shell .device-evolution #evolve-button.evolution-ready{animation:evolution-ready-glow 3.6s ease-in-out infinite}
@keyframes evolution-button-warmth{0%,100%{filter:brightness(1.01);box-shadow:0 0 5px 1px #ffae4733}50%{filter:brightness(1.11);box-shadow:0 0 10px 2px #ffbc625e}}
@keyframes evolution-ready-glow{0%,100%{filter:brightness(1.04);box-shadow:0 0 6px 1px #ffb74e5e}50%{filter:brightness(1.17);box-shadow:0 0 13px 3px #ffc36f99}}
@keyframes evolution-button-sheen{0%,26%{transform:translateX(-125%);opacity:0}32%{opacity:.5}58%{transform:translateX(125%);opacity:.5}64%,100%{transform:translateX(125%);opacity:0}}
#app.evolution-cue-still .device-evolution #evolve-button{animation:none;filter:none;box-shadow:0 0 5px 1px #ffbc6244}
#app.evolution-cue-still .device-evolution #evolve-button::before{animation:none;opacity:0}
@media(prefers-reduced-motion:reduce){.device-shell .device-evolution #evolve-button{animation:none;filter:none;box-shadow:0 0 5px 1px #ffbc6244}.device-shell .device-evolution #evolve-button::before{animation:none;opacity:0}}
@media(max-width:900px){.device-shell[data-case]{--case-rail:42px;--key-size:32px}.device-shell[data-case] .device-brand{font-size:11px}.device-shell .device-evolution{width:96px;height:37px;right:9px;bottom:9px}.device-shell .device-evolution #evolve-button::after{font-size:14px}}
/* v0.54: one visual reduction of the existing HUD, anchored at its old corner.
   Leave the stage and every other overlay at their original size. */
.device-shell #stage>.hud.actor{transform:scale(.7);transform-origin:top left}
.device-shell #stage>.actor .actor-heading{flex-wrap:wrap;gap:0 6px}
.device-shell #stage>.actor .actor-heading strong{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.device-shell #stage>.actor .actor-heading small{display:inline;color:#fff}
/* Native fullscreen covers the entire game root, including all modal panels. */
#app:fullscreen{width:100%;height:100dvh;max-width:none;margin:0;background:#14252b}
#app::backdrop{background:#14252b}
.fullscreen-toggle svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter}
.device-utilities .device-fullscreen{display:grid;place-items:center;min-height:21px;padding:3px 5px;border:1px solid #7092b8;border-radius:0;background:#173c70;color:#e3f0fa;box-shadow:inset 0 1px #4374a8}
#camp .fullscreen-toggle{display:grid;place-items:center}
.fullscreen-notice{position:absolute;z-index:30;max-width:min(420px,85%);top:12px;left:50%;transform:translateX(-50%);margin:0;padding:10px 14px;background:#132d36;border:1px solid #75d0df;color:#fff;font:13px/1.5 var(--hud-font);pointer-events:none}
.fullscreen-notice[hidden]{display:none}
