@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--gold:#c7aa6e;--muted:#797d83}*{box-sizing:border-box}body{margin:0;background:#0b0e12;color:#e3e1db;font:12px 'Space Grotesk',sans-serif;background-image:radial-gradient(ellipse at 50% 35%,#20252c66,transparent 65%)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;background:transparent;border:0;cursor:pointer}button:hover{color:#eed49b}button:focus-visible,a:focus-visible{outline:2px solid var(--gold)}header{height:85px;margin:0 5%;border-bottom:1px solid #26292f;display:flex;align-items:center;justify-content:space-between;letter-spacing:2px;font-size:10px;color:var(--muted)}.brand{color:#e5dfd0;text-decoration:none;font-size:15px;letter-spacing:4px}.brand span{color:var(--gold);font-size:28px;margin-right:12px}header i{color:var(--gold);margin:0 16px}main{max-width:1100px;margin:40px auto 0;padding:0 28px}.eyebrow{text-align:center;color:var(--gold);font-size:9px;letter-spacing:4px}h1{font:500 62px 'Cormorant Garamond',Georgia,serif;letter-spacing:11px;text-align:center;margin:9px 0 28px}h1 span{display:block;font-size:16px;font-style:italic;letter-spacing:1px;color:#9b9c9e;margin-top:6px}.game{border:1px solid #3a3b3f;box-shadow:0 20px 80px #0006}.topline{height:42px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.5px;color:#9b9da2;background:#14181e}.dot{display:inline-block;width:5px;height:5px;background:var(--gold);margin-right:7px}.screen{position:relative;background:#12181d;overflow:hidden}canvas{display:block;width:100%;image-rendering:pixelated;outline:none}.overlay{position:absolute;inset:0;background:#090e16c9;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;backdrop-filter:blur(1px)}[hidden]{display:none!important}.sigil{color:#d4bd86;font-size:58px;line-height:1;margin-bottom:20px}.overlay small{font-size:9px;color:var(--gold);letter-spacing:3px}.overlay h2{font:400 38px 'Cormorant Garamond',Georgia,serif;margin:16px 0}.overlay p{color:#a1a5ab;font-size:12px;line-height:1.9}.primary{border:1px solid #b79b63;padding:16px 25px;background:#b79b6315;color:#e0c48b;font-size:10px;letter-spacing:2px;margin:18px 0}.primary span{margin-left:24px}.overlay .muted{color:#6f7680;font-size:8px;letter-spacing:1.5px}.status{display:flex;align-items:center;gap:17px;background:#14181e;padding:18px 22px;border-top:1px solid #30343a}.portrait{border:1px solid #655b45;color:var(--gold);font-size:25px;padding:3px 10px}.status strong{font-size:11px;letter-spacing:2px}.status small{display:block;font-size:7px;color:#747b83;letter-spacing:1.2px;margin-top:5px}.health{width:180px;margin:0 23px}.health span{font-size:8px;letter-spacing:1px;color:#92999f;display:flex;justify-content:space-between}.health b{color:#dbcfac;font-weight:400}.health>div{height:5px;background:#303135;margin-top:8px}.health i{display:block;height:100%;background:#c5aa70;width:100%;transition:width .3s}.stat{margin-right:20px}.stat strong{color:#d3bc85;font-size:16px}.save{margin-left:auto;font-size:7px;color:#777d80;letter-spacing:1px}.dialogue{border-top:1px solid #2b3037;display:flex;align-items:center;gap:17px;padding:18px 24px;min-height:66px;background:#101419}.dialogue>span{color:var(--gold);font-size:22px}.dialogue p{font-size:12px;line-height:1.6;margin:0;color:#b6bac1}.dialogue small{margin-left:auto;color:#68717a;font-size:8px;white-space:nowrap;letter-spacing:1px}#actions{display:flex;gap:12px;padding:14px;background:#101419;border-top:1px solid #333}#actions button{border:1px solid #897449;flex:1;padding:12px;color:#d3b779;letter-spacing:2px}#actions button:disabled{opacity:.3;cursor:default}.below{display:flex;justify-content:space-between;align-items:center;color:#727981;margin-top:20px;font-size:9px;letter-spacing:1px}.below b{color:var(--gold);margin-right:12px}.below p{font:italic 15px Georgia;color:#7c8187}.keys{word-spacing:6px}.keys em{font-style:normal;font-size:8px;word-spacing:normal}kbd{border:1px solid #42474d;padding:3px 6px}footer{max-width:1044px;margin:46px auto 25px;display:flex;justify-content:space-between;color:#454c55;letter-spacing:2px;font-size:7px}.mobile{display:none}@media(max-width:700px){header{height:65px}header>div{display:none}main{margin-top:28px;padding:0 12px}h1{font-size:44px;letter-spacing:7px}.topline{padding:0 10px}.topline>span:nth-child(2){display:none}.status{padding:12px;gap:10px;flex-wrap:wrap}.health{width:120px;margin:0 5px}.stat{margin-right:5px}.save{display:none}.overlay h2{font-size:25px;margin:7px}.overlay p{font-size:10px;margin:4px}.sigil{font-size:28px;margin-bottom:6px}.primary{padding:11px;margin:9px}.overlay .muted{display:none}.dialogue{padding:10px;gap:10px}.dialogue small{display:none}.below p,.keys{display:none}.mobile{display:flex;justify-content:center;gap:12px;margin-top:20px}.mobile button{padding:15px 20px;border:1px solid #454a52;touch-action:none}footer{padding:0 14px;gap:30px;font-size:6px}#actions{gap:6px}#actions button{font-size:9px;letter-spacing:0;padding:10px 4px}}

/* Uninterrupted game view */
body{background:#080d13;overflow:hidden}header,footer,.eyebrow,h1,.topline,.below,.mobile,#intro{display:none!important}main{margin:0;padding:0;max-width:none;width:100vw;height:100dvh;display:grid;place-items:center}.game{border:0;box-shadow:none;width:min(100vw,200dvh)}.screen{width:100%}canvas{width:100%;height:auto;touch-action:none}.overlay{backdrop-filter:none}

.game{position:relative}.status{position:absolute;left:14px;top:14px;display:flex;padding:9px 12px;gap:12px;border:1px solid #45494e;background:#0b101be0;pointer-events:none;z-index:2}.status .portrait,.status .save{display:none}.status .health{width:120px;margin:0 8px}.status .stat{margin:0}.status .stat small{font-size:6px}.dialogue{display:none;position:absolute;left:22%;right:22%;top:62px;padding:8px 12px;min-height:38px;border:1px solid #333b47;background:#0b101be8;z-index:2;pointer-events:none}.dialogue small{display:none}.dialogue p{font-size:10px}body.in-battle .dialogue{display:flex}#actions{position:absolute;left:18%;right:18%;bottom:10px;padding:6px;gap:8px;display:none;border:1px solid #343c46;background:#0b101beb;z-index:2}body.in-battle #actions:not([hidden]){display:flex}#actions button{padding:8px;font-size:10px;letter-spacing:1px}.overlay{z-index:4}@media(max-width:700px){.status{top:6px;left:6px;padding:6px;gap:5px}.status strong{font-size:8px}.status small{font-size:5px}.status .health{width:75px}.dialogue{top:48px;left:20%;right:20%;padding:3px 7px;min-height:24px}.dialogue p{font-size:8px}.dialogue>span{display:none}#actions{left:10%;right:10%;bottom:5px;gap:4px;padding:3px}#actions button{padding:5px;font-size:8px;letter-spacing:0}}
/* Side-view battle HUD */
body.in-battle .status{left:12px;right:12px;top:auto;bottom:57px;background:#151026f5;border:2px solid #8c78c1;padding:10px 16px;gap:24px}body.in-battle .status .health{width:180px}body.in-battle .status strong{font-size:13px}body.in-battle .dialogue{top:116px;left:30%;right:30%;border:0;background:#080912e8;min-height:52px;text-align:center;justify-content:center}body.in-battle .dialogue p{font-size:11px}body.in-battle .dialogue>span{display:none}body.in-battle #actions{left:12px;right:12px;bottom:8px;border:0;background:#080912;padding:0;gap:8px}body.in-battle #actions button{border:2px solid #b293eb;color:#dbc2ff;padding:10px 5px;font-weight:bold}body.in-battle #actions button:hover{background:#3f285a}body.in-battle #actions button[data-action=mercy]{border-color:#dbcf74;color:#eee4a1}body.in-battle #actions button:disabled{opacity:.32}.status{max-width:440px}body.in-battle .status{max-width:none}.status .stat{display:block}@media(max-width:700px){body.in-battle .status{bottom:38px;padding:5px;gap:12px}body.in-battle .status strong{font-size:8px}body.in-battle .status .health{width:90px}body.in-battle #actions{bottom:4px;gap:4px}body.in-battle #actions button{font-size:8px;padding:6px 2px}body.in-battle .dialogue{top:22%;left:30%;right:30%;min-height:20px;padding:2px}body.in-battle .dialogue p{font-size:7px}}
#save-menu-button{position:absolute;top:14px;right:14px;z-index:3;border:1px solid #6b6a75;background:#0c1420dc;color:#c8bd9e;padding:10px 14px;font-size:9px;letter-spacing:1px}body.in-battle #save-menu-button{display:none}.save-panel{width:min(680px,94%);max-height:96%;overflow:auto;padding:16px 20px;background:#101622f5;border:1px solid #716c7c}.save-panel h2{font-size:27px;margin:8px 0}.save-panel p{font-size:11px;margin:5px 0}.save-row{display:flex;gap:9px;align-items:center;border:1px solid #3e4755;padding:13px;margin:9px 0;text-align:left}.save-row>span{flex:1;font-size:10px;color:#c0c4cf}.save-row button{padding:7px;color:#ceb68d;border:1px solid #625c58;font-size:9px}.save-row button:disabled,.primary:disabled{opacity:.3;cursor:default}.file-tools{display:flex;justify-content:center;gap:12px}.save-panel .primary{padding:10px 14px;margin:6px 0;font-size:9px}.save-panel .save-caption{color:#7e8796;font-size:9px}@media(max-width:700px){#save-menu-button{top:6px;right:6px;padding:6px;font-size:7px}.save-panel{padding:8px}.save-panel h2{font-size:18px}.save-row{padding:6px;margin:5px 0;gap:5px}.save-row>span{font-size:7px}.save-row button{font-size:7px;padding:5px}.save-panel .primary{font-size:7px;padding:6px 9px}.save-panel p{font-size:8px}}
.status{max-width:640px}.gear-label{font-size:8px;color:#aba7b4;max-width:100px;line-height:1.4}.shop-panel #shop-balance{color:#e2c787;font-size:12px}.shop-panel #shop-note{color:#b9a7cd}.shop-panel .save-row{padding:10px}.shop-panel .save-row span{line-height:1.6}body.in-battle .gear-label{font-size:8px}@media(max-width:700px){.status{max-width:78%;gap:6px}.gear-label{font-size:6px;max-width:65px}.status .stat.gear strong{font-size:9px}.shop-panel .save-row{padding:5px}.shop-panel .save-row span{font-size:8px}.shop-panel .save-row button{white-space:nowrap}}

/* Tablet controls sit below the scene, leaving the dodge arena unobstructed. */
#touch-controls{display:none}
body.touch-ui{overscroll-behavior:none;-webkit-user-select:none;user-select:none}
.touch-ui main{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.touch-ui .game{--touch-chrome:158px;width:min(100%,calc((100dvh - var(--touch-chrome) - env(safe-area-inset-top) - env(safe-area-inset-bottom))*2))}
.touch-ui.in-battle .game{--touch-chrome:318px}
.touch-ui #touch-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;height:154px;padding:8px 24px;background:#101722;border-top:1px solid #394452;touch-action:none}
#move-pad{position:relative;width:132px;height:132px;border-radius:50%;border:2px solid #71809a;background:radial-gradient(circle,#2e3c50,#131e2e);flex-shrink:0;touch-action:none}
.pad-cross{position:absolute;inset:0;display:grid;place-items:center;font-size:76px;color:#60708760}
#move-stick{position:absolute;width:56px;height:56px;left:36px;top:36px;border:2px solid #c1b2e8;border-radius:50%;background:#69728fcc;box-shadow:0 3px 12px #0007;pointer-events:none}
.touch-help{color:#d3c5a1;font-size:11px;letter-spacing:1px}.touch-help span{display:block;margin-top:7px;color:#8795a9;font-size:10px;letter-spacing:0}
#touch-main{min-width:120px;min-height:64px;padding:15px;border:2px solid #c7ad78;border-radius:14px;background:#382e24;color:#f0d59b;font-weight:bold;font-size:13px;touch-action:manipulation}
#touch-main:disabled{opacity:.4}.touch-ui button{touch-action:manipulation;min-height:44px}
.touch-ui #save-menu-button{min-height:44px;top:8px;right:8px;font-size:10px}
.touch-ui .status{top:8px;left:8px;max-width:calc(100% - 125px);padding:8px;gap:10px;flex-wrap:wrap}.touch-ui .status .health{width:110px}.touch-ui .status strong{font-size:11px}.touch-ui .status small{font-size:7px}
.touch-ui.in-battle .status{position:static;max-width:none;border:0;border-top:1px solid #60527e;min-height:48px;padding:6px 12px;gap:14px}.touch-ui.in-battle .status .health{width:130px}.touch-ui.in-battle .status strong{font-size:11px}
.touch-ui.in-battle #actions:not([hidden]){position:static;display:grid;grid-template-columns:repeat(3,1fr);padding:6px 10px;gap:6px;background:#10121c}.touch-ui.in-battle #actions button{min-height:44px;padding:8px;font-size:12px;letter-spacing:.5px}
.touch-ui.in-battle .dialogue{display:none}.touch-ui .save-panel{max-height:100%;overflow-y:auto;touch-action:pan-y;-webkit-overflow-scrolling:touch}.touch-ui .save-row{padding:7px;gap:6px}.touch-ui .save-row button{font-size:11px;min-width:48px;padding:8px}.touch-ui .save-row>span{font-size:11px}.touch-ui .overlay p{font-size:12px}.touch-ui .save-panel .primary{font-size:11px;min-height:44px}.touch-ui .overlay{overflow-y:auto}
@media(max-width:600px){.touch-ui #touch-controls{padding:8px 14px}.touch-help{display:none}.touch-ui .status .gear-label,.touch-ui .status>div:nth-child(2) small{display:none}.touch-ui .status{gap:6px}.touch-ui .status .health{width:85px}.touch-ui .status strong{font-size:9px}.touch-ui .save-row{flex-wrap:wrap}.touch-ui .save-row>span{flex-basis:100%}.touch-ui.in-battle .status{gap:8px}.touch-ui.in-battle .status .health{width:90px}}
@media(max-height:600px) and (orientation:landscape){.touch-ui .game{--touch-chrome:116px}.touch-ui.in-battle .game{--touch-chrome:212px}.touch-ui #touch-controls{height:112px;padding:4px 20px}#move-pad{width:100px;height:100px}#move-stick{width:44px;height:44px;left:26px;top:26px}.touch-ui.in-battle #actions:not([hidden]){grid-template-columns:repeat(6,1fr)}.touch-ui.in-battle .status{min-height:44px}}

/* Command panel and party HUD */
body.in-battle{font-family:monospace}body.in-battle .dialogue{left:0;right:0;bottom:18%;top:auto;height:12%;min-height:0;padding:1% 3%;border:3px solid #f4f0f7;border-bottom:0;background:#05050a;justify-content:flex-start;text-align:left;z-index:2}body.in-battle .dialogue p{font:clamp(9px,1.5vw,17px)/1.4 monospace;color:#f2edf7}body.in-battle .dialogue p::before{content:'* ';color:#f2edf7}body.in-battle .status{left:0;right:0;bottom:8%;top:auto;height:10%;padding:0 3%;gap:18px;border:3px solid #f4f0f7;border-top:0;border-bottom:0;background:#05050a;flex-wrap:nowrap;box-sizing:border-box}body.in-battle .status .portrait{display:block;font:22px monospace;border:0;background:#b292ca;color:#171322;padding:3px 8px}body.in-battle .status strong{font-family:monospace;font-size:clamp(10px,1.4vw,17px);letter-spacing:0;color:#fff}body.in-battle .status small{font:clamp(6px,.7vw,9px) monospace;margin-top:3px;letter-spacing:0;color:#a3a0ad}body.in-battle .status .health{width:20%;margin:0 10px}body.in-battle .status .health i{background:#ed5d93}body.in-battle .status .health>div{height:7px;background:#461b30}body.in-battle .status .health span{font-family:monospace;color:#fff}body.in-battle .status .health b{color:#fff}body.in-battle .status .stat:not(.gear){display:none}body.in-battle .gear-label{margin-left:auto;font:clamp(7px,1vw,12px) monospace;color:#b7a0d3;max-width:none}body.in-battle #actions{left:0;right:0;bottom:0;height:8%;padding:0 2% .7%;gap:1%;border:3px solid #f4f0f7;border-top:0;background:#05050a;align-items:stretch}body.in-battle #actions button{font:700 clamp(8px,1.3vw,16px) monospace;color:#df994b;border:2px solid #bc7937;background:#08070d;padding:0;letter-spacing:0}body.in-battle #actions button[data-action=mercy]{color:#e1c36d;border-color:#b49b50}body.in-battle #actions button:hover,body.in-battle #actions button.selected{color:#fff0a5;background:#6b3e1d;border-color:#ffe5a2}body.in-battle #actions button.selected::before{content:'♥ ';color:#ef558c}body.in-battle #actions button:disabled{opacity:.28}#battle-menu{position:absolute;left:0;right:0;bottom:18%;height:12%;padding:.7% 3%;z-index:3;border:3px solid #f4f0f7;border-bottom:0;background:#05050a;color:#eee;font-family:monospace}#battle-menu-title{font-size:clamp(7px,.95vw,11px);color:#a696bc;margin-bottom:.7%}#battle-menu-choices{display:flex;gap:3%;align-items:center}#battle-menu button{font:clamp(9px,1.5vw,17px) monospace;text-align:left;padding:2px 8px;color:#eee;border:0}#battle-menu button.selected{color:#ffdfa5}#battle-menu button.selected::before{content:'♥ ';color:#ef558c}.battle-menu-open .dialogue{visibility:hidden}@media(max-width:700px){body.in-battle .status{gap:8px}body.in-battle .status .portrait{font-size:12px;padding:2px 4px}body.in-battle .status .health{width:22%;margin:0 4px}body.in-battle .status>div:nth-child(2) small{display:none}body.in-battle .status .health>div{height:4px;margin-top:3px}body.in-battle .status .health span{font-size:7px}body.in-battle .status .gear{display:none}body.in-battle .dialogue,body.in-battle .status,body.in-battle #actions,#battle-menu{border-width:2px}}

/* Preserve the tablet controls around the command panel. */
.touch-ui.in-battle .status{position:static;height:auto;min-height:50px;border:2px solid #f4f0f7;border-bottom:0;padding:8px 12px;flex-wrap:wrap}.touch-ui.in-battle .dialogue{position:static;display:flex;height:auto;min-height:48px;border:2px solid #f4f0f7;border-bottom:0;padding:8px 12px}.touch-ui.in-battle #actions:not([hidden]){position:static;height:auto;min-height:100px;display:grid;grid-template-columns:repeat(3,1fr);padding:6px 10px;gap:6px;border:2px solid #f4f0f7;border-top:0}.touch-ui.in-battle #actions button{min-height:44px;font-size:12px;padding:5px}.touch-ui.in-battle .game{--touch-chrome:366px}.touch-ui #battle-menu{bottom:0;height:30%;padding:8px 12px;border-bottom:2px solid #f4f0f7}.touch-ui #battle-menu-title{font-size:11px}.touch-ui #battle-menu-choices button{min-height:44px;font-size:13px}.touch-ui.battle-menu-open .dialogue{visibility:visible}.touch-ui.battle-menu-open .dialogue p{visibility:hidden}@media(max-height:600px) and (orientation:landscape){.touch-ui.in-battle .game{--touch-chrome:260px}.touch-ui.in-battle #actions:not([hidden]){grid-template-columns:repeat(6,1fr);min-height:54px}}
/* Compact, three-member party bar. */
#party-bar,.party-member{display:contents}.empty-member{display:none}body.in-battle #party-bar{position:absolute;bottom:0;left:0;width:100%;height:18%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2%;padding:0 1%;background:#05050a;border:3px solid #eee9f4;border-top:0;z-index:2}body.in-battle .party-member{position:relative;display:block;min-width:0;background:#08070e;border:2px solid #39333f;border-radius:5px 5px 0 0}body.in-battle .active-member{border-color:#e98ab9;box-shadow:inset 0 3px #6a3456}body.in-battle .empty-member{display:grid;place-items:center;border-color:#292431;color:#352f3e;font:20px monospace}body.in-battle .active-member .status{position:absolute;left:0;right:0;top:0;bottom:auto;width:100%;height:53%;min-height:0;max-width:none;gap:6%;padding:0 5%;border:0;background:transparent;flex-wrap:nowrap}body.in-battle .active-member .status .portrait{font-size:15px;padding:2px 5px;background:#c08bb3}body.in-battle .active-member .status strong{font-size:clamp(8px,1.2vw,14px)}body.in-battle .active-member .status>div:nth-child(2) small{display:none}body.in-battle .active-member .status .health{width:auto;min-width:0;flex:1;margin:0}body.in-battle .active-member .status .health span{font-size:clamp(6px,.85vw,10px)}body.in-battle .active-member .status .health>div{height:5px;margin-top:4px}body.in-battle .active-member .status .stat,body.in-battle .active-member .status .gear-label{display:none}body.in-battle .active-member #actions:not([hidden]){position:absolute;left:0;right:0;bottom:0;top:auto;width:100%;height:47%;min-height:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3%;padding:0 4% 3%;border:0;background:transparent}body.in-battle .active-member #actions button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:0;min-height:0;padding:0;border:1px solid transparent;background:transparent;color:#e79c4c;line-height:1}body.in-battle .active-member #actions button.selected{background:#553149;border-color:#e79ac2;color:#ffe9b5}body.in-battle .active-member #actions button.selected::before{content:none}body.in-battle .active-member #actions button[data-action=act]{color:#e4c361}body.in-battle .active-member #actions button[data-action=magic]{color:#cf84c1}body.in-battle .active-member #actions button[data-action=item]{color:#81c18c}body.in-battle .active-member #actions button[data-action=mercy]{color:#e5d887}body.in-battle .active-member #actions button[data-action=defend]{color:#8faedd}.command-icon{font-size:clamp(12px,1.9vw,22px)}.command-caption{font:clamp(5px,.65vw,8px) monospace;letter-spacing:0}body.touch-ui.in-battle #party-bar{position:relative;height:156px;grid-template-columns:2fr 1fr 1fr;padding:0 8px 6px;gap:8px}body.touch-ui.in-battle .active-member .status{position:absolute;top:0;height:52px;min-height:0;padding:6px 8px;gap:8px}body.touch-ui.in-battle .active-member .status .health{width:auto;min-width:0;margin:0}body.touch-ui.in-battle .active-member .status strong{font-size:11px}body.touch-ui.in-battle .active-member .status .health span{font-size:8px}body.touch-ui.in-battle .active-member #actions:not([hidden]){position:absolute;bottom:0;height:94px;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:0 5px 4px}body.touch-ui.in-battle .active-member #actions button{min-height:44px;padding:2px;gap:2px}body.touch-ui .command-icon{font-size:19px}body.touch-ui .command-caption{font-size:8px}body.touch-ui.in-battle .game{--touch-chrome:362px}@media(max-height:600px) and (orientation:landscape){body.touch-ui.in-battle #party-bar{height:104px;grid-template-columns:2fr 1fr 1fr}body.touch-ui.in-battle .active-member #actions:not([hidden]){height:48px;grid-template-columns:repeat(6,minmax(0,1fr))}body.touch-ui.in-battle .game{--touch-chrome:264px}}@media(max-width:600px){body.in-battle .active-member .status .portrait{display:none}body.touch-ui.in-battle .active-member .status strong{font-size:9px}}
#battle-menu.target-list{height:19%;overflow-y:auto}#battle-menu.target-list #battle-menu-choices{display:grid;grid-template-columns:1fr;gap:2px}#battle-menu.target-list button{font-size:clamp(9px,1.2vw,14px);line-height:1.2;padding:2px 8px}.touch-ui #battle-menu.target-list{height:65%;max-height:90%;overflow-y:auto;touch-action:pan-y}.touch-ui #battle-menu.target-list button{min-height:44px;font-size:12px;text-wrap:wrap}
.aven-info,.aven-actions{display:none}body.in-battle.devil-joined #aven-card{display:block;border-color:#83b9b4;background:#0b1118}body.in-battle.devil-joined #aven-card .aven-empty{display:none}body.in-battle.devil-joined .aven-info{position:absolute;left:8%;top:10%;display:flex;flex-direction:column;gap:3px;color:#c4e3d8;font:clamp(9px,1.2vw,14px) monospace}body.in-battle.devil-joined .aven-info small{font:clamp(5px,.6vw,8px) monospace;color:#759a98}body.in-battle.devil-joined .aven-actions{position:absolute;bottom:4%;left:6%;right:6%;height:43%;display:grid;grid-template-columns:repeat(3,1fr);gap:6%}.aven-actions button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;color:#9dc8ba;border:1px solid transparent;font-size:18px;padding:0}.aven-actions small{font:clamp(5px,.65vw,8px) monospace}.aven-actions button:disabled{opacity:.3}.aven-actions button.selected{background:#274e4d;border-color:#c3e2cb}body.aven-turn #aven-card{box-shadow:inset 0 3px #aed5bf;border-color:#c5e7cd}body.aven-turn .active-member{border-color:#55475b;box-shadow:none}.touch-ui.in-battle.devil-joined .aven-info{top:8px;left:8px}.touch-ui.in-battle.devil-joined .aven-info strong{font-size:11px}.touch-ui.in-battle.devil-joined .aven-info small{font-size:7px}.touch-ui.in-battle.devil-joined .aven-actions{height:96px;bottom:2px;grid-template-columns:1fr;gap:0}.touch-ui .aven-actions button{min-height:30px;font-size:13px;flex-direction:row;gap:4px}.touch-ui .aven-actions small{font-size:7px}@media(max-height:600px) and (orientation:landscape){.touch-ui.in-battle.devil-joined .aven-actions{height:48px;grid-template-columns:repeat(3,1fr)}.touch-ui .aven-actions button{flex-direction:column;min-height:44px}}
#heal-outside{position:absolute;right:14px;top:59px;z-index:3;border:1px solid #7c948c;background:#10201ce8;color:#bedac4;padding:9px 14px;font:10px monospace}body.in-battle #heal-outside{display:none}.touch-ui #heal-outside{min-height:44px;top:59px;right:8px;font-size:10px}#battle-menu:has(#battle-menu-choices button:nth-child(3)){height:19%;overflow-y:auto}#battle-menu:has(#battle-menu-choices button:nth-child(3)) #battle-menu-choices{display:grid;grid-template-columns:1fr;gap:2px}#battle-menu:has(#battle-menu-choices button:nth-child(3)) button{font-size:clamp(9px,1.2vw,14px);padding:2px 8px;line-height:1.2}.touch-ui #battle-menu:has(#battle-menu-choices button:nth-child(3)){height:65%;max-height:90%;touch-action:pan-y}.touch-ui #battle-menu:has(#battle-menu-choices button:nth-child(3)) button{min-height:44px;font-size:12px}
body.in-battle.devil-joined .aven-actions{grid-template-columns:repeat(5,minmax(0,1fr));gap:3%;left:4%;right:4%}.aven-actions button[data-ally=fight]{color:#e7a269}.aven-actions button[data-ally=flame]{color:#e7a486}.aven-actions small{font-size:clamp(5px,.6vw,8px)}body.touch-ui.in-battle.devil-joined .aven-actions{height:94px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}body.touch-ui .aven-actions button{min-height:44px;flex-direction:column;gap:2px;font-size:16px}body.touch-ui .aven-actions small{font-size:7px}@media(max-height:600px) and (orientation:landscape){body.touch-ui.in-battle.devil-joined .aven-actions{height:48px;grid-template-columns:repeat(5,minmax(0,1fr))}}
/* Aven uses the same party-card format and command order as Azrael. */
body.in-battle.devil-joined .aven-info{left:0;right:0;top:0;height:53%;display:flex;flex-direction:row;align-items:center;gap:6%;padding:0 5%}.aven-portrait{font:15px monospace;background:#7fafac;color:#18242c;padding:2px 5px}.aven-name strong{font:700 clamp(8px,1.2vw,14px) monospace;color:#fff}.aven-info .aven-name small{display:none}.aven-health{flex:1;min-width:0}.aven-health>span{display:flex;justify-content:space-between;gap:4px;font:clamp(6px,.85vw,10px) monospace;color:#fff}.aven-health b{font-weight:400}.aven-health>div{height:5px;background:#243a37;margin-top:4px}.aven-health i{display:block;width:100%;height:100%;background:#8bc3b3;transition:width .3s}body.in-battle.devil-joined .aven-actions{left:0;right:0;bottom:0;height:47%;grid-template-columns:repeat(6,minmax(0,1fr));gap:3%;padding:0 4% 3%}.aven-actions button{min-width:0;min-height:0;line-height:1;padding:0;gap:1px}.aven-actions button[data-ally=act]{color:#e4c361}.aven-actions button[data-ally=magic]{color:#cf84c1}.aven-actions button[data-ally=item]{color:#81c18c}.aven-actions button[data-ally=mercy]{color:#e5d887}.aven-actions button[data-ally=defend]{color:#8faedd}.aven-actions button.selected{color:#ffe9b5;background:#294744;border-color:#b2dac9}body.touch-ui.in-battle.devil-joined #party-bar{grid-template-columns:repeat(3,minmax(0,1fr))}body.touch-ui.in-battle.devil-joined .aven-info{top:0;left:0;height:52px;padding:6px 8px;gap:8px}body.touch-ui.in-battle.devil-joined .aven-info strong{font-size:11px}body.touch-ui.in-battle.devil-joined .aven-actions{bottom:0;height:94px;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 5px 4px;gap:3px}body.touch-ui .aven-actions button{min-height:44px;font-size:16px;gap:2px}body.touch-ui .aven-health>span{font-size:8px}@media(max-height:600px) and (orientation:landscape){body.touch-ui.in-battle.devil-joined .aven-actions{height:48px;grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:600px){.aven-portrait{display:none}body.touch-ui.in-battle.devil-joined .aven-info strong{font-size:9px}}
#mod-button{position:absolute;top:14px;right:14px;z-index:12;min-height:36px;border:1px solid #9b80b5;padding:9px 13px;background:#1d1529f2;color:#dcc3ef;font:10px monospace;letter-spacing:1px}#save-menu-button{top:58px}#heal-outside{top:102px}#mod-overlay{position:absolute;inset:0;z-index:11;display:grid;place-items:center;padding:12px;background:#070b14e8;touch-action:pan-y}#mod-panel{width:min(590px,94%);max-height:95%;overflow-y:auto;padding:20px 24px;background:#131927;border:2px solid #a28ab9;color:#d6d6df;text-align:left;touch-action:pan-y}#mod-panel h2{font:30px Georgia;margin:8px 0 14px}#mod-panel small{font:9px monospace;letter-spacing:2px;color:#b7a1cc}#mod-panel p{font:11px/1.5 monospace;color:#969eae;margin:8px 0}#mod-panel #mod-message{color:#dfc393;min-height:16px}#mod-panel h3{font:14px monospace;margin:0 0 8px;color:#e1d7ea}.mod-section{padding:12px 0;border-top:1px solid #343b4b}#mod-panel input[type=password],#mod-panel select{display:block;width:100%;margin:10px 0 6px;padding:10px;background:#090f19;border:1px solid #6a6279;color:#e9e2ed;font:12px monospace}#mod-panel label{font:12px monospace}#mod-panel input[type=password]{font-size:18px;letter-spacing:5px}#mod-panel .primary{font-size:9px;letter-spacing:1px;padding:10px 12px;margin:5px 8px 5px 0}#mod-panel .primary:disabled{opacity:.3;cursor:default}.mod-toggle{display:flex;align-items:center;gap:8px;margin-top:8px}.mod-toggle input{width:18px;height:18px;accent-color:#baa0d3}.mod-footer{display:flex;justify-content:space-between;border-top:1px solid #343b4b;padding-top:10px}.touch-ui #mod-button{top:8px;right:8px;min-height:44px}.touch-ui #save-menu-button{top:60px}.touch-ui #heal-outside{top:112px}.touch-ui #mod-panel .primary,.touch-ui #mod-panel select,.touch-ui #mod-panel input{min-height:44px}@media(max-width:600px){#mod-panel{padding:12px;width:98%}#mod-panel h2{font-size:23px}#mod-panel .primary{font-size:8px;padding:8px}#mod-panel p{font-size:9px}.mod-footer{gap:5px}}
#mod-dock{position:absolute;right:10px;top:58px;width:250px;max-width:46%;max-height:calc(100% - 70px);overflow-y:auto;z-index:8;padding:12px;border:1px solid #a38bb9;background:#111725ed;color:#ded2eb;box-shadow:0 6px 25px #0008;font:11px monospace;touch-action:pan-y}.mod-dock-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.mod-dock-head strong{font-size:11px;letter-spacing:1px}#hide-mod-dock{border:0!important;font-size:22px!important;padding:0 4px!important}.mod-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:7px}#mod-dock button,#mod-dock select{border:1px solid #6a607c;background:#1f2536;color:#e0d6eb;font:10px monospace;padding:7px;cursor:pointer}#mod-dock button:hover{background:#463b59}#mod-dock button:disabled{opacity:.3;cursor:default}#mod-dock select{width:100%;margin:8px 0 3px}#mod-dock #mod-skip,#mod-dock #lock-mod{width:100%}#mod-dock .mod-section{padding:9px 0}#mod-dock summary{cursor:pointer;letter-spacing:1px;font-size:10px}#mod-dock .mod-toggle{font-size:10px}#mod-dock small,#mod-dock-note{font-size:9px;line-height:1.5;color:#b5a3c2}#mod-dock-note:empty{display:none}#lock-mod{margin-top:9px}.touch-ui #mod-dock{top:60px}.touch-ui #mod-dock button,.touch-ui #mod-dock select{min-height:44px}@media(max-width:600px){#mod-dock{padding:8px;max-width:60%;width:210px;font-size:9px}#mod-dock .mod-quick-grid{grid-template-columns:1fr}#mod-dock button{font-size:9px}}
