:root{--gold:#c9a65b;--pale:#ead9b3;--ink:#090909;--panel:rgba(12,11,14,.94)}
  *{box-sizing:border-box} html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#050608;color:#ddd;font-family:Georgia,"Times New Roman",serif;user-select:none}
  canvas{display:block;width:100%;height:100%;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Cpath d='M2 2l18 8-8 3-3 9z' fill='%23d9c99d' stroke='%23120e08' stroke-width='2'/%3E%3C/svg%3E") 2 2,auto}
  #hud{position:fixed;inset:0;pointer-events:none;text-shadow:0 2px 3px #000}
  .top-left{position:absolute;left:18px;top:16px;width:270px}.brand{font-size:14px;letter-spacing:4px;color:#b9a77d}.level{margin-top:4px;color:#eee;font-size:19px}.difficulty{color:#b98149;font-size:12px;letter-spacing:2px}
  #objective{margin-top:14px;padding:10px 12px;background:linear-gradient(90deg,rgba(0,0,0,.75),transparent);border-left:2px solid #8b6b38;font:12px Arial;color:#cabd9f}.obj-title{font:700 13px Georgia;color:#eee;letter-spacing:1px;margin-bottom:5px}.progress{height:8px;border:1px solid #5b4a31;background:#080808;box-shadow:0 0 0 1px #000}.progress>i{display:block;height:100%;width:0;background:linear-gradient(90deg,#6a3218,#df9e31);box-shadow:0 0 8px #e28a29;transition:width .25s}
  #minimap{position:absolute;right:18px;top:18px;width:176px;height:176px;border:1px solid #716248;background:rgba(0,0,0,.55);box-shadow:0 0 0 2px #191511,0 4px 15px #000;opacity:.9}
  #bossbar{display:none;position:absolute;top:20px;left:50%;transform:translateX(-50%);width:min(620px,56vw);text-align:center}.bossname{letter-spacing:4px;color:#f1d8ad;font-size:17px}.bossline{height:15px;background:#160b0b;border:2px solid #8b6944;box-shadow:0 0 0 2px #150b08}.bossline i{display:block;height:100%;background:linear-gradient(#c62923,#5f080c);transition:width .15s}.bosssub{font:10px Arial;color:#b7997d;letter-spacing:3px;margin-top:4px}
  #bottom{position:absolute;left:50%;bottom:9px;transform:translateX(-50%);width:650px;height:132px}.stonebar{position:absolute;left:79px;right:79px;bottom:8px;height:83px;background:linear-gradient(#27252a,#0a090b 44%,#171317);border:2px solid #635843;clip-path:polygon(4% 0,96% 0,100% 24%,98% 100%,2% 100%,0 24%);box-shadow:0 5px 20px #000}
  .orb{position:absolute;bottom:0;width:128px;height:128px;border-radius:50%;border:8px solid #302c2a;box-shadow:inset 0 0 0 3px #806e50,inset 0 0 28px #000,0 5px 20px #000;overflow:hidden;background:#070709}.orb:after{content:"";position:absolute;inset:8px;border-radius:50%;box-shadow:inset 12px 8px 15px rgba(255,255,255,.14),inset -12px -20px 20px rgba(0,0,0,.8);border:1px solid #080808}.orb.left{left:0}.orb.right{right:0}.liquid{position:absolute;left:-12%;width:124%;height:100%;bottom:0;transition:height .16s;filter:saturate(1.2)}.health .liquid{background:radial-gradient(circle at 40% 25%,#e84a32,#94151a 45%,#35030b 80%)}.fury .liquid{background:radial-gradient(circle at 40% 25%,#ffe06b,#e16711 45%,#5c1802 80%)}.barrier-glow{position:absolute;inset:5px;border:3px solid #75cfff;border-radius:50%;z-index:2;opacity:0;box-shadow:inset 0 0 14px #65bdf2,0 0 12px #57aeeb;transition:opacity .2s}.wave{position:absolute;left:-10%;top:-6px;width:120%;height:14px;border-radius:50%;background:rgba(255,255,255,.2);animation:slosh 3s ease-in-out infinite}@keyframes slosh{50%{transform:translateX(9px) rotate(2deg)}}.orbtext{position:absolute;inset:0;display:grid;place-content:center;text-align:center;font:bold 14px Arial;z-index:3}.orbtext small{font-size:9px;letter-spacing:1px;color:#e2cdb4}
  #skills{position:absolute;left:50%;bottom:19px;transform:translateX(-50%);display:flex;gap:6px;z-index:4}.skill{position:relative;width:59px;height:59px;background:#0c0c0d;border:2px solid #706044;box-shadow:inset 0 0 8px #000,0 0 0 2px #171311;pointer-events:auto}.skill.ready:hover{border-color:#d2b46b;filter:brightness(1.15)}.skill .art{position:absolute;inset:3px;display:grid;place-items:center;font:30px Arial;background:radial-gradient(circle at 50% 55%,var(--c),#141013 70%);overflow:hidden}.skill .art:after{content:"";position:absolute;width:45px;height:7px;background:rgba(255,255,255,.3);filter:blur(6px);transform:rotate(-32deg)}.skill .key{position:absolute;top:-16px;left:50%;transform:translateX(-50%);font:bold 11px Arial;color:#d8c7a5}.skill .cost{position:absolute;bottom:2px;right:3px;font:bold 10px Arial;color:#ffe38c;z-index:3}.skill .cool{position:absolute;inset:2px;background:rgba(0,0,0,.74);z-index:2;transform-origin:bottom;transform:scaleY(0);display:grid;place-items:center;font:bold 16px Arial}.skill .hint{display:none;position:absolute;width:190px;bottom:68px;left:50%;transform:translateX(-50%);padding:9px;background:#100f12;border:1px solid #806e50;font:12px Arial;color:#ccc}.skill:hover .hint{display:block}.hint b{color:#e9d6a6;font-family:Georgia;font-size:14px}.hint em{color:#e8a931;font-style:normal}
  #xp{position:absolute;left:4%;right:4%;height:5px;bottom:0;background:#050505;border-top:1px solid #5c543e}.xpfill{height:100%;background:linear-gradient(90deg,#6542a6,#b887ff);box-shadow:0 0 6px #9f6cff}
  #potion{position:absolute;right:-58px;bottom:64px;width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 40% 30%,#f95e4d,#68070c 65%);border:3px solid #544b3b;text-align:center;padding-top:11px;font:bold 11px Arial}.potion-cd{position:absolute;inset:0;border-radius:50%;background:rgba(0,0,0,.75);display:grid;place-items:center;font-size:14px}
  #dodge{position:absolute;right:-58px;bottom:13px;width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 40% 30%,#9fb4d8,#1d2b45 65%);border:3px solid #544b3b;text-align:center;padding-top:14px;font:bold 8px Arial;letter-spacing:.5px}
  #feed{position:absolute;right:18px;bottom:165px;width:290px;text-align:right;font:12px Arial}.feedline{animation:feed 4s forwards;margin-top:5px;color:#d7c49b}@keyframes feed{0%{opacity:0;transform:translateX(10px)}10%,75%{opacity:1;transform:none}100%{opacity:0}}
  #buffbar{position:absolute;left:50%;top:88px;transform:translateX(-50%);display:flex;gap:7px}#buffbar>div{min-width:58px;padding:5px 7px;text-align:center;background:rgba(7,7,9,.82);border:1px solid #65543c;font:9px Arial;color:#b8ac98}#buffbar b{display:block;color:#efc864;font-size:17px;text-shadow:0 0 8px #d17a2e}#buffbar span,#buffbar small{display:block;margin-top:2px}#buffbar small{color:#6bc5df}
  #toast{position:absolute;top:22%;left:50%;transform:translateX(-50%);text-align:center}.toast{animation:toast 2.5s forwards;font-size:36px;color:#f0c66a;letter-spacing:5px;text-shadow:0 0 8px #f04418,0 3px 3px #000}.toast small{display:block;font:13px Arial;color:#fff;letter-spacing:2px}@keyframes toast{0%{opacity:0;transform:scale(.5)}15%{opacity:1;transform:scale(1.12)}25%{transform:scale(1)}75%{opacity:1}100%{opacity:0;transform:translateY(-35px)}}
  #inventory{display:none;position:absolute;pointer-events:auto;right:20px;top:44px;width:530px;height:650px;background:linear-gradient(135deg,rgba(28,25,28,.98),rgba(7,7,9,.98));border:2px solid #7a6848;box-shadow:0 12px 50px #000;padding:18px;z-index:20}.panel-title{text-align:center;color:#e4cca0;font-size:23px;letter-spacing:4px;border-bottom:1px solid #695b43;padding-bottom:11px}.stats{position:absolute;left:18px;top:63px;width:180px;font:12px Arial;line-height:1.7;color:#aaa}.stats b{float:right;color:#e3dccf}.paperdoll{position:absolute;left:206px;top:66px;width:300px;height:270px;background:radial-gradient(ellipse,#2f2b2a 0,transparent 68%)}.doll{position:absolute;left:119px;top:52px;width:58px;height:150px;border-radius:45% 45% 30% 30%;background:linear-gradient(90deg,#262126,#70614e,#252025);box-shadow:0 20px 30px #000}.equip{position:absolute;width:62px;height:62px;border:1px solid #6e604a;background:rgba(0,0,0,.75);display:grid;place-items:center;color:#555;font:10px Arial;text-align:center}.equip.has{font-size:25px}.equip[data-slot=weapon]{left:10px;top:69px}.equip[data-slot=shoulders]{left:10px;top:0}.equip[data-slot=gloves]{left:10px;top:138px}.equip[data-slot=bracers]{left:10px;top:207px}.equip[data-slot=pants]{left:117px;top:138px}.equip[data-slot=belt]{right:10px;top:207px}.equip[data-slot=helm]{left:117px;top:0}.equip[data-slot=chest]{left:117px;top:69px}.equip[data-slot=boots]{left:117px;top:207px}.equip[data-slot=amulet]{right:10px;top:0}.equip[data-slot=ring1]{right:10px;top:69px}.equip[data-slot=ring2]{right:10px;top:138px}
  #grid{position:absolute;left:18px;right:18px;bottom:18px;height:280px;border-top:1px solid #5f523d;padding-top:15px;display:grid;grid-template-columns:repeat(8,1fr);grid-auto-rows:53px;gap:5px}.cell{border:1px solid #4d463d;background:#0d0c0e;display:grid;place-items:center;position:relative;font-size:26px}.cell:hover{background:#211d1a;border-color:#af9360}.rarity-common{color:#ddd}.rarity-magic{color:#5e9cff}.rarity-rare{color:#ffd82f}.rarity-legendary{color:#ff8b22;text-shadow:0 0 8px #e66b13}
  #tooltip{display:none;position:fixed;z-index:50;width:250px;padding:13px;background:rgba(7,7,9,.97);border:1px solid #7b694a;pointer-events:none;font:12px Arial;box-shadow:0 8px 20px #000}.tipname{font:17px Georgia;margin-bottom:4px}.tiptype{color:#888;margin-bottom:9px}.tipstat{color:#ccc;margin:4px 0}.up{color:#5ed66f}.down{color:#ed5f57}.legend{color:#f39831;border-top:1px solid #6b3b18;margin-top:9px;padding-top:8px}
  .modal{display:none;position:absolute;pointer-events:auto;inset:0;background:radial-gradient(circle,rgba(20,18,20,.55),rgba(0,0,0,.93));z-index:30;place-items:center}.modal.open{display:grid}.modalbox{width:min(700px,90vw);background:linear-gradient(#211d1c,#080809);border:2px solid #9d7f4e;padding:34px;text-align:center;box-shadow:0 0 60px #000}.modalbox h1{color:#e8c57a;letter-spacing:7px;font-weight:normal}.modalbox p{font:14px Arial;color:#aaa;line-height:1.6}.upgrade-modal{width:min(820px,94vw)}.choicewrap{display:flex;gap:15px;justify-content:center;margin-top:22px}.choice{position:relative;width:225px;min-height:185px;padding:18px 14px;background:radial-gradient(circle at 50% 0,#28211b,#0a0a0c 65%);border:1px solid #766344;color:#aaa;font:13px Arial;cursor:pointer;transition:.18s transform,.18s border-color}.choice:hover{border-color:#e0b968;background:radial-gradient(circle at 50% 0,#49331d,#111 70%);transform:translateY(-4px);box-shadow:0 8px 25px #000}.choice b{display:block;color:#e5c58f;font:18px Georgia;margin:7px 0}.choice .upgrade-icon{display:block;font-size:34px;color:var(--upgrade-color);text-shadow:0 0 14px var(--upgrade-color)}.choice .skill-label{font-size:9px;letter-spacing:2px;color:#777}.choice .rank-pips{display:block;margin-top:12px;color:#705b3d;letter-spacing:3px}.choice .rank-pips i{color:#e8b954;font-style:normal}.runstats{display:flex;justify-content:center;gap:35px;margin:25px}.runstats div{font:12px Arial;color:#888}.runstats b{display:block;font:25px Georgia;color:#eee}.primarybtn{padding:13px 30px;border:1px solid #b58b4c;background:linear-gradient(#5d3517,#241408);color:#f4d69c;font:16px Georgia;letter-spacing:2px;cursor:pointer}.primarybtn:hover{filter:brightness(1.3)}
  .skill .rank{position:absolute;left:2px;bottom:1px;z-index:3;min-width:15px;height:15px;padding:1px 3px;border-radius:8px;background:#201207;border:1px solid #b9873d;color:#ffd474;font:bold 9px Arial;text-align:center;display:none}.skill.has-upgrades .rank{display:block}.hint .augments{margin-top:7px;padding-top:6px;border-top:1px solid #4d3d2c;color:#e0ad59;line-height:1.4}.build-modal{width:min(900px,94vw)}#buildgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0;max-height:57vh;overflow:auto;padding:4px}.build-skill{text-align:left;background:#0c0c0e;border:1px solid #4d453a;padding:12px}.build-skill h3{margin:0 0 8px;color:#dec28f;font-weight:normal}.build-skill p{font-size:11px;margin:5px 0;color:#777}.build-skill .owned{color:#e1aa52}.build-skill .empty{color:#4f4c48;font-style:italic}
  #help{position:absolute;pointer-events:auto;left:18px;bottom:155px;text-align:left;font:10px Arial;color:#8f887b;line-height:1.55;background:rgba(0,0,0,.55);padding:8px 10px;border:1px solid #3e3932;cursor:pointer}#help b,#help span{display:block}#help b{color:#c9ad78;letter-spacing:1.5px;margin-bottom:3px}#help:hover{border-color:#8d744d;color:#c1b5a3}.gold{color:#f7c84b}
  #autocast{position:absolute;pointer-events:auto;left:50%;bottom:139px;transform:translateX(-50%);display:flex;align-items:center;gap:9px;min-width:146px;padding:7px 13px 7px 9px;border:1px solid #655a49;background:linear-gradient(#211f22,#09090b);color:#8d877e;font:10px Arial;letter-spacing:1.5px;cursor:pointer;box-shadow:0 4px 15px #000,inset 0 0 0 1px #090909}#autocast strong{color:#b46050}#autocast small{display:block;margin-top:2px;color:#5f5b56;font-size:8px;letter-spacing:.5px}.auto-gem{display:grid;place-items:center;width:25px;height:25px;color:#753a36;border:1px solid #5a4e41;background:#111;transform:rotate(45deg);text-shadow:0 0 7px currentColor}#autocast.enabled{border-color:#8a7248;color:#decba4}#autocast.enabled strong{color:#70d9a3;text-shadow:0 0 7px #38a46e}#autocast.enabled .auto-gem{color:#f0a947;background:radial-gradient(circle,#6d3a18,#16100d);box-shadow:0 0 10px rgba(242,139,42,.38)}
  .title-modal{width:min(720px,92vw)}#save-summary{margin:18px auto;padding:13px;width:75%;border:1px solid #4f4434;background:#09090a;color:#9f9585;font:13px Arial;line-height:1.7}#save-summary b{color:#e5c783}.classcard .slot-save{display:block;margin-top:7px;padding-top:6px;border-top:1px solid #3e372e;color:#d7b66f;font:9px Arial;letter-spacing:.5px}.classcard.empty .slot-save{color:#57524b}.classcard.has-save{border-color:#846a43}.title-actions,.modal-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.primarybtn:disabled,.secondarybtn:disabled{opacity:.35;cursor:not-allowed}.secondarybtn{padding:11px 20px;border:1px solid #665a48;background:#101012;color:#b9aa91;font:13px Georgia;letter-spacing:1px;cursor:pointer}.secondarybtn:hover{border-color:#b6955e;color:#f0d6a5}#savecode{width:100%;height:150px;resize:none;background:#08080a;border:1px solid #66563e;color:#d7c39c;padding:10px;font:11px Consolas,monospace;margin:12px 0}
  #townhud{display:none;position:absolute;inset:0;pointer-events:none}.town-title{position:absolute;left:50%;top:28px;transform:translateX(-50%);font-size:22px;letter-spacing:6px;color:#e4cd9d}.town-title small{display:block;text-align:center;font:9px Arial;letter-spacing:3px;color:#70a187;margin-top:4px}.town-actions{position:absolute;left:50%;top:90px;transform:translateX(-50%);display:flex;gap:7px;pointer-events:auto}.town-actions button{width:92px;height:68px;background:linear-gradient(#292420,#0c0b0d);border:1px solid #756247;color:#d2b36f;font-size:22px;cursor:pointer}.town-actions button:hover{border-color:#e4bd6d;filter:brightness(1.2)}.town-actions span{display:block;font:8px Arial;letter-spacing:1px;color:#b8aa92;margin-top:6px}#materials{position:absolute;left:50%;bottom:192px;transform:translateX(-50%);white-space:nowrap;background:rgba(5,5,6,.88);border:1px solid #4d4234;padding:8px 14px;font:10px Arial;color:#8f877b}#materials b{color:#e0bd74}
  .vendor-modal{width:min(980px,95vw);max-height:88vh}.vendor-modal h1{margin:8px}.vendor-modal #vendorbody{max-height:62vh;overflow:auto;text-align:left;margin:15px 0;padding:4px}.artisan-summary{padding:10px;background:#111014;border-left:2px solid #947647;color:#a9a092;font:12px Arial;margin-bottom:10px}.craftbar,.gemrack,.obelisk{padding:12px;border:1px solid #4e4437;background:#0b0b0d;text-align:center;color:#bca884;font:12px Arial}.craftbar button,.vendor-item button,.gemrack button,.obelisk button{margin:4px;padding:7px 10px;border:1px solid #66563f;background:#171417;color:#c8b58f;font:10px Arial;cursor:pointer}.craftbar button:hover,.vendor-item button:hover,.gemrack button:hover,.obelisk button:hover{border-color:#d2aa62}.vendor-item button:disabled,.gemrack button:disabled{opacity:.3}.vendor-list{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:9px}.vendor-item{padding:9px;border:1px solid #403a34;background:#0c0c0e;font:13px Arial}.vendor-item>span{font-family:Georgia;font-size:14px}.vendor-item small{display:block;color:#777;margin:4px 0}.gem-choice.selected{border-color:#f2d276;background:#3a2815}.stash-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stash-columns section{border:1px solid #504536;padding:8px}.stash-columns .vendor-item{margin:5px 0}.obelisk{text-align:left}.obelisk h3{color:#e4c581;letter-spacing:2px}.obelisk select,.obelisk input{background:#08080a;color:#ddd;border:1px solid #66563e;padding:7px;margin:6px}.rarity-set{color:#58d66e;text-shadow:0 0 8px #278b3b}.ancient{filter:brightness(1.25)}
  #portalcast{display:none;position:absolute;left:50%;top:62%;transform:translate(-50%,-50%);width:280px;text-align:center;color:#71c9ff;font:12px Arial;letter-spacing:2px}.cast-track{height:9px;border:1px solid #618aa1;background:#05090d;margin:7px}.cast-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#3688c6,#9be3ff);box-shadow:0 0 9px #5bc5ff}.cast-track+small{color:#8b969b;font-size:9px;letter-spacing:1px}
  #paragongrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px}#paragongrid button{padding:15px 8px;background:#0d0d10;border:1px solid #64543c;color:#d7bc87;cursor:pointer}#paragongrid button b,#paragongrid button small{display:block;margin:5px;color:#888}#legendarygems{display:grid;gap:8px}#legendarygems button{padding:12px;text-align:left;background:#0b0b0e;border:1px solid #65533c;color:#d7c094;cursor:pointer}#legendarygems button b,#legendarygems button span,#legendarygems button em{display:block;margin:3px}#legendarygems button span{color:#888}#legendarygems button em{color:#71d98a;font-style:normal}
  #grtimer{font:10px Arial;color:#b9a57d;margin:5px 0;letter-spacing:1px}#grtimer.urgent{color:#ff5d4b;animation:urgent .55s infinite alternate}@keyframes urgent{to{text-shadow:0 0 8px #f33}}.set-summary{font-size:10px;line-height:1.35}.set-summary span,.set-summary small,.set-summary i{display:block}.set-summary i{font-style:normal;color:#555}.set-summary i.active{color:#69d979}.obelisk button:disabled{opacity:.3;cursor:not-allowed}
  .cube-powers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.cube-slot{padding:14px;text-align:center;background:radial-gradient(circle,#282018,#09090b);border:1px solid #80633c}.cube-slot b,.cube-slot span{display:block}.cube-slot b{color:#dfb667;letter-spacing:2px}.cube-slot span{color:#aaa;margin-top:6px;font:11px Arial}.record-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.record-grid div{padding:13px;text-align:center;background:#0b0b0d;border:1px solid #4e4436;font:10px Arial;color:#777}.record-grid b{display:block;font:22px Georgia;color:#e2c17e}.achievement-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.achievement{padding:10px;border:1px solid #373431;color:#555}.achievement b,.achievement span{display:block}.achievement span{font:10px Arial;margin-top:3px}.achievement.unlocked{border-color:#71603f;color:#e0ba70;background:#15120d}.primal{color:#ff4b43!important;text-shadow:0 0 9px #f22!important}
  .hardcore-btn{border-color:#7e2c22;color:#e08578}.hardcore-btn:hover{border-color:#e04a3a;color:#ff9c8d}
  .equipped-tag{color:#7fd9a8;font:bold 9px Arial;letter-spacing:1px;margin-right:3px}
  .equip.has{cursor:pointer}.equip.has:hover{border-color:#e04a3a;filter:brightness(1.3)}
  #skillpicker{display:none;position:absolute;left:50%;bottom:130px;transform:translateX(-50%);width:430px;background:linear-gradient(135deg,rgba(28,25,28,.98),rgba(7,7,9,.98));border:2px solid #7a6848;box-shadow:0 12px 50px #000;padding:14px;z-index:30;pointer-events:auto}
  #skillpicker.open{display:block}
  #skillpicker>b{color:#d8b56a;font:bold 12px Georgia;letter-spacing:2px;display:block;margin-bottom:4px}
  #skillpicker .pick{display:flex;gap:10px;width:100%;margin-top:8px;padding:9px;background:rgba(0,0,0,.5);border:1px solid #4a4038;color:#cbbfa8;cursor:pointer;text-align:left;align-items:center;font:12px Georgia}
  #skillpicker .pick:hover{border-color:#a08a58}
  #skillpicker .pick.on{border-color:#d8b56a;background:rgba(90,70,30,.25)}
  #skillpicker .pick .art{font-size:24px;width:36px;text-align:center;flex-shrink:0}
  #skillpicker .pick small{display:block;color:#93876e;font-size:10px;margin-top:2px}
  #skillpicker .pick em{color:#e0c88a;font-style:normal}
  #skillpicker .hintline{display:block;margin-top:9px;color:#6e6252;font-size:10px}
  .skill.has-variant::after{content:'◈';position:absolute;top:1px;right:3px;font-size:9px;color:#d8b56a;opacity:.85;text-shadow:0 0 4px #d8b56a}
  .artisan-summary button{margin-left:8px;padding:4px 8px;border:1px solid #66563f;background:#171417;color:#c8b58f;font:9px Arial;cursor:pointer}.artisan-summary button:hover{border-color:#d2aa62}
  #classpick{display:flex;gap:8px;justify-content:center;margin:0 0 16px}.classcard{flex:1;max-width:160px;padding:10px 8px;background:radial-gradient(circle at 50% 0,#242019,#0a0a0c 70%);border:1px solid #55483a;color:#8f877b;font:10px Arial;cursor:pointer;transition:.15s border-color,.15s transform}.classcard b{display:block;font:11px Georgia;letter-spacing:1px;color:#c8b088;margin-bottom:4px}.classcard span{display:block;color:#9a8f7c;margin-bottom:5px}.classcard small{display:block;font-size:8.5px;color:#6f675a;line-height:1.4}.classcard:hover{border-color:#b6955e;transform:translateY(-2px)}.classcard.selected{border-color:#e0b968;background:radial-gradient(circle at 50% 0,#45331d,#111 70%)}.classcard.selected b{color:#f0d6a5}
  body.title-mode #bottom,body.title-mode #autocast,body.title-mode #autoplaybtn,body.title-mode #musicbtn,body.title-mode #settingsbtn,body.title-mode #help,body.title-mode #objective,body.title-mode #minimap,body.title-mode #xp,body.title-mode #buffbar,body.title-mode #feed,body.title-mode .top-left,body.title-mode #potion,body.title-mode #dodge{display:none}
  .town-corner{position:absolute;right:210px;top:20px;display:flex;flex-direction:column;gap:6px;pointer-events:auto}.town-corner button{padding:8px 12px;border:1px solid #665a48;background:rgba(9,9,10,.85);color:#b9aa91;font:10px Georgia;letter-spacing:1px;cursor:pointer}.town-corner button:hover{border-color:#b6955e;color:#f0d6a5}
  .season-modal{width:min(860px,94vw)}.season-head{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center;text-align:left;padding:14px;border:1px solid #70452e;background:radial-gradient(circle at 0 50%,#422116,#0b0a0c 65%)}.season-rank{text-align:center;color:#ffb45d;font:46px Georgia;text-shadow:0 0 18px #d64c21}.season-rank small{display:block;font:9px Arial;letter-spacing:2px;color:#9d7658}.season-head b{color:#e5bc83;letter-spacing:2px}.season-head p{margin:5px 0;font-size:12px}.season-track{height:7px;background:#100b0a;border:1px solid #513627;margin-top:8px}.season-track i{display:block;height:100%;background:linear-gradient(90deg,#9e2d1e,#ffab42);box-shadow:0 0 8px #e54b20}.season-challenges{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0;max-height:43vh;overflow:auto}.season-challenge{text-align:left;padding:11px;border:1px solid #45382f;background:#0c0b0d}.season-challenge.done{border-color:#9b6538;background:#1b100c}.season-challenge b,.season-challenge span,.season-challenge small{display:block}.season-challenge b{color:#d9b47c}.season-challenge span{color:#777;font:11px Arial;margin:4px 0}.season-challenge small{color:#bd7446;font:10px Arial}.season-locked{padding:28px;border:1px solid #4c392e;background:#0d0b0c;margin:18px 0}.season-locked b{display:block;color:#e6b877;font:20px Georgia;margin-bottom:8px}
  .follower-modal{width:min(900px,94vw)}#followerbody{max-height:67vh;overflow:auto}.follower-summary{padding:12px;border:1px solid #536575;background:#0b1014;text-align:left}.follower-summary b,.follower-summary span,.follower-summary small{display:block;margin:3px}.follower-summary b{color:#a9d5ed;letter-spacing:2px}.follower-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.follower-spec{padding:12px;background:#0d0e11;border:1px solid #46515a;color:#999;cursor:pointer}.follower-spec.on{border-color:#8fc8e8;background:#16232b}.follower-spec b,.follower-spec small{display:block}.follower-spec b{color:#b9dced;margin-bottom:6px}.follower-gear{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.follower-slot{padding:10px;border:1px solid #45484b;background:#0b0c0e}.follower-slot b,.follower-slot span{display:block}.follower-slot b{color:#85b7d1;font-size:10px}.follower-slot span{color:#aaa;font:11px Arial;margin:6px}.follower-slot button,.follower-items button{padding:5px;border:1px solid #536779;background:#11171c;color:#a9d5ed;cursor:pointer}.follower-items{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.follower-items button{text-align:left;padding:8px}.follower-items small{display:block;color:#667681;margin-top:3px}
  .help-modal{width:min(900px,94vw)}.help-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;max-height:62vh;overflow:auto;margin:16px 0}.help-grid section{text-align:left;padding:12px 15px;border:1px solid #443d34;background:#0b0b0d}.help-grid h3{margin:0 0 7px;color:#d6b477;font:14px Georgia;letter-spacing:2px}.help-grid p{margin:0;font-size:11px;line-height:1.75}.help-grid p b{color:#e2c68f}
  #autocast{transform:translateX(calc(-50% - 96px))}
  #autoplaybtn{position:absolute;pointer-events:auto;left:50%;bottom:139px;transform:translateX(calc(-50% + 96px));display:flex;align-items:center;gap:9px;min-width:146px;padding:7px 13px 7px 9px;border:1px solid #655a49;background:linear-gradient(#211f22,#09090b);color:#8d877e;font:10px Arial;letter-spacing:1.5px;cursor:pointer;box-shadow:0 4px 15px #000,inset 0 0 0 1px #090909}#autoplaybtn strong{color:#b46050}#autoplaybtn small{display:block;margin-top:2px;color:#5f5b56;font-size:8px;letter-spacing:.5px}#autoplaybtn.enabled{border-color:#b07a34;color:#f0d9ac}#autoplaybtn.enabled strong{color:#f2b04a;text-shadow:0 0 7px #c67a1e}#autoplaybtn.enabled .auto-gem{color:#f0a947;background:radial-gradient(circle,#6d3a18,#16100d);box-shadow:0 0 10px rgba(242,139,42,.38)}
#musicbtn{position:absolute;pointer-events:auto;left:50%;bottom:139px;transform:translateX(calc(-50% + 288px));display:flex;align-items:center;gap:9px;min-width:146px;padding:7px 13px 7px 9px;border:1px solid #655a49;background:linear-gradient(#211f22,#09090b);color:#8d877e;font:10px Arial;letter-spacing:1.5px;cursor:pointer;box-shadow:0 4px 15px #000,inset 0 0 0 1px #090909}#musicbtn strong{color:#7a95a8}#musicbtn small{display:block;margin-top:2px;color:#5f5b56;font-size:8px;letter-spacing:.5px}#musicbtn.enabled{border-color:#4a7ea8;color:#cfe4f2}#musicbtn.enabled strong{color:#7ec4f2;text-shadow:0 0 7px #2f6a99}#musicbtn.enabled .auto-gem{color:#7ec4f2;background:radial-gradient(circle,#1d3a52,#0d1216);box-shadow:0 0 10px rgba(90,170,242,.38)}
  #fullmap{display:none;position:absolute;inset:0;z-index:14;background:rgba(6,5,8,.82);align-items:center;justify-content:center;flex-direction:column;gap:10px;pointer-events:none}#fullmap.open{display:flex}#fullmap canvas{border:2px solid #635843;box-shadow:0 0 40px #000;background:#0b0a0d;max-width:82vmin;max-height:82vmin}#fullmap .maphint{font:10px Arial;color:#8d877e;letter-spacing:2px}
  .sysmenu-modal{width:430px;max-width:90vw}#sysbuttons{display:flex;flex-direction:column;gap:10px;margin:16px 0}
  #sysmenu #autocast,#sysmenu #autoplaybtn,#sysmenu #musicbtn,#sysmenu #settingsbtn{position:static!important;transform:none!important;left:auto;right:auto;bottom:auto;width:100%;min-width:0;display:flex!important}
  #settingsbtn{position:absolute;pointer-events:auto;left:50%;bottom:185px;transform:translateX(calc(-50% + 288px));display:flex;align-items:center;gap:9px;min-width:146px;padding:7px 13px 7px 9px;border:1px solid #655a49;background:linear-gradient(#211f22,#09090b);color:#8d877e;font:10px Arial;letter-spacing:1.5px;cursor:pointer;box-shadow:0 4px 15px #000,inset 0 0 0 1px #090909}#settingsbtn:hover{border-color:#c9a24f;color:#e8e2d0}#settingsbtn small{display:block;margin-top:2px;color:#5f5b56;font-size:8px;letter-spacing:.5px}
  .settings-modal{width:600px;max-width:92vw}.settings-modal h3{margin:14px 0 8px;color:#c9a24f;letter-spacing:3px;font-size:12px}
  .slider-row{display:grid;grid-template-columns:120px 1fr 48px;align-items:center;gap:12px;margin:6px 0;font:11px Arial;color:#b5afa4;text-align:left}.slider-row input[type=range]{width:100%;accent-color:#c9a24f}.slider-row b{color:#e8e2d0}
  .settings-hint{font:10px Arial;color:#7d766b;margin:0 0 8px;text-align:left}
  .key-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;max-height:290px;overflow-y:auto;margin-bottom:10px}
  .key-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font:11px Arial;color:#b5afa4;text-align:left}
  .keycap{min-width:74px;padding:4px 8px;border:1px solid #655a49;background:#17151a;color:#e8e2d0;font:bold 10px Arial;letter-spacing:1px;cursor:pointer}.keycap:hover{border-color:#c9a24f}.keycap.capturing{border-color:#7ec4f2;color:#7ec4f2;animation:autopulse 1s infinite alternate}
  #autobanner{display:none;position:absolute;left:50%;top:150px;transform:translateX(-50%);align-items:center;gap:14px;padding:9px 18px;background:rgba(22,11,5,.9);border:1px solid #a06a2c;box-shadow:0 0 18px rgba(226,138,41,.25);animation:autopulse 1.6s infinite alternate;pointer-events:none;z-index:8}#autobanner b{color:#f2b04a;letter-spacing:3px;font-size:13px}#autobanner span{font:10px Arial;color:#c8b596;letter-spacing:1px}@keyframes autopulse{to{box-shadow:0 0 32px rgba(226,138,41,.55)}}
  .skill .lock{position:absolute;top:-8px;right:-6px;z-index:5;width:16px;height:16px;border-radius:50%;border:1px solid #554b3c;background:#0d0c0e;color:#4f4a42;font:bold 9px Arial;display:grid;place-items:center;cursor:pointer}.skill .lock:hover{border-color:#c9a65b;color:#c9a65b}.skill .lock.on{color:#7fd9a8;border-color:#6f7a52;box-shadow:0 0 6px rgba(110,220,160,.4);background:#101710}
  @media(max-width:800px){#bottom{transform:translateX(-50%) scale(.78);transform-origin:bottom;width:650px}.top-left{transform:scale(.8);transform-origin:top left}#minimap{transform:scale(.75);transform-origin:top right}#help{display:none}#inventory{right:2%;transform:scale(.8);transform-origin:top right}}

#paragongrid .paragon-tools{display:flex;gap:6px;justify-content:center;margin-bottom:10px}
.pbulk{padding:4px 10px;border:1px solid #655a49;background:#1a181b;color:#8d877e;font:10px Arial;letter-spacing:1px;cursor:pointer}
.pbulk.on{border-color:#c9a24f;color:#f0d9ac}
.pbulk.respec{margin-left:14px;border-color:#7a4a3c;color:#c98a7a}
#paragongrid .paragon-tree{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-height:52vh;overflow-y:auto;text-align:left}
.paragon-branch{border:1px solid #3d3832;background:#141216;padding:6px}
.paragon-branch h3{margin:0 0 6px;font:bold 11px Georgia;letter-spacing:1.5px;color:var(--pb,#c9a24f);display:flex;justify-content:space-between;align-items:baseline}
.paragon-branch h3 small{font:9px Arial;color:#6e6a60;letter-spacing:.5px}
.pnode{display:block;width:100%;margin:0 0 4px;padding:5px 7px;border:1px solid #3d3832;background:#1a181b;color:#b5afa4;font:10px Arial;text-align:left;cursor:pointer;position:relative}
.pnode:hover:not(:disabled){border-color:var(--pb,#c9a24f)}
.pnode:disabled{opacity:.55;cursor:default}
.pnode b{display:block;color:#ddd6c4;font-size:10px;letter-spacing:.5px}
.pnode small{display:block;color:#8d877e;font-size:9px;margin-top:1px}
.pnode .prank{position:absolute;top:4px;right:6px;font-size:9px;color:var(--pb,#c9a24f)}
.pnode .prank i{font-style:normal;color:#6e6a60;margin-left:2px}
.pnode.maxed{border-color:var(--pb,#c9a24f);opacity:.8}
.pnode.keystone{border-color:#6a5a2c;background:#1c1810}
.pnode.keystone.owned{border-color:#e8c860;box-shadow:0 0 8px rgba(232,200,96,.25)}
.pnode.keystone.locked{opacity:.5}

.records-tabs{display:flex;gap:6px;justify-content:center;margin-bottom:10px}
.records-tabs button{padding:5px 14px;border:1px solid #655a49;background:#1a181b;color:#8d877e;font:10px Arial;letter-spacing:1.5px;cursor:pointer}
.records-tabs button.on{border-color:#c9a24f;color:#f0d9ac}
.records-tabs.sub button{font-size:9px;padding:3px 10px}
.online-join{text-align:center;padding:14px}
.online-join input{padding:7px 10px;border:1px solid #655a49;background:#0d0c0f;color:#e8e2d0;font:12px Georgia;margin-right:8px;letter-spacing:1px}
.online-join button{padding:7px 14px;border:1px solid #c9a24f;background:#241f16;color:#f0d9ac;font:10px Arial;letter-spacing:1.5px;cursor:pointer}
#onlinelist{max-height:46vh;overflow-y:auto}
.lb-row{display:grid;grid-template-columns:34px 26px 1fr 90px 80px 90px;align-items:center;gap:8px;width:100%;padding:7px 10px;margin-bottom:4px;border:1px solid #3d3832;background:#17151a;color:#b5afa4;font:11px Arial;text-align:left;cursor:pointer}
.lb-row:hover{border-color:#c9a24f}
.lb-row.me{border-color:#4a7ea8;background:#141a22}
.lb-row b{color:#c9a24f}
.lb-row .lb-name{color:#e8e2d0;letter-spacing:.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lb-row .hc,.inspect-head .hc{font-style:normal;color:#e04a3a;font-size:9px;border:1px solid #7a2d2c;padding:0 3px;margin-left:4px}
.lb-row .bot,.inspect-head .bot{font-style:normal;font-size:10px;margin-left:4px;opacity:.8;cursor:help}
.inspect-head{text-align:center;margin-bottom:10px}
.inspect-head b{display:block;font:bold 15px Georgia;color:#f0d9ac;letter-spacing:1px}
.inspect-head span{font:10px Arial;color:#8d877e;letter-spacing:1px}
