/* Ink, jade and aged brass. Loaded after the game's original stylesheet. */
:root{--ui-ink:#091310;--ui-pane:#11211c;--ui-pane2:#192b23;--ui-line:#766845;--ui-gold:#d6bc82;--ui-jade:#9bc3b0;--ui-paper:#f2ead6;--ui-dim:#b4b8a8;--ui-safe-top:env(safe-area-inset-top,0px)}
body.force-landscape{--ui-safe-top:0px}
body.ui-ready{color:var(--ui-paper);font-family:'Malgun Gothic','Apple SD Gothic Neo',sans-serif}
body.ui-ready button{font-family:inherit}
body.ui-ready button:focus-visible,body.ui-ready [tabindex]:focus-visible{outline:2px solid #e7d5a9;outline-offset:3px}
body.ui-ready .tbtn,body.ui-ready .dbtn,body.ui-ready .cattab,body.ui-ready .mp-act,body.ui-ready .mflt,body.ui-ready .shoptab{background:linear-gradient(180deg,#23362c,#14231d);border:1px solid #7d7756;color:#eee6cf;border-radius:5px;box-shadow:inset 0 1px rgba(245,228,184,.08);text-shadow:none}
body.ui-ready .tbtn:hover,body.ui-ready .dbtn:hover,body.ui-ready .cattab:hover,body.ui-ready .mp-act:hover,body.ui-ready .mflt:hover{filter:none;background:#304737;border-color:#cbb47c}
body.ui-ready .frame,body.ui-ready .win,body.ui-ready #map-box,body.ui-ready #coop-box,body.ui-ready #share-box,body.ui-ready #end-box{border:1px solid var(--ui-line);border-radius:9px;background:linear-gradient(150deg,rgba(26,42,33,.97),rgba(8,18,14,.98));box-shadow:0 12px 36px #0007,inset 0 1px #e4cf9b14}
body.ui-ready .win{width:min(590px,calc(var(--vw) - 32px));top:64px;max-height:calc(var(--vh) - 290px)}
body.ui-ready .win-h{background:linear-gradient(90deg,#243a2e,#13241d);color:#e4d3a4;letter-spacing:.4px;border-bottom:1px solid #8c795842;padding:12px 16px}
body.ui-ready .win-b{padding:14px;font-size:13px;line-height:1.65}
body.ui-ready .sec{color:#d8c38d;border-color:#716a4659;padding-top:10px;margin-top:12px;letter-spacing:.3px}
body.ui-ready .sbtn,body.ui-ready .abtn,body.ui-ready .q{background:linear-gradient(135deg,#1a2d23,#111f19);border:1px solid #67705380;border-radius:7px;box-shadow:none}
body.ui-ready .sbtn{padding:11px 12px;min-height:76px}
body.ui-ready .sn{color:#e4d3a4;font-size:13px;line-height:1.4}
body.ui-ready .sd,body.ui-ready .q{color:#cbd0be;line-height:1.55}
body.ui-ready .cattab,body.ui-ready .shoptab{padding:7px 10px;min-height:34px}
body.ui-ready .cattab.on,body.ui-ready .shoptab.on,body.ui-ready .mflt.on{background:#354d38;color:#f1dfae;border-color:#c3ac72;box-shadow:inset 0 -2px #ccb878}
body.ui-ready .dbtn.on{background:#344b38;color:#f3e3b8;border-color:#c9b37b;box-shadow:inset 0 -2px #ccb878}
body.ui-ready .slot,body.ui-ready .eq-slot,body.ui-ready .cbtn{background:radial-gradient(ellipse at 50% 10%,#2a3d30,#14251e 75%);border-color:#777052;box-shadow:inset 0 1px #e9d7a411}
body.ui-ready .slot:hover,body.ui-ready .eq-slot:hover,body.ui-ready .cbtn:hover{border-color:#d1bc83;filter:none}
body.ui-ready .slot.epic,body.ui-ready .eq-slot.epic{border-color:#a291b9;box-shadow:inset 0 -2px #a291b955}
body.ui-ready .slot.legend,body.ui-ready .eq-slot.legend{border-color:#88b8ad;box-shadow:inset 0 -2px #88b8ad55}
body.ui-ready .slot.relic,body.ui-ready .eq-slot.relic{border-color:#c69d6d;box-shadow:inset 0 -2px #c69d6d55}
body.ui-ready .buffs span{border-color:#6b8e78;background:#23382b;color:#bcd3bd}
body.ui-ready .buffs span.pas{border-color:#928459;background:#332e1b;color:#d9ca9f}
body.ui-ready .i-name,body.ui-ready #dlg-name,body.ui-ready #map-title,body.ui-ready .mpc-t{color:#e4cfa0}
body.ui-ready #dialog{border:1px solid #938254;background:linear-gradient(100deg,#172a22ee,#111c17ee);box-shadow:0 8px 24px #0006;border-radius:7px}
body.ui-ready #dlg-text{color:#e6e8d8;line-height:1.6}
body.ui-ready #tip,body.ui-ready #m-item-pop{border-color:#95835b;background:#101f19f5;color:#e4e8d7;border-radius:8px}
body.ui-ready #pause-ov{color:#ece0bc;background:#07100bc7;text-shadow:0 2px 8px #000;letter-spacing:3px}
body.ui-ready .ld-title{font-family:Batang,'Songti SC',serif;color:#dfcba0;text-shadow:0 4px 18px #000;letter-spacing:7px}
body.ui-ready .ld-sub{color:#bac5b5;font-size:13px}

/* Three primary controls leave the battle clock and resources room to breathe. */
body.ui-ready #topbar{height:48px;padding:0 12px;gap:12px;border:0!important;background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;overflow:visible;pointer-events:none}
body.ui-ready #tb-left{gap:7px;flex:none}
body.ui-ready #tb-left>.tbtn{min-height:44px;padding:8px 12px;font-size:12px;border-color:#82754c!important;color:#e6d6ae!important}
body.ui-ready #tb-left>.tbtn .pc-hk{display:none}
body.ui-ready #tb-center{gap:12px;margin:0;overflow:hidden;justify-content:center;flex:1;min-width:0}
body.ui-ready #wave-info{font-size:13px;color:#eee4c7;letter-spacing:.1px;line-height:1.4;white-space:normal;overflow:hidden;max-height:38px;text-shadow:0 1px 2px #000,0 0 5px #000}
body.ui-ready #clock{order:0;font-size:11px;gap:4px;border:1px solid #60735d;border-radius:4px;padding:5px 8px;color:#b6c9b7;background:#12271d;box-shadow:none}
body.ui-ready #tb-right{gap:14px;font-size:13px;text-shadow:0 1px 2px #000,0 0 5px #000}
body.ui-ready .res{gap:5px;color:#b9c7b6}
body.ui-ready .res .v{color:#e5d1a0;min-width:22px;font-variant-numeric:tabular-nums}
body.ui-ready #upkeep{display:none}
body.ui-ready #diff-badge{border-color:#718664!important;background:#1a3023!important;color:#b9c9a6!important;box-shadow:none!important}
body.ui-ready #hero-btn{top:64px}
body.ui-ready #hb-face,body.ui-ready #portrait{border-color:#b29b66;box-shadow:inset 0 0 14px #0005,0 4px 10px #0004}
body.ui-ready #hb-sp{background:#d2bc7b;box-shadow:0 2px 8px #0006;animation:none}
body.ui-ready #bossbar{top:64px}
body.ui-ready #bb-name{text-shadow:0 2px 5px #000;color:#e6c9a0}
body.ui-ready #bb-bar{border:1px solid #a87661;box-shadow:0 3px 10px #0007;background:#271b16;border-radius:5px}
body.ui-ready #bb-fill{background:linear-gradient(90deg,#823a30,#be7050)}
body.ui-ready #dialog{top:104px}

/* The desktop HUD has a bounded grid instead of overflowing fixed flex items. */
body.ui-ready:not(.mobile) #hud{height:202px;display:grid;grid-template-columns:104px minmax(0,1fr) 108px 238px;gap:8px;padding:11px 12px;border-top:1px solid #aa945f;background:linear-gradient(180deg,#1a2b21f5,#0c1912fa);box-shadow:0 -9px 28px #0005}
body.ui-ready:not(.mobile) #hud:before{height:2px;top:-4px;background:linear-gradient(90deg,transparent,#ad9559 20%,#d3c18b 50%,#ad9559 80%,transparent);opacity:.65}
body.ui-ready:not(.mobile) #mm-wrap{position:fixed;top:56px;right:calc(var(--sar) + 12px);left:auto;width:144px;height:144px;padding:3px;display:flex;align-items:center;justify-content:center;z-index:34;pointer-events:auto}
body.ui-ready:not(.mobile) #minimap{width:136px;height:136px}
body.ui-ready:not(.mobile) #pt-wrap{width:auto;min-width:0}
body.ui-ready:not(.mobile) #info{width:auto;min-width:0;padding:8px 10px;font-size:12px;overflow-y:auto}
body.ui-ready:not(.mobile) .hero-info-wrap{gap:12px;display:grid;grid-template-columns:minmax(0,1fr) 196px}
body.ui-ready .hero-info-main{min-width:0}
body.ui-ready .equip-doll{border-color:#6f7953;background:radial-gradient(ellipse at 50% 25%,#263923,#101e16 85%);box-shadow:none}
body.ui-ready .eq-slot .eq-lb{font-size:10px;color:#c4c7ac}
body.ui-ready .eq-slot.empty .eq-ic{opacity:.52;filter:none}
body.ui-ready .ed-hd{font-size:11px;color:#cbb987}
body.ui-ready .i-sub{font-size:11px;line-height:1.4;color:#bcc4b0}
body.ui-ready .stats{gap:3px 8px;font-size:12px;line-height:1.3}
body.ui-ready .xpbar{height:13px;border-color:#65704f;background:#122214}
body.ui-ready .xpbar i{background:linear-gradient(90deg,#5b7950,#a6b981)}
body.ui-ready .xpbar span{line-height:12px;color:#edf0db}
body.ui-ready:not(.mobile) #inv{width:auto;min-width:0;padding:6px}
body.ui-ready:not(.mobile) .inv-grid{grid-template-columns:repeat(2,43px);grid-template-rows:repeat(3,45px);gap:4px}
body.ui-ready:not(.mobile) #cmd{width:auto;min-width:0;padding:6px;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,50px);gap:5px}
body.ui-ready .cbtn .learn{box-shadow:0 2px 8px #0006;animation:none;background:#d3bd7e}
body.ui-ready:not(.mobile) #msglog{bottom:218px;max-width:calc(var(--vw) - 32px)}
body.ui-ready:not(.mobile) #tip{bottom:215px}
body.ui-ready.ui-narrow:not(.mobile) #hud{grid-template-columns:minmax(0,1fr) 100px 216px;height:194px}
body.ui-ready.ui-narrow:not(.mobile) #pt-wrap{display:none}
body.ui-ready.ui-narrow:not(.mobile) #mm-wrap{width:128px;height:128px}
body.ui-ready.ui-narrow:not(.mobile) #minimap{width:120px;height:120px}
body.ui-ready.ui-narrow:not(.mobile) .hero-info-wrap{grid-template-columns:minmax(0,1fr) 190px;gap:8px}
body.ui-ready.ui-narrow:not(.mobile) .stats{font-size:11px}

/* A quieter title screen lets the portraits carry the atmosphere. */
body.ui-ready #sel-bg{background-image:linear-gradient(180deg,#07120da8 0%,#0b181415 34%,#07120dc7 100%),url('../img/title_bg.jpg');background-position:center,56% 30%}
body.ui-ready #select{padding:24px 28px 22px;gap:20px;scrollbar-color:#8c8052 #13241b}
body.ui-ready #sel-title{width:100%;text-align:center;animation:none}
body.ui-ready #sel-title h1{font-family:Batang,'Songti SC',Georgia,serif;font-weight:700;color:#ead6a6;font-size:clamp(27px,calc(var(--vw) * .028),43px);letter-spacing:3px;text-shadow:0 3px 18px #000b;line-height:1.3}
body.ui-ready #sel-title p{color:#d3d9c4;font-size:12px;letter-spacing:.3px;margin-top:9px;line-height:1.5}
body.ui-ready #sel-actions{margin-top:14px;gap:8px}
body.ui-ready #sel-actions>button{border:1px solid #9b8e60;background:linear-gradient(180deg,#2c4432ee,#13271fee);color:#e6dab9;border-radius:5px;box-shadow:0 4px 12px #0004;min-height:40px;padding:9px 15px;font-size:12px;text-shadow:none}
body.ui-ready #sel-random{border-color:#bfab77!important;background:linear-gradient(135deg,#665c35,#2d3924)!important;color:#f1e8c8!important;box-shadow:0 4px 14px #0005!important}
body.ui-ready #sel-coop{border-color:#79927d!important;box-shadow:0 4px 14px #0005!important}
body.ui-ready #sel-bottom{gap:12px;margin-top:12px;width:min(1480px,100%)}
body.ui-ready #sel-diff{border:1px solid #91825880;border-radius:6px;background:#11251de8;box-shadow:none;padding:8px 12px;width:100%;justify-content:center}
body.ui-ready #diff-desc{font-size:11px;color:#bdc8b5;line-height:1.45;max-width:560px}
body.ui-ready #sel-cards{width:100%;gap:10px;grid-template-columns:repeat(6,minmax(0,1fr))}
body.ui-ready .hcard{border:1px solid #8c81598c;border-radius:7px;background:linear-gradient(160deg,#24392bec,#101e17f0);box-shadow:0 5px 18px #0005;backdrop-filter:none;animation:none;transition:transform .16s,border-color .16s}
body.ui-ready .hcard:hover,body.ui-ready .hcard:focus-visible{transform:translateY(-3px);border-color:#d5c08a;box-shadow:0 6px 20px #0008}
body.ui-ready .hc-img{height:clamp(106px,calc(var(--vh) * .155),160px);background:#13261c}
body.ui-ready .hc-img:after{background:linear-gradient(180deg,transparent 25%,#0c1c1470 65%,#102219)}
body.ui-ready .hc-n{font-family:Batang,'Songti SC',serif;color:#ead7a9;font-size:19px;letter-spacing:1px}
body.ui-ready .hc-s{color:#c0c9b4;font-size:10px}
body.ui-ready .hc-body{padding:8px 10px 10px}
body.ui-ready .hc-desc{font-size:11px;line-height:1.5;color:#cdd2be}
body.ui-ready .hc-sk{color:#a7bba4;font-size:10px;line-height:1.5}
body.ui-ready #exp-select-panel{background:transparent!important;border:none!important;box-shadow:none!important;padding:9px 12px!important;margin:0!important}
.ui-legacy{display:block;margin:12px auto 0;max-width:650px;color:#c2ccb7;text-align:left;border:1px solid #82906b66;border-radius:6px;background:#10251bd9;font-size:12px}
.ui-legacy>summary{padding:8px 12px;cursor:pointer;color:#d2c28e;min-height:34px;line-height:18px}
.ui-legacy .exp-btn{box-shadow:none!important;background:#263c2b!important;border-color:#748565!important;color:#ded8b8!important}

/* Menu overlay has no hit area while closed, and uses the original buttons. */
#ui-menu-shell[hidden]{display:none!important}
#ui-menu-shell{position:fixed;inset:0;z-index:96;pointer-events:none}
.ui-menu-scrim{position:absolute;inset:0;width:100%;height:100%;border:0;background:#04100bc7;pointer-events:auto;cursor:default}
#ui-menu-panel{position:absolute;top:calc(var(--ui-safe-top) + 60px);right:calc(var(--sar) + 18px);width:min(430px,calc(var(--vw) - var(--sal) - var(--sar) - 32px));max-height:calc(var(--vh) - var(--ui-safe-top) - 82px - var(--sab));display:flex;flex-direction:column;background:linear-gradient(145deg,#20362a,#0b1b13);border:1px solid #ad9866;border-radius:10px;box-shadow:0 20px 60px #0009;pointer-events:auto;color:#e4e8d7;outline:none;overflow:hidden;touch-action:pan-y}
.ui-menu-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #9b8a593b}
.ui-menu-head h2{font-family:Batang,serif;font-size:22px;letter-spacing:2px;font-weight:500;color:#e1cc98;margin:0}
.ui-menu-kicker{font-size:10px;letter-spacing:3px;color:#9fb69d;margin-bottom:5px}
.ui-menu-close{width:44px;height:44px;padding:0;border:1px solid #80916d;background:#1a2f22;color:#dfd2aa;border-radius:6px;font-size:20px;cursor:pointer}
.ui-menu-scroll{padding:14px 16px 18px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#77845a #10251b;touch-action:pan-y}
.ui-menu-label{font-size:10px;color:#aeb899;letter-spacing:2px;margin:0 0 9px}
#ui-menu-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
body.ui-ready #ui-menu-actions>.tbtn{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:46px;padding:9px 11px;font-size:12px;color:#ddd9c0!important;border-color:#78826180!important;background:#162b1f!important;white-space:normal;text-align:left;box-shadow:none}
#ui-menu-actions>.tbtn::after{content:attr(data-ui-label);color:#bbc7ad;font-size:11px;line-height:1.35;max-width:88px;text-align:right}
body.ui-ready #ui-menu-actions .pc-hk{display:none}
body.ui-ready #ui-menu-actions>.mob-only{display:none}
body.ui-ready.mobile #ui-menu-actions>.mob-only{display:flex}
.ui-quality{margin-top:18px;padding-top:14px;border-top:1px solid #8090644d}
.ui-quality-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.ui-quality-options button{min-height:44px;padding:8px 3px;background:#152a1e;border:1px solid #77836291;color:#cbd1b9;border-radius:5px;font-size:11px;cursor:pointer}
.ui-quality-options button[data-quality="eco"]{border-color:#569f84;color:#a8f0d4}
.ui-quality-options button[aria-pressed=true]{background:#435436;border-color:#d0bc7a;color:#f0e6c3;box-shadow:inset 0 -2px #d0bc7a}
.ui-quality-status{margin:9px 0 0;color:#a6b79d;font-size:11px;line-height:1.5}

/* Dedicated 5-tab armory navigation, companion cultivation & dungeon realm UI */
.shop-main-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-bottom:10px;padding:5px;background:rgba(9,20,16,.82);border:1px solid rgba(195,172,114,.38);border-radius:8px;position:sticky;top:0;z-index:4}
.smt-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:46px;padding:5px 4px;background:linear-gradient(180deg,#1d3127,#111f19);border:1px solid #6e7555;border-radius:6px;color:#cfd6c2;font-size:11.5px;font-weight:700;cursor:pointer;line-height:1.2;text-align:center}
.smt-btn small{font-size:9.5px;font-weight:400;color:#9eb09f}
.smt-btn:hover{background:#2a4233;border-color:#cbb47c;color:#f5ebd0}
.smt-btn.on{background:linear-gradient(180deg,#3e583d,#243828);border-color:#e0c882;color:#fff3c4;box-shadow:inset 0 -2px #e0c882,0 2px 10px rgba(0,0,0,.45)}
.smt-btn.on small{color:#e9dfa8}
.ally-cult-box{padding:10px 12px;margin:6px 0 10px;border:1px solid #59a985;border-radius:8px;background:linear-gradient(135deg,rgba(18,46,36,.94),rgba(11,26,22,.96))}
.ally-cult-bar{height:8px;border-radius:999px;background:#0b1914;border:1px solid #497a63;overflow:hidden;margin:6px 0}
.ally-cult-bar>i{display:block;height:100%;background:linear-gradient(90deg,#38d9a9,#96f2d7);transition:width .25s linear}
.realm-switch{display:inline-flex;gap:4px;padding:2px;background:#0d1c16;border:1px solid #7d7350;border-radius:6px}
.rsw-btn{padding:5px 10px;min-height:32px;border:1px solid transparent;border-radius:4px;background:transparent;color:#bfcab8;font-size:11.5px;font-weight:700;cursor:pointer}
.rsw-btn.on{background:#384f39;border-color:#d4be81;color:#fff0c2}
.rsw-btn.dng.on{background:#4c1d34;border-color:#f783ac;color:#ffd6e7}

/* Phone layouts use logical dimensions, including the game's portrait rotation. */
body.ui-ready.mobile #topbar{height:calc(48px + var(--ui-safe-top));padding:calc(var(--ui-safe-top) + 2px) calc(var(--sar) + 10px) 2px calc(var(--sal) + 10px);display:grid;grid-template-columns:auto minmax(100px,1fr) auto;grid-template-rows:44px;gap:0 10px;overflow:visible;pointer-events:none}
body.ui-ready.mobile #tb-left{grid-column:1;grid-row:1;gap:5px}
body.ui-ready.mobile #tb-left>.tbtn{min-height:44px;min-width:54px;padding:8px 10px;font-size:12px}
body.ui-ready.mobile #tb-right{grid-column:3;grid-row:1;gap:8px;font-size:12px;justify-content:flex-end;pointer-events:none}
body.ui-ready.mobile #tb-right .res{gap:4px}
body.ui-ready.mobile .res .v{min-width:16px}
body.ui-ready.mobile #diff-badge{font-size:10px;padding:3px 6px}
body.ui-ready.mobile #tb-center{grid-column:2;grid-row:1;display:flex;width:auto;margin:0;justify-content:center;gap:6px;flex:none;overflow:hidden;pointer-events:none}
body.ui-ready.mobile #wave-info{order:0;flex:1;max-height:38px;font-size:12px;text-align:center;white-space:normal;line-height:1.4;text-shadow:0 1px 3px #000,0 0 6px #000}
body.ui-ready.mobile #clock{order:0;padding:3px 6px;font-size:10px;border-radius:3px}
body.ui-ready.mobile #hud{display:block;position:static;height:auto;padding:0;border:none;background:none;box-shadow:none;pointer-events:none}
body.ui-ready.mobile #mm-wrap{top:calc(56px + var(--ui-safe-top));right:calc(var(--sar) + 10px);left:auto;width:78px;height:78px;border:1px solid #928355;background:#0c2019c9;border-radius:6px;padding:2px}
body.ui-ready.mobile #minimap{width:72px;height:72px}
body.ui-ready.mobile #mm-expand{top:0;right:0;width:44px;height:44px;font-size:12px;background:linear-gradient(225deg,#162d22e8,transparent 80%);border:none;border-radius:4px}
body.ui-ready.mobile #hero-btn{left:calc(var(--sal) + 10px);top:calc(56px + var(--ui-safe-top));width:46px}
body.ui-ready.mobile #m-stat-pill{left:calc(var(--sal) + 66px);top:calc(56px + var(--ui-safe-top));max-width:min(210px,calc(var(--vw) * .26));min-height:44px;padding:5px 9px;background:#10251bd9;border:1px solid #7e865f;border-radius:5px;backdrop-filter:none;box-shadow:none;font-size:11px}
body.ui-ready.mobile #m-stat-pill .ms-top{font-size:11px}
body.ui-ready.mobile #m-stat-pill .ms-sub{font-size:10px}
body.ui-ready.mobile #bossbar{top:calc(58px + var(--ui-safe-top));left:52%;width:min(280px,calc(var(--vw) * .33))}
body.ui-ready.mobile #dialog{top:calc(104px + var(--ui-safe-top));width:min(380px,calc(var(--vw) - 300px));max-height:94px;overflow:hidden;backdrop-filter:none;pointer-events:auto;font-size:12px}
body.ui-ready.mobile #dlg-text{font-size:11px;line-height:1.45}
body.ui-ready.mobile #m-joy-zone{top:calc(142px + var(--ui-safe-top))}
body.ui-ready.mobile #m-joy{border-color:rgba(200,220,188,.28);background:rgba(20,38,29,.08);box-shadow:none}
body.ui-ready.mobile #m-joy.active{border-color:rgba(220,237,202,.48);background:rgba(20,38,29,.15);box-shadow:none}
body.ui-ready.mobile #m-joy:after{border-color:rgba(210,225,190,.17)}
body.ui-ready.mobile #m-joy-ring{border-color:rgba(210,225,190,.12)}
body.ui-ready.mobile #m-joy-knob{background:radial-gradient(circle at 35% 28%,rgba(218,234,209,.48),rgba(150,184,138,.30) 80%);border-color:rgba(225,239,210,.46);box-shadow:none}
body.ui-ready.mobile #win-shop [data-tavern-go],body.ui-ready.mobile #win-shop [data-gate],body.ui-ready.mobile #win-shop [data-cat="tavern"],body.ui-ready.mobile #win-shop [data-cat="shop"]{min-height:44px;min-width:44px}
body.ui-ready.mobile .mbtn{background:radial-gradient(circle at 45% 25%,#405841d9,#132c1fde 80%);border-color:#b7a66c;box-shadow:0 4px 12px #0005,inset 0 1px #e7e3c12a;min-width:44px;min-height:44px}
body.ui-ready.mobile #m-atk{background:radial-gradient(circle at 45% 25%,#774d3be6,#38281ce8 80%);border-color:#d4b77c;box-shadow:0 5px 16px #0006}
body.ui-ready.mobile #m-sk3{border-color:#c6ac73;box-shadow:0 4px 12px #0005}
body.ui-ready.mobile .mbtn .hk{font-size:10px;color:#ded6ad}
body.ui-ready.mobile .mbtn .m-plus{width:26px;height:26px;top:-7px;right:-7px;font-size:15px;line-height:24px;background:linear-gradient(145deg,#e3d4a5,#a68e4d);border:1px solid #f0e3bd;box-shadow:0 2px 6px #0006;animation:none}
body.ui-ready.mobile #m-wp{width:44px;height:44px;right:145px;bottom:56px}
body.ui-ready.mobile #m-cam{min-height:44px;padding:8px 10px;right:30px;bottom:184px;background:#173326e8;border-color:#9db48b}
body.ui-ready.mobile #m-cancel{top:calc(54px + var(--ui-safe-top));min-height:44px;padding:12px 16px;border:1px solid #be8e72;background:#633e2cef;border-radius:6px}
body.ui-ready.mobile #inv{border:1px solid #7c8058;bottom:calc(var(--sab) + 7px);padding:5px 7px;background:#10271cda;border-radius:7px;box-shadow:0 4px 15px #0005;backdrop-filter:none}
body.ui-ready.mobile #inv .inv-grid{gap:5px}
body.ui-ready.mobile #inv .slot{width:44px;height:44px;font-size:20px}
body.ui-ready.mobile #inv .slot .hk{font-size:9px}
body.ui-ready.mobile #inv .slot .ch{font-size:11px}
body.ui-ready.mobile #info{top:calc(56px + var(--ui-safe-top));left:calc(var(--sal) + 10px);right:calc(var(--sar) + 10px);bottom:calc(var(--sab) + 10px);width:auto!important;max-height:none;padding:16px;z-index:43;border:1px solid #b49c66;background:#10231bf5}
body.ui-ready.mobile #info .hero-info-wrap{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:18px}
body.ui-ready.mobile .equip-doll{width:230px;padding:8px}
body.ui-ready.mobile .ed-stage{display:grid;grid-template-columns:repeat(4,minmax(44px,1fr));grid-auto-rows:54px;gap:5px;width:100%;height:auto;margin-top:7px}
body.ui-ready.mobile .ed-stage .doll-svg,body.ui-ready.mobile .ed-acc-sep{display:none}
body.ui-ready.mobile .ed-stage .eq-slot{position:relative!important;left:auto!important;top:auto!important;width:auto;height:54px;min-width:44px;border-radius:5px}
body.ui-ready.mobile .eq-slot .eq-lb{font-size:10px}
body.ui-ready.mobile.show-info #m-info-close{top:calc(61px + var(--ui-safe-top));left:auto!important;right:calc(var(--sar) + 14px);z-index:44;width:44px;height:44px;border-color:#a38d60;background:#20392b;color:#e5d5aa}
body.ui-ready.mobile .stats{font-size:13px;gap:6px 12px}
body.ui-ready.mobile .i-name{font-size:18px;padding-right:38px}
body.ui-ready.mobile .i-sub{font-size:12px}
body.ui-ready.mobile .win,body.ui-ready.mobile #win-shop{top:calc(56px + var(--ui-safe-top));left:calc(var(--sal) + 10px);right:calc(var(--sar) + 10px);bottom:calc(var(--sab) + 10px);max-height:none;width:auto!important;z-index:44}
body.ui-ready.mobile .win-h{min-height:48px;padding:12px 56px 10px 14px;font-size:14px;position:sticky;top:0;z-index:3}
body.ui-ready.mobile .win-h .x{position:absolute;right:4px;top:2px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:18px}
body.ui-ready.mobile .win-b{padding:10px 12px;font-size:12px}
body.ui-ready.mobile .cattab,body.ui-ready.mobile .shoptab,body.ui-ready.mobile .wp-btn,body.ui-ready.mobile .mp-act,body.ui-ready.mobile .mflt{min-height:44px;padding:9px 10px;font-size:12px}
body.ui-ready.mobile .sbtn,body.ui-ready.mobile .abtn{min-height:76px}
body.ui-ready.mobile #map-modal{padding:calc(var(--ui-safe-top) + 6px) calc(var(--sar) + 8px) calc(var(--sab) + 6px) calc(var(--sal) + 8px);backdrop-filter:none}
body.ui-ready.mobile #map-box{padding:8px 10px;border-radius:7px}
body.ui-ready.mobile #map-hd{min-height:44px;flex-wrap:wrap;gap:6px;padding-bottom:6px}
body.ui-ready.mobile #map-title{font-size:15px}
body.ui-ready.mobile #map-filters{order:3;justify-content:flex-start;flex-basis:100%;flex-shrink:0;gap:6px}
body.ui-ready.mobile #map-close{width:44px;height:44px;font-size:18px;border-color:#a38c60;background:#27382b}
body.ui-ready.mobile #map-hd-acts{margin-left:auto}
body.ui-ready.mobile #map-side{min-width:190px}
body.ui-ready.mobile #map-poi-card{max-height:158px;overflow-y:auto;touch-action:pan-y;font-size:12px;line-height:1.45;padding:8px}
body.ui-ready.mobile .mp-row{min-height:44px;font-size:12px;padding:8px}
body.ui-ready.mobile .mpc-desc{font-size:11px;line-height:1.45}
body.ui-ready.mobile #map-legend{font-size:10px;line-height:1.45}
body.ui-ready.mobile #select{padding:14px calc(var(--sar) + 16px) calc(var(--sab) + 20px) calc(var(--sal) + 16px);gap:12px}
body.ui-ready.mobile #sel-title{padding-top:0!important;text-align:left}
body.ui-ready.mobile #sel-title h1{font-size:clamp(21px,calc(var(--vw) * .031),29px)!important;letter-spacing:2px;line-height:1.35}
body.ui-ready.mobile #sel-title p{display:block;font-size:11px;margin-top:6px}
body.ui-ready.mobile #sel-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:6px;margin-top:10px}
body.ui-ready.mobile #sel-actions>button{min-height:44px;padding:9px 12px;font-size:11px;line-height:1.4;border-radius:5px}
body.ui-ready.mobile #sel-bottom{margin-top:12px;gap:10px}
body.ui-ready.mobile #sel-diff{padding:8px!important;margin:0!important;justify-content:flex-start;gap:6px}
body.ui-ready.mobile .dbtn{min-height:44px;padding:8px 13px;font-size:12px}
body.ui-ready.mobile #diff-desc{margin-left:0;flex-basis:100%;font-size:11px;max-width:none}
body.ui-ready.mobile #sel-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
body.ui-ready.mobile .hc-img{height:115px}
body.ui-ready.mobile .hc-n{font-size:18px}
body.ui-ready.mobile .hc-desc{font-size:11px;line-height:1.5}
body.ui-ready.mobile .hc-s{white-space:normal;font-size:10px}
body.ui-ready.mobile .hc-k{display:none}
body.ui-ready.mobile .ui-legacy{max-width:none;margin-top:10px;font-size:12px}
body.ui-ready.mobile .ui-legacy>summary{min-height:44px;padding:12px}
body.ui-ready.mobile .ui-legacy .exp-btn{min-height:44px;padding:8px 10px!important}
body.ui-ready.mobile #ui-menu-panel{top:calc(var(--ui-safe-top) + 12px);right:calc(var(--sar) + 12px);width:min(460px,calc(var(--vw) - var(--sal) - var(--sar) - 24px));max-height:calc(var(--vh) - var(--ui-safe-top) - var(--sab) - 24px)}
body.ui-ready.mobile .ui-menu-head{padding:10px 14px}
body.ui-ready.mobile .ui-menu-head h2{font-size:20px}
body.ui-ready.mobile .ui-menu-scroll{padding:12px 14px}
body.ui-ready.mobile #ui-menu-actions>.tbtn{min-height:48px}
body.ui-ready.mobile.ui-narrow #inv .inv-grid{display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(2,44px)}
body.ui-ready.mobile.ui-narrow #inv{left:49%}
body.ui-ready.mobile.ui-narrow #diff-badge{display:none}
body.ui-ready.mobile.ui-narrow #tb-right{gap:5px;font-size:11px}
body.ui-ready.mobile.ui-narrow #tb-left>.tbtn{min-width:44px;padding:6px 6px;font-size:11px}
body.ui-ready.mobile .shop-main-tabs{gap:4px;padding:4px}
body.ui-ready.mobile .smt-btn{min-height:44px;font-size:11px}
body.ui-ready.mobile .rsw-btn{min-height:40px;padding:6px 10px}
body.ui-ready.mobile.ui-narrow #m-stat-pill{max-width:150px}
body.ui-ready.mobile.ui-narrow #info .hero-info-wrap{grid-template-columns:minmax(0,1fr)}
body.ui-ready.mobile.ui-narrow .equip-doll{width:100%}
body.ui-ready.mobile.ui-narrow #sel-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
body.ui-ready.mobile.ui-short #sel-title p{font-size:10px;line-height:1.4}
body.ui-ready.mobile.ui-short #msglog{bottom:calc(var(--sab) + 172px);max-height:68px;overflow:hidden}
body.ui-ready.mobile.ui-short #dialog{max-height:70px}
@media (prefers-reduced-motion:reduce){body.ui-ready *,body.ui-ready *:before,body.ui-ready *:after{animation:none!important;transition:none!important}}

/* Right-side controls and hero information. The live clock remains before gold. */
body.ui-ready #tb-right{order:1;justify-content:flex-start}
body.ui-ready #tb-center{order:2}
body.ui-ready #tb-left{order:3}
body.ui-ready:not(.mobile){--hero-panel-width:min(300px,calc(var(--vw) - 510px))}
body.ui-ready:not(.mobile) #hero-btn{left:auto;right:calc(var(--sar) + 168px);top:56px}
body.ui-ready:not(.mobile) #mm-wrap{top:56px;right:calc(var(--sar) + 12px)}
body.ui-ready:not(.mobile) #pt-wrap,
body.ui-ready.ui-narrow:not(.mobile) #pt-wrap{display:flex;position:fixed;top:56px;right:calc(var(--sar) + 258px + var(--hero-panel-width));width:80px;height:150px;z-index:30;pointer-events:auto}
body.ui-ready:not(.mobile) #info{position:fixed;top:56px;right:calc(var(--sar) + 250px);width:var(--hero-panel-width);height:190px;min-width:0;z-index:30;pointer-events:auto;scrollbar-width:thin;scrollbar-color:#77845a #10251b}
body.ui-ready:not(.mobile) #info .hero-info-wrap,
body.ui-ready.ui-narrow:not(.mobile) #info .hero-info-wrap{grid-template-columns:minmax(0,1fr)}
body.ui-ready:not(.mobile) #info .equip-doll{width:100%}
body.ui-ready:not(.mobile) #info .stats{font-size:11px;gap:2px 4px;line-height:1.25}
body.ui-ready:not(.mobile) #hud,
body.ui-ready.ui-narrow:not(.mobile) #hud{left:auto;right:0;width:378px;grid-template-columns:108px 238px;justify-content:end}
body.ui-ready:not(.mobile) #bossbar{left:calc(var(--sal) + 12px);transform:none;width:min(220px,calc(var(--vw) - 710px))}
body.ui-ready:not(.mobile) #dialog{top:254px;max-height:max(30px,min(95px,calc(var(--vh) - 460px)));overflow:auto}

/* A single row below the bar keeps the minimap clear of the right skill pad. */
body.ui-ready.mobile #tb-right{grid-column:1;grid-row:1;justify-content:flex-start}
body.ui-ready.mobile #tb-center{grid-column:2;grid-row:1}
body.ui-ready.mobile #tb-left{grid-column:3;grid-row:1}
body.ui-ready.mobile #topbar{grid-template-columns:auto minmax(0,1fr) auto}
body.ui-ready.mobile #hero-btn{left:auto;right:calc(var(--sar) + 96px);top:calc(56px + var(--ui-safe-top))}
body.ui-ready.mobile #m-stat-pill{left:auto;right:calc(var(--sar) + 152px);top:calc(56px + var(--ui-safe-top))}
body.ui-ready.mobile #bossbar{left:calc(var(--sal) + 10px);transform:none;top:calc(58px + var(--ui-safe-top));width:min(260px,calc(var(--vw) * .35))}
body.ui-ready.mobile #party-bar{left:calc(var(--sal) + 10px);right:auto;top:calc(112px + var(--ui-safe-top));max-width:calc(var(--vw) - var(--sal) - var(--sar) - 110px)}
body.ui-ready.mobile #dialog{top:calc(156px + var(--ui-safe-top))}

/* Avoid expensive live background blur on mobile Safari during gameplay. */
body.ui-ready .hcard,
body.ui-ready.mobile #m-stat-pill,
body.ui-ready.mobile #inv,
body.ui-ready.mobile #dialog,
body.ui-ready.mobile #map-modal,
body.ui-ready.mobile .pcard{
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

/* Skill evolution choices remain large enough for touch and keyboard input. */
body.ui-ready .evo-card{border-color:#b68a45;background:linear-gradient(145deg,#1f3026,#101d18);line-height:1.55}
body.ui-ready .evo-card p{margin:6px 0;color:#d8dfc4}
body.ui-ready .evo-state{color:#ffd86d;font-weight:700;margin:4px 0}
body.ui-ready .evo-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
body.ui-ready .evo-choice{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:44px;width:100%;padding:10px;text-align:left;color:#f8efd9;background:#273d2d;border:1px solid #bca465;border-radius:6px;font:inherit;cursor:pointer}
body.ui-ready .evo-choice span{font-size:12px;line-height:1.35}
body.ui-ready .evo-choice span:last-child{color:#ffd86d}
body.ui-ready .evo-choice:disabled{opacity:.65;cursor:not-allowed}
body.ui-ready .evo-choice:focus-visible{outline:2px solid #fff1a6;outline-offset:2px}
body.ui-ready .evo-picked{margin-top:8px;padding:8px;border:1px solid #9bb977;border-radius:5px;color:#d5f7c8}
body.ui-ready .evo-tip{color:#ffe08a;margin-top:5px}
body.ui-ready.mobile.ui-narrow .evo-choices{grid-template-columns:1fr}
