@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@600;800&family=Noto+Sans+Thai:wght@400;600;800&display=swap";.landing{--bg:#0b1020;--bg-2:#121a2e;--card:#161e32d9;--line:#c9a45c59;--ink:#f3f0e8;--ink-2:#aab3c5;--accent:#e3b85c;--accent-ink:#1a1206;--radius:10px;--title-font:"Cinzel", "Noto Sans Thai", serif;--body-font:"Noto Sans Thai", system-ui, sans-serif;scroll-behavior:smooth;background:var(--bg);color:var(--ink);font-family:var(--body-font);line-height:1.6;position:fixed;inset:0;overflow:hidden auto}.landing *,.landing :before,.landing :after{box-sizing:border-box}.landing h1,.landing h2,.landing h3{margin:0;line-height:1.2}.landing a{color:inherit}.lp-nav{z-index:20;background:color-mix(in srgb, var(--bg) 80%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);align-items:center;gap:24px;padding:12px clamp(16px,4vw,48px);display:flex;position:sticky;top:0}.lp-brand{text-decoration:none;display:flex}.lp-brand img{width:auto;height:40px;display:block}.lp-nav nav{gap:20px;margin-left:auto;display:flex}.lp-nav nav a{color:var(--ink-2);font-size:15px;text-decoration:none}.lp-nav nav a:hover{color:var(--ink)}.lp-btn{background:var(--accent);letter-spacing:.5px;box-shadow:0 6px 24px color-mix(in srgb, var(--accent) 45%, transparent);border-radius:999px;padding:14px 34px;font-size:18px;font-weight:800;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-block;color:var(--accent-ink)!important}.lp-btn:hover{box-shadow:0 10px 30px color-mix(in srgb, var(--accent) 60%, transparent);transform:translateY(-2px)}.lp-btn-small{box-shadow:none;padding:8px 20px;font-size:14px}.lp-btn-ghost{border:2px solid var(--ink);box-shadow:none;background:0 0;color:var(--ink)!important}.lp-btn-ghost:hover{box-shadow:none;background:color-mix(in srgb, var(--ink) 12%, transparent)}.lp-link{font-weight:600;text-decoration:none;color:var(--accent)!important}.lp-hero{align-items:center;min-height:min(92vh,860px);padding:0 clamp(16px,6vw,96px);display:flex;position:relative;overflow:hidden}.lp-hero-art{position:absolute;inset:0}.lp-hero-art img{object-fit:cover;object-position:65% center;width:100%;height:100%;display:block}.lp-hero-art:after{content:"";background:linear-gradient(90deg, #080a16eb 0%, #080a1699 38%, #080a1600 65%), linear-gradient(0deg, var(--bg) 0%, transparent 25%);position:absolute;inset:0}.lp-hero-body{max-width:560px;padding:64px 0;position:relative}.lp-kicker{color:var(--accent);letter-spacing:1px;margin:0 0 8px;font-weight:600}.lp-logo{margin:0 0 4px -2%}.lp-logo img{filter:drop-shadow(0 6px 24px #0000008c);width:min(100%,540px);height:auto;display:block}.lp-lead{color:var(--ink);opacity:.92;margin:16px 0 28px;font-size:clamp(16px,2vw,19px)}.lp-cta{flex-wrap:wrap;gap:14px;display:flex}.lp-status{color:var(--ink-2);align-items:center;gap:8px;margin-top:22px;font-size:14px;display:flex}.lp-dot{background:#888;border-radius:50%;width:9px;height:9px}.lp-dot.on{background:#4ade80;box-shadow:0 0 10px #4ade80}.lp-dot.off{background:#f87171}.lp-section{max-width:1200px;margin:0 auto;padding:clamp(56px,8vw,96px) clamp(16px,6vw,96px)}.lp-section h2{font-family:var(--title-font);text-align:center;color:var(--accent);font-size:clamp(28px,4vw,40px)}.lp-sub{text-align:center;color:var(--ink-2);max-width:640px;margin:10px auto 32px}.lp-section>h2+:not(.lp-sub){margin-top:32px}.lp-tree-wrap{gap:22px;display:grid}.lp-class-detail{border-radius:var(--radius);background:var(--card);border:1px solid var(--line);grid-template-columns:minmax(180px,280px) 1fr;align-items:center;gap:clamp(20px,4vw,44px);padding:20px clamp(16px,4vw,36px);display:grid}.lp-class-portrait{justify-content:center;align-items:flex-end;height:340px;display:flex}.lp-class-portrait .portrait-full{object-fit:contain;object-position:bottom;filter:drop-shadow(0 10px 18px #0000008c);width:100%;height:100%;animation:.35s ease-out lp-rise}.lp-class-portrait .portrait-missing{border-radius:12px;width:160px;height:220px;font-size:40px}.lp-class-text{align-content:center;gap:10px;display:grid}.lp-tier{letter-spacing:1px;color:#93c5fd;background:#243556;border-radius:999px;justify-self:start;padding:2px 10px;font-size:12px;font-weight:700}.lp-class-text h3{font-family:var(--title-font);font-size:clamp(30px,4vw,44px)}.lp-class-text h3 small{font-family:var(--body-font);color:var(--ink-2);margin-left:8px;font-size:.45em;font-weight:600}.lp-class-text p{color:var(--ink-2);margin:0;font-size:17px}.lp-lineage{color:var(--ink-2);font-size:14px}.lp-lineage button{font:inherit;color:var(--accent);cursor:var(--cur-pointer);background:0 0;border:0;padding:0}.lp-lineage button:hover{text-decoration:underline}.lp-skills{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.lp-skills li{background:#1a2338;border:1px solid #2c3550;border-radius:6px;padding:3px 9px;font-size:13px}.lp-skills small{color:var(--ink-2)}.lp-soon{font-style:italic}.lp-next{font-size:14px!important}@keyframes lp-rise{0%{opacity:0;transform:translateY(12px)}}.lp-tree{border-radius:var(--radius);background:var(--card);border:1px solid var(--line);gap:16px;padding:20px clamp(12px,3vw,28px);display:grid}.lp-tree-root{flex-direction:column;align-items:center;gap:6px;padding-bottom:14px;display:flex;position:relative}.lp-tree-root:after{content:"";background:var(--line);height:1px;position:absolute;bottom:0;left:8%;right:8%}.lp-tree-label{color:var(--ink-2);font-size:12px}.lp-tree-branches{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.lp-branch{border:1px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:10px;padding:10px 6px;display:flex}.lp-branch.active{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 6%, transparent)}.lp-branch-tier{border-top:1px dashed var(--line);flex-direction:column;align-items:center;gap:8px;width:100%;padding-top:10px;display:flex}.lp-node{flex-direction:column;align-items:center;gap:4px;width:100%;min-width:0;display:flex}.lp-kids{justify-content:center;gap:4px;width:100%;padding-top:14px;display:flex;position:relative}.lp-kids:before{content:"↓";color:var(--ink-2);font-size:11px;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.lp-kids>.lp-node .lp-chip{max-width:96px}.lp-kids.split>.lp-node .lp-chip{padding:5px 2px;font-size:11px}.lp-kids.split>.lp-node .lp-chip .portrait-face{width:36px;height:36px}.lp-chip{width:100%;max-width:104px;color:var(--ink);font:700 12px/1.15 var(--body-font);cursor:var(--cur-pointer);background:#151c2c;border:1px solid #2c3550;border-radius:10px;justify-items:center;gap:3px;padding:6px 4px;transition:border-color .15s,transform .15s;display:grid;position:relative}.lp-chip:hover{border-color:#5a6a94}.lp-chip .portrait-face{object-fit:cover;background:#0e1420;border-radius:8px;width:44px;height:44px}.lp-chip .portrait-missing{place-items:center;font-size:14px;display:grid}.lp-chip.path{background:#1a2440;border-color:#3b5b99}.lp-chip.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:#1f2a44}.lp-chip.locked{opacity:.75}.lp-chip.locked .portrait-face{filter:grayscale(.8)brightness(.8)}.lp-tree-legend{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:16px;font-size:12px;display:flex}.lp-tree-legend .dot{vertical-align:-1px;border:1px solid;border-radius:3px;width:10px;height:10px;margin-right:4px;display:inline-block}.lp-tree-legend .dot.sel{border-color:var(--accent);background:#1f2a44}.lp-tree-legend .dot.path{background:#1a2440;border-color:#3b5b99}.lp-tree-legend .dot.lock{background:#555;border-color:#2c3550}.lp-tree-count{opacity:.7;margin-left:auto}.lp-features{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;display:grid}.lp-card{border-radius:var(--radius);background:var(--card);border:1px solid var(--line);padding:22px}.lp-card h3{margin:12px 0 6px;font-size:19px}.lp-card p{color:var(--ink-2);margin:0}.lp-card-icon{width:52px;height:52px}.lp-steps{counter-reset:none;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:32px 0 0;padding:0;list-style:none;display:grid}.lp-steps li{text-align:center;padding:8px 12px}.lp-steps b{background:var(--accent);width:52px;height:52px;color:var(--accent-ink);border-radius:50%;place-items:center;font-size:22px;font-weight:800;display:inline-grid}.lp-steps h3{margin:14px 0 6px;font-size:20px}.lp-steps p{color:var(--ink-2);margin:0}.lp-news{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;display:grid}.lp-news-item time{color:var(--accent);font-size:13px;font-weight:600}.lp-news-item h3{margin:4px 0 10px}.lp-news-item ul{color:var(--ink-2);margin:0;padding-left:18px;font-size:14px}.lp-news-item li+li{margin-top:4px}.lp-final{text-align:center;background:linear-gradient(180deg, transparent, var(--bg-2));padding:clamp(56px,8vw,100px) 16px}.lp-final-logo{width:min(80%,380px);margin:0 auto 18px;display:block}.lp-final h2{font-family:var(--title-font);margin-bottom:26px;font-size:clamp(28px,4vw,42px)}.lp-footer{text-align:center;color:var(--ink-2);border-top:1px solid var(--line);background:var(--bg-2);padding:28px 16px;font-size:13px}.lp-footer p{margin:4px 0}@media (width<=1100px) and (width>=701px){.lp-tree-branches{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=700px){.lp-nav{gap:12px}.lp-nav nav{display:none}.lp-nav .lp-btn-small{margin-left:auto}.lp-hero{align-items:flex-end;min-height:88vh}.lp-hero-art img{object-position:70% center}.lp-hero-art:after{background:linear-gradient(0deg, var(--bg) 8%, color-mix(in srgb, var(--bg) 70%, transparent) 45%, transparent 75%)}.lp-hero-body{padding:32px 0 40px}.lp-class-detail{text-align:center;grid-template-columns:1fr}.lp-class-text{justify-items:center}.lp-class-portrait{height:260px}.lp-tree-branches{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-tree-count{margin-left:0}}.wiki .wk-main{max-width:1180px;margin:0 auto;padding:24px clamp(16px,4vw,48px) 64px}.wiki .wk-head h1{font-family:var(--title-font);color:var(--accent);font-size:clamp(28px,4vw,40px)}.wiki .wk-head p{color:var(--ink-2);margin:6px 0 20px}.wiki .lp-nav nav a[aria-current=page]{color:var(--accent)}.wk-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:12px;display:flex}.wk-tabs button,.wk-filters button{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);cursor:pointer;border-radius:999px;padding:6px 14px}.wk-tabs button small{color:var(--ink-2);margin-left:4px}.wk-tabs button.active,.wk-filters button.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.wk-tabs button.active small{color:var(--accent-ink)}.wk-search{min-width:0;font:inherit;color:var(--ink);background:var(--bg-2);border:1px solid var(--line);border-radius:8px;flex:0 280px;margin-left:auto;padding:7px 12px}.wk-search:focus{outline:2px solid var(--accent);outline-offset:1px}.wk-filters{flex-wrap:wrap;gap:6px;margin:12px 0 0;display:flex}.wk-filters button{padding:4px 12px;font-size:14px}.wk-filters button small{color:var(--ink-2);margin-left:2px}.wk-filters button.active small{color:var(--accent-ink)}.wk-subfilters{border-left:2px solid var(--accent);margin-top:8px;padding-left:12px}.wk-subfilters button{padding:3px 10px;font-size:13px}.wk-filters .wk-new{border-color:var(--accent);color:var(--accent);background:0 0;margin-left:auto}.wk-filters .wk-new:hover{background:var(--accent);color:var(--accent-ink)}.wk-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:start;gap:20px;margin-top:16px;display:grid}.wk-list{gap:6px;max-height:calc(100vh - 220px);padding-right:4px;display:grid;overflow-y:auto}.wk-row{border-radius:var(--radius);background:var(--card);border:1px solid #0000;align-items:center;gap:12px;padding:8px 12px;text-decoration:none;display:flex}.wk-row:hover{border-color:var(--line)}.wk-row.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--card))}.wk-row-main{flex:1;min-width:0;display:grid}.wk-row-main b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wk-row-main small,.wk-row-side small{color:var(--ink-2);font-size:12px}.wk-row-side{flex-shrink:0;align-items:center;gap:8px;display:flex}.wk-icon{background:var(--bg-2);object-fit:contain;border-radius:6px;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:12px;display:inline-grid}.wk-icon-big{width:64px;height:64px}.wk-monster-thumb{background:0 0}.wk-monster-art{object-fit:contain;flex-shrink:0;width:110px;height:110px}.wk-detail{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);min-height:240px;padding:20px;position:sticky;top:76px}.wk-page{gap:18px;display:grid}.wk-page-head{align-items:center;gap:16px;display:flex}.wk-page-head h2{font-family:var(--title-font);font-size:26px}.wk-page-head small{color:var(--ink-2)}.wk-chip-row{margin-top:6px}.wk-page h3{color:var(--accent);margin:0 0 8px;font-size:15px}.wk-facts{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:0;display:grid}.wk-facts div{background:var(--bg-2);border-radius:8px;padding:8px 10px}.wk-facts dt{color:var(--ink-2);font-size:12px}.wk-facts dd{margin:0;font-weight:600}.wk-stats{gap:4px;margin:0;padding:0;list-style:none;display:grid}.wk-stats li{background:var(--bg-2);border-radius:6px;padding:6px 10px}.wk-stats small{color:var(--ink-2)}.wk-table{border-collapse:collapse;width:100%;font-size:14px}.wk-table th{text-align:left;color:var(--ink-2);border-bottom:1px solid var(--line);padding:4px 8px;font-size:12px;font-weight:600}.wk-table td{vertical-align:middle;border-bottom:1px solid #ffffff0d;padding:6px 8px}.wk-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.wk-table th:not(:first-child){text-align:right}.wk-link{align-items:center;gap:8px;text-decoration:none;display:inline-flex}.wk-link:hover span,.wk-link:hover{color:var(--accent)}.wk-link .wk-icon{width:28px;height:28px}.wk-link small,.wk-muted,.wk-empty{color:var(--ink-2)}.wk-error{color:#ff8a8a}.wk-note{color:var(--ink-2);margin:10px 0 0;font-size:14px}.wk-script{background:var(--bg-2);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;margin:0;padding:10px 12px;font-size:13px}.wk-edit-bar{justify-content:flex-end;align-items:center;gap:12px;margin:-6px 0 8px;display:flex}.wk-flash{color:#8fe3a1;font-size:14px}.wk-btn-ghost{font:inherit;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:8px;padding:5px 12px;font-size:14px}.wk-btn-ghost:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.wk-btn-ghost:disabled{opacity:.5;cursor:default}.wk-editor{border:1px solid var(--accent);border-radius:var(--radius);background:var(--bg-2);gap:12px;margin-bottom:18px;padding:14px;display:grid}.wk-editor-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.wk-editor-head h3{color:var(--accent);margin:0;font-size:15px}.wk-form-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.wk-editor label{color:var(--ink-2);gap:4px;font-size:12px;display:grid}.wk-editor input,.wk-editor select{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:6px;min-width:0;padding:5px 8px;font-size:14px}.wk-editor input:disabled,.wk-editor select:disabled{opacity:.5}.wk-editor .wk-span-2{grid-column:span 2}.wk-editor .wk-check{color:var(--ink);align-self:end;align-items:center;gap:8px;padding-bottom:6px;font-size:14px;display:flex}.wk-editor fieldset{border:1px solid var(--line);border-radius:8px;gap:8px;margin:0;padding:8px 10px 10px;display:grid}.wk-editor legend{color:var(--accent);padding:0 4px;font-size:13px}.wk-row-edit{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.wk-row-edit>input{width:90px}.wk-editor .wk-inline{align-items:center;gap:4px;display:flex}.wk-editor .wk-inline input{width:70px}.wk-editor-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wk-logout{margin-left:auto}.wk-hint{color:var(--ink-2);margin:0;font-size:12px}.wk-chips{flex-wrap:wrap;gap:6px;display:flex}.wk-chips button{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);cursor:pointer;border-radius:999px;padding:3px 10px;font-size:13px}.wk-chips button.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.wk-row-edit select{max-width:190px}@media (width<=820px){.wk-layout{grid-template-columns:1fr}.wk-list{max-height:45vh}.wk-detail{position:static}.wk-search{flex-basis:100%;margin-left:0}}:root{--panel-bg:#121826e0;--panel-border:#c9a45c;--text:#f3f0e8;--muted:#a9b1c2;--hp:linear-gradient(90deg, #d2344a, #ff6b6b);--sp:linear-gradient(90deg, #2563eb, #60a5fa);--accent:#ffd166;--cur-default:url(/art/cursors/arrow.png) 1 1, default;--cur-pointer:url(/art/cursors/pointer.png) 12 1, pointer}*{box-sizing:border-box}html{cursor:var(--cur-default)}a,button,select,summary,label[for],[role=button],[role=tab]{cursor:var(--cur-pointer)}html,body,#root{height:100%;color:var(--text);background:#0e1420;margin:0;font-family:Noto Sans Thai,system-ui,sans-serif;overflow:hidden}.game{position:fixed;inset:0}.panel{background:var(--panel-bg);border:2px solid var(--panel-border);border-radius:10px;box-shadow:0 6px 20px #00000073,inset 0 0 0 1px #ffffff0f}.login{background:radial-gradient(circle at 30% 20%,#2c4a7a,#0e1420 70%);justify-content:center;align-items:flex-start;gap:24px;height:100%;padding:24px 16px;display:flex;overflow-y:auto}.char-select{gap:14px;width:min(640px,100%);margin-block:auto;padding:24px;display:grid}.char-select .login-logo img{filter:drop-shadow(0 4px 12px #00000080);width:min(300px,80%);height:auto;margin:-6px auto 0;display:block}.char-select h2{text-align:center;color:var(--accent);margin:0;font-size:18px}.char-slots{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.char-card{color:var(--text);cursor:var(--cur-pointer);font:inherit;text-align:center;background:#121a2a;border:1px solid #3a4560;border-radius:8px;justify-items:center;gap:4px;padding:12px 8px;display:grid}.char-card:hover{border-color:#5a6a94}.char-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 0 18px #f5c16c40}.char-card img,.char-card .char-noart{object-fit:cover;background:#0e1420;border:2px solid #3a4560;border-radius:50%;width:96px;height:96px}.char-card b{font-size:15px}.char-card small{color:var(--muted);font-size:12px}.char-card.empty{color:var(--muted);border-style:dashed}.char-plus{border:2px dashed #3a4560;border-radius:50%;place-items:center;width:96px;height:96px;font-size:40px;display:grid}.char-create{gap:8px;display:grid}.char-create input{color:var(--text);background:#0e1420;border:1px solid #3a4560;border-radius:6px;padding:10px 12px;font-size:15px}.char-create small{color:var(--muted);font-size:12px}.char-create button,.char-enter{background:var(--accent);color:#2a1d05;cursor:var(--cur-pointer);border:0;border-radius:6px;padding:10px 12px;font-size:15px;font-weight:700}.char-create button:disabled,.char-enter:disabled{color:#7c8599;cursor:not-allowed;background:#2a2f3d}.char-select>.ghost{color:var(--muted);cursor:var(--cur-pointer);background:0 0;border:1px solid #3a4560;border-radius:6px;justify-self:center;padding:6px 14px}.login-form{flex-shrink:0;gap:12px;width:min(340px,100%);margin-block:auto;padding:28px;display:grid}.login-tagline{text-align:center;color:var(--muted);margin:-6px 0 6px;font-size:13px}.login-form h1{text-align:center;color:var(--accent);letter-spacing:2px;margin:0 0 8px}.login-form .login-logo img{filter:drop-shadow(0 4px 12px #00000080);width:100%;height:auto;margin:-6px auto 0;display:block}.login-form input{color:var(--text);background:#0e1420;border:1px solid #3a4560;border-radius:6px;padding:10px 12px;font-size:15px}.login-form button{cursor:var(--cur-pointer);color:#2a1d05;background:linear-gradient(#ffd166,#e0a93b);border:0;border-radius:6px;padding:10px;font-size:15px;font-weight:700}.login-form button.ghost{color:var(--muted);background:0 0;border:1px solid #3a4560}.login-form button:disabled{opacity:.6;cursor:wait}.google-login{gap:10px;display:grid}.google-login.busy{opacity:.6;pointer-events:none}.google-button{justify-content:center;min-height:44px;display:flex}.login-or{color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.login-or:before,.login-or:after{content:"";background:#3a4560;flex:1;height:1px}.error{color:#ff8a8a;margin:0;font-size:13px}.hud-status{pointer-events:none;gap:5px;width:250px;padding:10px 12px;display:grid;position:fixed;top:12px;left:12px}.hud-title{justify-content:space-between;align-items:baseline;display:flex}.hud-name{color:var(--accent);font-weight:700}.hud-level,.hud-exp{color:var(--muted);font-size:12px}.bar{grid-template-columns:24px 1fr auto;align-items:center;gap:6px;font-size:12px;display:grid}.bar-track{background:#2a2f3d;border-radius:5px;height:10px;overflow:hidden;box-shadow:inset 0 1px 2px #0009}.bar-fill{height:100%;transition:width .2s}.bar-hp{background:var(--hp)}.bar-sp{background:var(--sp)}.bar-low .bar-fill{animation:.8s ease-in-out infinite alternate pulse}.bar-num{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;min-width:58px}@keyframes pulse{0%{opacity:1}to{opacity:.45}}.death-overlay{pointer-events:none;background:#28000059;place-items:center;display:grid;position:fixed;inset:0}.death-overlay .panel{text-align:center;gap:4px;padding:16px 28px;display:grid}.death-overlay strong{color:#ff8a8a;font-size:18px}.death-overlay span{color:var(--muted);font-size:13px}.hud-menu{z-index:5;flex-direction:column-reverse;align-items:flex-end;gap:6px;display:flex;position:fixed;bottom:34px;right:12px}.hud-menu-grid{background:#080c188c;border-radius:12px;grid-template-columns:repeat(5,auto);gap:6px;padding:6px;display:grid}.hud-menu-toggle{background:var(--panel-bg);border:2px solid var(--panel-border);color:var(--text);cursor:var(--cur-pointer);border-radius:8px;padding:4px 12px;font-size:12px;font-weight:700;position:relative}.hud-menu-toggle:hover{border-color:var(--accent)}.menu-btn{background:var(--panel-bg);border:2px solid var(--panel-border);min-width:56px;color:var(--text);cursor:var(--cur-pointer);border-radius:10px;justify-items:center;gap:2px;padding:6px 8px;font-size:20px;display:grid}.menu-btn small{color:var(--muted);font-size:11px}.menu-btn:hover{border-color:var(--accent)}.minimap{padding:6px;position:fixed;top:12px;right:12px}.minimap canvas{image-rendering:pixelated;border-radius:6px;display:block}.minimap-footer{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;margin-top:4px;font-size:11px;display:flex}.minimap-ch{color:var(--text);cursor:var(--cur-pointer);background:#243556;border:0;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700}.minimap-ch:hover{background:#2f4670}.ch-picker{position:relative}.ch-menu{z-index:20;flex-direction:column;gap:4px;width:210px;padding:8px;display:flex;position:absolute;top:20px;left:0}.ch-menu-title{color:var(--text);margin-bottom:2px;font-size:12px;font-weight:700}.ch-row{color:var(--text);cursor:var(--cur-pointer);text-align:left;background:#17213a;border:1px solid #2c3854;border-radius:4px;grid-template-columns:40px 1fr 58px;align-items:center;gap:6px;padding:4px 6px;font-size:11px;display:grid}.ch-row:hover:not(:disabled){border-color:var(--accent)}.ch-row:disabled{cursor:var(--cur-default);opacity:.55}.ch-row.current{opacity:1;border-color:#3b82f6}.ch-row-name{font-weight:700}.ch-row-bar{background:#0e1526;border-radius:3px;height:5px;overflow:hidden}.ch-row-bar span{background:#4ade80;height:100%;display:block}.ch-row-bar span.busy{background:#fbbf24}.ch-row-bar span.full{background:#ef4444}.ch-row-count{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}.ch-menu-note{color:var(--muted);font-size:10px}.chat{grid-template-rows:auto 170px auto;width:min(400px,100% - 24px);display:grid;position:fixed;bottom:12px;left:12px;overflow:hidden}.chat-tabs{border-bottom:1px solid #2c3550;gap:2px;padding:4px 4px 0;display:flex}.chat-tabs button{color:var(--muted);cursor:var(--cur-pointer);background:0 0;border:0;border-radius:6px 6px 0 0;padding:5px 8px;font-size:12px}.chat-tabs button.active{color:var(--text);background:#243556}.chat-lines{padding:6px 8px;font-size:13px;line-height:1.45;overflow-y:auto}.chat-line{overflow-wrap:anywhere}.chat-tag{margin-right:4px;font-size:11px}.chat-from{margin-right:4px;font-weight:700}.chat-origin{opacity:.7;font-size:11px;font-weight:400}.ch-world .chat-tag,.ch-world .chat-from{color:#ffd166}.ch-local .chat-tag{color:#cbd5e1}.ch-local .chat-from{color:#e2e8f0}.ch-whisper .chat-tag,.ch-whisper .chat-from,.ch-whisper .chat-text{color:#f0abfc}.ch-system .chat-tag,.ch-system .chat-text{color:#7dd3fc}.chat-input{border-top:1px solid #2c3550;grid-template-columns:auto 1fr auto;gap:4px;padding:6px;display:grid}.chat-input select,.chat-input input{color:var(--text);background:#0e1420;border:1px solid #3a4560;border-radius:6px;min-width:0;padding:6px;font-size:13px}.chat-input input:focus{outline:1px solid var(--accent)}.chat-input button{background:var(--accent);cursor:var(--cur-pointer);color:#2a1d05;border:0;border-radius:6px;padding:0 12px;font-weight:700}.inventory{grid-template-rows:auto auto 1fr auto auto auto;gap:8px;width:min(372px,100% - 24px);max-height:max(320px,100% - 240px);padding:10px;display:grid;position:fixed;top:196px;right:12px;overflow-y:auto}.inv-header{align-items:center;gap:8px;display:flex}.inv-header strong{color:var(--accent)}.inv-count{color:var(--muted);font-size:12px}.inv-close{color:var(--muted);cursor:var(--cur-pointer);background:0 0;border:0;margin-left:auto;font-size:16px}.inv-filter{gap:6px;display:grid}.inv-filter input{box-sizing:border-box;width:100%;color:var(--text);font:inherit;background:#0f1623;border:1px solid #3a4560;border-radius:6px;padding:6px 8px;font-size:13px}.inv-filter input:focus{border-color:var(--panel-border);outline:none}.inv-tabs{flex-wrap:wrap;gap:4px;display:flex}.inv-tabs button{color:var(--muted);font:inherit;cursor:var(--cur-pointer);background:#111827;border:1px solid #3a4560;border-radius:999px;padding:3px 8px;font-size:12px}.inv-tabs button small{opacity:.7;margin-left:2px}.inv-tabs button.active{background:var(--accent);border-color:var(--accent);color:#2a1d05;font-weight:700}.inv-tabs button:disabled{opacity:.4;cursor:var(--cur-default)}.inv-empty{text-align:center;grid-column:1/-1;padding:16px 0}.inv-grid{grid-template-columns:repeat(8,1fr);gap:4px;min-height:88px;max-height:300px;padding-right:2px;display:grid;overflow-y:auto}.inv-slot{aspect-ratio:1;cursor:var(--cur-pointer);background:#151c2c;border:1px solid #2c3550;border-radius:6px;padding:0;position:relative}.inv-slot.filled:hover{border-color:#5a6a94}.inv-slot.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.inv-icon{color:#fff;text-shadow:0 1px 2px #000;border-radius:4px;place-items:center;font-size:11px;font-weight:700;display:grid;position:absolute;inset:4px}.inv-qty{color:#fff;text-shadow:0 0 3px #000,0 0 3px #000;font-size:11px;font-weight:700;position:absolute;bottom:1px;right:3px}.inv-detail{background:#111827;border-radius:6px;min-height:64px;padding:8px;font-size:13px}.inv-detail-name{margin-bottom:2px;font-weight:700}.inv-detail-meta{color:var(--muted);margin-bottom:6px;font-size:12px}.inv-hint{color:var(--muted);font-size:12px}.inv-actions{gap:6px;display:flex}.inv-actions button{cursor:var(--cur-pointer);background:var(--accent);color:#2a1d05;border:0;border-radius:6px;padding:5px 14px;font-weight:700}.inv-actions button.danger{color:#ff8a8a;background:#3b1d24;border:1px solid #6b2b36}.inv-actions button:disabled{opacity:.4;cursor:not-allowed}.inv-weight{grid-template-columns:auto 1fr auto;align-items:center;gap:6px;font-size:12px;display:grid}.weight-ok{background:#4ade80}.weight-mid{background:#facc15}.weight-heavy{background:#ef4444}.hud-footer{color:var(--muted);pointer-events:none;background:#00000073;border-radius:6px;padding:4px 8px;font-size:12px;position:fixed;bottom:10px;right:12px}@media (width<=720px){.hud-status{width:200px}.hud-menu{bottom:250px}.minimap canvas{width:140px;height:auto}.hud-footer{display:none}.chat{grid-template-rows:auto 110px auto}}.hud-class{color:#c4b5fd;font-size:12px;font-weight:700}.hud-levels{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.bar-track.thin{height:6px}.bar-exp span:first-child{font-size:10px}.bar-xp{background:linear-gradient(90deg,#eab308,#fde047)}.bar-ally{background:linear-gradient(90deg,#16a34a,#4ade80)}.bar-cast{background:linear-gradient(90deg,#a855f7,#e9d5ff)}.hud-status{pointer-events:auto}.hud-alerts{flex-wrap:wrap;gap:4px;display:flex}.hud-alerts button{color:var(--accent);cursor:var(--cur-pointer);background:#2a2412;border:1px solid #6b5a2a;border-radius:999px;padding:3px 7px;font-size:11px}.hud-alerts button.glow{border-color:var(--accent);animation:.8s ease-in-out infinite alternate pulse}.hud-buffs{flex-wrap:wrap;gap:4px;display:flex}.hud-buffs span{color:#86efac;background:#1e3a2a;border:1px solid #2f6b47;border-radius:4px;padding:1px 5px;font-size:11px}.hud-buffs small{color:var(--muted)}.hud-hidden{color:#c4b5fd;font-size:11px}.menu-btn{position:relative}.menu-badge{color:#fff;background:#ef4444;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:700;display:grid;position:absolute;top:-6px;right:-6px}.target-frame{gap:4px;width:240px;padding:6px 10px;display:grid;position:fixed;top:12px;left:50%;transform:translate(-50%)}.target-name{align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.target-name small{color:var(--muted);font-weight:400}.target-clear{color:var(--muted);cursor:var(--cur-pointer);background:0 0;border:0;margin-left:auto}.target-status{color:#fca5a5;font-size:11px}.target-traits{color:var(--muted);flex-wrap:wrap;gap:4px 10px;font-size:11px;display:flex}.target-traits .bad{color:#fca5a5}.target-traits .good{color:#86efac}.target-elements{color:var(--muted);flex-wrap:wrap;gap:4px 10px;font-size:11px;display:flex}.target-elements span{align-items:center;gap:3px;display:inline-flex}.el-chip{color:#fff;text-shadow:0 1px 1px #0009;vertical-align:middle;white-space:nowrap;border-radius:8px;padding:0 5px;font-size:10px;font-weight:700;line-height:15px;display:inline-block}.el-chip img{vertical-align:middle;width:12px;height:12px;margin:-2px 3px 0 -3px}.hotbar{background:var(--panel-bg);border:2px solid var(--panel-border);border-radius:12px;gap:5px;padding:6px;display:flex;position:fixed;bottom:14px;left:50%;transform:translate(-50%)}.hotbar-hint.aim-enemy{color:#fca5a5;background:#3a1410}.hotbar-hint.aim-ally{color:#86efac;background:#14361f}.hotbar-hint.aim-ground{color:#fde68a;background:#3a2c0a}.hotbar.assigning{border-color:#4ade80;box-shadow:0 0 0 2px #4ade8059}.hotbar-hint{white-space:nowrap;color:#86efac;background:#14361f;border-radius:6px;padding:3px 8px;font-size:12px;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.hot-slot{color:#fff;width:48px;height:48px;cursor:var(--cur-pointer);background:#151c2c;border:1px solid #2c3550;border-radius:8px;padding:0;position:relative;overflow:hidden}.hot-slot.skill{background:linear-gradient(160deg,#3b2f6b,#1d1a3a)}.hot-slot.item{background:linear-gradient(160deg,#5a1f1f,#2a1414)}.hot-slot.disabled{opacity:.45}.hot-slot:hover{border-color:var(--accent)}.hot-key{z-index:1;color:var(--muted);text-shadow:0 0 2px #000,0 0 2px #000;font-size:10px;position:absolute;top:1px;left:4px}.hot-label{font-size:13px;font-weight:700}.hot-sub{z-index:1;color:#cbd5e1;text-shadow:0 0 2px #000,0 0 2px #000;font-size:9px;position:absolute;bottom:1px;right:3px}.hot-cd{z-index:1;pointer-events:none;background:#000000a6;position:absolute;bottom:0;left:0;right:0}.window{z-index:5;gap:10px;max-height:calc(100% - 200px);padding:10px 12px;display:grid;position:fixed;top:80px;overflow:auto}.win-header{align-items:center;gap:8px;display:flex}.win-header strong{color:var(--accent)}.win-sub{color:var(--muted);font-size:12px}.win-sub b{color:var(--accent)}.win-close{color:var(--muted);cursor:var(--cur-pointer);background:0 0;border:0;margin-left:auto;font-size:16px}.stat-up{background:var(--accent);color:#2a1d05;width:22px;height:22px;cursor:var(--cur-pointer);border:0;border-radius:6px;padding:0;font-weight:800}.stat-up:disabled{color:#555e73;cursor:not-allowed;background:#2a2f3d}.status-window{width:min(430px,100% - 24px);left:280px}.status-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.status-stats{gap:4px;display:grid}.stat-row{grid-template-columns:36px 1fr 22px 20px;align-items:center;gap:6px;font-size:13px;display:grid}.stat-key{color:#c4b5fd;font-weight:700}.stat-val em{color:#4ade80;font-size:12px;font-style:normal}.stat-cost{color:var(--muted);text-align:right;font-size:11px}.stat-points{color:var(--muted);margin-top:4px;font-size:12px}.stat-points strong{color:var(--accent);font-size:14px}.status-derived{background:#111827;border-radius:6px;grid-template-columns:auto 1fr;gap:3px 10px;margin:0;padding:8px;font-size:13px;display:grid}.status-derived dt{color:var(--muted)}.status-derived dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.status-derived small{color:var(--muted)}.job-change{border-top:1px solid #2c3550;padding-top:8px}.job-title{color:var(--accent);margin-bottom:6px;font-weight:700}.job-options{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.job-options button{border:1px solid var(--panel-border);color:var(--text);cursor:var(--cur-pointer);background:#1f2a44;border-radius:8px;gap:2px;padding:8px 4px;font-weight:700;display:grid}.job-options button:hover{background:#2b3a5e}.job-options small{color:var(--muted);font-weight:400}.job-hint{color:var(--muted);font-size:12px}.skill-window{width:min(460px,100% - 24px);max-height:calc(100vh - 140px);left:722px;overflow-y:auto}.skill-tabs{border-bottom:1px solid #2c3550;gap:4px;margin:2px 0 6px;display:flex;overflow-x:auto}.skill-tab{color:var(--muted);cursor:var(--cur-pointer);white-space:nowrap;background:0 0;border:1px solid #0000;border-bottom:0;border-radius:8px 8px 0 0;justify-items:center;padding:5px 10px 4px;font-size:12px;font-weight:700;display:grid;position:relative}.skill-tab small{font-size:10px;font-weight:400}.skill-tab:hover{color:var(--text)}.skill-tab.on{color:#c4b5fd;background:#1a2338;border-color:#2c3550}.skill-tab-badge{color:#1a1206;background:#f59e0b;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px;line-height:16px;position:absolute;top:-4px;right:-2px}.skill-tree{gap:6px;display:grid}.skill-tree-row{grid-template-columns:22px 1fr;align-items:start;gap:6px;display:grid}.skill-tree-tier{color:#6b7280;text-align:center;margin-top:10px;font-size:11px;font-weight:800}.skill-tree-nodes{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px;display:grid}.skill-node{cursor:var(--cur-pointer);background:#111827;border:1px solid #222b40;border-radius:6px;grid-template-columns:30px 1fr auto 22px;align-items:center;gap:6px;padding:4px 6px;font-size:12px;display:grid}.skill-node:hover{background:#1a2338}.skill-node.selected{background:#243556;border-color:#4b5f8e}.skill-node.unlearned .skill-name{color:var(--muted)}.skill-node.unlearned img.skill-icon{filter:grayscale(.85)brightness(.7)}.skill-node.draggable{cursor:grab}.skill-node .skill-name small{white-space:nowrap;text-overflow:ellipsis;max-width:110px;overflow:hidden}.skill-level{justify-items:end;gap:2px;display:grid}.facet-pips{gap:2px;display:flex}.facet-pips i{background:#2a2f3d;border-radius:50%;width:6px;height:6px}.facet-pips i.open{background:0 0;animation:1s ease-in-out infinite alternate facet-blink;box-shadow:0 0 0 1.5px #f59e0b}.facet-pips i.on{background:#f59e0b}@keyframes facet-blink{0%{opacity:.45}to{opacity:1}}.facets{gap:6px;margin-top:4px;display:grid}.facets-title{color:#fbbf24;font-weight:800}.facets-title small{color:var(--muted);font-size:11px;font-weight:400}.facet-tier-head{color:#e5e7eb;margin-bottom:3px;font-size:12px;font-weight:700}.facet-tier-head small{color:var(--muted);font-weight:400}.facet-options{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.facet-option{text-align:left;color:var(--text);cursor:var(--cur-pointer);background:#0b1220;border:1px solid #2c3550;border-radius:6px;align-content:start;gap:2px;padding:5px 6px;font-size:11px;display:grid}.facet-option b{font-size:12px}.facet-option span{color:var(--muted);line-height:1.25}.facet-option:hover:not(:disabled){border-color:#f59e0b}.facet-option.on{background:#2a1f08;border-color:#f59e0b;box-shadow:inset 0 0 0 1px #f59e0b}.facet-option.on span{color:#fde68a}.facet-tier.locked .facet-option{opacity:.4;cursor:not-allowed}.skill-groups h3{color:#c4b5fd;margin:6px 0 4px;font-size:13px}.skill-groups h3 small{color:var(--muted);font-weight:400}.skill-row{cursor:var(--cur-pointer);border-radius:6px;grid-template-columns:30px 1fr auto 22px;align-items:center;gap:8px;padding:4px 6px;font-size:13px;display:grid}.skill-row:hover{background:#1a2338}.skill-row.selected{background:#243556}.skill-row.unlearned .skill-name{color:var(--muted)}.skill-icon{color:#fff;border-radius:6px;place-items:center;width:30px;height:30px;font-size:11px;font-weight:700;display:grid}.kind-active{background:#5b3fb0}.kind-passive{background:#3f6b8f}.kind-toggle{background:#7a3f8f}.skill-name{line-height:1.2;display:grid}.skill-name small{color:var(--muted);font-size:11px}.skill-level{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.skill-detail{background:#111827;border-radius:6px;gap:4px;padding:8px;font-size:13px;display:grid}.skill-detail-name{font-weight:700}.skill-detail-name small{color:var(--muted);font-weight:400}.skill-detail-meta{color:#93c5fd;font-size:12px}.skill-detail p{color:#d1d5db;margin:0}.skill-block{color:#fca5a5;font-size:12px}.assign-btn{color:#06290f;cursor:var(--cur-pointer);background:#4ade80;border:0;border-radius:6px;justify-self:start;padding:5px 12px;font-weight:700}@media (width<=1100px){.hotbar{bottom:250px}.cast-bar{bottom:320px}.status-window,.skill-window{width:auto;top:120px;left:12px;right:12px}}.bar-exp{grid-template-columns:30px 1fr auto}@media (width<=1500px){.hud-footer{display:none}}.portrait-face{filter:grayscale(.7)brightness(.8);object-fit:cover;background:#0e1420;border-radius:8px;width:44px;height:44px}.portrait-missing{color:var(--muted);background:#1a2338;border:1px dashed #3a4560;place-items:center;font-weight:700;display:grid}.portrait-full.portrait-missing{font-size:40px}.hud-head{align-items:center;gap:8px;display:flex}.hud-head .portrait-face{border:1px solid var(--panel-border);width:40px;height:40px}.hud-head .hud-title{flex:1;display:grid}.npc-dialog{z-index:6;grid-template-columns:auto 1fr;gap:12px;width:min(560px,100% - 24px);padding:12px;display:grid;position:fixed;bottom:96px;left:50%;transform:translate(-50%)}.npc-dialog .portrait-face{border:1px solid var(--panel-border);width:64px;height:64px}.npc-body header{align-items:center;display:flex}.npc-body header strong{color:#86efac}.npc-body p{margin:6px 0 8px;font-size:14px;line-height:1.5}.npc-options{gap:4px;margin:0;padding:0;list-style:none;display:grid}.npc-options button{text-align:left;width:100%;color:var(--text);cursor:var(--cur-pointer);background:#151c2c;border:1px solid #2c3550;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.npc-options button:hover{border-color:var(--accent);background:#1f2a44}.npc-key{width:20px;height:20px;color:var(--accent);background:#243556;border-radius:4px;flex-shrink:0;place-items:center;font-size:11px;font-weight:700;display:grid}.shop-window{z-index:6;grid-template-rows:auto auto 1fr;gap:8px;width:min(460px,100% - 24px);max-height:calc(100% - 200px);padding:10px 12px;display:grid;position:fixed;top:80px;left:50%;transform:translate(-50%)}.shop-tabs{gap:4px;display:flex}.shop-tabs button{color:var(--muted);cursor:var(--cur-pointer);background:#151c2c;border:1px solid #2c3550;border-radius:6px;flex:1;padding:6px;font-weight:700}.shop-tabs button.active{color:var(--text);background:#243556;border-color:#3b5b99}.shop-tabs button:disabled{opacity:.4;cursor:not-allowed}.shop-search{color:var(--text);font:inherit;background:#0f1522;border:1px solid #2c3550;border-radius:6px;padding:6px 10px;font-size:13px}.shop-list{align-content:start;gap:4px;display:grid;overflow-y:auto}.shop-row{background:#111827;border-radius:6px;grid-template-columns:32px 1fr auto auto auto;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:grid}.shop-row.sold-out{opacity:.5}.shop-name{line-height:1.25;display:grid}.shop-name small{color:var(--muted);font-size:11px}.shop-price{font-variant-numeric:tabular-nums;color:var(--accent);white-space:nowrap}.shop-price s{color:var(--muted);margin-right:4px;font-size:11px}.shop-price em{color:#4ade80;margin-left:4px;font-size:11px;font-style:normal}.shop-row input{width:56px;color:var(--text);background:#0e1420;border:1px solid #3a4560;border-radius:4px;padding:3px 4px}.shop-row button{background:var(--accent);color:#2a1d05;cursor:var(--cur-pointer);border:0;border-radius:6px;padding:4px 10px;font-weight:700}.shop-row button:disabled{color:#555e73;cursor:not-allowed;background:#2a2f3d}.shop-empty{color:var(--muted);text-align:center;padding:20px}.news-window{z-index:7;grid-template-rows:auto 1fr auto;width:min(520px,100% - 24px);left:50%;overflow:hidden;transform:translate(-50%)}.news-list{align-content:start;gap:12px;padding-right:4px;display:grid;overflow-y:auto}.news-entry{background:#111827;border:1px solid #1f2a40;border-radius:8px;padding:10px 12px}.news-entry.unseen{border-color:#8a6d2b}.news-entry h3{align-items:center;gap:8px;margin:0;font-size:15px;display:flex}.news-entry time{color:var(--muted);margin:2px 0 8px;font-size:11px;display:block}.news-entry ul{gap:6px;margin:0;padding:0;font-size:13px;line-height:1.45;list-style:none;display:grid}.news-entry li{grid-template-columns:auto 1fr;align-items:baseline;gap:8px;display:grid}.news-new{background:var(--accent);color:#2a1d05;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:800}.news-tag{white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:800}.news-tag.new{color:#86efac;background:#14532d}.news-tag.change{color:#93c5fd;background:#1e3a5f}.news-tag.fix{color:#fdba74;background:#4a2a12}.news-ok{background:var(--accent);color:#2a1d05;cursor:var(--cur-pointer);border:0;border-radius:6px;justify-self:center;padding:7px 28px;font-weight:700}.settings-window{z-index:7;width:min(360px,100% - 24px);left:50%;transform:translate(-50%)}.settings-group{gap:10px;display:grid}.settings-group h4{color:var(--accent);margin:0;font-size:13px}.settings-slider{grid-template-columns:110px 1fr 32px;align-items:center;gap:10px;font-size:13px;display:grid}.settings-slider input{width:100%;accent-color:var(--accent)}.settings-slider b{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}.settings-check{cursor:var(--cur-pointer);align-items:center;gap:8px;font-size:13px;display:flex}.settings-logout-btn{justify-self:start}.settings-logout{color:#d6dbe6;gap:8px;font-size:13px;display:grid}.settings-logout div{gap:8px;display:flex}.settings-logout button.danger{color:#ff8a8a;background:#3b1d24;border:1px solid #6b2b36}.settings-choice{grid-template-columns:1fr 1fr;gap:6px;display:grid}.settings-choice button{color:var(--text);cursor:var(--cur-pointer);background:#ffffff0a;border:1px solid #c9a45c59;border-radius:8px;gap:2px;padding:8px 6px;font-size:13px;display:grid}.settings-choice button small{color:var(--muted);font-size:11px}.settings-choice button:hover{border-color:var(--panel-border)}.settings-choice button.active{border-color:var(--accent);color:var(--accent);background:#ffd16624}.market-window{z-index:8;background:#0f1623f7;grid-template-rows:auto auto 1fr auto;width:min(760px,100% - 24px);height:min(560px,100% - 160px);left:50%;overflow:hidden;transform:translate(-50%)}.mk-tabs{border-bottom:1px solid #1f2a40;gap:4px;display:flex}.mk-tabs button{color:var(--muted);font:inherit;cursor:var(--cur-pointer);background:0 0;border:0;border-bottom:2px solid #0000;padding:6px 14px;font-size:13px;position:relative}.mk-tabs button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}.mk-badge{color:#fff;background:#dc2626;border-radius:999px;margin-left:6px;padding:0 6px;font-size:11px;font-weight:800}.mk-body{grid-template-rows:auto 1fr auto;gap:8px;min-height:0;display:grid;overflow:hidden}.mk-filters{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.mk-filters input,.mk-filters select,.mk-sell-form input,.mk-sell-form select{color:var(--text);font:inherit;background:#0f1623;border:1px solid #3a4560;border-radius:6px;padding:5px 7px;font-size:12px}.mk-filters label input{width:58px;margin:0 2px}.mk-q{flex:160px}.mk-list{align-content:start;gap:4px;min-height:0;padding-right:4px;display:grid;overflow-y:auto}.mk-list h4{color:var(--accent);margin:6px 0 2px;font-size:12px}.mk-row{background:#111827;border:1px solid #1f2a40;border-radius:6px;grid-template-columns:minmax(0,1fr) auto auto auto auto;align-items:center;gap:10px;padding:6px 8px;font-size:13px;display:grid}.mk-row.mine{border-color:#8a6d2b}.mk-row.closed{opacity:.7}.mk-item{align-items:center;gap:8px;min-width:0;display:flex}.mk-icon{object-fit:contain;background:#1f2a44;border-radius:4px;flex:none;place-items:center;width:28px;height:28px;font-size:10px;display:grid}.mk-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mk-qty{color:var(--muted);font-weight:600}.mk-zeny{color:var(--accent);font-weight:700}.mk-seller,.mk-time{color:var(--muted);white-space:nowrap;font-size:12px}.mk-price{color:var(--accent);white-space:nowrap;text-align:right;min-width:90px}.mk-status.sold{color:#86efac}.mk-status.cancelled,.mk-status.expired{color:var(--muted)}.mk-pager{color:var(--muted);justify-content:center;align-items:center;gap:12px;font-size:12px;display:flex}.market-window button{color:var(--text);font:inherit;cursor:var(--cur-pointer);background:#1f2a44;border:1px solid #3a4560;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:700}.market-window button.primary{background:var(--accent);color:#2a1d05;border:0}.market-window button:disabled{opacity:.45;cursor:var(--cur-default)}.market-window .mk-tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;font-weight:400}.market-window .mk-tabs button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}.mk-sell{grid-row:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;min-height:0;display:grid}.mk-bag{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));align-content:start;gap:4px;min-height:0;display:grid;overflow-y:auto}.market-window .mk-bag-slot{aspect-ratio:1;background:#111827;border:1px solid #1f2a40;place-items:center;padding:0;display:grid;position:relative}.market-window .mk-bag-slot.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.mk-sell-form{align-content:start;gap:10px;font-size:13px;display:grid}.mk-sell-form label{color:var(--muted);grid-template-columns:90px 1fr auto;align-items:center;gap:8px;display:grid}.mk-summary{color:var(--muted);border:1px dashed #8a6d2b;border-radius:6px;grid-template-columns:1fr auto;gap:4px 12px;padding:8px;font-size:12px;display:grid}.mk-summary b{color:var(--accent);text-align:right}.mk-collect-all{justify-self:end;margin-top:4px}.mk-footer{color:var(--muted);justify-content:space-between;gap:12px;font-size:11px;display:flex}.mk-busy{color:var(--accent)}@media (width<=600px){.mk-row{grid-template-columns:minmax(0,1fr) auto auto}.mk-row .mk-seller,.mk-row .mk-time{display:none}.mk-sell{grid-template-rows:minmax(0,.9fr) auto;grid-template-columns:1fr}}.worldmap-warp-banner{color:#e9d5ff;background:#8b5cf62e;border:1px solid #8b5cf6;border-radius:6px;padding:6px 10px;font-size:13px}.worldmap-warp-banner b{color:var(--accent);margin-right:4px}.worldmap-warp{gap:4px;margin:6px 0;display:grid}.worldmap-warp button{background:var(--accent);color:#2a1d05;font:inherit;cursor:var(--cur-pointer);border:0;border-radius:6px;padding:7px 14px;font-weight:700}.worldmap-warp button:disabled{opacity:.45;cursor:var(--cur-default)}.atlas-pin.warpable .atlas-dot{box-shadow:0 0 0 3px #8b5cf6,0 0 12px 4px #8b5cf6cc}.minimap-lv{color:var(--accent);font-weight:700}.minimap-portal-lv{color:#e9d5ff;white-space:nowrap;pointer-events:none;background:#2e1065d9;border-radius:3px;margin-top:-2px;padding:0 3px;font-size:9px;font-weight:700;line-height:12px;position:absolute;top:100%;left:50%;transform:translate(-50%)}.minimap-portal-tip small{color:var(--accent);font-weight:700}.minimap-portal.tip-up .minimap-portal-lv{margin:0 0 -2px;top:auto;bottom:100%}.mail-window{z-index:7;grid-template-rows:auto 1fr auto;width:min(640px,100% - 24px);height:min(460px,100% - 180px);left:50%;overflow:hidden;transform:translate(-50%)}.mail-empty{text-align:center;align-self:center}.mail-body{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:10px;min-height:0;display:grid}.mail-list{align-content:start;gap:4px;margin:0;padding:0 4px 0 0;list-style:none;display:grid;overflow-y:auto}.mail-row{text-align:left;width:100%;color:var(--muted);cursor:var(--cur-pointer);font:inherit;background:#111827;border:1px solid #1f2a40;border-radius:6px;gap:2px;padding:7px 9px;display:grid}.mail-row.unread{color:var(--text);border-color:#8a6d2b}.mail-row.unread .mail-row-title{font-weight:700}.mail-row.active{border-color:var(--panel-border);background:#1f2a44}.mail-row-title{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.mail-row-meta{align-items:center;gap:6px;font-size:11px;display:flex}.mail-gift{background:var(--accent);color:#2a1d05;border-radius:999px;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:800}.mail-detail{background:#111827;border:1px solid #1f2a40;border-radius:8px;align-content:start;gap:8px;min-height:0;padding:10px 12px;display:grid;overflow-y:auto}.mail-detail h3{margin:0;font-size:15px}.mail-meta{color:var(--muted);font-size:11px}.mail-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.5}.mail-attachments{border:1px dashed #8a6d2b;border-radius:6px;gap:4px;padding:8px;display:grid}.mail-attachments.claimed{opacity:.5;border-color:#3a4560}.mail-item{grid-template-columns:28px 1fr auto;align-items:center;gap:8px;font-size:13px;display:grid}.mail-item-icon{object-fit:contain;background:#1f2a44;border-radius:4px;place-items:center;width:28px;height:28px;font-size:10px;display:grid}.mail-zeny{color:var(--accent);grid-template-columns:1fr auto}.mail-actions,.mail-footer{align-items:center;gap:8px;display:flex}.mail-footer{color:var(--muted);justify-content:space-between;font-size:12px}.mail-actions button,.mail-footer button{color:var(--text);cursor:var(--cur-pointer);background:#1f2a44;border:1px solid #3a4560;border-radius:6px;padding:6px 16px;font-weight:700}.mail-actions button.primary,.mail-footer button.primary{background:var(--accent);color:#2a1d05;border:0}.mail-actions button:disabled,.mail-footer button:disabled{opacity:.45;cursor:var(--cur-default)}@media (width<=560px){.mail-body{grid-template-rows:minmax(0,.8fr) minmax(0,1.2fr);grid-template-columns:1fr}}.rarity-uncommon{color:#86efac!important}.rarity-rare{color:#7cc4ff!important}.rarity-epic{color:#c49bff!important}.rarity-legendary{color:#ffb347!important}.item-stats .affix{color:#9fd8ff}.item-stats .affix-secondary{color:#b8e3a0}.item-stats .affix-special{color:#f5c16c}.item-stats .item-special{color:#e8a6ff}.item-stats .item-jobs{color:#c9c2b0;font-size:.92em}.item-stats .item-expiry{color:#ff9f7a}.item-stats .item-card{color:#f1c75b}.card-insert{gap:6px;display:grid}.card-targets{gap:4px;max-height:180px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.card-targets button{text-align:left;width:100%;color:var(--text);cursor:var(--cur-pointer);background:#151c2c;border:1px solid #2c3550;border-radius:6px;grid-template-rows:auto auto;grid-template-columns:32px 1fr;align-items:center;column-gap:8px;padding:4px 6px;display:grid}.card-targets button .inv-icon{grid-row:span 2;width:32px;height:32px}.card-targets button small{color:var(--muted);font-size:11px}.card-targets button.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.card-warn{color:#ffcf7a;font-size:12px}.item-stats .affix{border-left:2px solid;padding-left:5px}.refine-window{z-index:6;grid-template-rows:auto auto 1fr;gap:8px;width:min(620px,100% - 24px);max-height:calc(100% - 200px);padding:10px 12px;display:grid;position:fixed;top:80px;left:50%;transform:translate(-50%)}.enchant-lines{gap:4px;display:grid}.enchant-line{color:#9fd8ff;cursor:var(--cur-pointer);background:#111827;border-radius:6px;grid-template-columns:auto 1fr auto;align-items:center;gap:6px;padding:4px 8px;font-size:13px;display:grid}.enchant-line.affix-secondary{color:#b8e3a0}.enchant-line.affix-special{color:#f5c16c}.enchant-line.locked{outline:1px solid var(--accent)}.enchant-line em{background:var(--accent);color:#2a1d05;border-radius:4px;padding:1px 6px;font-size:10px;font-style:normal;font-weight:800}.enchant-result ul{gap:2px;margin:4px 0 0;padding:0;font-size:12px;font-weight:500;list-style:none;display:grid}.enchant-result .affix-primary{color:#9fd8ff}.enchant-result .affix-secondary{color:#b8e3a0}.enchant-result .affix-special{color:#f5c16c}.refine-body{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:10px;min-height:0;display:grid}.refine-list{align-content:start;gap:4px;display:grid;overflow-y:auto}.refine-row{color:var(--text);text-align:left;cursor:var(--cur-pointer);background:#111827;border:1px solid #0000;border-radius:6px;grid-template-columns:32px 1fr auto;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:grid}.refine-row.selected{background:#1a2540;border-color:#3b5b99}.refine-rate{font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px}.refine-detail{align-content:start;gap:8px;display:grid;overflow-y:auto}.refine-head{align-items:center;gap:10px;display:flex}.refine-step{color:var(--muted);font-size:13px}.refine-step b{color:var(--accent)}.refine-facts{grid-template-columns:auto 1fr;gap:4px 10px;margin:0;font-size:13px;display:grid}.refine-facts dt{color:var(--muted)}.refine-facts dd{align-items:center;gap:4px;margin:0;display:flex}.refine-facts .good,.refine-bonus b{color:#4ade80}.refine-facts .bad{color:#fca5a5}.refine-mat{width:20px;height:20px}.refine-bless{cursor:var(--cur-pointer);align-items:center;gap:6px;font-size:12px;display:flex}.refine-bless.disabled{opacity:.45;cursor:not-allowed}.refine-go{background:var(--accent);color:#2a1d05;cursor:var(--cur-pointer);border:0;border-radius:6px;padding:8px 10px;font-weight:700}.refine-go.armed{color:#2a0505;background:#f87171}.refine-go:disabled{color:#7c8599;cursor:not-allowed;background:#2a2f3d}.refine-result{background:#1f2937;border-radius:6px;padding:6px 8px;font-size:13px;font-weight:700}.refine-result.success{color:#4ade80}.refine-result.no-change{color:var(--muted)}.refine-result.downgrade{color:#fbbf24}.refine-result.destroy{color:#f87171}.inv-refine{color:#fde68a;text-shadow:0 1px 2px #000;font-size:10px;font-weight:800;position:absolute;top:1px;left:2px}@media (width<=560px){.refine-body{grid-template-columns:1fr}}.inv-zeny,.status-wallet{color:var(--muted);justify-content:space-between;gap:8px;font-size:12px;display:flex}.inv-zeny b,.status-wallet b{color:var(--accent)}.status-wallet{margin-top:8px}.job-ready{color:#86efac;font-size:13px;font-weight:700}.death-overlay{pointer-events:auto}.death-actions{gap:8px;margin:8px 0 4px;display:flex}.death-actions button{background:var(--accent);color:#2a1d05;cursor:var(--cur-pointer);border:0;border-radius:8px;gap:2px;padding:8px 14px;font-weight:700;display:grid}.death-actions button.ghost{color:var(--text);background:#1f2a44;border:1px solid #3a4560}.death-actions small{opacity:.8;font-size:11px;font-weight:400}.loading-screen{z-index:1000;background:#0b101a;place-items:center;transition:opacity .35s;display:grid;position:fixed;inset:0;overflow:hidden}.loading-screen.done{opacity:0;pointer-events:none}.loading-bg{filter:blur(14px)brightness(.45)saturate(1.1);background-position:50%;background-size:cover;animation:18s ease-in-out infinite alternate loading-drift;position:absolute;inset:-40px;transform:scale(1.08)}.loading-art{filter:brightness(.8);background-position:50%;background-size:cover;animation:24s ease-in-out infinite alternate loading-pan;position:absolute;inset:0}@keyframes loading-pan{0%{transform:scale(1.02)}to{transform:scale(1.1)translate(-1%,-.5%)}}.loading-screen:after{content:"";background:radial-gradient(circle at 50% 45%,#0000 35%,#05080e99 95%);position:absolute;inset:0}@keyframes loading-drift{0%{transform:scale(1.08)translate(-1%,-1%)}to{transform:scale(1.14)translate(1%,1%)}}.loading-card{z-index:1;text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080c149e;border:1px solid #c9a45c4d;border-radius:14px;gap:10px;width:min(440px,100% - 32px);padding:18px 22px;display:grid;position:relative;box-shadow:0 10px 40px #00000080}.loading-label{color:var(--muted);letter-spacing:.04em;font-size:13px}.loading-card strong{color:var(--accent);text-shadow:0 2px 12px #000000b3;font-size:30px}.loading-zone{justify-items:center;gap:4px;display:grid}.loading-zone p{color:#d6dbe6;text-shadow:0 1px 4px #000;margin:0;font-size:13px;line-height:1.5}.loading-level{color:var(--accent);background:#facc1524;border:1px solid #facc1559;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}.loading-progress{background:#ffffff1f;border-radius:3px;height:6px;margin-top:6px;overflow:hidden}.loading-fill{background:linear-gradient(90deg, #b8860b, var(--accent));border-radius:3px;width:0;height:100%}.loading-fill.indeterminate{width:35%;animation:1.1s ease-in-out infinite loading-slide}@keyframes loading-slide{0%{transform:translate(-110%)}to{transform:translate(310%)}}.loading-pct{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.loading-tip{color:#c3cad8;margin:10px 0 0;font-size:12px;line-height:1.5}.loading-tip b{color:var(--accent);margin-right:4px}@media (prefers-reduced-motion:reduce){.loading-bg,.loading-art,.loading-fill.indeterminate{animation:none}}.minimap-name{text-align:center;color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:700;overflow:hidden}.auto-panel{align-items:stretch;gap:4px;display:flex;position:fixed;bottom:14px;left:calc(50% + 250px)}.auto-toggle{border:2px solid var(--panel-border);background:var(--panel-bg);min-width:64px;color:var(--muted);letter-spacing:1px;cursor:var(--cur-pointer);border-radius:12px;place-items:center;padding:4px 10px;font-weight:800;display:grid}.auto-toggle small{letter-spacing:0;font-size:10px;font-weight:400}.auto-toggle.on{color:#052e16;background:linear-gradient(#86efac,#22c55e);border-color:#4ade80;animation:1.4s ease-in-out infinite alternate auto-glow;box-shadow:0 0 12px #4ade8099}@keyframes auto-glow{0%{box-shadow:0 0 6px #4ade8066}to{box-shadow:0 0 16px #4ade80cc}}.auto-gear{border:2px solid var(--panel-border);background:var(--panel-bg);width:34px;color:var(--text);cursor:var(--cur-pointer);border-radius:10px;font-size:16px}.auto-settings{z-index:7;gap:10px;width:300px;padding:10px 12px;display:grid;position:absolute;bottom:calc(100% + 8px);right:0}.auto-label{color:var(--muted);margin-bottom:4px;font-size:12px}.auto-label small{font-size:11px}.auto-empty{color:var(--muted);font-size:12px;font-style:italic}.auto-skills{gap:3px;max-height:200px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.auto-skills label{cursor:var(--cur-pointer);background:#111827;border-radius:6px;align-items:center;gap:6px;padding:3px 6px;font-size:13px;display:flex}.auto-skills em{color:#c4b5fd;margin-left:auto;font-size:10px;font-style:normal}.auto-order{width:14px;color:var(--accent);text-align:center;font-size:11px;font-weight:700}.auto-potions{gap:6px;display:grid}.auto-percent{color:var(--muted);grid-template-columns:1fr auto;gap:2px 8px;font-size:12px;display:grid}.auto-percent input{accent-color:var(--accent);grid-column:1}.auto-percent b{color:var(--accent);text-align:right;grid-area:1/2/span 2;align-self:center;min-width:36px}.auto-note{color:#6b7280;margin:0;font-size:11px}.auto-range-row{grid-template-columns:1fr auto auto;align-items:center;gap:8px;font-size:12px;display:grid}.auto-range-row input{accent-color:var(--accent)}.auto-range-row input:disabled{opacity:.35}.auto-range-row b{color:var(--accent);text-align:right;min-width:52px}.auto-range-all{color:var(--muted);cursor:var(--cur-pointer);background:#111827;border:1px solid #3a4560;border-radius:6px;padding:3px 8px;font-size:11px}.auto-range-all.on{color:#86efac;background:#14361f;border-color:#4ade80}@media (width<=1100px){.auto-panel{bottom:250px;left:auto;right:12px}}.auto-settings{width:340px;max-height:calc(100vh - 140px);overflow-y:auto}.auto-monsters{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.auto-monster{color:var(--text);cursor:var(--cur-pointer);background:#111827;border:1px solid #2c3550;border-radius:8px;justify-items:center;gap:1px;padding:5px 3px 4px;font-size:10px;line-height:1.15;display:grid;position:relative}.auto-monster img{object-fit:contain;object-position:bottom;filter:drop-shadow(0 2px 2px #00000080);width:52px;height:44px}.auto-monster:hover{border-color:#5a6a94}.auto-monster.on{background:#14361f;border-color:#4ade80;box-shadow:0 0 0 1px #4ade80}.auto-monster.away{opacity:.55}.auto-monster small{color:var(--muted)}.auto-monster-name{text-align:center;font-weight:700}.auto-monster-check{color:#4ade80;font-size:12px;font-weight:800;position:absolute;top:2px;right:4px}.auto-monster-missing{width:52px;height:44px;color:var(--muted);place-items:center;font-size:20px;display:grid}.auto-clear{width:100%;color:var(--muted);cursor:var(--cur-pointer);background:0 0;border:1px solid #3a4560;border-radius:6px;margin-top:6px;padding:4px;font-size:11px}.fxlab{background:#0e1420;grid-auto-rows:max-content;align-content:start;justify-items:center;gap:10px;height:100%;padding:16px;display:grid;overflow:auto}.fxlab h1{color:var(--accent);margin:0;font-size:20px}.fxlab-controls{flex-wrap:wrap;align-items:center;gap:16px;font-size:14px;display:flex}.fxlab-controls select{color:var(--text);background:#151c2c;border:1px solid #3a4560;border-radius:6px;margin-left:6px;padding:4px}.fxlab-stage{border:2px solid var(--panel-border);border-radius:10px;width:min(1000px,100%);line-height:0;overflow:hidden}.fxlab-stage canvas{width:100%!important;height:auto!important}.fxlab-note{color:var(--muted);margin:0;font-size:12px}.fxlab-capture{border:1px solid var(--panel-border);color:var(--text);cursor:var(--cur-pointer);background:#1f2a44;border-radius:8px;padding:6px 14px}.fxlab-skills{gap:8px;width:min(1006px,100%);display:grid}.fxlab-classes,.fxlab-skill-buttons{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;font-size:13px;display:flex}.fxlab-skills button{color:var(--text);cursor:var(--cur-pointer);background:#151c2c;border:1px solid #3a4560;border-radius:8px;padding:5px 10px}.fxlab-skills button small{color:var(--muted);margin-left:4px}.fxlab-skills button:hover{border-color:var(--accent)}.fxlab-classes button.active{border-color:var(--accent);color:var(--accent);background:#2a3658}.fxlab-skills .fxlab-play-all{border-color:var(--accent);color:var(--accent);background:#3a2a10}.fxlab-shots{width:min(1006px,100%)}.fxlab-shots h2{color:var(--accent);margin:4px 0;font-size:14px}.fxlab-frames{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.fxlab-frames figure{margin:0;position:relative}.fxlab-frames img{border-radius:6px;width:100%;display:block}.fxlab-frames figcaption{color:#fff;text-shadow:0 0 3px #000;font-size:12px;position:absolute;top:4px;left:6px}.chat-text{white-space:pre-line}.icon-img{object-fit:contain;-webkit-user-select:none;user-select:none;background:0 0}img.inv-icon{border-radius:0;width:calc(100% - 8px);height:calc(100% - 8px)}img.hot-label{width:100%;height:100%;position:absolute;inset:0}.hot-slot.item img.hot-label{width:calc(100% - 10px);height:calc(100% - 10px);inset:5px}.hot-slot.item:has(img.hot-label){background:linear-gradient(160deg,#2a3450,#151c2c)}img.skill-icon{background:0 0}.skill-row.unlearned img.skill-icon{filter:grayscale(.85)brightness(.7)}.shop-icon{color:#fff;background:#243556;border-radius:4px;place-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:grid}img.shop-icon{background:0 0}.drag-handle{cursor:grab;-webkit-user-select:none;user-select:none}.dragging{opacity:.92}.dragging .drag-handle{cursor:grabbing}.inventory{z-index:5}.equipment-window{width:min(400px,100% - 24px);top:196px;right:396px}.equip-body{grid-template-columns:1fr 120px 1fr;align-items:stretch;gap:8px;display:grid}.equip-col{align-content:start;gap:5px;display:grid}.equip-slot{min-height:44px;color:var(--muted);cursor:var(--cur-pointer);text-align:left;background:#151c2c;border:1px solid #2c3550;border-radius:6px;grid-template-columns:38px 1fr;align-items:center;gap:6px;padding:3px;font-size:11px;display:grid}.equip-slot.filled{color:var(--text)}.equip-slot.equip-ammo{width:calc(100% - 16px);margin:0 8px 6px}.equip-slot.equip-ammo:not(.filled){color:#ff9f7a}.equip-slot:hover{border-color:#5a6a94}.equip-slot.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.equip-slot.fits{border-color:#4ade80;box-shadow:0 0 0 1px #4ade80,inset 0 0 12px #4ade8040}.equip-icon{background:#0e1420;border-radius:5px;width:38px;height:38px;position:relative}.equip-icon .inv-icon{background:#5b7bd5;width:calc(100% - 4px);height:calc(100% - 4px);font-size:10px;inset:2px}.equip-icon img.inv-icon{background:0 0}.equip-label{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.2;display:-webkit-box;overflow:hidden}.equip-figure{background:radial-gradient(circle at 50% 70%,#2a3a5e,#111827 70%);border-radius:8px;place-items:end center;display:grid;overflow:hidden}.equip-figure img{object-fit:contain;object-position:bottom;width:100%;height:100%}.equip-summary{color:var(--muted);background:#111827;border-radius:6px;grid-template-columns:repeat(3,1fr);gap:2px 10px;padding:6px 8px;font-size:12px;display:grid}.equip-summary b{color:var(--text);float:right;font-variant-numeric:tabular-nums}.item-stats{color:var(--muted);flex-wrap:wrap;gap:2px 12px;margin:0 0 6px;padding:0;font-size:12px;list-style:none;display:flex}.item-stats b{color:#86efac}.item-stats li.inactive{opacity:.5;text-decoration:line-through}.req-fail{color:#f87171}.hud-menu .menu-btn{white-space:nowrap}.social-window{width:min(400px,100% - 24px);left:300px}.social-tabs{gap:4px;display:flex}.social-tabs button{color:var(--muted);cursor:var(--cur-pointer);background:#17213a;border:1px solid #2c3854;border-radius:6px;padding:4px 10px;font-weight:700}.social-tabs button.active{color:var(--accent);border-color:var(--accent)}.social-body{gap:8px;display:grid}.social-empty{color:var(--muted);margin:0;font-size:13px}.social-note{color:var(--muted);margin:0;font-size:11px}.social-members{gap:4px;max-height:320px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.social-member{background:#17213a;border:1px solid #2c3854;border-radius:6px;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:5px 8px;font-size:12px;display:grid}.social-member.offline{opacity:.5}.social-member-main{white-space:nowrap;text-overflow:ellipsis;align-items:baseline;gap:6px;min-width:0;display:flex;overflow:hidden}.social-meta{color:var(--muted);font-size:11px}.social-where{color:var(--muted);white-space:nowrap;font-size:11px}.social-badge{border-radius:4px;padding:0 4px;font-size:10px;font-weight:700}.social-badge.master{color:var(--accent);background:#4a3a10}.social-badge.officer{color:#93c5fd;background:#1f3a5a}.social-actions{gap:3px;display:flex}.social-actions button{color:var(--text);cursor:var(--cur-pointer);background:#243556;border:0;border-radius:4px;padding:2px 6px;font-size:11px}.social-actions button:hover{background:#2f4670}.social-invite{gap:6px;display:flex}.social-invite input{min-width:0;color:var(--text);background:#0e1526;border:1px solid #2c3854;border-radius:6px;flex:1;padding:5px 8px}.social-invite button{color:var(--text);cursor:var(--cur-pointer);background:#2a4a7a;border:0;border-radius:6px;padding:5px 12px;font-weight:700}.social-invite button:disabled{opacity:.5;cursor:var(--cur-default)}.social-settings{color:var(--muted);gap:10px;font-size:12px;display:flex}.social-settings label{align-items:center;gap:6px;display:flex}.social-settings select{color:var(--text);background:#0e1526;border:1px solid #2c3854;border-radius:4px;padding:2px 4px}.social-danger{color:#fca5a5;cursor:var(--cur-pointer);background:0 0;border:1px solid #7f1d1d;border-radius:6px;justify-self:start;padding:4px 10px;font-size:12px}.guild-head{justify-content:space-between;align-items:baseline;display:flex}.guild-head strong{color:var(--accent);font-size:15px}.guild-notice{border-left:3px solid var(--accent);white-space:pre-wrap;background:#1d2433;border-radius:4px;margin:0;padding:5px 8px;font-size:12px}.party-frame{z-index:3;gap:4px;width:170px;display:grid;position:fixed;top:250px;left:12px}.party-card{text-align:left;color:var(--text);cursor:var(--cur-pointer);background:#0e1526d1;border:1px solid #2c3854;border-radius:6px;gap:2px;padding:4px 7px;font-size:11px;display:grid}.party-card.self{border-color:#3b82f6}.party-card.offline{opacity:.45;cursor:var(--cur-default)}.party-card.dead{filter:grayscale()}.party-name{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.party-lv{color:var(--muted);font-weight:400}.party-where{color:var(--muted);font-size:10px}.party-bar{background:#0b1020;border-radius:2px;height:4px;overflow:hidden}.party-bar span{height:100%;display:block}.party-bar.hp span{background:#ef4444}.party-bar.sp span{background:#3b82f6}.invite-toast{z-index:30;gap:8px;padding:10px 14px;font-size:13px;display:grid;position:fixed;top:90px;left:50%;transform:translate(-50%)}.invite-actions{align-items:center;gap:6px;display:flex}.invite-actions button{cursor:var(--cur-pointer);color:var(--text);background:#243556;border:0;border-radius:6px;padding:5px 12px;font-weight:700}.invite-actions button.primary{background:#15803d}.invite-left{color:var(--muted);margin-left:auto;font-size:11px}.ch-party .chat-tag,.ch-party .chat-from,.ch-party .chat-text{color:#86efac}.ch-guild .chat-tag,.ch-guild .chat-from,.ch-guild .chat-text{color:#fdba74}@media (width<=720px){.party-frame{width:130px;top:auto;bottom:330px}}.ui-icon{object-fit:contain;flex:none;display:inline-block}.menu-icon{filter:drop-shadow(0 1px 1px #0009);width:30px;height:30px}.menu-btn:hover .menu-icon{transform:scale(1.08)}.inline-icon{vertical-align:-3px;width:16px;height:16px}.social-badge{align-items:center;gap:2px;display:inline-flex}.social-badge .inline-icon{width:13px;height:13px}.auto-gear-icon{width:20px;height:20px}.auto-toggle-icon{width:22px;height:22px}.chat-send-icon{width:20px;height:20px}.party-name .inline-icon,.social-member-main>.inline-icon{margin-right:3px}.auto-loot{cursor:var(--cur-pointer);grid-template-columns:auto 1fr;align-items:center;gap:2px 6px;font-size:13px;display:grid}.auto-loot input{accent-color:var(--accent)}.auto-loot small{color:var(--muted);grid-column:1/-1;font-size:11px}.auto-loot-when{gap:3px;margin:-2px 0 2px 20px;font-size:12px;display:grid}.auto-loot-when label{cursor:var(--cur-pointer);align-items:center;gap:6px;display:flex}.auto-loot-when input{accent-color:var(--accent);margin:0}.worldmap-window{width:min(1120px,100% - 24px);max-height:calc(100% - 80px);top:56px;left:50%;overflow:hidden;transform:translate(-50%)}.worldmap-body{grid-template-columns:1fr 270px;gap:10px;min-height:0;display:grid}.worldmap-stage{aspect-ratio:1402/1122;cursor:grab;touch-action:none;background:#6b9aa7;border-radius:8px;max-height:calc(100vh - 160px);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #3a4560}.worldmap-stage:active{cursor:grabbing}.worldmap-inner{transform-origin:50%;position:absolute;inset:0}.worldmap-inner>img{object-fit:cover;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block}.atlas-pin{cursor:var(--cur-pointer);transform-origin:50%;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:flex;position:absolute}.atlas-dot{border:2px solid #fff;border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block;box-shadow:0 0 0 2px #00000073}.atlas-pin.live .atlas-dot,.atlas-dot.live{background:#fbbf24;box-shadow:0 0 0 2px #00000080,0 0 10px 3px #fbbf24cc}.atlas-pin.planned .atlas-dot,.atlas-dot.planned{background:#60a5fa}.atlas-pin.locked .atlas-dot,.atlas-dot.locked{background:#6b7280;border-color:#cbd5e1}.atlas-label{text-align:left;white-space:nowrap;color:#f8fafc;opacity:0;pointer-events:none;background:#0f172ad1;border-radius:6px;padding:3px 7px;font-size:11px;font-weight:700;line-height:1.1;transition:opacity .15s;display:grid}.atlas-label small{color:#cbd5e1;font-size:9px;font-weight:400}.atlas-pin.live .atlas-label,.atlas-pin:hover .atlas-label,.atlas-pin.on .atlas-label{opacity:1}.atlas-pin.live .atlas-label{background:#784806e6;border:1px solid #fbbf24}.atlas-pin.on .atlas-dot{outline-offset:2px;outline:3px solid #fde68a}.atlas-pin.here .atlas-dot:after{content:"";border:2px solid #fde68a;border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;animation:1.6s ease-out infinite atlas-ping;position:absolute;top:50%;left:50%}.atlas-pin.here .atlas-dot{position:relative}.atlas-here{color:#3b2305;white-space:nowrap;pointer-events:none;background:#fbbf24;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:800;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}@keyframes atlas-ping{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(3.2)}}.worldmap-zoom{background:#fafff1eb;border-radius:8px;display:grid;position:absolute;bottom:10px;right:10px;overflow:hidden}.worldmap-zoom button{color:#2f4a3c;width:44px;height:30px;cursor:var(--cur-pointer);background:0 0;border:0;border-bottom:1px solid #d8dfd4;font-weight:700}.worldmap-zoom button:last-child{border-bottom:0}.worldmap-legend{color:#e2e8f0;background:#0f172acc;border-radius:8px;gap:10px;padding:5px 9px;font-size:11px;display:flex;position:absolute;bottom:10px;left:10px}.worldmap-legend span{align-items:center;gap:5px;display:flex}.worldmap-legend .atlas-dot{border-width:1px;width:9px;height:9px}.worldmap-inspect{background:#111827;border-radius:8px;max-height:calc(100vh - 160px);padding:10px 12px;font-size:12px;overflow-y:auto}.worldmap-inspect h3{color:var(--accent);margin:2px 0 0;font-size:18px}.worldmap-inspect p{color:var(--muted);margin:8px 0;line-height:1.5}.worldmap-inspect h4{color:#c4b5fd;text-transform:uppercase;letter-spacing:.04em;margin:10px 0 4px;font-size:11px}.worldmap-kind,.worldmap-alt{color:var(--muted);font-size:11px}.worldmap-badge{color:#93c5fd;background:#1e3a5f;border-radius:99px;margin:6px 6px 0 0;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.worldmap-badge.live{color:#fcd34d;background:#4a3206}.worldmap-badge.locked{color:#9ca3af;background:#2a2f3d}.worldmap-badge.here{color:#3b2305;background:#fbbf24}.worldmap-list{gap:3px;margin:0;padding:0;list-style:none;display:grid}.worldmap-list li{background:#1a2338;border-radius:5px;padding:4px 7px}.worldmap-list li small{color:var(--muted);float:right}.worldmap-list li.muted{color:var(--muted)}.worldmap-links{grid-template-columns:1fr 1fr;gap:4px;display:grid}.worldmap-links button{text-align:left;color:var(--text);cursor:var(--cur-pointer);background:#151c2c;border:1px solid #2c3550;border-radius:6px;padding:5px 7px;font-size:11px;display:grid}.worldmap-links button small{color:var(--muted);font-size:10px}.worldmap-links button.live{border-color:#a16207}.worldmap-links button:hover{border-color:var(--accent)}.worldmap-error{color:#f87171;padding:12px}@media (width<=760px){.worldmap-body{grid-template-columns:1fr}.worldmap-inspect{max-height:220px}}.player-menu{z-index:60;gap:2px;min-width:170px;padding:6px;display:grid;position:fixed}.player-menu-name{color:var(--accent);border-bottom:1px solid #2c3550;margin-bottom:2px;padding:4px 8px 6px;font-weight:700}.player-menu button{text-align:left;color:var(--text);font:inherit;cursor:var(--cur-pointer);background:0 0;border:0;border-radius:6px;padding:7px 10px;font-size:13px}.player-menu button:hover{background:#243556}.chat-from.clickable{cursor:var(--cur-pointer)}.chat-from.clickable:hover{text-decoration:underline}.trade-window{z-index:40;gap:10px;width:min(620px,100% - 24px);padding:10px 12px;display:grid;position:fixed;top:80px;left:50%;transform:translate(-50%)}.trade-head{align-items:center;gap:10px;display:flex}.trade-head b{color:var(--accent);flex:1}.trade-timer{color:var(--muted);font-size:12px}.trade-sides{grid-template-columns:1fr 1fr;gap:10px;display:grid}.trade-side{background:#121a2a;border:1px solid #2c3550;border-radius:8px;align-content:start;gap:6px;padding:8px;display:grid}.trade-side.locked{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.trade-side-title{justify-content:space-between;font-size:13px;font-weight:700;display:flex}.trade-state{color:var(--muted);font-size:11px;font-weight:600}.trade-side.locked .trade-state{color:var(--accent)}.trade-list{align-content:start;gap:4px;min-height:120px;margin:0;padding:0;list-style:none;display:grid}.trade-list li{align-items:center;gap:6px;font-size:12px;display:flex}.trade-list li span{flex:1}.trade-list li button{color:var(--muted);cursor:var(--cur-pointer);background:0 0;border:0}.trade-empty{color:var(--muted);font-style:italic}.trade-icon{object-fit:contain;width:28px;height:28px}.trade-zeny{align-items:center;gap:8px;font-size:12px;display:flex}.trade-zeny input{min-width:0;color:var(--text);font:inherit;background:#0f1522;border:1px solid #2c3550;border-radius:6px;flex:1;padding:4px 6px}.trade-bag-title{color:var(--muted);margin-bottom:4px;font-size:12px}.trade-bag-grid{flex-wrap:wrap;gap:4px;max-height:120px;display:flex;overflow:auto}.trade-slot{width:38px;height:38px;cursor:var(--cur-pointer);background:#151c2c;border:1px solid #2c3550;border-radius:6px;padding:0;position:relative}.trade-slot small{color:#cbd5e1;text-shadow:0 0 2px #000;font-size:10px;position:absolute;bottom:0;right:2px}.trade-actions{justify-content:flex-end;gap:8px;display:flex}.trade-actions button{color:var(--text);font:inherit;cursor:var(--cur-pointer);background:#151c2c;border:1px solid #2c3550;border-radius:6px;padding:7px 14px;font-weight:700}.trade-actions button.primary{background:var(--accent);color:#2a1d05;border-color:var(--accent)}.trade-actions button:disabled{opacity:.55;cursor:wait}.trade-note{color:var(--muted);margin:0;font-size:11px}.exp-bonus b{color:var(--accent)}.exp-bonus.on{color:#a7f3d0}.tooltip{z-index:100000;pointer-events:none;max-width:300px;padding:9px 11px;font-size:12px;line-height:1.4;position:fixed;box-shadow:0 8px 24px #00000080}.tip{gap:5px;display:grid}.tip-head{align-items:center;gap:8px;display:flex}.tip-icon{object-fit:contain;background:#151c2c;border-radius:6px;flex:none;place-items:center;width:36px;height:36px;font-size:11px;display:grid}.tip-name{color:var(--accent);font-size:13px;font-weight:700}.tip-name small{color:var(--muted);margin-left:4px;font-weight:400}.tip-sub{color:var(--muted);font-size:11px}.tip-line{color:var(--text)}.tip-muted{color:var(--muted);font-size:11px}.tip-bad{color:#fca5a5}.tip-desc{color:#d6d3c9;margin:0}.tip-hint{color:#93c5fd;border-top:1px solid #2c3854;padding-top:5px;font-size:11px}.tip .item-stats{margin:0}.skill-row.draggable{cursor:grab}.skill-row.draggable:active{cursor:grabbing}.hot-slot.drop-target{border-color:#4ade80;box-shadow:inset 0 0 0 2px #4ade8099}.minimap-stage{position:relative}.minimap-portal{width:16px;height:16px;cursor:var(--cur-default);place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)}.minimap-portal .ui-icon{filter:drop-shadow(0 0 2px #2e1065)drop-shadow(0 0 3px #a78bfa);width:16px;height:16px}.minimap-portal-tip{white-space:nowrap;color:#ede9fe;pointer-events:none;z-index:2;background:#2e1065f2;border:1px solid #a78bfa;border-radius:6px;padding:2px 7px;font-size:11px;font-style:normal;font-weight:700;display:none;position:absolute}.minimap-portal:hover .minimap-portal-tip{display:block}.minimap-portal.tip-right .minimap-portal-tip{left:100%}.minimap-portal.tip-left .minimap-portal-tip{right:100%}.minimap-portal.tip-center .minimap-portal-tip{left:50%;transform:translate(-50%)}.minimap-portal.tip-down .minimap-portal-tip{top:100%}.minimap-portal.tip-up .minimap-portal-tip{bottom:100%}.server-banner{z-index:9000;pointer-events:none;gap:6px;max-width:calc(100% - 32px);display:grid;position:fixed;top:8px;left:50%;transform:translate(-50%)}.server-banner-row{pointer-events:auto;border-radius:8px;align-items:center;gap:10px;padding:6px 14px;font-size:13px;font-weight:700;display:flex;box-shadow:0 2px 10px #00000080}.server-banner-row.restart{color:#fde68a;background:#4a1d12;border:1px solid #f59e0b}.server-banner-row.update{color:#bbf7d0;background:#14361f;border:1px solid #4ade80}.server-banner-row button{color:#fff;cursor:var(--cur-pointer);background:#1d4d2c;border:1px solid #4ade80;border-radius:6px;padding:3px 10px;font-weight:700}.reconnecting p{text-align:center;margin:4px 0}
