:root{color-scheme:dark;--gold:#bda46c;--cream:#efe3c5;--ink:#14251e;--muted:#a6aa92}*{box-sizing:border-box}body{margin:0;overflow:hidden;touch-action:none;background:#172b22;color:var(--cream);font:14px Georgia,'Times New Roman',serif;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}#game{display:block;width:100vw;height:100dvh}button,input{font:inherit}button{color:var(--cream);background:linear-gradient(145deg,#394737,#18281f);border:1px solid #8b8059;border-radius:7px;padding:10px 14px;cursor:pointer;touch-action:manipulation}button:hover{border-color:#e1c68d}button:active{filter:brightness(1.25)}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible{outline:2px solid #ecd7a8;outline-offset:3px}.primary{background:linear-gradient(145deg,#99804b,#64502a);color:#fff0ce;border-color:#d9bd78}.danger{color:#e6aa96}.muted{color:var(--muted);font:11px Arial;line-height:1.6}.eyebrow{font:9px Arial;letter-spacing:2px;color:#c1ac77}.hud{position:fixed;inset:0;padding:max(14px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left));pointer-events:none}.panel{background:linear-gradient(145deg,#203226ed,#14241ded);border:1px solid #857448;box-shadow:0 6px 20px #0003;border-radius:8px}.hero{padding:13px 16px;width:225px;max-width:34vw}.name{display:flex;gap:8px;justify-content:space-between;align-items:center;margin:5px 0}.name strong{font-size:21px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#level{font:11px Arial;white-space:nowrap}.bar{background:#0d1713;height:8px;border-radius:8px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,#823e34,#c77958);transition:width .1s}.experience{height:3px;margin-top:8px}.experience i{background:#b8a065}#stats{font:10px Arial;color:#c6ccb6;margin-top:5px}.quest{display:flex;flex-direction:column;text-align:left;gap:7px;width:225px;max-width:34vw;margin-top:9px;pointer-events:auto;line-height:1.45}.right{position:absolute;top:max(14px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));text-align:right}.right .eyebrow{font-size:8px;letter-spacing:1.5px}#minimap{width:120px;height:78px;display:block;margin:7px 0 5px auto;border:1px solid #8c7c52;border-radius:7px;background:#172d23}#place{font-size:14px;color:#e3d5b2}.tools{display:flex;justify-content:end;gap:6px;margin-top:7px}.tools button{padding:7px 11px;pointer-events:auto}#bossbar{position:fixed;top:18px;left:50%;transform:translateX(-50%);width:28vw;max-width:280px;text-align:center;background:#251d19e8;border:1px solid #ad7855;border-radius:8px;padding:9px 12px;pointer-events:none}#bossbar>span{font:10px Arial;letter-spacing:1.5px}#bossbar .bar{margin:5px 0}#bossbar small{font:10px Arial;color:#d9b193}#stick{position:fixed;bottom:max(28px,env(safe-area-inset-bottom));left:max(25px,env(safe-area-inset-left));width:118px;height:118px;border:1px solid #bfa57599;border-radius:50%;background:radial-gradient(#586b3b22,#182a2166);box-shadow:inset 0 0 20px #0003;touch-action:none}#knob{position:absolute;width:46px;height:46px;left:calc(50% - 23px);top:calc(50% - 23px);border-radius:50%;background:radial-gradient(#b8b18a99,#7f816177);border:1px solid #bfaf7b;pointer-events:none}.controls{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));display:grid;grid-template-columns:58px 62px 86px;grid-template-rows:62px 62px;gap:8px;align-items:center}.controls button{border-radius:50%;width:62px;height:62px;padding:0;box-shadow:0 7px 20px #0005;touch-action:none;background:radial-gradient(at 35% 25%,#536357,#14271f)}.controls b{display:block;font-size:26px;font-weight:normal;color:#e1d1a1}.controls small{display:block;font:9px Arial;margin-top:2px}.controls #attack{grid-column:3;grid-row:1 / 3;align-self:end;width:86px;height:86px;border:2px solid #c6a366;background:radial-gradient(at 35% 25%,#776841,#302d20)}#attack b{font-size:34px}#skill{grid-column:2;grid-row:1}#dash{grid-column:2;grid-row:2}#heal{grid-column:1;grid-row:2;width:56px;height:56px}#interact{position:fixed;left:50%;bottom:28%;transform:translateX(-50%);box-shadow:0 5px 25px #0007}#toast{position:fixed;top:27%;left:50%;transform:translateX(-50%);background:#15271fee;border:1px solid #9e8750;border-radius:8px;padding:11px 18px;max-width:65vw;pointer-events:none;opacity:0;transition:opacity .2s;text-align:center;font-size:13px}#hint{position:fixed;bottom:8px;left:50%;transform:translateX(-50%);color:#d0d1af80;font:10px Arial;pointer-events:none;white-space:nowrap}#dialog{position:fixed;inset:0;z-index:10;background:#071910d9;backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));overflow:auto;touch-action:pan-y}.box{width:100%;max-width:650px;max-height:100%;overflow:auto;background:linear-gradient(135deg,#2e4030,#15261f);border:1px solid #b29a60;box-shadow:0 15px 80px #0008;border-radius:14px;padding:26px;touch-action:pan-y}.box p{line-height:1.7;color:#c3c8af}.box h1{font-size:42px;font-weight:normal;margin:8px 0 12px}.box h2{font-size:26px;font-weight:normal;margin:8px 0 16px}.box .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.box label{display:block;margin:16px 0 6px;color:#d4ccac}.box input{display:block;width:100%;padding:12px;background:#101f17;border:1px solid #7c7954;border-radius:7px;color:#f1dfb8;user-select:text;-webkit-user-select:text}.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice{padding:0 10px 12px;border:1px solid #657454;background:#14271d;position:relative}.choice.selected{border:2px solid #e0c180;background:radial-gradient(#52624744,#172c21)}.choice canvas{width:100%;height:150px;display:block}.choice strong{display:block;font-size:17px}.choice small{color:#a7b299;font:10px Arial}.form-error{color:#f1b092;font-size:12px;min-height:18px}.item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #b6b48b22}.item span{display:block}.item small{display:block;font:11px Arial;color:#aab59e;margin-top:5px}.item button{font-size:12px;min-width:90px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.stat-grid div{background:#10211888;padding:12px;border-radius:6px;font:11px Arial;color:#afbba4}.stat-grid strong{display:block;font:22px Georgia;color:#e0d0a9;margin-top:5px}.chapter-step{border-left:2px solid #817447;padding:8px 15px;margin:8px 0}.chapter-step.current{border-color:#e4c17c;background:#af9e5022}.chapter-step.done{opacity:.6}.hidden{display:none!important}.sound-status{font:12px Arial;color:#bcbba2}@media(max-height:480px){.hero{padding:9px 12px}.name strong{font-size:17px}.quest{margin-top:6px;padding:8px 12px;gap:4px}.quest .muted{display:none}.controls{grid-template-columns:50px 54px 72px;grid-template-rows:54px 54px;gap:6px;bottom:16px}.controls button{width:54px;height:54px}.controls #attack{width:72px;height:72px}#heal{width:48px;height:48px}.controls b{font-size:22px}#stick{width:100px;height:100px;bottom:20px}#minimap{width:96px;height:62px}.right .eyebrow{display:none}.right{top:10px}.tools button{padding:6px 10px}#bossbar{top:12px}#dialog .box{padding:18px 24px;max-width:720px}.box h1{font-size:30px}.creation{display:grid;grid-template-columns:1fr 1fr;gap:24px}.choice canvas{height:138px}.box p{margin:8px 0}.box .actions{margin-top:10px}.box label{margin-top:10px}}@media(orientation:portrait){.hero,.quest{max-width:49vw;width:190px}.hero{padding:10px 12px}.name strong{font-size:18px}.right{right:12px}#minimap{width:90px;height:60px}.right .eyebrow{font-size:7px}#place{font-size:12px}#bossbar{top:190px;width:220px;max-width:70vw}#stick{width:96px;height:96px;left:15px;bottom:35px}.controls{right:12px;bottom:35px;grid-template-columns:44px 46px 60px;grid-template-rows:48px 48px;gap:4px}.controls button{width:46px;height:46px}.controls #attack{width:60px;height:60px}#heal{width:44px;height:44px}.controls b{font-size:21px}.controls small{font-size:8px}#attack b{font-size:26px}#hint{bottom:9px;width:90%;white-space:normal;text-align:center}#toast{top:42%;max-width:90vw;width:max-content}#interact{bottom:28%}.box{padding:22px}.box h1{font-size:34px}.choice canvas{height:135px}.stat-grid{gap:5px}.stat-grid div{padding:9px}.item{gap:8px}}

#mount{position:fixed;left:max(25px,env(safe-area-inset-left));bottom:160px;padding:8px 14px;font-size:12px;background:#25372ce8}.tools{max-width:260px;flex-wrap:wrap}.tools button{font-size:11px;padding:7px 9px}.map-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.destination{text-align:left;padding:12px}.destination strong{display:block;font:17px Georgia}.destination small{display:block;font:11px Arial;color:#aeb9a1;margin-top:5px}.destination.active{border:2px solid #d7be7c}.rarity-green{color:#abd698}.rarity-blue{color:#91c9e0}.gear-list{max-height:45vh;overflow:auto}.item .gear-actions{display:flex;gap:5px}.item .gear-actions button{min-width:60px}.skill-card{padding:13px;border:1px solid #73825b;border-radius:7px;margin:9px 0}.skill-card.active{border-color:#e4c88a}.skill-card strong{font-size:18px}.skill-card button{float:right;padding:6px 10px}.quest .eyebrow{letter-spacing:1px}.map-note{font-size:12px}@media(max-height:480px){#mount{bottom:129px;padding:6px 12px}.tools{max-width:210px}.tools button{font-size:10px;padding:5px 7px}.right #minimap{height:52px;width:80px}}@media(orientation:portrait){#mount{bottom:145px;left:15px}.tools{max-width:150px;gap:4px}.tools button{padding:6px}.map-grid{grid-template-columns:1fr}.destination strong{font-size:16px}.item .gear-actions{flex-direction:column}.item .gear-actions button{padding:6px}.item small{line-height:1.4}}

#autoTrain{position:fixed;left:max(25px,env(safe-area-inset-left));bottom:203px;font:12px Arial;padding:9px 13px;background:#24382aee}#autoTrain.enabled{border-color:#d8c07d;background:#5b6034;color:#fff1c5}#autoStatus{position:fixed;left:50%;bottom:35px;transform:translateX(-50%);font:11px Arial;color:#eed698;background:#16271fe8;border-radius:6px;padding:7px 12px;pointer-events:none;max-width:40vw;text-align:center}#autoStatus:empty{display:none}@media(max-height:480px){#autoTrain{bottom:165px;padding:7px 10px;font-size:11px}#autoStatus{bottom:24px;max-width:36vw}}@media(orientation:portrait){#autoTrain{left:15px;bottom:185px;padding:8px;font-size:11px}#autoStatus{bottom:245px;max-width:80vw;width:max-content}}

.bar.mana{margin-top:5px;height:7px}.mana i{background:linear-gradient(90deg,#245c98,#61b5e8)}#manaStats{font:9px Arial;color:#9dccea;margin-top:4px}#manaPotion{grid-column:1;grid-row:1;width:56px;height:56px;border-color:#648bab;background:radial-gradient(at 35% 25%,#426985,#172d42)}#manaPotion b{color:#99d3f4}.village-links{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.skill-card .muted{margin:6px 0}.hero{padding-top:10px;padding-bottom:10px}.quest{gap:4px}@media(max-height:480px){.hero{padding:7px 10px}.hero .eyebrow{font-size:8px}.name{margin:3px 0}.bar.mana{margin-top:3px;height:5px}#manaStats{margin-top:2px}#stats{margin-top:2px}.experience{margin-top:4px}.quest{padding:7px 10px;font-size:11px}#manaPotion{width:48px;height:48px}}@media(orientation:portrait){#manaPotion{width:44px;height:44px}.hero{padding:8px 10px}.quest{font-size:11px}}

/* v0.8: always-visible skills with readable selected-art status. */
#buildTag{position:fixed;top:3px;left:50%;color:#ead298;background:#14251ecc;padding:3px 7px;border-radius:4px;font:10px Arial;pointer-events:none}
#skillDock{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:170px;width:300px;padding:9px;background:#10241fec;border:1px solid #a38f57;border-radius:9px}#skillReadout{font:11px Arial;color:#bce5ef;min-height:26px;line-height:1.4}#quickArts{display:flex;gap:4px;overflow-x:auto;touch-action:pan-x;padding:3px 0 6px}#quickArts button{flex:0 0 45px;padding:5px 1px;min-height:48px}#quickArts b{display:block;font:22px Georgia;color:#d8f6ed}#quickArts small{font:9px Arial}#quickArts .selected{border:2px solid #efd394;background:#426854}#openArts{width:100%;padding:6px;font:11px Arial;color:#f6dfa4}#arts{border-color:#ecd08d;background:#66552d}
@media(max-height:480px){#skillDock{bottom:137px;width:265px;padding:6px}#quickArts button{min-height:41px;flex-basis:40px;padding:3px 1px}#skillReadout{min-height:17px;font-size:10px}#openArts{padding:4px}}
@media(orientation:portrait){#skillDock{right:12px;bottom:154px;width:190px;padding:6px}#quickArts button{flex-basis:40px}#skillReadout{font-size:10px;min-height:28px}#autoStatus{bottom:295px}}

/* Sect selection remains tappable and scrollable on narrow phones. */
#sectBadge{font:11px Arial;margin-bottom:5px;font-weight:bold}#buffStatus{color:#dce9ab;font:10px Arial;line-height:1.4}#buffStatus:empty{display:none}.sect-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.sect-tile{padding:10px 4px;border-color:#6d7054;text-align:center}.sect-tile b{display:block;font-size:25px;color:var(--sect-color)}.sect-tile strong{display:block;font-size:12px;margin:5px 0}.sect-tile small{display:block;font:9px Arial;color:#b9c5b6}.sect-tile.selected{border:2px solid var(--sect-color);background:#425446}.sect-detail{border-left:3px solid;padding:4px 12px;margin-top:15px}.sect-detail h2{font-size:22px;margin-bottom:6px}.branch-list{display:flex;flex-wrap:wrap;gap:8px}.branch-list button{flex:1 1 140px;text-align:left;padding:10px}.branch-list strong,.branch-list small,.branch-list span{display:block}.branch-list small{font:10px Arial;line-height:1.6;color:#c4d1bf;margin:6px 0}.branch-list span{font:11px Arial;color:#f2da9c}#sects{background:#635130;border-color:#d7bb79}.skill-card strong{display:block;padding-right:80px;font-size:16px}@media(orientation:portrait){.sect-grid{grid-template-columns:repeat(2,1fr)}.sect-tile{display:grid;grid-template-columns:30px 1fr;text-align:left;padding:8px}.sect-tile b{grid-row:1 / 3}.sect-tile strong{margin:1px 0}.sect-tile small{grid-column:2}#skillDock{width:200px}#sectBadge{font-size:10px}.branch-list button{flex-basis:100%}}@media(max-height:480px){#sectBadge{font-size:10px;margin-bottom:3px}.sect-grid{gap:5px}.sect-tile{padding:6px}#skillDock{bottom:135px}}

#nextArt{font:9px Arial;color:#b7c4b4;line-height:1.4;margin-bottom:4px}#quickArts button.no-mana{border-color:#426b8c;color:#82a6bf}#openArts.new-art{border:2px solid #e9d579;box-shadow:0 0 10px #ead57560}@media(max-height:480px){#nextArt{max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8px}}

/* v0.12: compact edge controls; central playfield remains unobstructed. */
:root{--edge-right:max(10px,env(safe-area-inset-right));--edge-bottom:max(10px,env(safe-area-inset-bottom))}
.hud{padding:max(8px,env(safe-area-inset-top)) var(--edge-right) 0 max(10px,env(safe-area-inset-left))}
.hero{width:164px;max-width:46vw;padding:6px 8px;background:#14241dbd;box-shadow:none}.hero>.eyebrow{display:none}.hero .name{margin:0 0 4px}.hero .name strong{font-size:14px}#level{font-size:9px}.hero .bar{height:5px}.hero .bar.mana{height:5px;margin-top:4px}.hero .experience{height:2px;margin-top:4px}#manaStats,#stats{font-size:8px;margin-top:3px}
.quest{width:164px;max-width:46vw;padding:6px 8px;margin-top:4px;display:block;background:#14241d99;box-shadow:none;font:10px Arial;min-height:30px}.quest .eyebrow,.quest .muted{display:none}#quest{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.right{top:max(8px,env(safe-area-inset-top));right:var(--edge-right);max-width:144px}.right>.eyebrow{display:none}.right #minimap{width:64px;height:42px;margin:0 0 3px auto}#place{font:9px Arial;max-width:144px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#hudMenu{position:relative;pointer-events:auto;margin-top:4px}#hudMenu summary{display:inline-flex;align-items:center;justify-content:center;list-style:none;min-width:66px;min-height:32px;padding:5px 10px;background:#14241dcc;border:1px solid #8b8059;border-radius:6px;font:11px Arial;cursor:pointer}#hudMenu summary::-webkit-details-marker{display:none}#hudMenu .tools{position:absolute;right:0;top:34px;width:144px;max-width:144px;display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0;padding:5px;background:#13251ff5;border:1px solid #7d724c;border-radius:7px;z-index:4}#hudMenu:not([open]) .tools{display:none}#hudMenu .tools button{font-size:10px;padding:6px 3px;min-height:40px}
.controls{right:var(--edge-right);bottom:var(--edge-bottom);grid-template-columns:44px 44px 64px;grid-template-rows:44px 44px;gap:4px}.controls button,.controls #heal,.controls #manaPotion{width:44px;height:44px}.controls #attack{width:64px;height:64px}.controls b{font-size:21px}.controls small{font-size:8px}#attack b{font-size:27px}
#stick{width:84px;height:84px;left:max(12px,env(safe-area-inset-left));bottom:var(--edge-bottom)}#knob{width:36px;height:36px;left:calc(50% - 18px);top:calc(50% - 18px)}
#autoTrain,#mount{left:auto;bottom:calc(100px + var(--edge-bottom));width:80px;height:36px;padding:4px 2px;font:10px Arial;border-radius:6px;background:#1b3025cc}#mount{right:var(--edge-right)}#autoTrain{right:calc(84px + var(--edge-right))}#autoTrain.enabled{background:#626739;border-color:#ead394}
#skillDock{right:var(--edge-right);bottom:calc(144px + var(--edge-bottom));width:210px;padding:4px;display:grid;grid-template-columns:minmax(0,1fr) 50px;gap:3px;background:#10241f99;border-color:#82784a88;border-radius:6px}#quickArts{grid-column:1 / -1;grid-row:1;gap:3px;padding:0 0 2px}#quickArts button{flex-basis:43px;min-height:44px;padding:3px 1px}#quickArts b{font-size:20px}#quickArts small{font-size:8px}#skillReadout{grid-column:1;grid-row:2;min-height:0;font:9px Arial;line-height:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#openArts{grid-column:2;grid-row:2;width:50px;padding:3px;min-height:24px;font-size:9px}#sectBadge,#nextArt,#buffStatus{display:none}
#autoStatus{left:auto;right:var(--edge-right);bottom:calc(224px + var(--edge-bottom));transform:none;padding:3px 5px;font:9px Arial;max-width:210px;width:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#14251c88}#hint{display:none}#buildTag{top:auto;bottom:3px;left:calc(50% - 16px);font-size:8px;padding:1px 3px;background:transparent}
#bossbar{top:max(8px,env(safe-area-inset-top));width:26vw;max-width:230px;padding:5px 8px}#bossbar>span{font-size:9px;letter-spacing:0}#bossbar small{font-size:8px}#interact{bottom:calc(105px + var(--edge-bottom));padding:7px 10px;max-width:45vw;font-size:11px}#toast{top:22%;font-size:11px;padding:7px 10px}
@media(orientation:portrait){#bossbar{top:130px;width:180px;max-width:55vw}#skillDock{width:196px}#autoStatus{max-width:196px}#toast{top:28%}#interact{left:12px;transform:none;max-width:43vw;bottom:calc(105px + var(--edge-bottom))}}
@media(max-height:400px) and (orientation:landscape){.right #minimap{display:none}#skillDock{width:200px}#autoStatus{display:none}}

.ingot{width:24px;height:16px;display:inline-block;vertical-align:middle;flex:none}.wallet{display:flex;align-items:center;gap:7px;color:#f5d37a!important}.wallet .ingot{width:42px;height:28px}#knbBalance{font:9px Arial;color:#f2d67f;display:flex;align-items:center;gap:4px;height:16px;margin-top:2px}#knbBalance .ingot{width:21px;height:14px}.skill-card:after{content:'';display:block;clear:both}.skill-card>button{margin:3px}.skill-card>strong{line-height:1.5}

.codex-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:12px 0}.codex-grid button{padding:8px 3px;font-size:12px;min-height:48px}.codex-grid small{display:block;font:10px Arial;color:#baccb5;margin-top:4px}.codex-grid .selected{border:2px solid #ecd387;background:#456047}.city-tabs{display:flex;flex-wrap:wrap;gap:5px}.city-tabs button{font-size:11px;padding:8px}.box .item small{max-width:360px}@media(orientation:portrait){.codex-grid{grid-template-columns:repeat(2,1fr)}.box .item span{font-size:13px}}
/* v0.15: touch-friendly GM console, kept inside the existing compact menu. */
.gm-command{display:flex;gap:8px;margin:8px 0 16px}.gm-command input{flex:1;min-width:0;background:#13291f;color:#f1e3bb;border:1px solid #8b815c;border-radius:8px;padding:12px;font-size:16px}.gm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.gm-grid button{min-height:58px;text-align:left;padding:10px}.gm-grid small{display:block;color:#acbfae;font-size:12px;margin-top:4px}.gm-feedback{padding:10px;border-left:3px solid #e0bd70;background:#21392b;color:#f0d99e}#gm{color:#edd194}@media(max-width:600px){.gm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.combat-set-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.combat-set-grid button{padding:12px;text-align:left;min-height:90px}.combat-set-grid strong,.combat-set-grid span,.combat-set-grid small{display:block}.combat-set-grid span{color:#eed49d;margin:5px 0}.combat-set-grid small{color:#b2c6b5;font-size:11px}.combat-set-grid .selected{border-color:#f1d58e;background:#3c5037}.quick-name{font-size:11px!important;white-space:normal;line-height:1.15;max-width:64px}#skill{touch-action:none}@media(max-width:430px){.combat-set-grid{grid-template-columns:1fr}}
.mount-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mount-grid .skill-card{margin:0;padding:12px}.mount-grid strong{font-size:18px}.mount-grid button{float:none;min-height:40px}@media(max-width:430px){.mount-grid{grid-template-columns:1fr}}
.story-options{display:grid;gap:10px;margin:16px 0}.story-options button{text-align:left;min-height:54px;padding:12px}.story-region{padding:12px 0;border-bottom:1px solid #65705a}.story-region p{font-size:14px;margin:7px 0}.story-region small{color:#c9b47f}.story-region strong{color:#e3cc95}
.element-info{padding:10px 12px;border-left:3px solid;background:#243d30;color:#e7dabb;font-size:14px;line-height:1.5}.element-info small{color:#b5c6b3}

/* v0.21: reserve distinct spaces for navigation, skills and combat controls. */
.hud{z-index:6}
.right{pointer-events:auto;z-index:7}
#hudMenu{z-index:8}
#hudMenu .tools{max-height:calc(100vh - 110px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-height:calc(100dvh - 110px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;background:#10241ff5}
#skillDock{z-index:3;box-sizing:border-box;grid-template-columns:minmax(0,1fr) 80px}
#quickArts{min-width:0;max-width:100%;align-items:stretch;overflow-y:hidden}
#quickArts button{flex:0 0 76px;min-width:0;height:44px;min-height:44px;max-height:44px;overflow:hidden}
#quickArts .quick-name{max-width:none;font-size:11px!important;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#openArts{width:80px;min-height:28px;white-space:nowrap}
#skillReadout{line-height:28px}
.skill-test-panel{padding:12px;border:1px solid #c9b677;border-radius:10px;background:#243d32;margin-bottom:14px}
.skill-test-panel p{font:12px/1.5 Arial;margin:8px 0}
.skill-test-panel button{min-height:40px}
@media(orientation:landscape){
 #skillDock{left:calc(108px + env(safe-area-inset-left));right:calc(180px + env(safe-area-inset-right));bottom:var(--edge-bottom);width:auto;max-width:480px;margin:0 auto;padding:4px}
 #interact{bottom:calc(88px + var(--edge-bottom));max-width:38vw}
 #autoStatus{bottom:calc(140px + var(--edge-bottom))}
 #hudMenu .tools{max-height:calc(100dvh - 80px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
 .right #minimap{display:none}
 #buildTag{bottom:1px;font-size:7px}
}
@media(orientation:portrait){
 #skillDock{width:min(290px,calc(100vw - 24px));bottom:calc(144px + var(--edge-bottom))}
}
.journey-next{padding:12px;border-left:3px solid #d9bd78;background:#334536;border-radius:4px;line-height:1.5}

.rarity-gold{color:#edcb7f}

.weapon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.weapon-card{display:flex;align-items:center;gap:8px;border:1px solid #8e8050;border-radius:10px;padding:8px;background:#14271f}.weapon-card canvas{width:80px;height:80px;flex-shrink:0}.weapon-card small{display:block;margin:4px 0;color:#c4cbb1}.weapon-card button{margin-top:6px}
.affix-awake{color:#9ce5b1!important}.affix-locked{color:#aaa69b!important}.gear-element{display:block;color:#e6cc83;margin-top:5px}#arenaHud{position:fixed;z-index:8;top:calc(env(safe-area-inset-top) + 10px);left:50%;transform:translateX(-50%);max-width:85vw;padding:8px 14px;background:#16291fee;border:1px solid #bdad72;border-radius:10px;text-align:center;pointer-events:auto}#arenaHud span,#arenaHud small{display:block}#arenaHud button{padding:5px 12px;margin-top:4px}#game.arena-mode~.hud,#game.arena-mode~#skillDock,#game.arena-mode~#autoTrain,#game.arena-mode~#autoStatus,#game.arena-mode~#mount,#game.arena-mode~#bossbar,#game.arena-mode~#interact,#game.arena-mode~#hint{display:none!important}
/* v0.35: six icon slots, finger-size targets, separate auto toggles. */
#skillDock{display:none!important}#hotbar{position:fixed;z-index:4;right:var(--edge-right);bottom:calc(142px + var(--edge-bottom));width:min(318px,calc(100vw - 24px));padding:5px;background:#10251ed9;border:1px solid #82784a;border-radius:10px;box-sizing:border-box}#hotSlots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px}.hot-slot{min-width:0}.hot-cast{position:relative;display:block;width:100%;padding:0!important;border:0!important;background:transparent!important;min-height:44px!important}.hot-cast svg{width:100%;height:auto;display:block;filter:drop-shadow(0 0 3px #d9d89055)}.hot-cast small{display:block;font:9px Arial;color:#d8e7d0;white-space:nowrap}.hot-cast em{position:absolute;left:4px;top:2px;font:9px Arial;color:#fff}.hot-slot.chosen svg{filter:drop-shadow(0 0 4px #ffe78b)}.hot-slot.poor svg{opacity:.5}.hot-cast:disabled svg{filter:grayscale(1);opacity:.4}.hot-mode{width:100%;min-height:26px!important;padding:2px!important;font:10px Arial!important;border-radius:5px!important;margin-top:3px}.hot-mode.on,#hotAuto.on{color:#c2ffd1;background:#246444;border-color:#9ee8ac}.hot-actions{display:flex;justify-content:space-between;gap:5px;margin-top:5px}.hot-actions button{padding:4px 8px;font:11px Arial;min-height:30px}.hot-empty{display:block;height:44px;font-size:25px}.hot-palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.hot-pick{position:relative;touch-action:none;user-select:none;min-width:0;padding:8px}.hot-pick svg{display:block;width:54px;height:54px;margin:auto}.hot-pick strong,.hot-pick small{display:block;font-size:12px}.hot-pick small{font-size:10px;color:#b3cbbc}.hot-editor{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.hot-editor button{padding:3px;min-width:0;border-style:dashed}.hot-editor svg{width:100%;max-height:60px}.hot-editor small{display:block}.hot-actions button:focus-visible,.hot-cast:focus-visible{outline:2px solid #ffe78b}
@media(orientation:landscape){#hotbar{left:calc(110px + env(safe-area-inset-left));right:calc(182px + env(safe-area-inset-right));bottom:var(--edge-bottom);width:auto;max-width:350px;margin:auto}#hotSlots{gap:4px}.hot-cast svg{height:42px}.hot-actions button{min-height:26px}}
@media(max-width:360px){#hotbar{width:calc(100vw - 20px)}.hot-palette{gap:4px}}
#attack svg{display:block;width:70%;height:65%;margin:0 auto}#attack small{font-size:10px;line-height:13px}.item-picture{float:left;width:64px;height:64px;margin:4px 10px 4px 0}#charmPic-travel,#charmPic-return{width:72px;height:72px;flex-shrink:0}
/* v0.37: one compact skill row and portrait vitals. */
.hero{display:flex;align-items:center;gap:6px;width:182px;max-width:48vw;padding:5px 6px;min-height:58px}
.hero-vitals{flex:1;min-width:0;position:relative;padding-bottom:13px}
#heroPortrait{flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;border:1px solid #c3aa70;overflow:hidden;pointer-events:auto;background:#203a30}
#heroPortrait svg{display:block;width:100%;height:100%}
.hero .name{margin:0 0 3px;gap:4px}.hero .name strong{font-size:12px}#level{font-size:8px}
.hero .bar,.hero .bar.mana{height:5px;margin-top:3px}.hero .experience{height:2px;margin-top:3px}
#manaStats,#stats{display:none}#knbBalance{position:absolute;bottom:0;left:0;margin:0;height:11px;font-size:8px}#knbBalance .ingot{width:15px;height:10px}
.quest{width:182px;max-width:48vw;min-height:24px;padding:4px 6px;font-size:9px}
#hotbar{left:calc(104px + env(safe-area-inset-left));right:calc(180px + env(safe-area-inset-right));bottom:max(4px,env(safe-area-inset-bottom));width:auto;max-width:288px;margin:0 auto;padding:3px;border-radius:8px;background:#10251eaa}
#hotSlots{gap:2px}.hot-cast{height:44px;min-height:44px!important}.hot-cast svg{width:100%;height:42px}.hot-cast small{display:none}.hot-cast em{font-size:8px;left:3px;top:1px}.hot-empty{height:42px;line-height:42px;font-size:25px}.hot-mode,.hot-actions{display:none}
.hot-editor button{width:100%}.editor-mode{margin-top:4px;min-height:32px;font:10px Arial}.editor-mode[aria-pressed=true]{background:#246444;color:#c2ffd1}
#buildTag{left:calc(100px + env(safe-area-inset-left));bottom:57px;font-size:7px;opacity:.65}
.face-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.face-option{min-width:0;padding:8px;font:12px Arial}.face-option svg{display:block;width:min(100%,96px);margin:0 auto 6px}.face-option.selected{border:2px solid #edcf85;background:#3d5947}.face-option span{display:block}
@media(orientation:portrait){#hotbar{left:10px;right:10px;width:auto;max-width:288px;bottom:max(4px,env(safe-area-inset-bottom))}.controls,#stick{bottom:calc(58px + var(--edge-bottom))}#mount,#autoTrain{bottom:calc(158px + var(--edge-bottom))}#autoStatus{bottom:calc(202px + var(--edge-bottom))}#buildTag{bottom:55px;left:50%}.hero{width:174px}.face-grid{gap:6px}.face-option{padding:5px;font-size:10px}}
@media(orientation:landscape) and (max-width:620px){#hotbar{left:calc(98px + env(safe-area-inset-left));right:calc(172px + env(safe-area-inset-right))}.hot-cast svg{height:36px}.hot-cast{height:40px;min-height:40px!important}}
/* Character attributes and skill allocation share compact navigation. */
.character-tabs{display:flex;gap:6px;position:sticky;top:0;z-index:1;background:#203629;padding:4px 0 9px}.character-tabs button{flex:1;min-height:40px}.character-tabs .selected{border-color:#e6c881;background:#5c613c}.character-heading{display:flex;gap:14px;align-items:center;margin-top:12px}.character-heading h2{margin:0 0 4px}.character-heading p{margin:0}.character-heading button{padding:0;width:64px;height:64px;border-radius:50%;overflow:hidden;flex-shrink:0}.character-heading svg{width:100%;height:100%}.attribute-row{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #b6b48b22}.attribute-row>div{flex:1;min-width:0}.attribute-row strong{font-size:14px}.attribute-row b{color:#f1d38c;margin-left:8px}.attribute-row small{display:block;font:11px/1.5 Arial;color:#b7c8b5;margin-top:5px}.attribute-row button{min-width:44px;min-height:40px;padding:7px}.points-balance{padding:9px 12px;background:#12291d;border:1px solid #67794e;border-radius:7px}.character-heading~.stat-grid strong{font-size:17px}#hudMenu .tools #arts,#hudMenu .tools #treasures{border-color:#c2ab6e;background:#3b4f36;order:-1}
/* v0.39: right-hand arc; six editable skills, no opaque central dock. */
:root{--combat-unit:1px}
#hotbar{left:auto;right:var(--edge-right);bottom:var(--edge-bottom);width:220px;height:210px;max-width:none;margin:0;padding:0;border:0;background:none;box-shadow:none;pointer-events:none;z-index:5}
#hotSlots{display:block;position:relative;width:100%;height:100%;pointer-events:none}
.hot-slot{position:absolute;width:46px;height:46px;pointer-events:auto}
.hot-slot:nth-child(1){right:0;bottom:106px}.hot-slot:nth-child(2){right:54px;bottom:130px}.hot-slot:nth-child(3){right:108px;bottom:118px}.hot-slot:nth-child(4){right:151px;bottom:80px}.hot-slot:nth-child(5){right:142px;bottom:28px}.hot-slot:nth-child(6){right:87px;bottom:0}
.hot-cast{width:46px!important;height:46px!important;min-height:46px!important;border-radius:50%!important;touch-action:manipulation}
.hot-cast svg{width:46px;height:46px;filter:drop-shadow(0 2px 3px #0008)}.hot-cast em{left:2px;top:1px;font:9px Arial;color:#f9e2a5}.hot-empty{background:#182e2aca;border:1px solid #a68c58;border-radius:50%;height:44px;line-height:42px}
.controls{display:block;right:var(--edge-right);bottom:var(--edge-bottom);width:220px;height:210px;pointer-events:none;z-index:4}
.controls button{position:absolute;pointer-events:auto;margin:0;min-height:44px;border-radius:50%;box-shadow:0 2px 6px #0006}
.controls #attack{right:0;bottom:0;width:78px;height:78px;background:radial-gradient(circle at 36% 25%,#885b35,#392317);border:2px solid #d2b879}
.controls #attack svg{width:45px;height:45px}.controls #attack small{font-size:9px}
.controls #skill{display:none}.controls #dash{right:88px;bottom:58px;width:44px;height:44px}
.controls #manaPotion{right:225px;bottom:0;width:44px;height:44px}.controls #heal{right:225px;bottom:50px;width:44px;height:44px}
#mount,#autoTrain{bottom:calc(192px + var(--edge-bottom));height:30px;min-height:30px;width:91px;padding:3px;font:10px Arial;border-radius:18px}
#mount{right:var(--edge-right)}#autoTrain{right:calc(97px + var(--edge-right))}#autoStatus{display:none}
#stick{bottom:var(--edge-bottom)}#buildTag{bottom:4px;left:50%;font-size:7px;pointer-events:none}
.hud{z-index:6}.right{max-width:144px}#hudMenu .tools{max-height:calc(100dvh - 100px - env(safe-area-inset-top));overflow-y:auto;overscroll-behavior:contain}
@media(orientation:portrait){#hotbar,.controls{bottom:var(--edge-bottom)}#stick{bottom:var(--edge-bottom)}.controls #manaPotion{right:0;bottom:233px}.controls #heal{right:50px;bottom:233px}#mount,#autoTrain{bottom:calc(187px + var(--edge-bottom))}#interact{bottom:calc(105px + var(--edge-bottom));max-width:34vw}}
@media(orientation:landscape) and (max-height:400px){#hotbar,.controls{transform:scale(.88);transform-origin:bottom right}#mount,#autoTrain{bottom:calc(166px + var(--edge-bottom))}.right #minimap{display:none}#place{display:none}#hudMenu{margin-top:0}}
/* v0.40 account, paperdoll, draft attributes and level curriculum. */
#game.account-locked~*:not(#dialog){display:none!important}
#game.account-locked{filter:blur(5px) brightness(.45)}
.account-screen{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;min-height:350px}.account-brand{padding:20px;background:linear-gradient(0deg,#11251ed9,#11251e44),url('assets/village-houses-v039.png') center/cover;border-radius:12px;min-height:320px;display:flex;flex-direction:column;justify-content:flex-end}.account-brand h1{font-size:38px;line-height:1.15;text-shadow:0 3px 10px #000}.account-form{max-width:380px}.account-form label{display:block;margin:10px 0 5px;font-size:12px}.account-form input:not([type=checkbox]){width:100%;font:16px Arial;min-height:42px;background:#10291f;border:1px solid #827951;color:#f3e6c5;border-radius:6px;padding:9px 12px}.account-form button{width:100%;margin:5px 0;min-height:42px}.account-form .import-character{display:flex;align-items:center;gap:8px;line-height:1.5}.import-character input{width:18px;height:18px}.account-form .muted{line-height:1.5;font-size:11px}.account-form h2{margin-top:0}
.character-sheet{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(280px,1.2fr);gap:24px}.character-summary{background:linear-gradient(145deg,#294b42,#152f29);border:1px solid #9e8c62;border-radius:10px;padding:15px}.sheet-face{width:88px;height:88px;float:left;margin:8px 14px 10px 0}.sheet-face svg{width:100%;height:100%}.character-summary h2{font-size:20px;margin:12px 0 6px}.character-summary p{font-size:12px}.character-summary dl{clear:both;display:grid;grid-template-columns:1fr auto;gap:9px;padding-top:16px;font:12px Arial}.character-summary dd{margin:0;color:#f0d38c}.potential-line{padding:10px 0;border-bottom:1px solid #bcaa7130}.potential-line label{display:block;font-size:15px}.potential-line small{display:block;font:10px/1.5 Arial;color:#b7c8b5;margin:4px 0 7px}.potential-line>div{display:flex;align-items:center;gap:7px}.potential-line strong{flex:1;text-align:center;font-size:20px}.potential-line em{font-style:normal;color:#96e1a9}.potential-line button{min-width:40px;min-height:36px;padding:5px}
.equipment-layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(250px,1fr);gap:22px}.paperdoll{display:grid;grid-template-columns:64px minmax(120px,1fr) 64px;gap:7px;align-items:center;background:radial-gradient(ellipse,#536a5944,#102b2311);border-radius:12px;margin-top:10px}.paper-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;width:64px;height:66px;padding:2px;margin:4px 0;border-color:#92815988;background:#142d28b0;position:relative}.paper-slot span{font:9px Arial;position:absolute;top:2px}.paper-slot b{font-size:24px;color:#a7987399}.paper-slot canvas{width:42px;height:42px;margin-top:4px}.paper-slot small{font:8px Arial;position:absolute;bottom:2px}.paper-slot.filled{border-color:#84ad89;background:#29473b}.paper-hero{min-width:0;text-align:center}.paper-hero canvas{display:block;width:100%;max-height:290px;object-fit:contain}.paper-hero strong,.paper-hero small{display:block}.paper-hero strong{font-size:13px}.paper-hero small{color:#bfae7f;font-size:11px}.equipment-metrics{font:11px/1.6 Arial;text-align:center}.bag-pane h2{margin:0 0 8px}.bag-pane p{font:11px Arial}.bag-pane label{font:11px Arial}.bag-pane select{padding:7px;color:#ecdcb5;background:#203e33;border:1px solid #84754f;border-radius:5px;margin:4px 0 10px 6px;max-width:100%}.inventory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;max-height:240px;overflow-y:auto;overscroll-behavior:contain}.inventory-grid>p{grid-column:1/-1;padding:20px 6px;line-height:1.7}.bag-cell{min-width:0;padding:3px;position:relative;min-height:72px;border-color:#738c6655}.bag-cell.selected{border:2px solid #edd293;background:#3d5640}.bag-cell canvas{display:block;width:44px;height:44px;margin:auto}.bag-cell span,.bag-cell small{display:block;font:9px Arial;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bag-cell small{color:#b9b88f;font-size:8px}.equipment-detail{padding:10px;margin-top:10px;border:1px solid #bca46b55;border-radius:8px;min-height:120px}.equipment-detail h3{font-size:15px;margin:0 0 5px}.equipment-detail small{display:block;font:10px/1.7 Arial}.equipment-detail .actions{clear:both}.equipment-detail .item-picture{width:44px;height:44px}.character-tabs{z-index:2}.character-tabs button{font-size:12px;padding:8px 5px}
.skill-book{display:grid;grid-template-columns:125px 1fr;gap:16px}.school-list{display:grid;gap:5px}.school-list button{text-align:left;padding:8px;font-size:12px;min-height:36px}.school-list small{float:right;color:#c1ad7b;font-size:9px}.school-list .selected,.branch-tabs .selected{background:#466044;border-color:#e2c788}.skill-book aside h2{font-size:17px}.branch-tabs{display:flex;gap:8px}.branch-tabs button{flex:1}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.course-card{display:grid;grid-template-columns:42px 1fr;gap:7px;padding:10px;border:1px solid #75907888;border-radius:8px;background:#1b352d}.course-card.locked{background:#172921;border-color:#615f4b}.course-card.locked .course-icon{opacity:.45;filter:grayscale(.5)}.course-icon svg{width:42px;height:42px}.course-card h3{font-size:13px;margin:3px 0 5px}.course-card p{font:10px/1.5 Arial;margin:4px 0}.course-card strong{font:11px Arial;color:#d9c387}.course-card small{display:block;font:9px/1.5 Arial;color:#b5bca4}.course-actions{grid-column:1/-1;display:flex;gap:4px;flex-wrap:wrap}.course-actions button{padding:6px;flex:1;font:10px Arial;min-height:32px;white-space:nowrap}
@media(max-width:600px){.account-screen{grid-template-columns:1fr;gap:12px}.account-brand{min-height:110px;padding:12px}.account-brand h1{font-size:26px;margin:5px 0}.account-brand p{display:none}.account-form{max-width:none}.character-sheet,.equipment-layout{grid-template-columns:1fr;gap:14px}.character-summary dl{padding-top:5px}.paperdoll{max-width:350px;margin:auto}.skill-book{grid-template-columns:1fr}.school-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.school-list button{text-align:center;font-size:9px;padding:5px 2px}.school-list small{display:block;float:none;font-size:8px}.skill-book aside h2{margin:5px 0 10px}.course-grid{grid-template-columns:1fr}.character-tabs{gap:3px}.character-tabs button{font-size:10px}}
@media(orientation:landscape) and (max-height:480px){.account-screen{min-height:0;grid-template-columns:1fr 1fr}.account-brand{min-height:250px}.account-brand h1{font-size:29px}.account-form label{margin:5px 0 3px}.account-form input:not([type=checkbox]){min-height:36px;padding:6px}.account-form h2{font-size:21px;margin:0 0 8px}.character-sheet{gap:14px}.character-summary{padding:10px}.equipment-layout{gap:12px}.paper-slot{height:54px}.paperdoll{grid-template-columns:60px minmax(110px,1fr) 60px}.paper-slot{width:60px}.paper-hero canvas{max-height:230px}.course-grid{grid-template-columns:1fr}}
/* v0.44: radial recharge overlays and an independent horizontal maintained-buff row. */
.skill-cooldown{position:absolute;inset:3px;border-radius:50%;pointer-events:none;opacity:0;display:grid;place-items:center;z-index:2;box-shadow:inset 0 0 0 1px #e1c88766}
.skill-cooldown b{font:700 14px/1 Arial;color:#fff7da;text-shadow:0 1px 3px #000,0 0 4px #000;pointer-events:none}
.hot-cast em{z-index:3;pointer-events:none}
#activeBuffBar{position:fixed;top:calc(10px + env(safe-area-inset-top));left:calc(190px + env(safe-area-inset-left));right:calc(160px + env(safe-area-inset-right));display:flex;align-items:center;justify-content:center;gap:4px;z-index:5;pointer-events:none;overflow-x:auto;scrollbar-width:none;padding:2px;min-height:36px}
#activeBuffBar.empty{display:none}.maintained-buff{position:relative;flex:0 0 34px;width:34px;height:34px;min-height:34px!important;padding:0!important;border:0!important;border-radius:50%;background:#14281bd9;pointer-events:auto}.maintained-buff svg{display:block;width:34px;height:34px}.maintained-buff span{position:absolute;bottom:-1px;left:0;right:0;text-align:center;font:700 9px Arial;color:#fff7d7;text-shadow:0 1px 3px #000;background:#10251bbd;border-radius:5px}
#game.arena-mode~#activeBuffBar{top:calc(128px + env(safe-area-inset-top));left:var(--edge-left);right:auto;max-width:220px;justify-content:flex-start}
@media(orientation:portrait){#activeBuffBar{top:calc(105px + env(safe-area-inset-top));left:var(--edge-left);right:calc(124px + env(safe-area-inset-right));justify-content:flex-start}}
@media(orientation:landscape) and (max-width:650px){#activeBuffBar{top:calc(96px + env(safe-area-inset-top));left:var(--edge-left);right:auto;max-width:210px;justify-content:flex-start}}
/* v0.45: one compact character block inside all four device-safe edges. */
.hud{padding-top:max(8px,env(safe-area-inset-top));padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
.hero-vitals{padding-bottom:25px}#mountReadout{position:absolute;left:0;right:0;bottom:0;height:11px;font:8px/11px Arial;color:#c3c7b6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#mountReadout.mounted{color:#f0d18b}#knbBalance{bottom:12px}.right{top:max(8px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right))}
#activeBuffBar{left:calc(202px + env(safe-area-inset-left));right:calc(160px + env(safe-area-inset-right))}
@media(orientation:portrait){#activeBuffBar{left:max(10px,env(safe-area-inset-left));top:calc(120px + env(safe-area-inset-top));right:calc(124px + env(safe-area-inset-right))}}
@media(orientation:landscape) and (max-width:650px){#activeBuffBar{left:max(10px,env(safe-area-inset-left));top:calc(108px + env(safe-area-inset-top));right:auto}}
/* v0.46: four always-visible entry points, outside the expandable menu. */
#topShortcuts{position:fixed;z-index:7;top:max(8px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));width:264px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;pointer-events:auto}
#topShortcuts button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:46px;padding:4px 2px;border-radius:8px;background:linear-gradient(145deg,#314b3ce8,#14271fe8);border:1px solid #a48e59b0;box-shadow:0 2px 5px #0004}
#topShortcuts b{font:18px/1 Georgia;color:#e8c982}#topShortcuts span{font:10px/1.1 Arial;white-space:nowrap;color:#f1e4c0}
.right{top:calc(60px + env(safe-area-inset-top))}#activeBuffBar{right:calc(284px + env(safe-area-inset-right))}
#game.arena-mode~#topShortcuts{top:max(8px,env(safe-area-inset-top))}
#game.arena-mode~#arenaHud{left:max(10px,env(safe-area-inset-left));transform:none;max-width:calc(100vw - 310px - env(safe-area-inset-left) - env(safe-area-inset-right))}
@media(orientation:portrait),(max-width:640px){#topShortcuts{width:144px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}#topShortcuts button{min-height:44px}#topShortcuts span{font-size:10px}.right{top:calc(106px + env(safe-area-inset-top))}#activeBuffBar{left:max(10px,env(safe-area-inset-left));right:calc(166px + env(safe-area-inset-right));top:calc(120px + env(safe-area-inset-top));justify-content:flex-start}#game.arena-mode~#arenaHud{max-width:calc(100vw - 174px - env(safe-area-inset-left) - env(safe-area-inset-right));font-size:11px;padding:6px}}
/* v0.47: every former menu action is an always-visible, custom vector icon. */
#hudMenu.screen-actions{position:fixed;top:max(6px,env(safe-area-inset-top));left:calc(202px + env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));z-index:7;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:2px;pointer-events:none;background:none;border:0}
#hudMenu .screen-action{pointer-events:auto;min-width:0;min-height:46px;height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:0;border:0;background:none;box-shadow:none;touch-action:manipulation}
.screen-action svg{width:32px;height:32px;display:block;filter:drop-shadow(0 1px 2px #0009)}.screen-action span{font:8px/11px Arial;color:#f3e7c8;white-space:nowrap;text-shadow:0 1px 3px #000,0 0 3px #000}.screen-action:hover svg,.screen-action:focus-visible svg{filter:drop-shadow(0 0 4px #ffe8a5)}.screen-action[aria-pressed=true] svg{filter:drop-shadow(0 0 5px #8affb2)}.screen-action[aria-pressed=true] span{color:#a4ffc3}
.right{top:calc(94px + env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));right:auto;width:182px;max-width:182px;pointer-events:none}.right .eyebrow{display:none}.right #minimap{width:70px;height:45px;margin:0}.right #place{position:absolute;left:75px;top:5px;width:100px;font:9px/1.4 Arial;text-align:left}.quest{margin-top:56px}
#activeBuffBar{top:calc(176px + env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));right:auto;max-width:182px;justify-content:flex-start}
#bossbar{top:calc(216px + env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));transform:none;width:180px;max-width:40vw;padding:5px}
#game.arena-mode~#arenaHud{left:max(10px,env(safe-area-inset-left));max-width:182px;transform:none;font-size:10px;padding:6px}
@media(orientation:portrait){#hudMenu.screen-actions{top:calc(91px + env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));grid-template-columns:repeat(auto-fit,minmax(42px,1fr));gap:1px}#hudMenu .screen-action{height:44px;min-height:44px}.screen-action svg{width:30px;height:30px}.right{top:max(8px,env(safe-area-inset-top));left:auto;right:max(10px,env(safe-area-inset-right));width:100px}.right #minimap{margin-left:auto}.right #place{position:static;width:100px;font-size:8px;text-align:right;margin-top:3px}.quest{position:fixed;top:calc(282px + env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));margin:0}#activeBuffBar{top:calc(310px + env(safe-area-inset-top));right:auto;max-width:210px}#bossbar{top:calc(354px + env(safe-area-inset-top))}#game.arena-mode~#arenaHud{max-width:calc(100vw - 20px);width:calc(100vw - 20px);height:80px;overflow:auto}#game.arena-mode~#activeBuffBar{top:calc(280px + env(safe-area-inset-top))}}
@media(orientation:landscape) and (max-height:400px){.right #minimap{display:block}.right #place{display:block}#bossbar{top:calc(202px + env(safe-area-inset-top))}}
/* v0.48: painted wuxia dock and grouped talisman navigation */
#secondaryActions[hidden]{display:none!important}
.painted-icon{display:block;flex-shrink:0;width:40px;height:40px;background-image:url('assets/ui-icons-v048.png');background-size:400% 200%;background-repeat:no-repeat;border-radius:8px;box-shadow:0 2px 5px #0009}
.icon-0{background-position:0 0}.icon-1{background-position:33.3333% 0}.icon-2{background-position:66.6667% 0}.icon-3{background-position:100% 0}.icon-4{background-position:0 100%}.icon-5{background-position:33.3333% 100%}.icon-6{background-position:66.6667% 100%}.icon-7{background-position:100% 100%}
#hudMenu.screen-actions{left:auto;right:max(10px,env(safe-area-inset-right));top:max(6px,env(safe-area-inset-top));width:364px;grid-template-columns:repeat(7,1fr);gap:0}
#hudMenu .screen-action{height:59px;min-height:59px;padding:2px 0;gap:3px;background:transparent;border:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;pointer-events:auto}
#hudMenu .screen-action span{font-size:9px;line-height:12px;color:#fff2c8;text-shadow:0 1px 3px #000,0 0 3px #000;white-space:nowrap}
#hudMenu .screen-action:active .painted-icon{transform:scale(.92);filter:brightness(1.3)}
#hudMenu .screen-action:focus-visible{outline:2px solid #f8dc8c;border-radius:8px}
.right{left:auto;right:max(10px,env(safe-area-inset-right));top:70px;width:100px}.right #place{left:auto;right:0;max-width:150px}.quest{position:static;margin-top:6px;width:182px}
#activeBuffBar{top:130px;left:10px;width:182px}#bossbar{top:190px;left:10px;width:182px}
.talisman-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:18px}.talisman-choice{display:flex;align-items:center;gap:8px;text-align:left;min-height:60px;padding:8px;background:linear-gradient(145deg,#253f33,#14261f);border:1px solid #8c794c;border-radius:8px;color:#f6e3b1;font-size:13px}.talisman-choice .painted-icon{width:36px;height:36px}.talisman-choice span{white-space:normal}
@media(orientation:portrait){#hudMenu.screen-actions{width:156px;grid-template-columns:repeat(3,1fr);top:max(8px,env(safe-area-inset-top));left:auto;right:max(8px,env(safe-area-inset-right))}#hudMenu .screen-action{height:55px;min-height:55px}#hudMenu .painted-icon{width:36px;height:36px}.right{top:181px;left:auto;right:10px;width:100px}.quest{position:static;top:auto;margin-top:6px;width:174px}#activeBuffBar{top:160px;left:10px;width:174px}#bossbar{top:235px;left:10px;width:174px}.talisman-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.talisman-choice{font-size:12px;padding:6px}}
/* v0.49: painted wuxia portraits with a restrained antique gold rim. */
.painted-portrait{overflow:hidden;background:#18382f}
#heroPortrait{border:2px solid #d2b572;box-shadow:0 0 0 1px #493d26,0 2px 7px #0009;background:#15342e}
#heroPortrait .painted-portrait{border-radius:50%}
.face-option .painted-portrait{border-radius:8px;border:1px solid #a48b56;box-shadow:0 3px 9px #0006}
.face-option.selected .painted-portrait{border-color:#ffe5a2}
/* v0.51: illustrated stable */
.mount-test-banner{padding:12px;border:1px solid #ac8c4b;border-radius:10px;background:linear-gradient(125deg,#4c4025,#1c332a);margin:12px 0}.mount-test-banner p{font-size:12px;margin:6px 0}.mount-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mount-card{overflow:hidden;border:1px solid #78643e;border-radius:10px;background:#12251f;min-width:0}.mount-card.selected{border:2px solid #f2d68d;box-shadow:0 0 12px #dcb35b33}.mount-card>div{padding:9px}.mount-card h3{margin:0 0 4px;color:#f5de9a}.mount-card small{font-size:10px;color:#b7bdaa}.mount-card p{margin:7px 0;font-size:12px}.mount-card button{width:100%;font-size:12px;padding:8px}.mount-portrait{display:block;width:100%;aspect-ratio:1;overflow:hidden;background:#18352d}@media(max-width:600px){.mount-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
