
:root{color-scheme:dark;--bg:#121113;--panel:#1c191d;--panel2:#242024;--border:#393035;--text:#eee8df;--muted:#aaa0a3;--orange:#eb9b61;--green:#8cba9b;--blue:#81b3d5;--font:"Microsoft YaHei UI","Microsoft YaHei",system-ui,sans-serif;font-family:var(--font);font-size:16px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 45% 0,#312124 0,transparent 46%),var(--bg);color:var(--text)}button,input,select{font:inherit}button,select{cursor:pointer}button{border:1px solid var(--border);background:#30282c;color:var(--text);border-radius:5px;padding:9px 14px;transition:background .15s,border-color .15s}button:hover{background:#423337;border-color:#76605d}button:focus-visible,select:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--orange);outline-offset:3px}button:disabled{opacity:.4;cursor:not-allowed}select,input{background:#1b171c;color:var(--text);border:1px solid #4a3c42;border-radius:4px;padding:7px 8px;max-width:100%}a{color:var(--orange)}.shell{max-width:1512px;margin:auto;padding:0 36px}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #443036}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:700;text-decoration:none;color:#f0dfcc;letter-spacing:3px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid #906643;transform:rotate(-4deg);font-family:serif;font-size:26px;color:#efa56c;background:#362126}.brand small{display:block;font-size:10px;letter-spacing:2.5px;font-weight:400;color:#a98a78;margin-top:5px}.top-right{display:flex;gap:14px;align-items:center}.quiet{border-color:transparent;background:transparent;color:#bcaeac;font-size:14px}.connection{font-size:13px;color:#8cae96;display:flex;align-items:center;gap:7px}.connection:before,.live-dot{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#8cba9b;box-shadow:0 0 9px #8cba9b70}.connection.error{color:#ed887c}.connection.error:before{background:#ed887c}.dungeon-heading{display:flex;align-items:end;justify-content:space-between;padding:27px 0 20px}.eyebrow{font-size:12px;letter-spacing:3px;color:#b7a18e}h1{font-size:30px;font-weight:650;letter-spacing:3px;margin:7px 0 0}h1 span{font-size:12px;letter-spacing:2px;color:#8e7679;vertical-align:middle;margin-left:12px}.heading-meta{display:flex;gap:13px;color:#afa3a4;font-size:13px;align-items:center}.heading-meta b{font-size:14px;color:#e1b08b;font-weight:500;padding-left:13px;border-left:1px solid var(--border)}.battle{position:relative;overflow:hidden;border:1px solid #695048;border-radius:8px 8px 0 0;box-shadow:0 14px 60px #0004;background:#251522;aspect-ratio:1440/430}canvas{display:block;width:100%;height:100%;image-rendering:pixelated}.battle-top{position:absolute;left:0;top:0;width:100%;display:flex;align-items:start;justify-content:space-between;padding:19px 23px;background:linear-gradient(#0d0b12db,transparent);pointer-events:none}.battle-top button,.battle-top select,.battle-top label{pointer-events:auto}.encounter-title{display:flex;align-items:center;gap:10px;font-size:17px;text-shadow:0 2px 5px #000}.encounter-title small{font-size:12px;color:#baa5a6;margin-left:5px}.battle-actions{display:flex;gap:12px;align-items:center;font-size:12px}.battle-actions label{color:#d1babc}.battle-actions select{font-size:12px;background:#181117c9;border-color:#574148;padding:5px}.battle-button{font-size:12px;background:#241a1dcc;border-color:#665044;padding:6px 16px}.battle-bottom{position:absolute;bottom:0;left:0;width:100%;display:flex;justify-content:space-between;padding:13px 22px;color:#d1b5a1;font-size:12px;background:linear-gradient(transparent,#130d15ef);pointer-events:none}.battle-bottom span:last-child{color:#b3c2b4;display:flex;align-items:center;gap:8px}.route{display:flex;align-items:center;justify-content:space-between;background:#231b20;border:1px solid #49343b;border-top:0;padding:14px 24px;border-radius:0 0 7px 7px}.route-step{position:relative;display:flex;gap:9px;align-items:center;color:#8e7d84;font-size:12px}.route-step:after{content:"";width:35px;height:1px;background:#56404a;margin-left:16px}.route-step:last-child:after{display:none}.route-step i{font-size:10px;width:20px;height:20px;display:grid;place-items:center;border:1px solid #66545a;border-radius:50%;font-style:normal}.route-step.current{color:#f1b47e}.route-step.current i{background:#b77444;color:#fff;border-color:#e4aa79;box-shadow:0 0 15px #e4aa7933}.route-step.done{color:#8cad96}.party{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.hero-card{text-align:left;position:relative;background:linear-gradient(115deg,#2a2328,#211b20);border:1px solid #44383f;padding:16px 15px 14px;border-radius:6px;min-width:0}.hero-card.selected{border-color:var(--class);box-shadow:inset 0 2px var(--class)}.hero-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.hero-name{font-size:17px;display:flex;align-items:center;gap:8px}.hero-name span{color:var(--class);font-size:12px}.hero-role{font-size:12px;color:#b5a4a7}.bar{height:5px;background:#110f13;border-radius:2px;overflow:hidden}.bar i{display:block;height:100%;transition:width .4s;background:#89af8e}.bar.resource{height:3px;margin-top:5px}.bar.resource i{background:var(--resource,#6da0c4)}.hero-details{display:flex;justify-content:space-between;margin-top:8px;color:#b3a6aa;font-size:12px}.hero-details b{font-weight:400;color:#dad0c9}.dead-card{filter:grayscale(1);opacity:.65}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 325px;gap:18px;align-items:stretch}.main-panel,.side-panel{background:var(--panel);border:1px solid var(--border);border-radius:7px;min-width:0}.tabs{display:flex;gap:18px;border-bottom:1px solid var(--border);padding:0 19px;min-height:54px;align-items:stretch}.tabs button{border:0;border-radius:0;padding:16px 3px 13px;background:none;font-size:14px;color:#b2a0a5;border-bottom:2px solid transparent;white-space:nowrap}.tabs button[aria-selected=true]{border-color:var(--orange);color:#f1c5a3}.tabs button span{font-size:11px;margin-left:3px;background:#403237;padding:1px 5px;border-radius:3px}.panel-body{padding:20px 22px}.build-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.build-header h2{font-size:19px;margin:0 0 4px}.subtle{font-size:12px;color:var(--muted);line-height:1.65;margin:0}.badge{color:#dcb890;font-size:12px;background:#392c23;border:1px solid #55402e;padding:5px 9px;border-radius:4px}.attributes{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid #3c3037;border-radius:5px;margin:14px 0 17px;padding:12px 4px;background:#181418}.attribute{text-align:center;border-right:1px solid #392f35}.attribute:last-child{border:0}.attribute b{display:block;font-size:18px;font-weight:500;color:#e0d5c8}.attribute span{font-size:11px;color:#a9949c}.equipment-row{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 18px}.equip-slot{background:#262027;border:1px solid #44373d;border-radius:4px;padding:7px 9px;font-size:12px}.equip-slot span{color:#9c8791;margin-right:5px}.uncommon{color:#84c895!important}.build-controls{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:17px}.build-controls label{display:flex;gap:9px;align-items:center;font-size:13px;color:#cbb5be}.mode-hint{font-size:12px;color:#9b8d91;margin-top:7px}.build-controls select{font-size:13px;max-width:170px}.talent-trees{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.talent-tree{background:#171419;border:1px solid #3b2e37;border-radius:5px;padding:12px 9px}.talent-tree h3{font-size:13px;color:#c6b09c;font-weight:500;letter-spacing:2px;margin:0 0 12px;padding-bottom:9px;border-bottom:1px solid #3e3038;display:flex;justify-content:space-between}.talent-tree h3 small{font-size:11px;color:#93766e;letter-spacing:0}.talent-node{display:flex;align-items:center;justify-content:space-between;gap:3px;margin:8px 0;padding:7px 4px;border:1px solid transparent;border-radius:4px;min-height:48px}.talent-node.invested{border-color:#685139;background:#30251f}.talent-node.locked{opacity:.45}.talent-node .name{font-size:12px;line-height:1.5;max-width:100px}.talent-node .name small{display:block;font-size:10px;color:#af9280}.talent-buttons{display:flex;gap:4px;align-items:center}.talent-buttons button{padding:0;width:23px;height:25px;border-radius:3px;background:#2d2429}.talent-buttons span{font-size:11px;color:#dfbd85;min-width:20px;text-align:center}.build-save{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:15px}.primary{background:#9a5d36;border-color:#c18a59;color:#fff3e1;padding:9px 18px;font-size:14px}.primary:hover{background:#ac6c40;border-color:#e4b381}.small{padding:7px 10px;font-size:12px}.stat-strip{display:grid;grid-template-columns:repeat(3,1fr);padding:20px 9px;border-bottom:1px solid var(--border);gap:5px}.stat-cell{text-align:center}.stat-cell b{font-size:22px;font-weight:500;display:block;color:#e1c4a8;margin-bottom:4px}.stat-cell span{font-size:11px;color:#a38b95}.log-heading{display:flex;justify-content:space-between;align-items:center;padding:15px 15px 10px}.log-heading h2{font-size:14px;font-weight:500;margin:0}.log-heading select{font-size:11px;border:0;background:transparent;color:#a68e96;padding:3px}#combat-log{height:428px;overflow:auto;padding:0 15px 16px;scrollbar-width:thin;scrollbar-color:#513d45 transparent}.log-entry{font-size:12px;line-height:1.75;padding:7px 0;border-bottom:1px solid #30272d;color:#ac99a4}.log-entry time{color:#74616b;margin-right:6px;font-size:10px;font-variant-numeric:tabular-nums}.log-entry.loot{color:#a9cda1}.log-entry.boss,.log-entry.warning,.log-entry.death{color:#dd9b78}.log-entry.run{color:#e7c395}.log-entry.heal{color:#8cbf9a}.log-entry.proc{color:#bda1d1}.bag-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:13px;color:#bdaeb0}.item-list{display:flex;flex-direction:column;gap:8px;max-height:415px;overflow:auto;scrollbar-width:thin}.item-row{display:flex;gap:12px;align-items:center;background:#241d24;border:1px solid #3d3138;padding:12px;border-radius:5px}.item-icon{display:grid;place-items:center;flex:0 0 39px;height:39px;background:#151319;border:1px solid #605246;border-radius:4px;overflow:hidden}.item-icon img{width:100%;height:100%;object-fit:cover}.item-icon b{font-size:20px;color:#b7a38d}.item-text{flex:1;min-width:0}.item-text strong{font-size:14px;font-weight:500}.item-text small{display:block;font-size:11px;line-height:1.65;color:#a69aa0}.item-actions{display:flex;gap:6px;align-items:center}.item-actions select{font-size:12px;width:66px;padding:6px 3px}.empty{padding:38px 20px;text-align:center;color:#baa6af;font-size:14px;line-height:2}.materials{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.material{font-size:12px;color:#beabb1;border:1px solid #4b393f;padding:7px 9px;border-radius:4px;background:#231c22}.material b{margin-left:8px;color:#e3bc87}.section-title{font-size:15px;font-weight:500;color:#ddc5b0;margin:22px 0 11px}.recipe-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.recipe{border:1px solid #41313a;background:#241d24;padding:14px;border-radius:5px}.recipe h3{font-size:14px;font-weight:500;margin:0 0 5px}.recipe small{font-size:11px;color:#b39581}.recipe p{font-size:12px;color:#a997a1;line-height:1.8;margin:8px 0}.recipe button{width:100%;font-size:12px}.gems{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.gem{border:1px solid #46353e;border-radius:5px;padding:12px;background:#211c22}.gem h3{font-size:13px;font-weight:500;margin:0 0 7px}.gem p{font-size:11px;color:#a99a9e}.socket-row{display:flex;gap:10px;align-items:center;margin-top:15px;flex-wrap:wrap;font-size:13px}.journal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.boss-card{border:1px solid #614332;border-radius:5px;padding:15px;background:linear-gradient(#302121,#211a21)}.boss-card h3{font-size:15px;margin:0 0 8px;color:#e6b489}.boss-card p{font-size:12px;color:#b49ca1;line-height:1.8}.boss-drop{font-size:13px;margin:9px 0;color:#8bc89d}.boss-drop span{float:right;font-size:11px;color:#967c85}.monster-note{display:flex;gap:12px;align-items:baseline;font-size:12px;padding:11px 0;border-bottom:1px solid #372b32;color:#ac969f}.monster-note b{min-width:108px;color:#cfb7a0;font-weight:500}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:14px 0}.metric{font-size:11px;color:#a38d97;text-align:center;padding:10px 3px;background:#211b22;border-radius:4px}.metric b{display:block;color:#c9b8ac;font-size:15px;font-weight:500;margin-bottom:5px}footer{display:flex;justify-content:space-between;color:#796973;font-size:11px;padding:22px 0 32px}dialog{max-width:570px;width:calc(100% - 32px);color:var(--text);background:#241d25;border:1px solid #735045;border-radius:8px;padding:30px;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#09060bb8;backdrop-filter:blur(5px)}dialog h2{font-size:21px;margin-top:0;color:#e5c4a7}dialog p{font-size:14px;color:#c0abb4;line-height:1.95}.dialog-close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:24px}#sources{display:flex;flex-direction:column;gap:8px;font-size:12px}#access-form{display:flex;gap:10px;flex-wrap:wrap}#toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:#392b29;border:1px solid #a17248;border-radius:6px;padding:12px 23px;box-shadow:0 10px 45px #0009;color:#f2d9bd;font-size:14px;z-index:100;opacity:0;pointer-events:none;transition:.2s;max-width:90vw}#toast.show{opacity:1;transform:translate(-50%,0)}.mini .workspace,.mini .party,.mini footer,.mini .dungeon-heading{display:none}.mini .shell{max-width:1300px}.mini .battle{margin-top:18px}.mini .topbar{height:64px}.mini .battle{aspect-ratio:1440/330}.mini .route{padding:10px 20px}.saving{opacity:.5;pointer-events:none}
@media(min-width:1600px){.shell{max-width:1570px}.battle{aspect-ratio:1440/405}}@media(max-width:1100px){.shell{padding:0 20px}.workspace{grid-template-columns:minmax(0,1fr) 270px}.route-step:after{width:12px;margin-left:2px}.talent-trees{gap:6px}.talent-tree{padding:10px 5px}.talent-node{flex-wrap:wrap}.party{gap:8px}.hero-role{font-size:10px}.heading-meta{font-size:11px}.battle{aspect-ratio:1440/470}.item-row{flex-wrap:wrap}.item-actions{margin-left:auto}}@media(max-width:850px){.workspace{grid-template-columns:1fr}.side-panel{display:none}.battle{aspect-ratio:1440/550}.hero-head{align-items:start}.hero-role{display:none}.hero-name{display:block;font-size:15px}.hero-name span{display:block;margin-top:2px}.encounter-title small{display:none}h1 span{display:none}.heading-meta>span{display:none}.battle-bottom span:last-child{display:none}.route-step span{display:none}.route-step.current span{display:inline}.route-step:after{width:16px}.hero-card{padding:12px 10px}.party{margin-top:12px}.topbar{height:72px}.brand{font-size:18px}.connection{font-size:0}.top-right{gap:3px}.quiet{font-size:12px;padding:7px}.brand small{font-size:8px}.battle-top{padding:12px}.encounter-title{font-size:13px}.battle-actions label{display:none}.battle-bottom{padding:10px;font-size:10px}.dungeon-heading{padding:20px 0 15px}.hero-details{font-size:10px}.hero-details span{display:none}.tabs{gap:15px;padding:0 14px}.tabs button{font-size:13px}.panel-body{padding:17px 14px}.build-header h2{font-size:17px}.build-controls{align-items:start}.talent-node{justify-content:center;text-align:center}.talent-node .name{max-width:none;width:100%;font-size:11px}.talent-buttons{margin-top:4px}.talent-tree h3{font-size:12px;letter-spacing:0}.talent-tree h3 small{font-size:9px}.recipe-grid,.journal-grid{grid-template-columns:1fr 1fr}.attribute b{font-size:16px}.attribute span{font-size:10px}footer span:last-child{display:none}}@media(max-width:480px){.shell{padding:0 10px}.brand{gap:8px;letter-spacing:1px}.brand-mark{width:33px;height:33px;font-size:23px}.hero-card{padding:10px 7px}.hero-details{font-size:9px}.party{gap:5px}.badge{font-size:10px}.build-controls{flex-direction:column}.recipe-grid,.journal-grid{grid-template-columns:1fr}.gems{grid-template-columns:1fr}.gem{display:flex;align-items:center;gap:12px}.gem p{flex:1}.route{padding:10px 12px}.route-step{gap:5px}.route-step:after{width:9px}.hero-name{font-size:14px}h1{font-size:26px}.heading-meta b{font-size:12px}.battle{aspect-ratio:1440/640}.battle-top{padding:8px}.battle-button{padding:5px 9px;font-size:10px}.encounter-title{font-size:12px}.build-save .subtle{font-size:10px}.item-actions{width:100%;justify-content:end}.metrics{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.run-clock{display:flex;align-items:center;gap:6px;white-space:nowrap;color:#c9b699;background:#17121cbd;border:1px solid #65503a;border-radius:4px;padding:5px 8px;font-size:12px}.run-clock time{color:#ffe0a0;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.5px}@media(max-width:600px){.battle-top{gap:6px;flex-wrap:wrap}.battle-actions{margin-left:auto;gap:6px}.run-clock{font-size:11px;padding:4px 6px}}

@media(min-width:851px){.party.party-five{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(min-width:601px) and (max-width:850px){.party.party-five{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.party.party-five{grid-template-columns:repeat(2,minmax(0,1fr))}}
