:root{--scale:1;--bg:#080b0d;--surface:#0d1215;--surface2:#11181c;--surface3:#171b1d;--line:#293036;--gold:#c99845;--gold2:#f0c76b;--text:#e7e2d7;--muted:#8d9291;--good:#80b890;--danger:#b85e54;--rail:92px;--right:260px}*{box-sizing:border-box}html,body{margin:0;min-width:900px;height:100%;background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:calc(14px * var(--scale));overflow:hidden}button{font:inherit;color:inherit}.topbar{height:76px;display:grid;grid-template-columns:minmax(250px,1.1fr) minmax(520px,2fr) 72px;align-items:center;gap:18px;padding:10px 14px;background:linear-gradient(180deg,#101518,#0a0e10);border-bottom:1px solid #604820}.brand{display:flex;align-items:center;gap:12px;min-width:0}.sigil{width:42px;height:42px;display:grid;place-items:center;border:1px solid #8d682c;transform:rotate(45deg);font:700 18px Georgia;color:var(--gold2);background:#121516}.sigil::first-letter{transform:rotate(-45deg)}.brand h1{margin:0;font:700 22px Georgia;letter-spacing:1.6px;color:var(--gold2)}.brand small{font-size:9px;color:#887554;letter-spacing:1.3px}.topstats{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));height:48px}.topstats div{padding:4px 18px;border-left:1px solid #242b2f;min-width:0}.topstats span,.eyebrow{display:block;font-size:9px;letter-spacing:1.1px;color:#8f846f;margin-bottom:5px}.topstats b{font-size:14px;white-space:nowrap}.scale{height:42px;border:1px solid #39352c;background:#15191b;border-radius:5px;color:#cfc8b9;cursor:pointer}.workspace{height:calc(100% - 76px - 54px - 190px);display:grid;grid-template-columns:var(--rail) minmax(0,1fr) var(--right);gap:8px;padding:8px;background:#070a0c}.rail,.rightbar,.panel,.action-dock{border:1px solid #3b3327;background:linear-gradient(180deg,#0e1316,#0a0e10);border-radius:6px}.rail{display:flex;flex-direction:column;padding:6px;gap:4px;min-height:0}.rail button{height:58px;border:1px solid transparent;background:transparent;border-radius:5px;color:#858b8b;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.rail button i{font-style:normal;color:#a47d3f;font-size:17px}.rail button span{font-size:10px}.rail button:hover,.rail button.active{border-color:#725327;background:linear-gradient(180deg,#2b2116,#171512);color:#f0e9dc}.railfill{flex:1}.rightbar{padding:12px;display:flex;flex-direction:column;gap:16px;min-width:0;overflow:hidden}.section-title{font:700 12px Georgia;color:var(--gold2);letter-spacing:.7px;border-bottom:1px solid #2d2922;padding-bottom:8px;margin-bottom:8px}.section-title span{float:right}.mini-item{display:flex;justify-content:space-between;gap:12px;padding:7px 2px;border-bottom:1px solid #171d20;font-size:11px}.mini-item b{color:var(--gold2)}.feed-section{min-height:0;flex:1;display:flex;flex-direction:column}.feed{overflow:auto;min-height:0;font-size:10px;line-height:1.55;color:#aaa89f}.feed div{padding:5px 0;border-bottom:1px solid #171c1e}.muted{color:var(--muted)}#main{min-width:0;min-height:0;overflow:auto}.page{display:flex;flex-direction:column;gap:8px;min-height:100%}.pagehead{padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:58px}.pagehead h2{font:700 19px Georgia;color:var(--gold2);margin:0 0 4px}.pagehead p{margin:0;color:#8c8b84;font-size:11px}.skill-tabs{display:flex;gap:5px;flex-wrap:wrap}.skill-tabs button{border:1px solid #343332;background:#101518;padding:8px 12px;border-radius:5px;cursor:pointer;color:#b8b5ad}.skill-tabs button.active{border-color:#805e28;background:#2c2115;color:#f2d28c}.skill-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:8px;min-height:0;flex:1}.node-list{padding:8px;overflow:auto}.node-card{position:relative;width:100%;min-height:62px;text-align:left;border:1px solid #252d31;background:#0d1316;border-radius:5px;padding:10px 44px 10px 12px;margin-bottom:6px;cursor:pointer}.node-card strong{display:block;font:700 13px Georgia;color:#c6c2b9}.node-card small{display:block;color:#777f80;margin-top:5px}.node-card .req{position:absolute;right:9px;top:10px;font-size:10px;color:#907a55}.node-card.active{border-color:#a4742f;background:linear-gradient(135deg,#302315,#171513)}.node-card.active strong{color:#f0cf87}.node-card:disabled{opacity:.43;cursor:not-allowed}.activity{padding:10px;display:grid;grid-template-rows:auto minmax(260px,1fr) auto;gap:8px;min-height:0}.activity-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end;padding:2px 4px}.activity-head h3{font:700 20px Georgia;color:#e3b65c;margin:0 0 5px}.activity-head>div:last-child{text-align:right}.xptext{font-size:10px;color:#898d8a}.xpbar,.actionbar{height:7px;background:#050708;border:1px solid #2b2f2e;border-radius:9px;overflow:hidden;margin-top:6px}.xpbar div,.actionbar div{height:100%;background:linear-gradient(90deg,#815a25,#e0b95f);transition:width .15s linear}.activity-stage{position:relative;min-height:280px;border:1px solid #262e31;border-radius:5px;overflow:hidden;background:#080c0e}.scene{position:absolute;inset:0 0 42px;overflow:hidden;background:radial-gradient(circle at 50% 55%,#2a241b 0,#111719 34%,#090d0f 72%)}.scene-title{position:absolute;left:18px;top:16px;z-index:6}.scene-title b{display:block;font:700 16px Georgia;color:#e7c478}.scene-title span{font-size:10px;color:#8e918e}.scene-vignette{position:absolute;inset:0;box-shadow:inset 0 0 100px #020304}.ore-mass{position:absolute;width:250px;height:190px;left:50%;top:50%;transform:translate(-50%,-44%);filter:drop-shadow(0 18px 24px #000)}.ore-rock{position:absolute;background:linear-gradient(145deg,#494540,#17191a 55%,#070909);clip-path:polygon(14% 16%,58% 0,92% 23%,100% 66%,74% 100%,28% 93%,0 59%);inset:0}.ore-crystal{position:absolute;width:32px;height:45px;background:linear-gradient(135deg,#ffb05a,#8d421d 55%,#39180d);clip-path:polygon(50% 0,100% 42%,75% 100%,20% 88%,0 36%);box-shadow:0 0 18px #a65b2b88}.c1{left:52px;top:52px}.c2{left:112px;top:30px;transform:scale(.8) rotate(18deg)}.c3{left:150px;top:88px;transform:scale(1.15) rotate(-15deg)}.c4{left:84px;top:112px;transform:scale(.7) rotate(12deg)}.pick{position:absolute;left:50%;top:50%;width:150px;height:12px;background:#6c4b2c;border-radius:8px;transform-origin:12px 6px;transform:translate(-112px,25px) rotate(-32deg);z-index:4}.pick:after{content:"";position:absolute;right:-28px;top:-18px;width:64px;height:22px;border-top:8px solid #c4c0b6;border-radius:70% 70% 0 0;transform:rotate(6deg)}.working .pick{animation:strike 1.2s ease-in-out infinite}.spark{position:absolute;left:calc(50% + 70px);top:50%;width:5px;height:5px;background:#f4c56d;box-shadow:18px 8px #e8893d,-12px 16px #fff0b5,24px -14px #b65e2d;opacity:0}.working .spark{animation:sparks 1.2s ease-out infinite}.water-scene{background:linear-gradient(#0c1a20 0 38%,#17252a 38% 43%,#0b2028 43% 100%)}.bank{position:absolute;left:0;right:0;top:36%;height:12%;background:linear-gradient(#1c2923,#0d1513);clip-path:polygon(0 60%,12% 25%,26% 62%,42% 12%,59% 55%,76% 20%,100% 65%,100% 100%,0 100%)}.waterlines{position:absolute;inset:48% 0 0;background:repeating-linear-gradient(176deg,transparent 0 18px,#35505a55 19px 20px)}.rod{position:absolute;width:210px;height:5px;background:#9c7446;left:calc(50% - 160px);top:44%;transform:rotate(-24deg);transform-origin:left}.line{position:absolute;width:1px;height:130px;background:#b6b9b0;left:calc(50% + 30px);top:36%}.bobber{position:absolute;width:17px;height:24px;border-radius:50% 50% 45% 45%;background:linear-gradient(#b84d3d 0 48%,#e7dfc9 49%);left:calc(50% + 22px);top:62%;z-index:4}.working .bobber{animation:bob 1.4s ease-in-out infinite}.ripple{position:absolute;width:90px;height:25px;border:1px solid #8aa7aa55;border-radius:50%;left:calc(50% - 15px);top:68%;animation:ripple 1.4s linear infinite}.tree-scene{background:radial-gradient(circle at 50% 45%,#243027,#111914 43%,#080c0a 78%)}.tree{position:absolute;left:50%;top:47%;width:120px;height:210px;transform:translate(-50%,-45%)}.trunk{position:absolute;left:49px;top:72px;width:28px;height:138px;background:linear-gradient(90deg,#382619,#785236,#2b1c13);clip-path:polygon(28% 0,75% 0,100% 100%,0 100%)}.crown{position:absolute;border-radius:48% 52% 44% 56%;background:radial-gradient(circle at 35% 30%,#536542,#1d3024 55%,#0c1811);filter:drop-shadow(0 12px 14px #000)}.tc1{width:120px;height:100px;left:0;top:20px}.tc2{width:95px;height:90px;left:52px;top:8px}.tc3{width:95px;height:86px;left:-36px;top:42px}.axe{position:absolute;width:120px;height:9px;background:#765034;left:calc(50% - 105px);top:58%;transform-origin:8px center;transform:rotate(-28deg)}.axe:after{content:"";position:absolute;right:-15px;top:-16px;width:34px;height:38px;background:linear-gradient(135deg,#d4d0c4,#666b6b);clip-path:polygon(0 0,100% 18%,78% 100%,12% 76%)}.working .axe{animation:chop 1.15s ease-in-out infinite}.rate-row{position:absolute;left:10px;right:10px;bottom:8px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.rate{border:1px solid #312a20;background:#0c1012dd;border-radius:4px;padding:7px 9px;color:#827d72;font-size:9px;white-space:nowrap}.rate b{float:right;color:#d6b267}.action-panel{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:8px}.details{padding:10px 12px}.details h4{font:700 13px Georgia;color:#e2b85e;margin:0 0 5px}.meta{font-size:10px;color:#8c8e89}.count{font-size:10px;color:#b88c45;margin-top:6px}.primary{border:1px solid #a77631;background:linear-gradient(180deg,#80521e,#5b3715);color:#f8e9c9;border-radius:5px;font-weight:700;font-size:11px;letter-spacing:.4px;cursor:pointer}.primary:hover{filter:brightness(1.12)}.cards,.inventory-page,.combat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.statcard,.itemcard,.fighter{padding:16px}.statcard h3,.itemcard b{font:700 13px Georgia;color:#cfa654}.big{font:700 32px Georgia;color:#e8dfcf;margin:8px 0}.itemcard span{display:block;font-size:24px;margin:10px 0}.fighter{text-align:center}.portrait{width:100px;height:100px;margin:20px auto;border:1px solid #5e482a;border-radius:50%;display:grid;place-items:center;font-size:42px;background:radial-gradient(circle,#35291c,#0a0e10 70%)}.hpbar{height:12px;background:#090b0c;border:1px solid #333;margin:12px 0;border-radius:8px;overflow:hidden}.hpbar div{height:100%;background:linear-gradient(90deg,#6d2724,#c35f51)}.controls{margin-top:16px}.controls button{padding:12px 22px}.action-dock{height:54px;margin:0 8px 8px;display:grid;grid-template-columns:44px minmax(180px,1fr) minmax(220px,2fr) auto;align-items:center;gap:12px;padding:6px 10px}.dock-icon{width:38px;height:38px;border:1px solid #654b29;border-radius:50%;display:grid;place-items:center;background:#17140f;color:#e5bd68;font-size:18px}.dock-title span{display:block;font-size:8px;color:#887d6b;letter-spacing:1px}.dock-title b{font-size:12px}.dock-progress{min-width:0}.dock-progress small{display:flex;justify-content:space-between;color:#858781;font-size:9px;margin-bottom:4px}.dock-bar{height:8px;border:1px solid #2f3333;background:#050708;border-radius:9px;overflow:hidden}.dock-bar i{display:block;height:100%;background:linear-gradient(90deg,#7c5726,#e3b85c);transition:width .08s linear}.dock-stop{height:34px;min-width:80px;border:1px solid #694b25;background:#211a12;border-radius:4px;color:#d7b76e;cursor:pointer}.chatbar{height:190px;margin:0 8px 8px;border:1px solid #3b3327;background:#090e10;border-radius:6px;display:grid;grid-template-rows:auto 1fr auto;gap:6px;padding:8px}.chat-tabs{display:flex;gap:4px}.chat-tabs button{border:1px solid #303638;background:#111619;border-radius:4px;color:#838989;padding:8px;font-size:9px}.chat-tabs button.active{border-color:#8b6329;color:#e0b65d}.chatbar>span{color:#707777;font-size:10px}.empty{padding:30px;text-align:center;color:#7e8381}@keyframes strike{0%,55%,100%{transform:translate(-112px,25px) rotate(-32deg)}35%{transform:translate(-112px,25px) rotate(18deg)}}@keyframes sparks{0%,30%{opacity:0;transform:scale(.3)}36%{opacity:1;transform:scale(1)}70%,100%{opacity:0;transform:translate(20px,15px) scale(.4)}}@keyframes bob{0%,100%{transform:translateY(0)}45%{transform:translateY(8px)}55%{transform:translateY(15px)}}@keyframes ripple{0%{transform:scale(.45);opacity:.8}100%{transform:scale(1.6);opacity:0}}@keyframes chop{0%,55%,100%{transform:rotate(-28deg)}35%{transform:rotate(20deg)}}@media(max-width:1250px){:root{--right:210px;--rail:78px}.topbar{grid-template-columns:230px 1fr 64px}.topstats div{padding:4px 9px}.skill-layout{grid-template-columns:190px minmax(0,1fr)}.rate-row{grid-template-columns:repeat(2,1fr)}.scene{bottom:76px}}@media(max-width:1020px){.rightbar{display:none}.workspace{grid-template-columns:72px minmax(0,1fr)}.topbar{grid-template-columns:220px 1fr 60px}.topstats div:nth-child(1){display:none}.topstats{grid-template-columns:repeat(3,1fr)}.skill-layout{grid-template-columns:170px minmax(0,1fr)}}
.gear-layout,.combat-layout,.dungeon-grid{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:8px}.gear-paper{padding:14px}.gear-score{display:flex;justify-content:space-between;padding:12px;border-bottom:1px solid #3b3327;margin-bottom:8px;color:var(--gold2)}.gear-slot{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:12px;border-bottom:1px solid #20272a}.gear-slot span{color:var(--muted)}.wide{width:100%;min-height:46px;margin-top:12px}.loot-list{padding:10px}.loot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px;border-bottom:1px solid #20272a}.loot small{display:block;color:var(--muted);margin-top:4px}.loot button{border:1px solid #705329;background:#20180f;color:var(--gold2);padding:8px 12px;border-radius:4px;cursor:pointer}.cook-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}.recipe{padding:16px;display:grid;gap:10px}.recipe h3{font:700 17px Georgia;color:var(--gold2);margin:0}.recipe p{color:var(--muted);margin:4px 0}.heal{font:700 26px Georgia;color:#9ac49e}.recipe.locked{opacity:.5}.primary:disabled{opacity:.4;cursor:not-allowed}.monster-list{padding:8px}.encounter{padding:16px}.battle-row{display:grid;grid-template-columns:1fr 60px 1fr;align-items:center}.versus{text-align:center;font:700 18px Georgia;color:#77694f}.auto-panel{display:flex;align-items:center;gap:18px;flex-wrap:wrap;border-top:1px solid #2b2d2d;padding-top:12px;margin-top:12px;color:#b7b4aa}.auto-panel input[type=number]{width:62px;background:#0a0e10;border:1px solid #3b3327;color:var(--text);padding:6px}.dungeon-card{padding:20px}.depth{font:700 72px Georgia;color:var(--gold2);line-height:1}.toggle{display:block;padding:14px 0;color:#b7b4aa}@media(max-width:1150px){.gear-layout,.combat-layout,.dungeon-grid{grid-template-columns:1fr}.battle-row{grid-template-columns:1fr 40px 1fr}}

/* 0.6 Loot, qualities and enchantment forge */
.gear-v2{grid-template-columns:minmax(220px,.72fr) minmax(330px,1.15fr) minmax(360px,1.2fr)!important;align-items:start}
.loot-panel,.enchant-table{min-height:560px}.loot-select{width:100%;text-align:left;cursor:pointer;position:relative;overflow:hidden}.loot-select.selected{outline:1px solid #d8a24c;box-shadow:0 0 0 2px #d8a24c22 inset}.loot em{display:block;font-style:normal;font-size:9px;color:#9e9587;margin-top:5px}.quality-tag{font-size:9px;text-transform:uppercase;letter-spacing:1px;padding:4px 7px;border:1px solid currentColor;border-radius:3px}
.gear-slot small{display:block;font-size:8px;color:#8d8477;margin-top:3px}
.q-worn{--q:#8c8c86}.q-forged{--q:#c58945}.q-fine{--q:#67a9c8}.q-masterwork{--q:#a979d2}.q-relic{--q:#e2b33f}.q-mythic{--q:#ef6f9a}.q-everwrought{--q:#f2e7bd}
.loot-select[class*="q-"],.forge-item[class*="q-"],.gear-slot[class*="q-"]{border-color:color-mix(in srgb,var(--q) 58%,#33281d);box-shadow:inset 3px 0 0 var(--q)}.loot-select[class*="q-"] .quality-tag,.loot-select[class*="q-"]>div>b,.forge-item[class*="q-"] h2{color:var(--q)}
.q-relic{box-shadow:inset 3px 0 0 var(--q),0 0 12px #e2b33f20}.q-mythic{animation:rarePulse 2.2s ease-in-out infinite}.q-everwrought{animation:everPulse 1.6s ease-in-out infinite;position:relative}.q-everwrought:after{content:"";position:absolute;inset:-1px;pointer-events:none;border-radius:inherit;background:linear-gradient(110deg,transparent 20%,#fff4 42%,transparent 58%);transform:translateX(-120%);animation:qualitySweep 2.4s linear infinite}
.forge-item{display:flex;align-items:center;gap:16px;padding:14px;border:1px solid #49351f;border-radius:6px;background:#0d1214;margin-bottom:12px;overflow:hidden}.forge-item h2{margin:2px 0 4px;font:700 20px Georgia}.forge-item p{margin:0;color:#a59a88;font-size:10px}.forge-orb{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--q,#8d6b39);box-shadow:0 0 24px color-mix(in srgb,var(--q,#8d6b39) 30%,transparent);background:radial-gradient(circle,#30291e,#090c0d 68%)}.forge-orb span{font-size:26px;color:var(--q,#d5ae66)}
.quality-track{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:12px 0}.quality-track i{height:6px;border-radius:8px;background:#171b1c;border:1px solid #292c2b}.quality-track i.lit{background:var(--q);box-shadow:0 0 10px var(--q)}
.affixes{display:grid;gap:5px;margin:12px 0}.affix-row{display:flex;justify-content:space-between;align-items:center;padding:8px 9px;background:#0b1012;border:1px solid #302b23;border-radius:4px}.affix-row b{display:block;color:#d6c39f;font-size:11px}.affix-row span{font-size:9px;color:#918779}.affix-row button{font-size:8px;padding:5px 8px}.locked-affix{border-color:#9a6c2e;box-shadow:inset 3px 0 #c28a3d}.locked-affix:before{content:"◆";color:#d8a34d;margin-right:7px}
.forge-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.forge-actions button{min-height:48px;text-align:left;padding:8px 10px}.forge-actions button small{display:block;color:#c59b57;margin-top:3px}.forge-actions .quality-up{grid-column:1/-1;border-color:var(--q);color:var(--q);box-shadow:0 0 14px color-mix(in srgb,var(--q) 15%,transparent)}.forge-note{font-size:9px;color:#847b6d;line-height:1.5;margin-top:10px}
.combat-v2{grid-template-columns:240px minmax(420px,1fr) 270px!important}.drop-table{align-self:stretch}.drop-row{display:flex;justify-content:space-between;gap:12px;padding:9px 3px;border-bottom:1px solid #26231d;font-size:10px}.drop-row b{color:#d9aa5a}
@keyframes rarePulse{0%,100%{box-shadow:inset 3px 0 0 var(--q),0 0 5px #ef6f9a22}50%{box-shadow:inset 3px 0 0 var(--q),0 0 22px #ef6f9a66}}
@keyframes everPulse{0%,100%{box-shadow:inset 3px 0 0 var(--q),0 0 8px #f2e7bd44}50%{box-shadow:inset 3px 0 0 var(--q),0 0 30px #f2e7bd99}}
@keyframes qualitySweep{to{transform:translateX(120%)}}
@media(max-width:1500px){.gear-v2{grid-template-columns:230px 1fr!important}.enchant-table{grid-column:1/-1;min-height:auto}.combat-v2{grid-template-columns:220px 1fr!important}.drop-table{grid-column:1/-1}}

/* 0.7 arsenal layout */
.gear-page{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.loadout-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:7px;flex:0 0 auto}.loadout-tabs button{height:42px;border:1px solid #3b3122;background:#0c1113;color:#a99d89;font:700 10px Georgia}.loadout-tabs button small{display:block;font:8px Arial;margin-top:3px}.loadout-tabs button.active{border-color:#a8742e;background:#30200f;color:#e4b85e}
.gear-v3{display:grid!important;grid-template-columns:minmax(245px,.72fr) minmax(390px,1.22fr) minmax(390px,1.18fr)!important;gap:7px;min-height:0;flex:1;overflow:hidden}.gear-v3>.panel{height:100%;min-height:0;overflow:hidden}.gear-paper,.loot-panel,.enchant-table{display:flex;flex-direction:column}.equipped-scroll,.gear-scroll,.enchant-scroll{min-height:0;overflow-y:auto;overflow-x:hidden;flex:1;padding-right:4px}.gear-paper>.wide{flex:0 0 auto;margin-top:7px}
.gear-slot{width:100%;display:grid!important;grid-template-columns:64px 1fr;text-align:left;cursor:pointer;background:#0c1113;color:#d7c9ae}.gear-slot.selected{outline:1px solid #d4a24f}.loot-select{background:#0c1113!important;color:#c9c0b2!important}.loot-select:hover{background:#141a1c!important}.forge-actions button{background:#111719!important;color:#cfc4b1!important}.section-title span{float:right;color:#756d60}
.q-everwrought:after{left:-60%;right:auto;width:55%;top:-1px;bottom:-1px;transform:none!important;animation:qualitySweepFull 2.6s linear infinite!important;background:linear-gradient(110deg,transparent,#fff7,transparent)}@keyframes qualitySweepFull{from{left:-60%}to{left:120%}}
.equipped-scroll::-webkit-scrollbar,.gear-scroll::-webkit-scrollbar,.enchant-scroll::-webkit-scrollbar{width:8px}.equipped-scroll::-webkit-scrollbar-thumb,.gear-scroll::-webkit-scrollbar-thumb,.enchant-scroll::-webkit-scrollbar-thumb{background:#5b4225;border-radius:8px}
@media(max-width:1350px){.gear-v3{grid-template-columns:230px 1fr!important;overflow-y:auto}.enchant-table{grid-column:1/-1;min-height:420px!important}.gear-page{overflow-y:auto}}

/* 0.8 gear usability */
.gear-score-row{display:flex!important;align-items:center;justify-content:space-between;gap:8px;min-height:42px;flex:0 0 auto}.compact-best{width:auto!important;min-width:105px;height:30px!important;margin:0!important;padding:0 12px!important;font-size:9px!important}.equipped-scroll,.gear-scroll{overflow-y:scroll!important;overscroll-behavior:contain;scrollbar-gutter:stable}.enchant-scroll{overflow-y:auto!important;scrollbar-gutter:stable}.item-equip-actions{display:grid;margin:7px 0 10px}.item-equip-actions button{min-height:36px;border:1px solid #72502a!important;background:#17130e!important;color:#e0b866!important;font:700 9px Arial!important}.item-equip-actions button:hover:not(:disabled){background:#2b1d0f!important;border-color:#c28b3e!important}.item-equip-actions button:disabled{opacity:.42}.item-equip-actions .equipped-now{border-color:#594b37!important;background:#111618!important;color:#bdb19d!important}.affix-row button,[data-lock-affix]{background:#101618!important;color:#d4c6ae!important;border:1px solid #59452b!important;box-shadow:none!important}.affix-row button:hover,[data-lock-affix]:hover{background:#21190f!important;color:#efc56f!important;border-color:#a87535!important}.locked-affix button{background:#34230f!important;color:#efbd5c!important;border-color:#a87535!important}

/* 0.9 equipped stat summary */
.gear-stat-area{flex:0 0 auto;border-top:1px solid #3b3122;margin-top:7px;padding-top:7px}.gear-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.gear-stat-grid div,.derived-stat{display:flex;justify-content:space-between;align-items:center;background:#0b1012;border:1px solid #29251e;padding:5px 7px;min-height:25px}.gear-stat-grid span,.derived-stat span{font:8px Arial;color:#918675;letter-spacing:.3px}.gear-stat-grid b{font:700 9px Arial;color:#d7b064}.derived-stat{margin-top:4px;border-color:#614522}.derived-stat b{font:700 10px Georgia;color:#efc46b}

/* 0.10 scrolling + character sheet + attribute rarity */
.gear-v3{min-height:0!important;height:100%!important}.loot-panel{min-height:0!important;overflow:hidden!important}.gear-scroll{display:block!important;min-height:0!important;height:0!important;flex:1 1 0!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;scrollbar-gutter:stable}.gear-scroll .loot{width:100%;flex:none!important}
.attr-inline{display:inline-block;margin:2px 4px 2px 0;padding:2px 4px;border:1px solid currentColor;border-radius:2px;font-style:normal!important}.aq-basic{color:#9d968b!important}.aq-common{color:#d8d3c7!important}.aq-uncommon{color:#71c98b!important}.aq-rare{color:#64a9e8!important}.aq-epic{color:#bd79e6!important}.aq-legendary{color:#e9aa49!important}.aq-mythic{color:#ef668f!important}.aq-everwrought,.aq-transcendent{color:#f4d47a!important;text-shadow:0 0 8px currentColor}
.overview-page{overflow-y:auto!important}.overview-hero{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:7px}.identity-card{padding:14px}.identity-card strong{display:block;font:700 24px Georgia;color:#e1b55e;margin:6px 0}.identity-card small{color:#8e8578}.overview-grid{display:grid;grid-template-columns:minmax(520px,1.35fr) minmax(330px,.65fr);gap:7px;min-height:0}.character-sheet,.skill-sheet{padding:12px}.character-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.char-stat{background:#0b1012;border:1px solid #332b20;padding:11px;min-height:72px}.char-stat span{display:block;font:8px Arial;color:#958875;letter-spacing:.7px}.char-stat b{display:block;font:700 21px Georgia;color:#e2b65d;margin:5px 0}.char-stat small{font:8px Arial;color:#81786d}.char-stat.secondary b{font-size:17px}.stat-gap{margin-top:14px}.skill-stat-list{display:grid;gap:5px}.skill-stat-list>div{display:grid;grid-template-columns:1fr auto;gap:3px 10px;border-bottom:1px solid #29251e;padding:7px}.skill-stat-list span{color:#c9bda8}.skill-stat-list b{color:#dcae58}.skill-stat-list small{grid-column:1/-1;color:#776f64}
@media(max-width:1150px){.overview-hero{grid-template-columns:repeat(2,1fr)}.overview-grid{grid-template-columns:1fr}.character-stat-grid{grid-template-columns:repeat(2,1fr)}}

/* 0.11 production / live systems */
.production-page{overflow-y:auto!important}.production-layout{display:grid;grid-template-columns:minmax(280px,32%) 1fr;gap:7px;min-height:0}.recipe-list{padding:8px;overflow-y:auto;min-height:0}.recipe-row{display:block;width:100%;text-align:left;padding:10px;margin-bottom:5px;background:#0c1113;border:1px solid #332b20;color:#cfc4b2}.recipe-row b,.recipe-row span,.recipe-row small{display:block}.recipe-row b{color:#dfb25c;font:700 12px Georgia}.recipe-row span{font:8px Arial;color:#a29582;margin:3px 0}.recipe-row small{font:8px Arial;color:#756e64}.recipe-row.active{border-color:#b27b32;background:#21170c}.production-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:420px;padding:20px}.production-title h2{color:#e0b45e;font:700 24px Georgia}.production-art{font-size:86px;color:#d6aa59;text-shadow:0 0 28px #8a5b21;margin:35px}.material-drop span{color:#9bc28d!important}

/* 0.12 persistent gear, loadouts, filters, sidekicks, dungeon ledger */
.gear-filters{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;padding:6px;border-bottom:1px solid #332b20}.gear-filters select{background:#090e10;color:#cfc4b2;border:1px solid #3a3022;padding:6px;font-size:9px}.utility-slot{border-style:dashed!important;background:#10161a!important}.utility-slot b{color:#7eb6df!important}.inventory-sections{display:grid;grid-template-columns:1.4fr .8fr;gap:7px;min-height:0}.inventory-sections>section{padding:8px;overflow:auto}.inventory-item{display:grid!important;grid-template-columns:1fr auto auto;align-items:center;gap:10px}.inventory-item small{display:block;color:#746f67;margin-top:3px}.inventory-item button{background:#2a1b0c;color:#e2b65e;border:1px solid #76501f;padding:6px 10px}.pet-list{display:grid;gap:5px}.pet-card{text-align:left;background:#0b1113;border:1px solid #332d25;color:#cfc5b5;padding:9px}.pet-card b,.pet-card span,.pet-card small{display:block}.pet-card b{color:#d9ad59}.pet-card span{font-size:9px;margin:4px 0;color:#9e9587}.pet-card.active{border-color:#d49a3c;box-shadow:inset 0 0 16px #7b4c1822}.recipe-detail{border:1px solid #2e2a23;margin-bottom:6px;background:#0b1012}.recipe-detail.active{border-color:#8b5d24}.recipe-main{width:100%;text-align:left;background:transparent;border:0;color:#ccc1af;padding:9px}.recipe-main b,.recipe-main span,.recipe-main small{display:block}.recipe-main b{color:#dfb25c}.recipe-main span,.recipe-main small{font-size:8px;margin-top:3px}.craft-plan{display:grid;grid-template-columns:1fr 1.3fr 1fr auto;gap:5px;align-items:center;border-top:1px solid #26231e;padding:6px;font-size:8px}.craft-plan input{width:70px;background:#080d0f;color:#e0b45e;border:1px solid #46351f;padding:4px}.craft-plan button{background:#3b250d;color:#e8c477;border:1px solid #7b5220;padding:5px 8px}.dungeon-v12{grid-template-columns:minmax(260px,.55fr) 1.45fr}.dungeon-ledger{padding:10px;overflow:auto}.session-head{display:flex;justify-content:space-between;border-bottom:1px solid #332b20;padding-bottom:8px}.session-head b,.session-gold b{color:#e0b45e}.session-gold{padding:10px 0}.session-loot{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:4px}.session-loot>div{display:flex;justify-content:space-between;padding:7px;background:#0b1012;border:1px solid #27231d}.session-gear{border-color:#5b4628!important}.affix-row.aq-basic{border-left:3px solid #9d968b!important}.affix-row.aq-common{border-left:3px solid #d8d3c7!important}.affix-row.aq-uncommon{border-left:3px solid #71c98b!important}.affix-row.aq-rare{border-left:3px solid #64a9e8!important}.affix-row.aq-epic{border-left:3px solid #bd79e6!important}.affix-row.aq-legendary{border-left:3px solid #e9aa49!important}.affix-row.aq-mythic{border-left:3px solid #ef668f!important}.affix-row.aq-everwrought,.affix-row.aq-transcendent{border-left:3px solid #f4d47a!important;box-shadow:inset 6px 0 16px #f4d47a16}.affix-row[class*="aq-"] b{color:inherit!important}.affix-row[class*="aq-"] span{color:inherit!important;opacity:.78}

/* 0.13 class identity + production max */
.goal-control{display:flex!important;align-items:center;gap:4px}.goal-control button{padding:4px 7px!important;background:#171d1f!important;color:#e4bd69!important;border:1px solid #72502a!important;font-size:8px!important}.goal-control button:hover:not(:disabled){background:#2b1d0f!important}.gear-slot.utility-slot{min-height:52px}.gear-slot span:first-child{letter-spacing:.45px}

/* 0.14 offline progression report */
.offline-overlay{position:fixed;inset:0;z-index:9999;background:#050708dd;display:flex;align-items:center;justify-content:center;padding:24px}.offline-modal{width:min(760px,92vw);max-height:86vh;overflow:auto;padding:22px;border-color:#7b5728!important;box-shadow:0 18px 70px #000}.offline-modal h2{font:700 26px Georgia;color:#e2b65d;margin:7px 0}.offline-modal>p{color:#a69a87}.offline-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.offline-grid>div{background:#090e10;border:1px solid #30291f;padding:10px}.offline-grid>div>div:not(.section-title){display:flex;justify-content:space-between;padding:6px;border-bottom:1px solid #24211c}.offline-grid b{color:#e0b45e}.offline-modal>small{display:block;color:#80786d;margin:5px 0}

/* 0.15 */
#gearLiveLoot{float:right;font:700 8px Arial;color:#8f8068;font-style:normal}.forge-item .eyebrow{color:#efc56f}.affix-row.locked-affix{box-shadow:inset 3px 0 10px #d39a3422}

/* 0.16 salvage, merging, expanded qualities */
.q-superior{border-color:#4a8ea0!important}.q-exalted{border-color:#d25a84!important}.q-ascendant{border-color:#a774e8!important}.q-celestial{border-color:#d8d7ff!important;box-shadow:inset 0 0 14px #aaaaff12}.q-primordial{border-color:#f4d37a!important;box-shadow:0 0 14px #f0bb4933,inset 0 0 16px #fff2a60d}.salvage-controls{padding:9px;margin:6px 0;border:1px solid #3b3224;background:#0b0f10;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.salvage-controls label{font:700 9px Arial;color:#b8a98e}.salvage-controls small{width:100%;color:#766d60}.salvage-classes{display:flex;gap:7px}.salvage-now,.merge-now{background:#17130f!important;border-color:#72552d!important;color:#ddb667!important}.merge-now small{display:block}.node-card em{display:block;font:700 8px Arial;color:#a78a59;margin-top:4px;font-style:normal}.gear-focus b{color:#d7ad62!important}

/* 0.17 dedicated gear workbench tabs */
.gear-work-tabs{display:flex;gap:5px;margin:0 0 8px}.gear-work-tabs button{flex:1;background:#0c1113;border:1px solid #30291e;color:#8f816d;padding:9px;font:700 9px Arial;letter-spacing:1px}.gear-work-tabs button.active{border-color:#8b642d;color:#e3b961;background:#17130e}.salvage-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:8px}.salvage-list,.merge-list{max-height:62vh;overflow:auto}.salvage-row,.merge-group{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px;margin:4px 0;background:#090d0e;border:1px solid #29251e}.salvage-row small,.merge-group small{display:block;color:#746c61}.salvage-row span,.merge-group>span{font:700 9px Arial;color:#c6a464}.salvage-row button,.merge-group button,.vip-automation button{background:#17130e!important;border:1px solid #72542b!important;color:#deb667!important;padding:7px!important}.vip-automation{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.vip-automation button:disabled{opacity:.58}

/* 0.18 bulk salvage/merge + VIP test filters */
.q-superior{--q:#58a6b8}.q-exalted{--q:#dc5d8c}.q-ascendant{--q:#aa7cf0}.q-celestial{--q:#d9d8ff}.q-primordial{--q:#f4d37a}
.work-filters,.vip-config,.quick-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.work-filters select,.vip-config select{background:#090d0e;border:1px solid #4a3a26;color:#cdbb9c;padding:7px}.work-filters button,.quick-actions button{background:#15110d;border:1px solid #72542b;color:#dcb467;padding:7px;font:700 8px Arial}.quick-actions .section-title,.vip-config .section-title{width:100%}.vip-config{border-color:#7a5b2c!important}.vip-config label{font:700 9px Arial;color:#bca98b}.vip-config small{width:100%;color:#7f7465}.merge-group{grid-template-columns:minmax(0,1fr) auto auto auto}

/* 0.19 14-tier rarity ladder */
.q-eternal{--q:#ff8fd4;border-color:#ff8fd4!important;box-shadow:0 0 12px #ff8fd422}.q-transcendent{--q:#fff0a3;border-color:#fff0a3!important;box-shadow:0 0 18px #fff0a344,inset 0 0 14px #fff0a311}
.aq-ascendant{color:#a774e8!important}.aq-celestial{color:#d9d8ff!important}.aq-primordial{color:#f4d37a!important}.aq-eternal{color:#ff8fd4!important}.aq-empyrean{color:#80e7ff!important}.aq-transcendent{color:#fff0a3!important;text-shadow:0 0 7px #fff0a366}

/* 0.20 locked-attribute forge */
.locked-reforge{border-color:#9b6f38!important;background:#1b120b!important}.locked-reforge:not(:disabled){box-shadow:inset 0 0 14px #d6923515}.affix-row.locked-affix{box-shadow:inset 3px 0 0 #b98238}

/* 0.21 production session ledger */
.production-session{grid-column:1/-1}.session-log-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #2d281f;padding-bottom:8px;margin-bottom:6px}.session-log-head span{color:#8f816d;font:700 9px Arial}.session-made-list{max-height:190px;overflow:auto}.session-made{display:flex;justify-content:space-between;padding:6px 4px;border-bottom:1px solid #191b1a}.session-made span{color:#b8ad9b}.session-made b{color:#d8b267}.session-totals{display:flex;gap:18px;flex-wrap:wrap;padding-top:8px;color:#82786b;font:700 9px Arial}.session-totals b{color:#d8b267}

/* 0.22 production insight redesign */
.production-layout{grid-template-columns:minmax(340px,.78fr) minmax(0,1.42fr)!important}.production-insight{min-height:360px}.production-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0}.production-metrics>div{background:#090d0e;border:1px solid #29251e;padding:11px}.production-metrics small{display:block;color:#756b5e;font:700 8px Arial;letter-spacing:1px}.production-metrics b{display:block;color:#dfb865;font-size:16px;margin-top:5px}.session-goal{margin:10px 0 14px;padding:9px;border:1px solid #332b20;background:#090c0d}.session-goal>div:first-child{display:flex;justify-content:space-between}.session-progress{height:7px;background:#161a1a;margin:7px 0}.session-progress i{display:block;height:100%;background:linear-gradient(90deg,#8a5b25,#e2b453)}.session-footer{display:flex;justify-content:space-between;padding-top:9px;color:#817668;font:700 9px Arial}.rail-insight .rail-stat,.rail-materials>div,.rail-output{display:flex;justify-content:space-between;padding:6px 1px;border-bottom:1px solid #22211d}.rail-stat span,.rail-materials span,.rail-output span{color:#9b907e}.rail-stat b,.rail-materials b,.rail-output b{color:#dbb35e}.rail-materials{margin-top:12px}

/* 0.23 persistent chat, AI market, lottery */
.chat-head{display:flex;justify-content:space-between;align-items:center}.chat-head>span{font:700 8px Arial;color:#635d54;letter-spacing:.7px}.chat-messages{overflow:auto;min-height:0;border-top:1px solid #1d211f;border-bottom:1px solid #1d211f;padding:5px}.chat-line{display:grid;grid-template-columns:55px 70px 1fr;gap:7px;padding:2px 0;font-size:10px}.chat-line span{color:#5f625d}.chat-line b{color:#c99b4c}.chat-line p{margin:0;color:#aaa69d}.chat-compose{display:grid;grid-template-columns:1fr 70px;gap:6px}.chat-compose input{background:#070a0b;border:1px solid #332d23;color:#c9c1b4;padding:7px}.chat-compose button{background:#17120d;border:1px solid #72542b;color:#dcb467}.lottery-stat{min-width:145px}.lottery-stat small{display:block;color:#756b5e;font:700 7px Arial;margin-top:2px}.market-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);gap:8px}.market-list{max-height:68vh;overflow:auto}.market-row{display:grid;grid-template-columns:minmax(0,1fr) 80px 58px 62px;align-items:center;gap:7px;padding:8px;border-bottom:1px solid #22211d}.market-row small{display:block;color:#746d62}.market-row>span{color:#d8b267;font-weight:700}.market-row button,.market-info button{background:#17130e;border:1px solid #72542b;color:#deb667;padding:7px}.market-info{display:flex;flex-direction:column;gap:8px}.market-info small{color:#81776a}

/* 0.24 dedicated weekly lottery */
.hud-lottery{min-width:190px;text-align:left;background:#0b0e0e;border:0;border-right:1px solid #22251f;padding:0 16px;cursor:pointer}.hud-lottery span{display:block;color:#7e715e;font:700 7px Arial;letter-spacing:1.2px}.hud-lottery b{display:block;color:#e0b75e;font:700 12px Georgia;margin-top:3px}.hud-lottery small{color:#756b5e;font:700 7px Arial}.hud-lottery:hover{background:#12100b}.lottery-hero{display:flex;justify-content:space-between;align-items:center;padding:20px}.lottery-hero h1{font:700 34px Georgia;color:#e2b85f;margin:4px 0}.lottery-ticket-card{min-width:220px;border:1px solid #5e4728;background:#0b0d0d;padding:15px;text-align:right}.lottery-ticket-card small,.lottery-ticket-card span{display:block;color:#7e7467}.lottery-ticket-card b{display:block;font:700 28px Georgia;color:#e0b65c;margin:4px 0}.lottery-grid{display:grid;grid-template-columns:minmax(420px,.9fr) minmax(520px,1.1fr);gap:8px;margin-top:8px}.lottery-buy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.lottery-buy-grid button{background:#17120c;border:1px solid #72542b;color:#e0b762;padding:14px 8px;font:700 12px Georgia}.lottery-buy-grid button small{display:block;color:#8c7b62;font:700 7px Arial;margin-top:5px}.lottery-buy-grid .lottery-max{grid-column:1/-1}.lottery-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:12px}.lottery-stats>div{border:1px solid #29251e;background:#090c0d;padding:11px}.lottery-stats small{display:block;color:#746b5f;font:700 7px Arial}.lottery-stats b{display:block;color:#dcb35e;font-size:15px;margin-top:4px}.lottery-note{color:#81776a;line-height:1.5}.lottery-history{max-height:390px;overflow:auto}.lottery-history-row{display:grid;grid-template-columns:30px 1fr 90px 90px 90px;gap:7px;align-items:center;padding:7px 4px;border-bottom:1px solid #20211d}.lottery-history-row>b{color:#d6ad5b}.lottery-history-row strong{color:#e3bb66;text-align:right}.lottery-history-row small,.lottery-history-row span{color:#746e64}

/* 0.25 lottery draw + market polish */
.topstats{grid-template-columns:1.08fr repeat(4,1fr)!important}
.lottery-hud{display:flex!important;flex-direction:column;align-items:flex-start!important;justify-content:center;background:transparent!important;border:0!important;border-right:1px solid #2b2a25!important;border-radius:0!important;padding:0 14px!important;cursor:pointer;color:inherit;min-width:0}
.lottery-hud span{font:700 8px Arial;color:#8c7a59;letter-spacing:1px}.lottery-hud b{color:#e0b44e;font-size:14px}.lottery-hud small{color:#71695c;font:700 7px Arial;margin-top:2px}
.lottery-live{margin:8px 0}.last-draw{margin-top:8px}.lottery-history{max-height:none!important;overflow:visible!important;display:grid;grid-template-columns:1fr 1fr;gap:2px 10px}
.lottery-history-row{grid-template-columns:30px minmax(0,1fr) 90px 85px!important}.lottery-info{margin-top:8px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.lottery-info span{color:#938878}.lottery-info p{width:100%;color:#d8b267}
.dev-draw{border-color:#81523b!important;color:#e59b70!important;background:#1b0e0a!important}.market-row{grid-template-columns:minmax(0,1fr) 80px 58px 62px 92px!important}.market-buy-all{display:flex;flex-direction:column}.market-buy-all small{color:#a98952}

/* 0.26 compact lottery viewport + payout visibility */
.lottery-page{padding-bottom:4px!important}
.lottery-page .pagehead{padding:6px 10px!important;margin-bottom:5px!important}
.lottery-page .pagehead h2{font-size:15px!important;margin:0!important}.lottery-page .pagehead p{font-size:8px!important;margin:2px 0 0!important}
.lottery-page .lottery-hero{padding:8px 12px!important;min-height:58px!important}.lottery-page .lottery-hero h1{font-size:23px!important;margin:2px 0!important}.lottery-page .lottery-hero p{margin:2px 0!important}
.lottery-page .lottery-ticket-card{padding:6px 10px!important}.lottery-page .lottery-ticket-card>b{font-size:20px!important}
.lottery-page .lottery-live{margin:4px 0!important}.lottery-page .lottery-stats>div{padding:5px 8px!important}.lottery-page .lottery-stats b{font-size:12px!important}
.lottery-page .lottery-buy-grid{margin:4px 0!important;padding:0!important;gap:3px!important}.lottery-page .lottery-buy-grid button{min-height:30px!important;padding:4px!important}.lottery-page .lottery-buy-grid small{font-size:6px!important}
.lottery-page .last-draw{margin-top:4px!important;padding:5px!important}.lottery-page .last-draw .section-title{margin-bottom:2px!important}
.lottery-page .lottery-history{grid-template-columns:1fr 1fr!important;gap:0 8px!important}
.lottery-page .lottery-history-row{min-height:17px!important;padding:1px 3px!important;font-size:8px!important;line-height:14px!important}.lottery-page .lottery-history-row small{font-size:7px!important}
.lottery-page .lottery-info{margin-top:4px!important;padding:5px 8px!important;font-size:8px!important;gap:5px!important}.lottery-page .lottery-info p{margin:1px 0!important}

/* 0.27 unified shell: no right rail, persistent bottom-third chat */
:root{--chat-h:32vh}
.workspace{height:calc(100% - 76px - 54px - var(--chat-h));grid-template-columns:var(--rail) minmax(0,1fr)!important}
.rightbar{display:none!important}
.chatbar{height:var(--chat-h)!important;min-height:240px;max-height:360px;margin:0 8px 8px!important}
.chat-messages{font-size:11px!important;padding:7px 8px!important}
.chat-line{grid-template-columns:62px 82px 1fr!important;gap:9px!important;padding:3px 0!important}
.chat-compose input{height:32px}
#main{padding-right:0}
.page{min-height:0!important}
.skill-layout{grid-template-columns:230px minmax(0,1fr)!important;align-items:start}
.skill-layout>div:last-child{min-width:0}
.gather-session{margin-top:8px;padding:9px;min-height:120px}
.gather-session .production-metrics{margin:5px 0}
.gather-session .session-made-list{max-height:92px;overflow:auto}
.market-grid{grid-template-columns:minmax(0,1fr) 300px!important}
.combat-layout{grid-template-columns:230px minmax(0,1fr) 250px!important}
.inventory-sections{grid-template-columns:minmax(0,1.7fr) minmax(320px,.9fr)!important}
.gear-page{min-height:0!important}
@media(max-height:850px){:root{--chat-h:30vh}.chatbar{min-height:210px}.pagehead{min-height:48px;padding:8px 12px}}


/* 0.28 authoritative viewport shell
   The outer app owns all vertical space. Page content is never allowed
   to resize or displace the action dock or chat. */
:root{
  --top-h:76px;
  --dock-h:54px;
  --chat-h:33vh;
  --shell-gap:8px;
}
html,body{height:100%;max-height:100%;overflow:hidden!important}
#app{
  width:100%;
  height:100vh;
  max-height:100vh;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:var(--top-h) minmax(0,1fr) var(--dock-h) var(--chat-h);
}
.topbar{
  height:auto!important;
  min-height:0!important;
  grid-row:1;
}
.workspace{
  grid-row:2;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  grid-template-columns:var(--rail) minmax(0,1fr)!important;
  padding:8px 8px 4px!important;
}
.rail{height:100%;min-height:0;overflow:hidden}
#main{
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  overflow:auto!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
#main>.page{
  min-height:100%!important;
  height:auto!important;
  max-height:none!important;
}
#actionDock{
  grid-row:3;
  height:var(--dock-h)!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:0 8px 4px;
}
#actionDock .action-dock{
  height:100%!important;
  min-height:0!important;
  margin:0!important;
}
.chatbar{
  grid-row:4;
  position:relative!important;
  inset:auto!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0 8px 8px!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto;
  z-index:20;
}
.chat-head{min-height:34px;flex:0 0 auto}
.chat-messages{
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
}
.chat-compose{
  min-height:38px;
  flex:0 0 auto;
}
.chat-compose input,.chat-compose button{min-height:32px}

/* Every major page obeys the content viewport. Long content scrolls inside
   #main or its own list instead of increasing the application height. */
.page,.gear-page,.production-page{
  min-width:0!important;
  min-height:0!important;
}
.gear-page{
  height:auto!important;
  overflow:visible!important;
  padding-bottom:8px;
}
.gear-v3{
  min-height:560px!important;
  max-height:none!important;
}
.equipped-scroll,.gear-scroll,.enchant-scroll,
.salvage-list,.merge-list,.recipe-list,.node-list,
.market-list,.pet-list,.session-made-list,.dungeon-ledger{
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.market-grid{min-height:0!important}
.market-list{
  max-height:calc(100vh - var(--top-h) - var(--dock-h) - var(--chat-h) - 120px)!important;
  min-height:180px;
  overflow-y:auto!important;
}
.combat-layout,.dungeon-grid,.inventory-sections,.skill-layout,.production-layout{
  min-height:0!important;
}
.activity-stage{min-height:220px}
.production-stage{min-height:260px!important}
.inventory-sections>section{max-height:none!important}

/* Short displays still preserve chat as an authoritative region. */
@media(max-height:850px){
  :root{--chat-h:33vh!important}
  .chatbar{min-height:0!important}
  .pagehead{min-height:44px;padding:7px 10px}
  .gear-v3{min-height:500px!important}
}

/* 0.29 information-density + static insight layouts */
.skill-layout{
  display:grid!important;
  grid-template-columns:190px minmax(0,1fr) minmax(330px,38%)!important;
  gap:8px!important;
  align-items:stretch!important;
}
.skill-layout>.node-list{grid-column:1;grid-row:1}
.skill-layout>.activity{grid-column:2;grid-row:1;min-width:0}
.gather-session-slot{grid-column:3;grid-row:1;min-width:0}
.gather-session-slot .gather-session{height:100%;margin:0!important;display:flex;flex-direction:column}
.gather-session-slot .session-made-list{max-height:none!important;flex:1;overflow:auto!important}
.activity-stage{min-height:160px!important;height:160px!important}
.activity-stage .scene{height:100%}
.activity .action-panel{grid-template-columns:minmax(0,1fr) 170px!important}
.node-list{max-height:100%!important;overflow-y:auto!important}

/* Production: recipes are the only tall scrolling column; insight/session remains visible. */
.production-static-layout{
  display:grid!important;
  grid-template-columns:minmax(300px,35%) minmax(0,65%)!important;
  height:calc(100% - 60px)!important;
  min-height:0!important;
  align-items:stretch!important;
}
.production-static-layout>.recipe-list,
.production-static-layout>.production-recipes{height:100%!important;max-height:100%!important;overflow-y:auto!important}
.production-static-layout>.production-stage{height:100%!important;max-height:100%!important;overflow:hidden!important;position:sticky;top:0}
.production-static-layout .session-made-list{max-height:150px!important;overflow:auto!important}

/* Combat uses upper encounter + lower session ledger. */
.combat-layout{height:auto!important;align-items:stretch}
.combat-layout>.monster-list{max-height:430px!important;overflow-y:auto!important}
.combat-session{margin-top:8px;max-height:180px;overflow:hidden}
.combat-session .session-mini-scroll{max-height:72px;overflow-y:auto;margin-top:5px}
.combat-session .session-mini-scroll>div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:3px 2px}

/* Dungeon takes the reclaimed vertical workspace instead of leaving a dead field. */
.dungeon-expanded{min-height:calc(100% - 58px)!important;grid-template-columns:330px minmax(0,1fr)!important}
.dungeon-expanded>.dungeon-card,.dungeon-expanded>.dungeon-ledger{min-height:100%!important}
.dungeon-expanded>.dungeon-ledger{overflow-y:auto!important}

/* Inventory categories */
.inventory-tabs{display:flex;gap:4px;flex-wrap:wrap;margin:6px 0}
.inventory-tabs button{padding:7px 10px}.inventory-tabs button.active{border-color:var(--gold);color:var(--gold)}
.inventory-tabs small{margin-left:5px;opacity:.65}
.inventory-page{overflow-y:auto!important;max-height:100%!important}

/* Gear compression. Equipment and enchantment remain in-frame; lists scroll internally. */
.gear-page{overflow:hidden!important;height:100%!important;padding-bottom:0!important}
.gear-page .pagehead{padding:5px 9px!important;min-height:42px!important}
.gear-work-tabs,.gear-set-tabs{margin:3px 0!important;min-height:28px!important}
.gear-work-tabs button,.gear-set-tabs button{padding:4px 8px!important}
.gear-v3{height:calc(100% - 108px)!important;min-height:0!important;max-height:none!important;overflow:hidden!important}
.gear-v3 .equipped-scroll,.gear-v3 .gear-scroll,.gear-v3 .enchant-scroll{height:100%!important;max-height:100%!important;overflow-y:auto!important}
.gear-slot{min-height:44px!important;padding:5px 7px!important}
.gear-slot small{font-size:7px!important}
.gear-stat-area{margin-top:4px!important}.gear-stat-grid{gap:2px!important}.gear-stat-grid>div{padding:3px 5px!important}
.enchant-scroll{font-size:9px!important}
.enchant-scroll .attr-row{padding:4px!important}
.enchant-scroll button{min-height:26px!important;padding:4px 6px!important}
.enchant-actions{gap:4px!important}.enchant-actions button{padding:5px!important}
.loot{padding:5px 7px!important;min-height:44px!important}.loot small{font-size:7px!important}.attr-inline{font-size:7px!important;padding:1px 3px!important}

/* Settings */
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.danger-zone{border-color:#743b32}.danger-zone label,.clan-create label,.clan-controls label{display:grid;gap:4px;margin:8px 0}.danger-zone input,.clan-create input,.clan-create select,.clan-controls input,.clan-controls select{padding:8px;background:#080d0f;border:1px solid var(--line);color:var(--text)}
.danger-zone #fullReset{border-color:#8c3b32;color:#ff9c8d;width:100%;padding:10px}

/* Clan */
.clan-dashboard{display:grid;grid-template-columns:1.2fr .8fr;gap:8px}
.clan-summary{grid-column:1/-1}.clan-banner{display:flex;gap:12px;align-items:center}.clan-banner>span{font-size:38px;color:var(--gold)}.clan-banner h2{margin:0}.clan-banner b{color:var(--gold)}
.clan-actions,.clan-fund-row{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.clan-actions input,.clan-fund-row input{min-width:150px;flex:1;background:#080d0f;border:1px solid var(--line);color:var(--text);padding:7px}
.clan-member-list{max-height:250px;overflow:auto}.clan-member{display:grid;grid-template-columns:28px 1fr 90px 90px 110px;align-items:center;gap:6px;padding:7px;border-bottom:1px solid var(--line)}.clan-member em{color:var(--gold)}
.clan-event{padding:7px;border-top:1px solid var(--line)}
.chat-clan-link{border:0!important;background:transparent!important;color:var(--gold)!important;padding:0!important;min-height:0!important;font-weight:700;cursor:pointer}
.chat-line{grid-template-columns:62px 150px minmax(0,1fr)!important}

/* Keep all new content subordinate to authoritative shell */
#main{overflow:auto!important}
@media(max-width:1250px){
 .skill-layout{grid-template-columns:170px minmax(0,1fr)!important}
 .gather-session-slot{grid-column:2;grid-row:2}
 .clan-dashboard{grid-template-columns:1fr}
 .clan-summary{grid-column:auto}
}

/* 0.29.1 final fit corrections */
.combat-center{min-width:0;display:flex;flex-direction:column;gap:8px}
.combat-center .encounter{min-height:250px}
.combat-center .combat-session{margin:0;min-height:120px}
.gear-v3 .equipped-scroll{overflow:hidden!important}
.gear-v3 .gear-slot{min-height:38px!important;height:38px!important}
.gear-v3 .gear-slot b{font-size:9px!important}
.gear-v3 .gear-slot small{font-size:6px!important;line-height:1!important}
.gear-v3 .gear-stat-grid>div{min-height:22px!important}
.gear-v3 .enchant-scroll{overflow-y:auto!important}

/* 0.30 corrective pass */
.inventory-tabs button{background:#0b1012!important;color:#bdb5a6!important;border:1px solid #3b3327!important}
.inventory-tabs button:hover{border-color:#765629!important;color:#e5bd68!important}
.inventory-tabs button.active{background:#2d1d0d!important;color:#f0c76d!important;border-color:#a8742e!important}
.inventory-tabs button small{color:inherit!important}
.gear-toolbar{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:4px 0 6px;flex:0 0 auto}
.gear-toolbar button{height:30px!important;padding:3px 5px!important;background:#0b1012!important;color:#a99d89!important;border:1px solid #34312a!important;font:700 8px Georgia!important}
.gear-toolbar button.active{background:#2e1d0d!important;color:#efc56b!important;border-color:#a8742e!important}
.gear-toolbar button small{display:block;font:6px Arial!important;margin-top:1px;color:#8e8577}
.gear-v3{height:calc(100% - 76px)!important;grid-template-columns:minmax(255px,.66fr) minmax(380px,1.25fr) minmax(390px,1.2fr)!important}
.gear-paper{padding:6px!important}.gear-score-row{padding:5px!important;margin-bottom:3px!important}
.gear-v3 .gear-slot{height:34px!important;min-height:34px!important;padding:3px 6px!important;grid-template-columns:72px 1fr!important;gap:6px!important}
.gear-v3 .gear-slot b{font-size:8px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gear-v3 .gear-slot small{font-size:6px!important}
.gear-stat-grid{grid-template-columns:repeat(2,1fr)!important}.gear-stat-grid>div{padding:2px 4px!important;min-height:18px!important}.gear-stat-grid span,.gear-stat-grid b{font-size:6px!important}
.enchant-scroll{padding:5px!important}.forge-item{padding:6px!important}.forge-item h2{font-size:16px!important;margin:1px 0!important}
.affix-row{padding:3px 5px!important;min-height:32px!important}.affix-row b{font-size:8px!important}.affix-row span{font-size:6px!important}
.item-equip-actions{gap:3px!important;margin:3px 0!important}.item-equip-actions button{min-height:24px!important;padding:3px!important}
.enchant-actions{grid-template-columns:repeat(2,1fr)!important;gap:3px!important}.enchant-actions button{min-height:30px!important;padding:3px!important}
.dungeon-page{height:100%!important;display:flex!important;flex-direction:column!important;min-height:0!important}
.dungeon-control{display:grid!important;grid-template-columns:180px 1fr 260px;align-items:center;gap:16px;padding:10px 14px!important;flex:0 0 auto}
.dungeon-control .depth{font-size:48px!important}.dungeon-control .toggle{padding:5px 0!important}.dungeon-control button{height:42px!important}
.dungeon-ledger-expanded{margin-top:8px!important;flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;padding:10px!important}
.monster-list{overflow-y:auto!important;overscroll-behavior:contain!important}

/* 0.31 combat/dungeon stabilization */
.combat-page{height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important}
.combat-page>.pagehead{flex:0 0 auto!important}
.combat-page>.combat-layout{flex:1 1 auto!important;min-height:0!important;height:calc(100% - 48px)!important}
.combat-layout>.monster-list{height:100%!important;max-height:none!important;min-height:0!important;overflow-y:auto!important;align-self:stretch!important}
.combat-center{min-height:0!important;display:flex!important;flex-direction:column!important}
.combat-center>.encounter{flex:0 0 auto!important}
.combat-center>.combat-session{flex:1 1 auto!important;max-height:none!important;min-height:110px!important;overflow-y:auto!important}
.drop-table{height:100%!important;overflow-y:auto!important}
.dungeon-metrics{display:grid;grid-template-columns:repeat(6,minmax(100px,1fr));gap:5px;margin:8px 0}
.dungeon-metrics>div{background:#090e10;border:1px solid #29261f;padding:8px;display:grid;gap:4px}
.dungeon-metrics small{font-size:7px;color:#81796c;letter-spacing:.08em}.dungeon-metrics b{font:700 14px Georgia;color:#e2b45c}
.dungeon-empty{margin-top:8px}
.danger-zone #fullReset{background:#24100e!important;border:1px solid #a44b3f!important;color:#ff9c8d!important;box-shadow:inset 0 0 18px #7c241a22!important;cursor:pointer!important}
.danger-zone #fullReset:hover{background:#351511!important;color:#ffc0b6!important}
@media(max-width:1200px){.dungeon-metrics{grid-template-columns:repeat(3,1fr)}}

/* 0.34 authoritative control palette: browser-default white controls are forbidden. */
button,
input[type="button"],
input[type="submit"],
input[type="reset"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  background:#15110d!important;
  color:#dcb467!important;
  border:1px solid #72542b!important;
  border-radius:3px!important;
  box-shadow:none!important;
}
button:hover:not(:disabled),
input[type="button"]:hover:not(:disabled),
input[type="submit"]:hover:not(:disabled),
input[type="reset"]:hover:not(:disabled){
  background:#24190f!important;
  color:#f0c76b!important;
  border-color:#9a7134!important;
}
button:disabled,
input[type="button"]:disabled,
input[type="submit"]:disabled,
input[type="reset"]:disabled{
  background:#0d1011!important;
  color:#625e56!important;
  border-color:#292b2a!important;
  opacity:.62!important;
  cursor:not-allowed!important;
}
.clan-dashboard button,.clan-actions button,.clan-fund-row button,.clan-controls button,.danger-zone button{
  background:#15110d!important;color:#dcb467!important;border:1px solid #72542b!important;
}

.danger-zone #fullReset.armed{background:#3b1511!important;border-color:#d35b4d!important;color:#ffd0c8!important;box-shadow:inset 0 0 20px #a42a1d33!important}
.danger-zone #resetPlayerName:focus{outline:1px solid #b9853e;box-shadow:0 0 0 2px #b9853e22}


/* ============================================================
   0.42 READABILITY / DEEP CLEAN PASS
   ============================================================ */
:root{
  --chat-h:25vh!important;
  --rail:104px!important;
}
html,body{font-size:calc(15px * var(--scale))!important;min-width:1040px!important}
.workspace{gap:10px!important;padding:10px!important}
.page{gap:10px!important}
.panel{border-color:#41382a!important}
.pagehead{padding:14px 16px!important;min-height:66px!important}
.pagehead h2{font-size:22px!important}
.pagehead p{font-size:12px!important;line-height:1.45!important}
.section-title{font-size:13px!important;padding-bottom:9px!important;margin-bottom:10px!important}
.eyebrow,.topstats span{font-size:10px!important}
small,.muted{font-size:10px!important;line-height:1.4!important}
button{min-height:34px!important;font-size:11px!important}
.rail{padding:8px!important;gap:6px!important}.rail button{height:62px!important}.rail button span{font-size:11px!important}.rail button i{font-size:19px!important}
.topstats b{font-size:15px!important}.brand h1{font-size:23px!important}
.chatbar{min-height:190px!important;max-height:300px!important}.chat-messages{font-size:12px!important}.chat-line{font-size:11px!important}
.chat-compose input{font-size:12px!important;height:38px!important}.chat-compose button{font-size:11px!important}
.skill-tabs button{padding:9px 13px!important;font-size:11px!important}
.skill-layout{grid-template-columns:260px minmax(0,1fr)!important;gap:10px!important}
.node-list{padding:10px!important}.node-card{min-height:68px!important;padding:11px 48px 11px 13px!important}.node-card strong{font-size:14px!important}.node-card small{font-size:10px!important}.node-card .req{font-size:10px!important}
.activity{padding:12px!important}.activity-head h3{font-size:22px!important}.xptext,.meta,.count{font-size:11px!important}.action-panel{grid-template-columns:minmax(0,1fr) 210px!important}
.production-layout{gap:10px!important}.recipe-main b{font-size:13px!important}.recipe-main span,.recipe-main small{font-size:10px!important}.craft-plan{font-size:10px!important}
.production-metrics small{font-size:9px!important}.production-metrics b{font-size:14px!important}
.inventory-tabs{gap:6px!important;margin:8px 0!important}.inventory-tabs button{padding:9px 12px!important;font-size:11px!important}
.inventory-sections{grid-template-columns:minmax(0,1.55fr) minmax(340px,.75fr)!important;gap:10px!important}
.inventory-item{min-height:64px!important;padding:10px 12px!important}.inventory-item b{font-size:13px!important}.inventory-item>span{font-size:20px!important;margin:0!important}
.inventory-open-actions{display:flex;gap:6px;align-items:center}.inventory-open-actions button{min-width:76px!important}.inventory-open-actions .open-all{border-color:#a87731!important;background:#2a1b0d!important;color:#f1c976!important}
.pet-card{padding:11px!important}.pet-card b{font-size:13px!important}.pet-card span{font-size:10px!important}

/* Gear is readable again. Internal columns scroll instead of crushing text. */
.gear-page{overflow:auto!important;height:auto!important}
.gear-v3{height:auto!important;min-height:590px!important;grid-template-columns:minmax(300px,.8fr) minmax(390px,1.08fr) minmax(430px,1.12fr)!important;gap:10px!important;overflow:visible!important}
.gear-toolbar{grid-template-columns:repeat(4,minmax(120px,1fr))!important;gap:6px!important;margin:7px 0 9px!important}
.gear-toolbar button{height:auto!important;min-height:38px!important;padding:6px 8px!important;font:700 10px Georgia!important}.gear-toolbar button small{font:8px Arial!important}
.gear-paper{padding:9px!important}.gear-score-row{padding:8px!important}
.gear-v3 .equipped-scroll,.gear-v3 .gear-scroll,.gear-v3 .enchant-scroll{overflow-y:auto!important;max-height:650px!important;height:auto!important}
.gear-v3 .gear-slot{height:auto!important;min-height:48px!important;padding:7px 9px!important;grid-template-columns:84px 1fr!important;gap:8px!important}
.gear-v3 .gear-slot b{font-size:11px!important}.gear-v3 .gear-slot small{font-size:9px!important;line-height:1.25!important}
.gear-stat-grid>div{padding:5px 7px!important;min-height:30px!important}.gear-stat-grid span,.gear-stat-grid b{font-size:9px!important}
.loot{padding:8px 10px!important;min-height:52px!important}.loot small{font-size:9px!important}.attr-inline{font-size:9px!important;padding:2px 5px!important}
.enchant-scroll{font-size:11px!important;padding:9px!important}.forge-item{padding:9px!important}.forge-item h2{font-size:19px!important}
.affix-row{padding:8px 9px!important;min-height:46px!important}.affix-row b{font-size:11px!important}.affix-row span{font-size:9px!important}.affix-row button{font-size:9px!important;min-height:30px!important}
.item-equip-actions button,.enchant-actions button{min-height:36px!important;padding:7px!important}

/* Remove the old colored attribute bars from the enchantment table. Quality is text/badge only. */
.affix-row[class*="aq-"]{
  border-left:1px solid #302b23!important;
  box-shadow:none!important;
  background:#0b1012!important;
}
.affix-row.locked-affix{border-color:#8d672f!important;box-shadow:inset 0 0 0 1px #8d672f55!important}
.affix-row.locked-affix:before{display:none!important}

/* Combat and dungeon breathing room. */
.combat-layout{grid-template-columns:270px minmax(520px,1fr) 300px!important;gap:10px!important}
.combat-layout>.monster-list{padding:10px!important}.combat-center .encounter{min-height:300px!important}
.fighter h2{font-size:18px!important}.drop-row{font-size:10px!important;padding:8px 4px!important}
.dungeon-control{grid-template-columns:150px minmax(320px,1fr) minmax(260px,.8fr) 220px!important;gap:18px!important;padding:14px 16px!important}
.dungeon-control .depth{font-size:54px!important}.dungeon-control h3{font-size:16px!important;margin:0 0 5px!important}
.dungeon-enemy-live{display:grid;gap:7px;min-width:0}.dungeon-enemy-live>div:first-child{display:flex;justify-content:space-between;gap:12px}.dungeon-enemy-live small{color:#8f8676;font-weight:700}.dungeon-enemy-live b{color:#e1b760}
.dungeon-cycle{display:grid;grid-template-columns:1fr auto;gap:5px;align-items:center}.dungeon-cycle .actionbar{grid-column:1/-1;margin:0}
.dungeon-ledger-expanded{padding:13px!important}.dungeon-metrics{gap:7px!important}.dungeon-metrics>div{padding:10px!important}.dungeon-metrics small{font-size:9px!important}.dungeon-metrics b{font-size:15px!important}

/* Reward popup for OPEN ALL. */
.reward-modal{position:fixed;inset:0;z-index:9999;background:#020405d9;display:grid;place-items:center;padding:24px}
.reward-card{width:min(680px,92vw);max-height:78vh;overflow:auto;padding:22px!important;position:relative;border-color:#8c682f!important;box-shadow:0 22px 80px #000b!important}
.reward-card h2{font:700 26px Georgia;color:#f0c76b;margin:4px 0 6px}.reward-card>p{color:#9e9587;margin:0 0 14px}
.reward-close{position:absolute;right:12px;top:10px;width:38px!important;min-width:38px!important;font-size:20px!important}
.reward-gold{display:flex;justify-content:space-between;align-items:center;padding:12px;border:1px solid #584323;background:#151008;margin-bottom:10px}.reward-gold b{font:700 22px Georgia;color:#f0c76b}
.reward-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:7px;margin:10px 0 16px}.reward-grid>div{display:flex;justify-content:space-between;gap:15px;padding:10px;border:1px solid #2e2b24;background:#090e10}.reward-grid b{color:#e1b661}
.reward-done{width:100%!important;min-height:44px!important}

/* Last seven item qualities: distinct, cleaner, premium animations. */
.q-mythic,.q-ascendant,.q-everwrought,.q-celestial,.q-primordial,.q-eternal,.q-transcendent{position:relative;isolation:isolate;overflow:hidden}
.q-mythic{animation:qMythic 2.8s ease-in-out infinite!important}
.q-ascendant{animation:qAscendant 3.2s ease-in-out infinite!important}
.q-everwrought{animation:qEverwrought 2.5s ease-in-out infinite!important}
.q-celestial{animation:qCelestial 3.6s ease-in-out infinite!important}
.q-primordial{animation:qPrimordial 2.9s ease-in-out infinite!important}
.q-eternal{animation:qEternal 4.2s ease-in-out infinite!important}
.q-transcendent{animation:qTranscendent 3.4s ease-in-out infinite!important}
.q-mythic:after,.q-ascendant:after,.q-everwrought:after,.q-celestial:after,.q-primordial:after,.q-eternal:after,.q-transcendent:after{
  content:"";position:absolute!important;inset:-40% -70%!important;pointer-events:none!important;transform:translateX(-55%) rotate(14deg)!important;opacity:0;z-index:-1;
}
.q-mythic:after{background:radial-gradient(circle,#ff73ae26 0,transparent 58%);animation:qDrift 3.8s ease-in-out infinite!important}
.q-ascendant:after{background:linear-gradient(110deg,transparent 35%,#b58cff20 50%,transparent 65%);animation:qSweepSlow 4.2s ease-in-out infinite!important}
.q-everwrought:after{background:linear-gradient(110deg,transparent 34%,#fff6c936 50%,transparent 66%);animation:qSweepSlow 3.3s ease-in-out infinite!important}
.q-celestial:after{background:radial-gradient(circle,#dfe5ff35 0 2%,transparent 3% 100%);background-size:24px 24px;animation:qStars 5s linear infinite!important}
.q-primordial:after{background:radial-gradient(circle at 50% 50%,#ffd06d2e,transparent 56%);animation:qDrift 3.1s ease-in-out infinite!important}
.q-eternal:after{background:linear-gradient(110deg,transparent 30%,#ff8fd41c,#82e6ff1c,transparent 70%);animation:qSweepSlow 4.8s ease-in-out infinite!important}
.q-transcendent:after{background:linear-gradient(110deg,transparent 28%,#fff0a335,#8eeaff25,#efa0ff25,#fff0a335,transparent 72%);animation:qSweepSlow 3.7s ease-in-out infinite!important}
@keyframes qMythic{0%,100%{box-shadow:0 0 0 #ef6f9a00}50%{box-shadow:0 0 16px #ef6f9a42}}
@keyframes qAscendant{0%,100%{border-color:#7e63a9}50%{border-color:#b990ff;box-shadow:0 0 13px #aa7cf033}}
@keyframes qEverwrought{0%,100%{box-shadow:0 0 8px #f2e7bd22}50%{box-shadow:0 0 20px #f2e7bd55}}
@keyframes qCelestial{0%,100%{box-shadow:0 0 8px #d9d8ff22}50%{box-shadow:0 0 18px #d9d8ff46}}
@keyframes qPrimordial{0%,100%{box-shadow:0 0 7px #f4d37a24}50%{box-shadow:0 0 22px #f4b84e55}}
@keyframes qEternal{0%,100%{box-shadow:0 0 9px #ff8fd422}50%{box-shadow:0 0 20px #ff8fd444,0 0 12px #80e7ff22}}
@keyframes qTranscendent{0%,100%{box-shadow:0 0 12px #fff0a333}50%{box-shadow:0 0 25px #fff0a366,0 0 18px #80e7ff33}}
@keyframes qDrift{0%,100%{opacity:.15;transform:translateX(-45%) rotate(14deg)}50%{opacity:.75;transform:translateX(45%) rotate(14deg)}}
@keyframes qSweepSlow{0%{opacity:0;transform:translateX(-60%) rotate(14deg)}25%{opacity:.7}70%{opacity:.55}100%{opacity:0;transform:translateX(60%) rotate(14deg)}}
@keyframes qStars{0%{opacity:.18;background-position:0 0}50%{opacity:.55}100%{opacity:.18;background-position:48px -24px}}

@media(max-width:1350px){
 .combat-layout{grid-template-columns:230px minmax(460px,1fr)!important}.drop-table{grid-column:1/-1;max-height:220px!important}
 .gear-v3{grid-template-columns:minmax(280px,.8fr) minmax(360px,1fr)!important}.gear-v3>.enchant-scroll{grid-column:1/-1;max-height:none!important}
 .dungeon-control{grid-template-columns:130px 1fr 1fr!important}.dungeon-control>button{grid-column:1/-1}
}


/* ============================================================
   0.43 SYSTEMS / READABILITY PASS
   ============================================================ */
/* Inventory actions stay inside their own row at all scales. */
.inventory-item{grid-template-columns:minmax(0,1fr) minmax(74px,auto) minmax(176px,auto)!important;overflow:hidden!important;align-items:center!important}
.inventory-item>div:first-child{min-width:0!important}.inventory-item>div:first-child b{overflow-wrap:anywhere}.inventory-open-actions{min-width:0!important;justify-content:flex-end!important;flex-wrap:wrap!important}.inventory-open-actions button{flex:1 1 78px!important;max-width:92px!important;margin:0!important;white-space:nowrap!important}
@media(max-width:1250px){.inventory-item{grid-template-columns:minmax(0,1fr) auto!important}.inventory-open-actions{grid-column:1/-1!important;justify-content:flex-start!important}.inventory-open-actions button{flex:0 0 96px!important}}

/* Enchantment quality ladder: compact and deliberately static. */
.compact-quality-track{grid-template-columns:repeat(14,1fr)!important;gap:2px!important;margin:7px 0 9px!important;height:5px!important}
.compact-quality-track i{height:4px!important;min-height:4px!important;border-radius:2px!important;animation:none!important;box-shadow:none!important;transform:none!important;filter:none!important;overflow:hidden!important}
.compact-quality-track i:after,.compact-quality-track i:before{display:none!important;animation:none!important}
.compact-quality-track i.lit{background:var(--q)!important;box-shadow:none!important}

/* Equipped cards carry the premium quality motion, including the left gear column. */
.equipped-quality.q-mythic,.equipped-quality.q-ascendant,.equipped-quality.q-everwrought,.equipped-quality.q-celestial,.equipped-quality.q-primordial,.equipped-quality.q-eternal,.equipped-quality.q-transcendent{overflow:hidden!important;position:relative!important}
.equipped-quality.q-mythic:after,.equipped-quality.q-ascendant:after,.equipped-quality.q-everwrought:after,.equipped-quality.q-celestial:after,.equipped-quality.q-primordial:after,.equipped-quality.q-eternal:after,.equipped-quality.q-transcendent:after{z-index:0!important}
.equipped-quality>*{position:relative;z-index:1}.equipped-quality b,.equipped-quality small,.equipped-quality span{position:relative;z-index:1}
.twohand-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:8px 10px;margin:4px 0;border:1px solid #8b6430;background:#191208;color:#d7b064}.twohand-bar b{font:700 10px Arial;letter-spacing:.08em}.twohand-bar span{font-size:9px;color:#9f927d;text-align:right}
.effective-cap-note{display:block;padding:8px 4px;color:#8f8574;line-height:1.45}

/* Thieving */
.thieving-panel{min-width:0}.suspicion-card{border:1px solid #4a2d20;background:#120d0b;padding:12px;margin:10px 0;display:grid;gap:8px}.suspicion-card>div:first-child{display:flex;justify-content:space-between}.suspicion-card span{font:700 10px Arial;letter-spacing:.09em;color:#b9906b}.suspicion-card b{color:#e6aa72}.suspicion-bar{height:8px;background:#090b0c;border:1px solid #3d281e;overflow:hidden}.suspicion-bar i{display:block;height:100%;background:linear-gradient(90deg,#705428,#a24d35,#bd322a);transition:width .15s linear}

/* Dungeon combat style and threat block */
.dungeon-style-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.dungeon-style-tabs button{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:8px 14px!important;background:#0b1012!important;border:1px solid #353027!important;color:#a9a092!important}.dungeon-style-tabs button.active{border-color:#976a2d!important;color:#efc56f!important;background:#1a120b!important}.dungeon-style-tabs small{font-size:9px!important;color:#756e64}.dungeon-threat{display:grid;gap:5px}.dungeon-threat>small{display:block;color:#948a79}.dungeon-threat b{color:#e0b35b}
.level-up-feed{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:4px;margin:7px 0}.level-up-feed>div{padding:6px 8px;background:#0d1511;border:1px solid #29412f;color:#88c996;font:700 9px Arial}

/* Lottery links/toast */
.lottery-hud span{color:#d5a64d!important;font-size:9px!important}.lottery-hud:hover{background:#161109!important}.chat-lottery-link{border:1px solid #735326!important;background:#1b1309!important;color:#e8bd60!important;padding:3px 7px!important;min-height:24px!important;font:700 9px Arial!important;cursor:pointer!important}
.global-toast{position:fixed;right:18px;top:74px;z-index:10000;width:min(520px,calc(100vw - 36px));display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid #8c672e;background:#0b0f10ee;box-shadow:0 16px 50px #000a}.global-toast .toast-tag{min-height:34px!important;background:#24170a!important;color:#f0c468!important;border-color:#986b2e!important}.global-toast div{cursor:pointer;min-width:0}.global-toast div b,.global-toast div span{display:block}.global-toast div b{color:#e5c072;font:700 13px Georgia}.global-toast div span{color:#9b9284;font-size:10px;margin-top:3px}.global-toast .toast-close{width:36px!important;min-width:36px!important;font-size:18px!important}

/* Readability polish for dense gear / enchant views. */
.gear-v3{grid-template-columns:minmax(330px,.82fr) minmax(440px,1.08fr) minmax(450px,1.10fr)!important}.gear-slot b{font-size:12px!important}.gear-slot small{font-size:9px!important}.loot b{font-size:11px!important}.loot small{font-size:9px!important;line-height:1.35!important}.attr-inline{font-size:9px!important;padding:3px 5px!important}.enchant-scroll{font-size:11px!important}.forge-actions{gap:6px!important}.forge-actions button{min-height:38px!important;font-size:9px!important}.forge-note{font-size:9px!important;line-height:1.45!important;color:#918777!important}

@media(max-width:1450px){.gear-v3{grid-template-columns:minmax(300px,.8fr) minmax(390px,1.05fr)!important}.gear-v3>.enchant-scroll,.gear-v3>.enchant-table{grid-column:1/-1!important}.dungeon-control{grid-template-columns:130px 1fr 1fr!important}.dungeon-control>button{grid-column:1/-1!important}}


/* 0.43 final polish */
.inventory-page{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(330px,1fr))!important;gap:8px!important;align-content:start!important}
.inventory-item{grid-template-columns:minmax(150px,1fr) minmax(64px,auto) minmax(176px,auto)!important;gap:10px!important;overflow:hidden!important}
.inventory-open-actions{width:176px!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;justify-self:end!important}
.inventory-open-actions button{width:auto!important;max-width:none!important;min-width:0!important;padding:6px 8px!important}
@media(max-width:1250px){
  .inventory-page{grid-template-columns:1fr!important}
  .inventory-item{grid-template-columns:minmax(0,1fr) auto!important}
  .inventory-open-actions{grid-column:1/-1!important;width:100%!important;max-width:280px!important;justify-self:start!important}
}
.dungeon-style-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(150px,1fr))!important;gap:7px!important}
.dungeon-style-tabs button{min-height:46px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;font-weight:800!important}
.dungeon-style-tabs button small{font-size:9px!important;color:#8f8678!important}
.dungeon-style-tabs button.active small{color:#d9b66f!important}
.twohand-bar{display:grid!important;gap:3px!important;padding:8px 10px!important;margin:4px 0 7px!important;border:1px solid #72542b!important;background:#151009!important;color:#dcb467!important}
.twohand-bar b{font-size:10px!important;letter-spacing:.08em!important}.twohand-bar span{font-size:9px!important;color:#9d9385!important}
.level-up-feed{display:grid!important;gap:4px!important;margin:7px 0!important;max-height:100px!important;overflow:auto!important}
.level-up-feed>div{padding:5px 8px!important;border-left:2px solid #9d7435!important;background:#171108!important;color:#e0bd75!important;font-size:10px!important}
.lottery-hud span{font-size:9px!important;letter-spacing:.08em!important;color:#c99745!important}
.lottery-hud{cursor:pointer!important;min-width:190px!important}

/* 0.44 skill usability */
.skills-page{height:100%!important;min-height:0!important;overflow:hidden!important}
.skills-page .pagehead{flex:0 0 auto!important}
.skills-page .skill-layout{flex:1!important;min-height:0!important;height:auto!important;overflow:hidden!important}
.skills-page .node-list{height:100%!important;max-height:100%!important;overflow-y:auto!important;overscroll-behavior:contain}
.skills-page .activity{height:100%!important;min-height:0!important;overflow:hidden!important}
.skills-page .gather-session-slot{height:100%!important;min-height:0!important;overflow:auto!important}
.production-page.skills-page .production-static-layout{flex:1!important;height:auto!important;min-height:0!important;overflow:hidden!important}
.production-page.skills-page .recipe-list{height:100%!important;overflow-y:auto!important}
.heal-tag{font-style:normal!important;color:#8fcf93!important;font:700 10px Arial!important;margin-left:6px!important;white-space:nowrap!important}
.farm-costs{display:flex!important;flex-wrap:wrap!important;gap:5px!important;margin-top:8px!important;padding-top:7px!important;border-top:1px solid #2d2922!important}
.farm-costs span{width:100%;font-size:8px!important;letter-spacing:.08em!important;color:#867b69!important}
.farm-costs b{font-size:9px!important;padding:3px 6px!important;border:1px solid #36322b!important;background:#0b0f11!important}
.farm-costs b.ok{color:#88bd8f!important;border-color:#35543b!important}.farm-costs b.low{color:#d17767!important;border-color:#61362f!important}
.node-list::-webkit-scrollbar,.recipe-list::-webkit-scrollbar{width:8px}.node-list::-webkit-scrollbar-thumb,.recipe-list::-webkit-scrollbar-thumb{background:#594225;border-radius:8px}

/* 0.44b pinned skill workspaces */
.skills-page .skill-layout{grid-template-rows:minmax(0,1fr)!important}
.skills-page .node-list,.skills-page .recipe-list{scrollbar-gutter:stable}
.skills-page .activity-stage{flex:0 0 auto}
.production-page.skills-page{height:100%!important;min-height:0!important}
.production-page.skills-page .production-layout{min-height:0!important;overflow:hidden!important}
.production-page.skills-page .production-insight{height:100%!important;overflow:auto!important}
.thieving-panel .suspicion-card{position:relative}
.heal-tag{display:inline!important}

/* 0.45 fixed skill workspaces */
#main:has(.skills-page){overflow:hidden!important}
.skills-page{display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;height:100%!important;min-height:0!important;overflow:hidden!important}
.skills-page .skill-layout{display:grid!important;grid-template-columns:minmax(220px,250px) minmax(420px,1fr) minmax(260px,330px)!important;grid-template-rows:minmax(0,1fr)!important;height:100%!important;min-height:0!important;overflow:hidden!important}
.skills-page .node-list{display:flex!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important}
.skills-page .node-scroll{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;padding-right:3px;scrollbar-gutter:stable}
.skill-list-tools{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) 58px;gap:5px;padding:0 0 7px;margin-bottom:7px;border-bottom:1px solid #2d2922}
.skill-list-tools select{min-width:0;height:34px;background:#080d0f;color:#d9cfbd;border:1px solid #493821;padding:0 8px;font-size:10px}
.skill-list-tools button{min-height:34px!important;padding:5px!important;font-size:9px!important}
.skills-page .activity{grid-column:2!important;grid-row:1!important;height:100%!important;min-height:0!important;overflow:hidden!important}
.skills-page .gather-session-slot{grid-column:3!important;grid-row:1!important;height:100%!important;min-height:0!important;overflow:hidden!important}
.skills-page .gather-session-slot .gather-session{height:100%!important;min-height:0!important;overflow:hidden!important}
.skills-page .gather-session-slot .session-made-list{min-height:0!important;overflow-y:auto!important}
.production-page.skills-page .production-static-layout{display:grid!important;grid-template-columns:minmax(340px,38%) minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;height:100%!important;min-height:0!important;overflow:hidden!important}
.production-page.skills-page .recipe-list{display:flex!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important}
.production-page.skills-page .recipe-scroll{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;scrollbar-gutter:stable}
.production-page.skills-page .production-insight{min-height:0!important;overflow:auto!important}
.vip-toggle{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px;margin-top:12px!important;color:#d7b56f}
.vip-toggle input{width:auto!important}
@media(max-width:1180px){.skills-page .skill-layout{grid-template-columns:210px minmax(390px,1fr) minmax(235px,285px)!important}}

/* 0.46 regression repair: stable skill and dungeon controls */
.skills-page .activity{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-gutter:stable;
}
.skills-page .action-panel{
  position:sticky!important;
  bottom:0!important;
  z-index:8!important;
  background:#090d0f!important;
  padding-top:8px!important;
  border-top:1px solid #332b20!important;
}
.sticky-action-btn{
  min-height:42px!important;
  position:relative!important;
  z-index:10!important;
}
.skills-page .node-list,
.skills-page .gather-session-slot{
  min-height:0!important;
}
.skills-page .node-scroll{
  overscroll-behavior:contain!important;
}
.dungeon-style-tabs button{
  pointer-events:auto!important;
  cursor:pointer!important;
}
.dungeon-control #dungeonBtn{
  min-height:44px!important;
  position:relative!important;
  z-index:5!important;
}
.dungeon-control{
  align-items:stretch!important;
}
@media(max-width:1250px){
  .skills-page .skill-layout{
    grid-template-columns:220px minmax(360px,1fr) 260px!important;
  }
  .dungeon-style-tabs{
    grid-template-columns:repeat(3,minmax(120px,1fr))!important;
  }
}

/* 0.47 high-specificity skill viewport repair */
#main>.skills-page{height:100%!important;min-height:0!important;max-height:100%!important;overflow:hidden!important}
#main>.skills-page>.skill-layout{height:100%!important;min-height:0!important;max-height:100%!important}
#main>.skills-page .node-list{height:100%!important;min-height:0!important;max-height:100%!important;overflow:hidden!important}
#main>.skills-page .node-scroll{height:auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;overscroll-behavior:contain!important}
#main>.production-page.skills-page .production-static-layout{height:100%!important;min-height:0!important;max-height:100%!important}
#main>.production-page.skills-page .recipe-list{height:100%!important;min-height:0!important;overflow:hidden!important}
#main>.production-page.skills-page .recipe-scroll{min-height:0!important;overflow-y:auto!important}

/* 0.47 interaction polish */
.gear-ammo-panel{padding:9px 12px!important;margin-bottom:0!important}
.ammo-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.ammo-head>b{font-size:11px}
.ammo-tabs{display:flex;gap:5px}.ammo-tabs button{min-height:30px!important;padding:5px 10px!important}.ammo-tabs button.active{border-color:#9a7134!important;background:#2a1b0d!important;color:#f0c76b!important}
.ammo-summary{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}.ammo-summary>div,.ammo-row{border:1px solid #292b28;background:#090d0f;padding:8px 10px;min-width:0}
.ammo-summary span,.ammo-row span{font-size:9px;color:#918879;letter-spacing:.05em}.ammo-summary b,.ammo-row b{display:block;font:700 15px Georgia;color:#dcb467;margin-top:2px}.ammo-summary small,.ammo-row small{display:block;color:#737a78;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ammo-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:6px;margin-top:7px;max-height:120px;overflow-y:auto}
.chat-compose{grid-template-columns:auto minmax(0,1fr) auto!important;position:relative!important}.chat-emoji-box{position:relative}.chat-emoji-box>#chatEmojiToggle{width:38px!important;min-width:38px!important;height:38px!important;font-size:18px!important}
.chat-emoji-picker{display:none;position:absolute;left:0;bottom:44px;width:330px;max-height:170px;overflow-y:auto;padding:8px;grid-template-columns:repeat(8,1fr);gap:4px;border:1px solid #71532b;background:#090d0f;z-index:90;box-shadow:0 16px 40px #000b}.chat-emoji-picker.open{display:grid}.chat-emoji-picker button{min-height:32px!important;padding:3px!important;font-size:17px!important;background:#101518!important}
.clan-create select,.clan-controls select{font-size:18px!important}.clan-custom-icon{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.clan-status{min-height:18px;color:#dcb467;font-size:10px;padding:3px 0}
.market-buy-all{min-width:112px!important}.market-buy-all small{display:block;font-size:8px!important;color:#9e9382!important;margin-top:2px}
button:disabled{cursor:not-allowed!important;opacity:.48!important;filter:none!important}

/* 0.48 online account gate */
.online-gate{position:fixed;inset:0;z-index:20000;background:#050809f2;display:grid;place-items:center;padding:28px}
.online-gate[hidden]{display:none!important}
.online-card{width:min(520px,94vw);background:#0a0f11;border:1px solid #75552a;box-shadow:0 30px 100px #000;padding:26px;display:grid;gap:14px}
.online-brand{display:flex;align-items:center;gap:12px;border-bottom:1px solid #332919;padding-bottom:14px}.online-brand .sigil{width:42px;height:42px;display:grid;place-items:center;border:1px solid #9b7134;color:#e2bb68;transform:rotate(45deg);font:bold 18px Georgia}.online-brand .sigil::first-letter{transform:rotate(-45deg)}
.online-brand h1{margin:0;color:#e5bd68;font:700 25px Georgia;letter-spacing:.08em}.online-brand small{color:#786b57;letter-spacing:.14em}
.online-card section{display:grid;gap:10px}.online-card h2{margin:2px 0;color:#dfbd78;font:700 20px Georgia}.online-card p{margin:0 0 6px;color:#9d9587;line-height:1.5}
.online-card label{display:grid;gap:5px;color:#9e8a68;font-size:10px;font-weight:700;letter-spacing:.07em}.online-card label span{font-weight:400;color:#645e54}
.online-card input{height:40px;background:#070b0d;color:#e3dccf;border:1px solid #423522;padding:0 11px;font-size:14px;outline:none}.online-card input:focus{border-color:#a87b39;box-shadow:0 0 0 2px #a87b3924}
.online-card button{min-height:42px}.online-primary{background:#2b1d0e!important;border-color:#9c7133!important;color:#f0c76f!important;font-weight:800}.online-link{background:#0b1012!important;color:#a69b88!important}
.online-message{min-height:18px;color:#928a7d}.online-message.error{color:#d87969}.online-message.pending{color:#d5ac63}.online-server{color:#5e5c55;border-top:1px solid #25221d;padding-top:10px;overflow-wrap:anywhere}
.online-status{height:30px;min-width:150px;padding:0 10px;display:flex;align-items:center;justify-content:center;border:1px solid #354037;background:#0a100d;color:#86b991;font-size:9px;font-weight:800;letter-spacing:.06em;white-space:nowrap}.online-status[data-kind="pending"]{border-color:#554629;color:#d2ac65;background:#120f09}.online-status[data-kind="error"]{border-color:#663c34;color:#d98272;background:#150b0a}
.online-toast{position:fixed;right:20px;top:82px;z-index:19000;max-width:460px;display:flex;gap:10px;align-items:flex-start;padding:12px 14px;background:#0a0f11;border:1px solid #76572d;box-shadow:0 14px 50px #000;color:#cfc7ba}.online-toast b{color:#e2bb69}.online-toast span{line-height:1.4}
.account-gate{z-index:21000}.account-card{position:relative}.account-close{position:absolute;right:12px;top:12px;width:36px!important;min-width:36px!important;font-size:19px!important}.account-card select{height:40px;background:#070b0d;color:#e3dccf;border:1px solid #423522;padding:0 10px}.account-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.online-status{cursor:pointer!important}

/* 0.49 shared server chat + staff identity */
.server-chat-line{grid-template-columns:62px minmax(150px,220px) minmax(0,1fr)!important;align-items:center}
.server-chat-identity{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap}
.server-chat-identity b{overflow:hidden;text-overflow:ellipsis}
.staff-badge{font:800 8px Arial;letter-spacing:.12em;padding:3px 5px;border:1px solid #70562d;background:#181108;color:#e7bc66;border-radius:3px;flex:0 0 auto}
.staff-icon{display:inline-grid;place-items:center;min-width:20px;font-style:normal;font-size:15px;transform-origin:center}
.staff-name{font-weight:900!important;letter-spacing:.02em}
.server-chat-identity.moderator .staff-badge{border-color:#496985;background:#0a1420;color:#8fc7f3}.server-chat-identity.moderator .staff-name{color:#9bcdf2!important}
.server-chat-identity.dev.forge .staff-icon,.server-chat-identity.admin.forge .staff-icon{animation:devForgeIcon 1.2s ease-in-out infinite alternate}
.server-chat-identity.dev.forge .staff-name,.server-chat-identity.admin.forge .staff-name{color:#ffc35d!important;text-shadow:0 0 6px #ff7b19,0 0 12px #8d3600;animation:devForgeName 2s linear infinite}
.server-chat-identity.dev.arcane .staff-icon,.server-chat-identity.admin.arcane .staff-icon{animation:devArcaneIcon 1.8s ease-in-out infinite}
.server-chat-identity.dev.arcane .staff-name,.server-chat-identity.admin.arcane .staff-name{color:#d8b4ff!important;text-shadow:0 0 6px #8b4bff;animation:devArcaneName 1.8s ease-in-out infinite alternate}
.server-chat-identity.dev.void .staff-icon,.server-chat-identity.admin.void .staff-icon{animation:devVoidIcon 2.2s ease-in-out infinite}
.server-chat-identity.dev.void .staff-name,.server-chat-identity.admin.void .staff-name{color:#d497ff!important;text-shadow:0 0 7px #7a00bd,0 0 14px #31004e;animation:devVoidName 2.2s ease-in-out infinite}
.server-chat-identity.dev.celestial .staff-icon,.server-chat-identity.admin.celestial .staff-icon{animation:devCelestialIcon 1.6s ease-in-out infinite alternate}
.server-chat-identity.dev.celestial .staff-name,.server-chat-identity.admin.celestial .staff-name{color:#fff2a2!important;text-shadow:0 0 7px #6fe6ff,0 0 13px #e2bf4c;animation:devCelestialName 2.6s linear infinite}
.server-chat-identity.admin .staff-badge{border-color:#ad7530;color:#ffd77c;box-shadow:0 0 7px #8a4b1738}
.account-role-line{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid #332b20;background:#080c0e}.account-role-line span{color:#7f7567;font-size:9px;letter-spacing:.08em}.account-role-line b{color:#e2b964}.account-role-line i{font-style:normal;font-size:18px}
@keyframes devForgeIcon{from{transform:scale(.9) rotate(-5deg);filter:brightness(.85)}to{transform:scale(1.13) rotate(5deg);filter:brightness(1.45) drop-shadow(0 0 5px #ff8a22)}}
@keyframes devForgeName{0%,100%{filter:brightness(.9)}50%{filter:brightness(1.35)}}
@keyframes devArcaneIcon{0%,100%{transform:rotate(-8deg) scale(.95)}50%{transform:rotate(8deg) scale(1.13);filter:drop-shadow(0 0 6px #9b55ff)}}
@keyframes devArcaneName{from{filter:brightness(.9)}to{filter:brightness(1.3)}}
@keyframes devVoidIcon{0%,100%{transform:scale(.92);opacity:.82}50%{transform:scale(1.12);opacity:1;filter:drop-shadow(0 0 7px #7d00c7)}}
@keyframes devVoidName{0%,100%{opacity:.86}50%{opacity:1;filter:brightness(1.35)}}
@keyframes devCelestialIcon{from{transform:translateY(1px) scale(.95)}to{transform:translateY(-1px) scale(1.12);filter:drop-shadow(0 0 7px #8cecff)}}
@keyframes devCelestialName{0%{filter:hue-rotate(0deg) brightness(1)}50%{filter:hue-rotate(18deg) brightness(1.3)}100%{filter:hue-rotate(0deg) brightness(1)}}
@media(max-width:1050px){.server-chat-line{grid-template-columns:56px 145px minmax(0,1fr)!important}.staff-badge{font-size:7px}.staff-icon{font-size:13px}}

/* 0.50 server SYSTEM chat */
.server-chat-identity.system .staff-badge{color:#ffd67a;border-color:#806020;text-shadow:0 0 8px rgba(255,190,70,.45)}
.server-chat-line:has(.server-chat-identity.system){background:linear-gradient(90deg,rgba(107,70,12,.16),transparent 70%);border-left:2px solid #9c7027;padding-left:7px}


/* =========================================================
   0.52 HEADER POLISH
   ========================================================= */
.topbar{
  grid-template-columns:minmax(300px,1.05fr) minmax(620px,2.45fr) minmax(185px,auto)!important;
  gap:14px!important;
  padding:8px 12px!important;
  overflow:hidden!important;
}
.brand{gap:13px!important;overflow:visible!important}
.brand-copy{min-width:0}
.brand-copy h1{white-space:nowrap}
.forge-mark{
  position:relative;
  width:54px;
  height:54px;
  flex:0 0 54px;
  display:grid;
  place-items:center;
  filter:drop-shadow(0 0 8px #d18a2b28);
  animation:forgeMarkPulse 3.2s ease-in-out infinite;
}
.forge-mark-frame{
  position:absolute;
  inset:8px;
  border:1px solid #a97a31;
  background:linear-gradient(135deg,#17130d,#080b0c);
  transform:rotate(45deg);
  box-shadow:
    inset 0 0 14px #d28f2a17,
    0 0 12px #9b652126;
}
.forge-mark-frame:before,
.forge-mark-frame:after{
  content:"";
  position:absolute;
  inset:5px;
  border:1px solid #5b4727;
}
.forge-mark-frame:after{
  inset:10px;
  border-color:#2d281f;
}
.forge-mark-core{
  position:relative;
  z-index:3;
  font:800 20px Georgia,serif;
  color:#f0c76b;
  text-shadow:0 0 7px #d6932f80;
}
.forge-mark-orbit{
  position:absolute;
  z-index:5;
  left:22px;
  top:-1px;
  width:12px;
  height:12px;
  display:grid;
  place-items:center;
  font:900 8px Georgia,serif;
  color:#ffd986;
  text-shadow:0 0 5px #ffb23d,0 0 10px #a76013;
  offset-path:path("M 27 2 L 52 27 L 27 52 L 2 27 Z");
  offset-distance:0%;
  offset-rotate:0deg;
  animation:forgeOrbit 5.2s linear infinite,forgeOrbitPulse 1.3s ease-in-out infinite alternate;
}
.forge-mark-glow{
  position:absolute;
  inset:2px;
  border-radius:50%;
  background:radial-gradient(circle,#d58e2d1a 0,transparent 66%);
  animation:forgeGlow 2.4s ease-in-out infinite;
  pointer-events:none;
}
.topstats{
  grid-template-columns:minmax(150px,1.25fr) repeat(4,minmax(95px,1fr))!important;
  min-width:0!important;
}
.topstats>*{min-width:0!important}
.topstats b{
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
.top-actions{
  display:grid;
  grid-template-columns:minmax(118px,1fr) 54px;
  gap:6px;
  align-items:center;
  min-width:0;
}
.top-actions .online-status{
  width:100%!important;
  min-width:0!important;
  height:38px!important;
  padding:0 10px 0 25px!important;
  overflow:hidden;
  text-overflow:ellipsis;
  justify-content:flex-start!important;
  position:relative;
  border-radius:5px!important;
  background:linear-gradient(180deg,#0c1511,#08100c)!important;
}
.top-actions .online-status:before{
  content:"";
  position:absolute;
  left:10px;
  top:50%;
  width:7px;
  height:7px;
  margin-top:-4px;
  border-radius:50%;
  background:#75c98a;
  box-shadow:0 0 7px #75c98a80;
}
.top-actions .online-status[data-kind="pending"]:before{
  background:#d1a252;
  box-shadow:0 0 7px #d1a25270;
}
.top-actions .online-status[data-kind="error"]:before{
  background:#d86f62;
  box-shadow:0 0 7px #d86f6270;
}
.top-actions .scale{
  width:54px!important;
  min-width:54px!important;
  height:38px!important;
  padding:0!important;
  font-size:9px!important;
}
@keyframes forgeOrbit{
  from{offset-distance:0%}
  to{offset-distance:100%}
}
@keyframes forgeOrbitPulse{
  from{transform:scale(.82);opacity:.70}
  to{transform:scale(1.16);opacity:1}
}
@keyframes forgeMarkPulse{
  0%,100%{filter:drop-shadow(0 0 5px #d18a2b22)}
  50%{filter:drop-shadow(0 0 12px #d18a2b46)}
}
@keyframes forgeGlow{
  0%,100%{opacity:.35;transform:scale(.88)}
  50%{opacity:.8;transform:scale(1.08)}
}
@media(max-width:1320px){
  .topbar{grid-template-columns:270px minmax(510px,1fr) 165px!important}
  .topstats{grid-template-columns:minmax(135px,1.1fr) repeat(4,minmax(78px,1fr))!important}
  .topstats div{padding-left:9px!important;padding-right:9px!important}
  .lottery-hud{min-width:135px!important;padding-left:8px!important;padding-right:8px!important}
}
@media(max-width:1120px){
  .topbar{grid-template-columns:235px minmax(430px,1fr) 148px!important;gap:8px!important}
  .forge-mark{width:46px;height:46px;flex-basis:46px}
  .forge-mark-orbit{offset-path:path("M 23 2 L 44 23 L 23 44 L 2 23 Z")}
  .brand-copy h1{font-size:19px!important}
  .brand-copy small{font-size:7px!important}
  .topstats>div:nth-last-child(1){display:none!important}
  .topstats{grid-template-columns:minmax(120px,1.1fr) repeat(3,minmax(75px,1fr))!important}
}
@media(prefers-reduced-motion:reduce){
  .forge-mark,.forge-mark-orbit,.forge-mark-glow{animation:none!important}
}
