:root{color-scheme:dark;--bg: #0b0d12;--surface: #141821;--surface-2: #1c2230;--line: #303849;--gold: #d5a84b;--gold-bright: #f4dd9b;--red: #ba4d48;--blue: #4b8fc9;--green: #52a875;--text: #f4f1e8;--muted: #aab1be;--shadow: 0 24px 70px rgba(0, 0, 0, .42)}*{box-sizing:border-box}html{min-width:320px;background:var(--bg)}body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(circle at 48% 18%,rgba(213,168,75,.08),transparent 30rem),linear-gradient(145deg,#0a0c10,#111621 54%,#090b0f);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}button,select,input{font:inherit}button,select{min-height:44px}button{cursor:pointer}.game-shell{width:min(1500px,calc(100% - 32px));margin:0 auto;padding:26px 0 18px}.topbar,.resource-strip,.panel,footer{border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;background:#141821e6;border-radius:16px 16px 6px 6px;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:14px}.brand-mark{display:grid;place-items:center;width:50px;height:50px;border:1px solid var(--gold);border-radius:12px;color:var(--gold-bright);background:linear-gradient(145deg,#28200f,#141821);font-family:Georgia,serif;font-weight:800;letter-spacing:-.06em}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,Times New Roman,serif}h1{font-size:clamp(1.5rem,2.8vw,2.1rem);letter-spacing:-.03em}h2{font-size:1.35rem}h3{font-size:1.1rem}.eyebrow{color:var(--gold);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.save-state{color:#b9d6c2;font-size:.9rem}.resource-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:10px 0;overflow:hidden;border-radius:6px;background:var(--line)}.resource-strip div{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;background:#151a23}.resource-strip span{color:var(--muted)}.resource-strip strong{color:var(--gold-bright);font-variant-numeric:tabular-nums}.system-nav{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:0 0 10px}.system-nav button{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:7px;color:var(--text);background:linear-gradient(180deg,#1c2230,#141821);font-weight:750}.system-nav button:hover{border-color:var(--gold);color:var(--gold-bright)}.system-nav span{color:var(--muted);font-size:.72rem;font-weight:650}.battle-grid{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(440px,1.45fr) minmax(280px,.9fr);gap:10px}.panel{min-width:0;padding:20px;border-radius:8px;background:linear-gradient(160deg,#1c2230f5,#11141bfa)}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:22px}.quiet-button,.secondary-button,.primary-button{border-radius:7px;padding:10px 15px;border:1px solid var(--line);color:var(--text);background:#1a202b}.quiet-button{min-height:36px;padding:7px 11px;color:var(--muted);font-size:.875rem}.quiet-button:hover,.secondary-button:hover{border-color:var(--gold);color:var(--gold-bright)}.primary-button{border-color:#efd077;color:#181205;background:linear-gradient(#efd077,#ba8530);font-weight:850}.primary-button:hover{filter:brightness(1.08)}#auto-button.active{border-color:var(--red);color:#ffc4be;background:#ba4d482e}.vitals{display:grid;gap:14px}.vital-label{display:flex;justify-content:space-between;gap:12px;margin-bottom:5px;color:var(--muted);font-size:.875rem}.vital-label strong{color:var(--text);font-variant-numeric:tabular-nums}.meter{height:9px;overflow:hidden;border-radius:99px;background:#090b0f;box-shadow:inset 0 0 0 1px #ffffff0f}.meter span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7d2424,#d45a4e);transition:width .28s ease}.meter.xp span{background:linear-gradient(90deg,#376a9d,#63ace2)}.meter.stamina span{background:linear-gradient(90deg,#347251,#67bd84)}.combat-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.combat-numbers div{padding:12px 8px;text-align:center;border:1px solid var(--line);border-radius:7px;background:#00000029}.combat-numbers span,.combat-numbers strong{display:block}.combat-numbers span{color:var(--muted);font-size:.8rem}.combat-numbers strong{margin-top:2px;color:var(--gold-bright);font-size:1.1rem}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.section-title span{color:var(--muted);font-size:.8rem}.attributes{display:grid;gap:7px}.attribute{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;width:100%;padding:10px 12px;color:var(--text);text-align:left;border:1px solid var(--line);border-radius:7px;background:#161b25}.attribute:hover:not(:disabled){border-color:var(--gold)}.attribute small{display:grid;place-items:center;width:29px;height:29px;border-radius:5px;color:#181205;background:var(--gold);font-weight:900}.attribute:disabled{opacity:.48;cursor:not-allowed}.selectors{display:grid;grid-template-columns:1fr 1.35fr;gap:10px}label{display:grid;gap:6px;color:var(--muted);font-size:.82rem;font-weight:700}select,input{width:100%;border:1px solid var(--line);border-radius:7px;padding:9px 11px;color:var(--text);background:#0e1219}select:focus,input:focus,button:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px}.monster-stage{position:relative;display:grid;place-items:center;height:310px;margin:16px 0 8px;overflow:hidden;border-radius:8px;background:radial-gradient(circle,#273246 0,#151a24 45%,#0f1218 74%)}.monster-stage:after{content:"";position:absolute;left:12%;right:12%;bottom:22px;height:24px;border-radius:50%;background:#00000085;filter:blur(12px)}.monster-aura{position:absolute;width:240px;height:240px;border:1px solid rgba(213,168,75,.18);border-radius:50%;box-shadow:0 0 70px #d5a84b17,inset 0 0 40px #d5a84b12}.monster-stage img{position:relative;z-index:1;width:min(250px,75%);height:min(250px,80%);object-fit:contain;image-rendering:auto;filter:drop-shadow(0 16px 15px rgba(0,0,0,.48))}.monster-stage img.monster-portrait{width:min(290px,92%);height:min(290px,94%);border-radius:12px;filter:none}.monster-card{display:flex;justify-content:space-between;align-items:center;gap:16px}.level-badge{flex:0 0 auto;padding:5px 9px;border:1px solid rgba(213,168,75,.42);border-radius:99px;color:var(--gold-bright);background:#d5a84b1a;font-weight:800}.monster-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:14px 0}.monster-stats span{padding:9px 6px;color:var(--muted);text-align:center;border-top:1px solid var(--line);font-size:.78rem}.monster-stats strong{display:block;color:var(--text);font-size:.92rem}.fight-actions{display:grid;grid-template-columns:1fr;gap:9px}.log-panel{display:flex;flex-direction:column;min-height:620px}.battle-log{display:flex;flex-direction:column;gap:8px;min-height:0;max-height:560px;margin:0;padding:0;overflow:auto;list-style:none;scrollbar-color:var(--line) transparent}.battle-log li{padding:10px 11px;border-left:3px solid var(--line);color:#d7dce5;background:#0000002b;font-size:.88rem}.battle-log .empty{color:var(--muted);font-style:italic}footer{display:flex;justify-content:space-between;gap:18px;margin-top:10px;padding:12px 16px;border-radius:6px;color:var(--muted);background:#12161e;font-size:.78rem}dialog{width:min(420px,calc(100% - 32px));border:1px solid var(--line);border-radius:10px;padding:0;color:var(--text);background:var(--surface);box-shadow:var(--shadow)}dialog::backdrop{background:#000000b8;backdrop-filter:blur(4px)}dialog form{display:grid;gap:18px;padding:24px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.system-dialog{width:min(1040px,calc(100% - 28px));max-height:min(860px,calc(100vh - 28px))}.system-dialog-shell{display:grid;grid-template-rows:auto minmax(0,1fr);max-height:calc(100vh - 32px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--line)}.system-content{min-height:240px;padding:20px 22px 26px;overflow:auto}.system-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.summary-chip{padding:7px 10px;border:1px solid var(--line);border-radius:99px;color:var(--muted);background:#0000002e;font-size:.82rem}.system-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.system-card{padding:15px;border:1px solid var(--line);border-radius:8px;background:#0000002e}.system-card.selected{border-color:var(--gold);box-shadow:inset 0 0 0 1px #d5a84b2e}.system-card h3{margin-bottom:4px}.system-card p{color:var(--muted);font-size:.88rem}.card-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.small-button{min-height:36px;padding:7px 10px;border:1px solid var(--line);border-radius:6px;color:var(--text);background:#202736;font-size:.82rem}.small-button:hover:not(:disabled){border-color:var(--gold)}.small-button:disabled{opacity:.45;cursor:not-allowed}.small-button.danger{color:#ffc4be}.empty-state{padding:34px 18px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);text-align:center}.equipment-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:18px}.equipment-slot{min-height:104px;padding:11px;border:1px solid var(--line);border-radius:8px;background:#121720}.equipment-slot span,.equipment-slot strong{display:block}.equipment-slot span{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.07em}.equipment-slot strong{margin-top:7px;font-size:.9rem}.equipment-slot small{color:var(--gold-bright)}.shop-controls{display:grid;grid-template-columns:1.4fr .7fr auto;gap:9px;align-items:end;margin-bottom:18px}.shop-controls input{min-height:44px}.potion-grid,.gem-grid,.skill-grid,.buff-grid,.boss-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.item-stat{color:var(--gold-bright);font-variant-numeric:tabular-nums}.status-line{margin-top:8px;color:var(--gold-bright)!important}.boss-card{display:grid;grid-template-columns:120px 1fr;gap:14px}.boss-card img{width:120px;height:120px;object-fit:contain;border-radius:7px;background:#0d1117}.boss-loot{margin-top:8px;color:var(--muted);font-size:.82rem}.buff-active{border-color:var(--green)}.skill-locked{opacity:.58}.section-divider{height:1px;margin:18px 0;background:var(--line)}@media(max-width:1100px){.battle-grid{grid-template-columns:1fr 1.35fr}.log-panel{grid-column:1 / -1;min-height:320px}.battle-log{max-height:300px}.resource-strip{grid-template-columns:repeat(2,1fr)}.system-nav{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.game-shell{width:min(100% - 18px,620px);padding-top:9px}.topbar{padding:13px}.save-state{display:none}.resource-strip,.system-nav{grid-template-columns:1fr 1fr}.battle-grid{grid-template-columns:1fr}.log-panel{grid-column:auto}.arena-panel{grid-row:1}.hero-panel{grid-row:2}.monster-stage{height:270px}.monster-stats{grid-template-columns:1fr 1fr}.fight-actions{grid-template-columns:1fr}footer{flex-direction:column}.system-grid,.potion-grid,.gem-grid,.skill-grid,.buff-grid,.boss-grid{grid-template-columns:1fr}.equipment-grid{grid-template-columns:1fr 1fr}.shop-controls{grid-template-columns:1fr}.boss-card{grid-template-columns:86px 1fr}.boss-card img{width:86px;height:86px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}.menu-battle-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 20px;border-bottom:1px solid var(--line);font-size:.8rem;color:var(--gold-bright)}.menu-battle-bar>span{flex:1 1 220px}.menu-battle-bar small{flex-basis:100%;color:var(--muted)}.system-dialog>.system-dialog-shell{grid-template-rows:auto auto auto minmax(0,1fr)}[hidden]{display:none!important}html{min-width:0}body{-webkit-tap-highlight-color:transparent}button,a,select{touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.5}.app-status{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;padding:8px 3px;color:var(--muted);font-size:.75rem}.app-status .save-state{font-size:inherit}.notice{margin:6px 0 12px;padding:12px;border:1px solid var(--gold);border-radius:8px;color:var(--gold-bright);background:#292312}.mobile-nav{display:none}.settings-shell{max-height:85dvh;overflow-y:auto}#settings-dialog{width:min(620px,calc(100% - 24px))}.settings-body{padding:20px;display:grid;gap:20px}.settings-section{display:grid;gap:12px;padding-top:16px;border-top:1px solid var(--line)}.settings-section p,#save-summary{color:var(--muted);font-size:.9rem}#import-preview{display:grid;gap:10px;padding:14px;border:1px solid var(--gold);border-radius:8px}#backup-feedback{color:var(--gold-bright);overflow-wrap:anywhere}input[type=file]{max-width:100%;font-size:.85rem}.files-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:260px;overflow-y:auto}.files-list li{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:.82rem}.files-list li span{overflow-wrap:anywhere}.files-list small{display:block;color:var(--muted)}.save-log-details summary{cursor:pointer;color:var(--muted);font-size:.85rem}#save-log{margin:8px 0 0;max-height:200px;overflow:auto;font-size:.72rem;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted)}body[data-loading=true] .fight-actions,body[data-loading=true] .system-nav,body[data-loading=true] .mobile-nav{pointer-events:none;opacity:.5}.app-status{display:none}@media(max-width:720px),(max-width:1000px)and (max-height:500px)and (orientation:landscape){body{min-height:100dvh}.game-shell{width:100%;padding:calc(10px + env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) calc(92px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.topbar{gap:8px;padding:10px 12px;border-radius:14px}.brand{gap:9px}.brand-mark{width:40px;height:40px;flex:0 0 auto}.brand .eyebrow{font-size:.62rem}h1{font-size:1.35rem}h2{font-size:1.2rem;overflow-wrap:anywhere}.selectors{grid-template-columns:1fr;gap:9px}select,input{font-size:16px;min-height:46px}.monster-stage{height:clamp(155px,25dvh,235px);margin-top:12px}.monster-stage img{height:90%;width:80%}.monster-aura{width:160px;height:160px}.monster-stats{margin:10px 0}.fight-actions{grid-template-columns:1fr}.fight-actions button{padding:12px 7px;font-size:.82rem;min-height:50px}.mobile-nav{position:fixed;z-index:5;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:5px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));border-top:1px solid var(--line);background:#111720;box-shadow:0 -5px 24px #0005}.mobile-nav button{display:grid;place-content:center;gap:2px;border:0;border-radius:9px;padding:5px 2px;color:var(--muted);background:transparent;font-size:.7rem;min-height:54px}.mobile-nav button span{font-size:1.35rem;line-height:1.1}.mobile-nav button[aria-current]{background:#30291b;color:var(--gold-bright)}.quiet-button,.small-button{min-height:44px}.system-dialog{width:100%;height:100dvh;max-height:100dvh;max-width:100%;margin:0;border:0;border-radius:0}.system-dialog-shell{height:100dvh;max-height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.dialog-header{gap:10px;padding:14px}.system-content{padding:14px 14px 28px}.system-card h3{overflow-wrap:anywhere}.system-summary{gap:6px}.summary-chip{font-size:.75rem;max-width:100%}.boss-card{grid-template-columns:68px minmax(0,1fr);gap:10px}.boss-card img{width:68px;height:90px}.log-panel{min-height:350px}.battle-log{max-height:65dvh}footer{box-shadow:none;font-size:.7rem;gap:2px;padding:10px}.settings-body{padding:14px}}@media(max-width:360px){.brand-mark{width:30px;height:34px;font-size:.8rem}.brand{gap:6px;min-width:0}h1{font-size:1.15rem;white-space:nowrap}.brand .eyebrow{font-size:.5rem;letter-spacing:.07em}.topbar{padding:9px;gap:6px}}.class-picker{margin:0 0 20px}.item-art{display:inline-block;background-repeat:no-repeat;aspect-ratio:1}.bag-slot .item-icon.item-art{width:90%;height:90%}.bag-slot.occupied{touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.bag-slot *{pointer-events:none}.inventory-dragging,.inventory-dragging .bag-slot{cursor:grabbing}.bag-slot.drag-source{opacity:.35}.bag-slot.drop-target{border-color:#7ce0be;background:#22453b;box-shadow:inset 0 0 0 2px #7ce0be}.inventory-drag-ghost{position:fixed;z-index:100;width:66px;height:66px;transform:translate(-50%,-65%);pointer-events:none;border:1px solid var(--gold-bright);border-radius:8px;background:#172131e6;box-shadow:0 8px 20px #0009;padding:3px}.inventory-drag-ghost .item-icon{width:100%;height:100%}body:has(dialog[open]){overflow:hidden}.system-dialog-shell{grid-template-rows:auto auto minmax(0,1fr)}#system-feedback{margin:0;padding:10px 22px;color:var(--gold-bright);background:#2b2518;font-size:.86rem}#system-feedback:empty{padding:0}.inventory-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.equipment-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:22px}.equipment-tile{display:grid;justify-items:center;gap:5px;padding:10px 6px;border:1px solid var(--line);border-radius:8px;background:#131a24;color:var(--text)}.equipment-tile>span:first-child{font-size:.73rem;color:var(--muted)}.equipment-tile small{font-size:.7rem;overflow-wrap:anywhere}.empty-equipment{display:grid;place-items:center;width:40px;height:40px;font-size:2rem;color:var(--muted)}.item-icon{width:48px;height:48px;color:#b8c7d6;flex-shrink:0;filter:drop-shadow(0 3px 5px #0008)}.item-icon.rare{color:#7fb4df}.item-icon.epic{color:#bc9ce7}.item-icon.legendary{color:#edc76c}.inventory-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,1fr);gap:24px;align-items:start}.inventory-layout>*{min-width:0}.bag-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.bag-tabs button{padding:9px 6px;border:1px solid var(--line);border-radius:7px;background:#141c28;color:var(--muted)}.bag-tabs button[aria-selected=true]{color:var(--gold-bright);background:#302819;border-color:var(--gold)}.bag-tabs small{display:block;font-size:.7rem;margin-top:2px}.bag-hint{font-size:.78rem;color:var(--muted);margin:10px 0;min-height:2.4em}.bag-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;padding:7px;background:#0b1017;border:1px solid var(--line);border-radius:9px}.bag-slot{position:relative;display:grid;place-items:center;min-width:0;aspect-ratio:1;padding:2px;border:1px solid #252f40;border-radius:5px;background:#121a25;color:var(--text)}.bag-slot.occupied{background:radial-gradient(ellipse at 50% 40%,#2b394a,#141c27);border-color:#475369}.bag-slot.selected{border-color:var(--gold-bright);box-shadow:inset 0 0 0 1px var(--gold-bright)}.bag-slot:hover{border-color:var(--gold)}.bag-slot .item-icon{width:78%;height:78%}.empty-dot{color:#344055}.slot-level{position:absolute;right:3px;bottom:1px;font-size:.6rem;color:#c6d0df}.slot-upgrade{position:absolute;right:3px;top:1px;font-size:.62rem;color:var(--gold-bright)}.equipped-badge{position:absolute;left:2px;top:2px;border-radius:2px;padding:0 3px;color:#061c15;background:#80ceb0;font-size:.6rem;font-weight:800}.item-detail{padding:18px;border:1px solid var(--line);border-radius:9px;background:#121a24}.item-detail-heading{display:flex;align-items:center;gap:12px;margin-bottom:16px}.item-detail-heading h3{overflow-wrap:anywhere}.item-detail>p{margin-top:8px;font-size:.88rem}.item-detail .requirement{color:#e9a092}.detail-note{font-size:.8rem;color:var(--muted);line-height:1.55;margin-top:10px}.wiki-intro{max-width:760px;margin-bottom:22px}.wiki-intro>p:last-child{color:var(--muted);font-size:.9rem;margin-top:8px}.wiki-filters{display:grid;grid-template-columns:1fr 1fr .8fr 1.3fr;gap:10px;margin-bottom:20px}.wiki-filters>label{min-width:0}.wiki-count{color:var(--muted);font-size:.8rem;margin-bottom:12px}.wiki-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.weapon-card{padding:16px;border:1px solid var(--line);border-radius:9px;background:#121a24;min-width:0}.weapon-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.weapon-card-top .item-icon{width:62px;height:62px}.weapon-card h3{margin:5px 0 9px;overflow-wrap:anywhere}.weapon-card details{border-top:1px solid var(--line);margin-top:15px;padding-top:10px;color:var(--muted);font-size:.77rem}.weapon-card details p{margin-top:8px}.weapon-card summary{cursor:pointer}.weapon-card a{display:inline-block;color:var(--gold-bright);margin-top:12px}@media(min-width:1101px){.system-nav{grid-template-columns:repeat(7,minmax(0,1fr))}}@media(max-width:800px){.wiki-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.inventory-layout{grid-template-columns:minmax(0,1fr);gap:16px}.bag-grid{gap:4px;padding:5px}.equipment-row{gap:4px}.equipment-tile{padding:8px 3px}.equipment-tile .item-icon{width:34px;height:34px}.equipment-tile small{font-size:.6rem}.item-detail{padding:14px}.wiki-filters{grid-template-columns:repeat(2,minmax(0,1fr))}#system-feedback{padding:10px 14px}}@media(max-width:420px){.wiki-grid{grid-template-columns:minmax(0,1fr)}.bag-slot{min-height:40px}.inventory-header h3{font-size:.95rem}}.equipment-row{grid-template-columns:repeat(6,minmax(0,1fr))}@media(max-width:700px){.equipment-row{grid-template-columns:repeat(3,minmax(0,1fr))}}.sale-entry{display:flex;justify-content:flex-end;margin-bottom:10px}.sale-toolbar{position:sticky;top:0;z-index:3;padding:12px;margin-bottom:12px;border:1px solid #577e6c;border-radius:8px;background:#15251f;box-shadow:0 4px 12px #0006}.sale-toolbar>div:first-child{display:flex;justify-content:space-between;gap:12px;color:#a4ecc8}.sale-toolbar .card-actions{margin-top:10px;flex-wrap:wrap}.sale-toolbar p{margin:8px 0 0;font-size:.78rem;color:var(--muted)}.bag-slot.sale-slot{cursor:pointer;touch-action:pan-y}.bag-slot.sale-marked{border-color:#82e2ac;box-shadow:inset 0 0 0 2px #82e2ac}.bag-slot.sale-protected{opacity:.4;cursor:not-allowed}.sale-check{position:absolute;top:3px;left:3px;z-index:1;width:18px;height:18px;display:grid;place-items:center;border:1px solid #aad9bd;border-radius:4px;background:#101e19;color:#a6ffcb;font-size:14px;font-weight:700}.sale-marked .sale-check{background:#23573c}.armor-icon-wrap{position:relative;display:inline-grid;place-items:center}.armor-icon-wrap>.item-icon{width:100%!important;height:100%!important}.armor-class-mark{position:absolute;left:0;bottom:0;min-width:14px;padding:1px 3px;border-radius:3px;background:#152332;color:#f4d790;border:1px solid #8a7346;font:700 10px/1.2 system-ui;text-align:center}.armor-hunter .armor-class-mark{color:#a3f0d7;border-color:#40876e}.armor-mage .armor-class-mark{color:#e2c0ff;border-color:#9764b7}.armor-hunter>svg{filter:hue-rotate(25deg)}.armor-mage>svg{filter:hue-rotate(245deg)}.wiki-topics{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.wiki-topics button[aria-pressed=true]{border-color:var(--gold, #d5a84b);color:#f4dd9b;background:#302a1c}.skill-notice{padding:14px 16px;border:1px solid #786137;border-radius:10px;background:#292419;color:#e7d6b2;line-height:1.6}.skill-filters{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.skill-card-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.skill-type{font-size:11px;border:1px solid #4a5367;border-radius:20px;padding:5px 8px;color:#bdcbe5}.skill-type-active{color:#d7b9ff;border-color:#645277}.skill-type-passive,.skill-type-conditional{color:#a9dcc9;border-color:#477664}.skill-type-unknown,.skill-unconfirmed{color:#e2bc77}.reference-skill{min-width:0}.reference-skill h3{overflow-wrap:anywhere}.reference-skill .eyebrow{margin:0 0 6px}.reference-skill .skill-variant{color:#bbc6d8;font-size:13px;margin-top:4px}.reference-skill details{margin-top:14px;border-top:1px solid #354053;padding-top:12px}.reference-skill summary,.skill-source-notes summary,.legacy-training summary{cursor:pointer;color:#ead39d;padding:6px 0}.skill-timing{padding:10px;border-radius:8px;background:#17262d;color:#badfdf}.skill-timing small{line-height:1.5;display:inline-block;margin-top:5px}.skill-values{margin:14px 0}.skill-values div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid #2c3444;font-size:13px}.skill-values dd{margin:0;text-align:right;color:#f1ddae}.skill-formula{overflow-wrap:anywhere}.skill-issues{padding-left:18px;color:#d8bc8a;font-size:12px;line-height:1.6}.skill-source-notes,.legacy-training{margin-top:24px;padding:15px;border:1px solid #354053;border-radius:12px}.skill-source-notes p,.legacy-training>p{line-height:1.6;color:#bdc7d6}.legacy-training[open]>summary{margin-bottom:12px}@media(max-width:540px){.skill-catalogue .skill-grid{grid-template-columns:1fr}.skill-card-heading{flex-wrap:wrap}}.skill-live{border:1px solid #50617a;border-radius:8px;padding:12px;margin:12px 0;background:#151e2c}.skill-live [aria-pressed=true]{border-color:#77d4bd;color:#a5f3d8}.combat-progress{margin-top:16px;color:#adc0d6;font-size:13px;overflow-wrap:anywhere}.combat-progress progress{width:100%;height:10px;accent-color:#d4af65}.combat-progress .meter span{background:#cc6262;transition:width .1s linear}.combat-progress p{margin:8px 0}.combat-progress small{line-height:1.5;display:block}.system-dialog[data-system=skills]{width:min(740px,calc(100vw - 24px));height:auto;max-height:calc(100dvh - 24px);margin:auto;border:1px solid #475164;border-radius:14px}.system-dialog[data-system=skills]>.system-dialog-shell{height:auto;max-height:calc(100dvh - 28px)}.system-dialog[data-system=skills] .menu-battle-bar small{display:none}.system-dialog[data-system=skills] .system-content{padding:14px 20px 20px}.skill-overview{display:flex;justify-content:space-between;color:#d8c395;font-size:13px;margin-bottom:12px}.skill-overview span{color:#93a4b9}.compact-skills .skill-filters{display:grid;grid-template-columns:1fr 1.5fr;gap:12px;margin-bottom:8px}.compact-skills .skill-filters label{font-size:11px;gap:4px}.compact-skills .skill-filters input,.compact-skills .skill-filters select{padding:7px 9px;min-height:34px}.compact-skills .wiki-count{font-size:12px;margin:8px 0 14px}.skill-icon-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px 10px}.skill-tile{display:flex;flex-direction:column;align-items:center;gap:5px;padding:0;border:0;background:transparent;color:#c1ccda;min-width:0;cursor:pointer;border-radius:6px}.skill-tile:hover{background:#202b39}.skill-tile:focus-visible{outline:2px solid #e7c683;outline-offset:4px}.skill-frame{position:relative;width:64px;height:64px;border:1px solid #566171;border-radius:7px;box-shadow:0 3px 9px #0008;overflow:hidden}.skill-art{display:block;width:100%;height:100%;background-image:url(../assets/skills/skill-atlas-v1.webp);background-size:800% 800%;background-repeat:no-repeat;background-color:#15191e;flex-shrink:0}.skill-tile.is-learned .skill-frame{border-color:#c9a562}.skill-tile.is-enabled .skill-frame{border-color:#5cda93;box-shadow:0 0 8px #55cb7733}.skill-tile.is-locked .skill-art{filter:saturate(.5) brightness(.68)}.skill-rank{position:absolute;bottom:0;right:0;padding:1px 4px;color:#f4dfb1;background:#0b1019e8;font-size:10px;border-radius:4px 0 0}.skill-enabled-mark{position:absolute;left:3px;top:3px;width:16px;height:16px;background:#102d20;color:#73f4a4;border:1px solid #5cda93;border-radius:3px;font-size:12px}.skill-tile-name{font-size:11px;line-height:1.25;min-height:28px;text-align:center;overflow-wrap:anywhere}.skill-tile-level{font-size:10px;color:#8e9cb1;margin-top:-4px}#skill-dialog{box-sizing:border-box;width:min(420px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:22px;border:1px solid rgba(90,210,255,.34);border-radius:16px;background:linear-gradient(165deg,#10183a,#080c20);color:#e4e9f8;overflow:auto;box-shadow:0 18px 80px #000b}#skill-dialog::backdrop{background:#05091299}.skill-detail-close{position:absolute;top:8px;right:9px;border:0;background:transparent;color:#b7c4d8;padding:4px 9px;font-size:24px;cursor:pointer}.skill-detail-heading{display:flex;gap:14px;align-items:center;padding-right:12px}.skill-detail-heading>.skill-art{width:62px;height:62px;border:1px solid #a48a59;border-radius:7px}.skill-detail-heading h2{font-size:19px;margin:3px 0 5px;line-height:1.2}.skill-detail-heading p{font-size:12px;margin:0;color:#b2bfce}.skill-detail-heading .eyebrow{font-size:10px}.skill-effect-table{width:100%;border-collapse:collapse;margin:12px 0;font-size:12px}.skill-effect-table th,.skill-effect-table td{padding:7px 5px;border-bottom:1px solid #344051;text-align:right}.skill-effect-table th:first-child{text-align:left;font-weight:400}.skill-effect-table thead th{color:#8c9bb0;font-size:10px}.skill-effect-table td:last-child{color:#e8ce94}.skill-train-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 12px;font-size:12px;color:#a8b7c8}.skill-shared-note,.skill-locked-note{font-size:11px;line-height:1.5;color:#a6b5c9;margin:10px 0}.skill-locked-note,.requirement-unmet{color:#f1ac91!important}.skill-auto-label{position:relative;display:flex;align-items:center;gap:9px;cursor:pointer;font-size:13px;padding:10px 0}.skill-auto-label input{position:absolute;width:20px;height:20px;opacity:0;margin:0}.skill-checkbox{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid #8391a5;border-radius:3px;background:#0c141d}.skill-auto-label input:checked+.skill-checkbox{border-color:#54d788;color:#76ffa9;background:#123622}.skill-auto-label input:checked+.skill-checkbox:after{content:"✓";font-weight:800;font-size:15px}.skill-auto-label input:focus-visible+.skill-checkbox{outline:2px solid #e9c98e;outline-offset:3px}.skill-auto-label:has(input:disabled){opacity:.45;cursor:not-allowed}.skill-auto-state{margin-left:auto;font-size:11px;color:#96a8bc}.skill-auto-label:has(input:checked) .skill-auto-state{color:#76e6a0}.skill-frequency{display:grid;grid-template-columns:1fr 60px auto;align-items:center;gap:8px;font-size:11px;padding:10px 0}.skill-frequency input{width:60px;padding:6px}.skill-frequency:has(select){grid-template-columns:minmax(0,1fr) auto}.skill-frequency:has(select) label{grid-column:1 / -1}.skill-frequency select{min-width:0;width:100%;padding:8px}.skill-wiki-button{border:0;background:none;color:#cbb683;padding:12px 0 0;font-size:11px;cursor:pointer}#skill-detail-feedback{font-size:11px;color:#a1d9b8;margin:10px 0 0;line-height:1.4}#skill-detail-feedback:empty{display:none}@media(max-width:540px){.skill-icon-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 8px}.system-dialog[data-system=skills] .system-content{padding:12px}.skill-frame{width:58px;height:58px}}@media(prefers-reduced-motion:no-preference){.skill-tile .skill-frame{transition:box-shadow .15s,border-color .15s}}.potion-quickbar{margin:16px 0 8px;padding:12px;border:1px solid rgba(90,210,255,.28);border-radius:14px;background:linear-gradient(150deg,#121a3c,#0a0f26)}.potion-trigger{margin-top:7px;--potion-color:#d6b34c}.potion-trigger label{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#9eafc4}.potion-trigger output{color:var(--potion-color);font-variant-numeric:tabular-nums;white-space:nowrap}.potion-trigger input[type=range]{display:block;width:100%;height:20px;min-height:20px;margin:2px 0 0;padding:0;border:0;box-shadow:none;accent-color:var(--potion-color);cursor:pointer}.potion-trigger-help{display:flex;align-items:center;gap:8px;margin:0 0 16px}.potion-trigger-help small{font-size:10px;line-height:1.4;color:#9eafc4}.potion-trigger-help button{flex-shrink:0;padding:5px 7px;font-size:10px}.quickbar-heading{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:10px}.quickbar-heading strong{font-size:13px;color:#e2cf9e}.quickbar-heading small{font-size:10px;color:#9eafc4}.quick-slot-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.quick-slot-wrap{position:relative;min-width:0}.quick-slot{position:relative;width:100%;padding:4px 3px 7px;border:1px solid #42566b;border-radius:6px;background:#0c131d;color:#c4d1e2;cursor:pointer;min-height:84px;touch-action:none}.quick-slot:hover,.quick-slot:focus-visible{border-color:#d9be79}.quick-slot.has-potion{border-color:#6c8e74}.quick-slot-number{position:absolute;left:4px;top:2px;font-size:9px;color:#91a6bf;z-index:1}.quick-slot-content{display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:none}.quick-slot .item-icon{width:54px;height:54px;max-width:100%}.quick-slot .quick-charge{font-size:11px;color:#e6d398;font-variant-numeric:tabular-nums;background:#0b1320;line-height:1.2}.quick-slot .quick-label{font-size:10px;line-height:1.3;min-height:13px;overflow-wrap:anywhere}.quick-empty{display:grid;place-items:center;height:63px;font-size:26px;color:#52647c}.quick-clear{position:absolute;right:1px;top:1px;z-index:2;width:22px;height:22px;padding:0;border:0;border-radius:3px;background:#142134e8;color:#b8c7d9;cursor:pointer;font-size:16px}.quick-clear[hidden]{display:none}.quick-slot.drop-target{border-color:#7ce0be;box-shadow:inset 0 0 0 2px #7ce0be}.quick-slot.drag-source{opacity:.35}.potion-assign-buttons{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:10px 0 16px}.potion-assign-buttons button{padding:8px 0}.potion-item-detail .item-icon{width:64px;height:64px}.potion-shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.potion-shop-card{display:grid;grid-template-columns:62px 1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid #35465c;border-radius:8px;background:#121b26}.potion-shop-card .item-icon{width:62px;height:62px}.potion-shop-card h4{margin:0 0 5px;color:#ecdbac;font-size:14px}.potion-shop-card p{margin:0 0 4px;font-size:12px;color:#bfcee1}.potion-shop-card small{font-size:10px;color:#90a3bb}.potion-strength{position:absolute;top:2px;left:3px;padding:0 2px;border-radius:2px;background:#07101ac9;color:#efe1bd;font-size:9px}.bag-slot[data-potion=true] .slot-level{background:#07101acc;padding:0 2px;color:#f6dda2}.bag-slot[data-potion=true] .item-icon{width:93%;height:93%}.inventory-quickbar .detail-note{font-size:11px;margin-bottom:0}@media(max-width:800px){.potion-shop-grid{grid-template-columns:1fr}}@media(max-width:420px){.potion-quickbar{padding:8px}.quick-slot-grid{gap:5px}.quick-slot .item-icon{width:45px;height:45px}.quick-slot .quick-label,.quickbar-heading small{font-size:9px}.quick-clear{width:20px;height:20px}.potion-shop-card{grid-template-columns:50px 1fr auto;padding:8px;gap:7px}.potion-shop-card .item-icon{width:50px;height:50px}}.quick-stock{position:absolute;right:5px;top:4px;min-width:15px;padding:1px 3px;border:1px solid #a68a50;border-radius:4px;background:#18180fed;color:#ffe2a0;font-size:10px;font-weight:700;line-height:14px}.quick-clear{top:auto;bottom:2px;right:2px;width:18px;height:18px;min-height:18px;font-size:13px}.quick-slot .quick-label{padding:0 11px}@media(max-width:420px){.quick-slot{height:100%;padding-bottom:20px}.quick-slot .quick-label{padding:0;overflow-wrap:normal}}.cash-shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cash-item-card{padding:18px;border:1px solid rgba(139,108,255,.34);background:linear-gradient(150deg,#141c40,#0a0f26);border-radius:14px}.cash-item-heading{display:flex;align-items:center;gap:14px;margin-bottom:14px}.cash-item-heading .cash-art{width:60px;height:60px;border:1px solid rgba(255,224,154,.55);border-radius:10px}.cash-item-heading h3{font-size:17px;margin:0 0 4px}.cash-item-heading p{margin:0;color:#ffe09a}.cash-item-card>p{font-size:13px}.cash-buff-status{font-size:12px;color:#97d5ba;min-height:18px}.cash-item-card button{margin-top:8px}.bag-slot .cash-art{width:90%;height:90%;border-radius:4px}.cash-tabs{min-height:0;margin:10px 0 14px}.cash-tabs .small-button{min-width:6.5em}.cash-equipment-card .cash-art,.cash-equipment-card .item-icon{width:60px;height:60px}.cash-pets{margin-top:6px;padding:16px;border:1px dashed rgba(139,108,255,.4);border-radius:12px;background:#0a0f26}.cash-pets h3{margin:0 0 6px}.cash-potions{margin-top:20px}.cash-potions h3{margin:0 0 6px}.cash-potion-group{margin:8px 0;border:1px solid rgba(139,108,255,.3);border-radius:12px;background:#0a0f26}.cash-potion-group summary{padding:9px 12px;cursor:pointer;font-weight:600;color:#ffe09a}.cash-potion-rows{display:grid;gap:8px;padding:4px 12px 12px}.cash-potion-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.cash-potion-row .item-icon{width:36px;height:36px;flex:none}.cash-potion-row strong{min-width:5.5em;font-size:13px}.cash-potion-row small{color:#9fb0bd;font-size:11px}.cash-potion-row .small-button{white-space:nowrap}.gem-card{display:flex;gap:12px;align-items:flex-start}.gem-card .item-icon{width:52px;height:52px;flex:none}.gem-detail .item-icon{width:64px;height:64px}.gem-great{filter:drop-shadow(0 0 5px #e8c15a)}.gem-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px}.gem-tools .detail-note{flex:1 1 100%;margin:0}.gem-auto{flex:0 0 auto}.gem-auto[aria-pressed=true]{border-color:#7fbf9a;color:#c9f0d8}.upgrade-info{margin:8px 0;padding:8px 10px;border:1px solid #2f3a72;border-radius:8px;background:#070b1f}.upgrade-info h4{margin:0 0 4px}.upgrade-info p{margin:2px 0}.cash-gems{margin-top:20px}.cash-gems h3{margin:0 0 6px}.cash-gem-rows{display:grid;gap:8px;margin-top:8px}.cash-gem-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.cash-gem-row .item-icon{width:36px;height:36px;flex:none}.cash-gem-row strong{min-width:8.5em;font-size:13px}.cash-gem-row small{color:#9fb0bd;font-size:11px;flex:1 1 9em}.cash-gem-row .small-button{white-space:nowrap}.rune-stones{margin-top:22px}.rune-stones h3{margin:0 0 6px}.rune-card .card-actions{margin-top:6px}.rune-detail{margin:10px 0;padding:8px 10px;border:1px solid #2f3a72;border-radius:8px;background:#070b1f}.rune-detail h4{margin:0 0 4px}.rune-detail .card-actions{margin:6px 0}.status-right{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-left:auto}#active-buff-hud{display:flex;gap:6px;align-items:center}.buff-hud-entry{position:relative;display:block}.buff-hud-button{position:relative;padding:0;width:38px;height:38px;border:1px solid #d1ab64;border-radius:5px;background:#172131;cursor:pointer;overflow:hidden}.buff-hud-button .item-icon{width:100%;height:100%}.buff-hud-button>span{position:absolute;bottom:0;left:0;right:0;font-size:8px;font-weight:700;line-height:11px;color:#ffe2a4;background:#07111bd9}.buff-hud-button:focus-visible{outline:2px solid #e5c983;outline-offset:2px}.buff-hud-tooltip{display:none;position:absolute;right:0;top:calc(100% + 7px);z-index:50;width:205px;padding:12px;border:1px solid #96805c;border-radius:7px;background:#131c29;color:#b7c9e0;box-shadow:0 8px 22px #0009;line-height:1.6}.buff-hud-tooltip strong,.buff-hud-tooltip span{display:block}.buff-hud-tooltip strong{color:#f0d69e;font-size:13px}.buff-hud-entry:has(.buff-hud-button:focus-visible) .buff-hud-tooltip,.buff-hud-entry.is-open .buff-hud-tooltip{display:block}@media(hover:hover){.buff-hud-entry:hover .buff-hud-tooltip{display:block}}@media(max-width:540px){.cash-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.cash-tabs .small-button{min-width:0;padding:8px 2px;font-size:12px}.cash-shop-grid{grid-template-columns:1fr}.status-right{flex-wrap:wrap;gap:7px;justify-content:flex-end}.buff-hud-button{width:33px;height:33px}.app-status{align-items:center}.buff-hud-tooltip{position:fixed;top:128px;right:12px;width:min(240px,calc(100vw - 24px))}}.platinum-packs{margin:16px 0}.platinum-pack{min-width:0;margin:0;text-align:center}.platinum-pack h3{font-size:19px;overflow-wrap:anywhere}.platinum-bonus{display:inline-block;margin:0 0 8px;padding:3px 10px;border-radius:20px;background:#294636;color:#a3ebbd;font-weight:700}.platinum-breakdown{color:#aabbd5;margin:4px 0}.platinum-symbol{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 8px;border:2px solid #bfe8f2;border-radius:50%;background:radial-gradient(circle at 30% 25%,#8bc9dc,#26395f 75%);color:#edfbff;font-size:27px;font-weight:800;box-shadow:0 0 24px #69c8ee25}.platinum-price{color:#ffe09a;font-size:26px!important;font-weight:700}.platinum-pack button:disabled{opacity:.65;cursor:not-allowed}.quests-page{display:grid;gap:20px}.quest-rolls{padding:18px;border:1px solid #364355;border-radius:14px;background:#121b27}.quest-rolls .card-actions{flex-wrap:wrap}.quest-mission{padding:22px;border:1px solid rgba(255,224,154,.34);border-radius:14px;background:linear-gradient(135deg,#171d44,#0a0f26)}.quest-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.quest-heading h3{margin:0 0 6px;font-size:21px}.quest-objectives{display:grid;gap:15px;margin:24px 0}.quest-objective>div{display:flex;justify-content:space-between;gap:12px}.quest-objective small{display:block;color:#94acc5;margin:5px 0}.quest-objective progress{display:block;width:100%;height:7px;border:0;border-radius:8px;overflow:hidden;background:#090e15;accent-color:#d6b469}.quest-objective progress::-webkit-progress-bar{background:#090e15}.quest-objective progress::-webkit-progress-value{background:#d6b469;border-radius:8px}.quest-reward{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #354255;padding-top:18px}.quest-reward strong{color:#f0d28d}.quest-abandon{margin-top:18px;font-size:12px;color:#9dafc3}.quest-abandon summary{cursor:pointer}.quest-devices{display:grid;gap:12px}.quest-device{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid #364355;border-radius:9px;background:#121b27}.quest-device .item-icon,.quest-shop-card .item-icon{width:64px;height:64px;flex-shrink:0}.quest-device>div{flex:1}.quest-device p{margin:5px 0;color:#aac1d8;font-size:12px}.quest-art{filter:drop-shadow(0 3px 3px #0008)}@media(max-width:540px){.quest-mission{padding:15px}.quest-device{flex-wrap:wrap}.quest-device button{width:100%}.quest-heading h3{font-size:18px}.quest-reward button{width:100%}}.character-dialog{width:min(760px,calc(100% - 28px));max-height:min(860px,calc(100vh - 28px));overflow:auto}.character-dialog-shell{display:grid;gap:14px;padding:0 22px 22px}.character-dialog-shell>.dialog-header{margin:0 -22px}.character-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.character-slot{display:grid;gap:6px;align-content:start;padding:14px;border:1px solid var(--line);border-radius:10px;background:#10141c}.character-slot h3{margin:0;font-size:1.1rem;overflow-wrap:anywhere}.character-slot p{margin:0}.character-slot.playing{border-color:var(--gold);box-shadow:0 0 0 1px #d5a84b59 inset}.character-slot.empty{border-style:dashed;color:var(--muted)}.character-slot.fighting:not(.playing){border-color:#5a8f6b}.character-status{font-size:.85rem;color:var(--muted)}.character-slot.fighting .character-status{color:#9ad3aa}.character-note{font-size:.82rem;color:#e5a07a}.character-slot-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.character-slot-actions button:disabled{opacity:.55;cursor:default}.character-create{display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-radius:10px;background:#10141c}.character-create h3{margin:0}.character-create label{display:grid;gap:6px;color:var(--muted);font-size:.9rem}.character-create input[type=text],.character-create #character-name{min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:#0b0d12;font:inherit}.character-create fieldset{display:grid;gap:8px;margin:0;padding:0;border:0}.character-create legend{padding:0;margin-bottom:8px;color:var(--muted);font-size:.9rem}.class-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.class-choice{position:relative;display:block;cursor:pointer}.class-choice input{position:absolute;opacity:0;inset:0}.class-choice-body{display:grid;gap:5px;height:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:#0b0d12;color:var(--text)}.class-choice input:checked+.class-choice-body{border-color:var(--gold);box-shadow:0 0 0 1px #d5a84b66 inset}.class-choice input:focus-visible+.class-choice-body{outline:2px solid var(--gold-bright);outline-offset:2px}.class-choice.taken{cursor:not-allowed;opacity:.55}.class-choice small{color:var(--muted)}.class-choice em{color:var(--muted);font-size:.8rem}.start-stats{display:flex;flex-wrap:wrap;gap:4px 12px;color:var(--muted);font-size:.85rem}.start-stats strong{color:var(--gold-bright)}.class-fixed{margin:0;color:var(--muted);font-size:.9rem}.hero-heading-actions{display:flex;gap:8px}@media(max-width:520px){.character-dialog-shell{padding:0 14px 16px}.character-dialog-shell>.dialog-header{margin:0 -14px}}:root{--bg: #060a16;--surface: #0e1530;--surface-2: #151e40;--line: #27315f;--line-soft: rgba(120, 140, 255, .18);--gold: #e6b04a;--gold-bright: #ffe09a;--cyan: #5ad2ff;--violet: #8b6cff;--magenta: #d25cf0;--green: #52d48a;--red: #f06a52;--orange: #ff9a3d;--text: #eef1fb;--muted: #9aa6c8;--glow: 0 0 0 1px rgba(90, 210, 255, .07), 0 14px 34px rgba(2, 4, 14, .6), inset 0 1px 0 rgba(255, 255, 255, .06);--shadow: 0 18px 50px rgba(2, 4, 14, .55)}*{scrollbar-width:thin;scrollbar-color:#2b376e transparent}body{background:radial-gradient(1.5px 1.5px at 12% 22%,rgba(255,255,255,.45),transparent 60%),radial-gradient(1px 1px at 78% 14%,rgba(255,255,255,.4),transparent 60%),radial-gradient(1.5px 1.5px at 62% 70%,rgba(255,255,255,.25),transparent 60%),radial-gradient(circle at 16% 0%,rgba(139,108,255,.2),transparent 36rem),radial-gradient(circle at 90% 8%,rgba(90,210,255,.12),transparent 32rem),radial-gradient(circle at 60% 100%,rgba(210,92,240,.08),transparent 34rem),linear-gradient(160deg,#050813,#0a1126 56%,#060913);background-attachment:fixed}.app{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}.game-shell{width:auto;max-width:1560px;margin:0;padding:14px 18px 16px;min-width:0}.sidebar{position:sticky;top:0;align-self:start;height:100vh;display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding:16px 12px 12px;border-right:1px solid var(--line-soft);background:linear-gradient(180deg,#161c42f7,#080c1efc)}.sidebar .brand{padding:2px 6px 6px}.sidebar .brand-mark{width:46px;height:46px;border-color:var(--cyan);color:#e4f8ff;background:linear-gradient(145deg,#3a2f94,#101a3e);box-shadow:0 0 22px #5ad2ff73,inset 0 0 12px #8b6cff80;text-shadow:0 0 10px rgba(90,210,255,.8)}.sidebar .eyebrow{color:var(--cyan);letter-spacing:.16em}.sidebar h1{font-size:1.3rem;background:linear-gradient(90deg,#fff,#b9a8ff);-webkit-background-clip:text;background-clip:text;color:transparent}.side-hero{display:grid;grid-template-columns:44px minmax(0,1fr);gap:2px 10px;align-items:center;padding:10px;border:1px solid rgba(230,176,74,.35);border-radius:12px;background:linear-gradient(135deg,#3c2c1280,#0e1430d9);box-shadow:0 0 18px #e6b04a14}.side-hero .hero-avatar{grid-row:1 / 3;width:44px;height:44px}.side-hero-text{display:grid;min-width:0;line-height:1.2}.side-hero-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem}.side-hero-text small{color:var(--muted);font-size:.72rem}.side-xp{grid-column:1 / -1;height:6px;margin-top:6px;overflow:hidden;border-radius:99px;background:#050818}.side-xp-fill{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2d7a49,#52d48a);transition:width .3s ease}.system-nav{display:flex;flex-direction:column;flex:1 1 auto;gap:3px;margin:0;grid-template-columns:none}.nav-group{display:flex;align-items:center;gap:8px;margin:12px 6px 3px;color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.nav-group:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line-soft),transparent)}.system-nav button{display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;justify-content:stretch;min-height:44px;padding:6px 10px;border:1px solid transparent;border-radius:10px;color:var(--text);text-align:left;background:transparent;font-weight:650;transition:background .15s,border-color .15s}.system-nav button i{grid-row:1 / 3;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:linear-gradient(145deg,#8b6cff47,#5ad2ff1f);font-style:normal;font-size:1rem}.system-nav button b{font-weight:700;font-size:.9rem;line-height:1.15}.system-nav button span{color:var(--muted);font-size:.68rem;font-weight:600;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.system-nav button:hover{border-color:#5ad2ff73;background:#5ad2ff12}.system-nav button[aria-current=true]{border-color:#e6b04ab3;background:linear-gradient(90deg,#e6b04a29,#8b6cff14);box-shadow:inset 3px 0 0 var(--gold)}.system-nav button[aria-current=true] i{background:linear-gradient(145deg,#e6b04a,#a8731c)}#active-buff-hud{display:none!important}.side-status{display:grid;gap:2px;padding:10px 8px 2px;border-top:1px solid var(--line-soft);color:var(--muted);font-size:.7rem}.side-status .save-state{color:#8be0ad;font-size:.74rem}.offline-state{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar{display:flex;align-items:center;gap:10px 14px;padding:9px 12px;margin-bottom:10px;border:1px solid var(--line-soft);border-radius:14px;background:linear-gradient(180deg,#171f44eb,#0a0f26f2);box-shadow:var(--glow)}.hero-chip{display:flex;align-items:center;gap:10px;min-width:0;flex:0 0 auto;padding-right:6px}.hero-avatar{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--gold);border-radius:12px;background:linear-gradient(145deg,#3a2a10,#141a38);font-size:1.3rem;box-shadow:0 0 16px #e6b04a40}.hero-chip strong{display:block;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.02rem}.hero-chip small{display:block;color:var(--muted);font-size:.72rem}.resource-bar{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 auto;min-width:0;justify-content:flex-end}.res-chip{display:inline-flex;align-items:center;gap:7px;padding:4px 12px 4px 5px;border:1px solid var(--line);border-radius:99px;background:linear-gradient(180deg,#0e1430e6,#070b1ce6);font-size:.8rem;white-space:nowrap}.res-chip i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font-style:normal;font-size:.95rem;background:#8b6cff38}.res-chip span{color:var(--muted);font-size:.7rem}.res-chip strong{color:#fff;font-variant-numeric:tabular-nums}.res-chip.c-level i{background:#ffe09a33}.res-chip.c-gold{border-color:#e6b04a80}.res-chip.c-gold i{background:#e6b04a4d}.res-chip.c-gold strong{color:var(--gold-bright)}.res-chip.c-plat i{background:#5ad2ff3d}.res-chip.c-plat strong{color:#aeeaff}.res-chip.c-magic i{background:#d25cf042}.res-chip.c-magic strong{color:#f0b4ff}.res-chip.c-god i{background:#ff9a3d47}.res-chip.c-god strong{color:#ffc98c}.res-chip.c-points i{background:#52d48a3d}.res-chip.c-points strong{color:#9cf0bf}.hero-banner{position:relative;margin-bottom:12px;padding:16px 16px 14px;overflow:hidden;border:1px solid rgba(139,108,255,.4);border-radius:14px;box-shadow:var(--glow);background:linear-gradient(90deg,#060916ed,#06091680 55%,#060916e6),var(--banner-art, none),radial-gradient(circle at 78% 10%,rgba(210,92,240,.5),transparent 20rem),radial-gradient(circle at 20% 120%,rgba(90,210,255,.35),transparent 22rem),linear-gradient(135deg,#1b1558,#0b1a3c 52%,#321458);background-size:cover;background-position:center}.hero-banner:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(1.5px 1.5px at 30% 30%,#fff9,transparent 60%),radial-gradient(1px 1px at 55% 70%,#fff8,transparent 60%),radial-gradient(1.5px 1.5px at 86% 36%,#fff9,transparent 60%),radial-gradient(1px 1px at 8% 80%,#fff7,transparent 60%)}.banner-bars{position:relative;display:grid;gap:8px;max-width:820px}.banner-bar{position:relative;display:flex;align-items:center;gap:8px;height:30px;padding:0 12px 0 8px;overflow:hidden;border:1px solid rgba(255,255,255,.22);border-radius:99px;background:#050814c7;font-size:.78rem;box-shadow:inset 0 1px 6px #00000080}.banner-fill{position:absolute;inset:0 auto 0 0;width:0;border-radius:inherit;transition:width .3s ease;box-shadow:0 0 14px currentColor}.banner-fill:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.28),transparent 55%)}.banner-bar.enemy .banner-fill{color:#b24ee0;background:linear-gradient(90deg,#6a2fc8,#d25cf0)}.banner-bar.hp .banner-fill{color:#f06a52;background:linear-gradient(90deg,#9a2a28,#f06a52)}.banner-bar.xp .banner-fill{color:#52d48a;background:linear-gradient(90deg,#1f7a45,#52d48a)}.banner-icon,.banner-text,.banner-bar b{position:relative;z-index:1;text-shadow:0 1px 2px rgba(0,0,0,.85)}.banner-icon{font-style:normal;font-size:1rem}.banner-text{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.banner-bar b{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:800;white-space:nowrap}.dash-grid{display:grid;grid-template-columns:minmax(270px,.95fr) minmax(440px,1.6fr) minmax(260px,.85fr);gap:12px;align-items:start}.col{display:grid;gap:12px;min-width:0}.panel{position:relative;padding:16px;border:1px solid var(--line-soft);border-radius:14px;box-shadow:var(--glow);background:linear-gradient(165deg,#1a224cf2,#0a0f26f7)}.panel:before{content:"";position:absolute;top:0;left:18px;right:18px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--accent, var(--cyan)),transparent);opacity:.85}.panel-heading{margin-bottom:14px}.panel-heading.compact{margin-bottom:10px;align-items:center}.panel-heading h2{display:flex;align-items:center;gap:8px;font-size:1.02rem;letter-spacing:.01em}.panel-heading h2 i{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#8b6cff33;font-style:normal;font-size:.9rem}.points-pill{padding:4px 11px;border:1px solid rgba(230,176,74,.45);border-radius:99px;color:var(--gold-bright);background:#e6b04a1a;font-size:.72rem;font-weight:700;white-space:nowrap}.points-pill b{font-variant-numeric:tabular-nums}.wide{width:100%;margin-top:10px}.empty-state{padding:12px 10px;font-size:.82rem}.overview-head{display:flex;align-items:center;gap:14px;margin-bottom:10px}.avatar-frame{position:relative;flex:0 0 auto;width:74px;height:74px;border-radius:18px;padding:3px;background:conic-gradient(from 210deg,#e6b04a,#8b6cff,#5ad2ff,#e6b04a);box-shadow:0 0 22px #8b6cff66}.avatar-glyph{display:grid;place-items:center;width:100%;height:100%;border-radius:15px;background:radial-gradient(circle at 50% 30%,#2d2a6a,#0d1230 70%);font-size:2.1rem}.avatar-level{position:absolute;right:-6px;bottom:-6px;min-width:30px;padding:1px 8px;border:1px solid #ffe39a;border-radius:99px;color:#1a1204;background:linear-gradient(#ffe39a,#cf942c);font-size:.78rem;text-align:center;box-shadow:0 2px 8px #00000080}.overview-id{min-width:0}.overview-id h2{font-size:1.25rem;overflow-wrap:anywhere;line-height:1.2}.class-fixed{margin:2px 0 0;color:var(--muted);font-size:.82rem}.hero-heading-actions{display:flex;gap:8px;margin-bottom:12px}.hero-heading-actions .quiet-button{flex:1}.combat-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px}.combat-numbers div{padding:9px 6px;text-align:center;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,#05091899,#0e143080)}.combat-numbers span{color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.combat-numbers strong{margin-top:1px;color:var(--gold-bright);font-size:1.15rem;font-variant-numeric:tabular-nums}.vitals{gap:10px}.vital-label{margin-bottom:4px;font-size:.8rem}.meter{height:11px;background:#050818;box-shadow:inset 0 1px 4px #000000b3,0 0 0 1px #ffffff0f}.meter span{background:linear-gradient(90deg,#8a2424,#f06a52);box-shadow:0 0 10px #f06a5273}.meter.xp span{background:linear-gradient(90deg,#2a62a6,#5ad2ff);box-shadow:0 0 10px #5ad2ff66}.meter.stamina span{background:linear-gradient(90deg,#1f7a45,#52d48a);box-shadow:0 0 10px #52d48a66}.auto-potions{margin-top:12px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:#05091866}.auto-potions summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;list-style:none}.auto-potions summary::-webkit-details-marker{display:none}.auto-potions summary:after{content:"▾";font-size:.9rem;transition:transform .15s}.auto-potions:not([open]) summary:after{transform:rotate(-90deg)}.combat-details{margin-top:6px}.combat-details summary{cursor:pointer;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;list-style:none}.combat-details summary::-webkit-details-marker{display:none}.combat-details summary:after{content:" ▾"}.combat-details:not([open]) summary:after{content:" ▸"}.potion-trigger{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 10px;margin-top:8px}.potion-trigger label{display:flex;align-items:center;gap:6px;font-size:.7rem;white-space:nowrap}.potion-trigger input[type=range]{min-height:22px;padding:0}.potion-trigger-help{align-items:center;margin-top:8px}.character-summary{margin-top:10px}.attr-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.attr-row{display:grid;grid-template-columns:minmax(0,1fr) 38px;grid-template-areas:"name plus" "value plus";align-items:center;column-gap:8px;padding:8px 8px 8px 12px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#05091880,#0e143073)}.attr-name{grid-area:name;display:flex;align-items:baseline;gap:5px;min-width:0;line-height:1.15}.attr-name i{font-style:normal;font-size:.85rem}.attr-name b{color:var(--cyan);letter-spacing:.06em;font-size:.82rem}.attr-name small{display:none}.attr-row strong{grid-area:value;font-size:1.3rem;font-variant-numeric:tabular-nums}.attr-row.str strong{color:#ffb4a4}.attr-row.con strong{color:#ff9aa8}.attr-row.dex strong{color:#a8f0c4}.attr-row.wis strong{color:#c9b8ff}.attr-plus{grid-area:plus;width:38px;min-height:38px;height:38px;padding:0;border:1px solid #ffe39a;border-radius:11px;color:#1a1204;background:linear-gradient(#ffe39a,#d69a2c);font-size:1.25rem;font-weight:900;box-shadow:0 0 12px #e6b04a59}.attr-plus:disabled{border-color:var(--line);color:var(--muted);background:#121936;opacity:.45;box-shadow:none}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.stat-tile{display:grid;justify-items:center;gap:1px;padding:9px 4px 8px;text-align:center;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#05091880,#0e143073)}.stat-tile i{display:grid;place-items:center;width:30px;height:30px;margin-bottom:2px;border-radius:50%;background:#8b6cff33;font-style:normal;font-size:1rem}.stat-tile span{color:var(--muted);font-size:.66rem;line-height:1.15}.stat-tile strong{color:#fff;font-size:.98rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.gear-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin:0;padding:0;list-style:none}.gear-list li{display:flex;align-items:center;gap:8px;min-width:0;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,#05091880,#0e143073)}.gear-icon,.buff-icon{display:grid;place-items:center;overflow:hidden}.gear-icon .item-icon,.buff-icon .item-icon{width:100%!important;height:100%!important;max-width:100%;max-height:100%}.gear-icon .item-icon svg,.buff-icon .item-icon svg{width:100%;height:100%}.gear-icon{flex:0 0 auto;width:30px;height:30px}.gear-text{display:grid;min-width:0;line-height:1.2}.gear-text small{color:var(--muted);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase}.gear-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.gear-text em{color:var(--gold-bright);font-style:normal}.skill-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.skill-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;align-items:baseline}.skill-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;font-weight:650}.skill-list b{color:var(--gold-bright);font-size:.78rem;font-variant-numeric:tabular-nums}.skill-bar{grid-column:1 / -1;height:8px;overflow:hidden;border-radius:99px;background:#050818;box-shadow:inset 0 1px 3px #0009}.skill-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4a3ab8,#8b6cff 60%,#5ad2ff);box-shadow:0 0 8px #8b6cff80}.arena-panel .monster-stage{background:radial-gradient(circle,#2e2f70 0,#131a3e 46%,#0a0f26 76%);border:1px solid rgba(139,108,255,.35)}.primary-button{border-color:#ffe39a;color:#1a1204;background:linear-gradient(#ffe39a,#cf942c)}.primary-button:disabled{opacity:.5}#auto-button{min-height:54px;font-size:1.05rem;letter-spacing:.03em;box-shadow:0 6px 26px #e6b04a4d}#auto-button.active{box-shadow:0 6px 26px #f06a524d}.room-enemy{border-color:var(--line);background:linear-gradient(180deg,#0509188c,#0e143080)}.room-enemy.is-target{border-color:var(--gold);background:linear-gradient(180deg,#3c2c1280,#0e143099)}.room-note{color:var(--muted)}.log-panel{display:flex;flex-direction:column;min-height:0}.journal-tabs{display:flex;flex-wrap:wrap;gap:4px}.journal-tab{min-height:32px;padding:4px 12px;border:1px solid var(--line);border-radius:99px;color:var(--muted);background:transparent;font-size:.78rem;font-weight:700}.journal-tab:hover{color:#fff;border-color:#5ad2ff80}.journal-tab[aria-selected=true]{border-color:var(--cyan);color:#e4f8ff;background:#5ad2ff29;box-shadow:0 0 12px #5ad2ff2e}.battle-log{max-height:340px;min-height:140px;gap:3px;padding:8px;border:1px solid var(--line);border-radius:12px;background:#04071499}.battle-log li{padding:5px 8px;border-left:3px solid var(--line);border-radius:0 6px 6px 0;background:transparent;font-size:.8rem;line-height:1.4;overflow-wrap:anywhere}.battle-log li:nth-child(odd){background:#ffffff06}.battle-log li time{margin-right:4px;color:#6f7ba8;font-variant-numeric:tabular-nums;font-weight:700}.battle-log .who{margin-right:4px;font-weight:800}.who-system{color:var(--orange)}.who-loot{color:var(--gold-bright)}.who-party{color:var(--cyan)}.battle-log li.win{border-color:var(--green)}.battle-log li.loss{border-color:var(--red)}.battle-log li.level{border-color:var(--gold);color:var(--gold-bright)}.battle-log .empty{color:var(--muted);font-style:italic;border-left-color:transparent}.chat-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px}.chat-box input{min-height:42px;border-radius:99px;padding-left:16px}.chat-box input:disabled,.chat-box button:disabled{opacity:.55}.chat-box button{min-height:42px;padding:0 20px;border-radius:99px}.buff-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}.buff-row{--b: var(--green);display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--b) 55%,transparent);border-radius:12px;background:linear-gradient(90deg,color-mix(in srgb,var(--b) 24%,transparent),#05091866);box-shadow:inset 3px 0 0 var(--b)}.buff-xp_boost{--b: #ff9a3d}.buff-gold_boost{--b: #f2c94c}.buff-damage_boost{--b: #f06a52}.buff-defense_boost{--b: #5a9bff}.buff-pet_xp_boost,.buff-pet_attack_boost,.buff-pet_defense_boost{--b: #52d48a}.buff-icon{flex:0 0 auto;width:34px;height:34px}.buff-text{display:grid;min-width:0;line-height:1.2}.buff-text strong{font-size:.88rem}.buff-text small{color:var(--muted);font-size:.7rem}.boss-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}.boss-tile{position:relative;display:grid;gap:2px;justify-items:center;align-content:center;min-height:140px;padding:10px 6px 9px;overflow:hidden;text-align:center;border:1px solid rgba(240,106,82,.6);border-radius:14px;color:var(--text);background:radial-gradient(circle at 50% 0,#f06a5266,#070a1ae6 72%)}.boss-tile.ready{border-color:#52d48ad9;background:radial-gradient(circle at 50% 0,#52d48a61,#070a1ae6 72%);box-shadow:0 0 18px #52d48a29}.boss-glyph{font-size:2.5rem;line-height:1.1;filter:drop-shadow(0 4px 8px rgba(0,0,0,.6))}.boss-portrait{display:block;width:96px;max-width:100%;height:96px;object-fit:contain;border-radius:9px;background:#10131b;margin-bottom:4px}.boss-tile{min-width:0}.boss-tile strong{overflow-wrap:anywhere}.boss-tile-zone{color:var(--muted);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase}.boss-tile strong{font-size:.9rem;line-height:1.15}.boss-tile small{color:var(--gold-bright);font-size:.72rem}.boss-tile em{margin-top:3px;padding:1px 10px;border-radius:99px;font-style:normal;font-size:.7rem;font-weight:800;background:#f06a5240;color:#ffc4b8}.boss-tile.ready em{background:#52d48a40;color:#b4f5cf}.boss-tile:hover{border-color:var(--cyan)}.activity-clock{display:flex;align-items:center;gap:8px}.activity-clock span{padding:3px 11px;border:1px solid var(--line);border-radius:99px;background:#050918b3;font-variant-numeric:tabular-nums;font-size:.78rem}.activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:8px}.act-tile{display:grid;grid-template-columns:26px minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#05091880,#0e143073)}.act-tile i{grid-row:1 / 3;font-style:normal;font-size:1.15rem;text-align:center}.act-tile span{color:var(--muted);font-size:.64rem;text-transform:uppercase;letter-spacing:.06em}.act-tile strong{font-size:1.1rem;font-variant-numeric:tabular-nums;line-height:1.1}.act-tile.wins strong{color:#7ce0a3}.act-tile.losses strong{color:#ff9d94}.act-tile:last-child{grid-column:1 / -1}.avatar-frame.has-art{width:104px;height:128px;border-radius:20px}.avatar-frame.has-art .avatar-glyph{background:var(--art) center top / cover no-repeat;font-size:0;color:transparent;border-radius:17px}.avatar-frame.has-art .avatar-level{right:-8px;bottom:-8px}.hero-banner.has-art{background:linear-gradient(90deg,#060916e0,#06091659 60%,#060916cc),var(--art) center / cover no-repeat;min-height:150px}footer{margin-top:12px;border-radius:10px;background:#090d1ecc}dialog{border-color:#5ad2ff4d}dialog::backdrop{background:#03050ec7}.system-dialog,#settings-dialog,#name-dialog,#skill-dialog,.room-builder-dialog,.character-dialog{border:1px solid rgba(90,210,255,.34);border-radius:16px;background:linear-gradient(165deg,#10183a,#080c20);box-shadow:0 0 0 1px #8b6cff38,0 0 40px #5ad2ff12,0 24px 80px #000c}.dialog-header{background:linear-gradient(90deg,#4030a080,#0e1430e6 70%);border-bottom:1px solid rgba(90,210,255,.25)}.dialog-header .eyebrow{color:var(--cyan);letter-spacing:.14em}.dialog-header h2{font-size:1.3rem}.dialog-header .quiet-button{border-color:#f06a528c;color:#ffd2c8;background:linear-gradient(#5a2a30,#2e1620);border-radius:10px}.menu-battle-bar{background:#060a1abf;border-bottom-color:#5ad2ff2e}.system-summary{gap:6px}.summary-chip{border-color:var(--line);background:#060a1ab3;color:var(--muted)}.summary-chip strong{color:var(--gold-bright)}.system-card,.shop-card,.skill-card{border:1px solid var(--line);border-radius:12px;background:linear-gradient(165deg,#1a224cbf,#080c20cc);box-shadow:inset 0 1px #ffffff0d}.system-card.selected{border-color:var(--gold);box-shadow:0 0 16px #e6b04a33,inset 0 0 0 1px #e6b04a40}.system-card h3{color:#fff}.small-button{background:linear-gradient(#1b2656,#121a40);border-color:#34408a;border-radius:8px}.small-button:hover:not(:disabled){border-color:var(--cyan);color:#fff}.small-button[aria-pressed=true],.small-button.active{border-color:var(--gold);color:#1a1204;background:linear-gradient(#ffe39a,#cf942c);font-weight:800}.quiet-button,.secondary-button{background:#0e1530e6}.quiet-button:hover,.small-button:hover:not(:disabled){box-shadow:0 0 12px #5ad2ff33}select,input:not([type=range]):not([type=checkbox]){border-color:#34408a;border-radius:10px;background:#070b1e}select:focus,input:focus{border-color:var(--cyan)}.status-line,.item-stat{color:var(--gold-bright)}.empty-state{border-color:var(--line);border-radius:12px;background:#060a1a80}.section-divider{background:linear-gradient(90deg,transparent,var(--line),transparent)}.subtabs{display:none}@media(max-width:1280px){.app{grid-template-columns:216px minmax(0,1fr)}.dash-grid{grid-template-columns:minmax(260px,1fr) minmax(380px,1.5fr)}.col-right{grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}}@media(max-width:1000px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line-soft);padding:10px}.sidebar .brand,.side-hero{display:none}.system-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.nav-group{grid-column:1 / -1;margin:8px 4px 0}.col-right{grid-template-columns:1fr 1fr}}@media(max-width:720px),(max-width:1000px)and (max-height:500px)and (orientation:landscape){.app{display:block}.game-shell{padding:calc(6px + env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) calc(150px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));width:100%}.sidebar{display:none}body[data-view=systems] .sidebar{display:flex;border:0;padding:4px 0 0;background:none;height:auto;position:static}body[data-view=systems] .side-hero{display:grid}body[data-view=systems] .system-nav{grid-template-columns:1fr 1fr;gap:8px}body[data-view=systems] .system-nav button{min-height:60px;padding:8px 10px;border-color:var(--line);background:#0e1530cc}body[data-view=systems] .topbar,body[data-view=systems] .hero-banner,body[data-view=systems] .dash-grid{display:none}.topbar{flex-wrap:nowrap;gap:8px;padding:6px 8px;margin-bottom:6px;border-radius:12px}.hero-chip{padding:0;gap:8px}.hero-avatar{width:34px;height:34px;font-size:1.05rem;border-radius:10px}.hero-chip strong{max-width:92px;font-size:.9rem}.hero-chip small{display:none}.resource-bar{flex-wrap:nowrap;overflow-x:auto;flex:1 1 auto;justify-content:flex-start;padding-bottom:1px;scrollbar-width:none}.resource-bar::-webkit-scrollbar{display:none}.res-chip{flex:0 0 auto;padding:3px 9px 3px 4px}.res-chip i{width:22px;height:22px;font-size:.8rem}.res-chip span{display:none}.dash-grid,.col,.col-left,.col-center,.col-right{display:block}.panel{margin-bottom:8px;padding:11px;border-radius:12px}.panel-heading{margin-bottom:8px}[data-card]{display:none}body[data-view=log] [data-card~=log]{display:block}.subtabs{display:none;gap:6px;margin:0 0 8px;padding:3px;border:1px solid var(--line);border-radius:99px;background:#05091899}body[data-view=arena] .subtabs[data-subtabs=arena],body[data-view=hero] .subtabs[data-subtabs=hero]{display:flex}.subtabs button{flex:1;min-height:34px;padding:0 8px;border:0;border-radius:99px;color:var(--muted);background:transparent;font-size:.8rem;font-weight:750}.subtabs button[aria-selected=true]{color:#1a1204;background:linear-gradient(#ffe39a,#cf942c);box-shadow:0 0 12px #e6b04a4d}body[data-view=arena][data-sub-arena=fight] [data-card~=arena][data-sub~=fight],body[data-view=arena][data-sub-arena=status] [data-card~=arena][data-sub~=status],body[data-view=hero][data-sub-hero=overview] [data-card~=hero][data-sub~=overview],body[data-view=hero][data-sub-hero=stats] [data-card~=hero][data-sub~=stats],body[data-view=hero][data-sub-hero=gear] [data-card~=hero][data-sub~=gear],body[data-view=arena] .hero-banner{display:block}.hero-banner{margin-bottom:8px;padding:8px}.banner-bars{gap:5px;max-width:none}.banner-bar{height:23px;padding:0 9px 0 6px;font-size:.7rem}.banner-icon{font-size:.8rem}.arena-panel .selectors{grid-template-columns:1fr 1.4fr;gap:6px}.arena-panel label{font-size:.66rem;gap:2px}.arena-panel select{min-height:40px;padding:6px 8px;font-size:.85rem}#room-builder-open{min-height:30px;margin-top:6px;padding:2px 10px;font-size:.72rem}.arena-panel .room-heading{margin-top:8px}.arena-panel .room-heading h2{font-size:1.05rem}.arena-panel .room-summary{margin:4px 0 6px;font-size:.72rem}.arena-panel .room-note{display:none}.arena-panel .room-enemies{grid-template-columns:1fr 1fr;gap:5px}.arena-panel .room-enemy{gap:6px;padding:5px}.arena-panel .room-portrait{flex-basis:38px;height:44px}.arena-panel .room-enemy-info strong{font-size:.7rem}.arena-panel .room-enemy-info small{font-size:.56rem}.arena-panel .monster-card{margin-top:6px}.arena-panel .monster-card h2{font-size:.95rem}.arena-panel .monster-card .eyebrow{font-size:.58rem}.arena-panel .monster-stats{grid-template-columns:repeat(4,1fr);margin:6px 0}.arena-panel .monster-stats span{padding:5px 2px;font-size:.62rem}.arena-panel .monster-stats strong{font-size:.74rem}.fight-actions{position:sticky;z-index:6;bottom:calc(72px + env(safe-area-inset-bottom));margin:8px -6px 0;padding:14px 6px 6px;background:linear-gradient(180deg,transparent,rgba(6,10,24,.94) 38%)}#auto-button{min-height:50px}.combat-progress small{display:none}.combat-progress p{margin:3px 0;font-size:.78rem}#main-potion-belt .quick-slot-grid{gap:5px}#main-potion-belt .quick-slot{min-height:58px}#main-potion-belt .quick-slot .item-icon{width:34px;height:34px}#main-potion-belt small,#main-potion-belt .detail-note{display:none}.attr-row strong{font-size:1.15rem}.stat-grid{gap:5px}.stat-tile{padding:7px 2px 6px}.stat-tile i{width:26px;height:26px;font-size:.9rem}.gear-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.gear-list li{gap:6px;padding:5px 6px}.gear-icon{width:24px;height:24px}.gear-text small{display:none}.gear-text strong{font-size:.64rem}.gear-card .wide,.skills-card .wide{margin-top:8px;min-height:36px}.buff-list{grid-template-columns:1fr 1fr;gap:5px}.buff-row{gap:6px;padding:5px 7px}.buff-icon{width:26px;height:26px}.buff-text strong{font-size:.72rem}.buff-text small{font-size:.6rem}.buff-row.permanent .buff-text small{display:none}.boss-tile{min-height:86px;padding:5px 4px}.boss-glyph{font-size:1.5rem}.boss-portrait{width:64px;height:64px;margin-bottom:2px}.boss-tile strong{font-size:.78rem}.boss-tile-zone{display:none}.avatar-frame.has-art{width:84px;height:104px}.hero-banner.has-art{min-height:110px}.activity-grid{grid-template-columns:repeat(5,1fr);gap:4px}.act-tile{grid-template-columns:1fr;grid-template-rows:auto auto auto;justify-items:center;text-align:center;padding:6px 2px;row-gap:0}.act-tile i{grid-row:auto;font-size:.95rem}.act-tile span{font-size:.52rem;letter-spacing:0}.act-tile strong{font-size:.92rem}.act-tile:last-child{grid-column:auto}.activity-card .detail-note{display:none}.skill-list{gap:6px}.skill-list li:nth-child(n+5){display:none}.log-panel .panel-heading{flex-direction:column;align-items:stretch;gap:8px}.journal-tabs{width:100%;flex-wrap:nowrap}.journal-tab{flex:1;padding:4px 6px}.character-summary .detail-note{display:none}.character-summary .quiet-button{min-height:36px}.overview-head{gap:10px;margin-bottom:8px}.avatar-frame{width:60px;height:60px;border-radius:15px}.avatar-glyph{font-size:1.7rem;border-radius:12px}.overview-id h2{font-size:1.05rem}.hero-heading-actions{margin-bottom:8px}.hero-heading-actions .quiet-button{min-height:36px}.combat-numbers{margin-bottom:10px}.combat-numbers strong{font-size:1rem}.vitals{gap:7px}.meter{height:10px}.character-summary .detail-note{margin-bottom:6px}.battle-log{max-height:calc(100dvh - 330px);min-height:220px}.col-right{display:block}footer{margin-bottom:8px}}@media(max-width:335px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.boss-tiles,.gear-list{grid-template-columns:1fr}}body.auth-pending{display:grid!important;align-items:center;margin:0;padding:clamp(20px,2.5vw,48px)!important;min-height:100vh;min-height:100dvh;height:auto!important;background:radial-gradient(ellipse at 15% 30%,#192847 0,transparent 55%),#090e20}body.auth-pending>:not(#auth-entry){display:none!important}#auth-entry{box-sizing:border-box;width:min(1480px,100%);max-width:none;margin:auto;padding:0;border:1px solid #3c496a;border-radius:22px;background:#111a31;color:#f3f4ff;font:16px/1.5 system-ui;box-shadow:0 30px 100px #03061288;overflow:hidden}#auth-entry .auth-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,1fr);min-height:clamp(580px,calc(100svh - 96px),780px)}#auth-entry .auth-hero{display:flex;flex-direction:column;justify-content:space-between;min-width:0;padding:clamp(24px,3.2vw,56px);background:linear-gradient(180deg,#060c1933 25%,#080f20e8),url(../assets/ui/login-citadel-v1.webp) center/cover}#auth-entry .auth-test-badge{align-self:flex-start;border:1px solid #d1ad6b77;border-radius:5px;padding:5px 10px;background:#0c1429c7;color:#f0d497;font-size:11px;font-weight:700;letter-spacing:.14em}#auth-entry .auth-brand{padding-top:180px}#auth-entry .auth-genre{margin:0 0 12px;color:#efcf89;font-size:12px;font-weight:700;letter-spacing:.28em}#auth-entry .auth-brand-title{margin:0;font:700 clamp(48px,5.4vw,88px)/1.05 Georgia,serif;letter-spacing:-.045em;text-shadow:0 3px 24px #050b18}#auth-entry .auth-brand-title span{color:#efcf89}#auth-entry .auth-classes{margin:18px 0 0;color:#e2e7f2;font-size:14px;letter-spacing:.1em}#auth-entry .auth-classes span{padding:0 8px;color:#dfb563}#auth-entry .auth-card{align-self:center;justify-self:center;width:100%;max-width:540px;min-width:0;padding:clamp(28px,3.3vw,50px)}#auth-entry .auth-form-heading{margin-bottom:28px}#auth-entry h1{font:700 32px/1.2 Georgia,serif;margin:0 0 10px;letter-spacing:-.02em}#auth-entry .auth-form-heading p,#auth-entry .auth-status p{color:#b6c2db;font-size:14px;margin:0}#auth-entry form,#auth-entry label,#auth-entry .auth-field{display:grid;gap:8px}#auth-entry form{gap:18px}#auth-entry label{font-size:13px;font-weight:600;color:#c8d2e8}#auth-entry input,#auth-entry button{box-sizing:border-box;min-height:48px;border-radius:8px;font:16px system-ui}#auth-entry input{width:100%;min-width:0;padding:12px 14px;background:#0a1227;border:1px solid #435273;color:#fff}#auth-entry input:autofill{-webkit-text-fill-color:#fff;box-shadow:0 0 0 1000px #26334d inset}#auth-entry .auth-password{position:relative;display:block;min-width:0}#auth-entry .auth-password input{padding-right:76px}#auth-entry .auth-password-toggle{position:absolute;top:2px;right:2px;bottom:2px;min-width:64px;min-height:44px;padding:8px;border:0;background:transparent;color:#ecd098;font-size:13px}#auth-entry button{padding:12px 14px;cursor:pointer;color:#edf1ff;background:#202c49;border:1px solid #4b5c7d;white-space:normal}#auth-entry .auth-primary{width:100%;background:linear-gradient(110deg,#e9c776,#c99a40);border-color:#ebcc81;color:#191303;font-weight:750}#auth-entry button:disabled{opacity:.5;cursor:wait}#auth-entry .auth-link{background:transparent;border-color:transparent;padding:8px 0;color:#ecd098;font-size:13px}#auth-entry .auth-forgot{display:flex;justify-content:flex-end;margin-top:-12px;margin-bottom:-8px}#auth-entry .auth-forgot button{min-height:44px}#auth-entry .auth-register-row{display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:space-between;align-items:center;padding:18px 0;margin-top:22px;border-top:1px solid #33405e}#auth-entry .auth-register-row span{font-size:13px;color:#b6c2db}#auth-entry .auth-secondary{font-size:13px}#auth-entry .auth-back{margin-top:12px}#auth-entry .auth-help{border-top:1px solid #2b3853}#auth-entry .auth-help summary{display:list-item;min-height:44px;padding:12px 0;font-size:13px;color:#b9c5db;cursor:pointer}#auth-entry .auth-help nav{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:14px}#auth-entry [data-auth-feedback]{color:#f1cc83;overflow-wrap:anywhere;margin:16px 0 0}#auth-entry [data-auth-feedback]:empty{display:none}#auth-entry .auth-test-note{margin:12px 0 0;font-size:12px;color:#a8b8d2}#auth-entry .auth-local-note{font-size:13px;color:#b7c3d9;margin:0 0 12px}#auth-entry .auth-status{display:grid;gap:16px}#auth-entry :is(button,input,summary):focus-visible{outline:2px solid #f1d28e;outline-offset:3px}@media(hover:hover){#auth-entry button:hover:not(:disabled){filter:brightness(1.13)}#auth-entry .auth-link:hover{text-decoration:underline}}@media(max-width:760px){body.auth-pending{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important;align-items:start}#auth-entry{width:min(520px,100%);border-radius:16px}#auth-entry .auth-layout{grid-template-columns:minmax(0,1fr);min-height:0}#auth-entry .auth-hero{min-height:136px;padding:16px 22px;background-position:center 42%}#auth-entry .auth-test-badge{font-size:9px;padding:3px 7px}#auth-entry .auth-brand{padding-top:14px}#auth-entry .auth-genre{margin:0 0 4px;font-size:9px;letter-spacing:.22em}#auth-entry .auth-brand-title{font-size:38px}#auth-entry .auth-classes{display:none}#auth-entry .auth-classes span{padding:0 4px}#auth-entry .auth-card{padding:22px clamp(16px,5vw,24px) 18px}#auth-entry h1{font-size:26px}#auth-entry .auth-form-heading{margin-bottom:22px}#auth-entry .auth-register-row{padding:18px 0;margin-top:18px}}@media(max-height:540px)and (max-width:1000px){body.auth-pending{padding:12px!important;align-items:start}#auth-entry{width:min(720px,100%)}#auth-entry .auth-layout{grid-template-columns:minmax(0,1fr);min-height:0}#auth-entry .auth-hero{min-height:82px;padding:14px 24px;flex-direction:row;align-items:center;background-position:center 38%}#auth-entry .auth-brand{padding:0}#auth-entry .auth-brand-title{font-size:30px}#auth-entry .auth-genre{margin-bottom:4px;font-size:9px}#auth-entry .auth-classes{display:none}#auth-entry .auth-test-badge{align-self:center;order:1}#auth-entry .auth-card{padding:24px}}body.character-entry>:not(#character-dialog):not(#auth-entry){visibility:hidden}@media(min-width:600px)and (max-width:1000px)and (max-height:540px){#auth-entry .auth-card{padding:20px 24px}#auth-entry h1{font-size:26px}#auth-entry .auth-form-heading{margin-bottom:16px}#auth-entry form[data-auth-kind=login]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}#auth-entry form[data-auth-kind=login] .auth-forgot{grid-column:2;grid-row:2;margin:0;align-items:center}#auth-entry form[data-auth-kind=login] .auth-primary{grid-column:1;grid-row:2}}body.character-entry #character-dialog::backdrop{background:#090e23}.event-character-slot{display:grid;gap:8px;align-content:start;padding:14px;border:1px dashed #7c6a46;border-radius:10px;background:#17182b;color:#b7b4c3}.event-character-slot h3,.event-character-slot p{margin:0}.event-character-slot button{min-height:44px;cursor:not-allowed}
