/* Aged iron frames, carved stone and gilded type shared by every game window. */
:root{--bg:#0b0c0d;--panel:#171716;--panel2:#22211d;--border:#5b5140;--text:#e7dec7;--muted:#aaa18d;--orange:#e4bd6c;--green:#1eff00;--font:"Microsoft YaHei UI","Microsoft YaHei",sans-serif;--heading:"Noto Serif SC","Songti SC",SimSun,serif}
body{background:radial-gradient(ellipse at 50% -15%,#61412855,transparent 55%),repeating-linear-gradient(118deg,#ffffff02 0 1px,transparent 1px 6px),#0b0c0d;font-size:14px}
button{border-radius:2px;border-color:#706047;background:linear-gradient(#34332e,#201f1b);box-shadow:inset 0 1px #b19b6644,inset 0 -2px #0008;color:#e4d2a3;text-shadow:0 1px 2px #000}
button:hover{background:linear-gradient(#494236,#30271d);border-color:#c5a866}
button:active:not(:disabled){box-shadow:inset 0 2px 5px #000a;transform:translateY(1px)}
button:disabled{opacity:.45}select,input{border-radius:2px;border-color:#695b40;background:#111314;color:#eadcbb;font-size:14px;box-shadow:inset 0 1px 5px #000}
.shell{max-width:1680px;padding:0 28px}.topbar{height:72px;border-bottom:1px solid #726044;box-shadow:0 1px #080808;position:relative}.topbar:after{content:"";position:absolute;bottom:-3px;left:0;right:0;border-bottom:1px solid #5b4a2c55}
.brand{font-family:var(--heading);font-size:24px;letter-spacing:4px;color:#e7c879;text-shadow:0 2px #000,0 0 20px #b2783f44}.brand small{font-family:Georgia,serif;letter-spacing:3px;font-size:10px;color:#a69676}
.brand-mark{width:44px;height:44px;transform:rotate(0);border:2px ridge #af8c4f;outline:1px solid #171413;background:radial-gradient(#643627,#271817);box-shadow:inset 0 0 10px #000,0 2px 5px #000b;color:#f0c467;font-size:28px}
.top-right{gap:10px}.quiet{box-shadow:none;color:#c1b292}.top-right .quiet{font-size:13px;border:1px solid #4a4232;background:#181915}.connection{font-size:12px;color:#a4c889}.connection:before,.live-dot{background:#95c764;box-shadow:0 0 5px #95c76455}
.dungeon-heading{padding:23px 2px 17px}.eyebrow{font-size:12px;color:#95846a;letter-spacing:2px}h1{font-family:var(--heading);color:#e8c783;font-size:30px;letter-spacing:4px;text-shadow:0 2px #000}h1 span{font-family:Georgia,serif;color:#877d65;font-size:11px;letter-spacing:2px}.heading-meta{color:#b3aa96;font-size:12px}.heading-meta b{color:#e4ca90;border-color:#645639}
.battle{aspect-ratio:1440/340;border:3px ridge #837355;border-radius:3px 3px 0 0;box-shadow:0 0 0 1px #090909,0 0 0 3px #302c24,0 10px 35px #0008}
.battle:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 28px #0009;border:1px solid #d4b07633}.battle-top{padding:15px 20px}.battle-bottom{padding:10px 20px;color:#c7b58f;font-size:12px}.battle-bottom>span:first-child{max-width:76%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.encounter-title{color:#f2d393;font-family:var(--heading);font-size:18px}.encounter-title small{font-family:var(--font);color:#bcaf94;font-size:12px}.battle-button{background:linear-gradient(#73352a,#3c1916);border:1px solid #a67a45;box-shadow:inset 0 0 0 1px #290e0b,inset 0 2px #a5774a55;color:#f7df9f;padding:7px 20px}
.route{background:linear-gradient(#282723,#181a1a);border:2px ridge #736346;border-top:0;border-radius:0 0 3px 3px;padding:13px 20px;box-shadow:0 3px 8px #0005}.route-step{font-size:12px;color:#918977}.route-step:after{background:#716047;width:24px;margin-left:10px}.route-step i{border-color:#756344;background:#171917;border-radius:2px;color:#b1a383}.route-step.current{color:#f4d587}.route-step.current i{background:linear-gradient(#897040,#554325);border-color:#edcb72;box-shadow:0 0 10px #b18a2c44}.route-step.done{color:#86a26d}
.party{gap:13px;margin:20px 0}.hero-card{display:grid;grid-template-columns:62px minmax(0,1fr);gap:5px 12px;padding:11px 13px;border:2px ridge #6f6653;border-radius:3px;background:linear-gradient(115deg,#2a2b29,#141715);box-shadow:inset 0 0 0 1px #070807,0 3px 8px #0006;isolation:isolate}.hero-card.selected{border-color:#c7a462;box-shadow:inset 0 0 16px #b0893620,0 0 0 1px #ac84443b}.hero-card.selected:after{content:"";position:absolute;bottom:-6px;left:calc(50% - 5px);width:8px;height:8px;border-right:1px solid #ccac65;border-bottom:1px solid #ccac65;background:#403a29;transform:rotate(45deg)}
.unit-portrait{grid-column:1;grid-row:1/5;position:relative;width:62px;height:62px;border:2px ridge #bca16b;border-radius:50%;background:radial-gradient(#50412f,#141614);box-shadow:0 0 0 2px #151614,0 2px 8px #000;align-self:center}.unit-portrait>span{position:absolute;inset:0;border-radius:50%;overflow:hidden}.unit-portrait img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;transform:none;image-rendering:pixelated}.unit-level{position:absolute;right:-4px;bottom:-5px;border:1px solid #ad8e4d;background:#181914;border-radius:50%;font:bold 12px Georgia,serif;width:23px;height:23px;display:grid;place-items:center;color:#f7d780}
.hero-head{grid-column:2;margin:0;min-height:19px;gap:8px}.hero-name{font-size:15px;color:var(--class);font-weight:600;white-space:nowrap}.hero-name span{display:none}.hero-role{font-size:11px;color:#bcb39d;font-weight:400}.hero-card .bar{grid-column:2;position:relative;height:13px;border:1px solid #040704;border-radius:1px;background:#111811;box-shadow:0 0 0 1px #a3986140}.hero-card .bar i{background:linear-gradient(#4f9d31,#2b671d 55%,#1b4214);box-shadow:inset 0 1px #beffa144}.hero-card .bar span{position:absolute;inset:0;text-align:center;line-height:11px;font-size:10px;color:#fff6dc;text-shadow:1px 1px #000;letter-spacing:.3px}.hero-card .bar.resource{height:9px;margin:0;background:#0b1222}.hero-card .bar.resource i{background:var(--resource);box-shadow:inset 0 1px #ffffff66,inset 0 -3px #0004}.hero-details{grid-column:2;margin:0;font-size:11px;line-height:1.3;color:#a99a7d;justify-content:space-between;gap:4px;white-space:nowrap}.hero-details b{font-size:10px;color:#b9ab8d;font-weight:400}
.workspace{grid-template-columns:minmax(0,1fr) 285px;gap:18px;align-items:start}.main-panel,.side-panel{border:3px ridge #736b59;border-radius:3px;box-shadow:0 0 0 1px #090a08,0 7px 20px #0006;background:linear-gradient(130deg,#ffffff02,transparent 35%),#151716}.main-panel{min-width:0}.tabs{gap:0;padding:7px 9px 0;min-height:52px;background:linear-gradient(#33322d,#252621);border-bottom:2px solid #0a0c0b;overflow-x:auto}.tabs button{flex:1;padding:10px 12px 9px;font-size:14px;font-family:var(--heading);color:#b7ab90;border:1px solid #504a38;border-bottom:0;border-radius:4px 4px 0 0;background:linear-gradient(#302f28,#1b1e1b);box-shadow:inset 0 1px #c5b68522;white-space:nowrap;margin-right:3px}.tabs button[aria-selected=true]{border-color:#9b844f;color:#f5d67d;background:linear-gradient(#55472c,#29261d);box-shadow:inset 0 2px #c4a25755;text-shadow:0 0 7px #e0aa4344}.tabs button span{background:#12170f;color:#c4dca6;border:1px solid #4e533a;border-radius:2px;font-family:var(--font);font-size:10px}
.panel-body{padding:22px}.panel-body h2,.section-title,.equipment-heading h2,.inventory-heading h2{font-family:var(--heading);color:#e5c788}.subtle{color:#a89f8a;font-size:12px}.equipment-heading{border-bottom:1px solid #554b36;padding-bottom:15px}.equipment-heading h2 small{font-family:var(--font);color:#bcae93;font-size:13px}.equipment-body{padding:20px 18px}.gear-and-bag{gap:20px}.paperdoll{border:2px ridge #75674b;background:radial-gradient(ellipse at 50% 40%,#63503a66,#0e1312 65%);border-radius:2px;box-shadow:inset 0 0 20px #0007;padding:12px;gap:8px}.paper-slot{background:linear-gradient(100deg,#252720,#161915);border:1px solid #555241;border-radius:1px;box-shadow:inset 0 1px #c3ab6233;min-height:47px}.paper-slot-icon{border:2px ridge #ad9b64;flex-basis:42px;height:42px;width:42px;box-shadow:inset 0 0 3px #000}.paper-slot span{overflow:hidden}.paper-slot small{font-size:11px;color:#a89d82}.paper-slot b{font-size:12px;color:#d2cab0}.paper-slot.vacant{background:#151a17}.paper-slot.vacant b{color:#6b7264}.paper-slot.vacant .paper-slot-icon{border-color:#6c6754}.paper-slot.vacant img{opacity:.2}.paper-slot.chosen,.paper-slot.drag-over{border-color:#e3c76f;box-shadow:0 0 8px #ceb25344}.paper-right .paper-slot{text-align:right}.paper-slot.uncommon b{color:#1eff00}.paper-slot.uncommon .paper-slot-icon{border-color:#77a056}.character-title{font-family:var(--heading);color:#f1d497;font-size:22px;text-shadow:0 2px #000}.character-title small{font-family:var(--font);color:#9c926e;font-size:12px}.paper-portrait{filter:drop-shadow(0 8px 12px #000);height:232px}.paper-attributes{border-top:1px solid #635336}.paper-attributes>div{font-size:13px;color:#aba284;background:#0002;margin-bottom:2px;padding:4px 6px}.paper-attributes b{color:#e5d4a1}.paper-weapons{border-color:#5d553e}.gear-bag h3{font-family:var(--heading);font-size:16px;color:#e2c68a}.gear-bag h3 span{font-family:var(--font);font-size:12px;color:#968f7d}
.inventory-grid{background:repeating-linear-gradient(45deg,#ffffff02 0 1px,transparent 1px 5px),#101411;border:2px ridge #655d47;border-radius:2px;gap:7px;padding:12px;box-shadow:inset 0 0 14px #0008}.bag-cell{border:2px ridge #8c805e;border-radius:2px;background:#24251e;padding:2px;box-shadow:inset 0 0 6px #000}.bag-cell.empty-cell{border-color:#474a3b;background:linear-gradient(135deg,#0b100f,#1f231d)}.bag-cell.uncommon{border-color:#6e9f51}.bag-cell.chosen{border:2px solid #ffe09b;box-shadow:0 0 8px #b49d5670}.bag-footer{font-size:12px;color:#a39a7f}.inventory-filters button{border-color:#676047;background:linear-gradient(#33332b,#1e221c);color:#b8af98;border-radius:2px;font-size:13px}.inventory-filters button.active{border-color:#bba063;background:linear-gradient(#635035,#30281b);color:#ffe09e}.coin-purse{border:1px solid #7b6947;background:linear-gradient(#30291c,#191b16);color:#e6c463;border-radius:2px;font-size:14px}
.item-inspector{border:2px ridge #a49774;background:#090c16f5;box-shadow:0 3px 15px #0008;border-radius:3px;color:#eee8d4;padding:16px;min-height:170px}.tooltip-head img{border:2px ridge #baa572;border-radius:2px}.tooltip-head h3{font-size:15px;color:#f1eedf}.tooltip-type{color:#d0cbb8}.tooltip-stat{color:#ededdd;font-size:13px}.tooltip-muted{color:#abac9b!important;font-size:12px!important}.tooltip-divider{border-color:#4b4c47}.tooltip-socket{border-color:#486743;background:#172718;color:#d3e7b0}.item-effect{color:#1eff00}.uncommon{color:#1eff00!important}.comparison .positive{color:#1eff00}.comparison .negative{color:#ff6b61}.empty-inspector{border-color:#5b5c48;background:#111610;color:#8f9684;box-shadow:inset 0 0 20px #0003}.empty-inspector h3{color:#c2b995}.equipped-label{color:#cab269}.item-inspector .small{margin-top:4px}.tooltip-head small{color:#a8a590}
.primary{background:linear-gradient(#883a29,#561e17 55%,#3b160f);border:2px ridge #b19b60;color:#ffe3a1;border-radius:2px;box-shadow:inset 0 1px #ca886044,inset 0 -2px #210b05,0 2px 4px #0007;padding:9px 22px;font-family:var(--heading);font-size:16px}.primary:hover{background:linear-gradient(#a64933,#6b261b);border-color:#e6c677}.primary:disabled{opacity:.45}.small{font-family:var(--font);font-size:12px;padding:7px 11px}
.side-panel{position:sticky;top:18px;background:linear-gradient(#252720,#141813 140px)}.stat-strip{padding:18px 6px;border-bottom:1px solid #62563a;box-shadow:0 1px #0a0f0b}.stat-cell{border-right:1px solid #64563666}.stat-cell:last-child{border:0}.stat-cell b{font:bold 24px Georgia,serif;color:#e4ca87;text-shadow:0 2px #000}.stat-cell span{font-size:12px;color:#9d997e}.log-heading{padding:16px 13px 9px}.log-heading h2{font-family:var(--heading);color:#ccb678;font-size:15px}.log-heading select{font-size:12px;color:#a0a08d;max-width:102px}#combat-log{height:570px;padding:0 14px 14px;scrollbar-color:#746541 #151814}.log-entry{font-size:12px;border-color:#45483855;color:#aaa893;padding:7px 0}.log-entry time{color:#747d67;font-size:10px}.log-entry.loot{color:#93db75}.log-entry.boss,.log-entry.warning,.log-entry.death{color:#e49b75}.log-entry.run{color:#ebcc82}.log-entry.level{color:#fff077}.log-entry.heal{color:#7bcf92}.log-entry.proc{color:#b5a1db}
.material{border-color:#615e44;background:#1b2018;border-radius:2px;color:#c0bfa5}.material b{color:#efd284}.section-title{font-size:17px;color:#dfc68f;border-bottom:1px solid #594e36;padding-bottom:9px;margin-top:25px}.recipe{border:2px ridge #645d45;background:linear-gradient(130deg,#33302655,#151b15);border-radius:2px;padding:17px}.recipe h3{font-size:15px}.recipe p{color:#b8b298;line-height:1.9;font-size:13px}.recipe small{color:#938964;font-size:12px}.recipe button{margin-top:3px}.inline-item-icon{border:2px ridge #968253;border-radius:1px;width:30px;height:30px}.gem{border:2px ridge #555e4a;border-radius:2px;background:radial-gradient(at 10% 0,#31443255,#141a14);padding:15px}.gem h3{font-size:14px}.gem p{font-size:12px;line-height:1.8;color:#b7b39d}.socket-row{padding:12px;background:#101810;border:1px solid #3f5038;margin-top:8px;font-size:13px}.socket-row>.subtle{font-size:12px}
.boss-card{position:relative;border:2px ridge #7b6345;border-radius:2px;background:radial-gradient(ellipse at 30% 15%,#59322466,#181a17 70%);overflow:hidden;padding:18px}.boss-portrait{height:128px;width:100%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 8px 8px #000);margin:4px 0 14px}.boss-card h3{font-family:var(--heading);font-size:19px;color:#e3c88c}.boss-card p{font-size:13px;color:#b2a58c;min-height:46px}.boss-drop{display:flex;gap:8px;align-items:center;border-top:1px solid #57473288;padding:9px 0 0;font-size:12px;color:#1eff00}.boss-drop img{width:30px;height:30px;border:2px ridge #969060;image-rendering:pixelated}.boss-drop span{margin-left:auto;float:none;white-space:nowrap;color:#aaa087;font-size:11px}.monster-note{font-size:13px;border-color:#474937}.monster-note b{color:#ddc690}.monster-note img{width:45px;height:45px;object-fit:contain;image-rendering:pixelated}
dialog{border:3px ridge #a18b55;border-radius:3px;background:linear-gradient(#25251e,#111712);box-shadow:0 15px 80px #000d;color:#e4d4ac}dialog h2{font-family:var(--heading);color:#edd08c}dialog p{color:#bdb8a0;font-size:14px;line-height:1.9}.dialog-close{color:#dfc376}.dialog-close:hover{background:#72291f}#toast{background:linear-gradient(#353226,#202218);border:2px ridge #b59a5b;border-radius:3px;color:#f5dda2;font-size:14px;box-shadow:0 5px 25px #000b}footer{font-size:12px;color:#787c6d;padding-top:20px}

/* Classic talent windows: original tree artwork and framed, ranked spell icons. */
.talent-page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.talent-character{display:flex;align-items:center;gap:13px}.character-medallion{flex-shrink:0;width:57px;height:57px;border:2px ridge #af975e;border-radius:50%;background:radial-gradient(#5e482c,#141a14);overflow:hidden;box-shadow:0 0 0 2px #0c100d}.character-medallion img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;transform:none;image-rendering:pixelated}.window-eyebrow{color:#a09679;font-size:12px;letter-spacing:2px}.talent-character h2{margin:5px 0 0;font-family:var(--heading);font-size:24px;font-weight:600}.talent-character h2 small{font-family:var(--font);font-size:13px;color:#b6ae92;margin-left:12px;font-weight:400}.talent-points{display:flex;align-items:center;gap:8px;padding:7px 14px;border:2px ridge #8f7c50;background:#141912;box-shadow:inset 0 0 8px #0008}.talent-points>span{color:#c1b894;font-size:12px;max-width:48px;line-height:1.5}.talent-points>strong{font:bold 32px Georgia,serif;color:#ad9d71;text-shadow:0 2px #000}.talent-points>strong.points-available{color:#ffdf71}.talent-points>small{font-size:13px;color:#91876a;align-self:end;padding-bottom:4px}.talent-toolbar{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #655b3d;border-bottom:1px solid #514a36;color:#ada58d;font-size:12px;margin-bottom:15px}.talent-toolbar>span+span{color:#777e6c}.talent-toolbar button{margin-left:auto;font-size:12px;padding:4px 10px;border:1px solid #6b5e43;background:#25251d}.talent-scroll{overflow-x:auto;scrollbar-color:#8a7646 #151912;padding:1px 1px 8px}.classic-trees{display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));gap:10px}
.classic-tree{min-width:0;border:2px ridge #8d7b51;background:#10130e;box-shadow:0 2px 5px #0008;position:relative}.tree-heading{display:flex;align-items:center;gap:9px;padding:10px 11px;background:linear-gradient(#33372b,#1b2118);border-bottom:2px ridge #8c774e;min-height:59px}.tree-heading img{width:28px;height:28px;image-rendering:pixelated;filter:drop-shadow(0 2px 1px #000)}.tree-heading h3{font-family:var(--heading);font-size:19px;font-weight:600;color:#dfc685;margin:0 0 2px;text-shadow:0 2px #000;letter-spacing:2px}.tree-heading small{font-size:11px;color:#a0a288}.tree-heading>b{margin-left:auto;font:bold 25px Georgia,serif;color:#b0a071;text-shadow:0 1px #000}.tree-invested .tree-heading>b{color:#ffe179}.tree-map{height:326px;position:relative;background-image:linear-gradient(#0206022b,#06100645 60%,#070e0ade),var(--tree-art);background-size:100% 100%,100% auto;background-position:top center;overflow:hidden;isolation:isolate}.tree-map:after{content:"";position:absolute;inset:0;z-index:-1;box-shadow:inset 0 0 20px #000a;pointer-events:none}.classic-node{position:absolute;left:calc(12.5% + var(--column)*25%);top:calc(22px + var(--tier)*137px);width:49px;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;z-index:2}.talent-icon{position:relative;width:44px;height:44px;border:3px ridge #778963;border-radius:3px;padding:0;background:#0e170d;box-shadow:0 0 0 1px #060805,0 2px 7px #000d;cursor:pointer}.talent-icon img{width:100%;height:100%;display:block;image-rendering:pixelated;pointer-events:none}.talent-icon:hover{border-color:#f5d78a;background:#172111;box-shadow:0 0 0 1px #272512,0 0 12px #ffe27788}.talent-icon:active:not(:disabled){transform:none}.talent-rank{position:absolute;right:-7px;bottom:-8px;padding:0 3px;border:1px solid #698a47;border-radius:2px;background:#020602;color:#a5ef68;font:bold 12px/16px Arial,sans-serif;min-width:28px;box-shadow:0 1px 3px #000;text-align:center}.node-maxed .talent-icon{border-color:#d1b851}.node-maxed .talent-rank{color:#ffe577;border-color:#b4a255}.node-learned .talent-icon{border-color:#73ac51}.node-available .talent-icon img{filter:grayscale(.6);opacity:.7}.node-available.can-learn .talent-icon img{filter:none;opacity:1}.node-locked .talent-icon{border-color:#4b5145;box-shadow:0 0 0 1px #070b07,0 2px 5px #000}.node-locked .talent-icon img{filter:grayscale(1) brightness(.45)}.node-locked .talent-rank{color:#858776;border-color:#535640}.talent-lock{position:absolute;left:14px;top:16px;width:11px;height:9px;background:#b7aa7c;border:1px solid #332f20;box-shadow:0 1px 3px #000}.talent-lock:before{content:"";position:absolute;left:1px;top:-7px;width:5px;height:6px;border:2px solid #b7aa7c;border-bottom:0;border-radius:5px 5px 0 0}.talent-caption{font-size:11px;text-align:center;color:#d3d6bd;line-height:1.5;max-width:72px;width:calc(100% + 6px);text-shadow:1px 1px 2px #000,-1px -1px 2px #000;margin-top:13px;overflow-wrap:anywhere}.node-locked .talent-caption{color:#818c76}.talent-refund{position:absolute;top:34px;left:-5px;width:20px;height:19px;padding:0;background:#0b1009;border:1px solid #a38e51;color:#e1ce8e;font:bold 15px/15px Arial;border-radius:2px;z-index:3}.talent-refund:disabled{opacity:0;pointer-events:none}.tier-number{position:absolute;left:5px;color:#cab88b33;font:18px Georgia,serif;z-index:0}.tier-first{top:30px}.tier-second{top:168px}.tier-link{position:absolute;top:112px;left:14%;right:14%;height:27px;display:flex;align-items:center;gap:6px;color:#748363}.tier-link i{height:1px;background:#81996766;flex:1;box-shadow:0 1px #000}.tier-link span{height:22px;width:22px;border:1px solid #75886088;background:#13220caa;display:grid;place-items:center;transform:rotate(45deg);font:bold 11px Georgia,serif;color:#a3b785}.tier-link:after{content:"";position:absolute;left:50%;top:28px;width:0;height:17px;border-left:1px solid #718a55;opacity:.6}.tier-link.unlocked i{background:#c9b754}.tier-link.unlocked span{border-color:#dbc968;color:#ffe390;background:#3b4513;box-shadow:0 0 9px #c8c44555}.tier-link.unlocked:after{border-color:#d2c361}.tree-scope{position:absolute;bottom:8px;width:100%;text-align:center;color:#b5b88b88;font-size:11px;letter-spacing:1px}.tree-footer{margin:0;padding:8px 12px;background:linear-gradient(#283121,#161e12);border-top:2px ridge #7b7649;text-align:center;font-size:12px;color:#a7b090}.tree-footer strong{font:bold 18px Georgia,serif;color:#ebd47d;margin:0 7px}.unavailable-tree{position:absolute;inset:20px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#bbb194;text-shadow:0 2px 5px #000}.unavailable-tree>span{font-size:32px;color:#bbaa6e;margin-bottom:14px}.unavailable-tree b{font-family:var(--heading);font-size:18px;font-weight:400;letter-spacing:3px}.unavailable-tree p{font-size:12px;color:#959c84}.tree-unavailable .tree-map{background-image:linear-gradient(#07100c88,#07100c77),var(--tree-art)}
.talent-build-footer{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-top:16px}.rotation-control{display:grid;grid-template-columns:auto auto;gap:8px 12px;align-items:center;max-width:75%}.rotation-control>label{font-size:13px;color:#dac799}.rotation-control select{font-size:13px;min-width:133px}.rotation-control p{grid-column:1/-1;font-size:12px;line-height:1.7;color:#969e84;margin:0;max-width:450px}.talent-commit{display:flex;flex-direction:column;gap:8px;align-items:end;flex-shrink:0}.talent-commit>span{font-size:12px}.unsaved-build{color:#eaca70}.saved-build{color:#90ac73}.talent-commit .primary{min-width:130px}.talent-tooltip{position:fixed;z-index:150;pointer-events:none;width:285px;max-width:calc(100vw - 20px);padding:13px 15px;border:2px ridge #b3aa88;border-radius:4px;background:#080c1aee;box-shadow:0 5px 20px #000c;color:#f4edda;line-height:1.7;font-size:13px}.talent-tooltip[hidden]{display:none}.talent-tip-heading{display:flex;gap:10px;align-items:center}.talent-tip-heading img{width:35px;height:35px;image-rendering:pixelated;border:1px solid #8d8e6b}.talent-tip-heading strong{color:#ffdc75;font-size:15px;font-weight:500}.talent-tip-heading small{display:block;color:#c4c8b9;font-size:12px}.talent-tooltip p{margin:10px 0 0;font-size:13px}.talent-tooltip .requirement-locked{color:#f37b6d;font-size:12px}.talent-tooltip .requirement-met{color:#94c778;font-size:12px}.talent-tip-status{margin-top:12px;padding-top:8px;border-top:1px solid #5b614544;font-size:12px;color:#b4c57c}.talent-tip-status span{display:block;color:#acb2a2}

/* Experience lives beside the party so gains stay visible without opening a panel. */
.experience-strip{display:flex;align-items:center;gap:15px;padding:10px 13px;margin:-5px 0 19px;border:2px ridge #675f51;background:linear-gradient(#1e2126,#10141a);box-shadow:inset 0 0 8px #0006;font-size:12px}.experience-level{white-space:nowrap;color:#d4bc80}.experience-level b{font:bold 18px Georgia,serif;color:#f3da8e;margin-right:4px}.experience-track{position:relative;flex:1;height:15px;border:1px solid #7a7182;background:#070914;box-shadow:inset 0 1px 4px #000;min-width:60px;overflow:hidden}.experience-fill{height:100%;background:linear-gradient(#7797e1,#51549c 55%,#292655);box-shadow:inset 0 1px #c4d8ff88,0 0 9px #8e86de;transition:width .6s}.experience-track:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(10% - 1px),#11152b88 calc(10% - 1px),#11152b88 10%);pointer-events:none}.experience-track>span{position:absolute;inset:0;text-align:center;font:10px/13px Arial,sans-serif;color:#e6eaff;text-shadow:1px 1px #000;z-index:1}.experience-caption{color:#a5abc0;font-size:11px;white-space:nowrap}.xp-gain{color:#a9b4f4}
@media(min-width:1600px){.shell{max-width:1680px}.battle{aspect-ratio:1440/330}.gear-and-bag{grid-template-columns:minmax(490px,1.3fr) minmax(280px,1fr)}.classic-trees{gap:16px}.tree-map{height:345px}.talent-caption{font-size:12px}.classic-node{top:calc(27px + var(--tier)*140px)}}
@media(max-width:1250px){.workspace{grid-template-columns:minmax(0,1fr) 240px;gap:13px}.panel-body{padding:17px}.hero-card{grid-template-columns:50px minmax(0,1fr);gap:4px 8px;padding:10px}.unit-portrait{width:49px;height:49px}.hero-name{font-size:14px}.hero-role{display:none}.tree-heading{padding:9px 8px;gap:6px}.tree-heading h3{font-size:17px}.tree-heading img{width:24px;height:24px}.talent-character h2{font-size:21px}.gear-and-bag{grid-template-columns:1fr}.log-heading{padding-left:9px;padding-right:7px}.log-heading h2{font-size:14px}.tabs button{padding-left:9px;padding-right:9px;font-size:13px}}
@media(max-width:1000px){.shell{padding:0 18px}.workspace{grid-template-columns:minmax(0,1fr)}.side-panel{position:static;display:none}.hero-card{grid-template-columns:47px minmax(0,1fr);padding:10px 8px}.unit-portrait{width:45px;height:45px}.party{gap:9px}.hero-details{font-size:10px}.route-step:after{width:14px;margin-left:0}.gear-and-bag{grid-template-columns:minmax(410px,1.25fr) minmax(240px,.8fr)}.gear-bag{display:block}.paperdoll{grid-template-columns:1fr 1.1fr 1fr}.classic-trees{grid-template-columns:repeat(3,minmax(210px,1fr))}.tree-map{height:310px}.talent-caption{font-size:12px}.talent-page-heading{margin-bottom:12px}.battle{aspect-ratio:1440/390}}
@media(max-width:760px){.shell{padding:0 12px}.topbar{height:67px}.brand{font-size:20px;gap:9px}.brand small{font-size:8px;letter-spacing:2px}.brand-mark{width:37px;height:37px;font-size:24px}.top-right .connection{font-size:0}.top-right{gap:5px}.top-right .quiet{font-size:11px;padding:6px}.dungeon-heading{padding:20px 0 14px}.eyebrow{font-size:11px}h1{font-size:26px}h1 span{display:none}.heading-meta>span{display:none}.heading-meta b{font-size:12px;padding-left:0;border:0}.battle{aspect-ratio:1440/470}.battle-top{padding:10px}.battle-bottom{padding:9px 11px;font-size:10px}.battle-bottom>span:first-child{max-width:100%}.battle-bottom>span:last-child{display:none}.encounter-title{font-size:15px}.encounter-title small{display:none}.battle-button{padding:5px 12px;font-size:11px}.route{padding:12px 14px}.route-step span{display:none}.route-step.current span{display:inline}.party{grid-template-columns:repeat(2,1fr);margin:16px 0;gap:10px}.hero-card{grid-template-columns:49px minmax(0,1fr);gap:4px 11px;padding:10px 12px}.hero-name{font-size:15px}.hero-role{display:block;font-size:11px}.unit-portrait{width:48px;height:48px}.hero-details{font-size:11px}.hero-card.selected:after{display:none}.experience-strip{gap:9px;padding:8px;margin:0 0 16px}.experience-caption{display:none}.experience-level{font-size:11px}.experience-level b{font-size:16px}.tabs{padding:5px 5px 0}.tabs button{flex:none;padding:11px 13px;font-size:13px}.panel-body{padding:16px 12px}.gear-and-bag{grid-template-columns:1fr}.gear-bag{display:grid;grid-template-columns:1fr 1fr;column-gap:12px}.gear-bag h3{grid-column:1/-1}.gear-bag .inventory-grid{grid-column:1;grid-row:2}.gear-bag .bag-footer{grid-column:1;grid-row:3}.gear-bag .item-inspector{grid-column:2;grid-row:2/4}.talent-character{gap:8px}.character-medallion{width:45px;height:45px}.talent-character h2{font-size:20px}.talent-character h2 small{display:block;margin:3px 0 0;font-size:12px}.window-eyebrow{font-size:10px}.talent-points{gap:6px;padding:5px 8px}.talent-points>strong{font-size:26px}.talent-points>span{font-size:11px}.talent-toolbar{gap:6px;font-size:11px}.talent-toolbar>span+span{display:none}.talent-toolbar button{font-size:11px}.classic-trees{grid-template-columns:repeat(3,minmax(235px,1fr));gap:10px}.talent-scroll{scroll-snap-type:x proximity}.classic-tree{scroll-snap-align:start}.talent-build-footer{align-items:start;gap:13px}.rotation-control{grid-template-columns:1fr;gap:6px;max-width:60%}.rotation-control p{font-size:11px}.rotation-control select{min-width:0;width:100%}.talent-commit>span{font-size:10px}.talent-commit .primary{font-size:14px;min-width:110px;padding:9px 12px}.talent-tooltip{font-size:12px}.inventory-heading label{font-size:12px}.inventory-layout{grid-template-columns:1fr}}
@media(max-width:450px){.brand small{font-size:7px}.top-right .quiet{font-size:10px;padding:5px}.top-right{gap:3px}.brand{font-size:18px;letter-spacing:2px}.hero-card{grid-template-columns:40px minmax(0,1fr);gap:4px 8px;padding:9px 7px}.unit-portrait{width:40px;height:40px}.unit-level{width:19px;height:19px;font-size:10px}.hero-role{display:none}.hero-name{font-size:14px}.hero-details{font-size:10px}.hero-card .bar span{font-size:9px}.battle{aspect-ratio:1440/520}.paperdoll{padding:7px;grid-template-columns:minmax(85px,1fr) minmax(78px,1fr) minmax(85px,1fr);gap:4px}.paper-slot-icon{flex-basis:31px;width:31px;height:31px}.paper-slot{min-height:43px;gap:4px}.paper-slot small{font-size:9px}.paper-slot b{font-size:10px}.paper-column{gap:5px}.paper-portrait{height:185px}.paper-attributes>div{font-size:11px;padding:4px}.character-title{font-size:18px}.gear-bag{display:block}.gear-bag .item-inspector{margin-top:12px}.equipment-heading{align-items:start;gap:8px}.equipment-heading h2{font-size:19px}.equipment-heading h2 small{display:block;margin-left:0;margin-top:4px}.equipment-heading .quiet{font-size:11px;max-width:115px}.item-inspector{padding:14px}.bag-cell span{font-size:10px}.recipe-grid,.journal-grid,.gems{grid-template-columns:1fr}.gem{display:block}.monster-note{align-items:center;gap:8px}.monster-note b{min-width:85px;font-size:12px}.monster-note>span{font-size:12px}.monster-note img{display:none}}
.mini .experience-strip{display:none}.mini .topbar{height:62px}.mini .battle{aspect-ratio:1440/330}
@media(prefers-reduced-motion:reduce){.experience-fill{transition:none}}

.loadout-section{border-top:1px solid #675b3c;margin-top:17px;padding-top:16px}.loadout-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.loadout-heading h3{font-family:var(--heading);font-weight:500;font-size:18px;color:#e2c78a;margin:0}.loadout-heading h3 small{font-family:Georgia,serif;font-size:14px;color:#a49b7d;margin-left:12px}.loadout-heading button{font-size:12px;padding:5px 8px;border:1px solid #61563b;background:#24251c}.skill-hotbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:15px 0;padding:10px;background:#0e140f;border:2px ridge #776546;box-shadow:inset 0 0 10px #000}.carried-skill{position:relative;display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 7px 7px;background:linear-gradient(#393828,#212519);border:2px ridge #a9995f;border-radius:2px;min-height:62px}.carried-skill img{width:36px;height:36px;border:1px solid #ab995e;image-rendering:pixelated}.carried-skill>span:not(.hotbar-number){font-size:12px;flex:1;min-width:35px;line-height:1.5;text-align:left;color:#e0d4a6}.carried-skill>small{font-size:10px;color:#90977b;margin-left:auto}.hotbar-number{position:absolute;top:-3px;left:2px;font:11px Georgia,serif;color:#ffe4a5;text-shadow:1px 1px #000;z-index:1}.empty-skill{background:#121a13;border-color:#454d39;box-shadow:inset 0 0 8px #0005}.empty-skill>i{font-style:normal;font-size:26px;color:#566246;width:36px;text-align:center}.empty-skill>span:not(.hotbar-number){color:#66745c}.skill-library{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.library-skill{display:grid;grid-template-columns:34px minmax(0,1fr) 16px;gap:7px;padding:10px;text-align:left;background:linear-gradient(135deg,#272c23,#161c17);border:1px solid #585d42;box-shadow:inset 0 1px #a4a15e22}.library-skill>img{width:34px;height:34px;image-rendering:pixelated;border:1px solid #847647;grid-column:1}.library-skill>span{min-width:0}.library-skill b{font-size:12px;color:#c6c8a7;font-weight:400;display:block;line-height:1.5}.library-skill small{font-size:10px;color:#858f7b}.library-skill>i{color:#9d996c;font-style:normal;font-size:15px}.library-skill>p{grid-column:1/-1;margin:0;font-size:11px;color:#8c9b83;line-height:1.6}.library-skill.skill-carried{border-color:#9eab58;background:linear-gradient(135deg,#3b4225,#202a18)}.library-skill.skill-carried b{color:#ecdc96}.library-skill.skill-carried i{color:#b4da80}.library-skill:disabled{opacity:.55}.library-skill:disabled img{filter:grayscale(.75)}
@media(max-width:1250px){.skill-library{grid-template-columns:repeat(2,minmax(0,1fr))}.carried-skill{justify-content:center;gap:5px}.carried-skill>small{display:none}.carried-skill>span:not(.hotbar-number){flex-basis:100%;text-align:center}.carried-skill img{width:32px;height:32px}}@media(max-width:450px){.skill-hotbar{gap:6px;padding:7px}.carried-skill{padding:7px 3px 5px}.carried-skill>span:not(.hotbar-number){font-size:10px}.carried-skill img{width:29px;height:29px}.library-skill{padding:8px;gap:6px;grid-template-columns:28px minmax(0,1fr) 12px}.library-skill>img{width:28px;height:28px}.library-skill b{font-size:11px}.library-skill>p{font-size:10px}.loadout-heading h3{font-size:16px}.loadout-heading button{font-size:10px}}

/* Death timers stay readable on narrow character cards. */
.dead-card .hero-details{flex-wrap:wrap;white-space:normal}
.dead-card .hero-details span{display:inline;color:#d9a88b;white-space:nowrap}

/* The latest completed wave stays beside the name, wrapping on narrow cards. */
.hero-card .hero-head{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:baseline;gap:2px 8px;min-width:0}
.hero-card .hero-name{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.hero-last-dps{display:inline-flex;align-items:baseline;gap:4px;max-width:100%;white-space:nowrap;font-size:11px;line-height:1.5;color:#cab681;font-variant-numeric:tabular-nums}
.hero-last-dps small{font-size:inherit;color:#a99a7d}.hero-last-dps b{font-weight:600;color:#e3d29b}
@media(max-width:700px){.hero-last-dps{font-size:10px}}
