:root{--aether-blue: #2f80b8;--daybreak-cyan: #6fd6e0;--veil-gold: #f5a93f;--ember-coral: #e85d4e;--isle-moss: #4c9a6a;--ink-slate: #23324a;--parchment: #fbf3e3;--aether-blue-dim: #2f80b822;--veil-gold-dim: #f5a93f22;--ember-coral-dim: #e85d4e22;--isle-moss-dim: #4c9a6a22;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 22px;--font-display: "Baloo 2", ui-rounded, system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif}:root{--rarity-common: #8d90a8;--rarity-uncommon: var(--isle-moss);--rarity-rare: var(--aether-blue);--rarity-epic: #9b6fd6;--rarity-legendary: var(--veil-gold);--rarity-epic-dim: #9b6fd622}*{box-sizing:border-box}body{font-family:var(--font-body);color:var(--parchment)}.panel{position:absolute;top:60px;left:50%;transform:translate(-50%);background:linear-gradient(180deg,#182741f2,#0e1522f2);border:1.5px solid #3a4560;border-radius:var(--radius-md);padding:18px 20px;min-width:360px;max-height:560px;overflow-y:auto;box-shadow:0 12px 32px -8px #0009;font-family:var(--font-body);animation:panel-in .15s ease-out}@keyframes panel-in{0%{opacity:0;transform:translate(-50%) translateY(-6px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.panel h3{margin:0 0 12px;font-family:var(--font-display);font-size:16px;color:var(--veil-gold);letter-spacing:.02em;border-bottom:1px solid #2a3550;padding-bottom:8px}.panel-error{color:var(--ember-coral);font-size:13px}.stat-row,.skill-row,.job-row,.auction-row,.mail-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 2px;border-bottom:1px solid #23324a;font-size:13px}.stat-row:last-child,.skill-row:last-child,.job-row:last-child{border-bottom:none}.stat-row span:first-child{color:#a9b4c9}.stat-row span:last-child{font-weight:600;color:var(--parchment)}button{font-family:var(--font-body);font-weight:600;font-size:12px;background:var(--veil-gold);color:var(--ink-slate);border:none;border-radius:6px;padding:6px 12px;cursor:pointer;transition:filter .12s ease,transform .12s ease}button:hover{filter:brightness(1.08)}button:active{transform:translateY(1px)}button:disabled{background:#3a4560;color:#6b7690;cursor:not-allowed;filter:none}.job-row button,.skill-row button,.inventory-cell button,.equipment-slot button,.auction-row button,.mail-row button{background:transparent;color:var(--daybreak-cyan);border:1.5px solid #3a4560;padding:4px 10px;font-size:11px}.job-row button:not(:disabled):hover,.skill-row button:hover,.inventory-cell button:hover,.equipment-slot button:hover{border-color:var(--veil-gold);color:var(--veil-gold)}#app>div[style] h2{font-family:var(--font-display)}.auth-brand{text-align:center;margin-bottom:4px}.auth-brand img{width:64px;height:64px;filter:drop-shadow(0 0 12px var(--veil-gold-dim))}form{background:linear-gradient(180deg,#182741,#0e1522);border:1.5px solid #3a4560;border-radius:var(--radius-lg);padding:26px 30px;width:300px;box-shadow:0 16px 40px -12px #000000b3}form input{display:block;width:100%;margin:0 0 12px;padding:9px 11px;background:#10151f;border:1.5px solid #3a4560;border-radius:6px;color:var(--parchment);font-family:var(--font-body);font-size:13px}form input:focus{outline:none;border-color:var(--veil-gold)}form input::placeholder{color:#6b7690}form label{display:flex;align-items:center;gap:6px;margin:4px 0 14px;font-size:11.5px;color:#a9b4c9}form label input{display:inline-block;width:auto;margin:0}form button[type=submit]{width:100%;padding:10px;font-size:13px;font-family:var(--font-display);letter-spacing:.02em;border-radius:8px}form a{display:block;text-align:center;margin-top:14px;font-size:11.5px;color:var(--daybreak-cyan);text-decoration:none}form a:hover{text-decoration:underline}.character-row{display:flex;justify-content:space-between;align-items:center;background:#101826cc;border:1.5px solid #3a4560;border-radius:var(--radius-md);padding:12px 16px;margin-bottom:8px;width:420px}.character-row span{font-size:13px;font-weight:600}.character-row button{font-size:12px;padding:7px 16px}input[data-new-name]{background:#10151f;border:1.5px dashed #3a4560;border-radius:6px;color:var(--parchment);padding:9px 12px;font-size:13px;margin-right:8px;font-family:var(--font-body)}[data-create]{font-family:var(--font-display)}.world-ui-root{position:relative;width:1280px;height:720px;pointer-events:none;font-family:var(--font-body);color:var(--parchment)}.world-ui-root *{pointer-events:auto}.world-hud{position:absolute;top:12px;left:12px;background:linear-gradient(180deg,#101826e6,#0e1522e6);border:1.5px solid #3a4560;border-radius:var(--radius-md);padding:10px 14px;font-size:13px;box-shadow:0 6px 18px -6px #0009}.world-hud>div:first-child{font-family:var(--font-display);font-size:14px;color:var(--parchment)}.connection-status{margin-left:10px;font-size:10.5px;font-weight:600}.connection-status[data-status=connected]{color:var(--isle-moss)}.connection-status[data-status=reconnecting]{color:var(--veil-gold)}.connection-status[data-status=disconnected]{color:var(--ember-coral)}.hud-button-bar{margin-top:8px;display:flex;gap:5px;flex-wrap:wrap}.hud-button-bar button{background:#1a2436;color:var(--parchment);border:1.5px solid #3a4560;font-size:10.5px;padding:5px 9px;border-radius:6px}.hud-button-bar button:hover{border-color:var(--veil-gold);color:var(--veil-gold)}.chat-log{margin-top:8px;max-height:110px;overflow-y:auto;font-size:11px;width:270px;line-height:1.5;border-top:1px solid #23324a;padding-top:6px}.combat-hud{position:absolute;top:12px;right:12px;width:220px;background:linear-gradient(180deg,#101826e6,#0e1522e6);border:1.5px solid #3a4560;border-radius:var(--radius-md);padding:12px 14px;box-shadow:0 6px 18px -6px #0009}.combat-target-name{font-family:var(--font-display);font-size:13px;margin-bottom:6px}.combat-hp-bar-track{position:relative;height:16px;border-radius:4px;margin:4px 0 10px;background:#10151f;border:2px solid #23324a;overflow:hidden;box-shadow:inset 0 2px 4px #00000080}.combat-hp-bar-fill{height:100%;background:var(--ember-coral);transition:width .3s ease}.combat-skill-bar{display:flex;gap:6px}.combat-skill-bar button{width:36px;height:36px;border-radius:8px;padding:0;background:#101826;border:2px solid #3a4560;color:var(--parchment);font-family:var(--font-display);font-size:13px}.combat-skill-bar button:hover{border-color:var(--veil-gold);color:var(--veil-gold)}.inventory-cells{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.inventory-cell{background:#1a2436;border:2px solid #3a4560;border-radius:6px;padding:8px 6px;text-align:center;font-size:10.5px;position:relative}.inventory-cell .item-icon{width:26px;height:26px;margin:0 auto 4px;border-radius:4px;background:radial-gradient(circle at 35% 30%,#3a4a68,#1a2436 75%);border:1px solid #4a5b80}.inventory-cell .item-name{font-weight:600;margin-bottom:2px}.inventory-cell .item-qty{color:#a9b4c9;font-size:10px;margin-bottom:4px}.inventory-cell button{display:block;width:100%;margin-top:3px}.equipment-slots{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.equipment-slot{background:#1a2436;border:2px solid #3a4560;border-radius:8px;font-size:12px;position:relative;padding:8px 10px 8px 40px;min-height:40px;display:flex;flex-direction:column;justify-content:center}.equipment-slot:before{content:"";position:absolute;left:8px;top:50%;transform:translateY(-50%);width:22px;height:22px;background-size:contain;background-repeat:no-repeat;filter:invert(78%) sepia(28%) saturate(400%) hue-rotate(360deg) brightness(1.05);opacity:.85}.equipment-slot[data-slot=weapon]:before{background-image:url(/art/icons/equipment-slots/weapon.svg)}.equipment-slot[data-slot=offhand]:before{background-image:url(/art/icons/equipment-slots/offhand.svg)}.equipment-slot[data-slot=head]:before{background-image:url(/art/icons/equipment-slots/head.svg)}.equipment-slot[data-slot=body]:before{background-image:url(/art/icons/equipment-slots/body.svg)}.equipment-slot[data-slot=hands]:before{background-image:url(/art/icons/equipment-slots/hands.svg)}.equipment-slot[data-slot=legs]:before{background-image:url(/art/icons/equipment-slots/legs.svg)}.equipment-slot[data-slot=feet]:before{background-image:url(/art/icons/equipment-slots/feet.svg)}.equipment-slot[data-slot=cape]:before{background-image:url(/art/icons/equipment-slots/cape.svg)}.equipment-slot[data-slot=ring1]:before{background-image:url(/art/icons/equipment-slots/ring.svg)}.equipment-slot[data-slot=ring2]:before{background-image:url(/art/icons/equipment-slots/ring.svg)}.equipment-slot .slot-label{font-size:10px;color:#a9b4c9;text-transform:uppercase;letter-spacing:.03em}.equipment-slot .slot-item{font-weight:600;font-size:12px;margin:2px 0 4px}.equipment-slot button{align-self:flex-start}.character-sheet h3{display:flex;align-items:center;gap:10px}.character-sheet h3:before{content:"";width:28px;height:28px;background-size:contain;background-repeat:no-repeat;background-position:center;background-image:url(/art/icons/class-badges/wanderer.svg)}.character-sheet.job-blademaster h3:before{background-image:url(/art/icons/class-badges/blademaster.svg)}.character-sheet.job-ranger h3:before{background-image:url(/art/icons/class-badges/ranger.svg)}.character-sheet.job-arcanist h3:before{background-image:url(/art/icons/class-badges/arcanist.svg)}.character-sheet.job-sentinel h3:before{background-image:url(/art/icons/class-badges/sentinel.svg)}.economy-tab-bar{display:flex;gap:6px;margin-bottom:12px}.economy-tab-bar button{background:#1a2436;color:#a9b4c9;border:1.5px solid #3a4560;flex:1}.economy-tab-bar button.active{background:var(--veil-gold-dim);color:var(--veil-gold);border-color:var(--veil-gold)}.world-map-panel{width:520px}.world-map-panel .map-svg-wrap{background:#0d1420;border:1px solid #23324a;border-radius:var(--radius-md);padding:8px}.world-map-panel .zone-node circle{cursor:pointer}.world-map-panel .zone-node.locked circle{cursor:not-allowed}.world-map-panel .zone-label{font-family:var(--font-body);font-size:11px;font-weight:600;fill:var(--parchment);text-anchor:middle;pointer-events:none}.world-map-panel .zone-sub{font-family:var(--font-body);font-size:8.5px;fill:#a9b4c9;text-anchor:middle;pointer-events:none}.world-map-panel .conn-ley-bridge{stroke:var(--veil-gold);stroke-width:2;opacity:.55}.world-map-panel .conn-portal{stroke:#8b5fbf;stroke-width:2;stroke-dasharray:4 5;opacity:.55}.world-map-panel .map-legend{display:flex;gap:16px;margin-top:10px;font-size:10.5px;color:#a9b4c9}.world-map-panel .map-legend span{display:inline-flex;align-items:center;gap:5px}.world-map-panel .map-legend .swatch{width:14px;height:2px;display:inline-block}#world-map-status{margin-top:8px;font-size:12px;color:var(--veil-gold);min-height:16px}
