:root{--bg: #13100d;--panel: rgba(24, 20, 16, .82);--panel-edge: #4a3d2c;--ink: #d8cbb0;--ink-dim: #9c8e76;--ember: #d2742c;--iron: #8a8f99;--gold: #c9a24a;--gold-rgb: 201, 162, 74;--ember-rgb: 210, 116, 44;--edge-rgb: 74, 61, 44;--ink-rgb: 216, 203, 176;--btn: rgba(40, 32, 24, .7);--btn-hi: rgba(var(--ember-rgb), .16);--edge: var(--panel-edge);--top-1: 8px;--top-2: 44px;--top-3: 92px;--t-micro: 9px;--t-tiny: 10px;--t-small: 11px;--t-body: 12px;--t-body-lg: 13px;--t-read: 14px;--t-lead: 16px;--t-title: 18px;--t-display: 26px;--r-xs: 3px;--r-sm: 5px;--r-md: 6px;--r-lg: 8px;--r-xl: 12px;--r-pill: 999px}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font-family:EB Garamond,Georgia,serif;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}#app{position:fixed;inset:0}#game{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:pointer}#hud{position:absolute;inset:0;pointer-events:none}.hud-panel{position:absolute;pointer-events:auto;background:var(--panel);border:1px solid var(--panel-edge);border-radius:6px;padding:6px 8px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-shadow:0 2px 8px #0006}.hud-heading{font-family:Cinzel,serif;font-weight:600;font-size:13px;letter-spacing:.06em;color:var(--gold);text-transform:uppercase;margin-bottom:6px;border-bottom:1px solid rgba(var(--gold-rgb),.22);padding-bottom:4px}.hud-heading.pack-head{display:flex;align-items:center;justify-content:space-between}.pack-gold{font-family:EB Garamond,serif;font-size:13px;text-transform:none;letter-spacing:0;color:var(--gold)}.pack-gold .gold-text{font-variant-numeric:tabular-nums}.hud-vitals{top:138px;right:10px;padding:6px 3px;width:124px}.vitals-row{display:flex;align-items:center;gap:6px;margin-top:4px;width:100%}.vitals-bars{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px}.vitals-bars .hp-bar{width:100%;margin-top:0}.hud-topleft{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;z-index:5;pointer-events:none}.hud-buffs{display:flex;gap:5px;flex-wrap:wrap;max-width:250px}.hud-xp{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;background:#14100bb8;border:1px solid rgba(226,181,74,.5);color:#f0d59a;font-size:12px;font-variant-numeric:tabular-nums;pointer-events:auto;cursor:pointer;transition:opacity .9s ease;opacity:1}.hud-xp.hidden{display:none}.hud-xp.fading{opacity:0}.hud-xp .hud-xp-ic{display:inline-flex;width:13px;height:13px;color:#e2b54a}.hud-xp .hud-xp-ic svg{width:100%;height:100%}.hud-xp .hud-xp-n{font-weight:600}.buff-chip{display:flex;align-items:center;gap:3px;background:#120e0acc;border:1px solid var(--panel-edge);border-radius:6px;padding:2px 6px;font-size:11px;color:var(--ink)}.buff-amt{color:var(--gold);font-family:Cinzel,serif}.buff-time{color:var(--ink-dim);font-size:10px}.vitals-label{font-size:13px;color:var(--ink);display:flex;align-items:center;gap:6px;margin-bottom:5px}.vitals-name{display:none}.vitals-heart{display:inline-flex}.vitals-heart .g-ico{width:15px;height:15px;color:#e2483a;vertical-align:-.2em}.hp-text{margin-left:auto;font-family:Cinzel,serif;color:var(--ink)}.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:30px;gap:4px}.hud-dock.dock-fixed .dock-body{overflow:hidden}.skill-cell{position:relative;background:#282018b3;border:1px solid var(--panel-edge);border-radius:4px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:5px;padding:0 5px 4px;cursor:pointer;color:var(--ink);font-family:inherit}.skill-cell:hover{border-color:var(--ember);background:rgba(var(--ember-rgb),.16)}.sc-icon{font-size:16px;line-height:1}.sc-lvl{font-family:Cinzel,serif;font-size:13px;font-weight:600;color:var(--ember);line-height:1}.sc-bar{position:absolute;left:2px;right:2px;bottom:2px;height:3px;background:#2a2118;border-radius:2px;overflow:hidden}.sc-fill{display:block;height:100%;width:0%;background:linear-gradient(90deg,#8a6a2a,#e0b54a);transition:width .3s ease}.hunt-chip{margin-top:4px;font-family:Cinzel,serif;font-size:10px;color:#d0b078;background:#14100bb8;border:1px solid rgba(var(--gold-rgb),.3);border-radius:5px;padding:1px 7px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hunt-chip.done{color:#9fd07a;border-color:#8cc86e80}.quickbar{display:flex;gap:4px;margin-top:5px}.qb-btn{flex:1 1 0;min-width:0;min-height:34px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:3px 2px;font-size:9px;line-height:1.1;border:1px solid rgba(var(--ember-rgb),.3);border-radius:7px;background:#0c0e149e;color:#f3efe6e6;cursor:pointer;overflow:hidden}.qb-btn b{font-weight:600;font-size:9px;opacity:.85}.qb-btn:active{transform:translateY(1px)}.qb-btn.off{opacity:.38}.qb-btn.live{border-color:#e2a03ad9;box-shadow:inset 0 0 8px #e2a03a47;color:#f0c070}.grave-chip{margin-top:4px;font-size:11px;padding:2px 7px;border:1px solid rgba(150,190,220,.45);border-radius:10px;color:#a8c4dc;background:#0c0e148c;white-space:nowrap}.grave-chip.urgent{color:#e2a03a;border-color:#e2a03ab3;animation:gravePulse 1s ease-in-out infinite}@keyframes gravePulse{50%{opacity:.55}}.hunt-chip.hidden{display:none}.spec-chip{margin-top:4px;font-family:Cinzel,serif;font-size:10px;color:#a8b4c8;background:#101218b8;border:1px solid rgba(130,150,190,.35);border-radius:5px;padding:1px 7px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;width:116px;box-sizing:border-box;transform-origin:center}.spec-chip.ready:not(.hidden){color:#cfe0ff;border-color:#96b4f0b3;animation:specReady .8s ease-in-out infinite}@keyframes specReady{0%,to{transform:scale(1);box-shadow:0 0 5px #78a0f04d}50%{transform:scale(1.08);box-shadow:0 0 14px #8cafffbf}}.spec-chip.armed:not(.hidden){color:#ffe9a8;border-color:#f0c864cc;animation:specPulse .9s ease-in-out infinite}@keyframes specPulse{0%,to{transform:scale(1);box-shadow:0 0 6px #f0c8644d}50%{transform:scale(1.08);box-shadow:0 0 14px #f0c864a6}}.spec-chip.hidden{display:none}.clue-chip{margin-top:4px;font-family:Cinzel,serif;font-size:10px;color:#cbb98a;background:#18140cb8;border:1px solid rgba(190,160,90,.35);border-radius:5px;padding:1px 7px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;width:100%}.clue-chip.hidden{display:none}.today-block{background:#14100b80;border:1px solid rgba(var(--gold-rgb),.22);border-radius:6px;padding:5px 8px;margin-bottom:8px}.today-row{font-size:12px;color:#c9b88f;padding:2px 0;display:flex;gap:6px;align-items:baseline}.today-row.ready{color:#cfe0b0}.today-row.ready .today-dot{color:#9fd07a}.today-row.waiting{color:#8f866f}.today-row.waiting .today-dot{color:#6b6157}.coll-meter{margin:4px 0 8px}.coll-meter-top{display:flex;justify-content:space-between;font-size:12px;color:#c9b88f;margin-bottom:3px}.hud-vitals.low{border-color:#c44a3a;box-shadow:0 0 14px #c43a2a66}.hud-vitals.low .hp-fill{animation:hp-pulse .9s ease-in-out infinite}.hud-vitals.low .hp-text{color:#ff6a5a}@keyframes hp-pulse{0%,to{opacity:1}50%{opacity:.4}}.hp-text{color:var(--ink)}.hp-bar{margin-top:4px;height:15px;position:relative;background:#2a1f17;border:1px solid #503a26;border-radius:5px;overflow:hidden}.bar-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.2px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 3px rgba(0,0,0,.9);pointer-events:none}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}:where(button,[role=button],a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:var(--r-xs)}.dock-tab:focus-visible,.inv-slot:focus-visible,.skill-cell:focus-visible{outline:none;box-shadow:0 0 0 2px var(--gold)}.hp-fill{height:100%;width:100%;background:linear-gradient(90deg,#7d1f15,#c43a23);transition:width .2s ease}.grace-row{width:100%}.grace-row.hidden{display:none}.grace-label{margin-left:auto;display:inline-flex;align-items:center;gap:3px;color:#8fc0f0}.grace-label.hidden{display:none}.grace-ic{line-height:1;filter:drop-shadow(0 0 3px rgba(120,170,230,.5))}.grace-ic .g-ico{width:12px;height:12px}.grace-bar{width:100%;height:14px;position:relative;background:#171d2a;border:1px solid #384a66;border-radius:4px;overflow:hidden}.grace-fill{height:100%;width:0%;background:linear-gradient(90deg,#3a6aa8,#6fb0e8);transition:width .2s ease}.grace-text{font-size:11px;font-variant-numeric:tabular-nums}.spell-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:4px}.spell-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 4px 5px;background:linear-gradient(180deg,#1e263899,#141a2899);border:1px solid #33405a;border-radius:9px;cursor:pointer;min-width:0}.spell-btn:hover:not(:disabled){border-color:#5a74a4;background:linear-gradient(180deg,#2b3a58,#1e2840)}.spell-btn:disabled{opacity:.4;cursor:default}.spell-btn.locked{opacity:.3}.spell-btn.held{border-color:var(--gold);background:linear-gradient(180deg,#5a4a1e8c,#322a148c);box-shadow:0 0 8px #e8c45a59}.spell-ic{color:var(--gold)}.spell-ic .g-ico{width:20px;height:20px}.spell-nm{font-family:Cinzel,serif;font-size:10px;color:var(--ink);text-align:center;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.spell-co{font-size:9px;color:#6fb0e8;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:2px}.spell-co .g-ico{width:11px;height:11px}.autocast-strip{display:flex;flex-wrap:wrap;gap:5px}.autocast-chip{display:flex;align-items:center;gap:4px;padding:4px 9px;font-size:10px;color:var(--ink-dim);background:#181e2c80;border:1px solid #33405a;border-radius:12px;cursor:pointer}.autocast-chip .g-ico{width:13px;height:13px}.autocast-chip:hover{border-color:#5a74a4}.autocast-chip.on{color:var(--ink);background:linear-gradient(180deg,#3a5a3f,#274029);border-color:#6fae72}.hud-dock{bottom:10px;right:10px;padding:0;display:flex;overflow:hidden}.dock-tabs{display:flex;flex-direction:column;gap:3px;padding:5px 4px;background:#00000047;border-right:1px solid var(--panel-edge)}.dock-tab{width:34px;height:34px;font-size:16px;line-height:1;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;color:var(--ink)}.dock-tab:hover{background:rgba(var(--ember-rgb),.16)}.dock-tab.active{background:rgba(var(--ember-rgb),.22);border-color:var(--ember)}.dock-body{padding:7px 8px;box-sizing:border-box;width:188px;height:346px;overflow-y:auto;overflow-x:hidden}.dock-body::-webkit-scrollbar{width:6px}.dock-body::-webkit-scrollbar-thumb{background:#78644680;border-radius:3px}.tab-panel{display:none}.tab-panel.active{display:block}.tab-note{font-size:13px;color:var(--ink-dim);line-height:1.4;margin-top:6px}.mastery-head{font-size:13px;margin:2px 0 8px;color:var(--ink-dim)}.mastery-head b{color:var(--ink);font-variant-numeric:tabular-nums}.mastery-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.mastery-chip{font-size:12px;padding:3px 8px;border-radius:999px;background:#c8a84a1f;border:1px solid rgba(200,168,74,.35);white-space:nowrap}.mastery-star{color:#d9b64a;letter-spacing:1px}.mastery-row{font-size:13px;margin-top:5px;display:flex;align-items:center;gap:6px}.mastery-row b{color:var(--ink);font-variant-numeric:tabular-nums}.tab-subhead{font-family:Cinzel,serif;font-size:12px;letter-spacing:.06em;color:var(--gold);margin:12px 0 6px;padding-bottom:3px;border-bottom:1px solid rgba(120,100,70,.3)}.equip-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:5px 10px}.equip-cell{display:flex;align-items:center;gap:6px}.equip-slot{width:22px;height:22px;border:1px dashed #4a3f30;border-radius:4px;background:#0a080680;flex:none}.equip-slot.filled{border:1px solid #6a5a3a;background:radial-gradient(circle at 50% 38%,#463a288c,#120e0ab3);box-shadow:inset 0 0 4px #0009;cursor:pointer;overflow:hidden}.equip-name{font-size:12px;color:var(--ink-dim)}.equip-stats{margin-top:8px;font-size:11px;color:var(--ember, #d2742c);letter-spacing:.02em}.buff-chip.status{border-color:#3f9b4f99}.buff-chip.status.poison{color:#7ec98a}.buff-chip.status.venom{color:#b892e0;border-color:#6b3fa0b3}.es-head,.es-row{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:baseline;padding:1px 0}.es-head{font-size:10px;text-transform:uppercase;letter-spacing:.06em;opacity:.65;border-bottom:1px solid rgba(var(--ember-rgb),.22);margin-bottom:2px}.es-k{color:#f3efe6bf}.es-a,.es-d,.es-v{font-variant-numeric:tabular-nums;min-width:34px;text-align:right}.es-extra{grid-template-columns:1fr auto}.es-extra .es-v{min-width:74px}.es-row:first-of-type.es-extra{border-top:1px solid rgba(var(--ember-rgb),.22);margin-top:3px;padding-top:4px}.style-select{margin-top:12px}.style-label{font-size:12px;color:var(--ink-dim);margin-bottom:5px}.style-row{display:flex;gap:6px}.style-btn{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 2px;font-size:11px;font-family:inherit;color:var(--ink-dim);background:#0a080680;border:1px solid #4a3f30;border-radius:4px;cursor:pointer}.style-btn:hover{border-color:#6a5a3a;color:var(--ink)}.style-btn.active{color:#1a140f;background:var(--ember, #d2742c);border-color:#f2cf6b;font-weight:600}.style-ic{font-size:13px}.quest-h{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim);margin:8px 0 4px}.quest-h:first-child{margin-top:0}.quest-h-count{display:inline-block;margin-left:4px;padding:0 5px;font-size:10px;letter-spacing:0;color:var(--gold);background:#00000040;border:1px solid var(--panel-edge);border-radius:6px}.quest-cat{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin:14px 0 6px;padding-bottom:4px;border-bottom:1px solid var(--panel-edge)}.quest-cat:first-child{margin-top:0}.quest-item{margin-bottom:8px;cursor:pointer;border-radius:5px;padding:3px 5px;border:1px solid transparent}.quest-item:hover{background:rgba(var(--gold-rgb),.06)}.quest-item.tracked{background:rgba(var(--gold-rgb),.1);border-color:rgba(var(--gold-rgb),.4)}.quest-star{color:var(--gold);font-size:12px}.quest-item.tracked .quest-star{color:#f2cf6b}.quest-name{color:var(--ink);font-weight:600;font-size:14px}.quest-obj{font-size:12px;color:#c9b88f;margin-top:1px}.quest-prog{color:var(--ember, #d2742c)}.quest-lvl{font-size:11px;color:#9fb87f;border:1px solid #4a5238;border-radius:8px;padding:0 5px;margin-left:4px;white-space:nowrap}.quest-lvl.over{color:#e08a7a;border-color:#6e3f36}.quest-done{font-size:13px;color:#6f8a5a;margin-bottom:2px}.char-name{font-family:Cinzel,serif;color:var(--gold);font-size:15px;margin-bottom:8px}.char-row{display:flex;justify-content:space-between;font-size:15px;line-height:1.6}.char-row span:last-child{font-family:Cinzel,serif;color:var(--ember)}.char-portrait{margin:2px 0 10px;width:100%}.char-portrait .portrait-canvas{width:100%;height:168px}.char-portrait .portrait-turn-btn{min-width:25px;min-height:24px}.char-portrait .portrait-walk{padding:0 5px}.char-cape{margin-top:10px;padding:8px 9px;border:1px solid var(--panel-edge);border-radius:6px;background:#0000002e}.char-cape.done{border-color:#c9a24a;background:#785a1e2e}.char-cape-top{display:flex;justify-content:space-between;align-items:center;font-family:Cinzel,serif;font-size:12px;color:var(--gold)}.char-cape-count{font-family:EB Garamond,serif;font-size:11px;color:var(--ink-dim)}.char-cape-bar{height:7px;margin:6px 0 5px;border-radius:5px;background:#0006;border:1px solid var(--panel-edge);overflow:hidden}.char-cape-fill{height:100%;background:linear-gradient(90deg,#b8862c,#f2cf6b);transition:width .4s ease}.char-cape-note{font-family:EB Garamond,serif;font-size:12px;color:var(--ink-dim);line-height:1.35}.char-cape.done .char-cape-note{color:var(--gold)}.inv-grid{display:grid;grid-template-columns:repeat(4,40px);grid-auto-rows:40px;gap:4px}.inv-slot{background:#0a08068c;border:1px solid #3a2f22;border-radius:4px;position:relative}.inv-slot.filled{border-color:var(--panel-edge);background:#282018b3}.inv-slot.noted{background:linear-gradient(135deg,transparent 60%,rgba(0,0,0,.35) 60%,rgba(0,0,0,.35) 66%,transparent 66%) top right / 14px 14px no-repeat,linear-gradient(160deg,#d8c79a,#b8a578 55%,#a2905f);border-color:#8a7448;box-shadow:inset 0 0 0 1px #fff4d640}.inv-slot.noted .inv-icon{inset:5px;opacity:.92}.inv-slot.noted .item-svg{filter:drop-shadow(0 1px 1px rgba(0,0,0,.4)) saturate(.85)}.inv-slot.noted .inv-qty{color:#3a2c12;text-shadow:0 1px 1px rgba(255,244,214,.5)}.inv-icon{position:absolute;inset:3px;display:block}.item-svg{width:100%;height:100%;display:block;filter:drop-shadow(0 1px 1px rgba(0,0,0,.55))}.equip-slot.filled .item-svg{padding:1px;box-sizing:border-box}.inv-qty{position:absolute;right:2px;bottom:0;font-size:11px;color:var(--gold);text-shadow:0 1px 2px #000}.hud-log{bottom:10px;left:10px;width:min(320px,52vw);padding-top:8px;pointer-events:auto}.log-filter{display:flex;gap:4px;margin-bottom:4px;align-items:center}.log-min-btn{margin-left:auto;font-family:Cinzel,serif;font-size:11px;line-height:1;background:transparent;border:1px solid rgba(var(--gold-rgb),.22);border-radius:4px;color:var(--ink-dim);width:20px;height:18px;cursor:pointer;padding:0}.log-min-btn:hover{color:var(--ember);border-color:var(--ember)}.hud-log.collapsed .log-lines,.hud-log.collapsed .log-chat{display:none}.hud-log.collapsed{padding-bottom:4px}.hud-log.collapsed .log-filter{margin-bottom:0}.log-filter-btn{font-family:Cinzel,serif;font-size:10px;letter-spacing:.04em;background:transparent;border:1px solid rgba(var(--gold-rgb),.22);border-radius:4px;color:var(--ink-dim);padding:1px 8px;cursor:pointer}.log-filter-btn.on{color:var(--gold);border-color:var(--gold)}.log-lines.only-game .log-line.chat{display:none}.log-lines.only-chat .log-line:not(.chat){display:none}.log-lines{max-height:152px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(var(--gold-rgb),.4) transparent}.log-lines::-webkit-scrollbar{width:6px}.log-lines::-webkit-scrollbar-thumb{background:rgba(var(--gold-rgb),.4);border-radius:3px}.log-line{font-size:14px;line-height:1.45;color:var(--ink);opacity:.9;padding:1px 5px;border-radius:3px}.log-line.alt{background:#7864461a}.dialogue{position:absolute;left:50%;bottom:18px;transform:translate(-50%);width:min(560px,90vw);pointer-events:auto;background:var(--panel);border:1px solid var(--gold);border-radius:10px;padding:14px 18px 12px;box-shadow:0 6px 22px #0009;z-index:20}.dialogue.hidden{display:none}.dialogue-name{font-family:Cinzel,serif;color:var(--gold);font-weight:600;font-size:16px;margin-bottom:4px}.dialogue-text{font-size:17px;line-height:1.5;color:var(--ink)}.dialogue-hint{margin-top:8px;text-align:right;font-size:13px;color:var(--ink-dim)}.title-screen{position:absolute;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;pointer-events:auto;overflow:hidden;background:radial-gradient(120% 90% at 50% 42%,#1c1510,#140f0b 45%,#0c0907);opacity:1;transition:opacity .6s ease}.title-screen.leaving{opacity:0}.title-glow{position:absolute;top:42%;left:50%;width:60vmin;height:60vmin;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(var(--ember-rgb),.16),rgba(var(--ember-rgb),.06) 65%);filter:blur(6px);animation:title-pulse 5.5s ease-in-out infinite;pointer-events:none}@keyframes title-pulse{0%,to{opacity:.55;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}}.title-inner{position:relative;text-align:center;width:100%;max-width:560px;padding:0 24px}.title-word{font-family:Cinzel,serif;font-weight:600;color:#c8802f;font-size:clamp(30px,10.5vw,90px);letter-spacing:.14em;text-indent:.14em;margin:0;line-height:1;text-shadow:0 0 26px rgba(var(--ember-rgb),.3),0 2px 2px rgba(0,0,0,.6)}.title-sub{margin-top:14px;font-family:Cinzel,serif;font-weight:500;font-size:clamp(11px,3vw,15px);letter-spacing:.42em;color:var(--ink-dim)}.title-tagline{margin:18px auto 0;max-width:30ch;font-family:EB Garamond,serif;font-style:italic;font-size:clamp(15px,4.4vw,19px);color:#9a9088}.title-enter{margin-top:40px;padding:13px 34px;font-family:Cinzel,serif;font-variant:small-caps;font-size:clamp(16px,4.5vw,19px);letter-spacing:.14em;color:#f0c187;cursor:pointer;border:1px solid #c8853a;border-radius:9px;background:linear-gradient(180deg,#9a6328,#623f17);box-shadow:0 6px 18px #00000080,inset 0 1px #ffd59640;transition:filter .15s ease,transform .05s ease}.title-enter:hover{filter:brightness(1.12)}.title-enter:active{transform:translateY(1px)}.title-footer{margin-top:26px;font-family:EB Garamond,serif;font-size:13px;letter-spacing:.05em;color:#6f655a}.hud-minimap{top:10px;right:10px;padding:3px;position:absolute}.minimap-canvas{display:block;border-radius:4px;border:1px solid rgba(var(--edge-rgb),.55);cursor:pointer}.minimap-worldbtn{position:absolute;bottom:8px;right:8px;width:26px;height:26px;font-size:14px;line-height:1;background:#0c0907c7;border:1px solid var(--panel-edge);border-radius:5px;color:var(--ink);cursor:pointer}.minimap-worldbtn:hover{border-color:var(--ember);background:rgba(var(--ember-rgb),.22)}.worldmap-backdrop{position:absolute;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#0009;pointer-events:auto}.worldmap-backdrop.hidden{display:none}.worldmap-modal{background:linear-gradient(180deg,#221c13,#1a1610);border:1px solid var(--gold);outline:3px solid rgba(var(--gold-rgb),.16);outline-offset:3px;border-radius:10px;padding:12px 14px;box-shadow:0 12px 40px #000000bf,inset 0 0 60px #00000059;max-width:94vw;max-height:92vh}.worldmap-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.worldmap-title{font-family:Cinzel,serif;color:var(--gold);font-size:16px;letter-spacing:.05em}.worldmap-close{background:transparent;border:0;color:var(--ink-dim);font-size:18px;line-height:1;cursor:pointer}.worldmap-close:hover{color:var(--ember)}.worldmap-viewport{max-width:88vw;max-height:68vh;overflow:auto;border-radius:5px;margin:0 auto;touch-action:pan-x pan-y}.worldmap-canvas{display:block;width:100%;height:100%;border-radius:5px;border:1px solid rgba(var(--edge-rgb),.55);image-rendering:pixelated;cursor:pointer}.worldmap-zoom{display:flex;gap:4px;margin-left:auto;margin-right:10px}.wm-zoom-btn{width:24px;height:22px;line-height:1;background:transparent;border:1px solid rgba(var(--gold-rgb),.3);border-radius:4px;color:var(--gold);font-size:15px;cursor:pointer;padding:0}.wm-zoom-btn:hover{color:var(--ember);border-color:var(--ember)}.worldmap-hint{margin-top:8px;text-align:center;font-style:italic;font-size:12px;color:var(--ink-dim)}.worldmap-stage{position:relative}.worldmap-overlay{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:5px}.wm-marker{position:absolute;transform:translate(-50%,-50%);width:14px;height:14px;color:#f2cf6b;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.9))}.wm-marker .g-ico{width:14px;height:14px;vertical-align:top}.wm-label{position:absolute;transform:translate(-50%,-50%);font-family:Cinzel,serif;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#eddfba;text-shadow:0 1px 3px #000,0 0 6px #000,0 0 10px rgba(0,0,0,.9);white-space:nowrap;opacity:.95}.wm-poi-label{position:absolute;transform:translate(-50%,-50%);font-family:EB Garamond,serif;font-style:italic;font-size:9px;letter-spacing:.02em;color:#d9c69a;text-shadow:0 1px 2px #000,0 0 4px #000;white-space:nowrap;opacity:.82;pointer-events:none}.worldmap-legend{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;margin-top:9px;max-width:560px}.wm-chip{display:inline-flex;align-items:center;gap:4px;font-family:EB Garamond,serif;font-size:12px;color:var(--ink-dim);background:#00000040;border:1px solid var(--panel-edge);border-radius:12px;padding:2px 9px;cursor:pointer;opacity:.5}.wm-chip.on{opacity:1;color:var(--ink);border-color:#6a5a3a}.wm-chip:hover{border-color:var(--ember)}.wm-chip-ic{width:13px;height:13px;display:inline-flex;color:#f2cf6b}.wm-chip-ic .g-ico{width:13px;height:13px}.wm-chip-n{color:var(--ink-dim);font-size:10px}.hud-dock.collapsed .dock-body{display:none}.settings-zoom{margin-bottom:10px}.settings-label{font-family:Cinzel,serif;font-size:13px;letter-spacing:.04em;color:#e8d4a8;margin-bottom:6px}.settings-zoom-value{color:#c9a86a;font-variant-numeric:tabular-nums}.settings-item{margin-bottom:10px}.settings-item-row{display:flex;align-items:center;gap:8px}.settings-item-row>:first-child{flex:1 1 auto;min-width:0;margin-bottom:0}.settings-info-btn{flex:0 0 auto;width:20px;height:20px;border-radius:50%;border:1px solid var(--panel-edge);background:#00000040;color:var(--gold);font-family:Cinzel,serif;font-size:12px;font-style:italic;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.settings-info-btn:hover{border-color:var(--gold);color:#f0d68a}.settings-info{margin-top:5px;font-size:12px;line-height:1.45;color:var(--ink-dim);padding:6px 8px;border-left:2px solid var(--panel-edge);background:#0000002e;border-radius:0 4px 4px 0}.settings-info.hidden{display:none}.high-contrast{--panel: #0e0b07;--panel-edge: #d8c084;--ink: #f4ecd6;--ink-dim: #cfc2a2;--gold: #ecc978;--gold-rgb: 236, 201, 120;--ember: #ff9a4e;--ember-rgb: 255, 154, 78;--edge-rgb: 216, 192, 132;--btn: rgba(0, 0, 0, .6);--btn-hi: rgba(var(--ember-rgb), .3)}.high-contrast .hud-panel,.high-contrast .dock-body,.high-contrast .dialogue,.high-contrast details.settings-section{-webkit-backdrop-filter:none;backdrop-filter:none}.colorblind .faction-stand.pos{color:#4d9be6}.colorblind .faction-stand.neg,.colorblind .ctx-item.ctx-danger .ctx-verb{color:#e8801a}.colorblind .trade-btn.accept-trade.on,.colorblind .duel-btn.on{background:#2d6fb0;border-color:#7ab6ec;color:#f2f6fb}.settings-slider{width:100%;height:22px;margin:0;-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer}.settings-slider::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:#281e16b3;border:1px solid #5a4326}.settings-slider::-moz-range-track{height:6px;border-radius:3px;background:#281e16b3;border:1px solid #5a4326}.settings-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;margin-top:-6px;border-radius:50%;background:#d9b066;border:1px solid #3a2a18;box-shadow:0 1px 2px #00000080}.settings-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#d9b066;border:1px solid #3a2a18;box-shadow:0 1px 2px #00000080}.settings-section{border:1px solid var(--panel-edge);border-radius:8px;background:#0000002e;margin-bottom:10px;padding:0 12px}.settings-section[open]{padding-bottom:12px}.settings-section-head{font-family:Cinzel,serif;font-size:13px;letter-spacing:.05em;color:var(--gold);padding:10px 2px;cursor:pointer;user-select:none;list-style:none}.settings-section-head::-webkit-details-marker{display:none}.settings-section-head:before{content:"▸ ";color:var(--ink-dim)}.settings-section[open]>.settings-section-head:before{content:"▾ "}.settings-toggle{display:flex;align-items:center;gap:9px;margin-top:9px;font-family:EB Garamond,serif;font-size:14px;color:var(--ink);cursor:pointer;user-select:none}.settings-toggle input{width:16px;height:16px;accent-color:#c9a24a;cursor:pointer}.settings-reset{display:block;width:100%;margin-top:10px;padding:9px 10px;font-family:Cinzel,serif;font-size:13px;letter-spacing:.04em;color:#e0a07a;background:#5a1e1659;border:1px solid #7d3a2a;border-radius:6px;cursor:pointer}.settings-reset:hover,.settings-reset:active{color:#f0c187;border-color:#c44a3a;background:#78281c73}.ctx-backdrop{position:fixed;inset:0;z-index:75;pointer-events:auto}.ctx-backdrop.hidden{display:none}.ctx-menu{position:absolute;min-width:168px;max-height:80vh;background:#14100cf5;border:1px solid var(--panel-edge);border-radius:8px;padding:4px;box-shadow:0 8px 24px #0009;overflow-y:auto;overflow-x:hidden}.ctx-menu::-webkit-scrollbar{width:6px}.ctx-menu::-webkit-scrollbar-thumb{background:#78644680;border-radius:3px}.ctx-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:2px 2px 6px;margin-bottom:2px;border-bottom:1px solid var(--panel-edge)}.ctx-tab{font-family:Cinzel,serif;font-size:11px;color:var(--ink-dim);background:#00000040;border:1px solid var(--panel-edge);border-radius:7px;padding:3px 9px;cursor:pointer;white-space:nowrap}.ctx-tab:hover{color:var(--ink)}.ctx-tab.on{color:#1a140f;background:var(--gold, #c9a24a);border-color:#f2cf6b}.ctx-items{max-height:56vh;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y}.ctx-items::-webkit-scrollbar{width:6px}.ctx-items::-webkit-scrollbar-thumb{background:#78644680;border-radius:3px}@keyframes ui-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ui-pop-in{0%{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:none}}.ctx-backdrop:not(.hidden){animation:ui-fade-in .1s ease}.ctx-menu{animation:ui-pop-in .13s cubic-bezier(.2,.9,.3,1.25);transform-origin:top left}.bank-backdrop:not(.hidden),.shop-backdrop:not(.hidden),.worldmap-backdrop:not(.hidden){animation:ui-fade-in .14s ease}.bank-modal,.shop-modal,.bounty-modal{animation:ui-pop-in .16s cubic-bezier(.2,.9,.3,1.2)}.hunt-chip:not(.hidden),.spec-chip:not(.hidden),.clue-chip:not(.hidden){animation:chip-in .26s cubic-bezier(.2,.9,.3,1.25)}@keyframes chip-in{0%{opacity:0;transform:translateY(-5px) scale(.94)}to{opacity:1;transform:none}}.tab-panel.active{animation:panel-in .16s ease}@keyframes panel-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.log-line{animation:log-in .22s ease}@keyframes log-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}.ctx-item.ctx-locked{opacity:.5}.ctx-item.ctx-locked .ctx-verb{color:var(--ink-dim)}.ctx-item.ctx-locked .ctx-target{color:#9a6a4a}.ctx-item.ctx-danger .ctx-verb{color:#e0654f}.ctx-title{display:flex;align-items:center;justify-content:space-between;gap:8px;font-family:Cinzel,serif;font-size:12px;letter-spacing:.06em;color:var(--gold);text-transform:uppercase;padding:6px 10px 7px;border-bottom:1px solid rgba(var(--gold-rgb),.22);margin-bottom:3px}.ctx-title-value{margin-right:auto;font-family:Cinzel,serif;font-size:11px;letter-spacing:.04em;color:#f4d98b;background:rgba(var(--gold-rgb),.16);border:1px solid rgba(var(--gold-rgb),.4);border-radius:9px;padding:1px 7px;text-transform:none;white-space:nowrap}.ctx-close{background:transparent;border:0;color:var(--ink-dim);font-size:15px;line-height:1;cursor:pointer;padding:0 2px}.ctx-close:hover{color:var(--ember)}.ctx-desc{font-family:EB Garamond,serif;font-style:italic;font-size:13px;line-height:1.4;color:var(--ink-dim);padding:2px 10px 7px;max-width:230px}.ctx-item{display:block;width:100%;text-align:left;background:transparent;border:0;border-radius:5px;padding:9px 10px;font-family:EB Garamond,serif;font-size:16px;color:var(--ink);cursor:pointer}.ctx-item:hover,.ctx-item:active{background:rgba(var(--ember-rgb),.16)}.ctx-action .ctx-verb{color:var(--ember)}.ctx-target{color:var(--ink-dim)}.intro-screen{position:absolute;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;pointer-events:auto;overflow:hidden;background:radial-gradient(120% 90% at 50% 45%,#1a130f,#110d09,#070504);opacity:1;transition:opacity .85s ease}.intro-screen.leaving{opacity:0}.intro-glow{position:absolute;top:50%;left:50%;width:80vmin;height:80vmin;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(var(--ember-rgb),.1),rgba(var(--ember-rgb),.06) 62%);filter:blur(8px);animation:title-pulse 6s ease-in-out infinite;pointer-events:none}.intro-line{position:relative;max-width:34ch;padding:0 26px;text-align:center;font-family:EB Garamond,serif;font-style:italic;font-size:clamp(20px,5.6vw,30px);line-height:1.5;color:#d8cbb0;text-shadow:0 2px 10px rgba(0,0,0,.8);opacity:0;transform:translateY(6px);transition:opacity .9s ease,transform .9s ease}.intro-line.show{opacity:1;transform:translateY(0)}.intro-skip{position:absolute;top:16px;right:16px;font-family:Cinzel,serif;font-size:13px;letter-spacing:.08em;color:var(--ink-dim);background:transparent;border:1px solid transparent;border-radius:6px;padding:6px 10px;cursor:pointer}.intro-skip:hover{color:var(--gold)}.intro-hint{position:absolute;bottom:26px;left:0;right:0;text-align:center;font-family:EB Garamond,serif;font-size:13px;letter-spacing:.05em;color:#6f655a}.guide-banner{position:absolute;top:var(--top-2);left:50%;transform:translate(-50%);z-index:25;max-width:min(440px,80vw);text-align:center;pointer-events:auto;cursor:pointer;font-family:EB Garamond,serif;font-size:15px;line-height:1.4;color:var(--ink);background:#14100ce6;border:1px solid var(--gold);border-radius:8px;padding:9px 30px 9px 16px;box-shadow:0 4px 16px #0000008c}.guide-banner:after{content:"×";position:absolute;top:4px;right:8px;font-family:system-ui,sans-serif;font-size:15px;line-height:1;color:var(--gold);opacity:.7}.guide-banner:hover:after{opacity:1}.guide-banner.hidden{display:none}.guide-banner.guide-flash{animation:guide-flash .9s ease-out}@keyframes guide-flash{0%{border-color:var(--gold);box-shadow:0 4px 16px #0000008c}25%{border-color:#f4d98b;box-shadow:0 4px 22px #0000008c,0 0 18px #f4d98ba6,inset 0 0 18px #f4d98b4d}to{border-color:var(--gold);box-shadow:0 4px 16px #0000008c}}.err-toast{position:absolute;top:var(--top-3);left:50%;transform:translate(-50%) translateY(-6px);z-index:26;max-width:min(400px,84vw);text-align:center;pointer-events:auto;cursor:pointer;font-family:EB Garamond,serif;font-size:14px;line-height:1.35;color:#f0d9cd;background:#2e120cf0;border:1px solid #b8503a;border-radius:8px;padding:8px 14px;box-shadow:0 4px 16px #0000008c;opacity:0;transition:opacity .18s ease,transform .18s ease}.err-toast.show{opacity:1;transform:translate(-50%) translateY(0)}.err-toast.leaving{opacity:0}.err-toast.hidden{display:none}.tutorial-panel{position:absolute;top:84px;left:10px;z-index:24;width:min(216px,60vw);pointer-events:auto;font-family:EB Garamond,serif;color:var(--ink);background:#14100ce6;border:1px solid var(--gold);border-radius:8px;padding:8px 10px 10px;box-shadow:0 4px 16px #0000008c;transition:opacity .35s ease,transform .35s ease}.tutorial-panel.hidden{display:none}.tutorial-panel.leaving{opacity:0;transform:translate(-12px)}.tutorial-head{display:flex;align-items:center;gap:6px;margin-bottom:6px;padding-bottom:5px;border-bottom:1px solid rgba(198,156,74,.35)}.tutorial-head-ic{display:inline-flex;color:var(--gold)}.tutorial-head-ic .g-ico{width:16px;height:16px}.tutorial-head-t{flex:1;font-family:Cinzel,serif;font-size:12px;letter-spacing:.04em;color:var(--gold)}.tutorial-skip{pointer-events:auto;cursor:pointer;background:none;border:none;color:var(--ink-dim);font-family:EB Garamond,serif;font-size:11px;text-decoration:underline;padding:0 2px}.tutorial-skip:hover{color:var(--ink)}.tutorial-steps{display:flex;flex-direction:column;gap:3px}.tutorial-step{display:flex;align-items:center;gap:7px;font-size:13px;line-height:1.25;color:var(--ink-dim);opacity:.6}.tutorial-step-ic{display:inline-flex}.tutorial-step-ic .g-ico{width:15px;height:15px}.tutorial-step.active{opacity:1;color:var(--ink)}.tutorial-step.active .tutorial-step-ic{color:var(--gold)}.tutorial-step.done{opacity:1;color:var(--ink-dim)}.tutorial-step.done .tutorial-step-t{text-decoration:line-through}.tutorial-step.done .tutorial-step-ic{color:#8bbf6a}.tutorial-hint{margin-top:7px;padding-top:6px;border-top:1px solid rgba(198,156,74,.25);font-size:12px;line-height:1.35;color:var(--ink)}.tutorial-grad-ic{display:inline-flex;vertical-align:-3px;color:var(--gold)}.tutorial-grad-ic .g-ico{width:15px;height:15px}.prompt-screen{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;background:#0806048c;opacity:0;transition:opacity .16s ease}.prompt-screen.show{opacity:1}.prompt-card{width:min(300px,86vw);background:#18130ef7;border:1px solid var(--gold);border-radius:10px;padding:14px 16px 12px;box-shadow:0 10px 34px #0009;font-family:EB Garamond,serif;color:var(--ink)}.prompt-title{font-family:Cinzel,serif;font-size:14px;color:var(--gold);margin-bottom:3px}.prompt-sub{font-size:12px;color:var(--ink-dim);margin-bottom:9px}.prompt-amount{display:flex;gap:7px}.prompt-input{flex:1;min-width:0;background:#0c0906e6;border:1px solid rgba(198,156,74,.5);border-radius:7px;padding:9px 10px;font-family:EB Garamond,serif;font-size:16px;color:var(--ink);font-variant-numeric:tabular-nums}.prompt-input:focus{outline:none;border-color:var(--gold)}.prompt-input-text{width:100%}.prompt-max{cursor:pointer;background:#c69c4a1f;border:1px solid rgba(198,156,74,.5);border-radius:7px;padding:0 12px;font-family:Cinzel,serif;font-size:11px;color:var(--gold)}.prompt-btns{display:flex;gap:8px;margin-top:11px}.prompt-btns button{flex:1;cursor:pointer;border-radius:7px;padding:10px 0;font-family:Cinzel,serif;font-size:12px}.prompt-cancel{background:none;border:1px solid rgba(156,142,118,.5);color:var(--ink-dim)}.prompt-ok{background:rgba(var(--ember-rgb),.16);border:1px solid var(--ember);color:var(--gold)}.primer-screen{position:absolute;inset:0;z-index:95;display:flex;align-items:center;justify-content:center;padding:20px;pointer-events:auto;background:radial-gradient(120% 90% at 50% 45%,#140f0bdb,#080604eb 70%);opacity:0;transition:opacity .4s ease}.primer-screen.show{opacity:1}.primer-screen.leaving{opacity:0}.primer-screen.reopen{transition:opacity .2s ease}.primer-card{width:min(440px,94vw);max-height:90vh;max-height:min(90vh,90dvh);overflow-y:auto;background:linear-gradient(180deg,#1e1810f7,#140f0af7);border:1px solid var(--gold);border-radius:14px;padding:22px 22px 20px;box-shadow:0 12px 44px #0009,inset 0 0 26px rgba(var(--gold-rgb),.06);transform:translateY(8px) scale(.98);transition:transform .4s cubic-bezier(.18,1.3,.4,1)}.primer-screen.show .primer-card{transform:translateY(0) scale(1)}.primer-eyebrow{font-family:Cinzel,serif;font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);text-align:center;opacity:.85}.primer-title{font-family:Cinzel,serif;font-size:clamp(22px,6vw,28px);letter-spacing:.06em;color:#f0c187;text-align:center;margin:4px 0 16px;text-shadow:0 0 18px rgba(var(--ember-rgb),.3)}.primer-rows{display:flex;flex-direction:column;gap:12px}.primer-row{display:flex;align-items:flex-start;gap:13px}.primer-ic{flex:0 0 auto;width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:var(--gold);background:radial-gradient(circle at 50% 40%,rgba(var(--gold-rgb),.16),#140f0a66);border:1px solid var(--panel-edge);border-radius:9px}.primer-ic .g-ico{width:22px;height:22px}.primer-rowtext{flex:1}.primer-rowtitle{font-family:Cinzel,serif;font-size:14px;color:var(--gold);letter-spacing:.03em;margin-bottom:2px}.primer-rowbody{font-family:EB Garamond,serif;font-size:15px;line-height:1.4;color:var(--ink)}.primer-foot{margin-top:16px;text-align:center;font-family:EB Garamond,serif;font-style:italic;font-size:13px;color:var(--ink-dim)}.primer-go{display:block;width:100%;margin-top:16px;padding:13px 20px;font-family:Cinzel,serif;font-variant:small-caps;font-size:17px;letter-spacing:.08em;color:#f0c187;cursor:pointer;border:1px solid #c8853a;border-radius:10px;background:linear-gradient(180deg,#9a6328,#623f17);box-shadow:0 6px 18px #00000080,inset 0 1px #ffd59640;transition:filter .15s ease,transform .05s ease}.primer-go:hover{filter:brightness(1.12)}.primer-go:active{transform:translateY(1px)}.settings-help{display:block;width:100%;margin-top:10px;padding:9px 10px;font-family:Cinzel,serif;font-size:13px;letter-spacing:.04em;color:#e8d4a8;background:#281e1680;border:1px solid var(--panel-edge);border-radius:6px;cursor:pointer}.settings-help:hover,.settings-help:active{color:#f0c187;border-color:var(--ember);background:rgba(var(--ember-rgb),.16)}.bank-backdrop{position:absolute;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#0000008c;pointer-events:auto}.bank-backdrop.hidden{display:none}.bank-modal{width:min(360px,92vw);max-height:86vh;overflow-y:auto;background:var(--panel);border:1px solid var(--gold);border-radius:10px;padding:14px 16px;box-shadow:0 8px 28px #0009}.bank-head{display:flex;justify-content:space-between;align-items:center}.bank-title{font-family:Cinzel,serif;color:var(--gold);font-size:16px;letter-spacing:.05em;flex:1}.bank-value{font-family:EB Garamond,serif;font-size:13px;color:var(--ember);margin-right:12px;font-variant-numeric:tabular-nums}.bank-close{background:transparent;border:0;color:var(--ink-dim);font-size:18px;line-height:1;cursor:pointer}.bank-close:hover{color:var(--ember)}.bank-label{font-size:12px;letter-spacing:.06em;color:var(--ink-dim);text-transform:uppercase;margin:12px 0 6px;border-bottom:1px solid rgba(var(--edge-rgb),.4);padding-bottom:3px}.bank-hint{float:right;text-transform:none;letter-spacing:0;font-size:11px;color:#6f655a}.bank-count{text-transform:none;letter-spacing:0;font-size:11px;color:#6f655a}.bank-search{float:right;font-family:EB Garamond,serif;text-transform:none;letter-spacing:0;font-size:12px;color:var(--ink);background:#0000004d;border:1px solid var(--panel-edge);border-radius:5px;padding:2px 8px;width:120px;outline:none}.bank-search:focus{border-color:var(--ember)}.bank-depositall{float:right;font-family:EB Garamond,serif;text-transform:none;letter-spacing:0;font-size:12px;color:var(--ember);background:rgba(var(--ember-rgb),.1);border:1px solid var(--panel-edge);border-radius:5px;padding:2px 8px;cursor:pointer}.bank-depositall:hover{border-color:var(--ember);color:#f0c187}.quest-item.bounty-contract{border-left:2px solid var(--ember);padding-left:6px}.inv-drag-ghost{position:fixed;width:34px;height:34px;transform:translate(-50%,-50%);pointer-events:none;z-index:400;opacity:.85;filter:drop-shadow(0 3px 6px rgba(0,0,0,.6))}.inv-drag-ghost svg{width:100%;height:100%}.inv-slot.drop-target{outline:2px solid var(--gold);outline-offset:-2px;background:rgba(var(--gold-rgb),.16)}.bank-tabs{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 2px}.bank-tab{font-family:Cinzel,serif;font-size:11px;color:var(--ink-dim);background:#1c171099;border:1px solid var(--panel-edge);border-radius:5px;padding:2px 9px;cursor:pointer;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bank-tab:hover{border-color:var(--ember);color:var(--ink)}.bank-tab.on{color:var(--gold);border-color:var(--gold);background:rgba(var(--gold-rgb),.1)}.bank-tab-add{font-weight:700;padding:2px 7px}.bank-tab.drop-here{color:var(--gold);border-color:var(--gold);background:rgba(var(--gold-rgb),.3)}.inv-slot.dragging{opacity:.4}.bank-grid{display:grid;grid-template-columns:repeat(6,30px);grid-auto-rows:30px;gap:4px;min-height:34px}.bank-empty{grid-column:1 / -1;font-style:italic;color:var(--ink-dim);font-size:13px;padding:6px 2px}button.inv-slot{padding:0;font:inherit;color:inherit;cursor:pointer;appearance:none}@media (max-width: 520px){.qb-btn{font-size:0;min-height:32px}.qb-btn b{display:none}.equip-stats{font-size:10px}.es-head,.es-row{padding:0;gap:4px}.es-a,.es-d{min-width:28px}.es-extra .es-v{min-width:60px}:root{--dock-w: 229px}.hud-log{width:calc(100vw - var(--dock-w) - 28px)}.log-lines{max-height:124px}.dock-body{width:188px;height:336px}.dock-tab{width:33px;height:33px;font-size:15px}.inv-grid{grid-template-columns:repeat(4,40px);grid-auto-rows:40px}.skill-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:30px}.dialogue-text{font-size:14px}.ctx-item{font-size:17px;padding:11px 12px}}.gold-line{margin-top:5px;font-size:13px;color:var(--gold);letter-spacing:.03em}.shop-backdrop{position:absolute;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#0000008c;pointer-events:auto}.shop-backdrop.hidden{display:none}.shop-info{position:fixed;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;background:#00000080}.shop-info.hidden{display:none}.shop-info-box{position:relative;width:min(280px,80vw);background:var(--panel, #1c1812);border:1px solid var(--gold);border-radius:10px;padding:14px 14px 12px;text-align:center;box-shadow:0 10px 30px #0009}.shop-info-x{position:absolute;top:6px;right:8px;background:transparent;border:0;color:var(--ink-dim);font-size:16px;cursor:pointer}.shop-info-x:hover{color:var(--ember)}.shop-info-icon{width:40px;height:40px;margin:2px auto 6px}.shop-info-icon svg,.shop-info-icon img{width:40px;height:40px}.shop-info-name{font-family:Cinzel,serif;color:var(--gold);font-size:14px}.shop-info-desc{font-family:EB Garamond,serif;color:var(--ink);font-size:12px;margin:5px 0 7px;line-height:1.35}.shop-info-stats{font-family:EB Garamond,serif;color:var(--ember);font-size:12px}.shop-info-gear{font-family:EB Garamond,serif;color:var(--ink);font-size:12px;margin-bottom:4px}.shop-info-req{font-family:EB Garamond,serif;color:var(--ink-dim);font-size:11px;margin-bottom:5px}.shop-info-sell{margin-top:10px;font-family:Cinzel,serif;font-size:12px;background:var(--btn);color:var(--ink);border:1px solid var(--edge);border-radius:6px;padding:5px 16px;cursor:pointer}.shop-info-sell:hover{background:var(--btn-hi)}.shop-tabs{display:flex;gap:6px;margin:4px 0 8px}.shop-tab{flex:1;font-family:Cinzel,serif;font-size:13px;letter-spacing:.04em;background:transparent;color:var(--ink-dim);border:1px solid var(--edge);border-radius:7px;padding:7px 0;cursor:pointer}.shop-tab:hover{color:var(--ink)}.shop-tab.active{background:var(--btn-hi);color:var(--gold);border-color:var(--gold)}.shop-sell-hint{font-family:EB Garamond,serif;color:var(--ink-dim);font-size:11px;margin:0 0 8px;text-align:center}.shop-pick-btns{display:flex;flex-direction:column;gap:6px;margin:10px 0 4px}.shop-pick-btn{display:flex;justify-content:space-between;align-items:center;font-family:EB Garamond,serif;font-size:13px;background:var(--btn);color:var(--ink);border:1px solid var(--edge);border-radius:7px;padding:8px 12px;cursor:pointer}.shop-pick-btn:hover{background:var(--btn-hi);border-color:var(--gold)}.shop-pick-n{font-family:Cinzel,serif}.shop-pick-g{color:var(--ember)}.shop-pick-inspect{margin-top:6px;background:transparent;border:0;cursor:pointer;color:var(--ink-dim);font-family:EB Garamond,serif;font-size:11px;text-decoration:underline}.shop-pick-inspect:hover{color:var(--ink)}.shop-modal{position:relative;width:min(380px,92vw);max-height:86vh;overflow-y:auto;background:var(--panel);border:1px solid var(--gold);border-radius:10px;padding:14px 16px;box-shadow:0 8px 28px #0009}.shop-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.shop-title{font-family:Cinzel,serif;color:var(--gold);font-size:16px;letter-spacing:.05em;flex:1}.shop-gold{font-family:Cinzel,serif;color:var(--gold);font-size:14px}.shop-close{background:transparent;border:0;color:var(--ink-dim);font-size:18px;line-height:1;cursor:pointer}.shop-close:hover{color:var(--ember)}.shop-greeting{font-style:italic;color:var(--ink-dim);font-size:12px;margin:6px 0 2px}.shop-label{font-size:12px;letter-spacing:.06em;color:var(--ink-dim);text-transform:uppercase;margin:12px 0 6px;border-bottom:1px solid rgba(var(--edge-rgb),.4);padding-bottom:3px}.shop-wares-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;padding:2px}.shop-card{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 5px 6px;background:#1c17108c;border:1px solid var(--panel-edge);border-radius:8px;cursor:pointer;text-align:center;transition:border-color .12s,background .12s}.shop-card:hover{border-color:var(--ember);background:rgba(var(--ember-rgb),.1)}.shop-card.disabled{opacity:.55;cursor:default}.shop-card.disabled:hover{border-color:var(--panel-edge);background:#1c17108c}.shop-card.rep-locked{opacity:.8;border-color:rgba(var(--gold-rgb),.55)}.shop-card.rep-locked .shop-card-price,.shop-card.rep-locked .shop-card-stock.out{color:var(--gold);background:none}.shop-card-icon{position:relative;width:40px;height:40px;display:block}.shop-card-icon svg{width:100%;height:100%}.shop-card-bundle{position:absolute;right:-4px;bottom:-3px;font-size:10px;color:var(--ink);background:#0c0a07d9;border-radius:4px;padding:0 3px;line-height:1.3}.shop-card-name{font-size:11px;line-height:1.15;color:var(--ink);min-height:26px;display:flex;align-items:center}.shop-card-price{font-family:Cinzel,serif;font-size:12px;color:var(--gold);background:rgba(var(--ember-rgb),.16);border:1px solid var(--panel-edge);border-radius:5px;padding:2px 9px;white-space:nowrap}.shop-card-price.short{color:#c0603a;background:#c0603a1f}.shop-card-stock{font-size:10px;color:#8aa06a}.shop-card-stock.out{color:#c0603a}.inv-slot.unsellable{opacity:.5;cursor:default}.bounty-marks{font-family:Cinzel,serif;color:var(--ember);font-size:14px;white-space:nowrap}.bounty-streak{font-family:inherit;font-size:12px;color:#e8894a;margin-left:8px;padding:1px 7px;border:1px solid rgba(232,137,74,.4);border-radius:10px;white-space:nowrap}.bounty-blocked{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 4px}.bounty-block-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--ink);background:#783c3c2e;border:1px solid rgba(180,90,90,.35);border-radius:12px;padding:2px 4px 2px 9px}.bounty-unblock{border:none;background:#b45a5a4d;color:var(--ink);width:16px;height:16px;line-height:14px;border-radius:50%;font-size:10px;cursor:pointer;padding:0}.bounty-unblock:hover{background:#c8505099}.bounty-empty-mini{font-size:12px;color:var(--ink-dim);margin:2px 0 4px}.bounty-unlock-ic{display:flex;align-items:center;justify-content:center;font-size:20px}.bounty-unlock-buy{font-family:Cinzel,serif;font-size:12px;white-space:nowrap;background:var(--btn);color:var(--ink);border:1px solid var(--edge);border-radius:6px;padding:5px 10px;cursor:pointer}.bounty-unlock-buy:hover:not(.disabled){background:var(--btn-hi)}.bounty-unlock-buy.disabled{opacity:.45;cursor:default}.bounty-section-label{font-size:12px;letter-spacing:.06em;color:var(--ink-dim);text-transform:uppercase;margin:12px 0 6px;border-bottom:1px solid rgba(var(--edge-rgb),.4);padding-bottom:3px}.bounty-guides{display:flex;gap:6px}.bounty-guide{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;background:#0000002e;border:1px solid var(--panel-edge);border-radius:6px;padding:7px 4px;cursor:pointer;color:var(--ink)}.bounty-guide.active{border-color:var(--ember);background:rgba(var(--ember-rgb),.1)}.bounty-guide.locked{opacity:.45;cursor:default}.bounty-guide-icon{font-size:18px}.bounty-guide-name{font-family:Cinzel,serif;font-size:12px;color:var(--gold)}.bounty-guide-sub{font-size:9px;color:var(--ink-dim);text-align:center}.bounty-contract{background:#0000002e;border:1px solid var(--panel-edge);border-radius:6px;padding:10px 12px}.bounty-task-name{font-size:14px;color:var(--ink);margin-bottom:2px}.bounty-tally{font-size:11px;color:var(--ink-dim);margin:2px 0 8px}.bounty-tally b{color:var(--gold);font-family:Cinzel,serif}.bounty-perks{margin-top:4px;display:flex;flex-wrap:wrap;gap:6px}.bounty-perk{font-size:10px;color:#d0b078;background:rgba(var(--gold-rgb),.1);border:1px solid rgba(var(--gold-rgb),.3);border-radius:5px;padding:2px 8px}.bounty-perk.hot{color:#f0b878;border-color:var(--gold);background:rgba(var(--gold-rgb),.22)}.bounty-task-from{font-size:10px;color:#8a8472;margin-bottom:6px}.bounty-task-where{font-size:11px;color:#d09a6a;margin-bottom:6px}.bounty-task-where b{color:#f0b878;font-family:Cinzel,serif;font-size:11px}.bounty-empty{font-size:13px;color:var(--ink-dim);font-style:italic;margin-bottom:8px}.bounty-progress{height:7px;background:#0006;border-radius:4px;overflow:hidden;margin-bottom:4px}.bounty-progress-fill{height:100%;background:var(--ember)}.bounty-task-count{font-family:Cinzel,serif;font-size:12px;color:var(--ember)}.bounty-task-rewards{font-size:11px;color:#8aa06a;font-style:italic;margin:6px 0 9px}.bounty-actions{display:flex;gap:8px}.bounty-btn{font-family:Cinzel,serif;font-size:12px;color:var(--gold);background:rgba(var(--ember-rgb),.1);border:1px solid var(--panel-edge);border-radius:5px;padding:5px 14px;cursor:pointer}.bounty-btn:hover{border-color:var(--ember);color:#f0c187}.bounty-btn.disabled{opacity:.4;cursor:default;pointer-events:none}.bounty-claim{border-color:var(--gold);color:var(--gold)}.bounty-abandon{color:#b5564a}.bounty-shop{display:flex;flex-direction:column;gap:5px}.bounty-shop-row{display:flex;align-items:center;gap:10px;padding:4px;border-bottom:1px solid rgba(var(--edge-rgb),.22)}.bounty-shop-swatch{width:26px;height:26px;flex:0 0 auto}.bounty-shop-info{flex:1;display:flex;flex-direction:column;gap:1px}.bounty-shop-name{font-size:13px;color:var(--ink)}.bounty-shop-desc{font-size:10px;color:var(--ink-dim)}.bounty-buy{font-family:Cinzel,serif;font-size:12px;color:var(--ember);background:rgba(var(--ember-rgb),.1);border:1px solid var(--panel-edge);border-radius:5px;padding:4px 10px;cursor:pointer;white-space:nowrap}.bounty-buy:hover{border-color:var(--ember);color:#f0c187}.bounty-buy.disabled{opacity:.4;cursor:default;pointer-events:none}.diary-block{border:1px solid var(--panel-edge);border-radius:6px;background:#00000029;margin-bottom:6px;overflow:hidden}.diary-block.complete{border-color:#c9a24a;background:#785a1e29}.diary-head{display:flex;align-items:center;gap:6px;width:100%;background:transparent;border:0;cursor:pointer;text-align:left;padding:7px 8px;font-family:Cinzel,serif;font-size:12px;color:var(--gold)}.diary-head:hover{color:#f0c187}.diary-chev{width:11px;color:var(--ember);font-size:10px;transition:transform .15s}.diary-block.open .diary-chev{transform:rotate(90deg)}.diary-name{flex:1}.diary-count{font-family:EB Garamond,serif;font-size:11px;color:var(--ink-dim)}.diary-block.complete .diary-count{color:var(--gold)}.diary-tasks{display:none;padding:2px 8px 7px}.diary-block.open .diary-tasks{display:block}.diary-task{display:flex;align-items:baseline;gap:6px;font-family:EB Garamond,serif;font-size:12px;color:var(--ink-dim);line-height:1.5}.diary-task.done{color:var(--ink)}.diary-tick{width:12px;color:#6cc06a;font-weight:700;text-align:center}.diary-label{flex:1}.diary-prog{font-size:11px;color:#8a7f70;font-variant-numeric:tabular-nums}.diary-claim{display:block;width:100%;margin-top:6px;padding:5px 8px;font-family:Cinzel,serif;font-size:12px;color:#1a140f;background:var(--gold, #e0b54a);border:1px solid #f2cf6b;border-radius:5px;cursor:pointer}.diary-claim:hover{background:#f2cf6b}.diary-claim.claimed{background:transparent;color:var(--gold);border-color:var(--panel-edge);cursor:default}.skillpick-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:60}.skillpick-backdrop.hidden{display:none}.world-hiscores{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-bottom:8px;padding:7px;font-family:Cinzel,serif;font-size:13px;color:#1a140f;background:var(--gold, #e0b54a);border:1px solid #f2cf6b;border-radius:6px;cursor:pointer}.world-hiscores:hover{background:#f2cf6b}.world-hiscores-ic{width:15px;height:15px;display:inline-flex}.world-hiscores-ic .g-ico{width:15px;height:15px}.hiscores-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#0009;pointer-events:auto}.hiscores-backdrop.hidden{display:none}.hiscores-modal{background:var(--panel, #1c1812);border:1px solid var(--gold);border-radius:10px;padding:14px 16px;width:calc(100% - 40px);max-width:380px;max-height:86vh;box-shadow:0 10px 40px #0009;display:flex;flex-direction:column}.hiscores-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.hiscores-title{font-family:Cinzel,serif;color:var(--gold);font-size:16px;letter-spacing:.05em}.hiscores-close{background:transparent;border:0;color:var(--ink-dim);font-size:18px;line-height:1;cursor:pointer}.hiscores-close:hover{color:var(--ember)}.hiscores-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.hiscores-tab{font-family:EB Garamond,serif;font-size:12px;color:var(--ink-dim);background:#00000040;border:1px solid var(--panel-edge);border-radius:10px;padding:2px 9px;cursor:pointer}.hiscores-tab.on{color:#1a140f;background:var(--ember, #d2742c);border-color:#f2cf6b}.hiscores-body{overflow-y:auto}.hiscores-row{display:flex;align-items:baseline;gap:8px;padding:4px 6px;border-radius:5px;font-family:EB Garamond,serif;font-size:14px;color:var(--ink)}.hiscores-row:nth-child(odd){background:#00000029}.hiscores-row.you{background:rgba(var(--ember-rgb),.22);border:1px solid #6a5a3a}.hiscores-rank{width:22px;text-align:right;color:var(--gold);font-family:Cinzel,serif;font-size:12px}.hiscores-name{flex:1}.hiscores-val{font-family:Cinzel,serif;color:var(--ember);font-variant-numeric:tabular-nums}.hiscores-empty{color:var(--ink-dim);text-align:center;padding:16px;font-style:italic}.hiscores-note{margin-top:9px;text-align:center;font-size:11px;color:var(--ink-dim);font-style:italic}.world-players{margin-top:6px}.players-backdrop{position:fixed;inset:0;z-index:60;pointer-events:auto;display:flex;align-items:center;justify-content:center;background:#0009}.players-backdrop.hidden{display:none}.players-modal{background:var(--panel, #1c1812);border:1px solid var(--gold);border-radius:10px;padding:14px 16px;width:calc(100% - 40px);max-width:380px;max-height:86vh;box-shadow:0 10px 40px #0009;display:flex;flex-direction:column}.players-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.players-title{font-family:Cinzel,serif;color:var(--gold);font-size:16px;letter-spacing:.05em}.players-close{background:transparent;border:0;color:var(--ink-dim);font-size:18px;line-height:1;cursor:pointer}.players-close:hover{color:var(--ember)}.players-tabs{display:flex;gap:4px;margin-bottom:6px}.players-tab{font-family:EB Garamond,serif;font-size:12px;color:var(--ink-dim);background:#00000040;border:1px solid var(--panel-edge);border-radius:10px;padding:3px 11px;cursor:pointer}.players-tab.on{color:#1a140f;background:var(--ember, #d2742c);border-color:#f2cf6b}.players-note{font-family:EB Garamond,serif;font-size:11px;color:var(--ember);min-height:1em;text-align:center}.players-note.ok{color:var(--gold)}.players-body{overflow-y:auto}.players-empty{color:var(--ink-dim);text-align:center;padding:16px;font-style:italic}.players-sub{font-family:Cinzel,serif;color:var(--gold);font-size:11px;margin:9px 0 3px}.players-row{display:flex;align-items:center;gap:8px;padding:5px 4px;font-family:EB Garamond,serif;font-size:14px;color:var(--ink)}.players-row:nth-child(odd){background:#00000024;border-radius:5px}.players-dot{width:8px;height:8px;border-radius:50%;background:#555;flex:0 0 auto}.players-dot.on{background:#6ab04a;box-shadow:0 0 5px #6ab04a}.players-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.players-name[data-id]{cursor:pointer}.players-name[data-id]:hover{color:var(--gold);text-decoration:underline}.players-ago{font-size:11px;color:var(--ink-dim)}.players-rank{flex:0 0 auto;width:26px;text-align:right;color:var(--ink-dim);font-variant-numeric:tabular-nums}.players-hs-lvl{flex:0 0 auto;color:var(--gold);font-variant-numeric:tabular-nums}.players-row.you{outline:1px solid var(--gold);border-radius:5px}.players-row.you .players-name{color:var(--gold);font-weight:600}.players-back{align-self:flex-start;margin-bottom:8px}.players-profile-head{font-family:Cinzel,serif;font-size:17px;color:var(--gold);margin-bottom:4px}.players-profile-stats{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--ink-dim);margin-bottom:10px}.players-profile-stats b{color:var(--ink);font-weight:600}.players-portrait{margin:2px 0 10px;align-items:flex-start}.players-portrait .portrait-canvas{width:132px;height:186px}.players-portrait .portrait-turn{justify-content:flex-start;width:132px}.players-skill-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}.players-skill{display:flex;align-items:center;gap:7px;background:#00000038;border:1px solid var(--panel-edge);border-radius:7px;padding:5px 8px}.players-skill-icon{flex:0 0 auto;width:16px;height:16px;display:inline-flex;opacity:.85}.players-skill-icon svg{width:100%;height:100%}.players-skill-name{flex:1;min-width:0;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.players-skill-lvl{font-family:Cinzel,serif;font-size:13px;color:var(--gold);font-weight:600}.players-btn{font-family:Cinzel,serif;font-size:11px;cursor:pointer;white-space:nowrap;color:#1a140f;background:var(--ember, #d2742c);border:1px solid #f2cf6b;border-radius:8px;padding:3px 9px}.players-btn:hover{background:#e08a3e}.players-btn.dim{color:var(--ink-dim);background:#00000040;border-color:var(--panel-edge);padding:3px 7px}.players-btn.dim:hover{color:var(--ember)}.players-add{display:flex;gap:6px;margin-bottom:4px}.players-input{flex:1;min-width:0;font-family:EB Garamond,serif;font-size:13px;color:var(--ink);background:#0000004d;border:1px solid var(--panel-edge);border-radius:7px;padding:6px 8px}.players-input:focus{outline:none;border-color:var(--gold)}.log-line.chat{opacity:1;word-break:break-word}.log-line.chat .chat-from{color:var(--gold);font-weight:600;margin-right:4px}.log-line.chat.you .chat-from{color:var(--ember)}.log-line.world-broadcast{color:#f3cf52;font-weight:600;background:linear-gradient(90deg,#f3cf5224,#f3cf5208);border-left:2px solid #f3cf52;padding:2px 6px;margin:2px 0;border-radius:3px;text-shadow:0 0 8px rgba(243,207,82,.35)}.log-chat{display:flex;align-items:center;gap:6px;margin-top:6px;padding-top:6px;border-top:1px solid rgba(var(--gold-rgb),.22)}.log-chat-ic{flex:0 0 auto;width:14px;height:14px;opacity:.55;display:inline-flex}.log-chat-ic svg{width:14px;height:14px}.log-chat-input{flex:1 1 auto;min-width:0;font-family:EB Garamond,serif;font-size:13px;color:var(--ink);background:#00000052;border:1px solid rgba(var(--gold-rgb),.3);border-radius:6px;padding:4px 8px}.log-chat-input:focus{outline:none;border-color:var(--gold)}.log-chat-input::placeholder{color:#e6dcc861}.players-btn.trade{background:var(--ember, #d2742c);color:#1a140f;border:1px solid #f2cf6b}.players-btn.trade:hover{background:#e08a3e}.trade-backdrop{position:fixed;inset:0;z-index:65;pointer-events:auto;display:flex;align-items:center;justify-content:center;background:#0009}.trade-backdrop.hidden{display:none}.trade-modal{background:var(--panel, #1c1812);border:1px solid var(--gold);border-radius:10px;padding:12px 14px;width:calc(100% - 32px);max-width:460px;max-height:88vh;overflow-y:auto;box-shadow:0 10px 40px #0009;display:flex;flex-direction:column;gap:8px}.trade-head{display:flex;justify-content:space-between;align-items:center}.trade-title{font-family:Cinzel,serif;color:var(--gold);font-size:15px;letter-spacing:.04em}.trade-close{background:transparent;border:0;color:var(--ink-dim);font-size:18px;line-height:1;cursor:pointer}.trade-close:hover{color:var(--ember)}.trade-ask{font-family:EB Garamond,serif;color:var(--ink);font-size:14px;padding:8px 2px;text-align:center}.trade-toast{font-family:Cinzel,serif;color:var(--gold);font-size:16px;text-align:center;padding:24px 8px}.trade-actions{display:flex;gap:8px;justify-content:center}.trade-cols{display:flex;gap:10px}.trade-side{flex:1 1 0;min-width:0;border:1px solid var(--panel-edge);border-radius:8px;padding:7px}.trade-side-head{font-family:Cinzel,serif;font-size:12px;color:var(--ink);margin-bottom:6px;display:flex;justify-content:space-between;align-items:center;gap:4px}.trade-ok{font-family:EB Garamond,serif;font-size:11px;color:var(--ink-dim)}.trade-ok.on{color:#7ec47e;font-weight:600}.trade-offer{display:flex;flex-wrap:wrap;gap:4px;min-height:56px;align-content:flex-start;padding:2px;border-radius:6px;background:#0000002e}.trade-empty{font-family:EB Garamond,serif;font-size:12px;color:var(--ink-dim);font-style:italic;padding:4px}.trade-chip{position:relative;width:38px;height:38px;padding:2px;cursor:default;background:#00000047;border:1px solid var(--panel-edge);border-radius:6px;display:inline-flex;align-items:center;justify-content:center}.trade-chip svg{width:28px;height:28px}.trade-chip.rm,.trade-chip.pack{cursor:pointer}.trade-chip.rm:hover{border-color:var(--ember)}.trade-chip.pack:hover{border-color:var(--gold)}.trade-chip-qty{position:absolute;right:1px;bottom:0;font-size:10px;color:#ffe9a8;text-shadow:0 1px 2px #000;font-family:EB Garamond,serif}.trade-gold-row{display:flex;align-items:center;gap:5px;margin-top:7px}.trade-gold-coin{display:inline-flex;width:16px;height:16px}.trade-gold-coin svg{width:16px;height:16px}.trade-gold-input{flex:1 1 auto;min-width:0;font-family:EB Garamond,serif;font-size:13px;color:var(--ink);background:#0000004d;border:1px solid var(--panel-edge);border-radius:6px;padding:3px 6px}.trade-gold-input:focus{outline:none;border-color:var(--gold)}.trade-gold-row.static .trade-their-gold{font-family:EB Garamond,serif;color:var(--ink);font-size:13px}.trade-gold-g{font-family:EB Garamond,serif;font-size:12px;color:var(--ink-dim)}.trade-pack-head{font-family:Cinzel,serif;font-size:11px;color:var(--ink-dim);margin-top:2px}.trade-pack{display:flex;flex-wrap:wrap;gap:4px;max-height:132px;overflow-y:auto;padding:4px;border:1px solid var(--panel-edge);border-radius:8px}.trade-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.trade-status{font-family:EB Garamond,serif;font-size:12px;color:var(--ink-dim);flex:1 1 auto}.trade-btn{font-family:Cinzel,serif;font-size:13px;cursor:pointer;white-space:nowrap;color:#1a140f;background:var(--ember, #d2742c);border:1px solid #f2cf6b;border-radius:8px;padding:7px 14px}.trade-btn:hover{background:#e08a3e}.trade-btn.dim{background:transparent;color:var(--ink-dim);border-color:var(--panel-edge)}.trade-btn.dim:hover{color:var(--ember);background:transparent}.trade-btn.accept-trade.on{background:#5a8a4a;border-color:#8fce7f;color:#0e1408}.duel-backdrop{position:fixed;inset:0;z-index:66;pointer-events:auto;display:flex;align-items:center;justify-content:center;background:#0000009e}.duel-backdrop.hidden{display:none}.duel-modal{background:var(--panel, #1c1812);border:1px solid var(--gold);border-radius:10px;padding:12px 14px;width:calc(100% - 32px);max-width:470px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0009;display:flex;flex-direction:column;gap:8px}.duel-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.duel-title{font-family:Cinzel,serif;color:var(--gold);font-size:15px;letter-spacing:.04em}.duel-record{font-family:EB Garamond,serif;font-size:12px;color:var(--ink-dim);margin-left:auto}.duel-close{background:transparent;border:0;color:var(--ink-dim);font-size:18px;line-height:1;cursor:pointer}.duel-close:hover{color:var(--ember)}.duel-sub{font-family:EB Garamond,serif;font-size:12px;color:var(--ink-dim);font-style:italic;line-height:1.35}.duel-ask{font-family:EB Garamond,serif;color:var(--ink);font-size:15px;padding:14px 4px;text-align:center;line-height:1.4}.duel-ask.win{color:var(--gold);font-family:Cinzel,serif}.duel-actions{display:flex;gap:8px;justify-content:center}.duel-actions.fight{justify-content:space-between}.duel-peers{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto}.duel-peer{display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid var(--panel-edge);border-radius:8px;background:#0000002e}.duel-peer-name{font-family:Cinzel,serif;font-size:13px;color:var(--ink);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duel-peer-lvl{font-family:EB Garamond,serif;font-size:12px;color:var(--ink-dim);display:inline-flex;align-items:center;gap:3px}.duel-empty{font-family:EB Garamond,serif;font-size:13px;color:var(--ink-dim);font-style:italic;padding:20px 8px;text-align:center;line-height:1.4}.duel-btn{font-family:Cinzel,serif;font-size:13px;cursor:pointer;white-space:nowrap;color:#1a140f;background:var(--ember, #d2742c);border:1px solid #f2cf6b;border-radius:8px;padding:7px 14px}.duel-btn:hover{background:#e08a3e}.duel-btn:disabled{opacity:.42;cursor:default}.duel-btn.dim{background:transparent;color:var(--ink-dim);border-color:var(--panel-edge)}.duel-btn.dim:hover{color:var(--ember);background:transparent}.duel-btn.on{background:#5a8a4a;border-color:#8fce7f;color:#0e1408}.duel-btn.armed{background:#c9a24a;border-color:#f2cf6b;color:#1a140f;box-shadow:0 0 8px rgba(var(--gold-rgb),.7)}.duel-btn.challenge{padding:5px 12px;font-size:12px}.duel-arena{width:100%;border-radius:8px;border:1px solid var(--panel-edge);background:#141009;display:block}.duel-kit-head{font-family:Cinzel,serif;font-size:10px;color:var(--ink-dim);letter-spacing:.03em}.duel-kit{display:flex;flex-wrap:wrap;gap:4px;min-height:44px;align-content:flex-start;padding:4px;border:1px solid var(--panel-edge);border-radius:8px;background:#0003;max-height:96px;overflow-y:auto}.duel-kit-chip{position:relative;width:38px;height:38px;padding:2px;cursor:pointer;background:#00000047;border:1px solid var(--panel-edge);border-radius:6px;display:inline-flex;align-items:center;justify-content:center}.duel-kit-chip svg{width:28px;height:28px}.duel-kit-chip.gear:hover{border-color:var(--gold)}.duel-kit-chip.food:hover{border-color:#5fd06a}.duel-kit-badge{position:absolute;right:1px;bottom:0;font-size:10px;color:#ffe9a8;text-shadow:0 1px 2px #000;font-family:EB Garamond,serif}.duel-kit-empty{font-family:EB Garamond,serif;font-size:12px;color:var(--ink-dim);font-style:italic;padding:8px}.login-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 35%,#241d14,#0c0a07 80%)}.login-box{background:var(--panel, #1c1812);border:1px solid var(--gold);border-radius:12px;padding:26px 28px;width:calc(100% - 48px);max-width:320px;box-shadow:0 14px 50px #000000b3;text-align:center}.login-title{font-family:Cinzel,serif;color:var(--gold);font-size:30px;letter-spacing:.16em}.login-sub{font-family:EB Garamond,serif;color:var(--ink-dim);font-size:13px;margin:6px 0 18px}.login-form{display:flex;flex-direction:column;gap:9px}.login-email,.login-pass{font-family:EB Garamond,serif;font-size:14px;color:var(--ink);background:#00000052;border:1px solid var(--panel-edge);border-radius:8px;padding:9px 11px}.login-email:focus,.login-pass:focus{outline:none;border-color:var(--gold)}.login-go{font-family:Cinzel,serif;font-size:14px;cursor:pointer;margin-top:2px;color:#1a140f;background:var(--ember, #d2742c);border:1px solid #f2cf6b;border-radius:8px;padding:9px 11px}.login-go:hover{background:#e08a3e}.login-go:disabled,.login-create:disabled{opacity:.5;cursor:default}.login-create{font-family:EB Garamond,serif;font-size:13px;cursor:pointer;color:var(--ink-dim);background:transparent;border:0;padding:2px}.login-create:hover{color:var(--ink)}.login-forgot{font-family:EB Garamond,serif;font-size:12px;cursor:pointer;color:var(--ink-dim);background:transparent;border:0;padding:2px;text-decoration:underline;text-underline-offset:2px}.login-forgot:hover{color:var(--ink)}.login-raw{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;color:var(--ink-dim);line-height:1.35;white-space:pre-wrap;word-break:break-word;user-select:text;-webkit-user-select:text;max-height:5.4em;overflow:auto}.login-raw:not(:empty){margin-top:4px;padding:5px 7px;border-radius:6px;background:#00000052;border:1px solid var(--panel-edge)}.login-ref{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;color:var(--ink-dim);margin-top:10px;user-select:text;-webkit-user-select:text}.login-ref b{color:var(--ink);font-weight:600}.login-stale{font-family:EB Garamond,serif;font-size:12.5px;line-height:1.45;color:var(--ink);margin-top:12px;padding:9px 11px;border-radius:8px;background:#00000052;border-left:3px solid var(--ember, #d2742c);text-align:left}.login-stale b{color:var(--gold, #e0b653);font-weight:600}.login-notice:empty{display:none}.login-msg{font-family:EB Garamond,serif;font-size:12px;color:var(--ember);min-height:1.1em}.login-msg.ok{color:var(--gold)}.login-offline{display:block;width:100%;margin-top:12px;padding:8px;font-family:Cinzel,serif;font-size:12px;letter-spacing:.05em;cursor:pointer;color:var(--ink-dim);background:transparent;border:1px solid var(--panel-edge);border-radius:8px}.login-offline:hover{color:var(--ink);border-color:var(--ember)}.login-foot{font-family:EB Garamond,serif;font-size:11px;color:var(--ink-dim);margin-top:14px;font-style:italic}.login-play{display:block;margin:26px auto 6px;padding:14px 44px;font-family:Cinzel,serif;font-size:18px;letter-spacing:2px;color:#f2e2b8;background:linear-gradient(180deg,#6b4a2c,#4a2f1a);border:1px solid #8a6a3a;border-radius:6px;cursor:pointer;box-shadow:0 0 22px #d2a05040,inset 0 1px #ffe6b440;animation:playGlow 2.4s ease-in-out infinite}.login-play:hover{background:linear-gradient(180deg,#7d5836,#573a22)}.login-mute{margin-top:12px;padding:4px 14px;font-family:EB Garamond,serif;font-size:12px;color:#cbb890;background:none;border:1px solid rgba(203,184,144,.35);border-radius:12px;cursor:pointer;opacity:.85}.login-mute:hover{opacity:1;border-color:#cbb890b3}.login-mute.off{color:#8a7a60;font-style:italic}.bugreport-backdrop{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;background:#0a0806bf}.bugreport-box{width:min(440px,92vw);padding:20px 22px;border-radius:10px;background:linear-gradient(180deg,#241c12,#1a140d);border:1px solid #6a5636;box-shadow:0 10px 40px #0009}.bugreport-title{font-family:Cinzel,serif;font-size:17px;color:#e8d5a0;margin-bottom:6px}.bugreport-sub{font-family:EB Garamond,serif;font-size:12px;color:#b3a382;margin-bottom:10px}.bugreport-text{width:100%;box-sizing:border-box;resize:vertical;background:#120e08;color:#e6dcc2;border:1px solid #5a4930;border-radius:6px;font-family:EB Garamond,serif;font-size:14px;padding:8px}.bugreport-row{display:flex;gap:10px;margin-top:10px}.bugreport-send,.bugreport-cancel{padding:8px 16px;border-radius:6px;cursor:pointer;font-family:Cinzel,serif;font-size:12px;letter-spacing:1px}.bugreport-send{color:#f2e2b8;background:linear-gradient(180deg,#6b4a2c,#4a2f1a);border:1px solid #8a6a3a}.bugreport-send:disabled{opacity:.5;cursor:default}.bugreport-cancel{color:#b3a382;background:none;border:1px solid #5a4930}.bugreport-msg{font-family:EB Garamond,serif;font-size:12px;color:#cbb890;margin-top:8px;min-height:16px}.hiscores-row.founder .hiscores-name{color:#f2cf6b;text-shadow:0 0 6px rgba(242,207,107,.35)}.hiscores-founder{margin-left:6px;padding:1px 6px;border-radius:8px;vertical-align:middle;font-family:Cinzel,serif;font-size:9px;letter-spacing:.5px;color:#1a140d;background:linear-gradient(180deg,#f2cf6b,#d0a63c)}.founder-backdrop{position:fixed;inset:0;z-index:320;display:flex;align-items:center;justify-content:center;background:#080604d1}.founder-box{width:min(420px,92vw);padding:26px 26px 22px;border-radius:12px;text-align:center;background:radial-gradient(120% 90% at 50% 0%,#33220f,#1a130c 70%);border:1px solid #c8531f;box-shadow:0 0 50px #c8531f59}.founder-crest{font-size:40px;filter:drop-shadow(0 0 12px rgba(255,160,70,.7))}.founder-title{font-family:Cinzel,serif;font-size:22px;letter-spacing:1px;color:#f2cf6b;margin:6px 0 8px}.founder-sub{font-family:EB Garamond,serif;font-size:14px;color:#d6c39c;margin-bottom:12px}.founder-list{list-style:none;padding:0;margin:0 0 12px;text-align:left;display:inline-block}.founder-list li{font-family:EB Garamond,serif;font-size:14px;color:#e6dcc2;margin:5px 0;padding-left:18px;position:relative}.founder-list li:before{content:"◆";position:absolute;left:0;color:#c8531f;font-size:10px;top:3px}.founder-list b{color:#f2cf6b}.founder-note{font-family:EB Garamond,serif;font-style:italic;font-size:12px;color:#a99372;margin-bottom:16px}.founder-claim{padding:12px 30px;border-radius:7px;cursor:pointer;font-family:Cinzel,serif;font-size:14px;letter-spacing:1px;color:#1a140d;background:linear-gradient(180deg,#f2cf6b,#d0932c);border:1px solid #f2e2b8}.founder-claim:disabled{opacity:.6;cursor:default}.founder-box.claimed{border-color:#f2cf6b}@keyframes playGlow{0%,to{box-shadow:0 0 14px #d2a0502e,inset 0 1px #ffe6b440}50%{box-shadow:0 0 30px #d2a05066,inset 0 1px #ffe6b440}}.settings-signout{display:block;width:100%;margin-top:8px;font-family:EB Garamond,serif;font-size:13px;cursor:pointer;color:var(--ink-dim);background:#00000040;border:1px solid var(--panel-edge);border-radius:8px;padding:7px 10px}.settings-signout:hover{color:var(--ember)}.world-ge{margin-top:6px}.ge-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#0000008c;pointer-events:auto}.ge-backdrop.hidden{display:none}.ge-modal{background:var(--panel, #1c1812);border:1px solid var(--gold);border-radius:10px;padding:14px 16px;width:calc(100% - 36px);max-width:440px;max-height:88vh;box-shadow:0 10px 40px #0009;display:flex;flex-direction:column}.ge-head{display:flex;justify-content:space-between;align-items:center}.ge-title{font-family:Cinzel,serif;color:var(--gold);font-size:16px;letter-spacing:.05em}.ge-close{background:transparent;border:0;color:var(--ink-dim);font-size:18px;line-height:1;cursor:pointer}.ge-close:hover{color:var(--ember)}.ge-balance{font-family:Cinzel,serif;color:var(--ember);font-size:13px;margin:4px 0 8px}.ge-tabs{display:flex;gap:4px;margin-bottom:8px}.ge-tab{font-family:EB Garamond,serif;font-size:12px;color:var(--ink-dim);background:#00000040;border:1px solid var(--panel-edge);border-radius:10px;padding:3px 11px;cursor:pointer}.ge-tab.on{color:#1a140f;background:var(--ember, #d2742c);border-color:#f2cf6b}.ge-msg{font-family:EB Garamond,serif;font-size:12px;color:var(--ember);min-height:1.1em;margin-bottom:4px}.ge-msg.ok{color:var(--gold)}.ge-body{overflow-y:auto}.ge-empty{color:var(--ink-dim);text-align:center;padding:18px;font-style:italic}.ge-sect{border-top:1px solid var(--panel-edge);padding:9px 0}.ge-sect:first-child{border-top:0}.ge-sect-h{font-family:Cinzel,serif;color:var(--gold);font-size:12px;margin-bottom:6px}.ge-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:5px}.ge-dim{color:var(--ink-dim);font-family:EB Garamond,serif;font-size:12px}.ge-in{font-family:EB Garamond,serif;font-size:13px;color:var(--ink);background:#0000004d;border:1px solid var(--panel-edge);border-radius:7px;padding:6px 8px;flex:1;min-width:0}.ge-in.narrow{flex:0 0 70px}.ge-in:focus{outline:none;border-color:var(--gold)}.ge-btn{font-family:Cinzel,serif;font-size:12px;cursor:pointer;white-space:nowrap;color:#1a140f;background:var(--ember, #d2742c);border:1px solid #f2cf6b;border-radius:8px;padding:6px 10px}.ge-btn:hover{background:#e08a3e}.ge-btn.alt{color:var(--ink-dim);background:#00000040;border-color:var(--panel-edge)}.ge-btn.alt:hover,.ge-btn.alt.on{color:var(--ink)}.ge-btn.alt.on{color:#1a140f;background:var(--ember);border-color:#f2cf6b}.ge-btn.small{padding:3px 9px;font-size:11px}.ge-side .ge-btn{flex:1}.ge-bank-row,.ge-bank>.ge-dim{display:flex;align-items:center;gap:8px;padding:4px 2px}.ge-bank-row{font-family:EB Garamond,serif;font-size:13px;color:var(--ink)}.ge-bank-row:nth-child(odd){background:#00000024;border-radius:5px}.ge-bank-name{flex:1}.ge-bank-qty{color:var(--ember);font-variant-numeric:tabular-nums}.ge-quote{margin-top:6px}.ge-quote-row{display:flex;gap:12px;font-family:EB Garamond,serif;font-size:13px;color:var(--ink)}.ge-q b{color:var(--gold);font-weight:600}.ge-q.ge-guide{color:var(--ink-dim)}.ge-q.ge-guide b{color:#b8935a}.ge-trades{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:5px}.ge-trade{font-family:EB Garamond,serif;font-size:11px;color:var(--ink-dim)}.ge-total{margin-top:2px}.ge-offers{display:flex;flex-direction:column;gap:8px}.ge-offer{border:1px solid var(--panel-edge);border-radius:8px;padding:7px 9px}.ge-offer-top{display:flex;align-items:center;gap:7px;font-family:EB Garamond,serif;font-size:13px;color:var(--ink)}.ge-offer-side{font-family:Cinzel,serif;font-size:10px;padding:1px 6px;border-radius:6px}.ge-offer-side.buy{color:#1a140f;background:#6ab04a}.ge-offer-side.sell{color:#1a140f;background:#d2742c}.ge-offer-name{flex:1}.ge-offer-price{color:var(--ember);font-variant-numeric:tabular-nums}.ge-offer-bar{height:5px;background:#0000004d;border-radius:3px;margin:6px 0;overflow:hidden}.ge-offer-fill{height:100%;background:var(--gold)}.ge-offer-bot{display:flex;justify-content:space-between;align-items:center}.skillpick-modal{background:var(--panel, #1c1812);border:1px solid var(--panel-edge);border-radius:10px;padding:16px;max-width:360px;width:calc(100% - 40px);box-shadow:0 10px 40px #0009}.skillpick-title{font-family:Cinzel,serif;color:var(--gold);font-size:15px;text-align:center;margin-bottom:12px}.skillpick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.skillpick-cell{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px 6px;background:#282018b3;border:1px solid var(--panel-edge);border-radius:6px;color:var(--ink);cursor:pointer}.skillpick-cell:hover{border-color:var(--ember);background:rgba(var(--ember-rgb),.16)}.skillpick-ic{font-size:18px;line-height:1}.skillpick-name{font-family:EB Garamond,serif;font-size:10px;color:var(--ink-dim);text-align:center}.faction-block{margin-bottom:9px}.faction-row{display:flex;align-items:baseline;gap:5px;font-size:13px}.faction-ic{font-size:14px}.faction-name{color:var(--ink);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.faction-stand{font-size:11px;font-style:italic}.faction-stand.pos{color:#7fc06a}.faction-stand.neg{color:#d2724c}.faction-stand.neutral{color:var(--ink-dim)}.faction-rep{font-family:Cinzel,serif;font-weight:600;color:var(--ember);min-width:34px;text-align:right}.faction-bar{height:4px;margin-top:3px;background:#2a2118;border-radius:2px;overflow:hidden}.faction-fill{height:100%;width:0%;background:linear-gradient(90deg,#4a6a2e,#7fc06a);transition:width .3s ease}.faction-fill.neg{background:#6a2f22}.skilldetail-backdrop{position:absolute;inset:0;z-index:62;display:flex;align-items:center;justify-content:center;background:#0000008c;pointer-events:auto}.skilldetail-backdrop.hidden{display:none}.skilldetail-modal{width:min(320px,92vw);max-height:86vh;overflow-y:auto;background:var(--panel);border:1px solid var(--gold);border-radius:10px;padding:14px 16px;box-shadow:0 8px 28px #0009}.skilldetail-head{display:flex;justify-content:space-between;align-items:center}.skilldetail-title{font-family:Cinzel,serif;color:var(--gold);font-size:17px;letter-spacing:.04em}.skilldetail-close{background:transparent;border:0;color:var(--ink-dim);font-size:18px;line-height:1;cursor:pointer}.skilldetail-close:hover{color:var(--ember)}.sd-level{margin:8px 0 4px;font-size:14px;color:var(--ink)}.sd-level b{color:var(--ember);font-family:Cinzel,serif}.sd-xpbar{height:5px;background:#2a2118;border-radius:3px;overflow:hidden;margin-bottom:6px}.sd-xpfill{height:100%;background:linear-gradient(90deg,#8a6a2a,#e0b54a)}.sd-note{font-style:italic;color:var(--ink-dim);font-size:13px;margin-top:8px}.sd-blurb{font-size:13px;line-height:1.45;color:var(--ink);background:#0000002e;border:1px solid var(--panel-edge);border-radius:6px;padding:8px 10px;margin-bottom:10px}.sd-laddertitle{margin:10px 0 4px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);border-bottom:1px solid rgba(var(--edge-rgb),.4);padding-bottom:3px}.sd-actgroup{margin:10px 0 3px;font-family:Cinzel,serif;font-size:12px;color:var(--gold)}.sd-ladder{display:flex;flex-direction:column;gap:2px;margin-bottom:4px}.sd-rung{display:flex;align-items:baseline;gap:7px;font-size:13px;padding:2px 0}.sd-rung-lvl{font-family:Cinzel,serif;min-width:38px;color:var(--ink-dim)}.sd-rung-mark{width:14px;text-align:center}.sd-rung-names{flex:1}.sd-rung.done .sd-rung-lvl,.sd-rung.done .sd-rung-mark{color:#7fc06a}.sd-rung.done .sd-rung-names{color:var(--ink)}.sd-rung.next .sd-rung-lvl,.sd-rung.next .sd-rung-mark,.sd-rung.next .sd-rung-names{color:var(--ember);font-weight:600}.sd-rung.locked{opacity:.55}.companion-grid{display:grid;grid-template-columns:repeat(4,32px);grid-auto-rows:32px;gap:4px}.comp-cell{position:relative;display:flex;align-items:center;justify-content:center;background:#0a08068c;border:1px solid #3a2f22;border-radius:5px;cursor:default;font-size:16px;color:var(--ink);font-family:inherit}.comp-cell.owned{background:#282018cc;border-color:var(--panel-edge);cursor:pointer}.comp-cell.owned:hover{border-color:var(--ember)}.comp-cell.locked{opacity:.5}.comp-cell.active{border-color:var(--gold);box-shadow:0 0 8px rgba(var(--gold-rgb),.55)}.comp-star{position:absolute;top:-4px;right:-3px;font-size:11px;color:var(--gold)}.achieve-list{max-height:300px;overflow-y:auto}.achieve-summary{font-family:Cinzel,serif;color:var(--gold);font-size:13px;margin-bottom:6px}.achieve-cat{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);border-bottom:1px solid rgba(var(--edge-rgb),.4);padding-bottom:2px;margin:9px 0 4px}.achieve-row{display:flex;align-items:center;gap:7px;padding:3px 0;opacity:.65}.achieve-row.done{opacity:1}.achieve-ic{font-size:16px;width:18px;text-align:center}.achieve-info{flex:1;display:flex;flex-direction:column;line-height:1.2}.achieve-name{font-size:13px;color:var(--ink)}.achieve-row.done .achieve-name{color:var(--gold)}.achieve-desc{font-size:11px;color:var(--ink-dim)}.achieve-check{color:#7fc06a;font-weight:700}.boss-entry{border-top:1px solid rgba(var(--gold-rgb),.1);opacity:.72}.boss-entry:first-child{border-top:none}.boss-entry.slain{opacity:1}.boss-head{display:flex;align-items:center;gap:8px;width:100%;padding:7px 2px;background:none;border:none;cursor:pointer;text-align:left}.boss-head:hover{background:rgba(var(--gold-rgb),.06)}.boss-ic{color:var(--ink-dim);display:inline-flex;flex:0 0 auto;width:20px;height:20px}.boss-ic .g-ico{width:20px;height:20px}.boss-entry.slain .boss-ic{color:var(--gold)}.boss-name{font-size:13px;color:var(--ink);flex:1;min-width:0}.boss-entry.slain .boss-name{color:var(--gold)}.boss-lvl{font-size:10px;color:var(--ink-dim);border:1px solid var(--panel-edge);border-radius:6px;padding:0 5px;white-space:nowrap;flex:0 0 auto}.boss-chevron{flex:0 0 auto;color:var(--ink-dim);font-size:12px;width:16px;text-align:center}.boss-detail{display:none;padding:2px 2px 9px 30px}.boss-entry.open .boss-detail{display:block}.boss-detail-lore{font-size:11px;color:var(--ink);line-height:1.35;margin-bottom:4px}.boss-detail-hint{font-size:11px;color:var(--ink-dim);font-style:italic;margin-bottom:4px}.boss-detail-weak{font-size:11px;color:#e0a23a;margin-bottom:5px}.boss-miles{display:flex;flex-wrap:wrap;gap:5px;margin-top:3px}.boss-mile{font-size:10px;color:var(--ink-dim);white-space:nowrap;background:#00000040;border:1px solid var(--panel-edge);border-radius:6px;padding:2px 6px}.boss-mile.done{color:#7fc06a;border-color:#7fc06a66}.boss-mile.claim{cursor:pointer;color:#1a140f;font-weight:600;background:var(--ember, #d2742c);border-color:#f2cf6b;font-family:Cinzel,serif}.boss-mile.claim:hover{background:#e08a3e}.boss-kills{flex:0 0 auto;font-size:12px;font-weight:600;color:var(--ember);white-space:nowrap;align-self:center}.boss-row:not(.slain) .boss-kills{color:var(--ink-dim);font-weight:400}.achieve-prog{font-family:Cinzel,serif;font-size:11px;color:var(--ember);white-space:nowrap}.achieve-lock{opacity:.5}.lore-list{max-height:300px;overflow-y:auto}.lore-summary{font-family:Cinzel,serif;color:var(--gold);font-size:13px;margin-bottom:6px}.lore-cat{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);border-bottom:1px solid rgba(var(--edge-rgb),.4);padding-bottom:2px;margin:9px 0 4px}.lore-row{display:flex;align-items:flex-start;gap:7px;padding:4px 0;opacity:.6}.lore-row.done{opacity:1}.lore-ic{color:var(--ink-dim);display:inline-flex;align-items:center;justify-content:center;width:18px;padding-top:1px}.lore-ic .g-ico{width:18px;height:18px}.lore-row.done .lore-ic{color:var(--gold)}.lore-info{flex:1;display:flex;flex-direction:column;line-height:1.25}.lore-name{font-size:13px;color:var(--ink-dim)}.lore-row.done .lore-name{color:var(--gold)}.lore-snip{font-size:11px;color:var(--ink-dim);font-style:italic;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.records{display:flex;flex-direction:column;gap:5px}.rec-sec{border:1px solid var(--panel-edge);border-radius:6px;overflow:hidden;background:#00000029}.rec-head,.rec-subhead{display:flex;align-items:center;gap:7px;width:100%;background:transparent;border:0;cursor:pointer;text-align:left;font-family:Cinzel,serif;color:var(--gold)}.rec-head{padding:8px 9px;font-size:13px;letter-spacing:.03em}.rec-secname{flex:1}.rec-count{font-family:EB Garamond,serif;font-size:11px;color:var(--ink-dim);letter-spacing:0}.rec-chev{width:11px;color:var(--ember);font-size:10px;text-align:center}.rec-body{padding:2px 9px 8px}.rec-head:hover,.rec-subhead:hover{color:#f0c187}.rec-sub{border-top:1px solid rgba(var(--edge-rgb),.3)}.rec-sub:first-child{border-top:0}.rec-subhead{padding:6px 2px;font-size:12px;color:var(--ink)}.rec-subname{flex:1;color:var(--ink)}.rec-subbody{padding:1px 0 5px 6px}.coll-grid{display:flex;flex-wrap:wrap;gap:4px;padding:4px 2px}.coll-cell{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;background:#00000047;border:1px solid var(--panel-edge);border-radius:6px}.coll-cell .item-svg{width:24px;height:24px}.coll-cell.locked{opacity:.9}.coll-cell.locked .item-svg{filter:grayscale(1) brightness(.35);opacity:.7}.coll-cell.got{border-color:rgba(var(--gold-rgb),.4)}.coll-missing{padding:0 2px 4px;font-size:10px;line-height:1.35;color:var(--ink-dim, #9a8b74)}.coll-missing.done{color:#8fbf6a}.creator-modes{display:flex;flex-wrap:wrap;gap:4px;margin:2px 0 4px}.creator-mode{flex:1 1 auto;min-width:68px;padding:5px 6px;font:inherit;font-size:11px;color:var(--ink);background:#1e191399;border:1px solid rgba(var(--edge-rgb),.7);border-radius:4px;cursor:pointer}.creator-mode:hover{border-color:rgba(var(--gold-rgb),.55)}.creator-mode.on{color:#f0c187;border-color:#c9a24a;background:rgba(var(--gold-rgb),.16)}.creator-mode-note{font-size:10px;line-height:1.4;color:#9a8b74;min-height:28px;padding:0 2px 2px}.acct-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;margin:2px 0 5px;border-radius:4px;font-size:12px;font-weight:600;letter-spacing:.02em;border:1px solid rgba(var(--edge-rgb),.85);background:#1e191399;color:var(--ink)}.acct-badge.mode-ironman{color:#cfd6dd;border-color:#7e8894;background:#7e889424}.acct-badge.mode-hardcore{color:#e8907a;border-color:#b4553c;background:#b4553c29}.acct-badge.mode-ultimate{color:#e0d3a6;border-color:#b9992f;background:#b9992f24}.acct-blurb{font-size:11px;line-height:1.45;color:#b7a88d}.acct-death{margin:6px 0 2px;padding:6px 8px;font-size:11px;line-height:1.45;color:#e8907a;border-left:2px solid #b4553c;background:#b4553c1a}.acct-relax{display:block;width:100%;margin:8px 0 2px;padding:6px 8px;font:inherit;font-size:11px;color:var(--ink);cursor:pointer;background:#1e191399;border:1px solid rgba(var(--edge-rgb),.85);border-radius:4px}.acct-relax:hover{color:#e8907a;border-color:#b4553c}.rec-subbody .rec-sub{border-top-color:rgba(var(--edge-rgb),.22)}.rec-subbody .rec-subhead{font-size:11px;padding:4px 2px}.login-backdrop,.creator-backdrop{position:absolute;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 35%,#221813,#0c0907 70%);pointer-events:auto;padding:20px}.login-box{width:min(420px,94vw)}.creator-box{width:min(580px,94vw)}.login-box,.creator-box{max-height:92vh;overflow-y:auto;background:var(--panel);border:1px solid var(--gold);border-radius:12px;padding:26px 24px;box-shadow:0 10px 40px #0009;text-align:center}.login-title,.creator-title{font-family:Cinzel,serif;font-size:34px;letter-spacing:.16em;color:var(--gold)}.login-sub,.creator-sub{font-family:Cinzel,serif;font-size:11px;letter-spacing:.4em;color:var(--ink-dim);margin:4px 0 20px}.login-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:8px}.login-accounts{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.login-account{display:flex;justify-content:space-between;align-items:center;background:#00000040;border:1px solid var(--panel-edge);border-radius:8px;padding:11px 16px;cursor:pointer;color:var(--ink)}.login-account:hover{border-color:var(--ember);background:rgba(var(--ember-rgb),.1)}.login-account-name{font-family:Cinzel,serif;font-size:15px;color:var(--ink)}.login-account-go{color:var(--ember)}.login-empty{color:var(--ink-dim);font-style:italic;margin:8px 0 20px}.login-new,.creator-go,.creator-back{font-family:Cinzel,serif;font-size:13px;letter-spacing:.05em;color:var(--gold);background:rgba(var(--ember-rgb),.16);border:1px solid var(--gold);border-radius:8px;padding:11px 18px;cursor:pointer}.login-new{width:100%}.login-new:hover,.creator-go:hover{background:rgba(var(--ember-rgb),.22)}.creator-main{display:flex;gap:18px;text-align:left;margin-bottom:18px;flex-wrap:wrap}.creator-stage{flex:0 0 auto}.portrait{display:flex;flex-direction:column;gap:8px;align-items:center}.portrait-canvas{display:block;width:100%;height:200px;background:radial-gradient(ellipse at 50% 60%,#2a2018,#14100c);border:1px solid var(--panel-edge);border-radius:var(--r-lg)}.creator-stage .portrait-canvas{width:170px;height:240px}.portrait-turn{display:flex;gap:4px;justify-content:center;flex-wrap:wrap}.portrait-turn-btn{min-width:30px;min-height:26px;font-size:var(--t-small);background:var(--btn);color:var(--ink-dim);border:1px solid var(--edge);border-radius:var(--r-sm);cursor:pointer}.portrait-turn-btn:hover{color:var(--ink);border-color:var(--gold)}.portrait-turn-btn.on{background:var(--btn-hi);color:var(--gold);border-color:var(--gold)}.portrait-walk{padding:0 8px;font-family:Cinzel,serif}.creator-presets{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0 4px}.creator-preset{font-family:EB Garamond,serif;font-size:var(--t-small);background:var(--btn);color:var(--ink-dim);border:1px solid var(--edge);border-radius:var(--r-pill);padding:4px 10px;cursor:pointer}.creator-preset:hover{color:var(--gold);border-color:var(--gold)}.creator-preset.creator-random{color:var(--ember);border-color:rgba(var(--ember-rgb),.4)}.creator-tabs{display:flex;gap:4px;margin:8px 0 6px;border-bottom:1px solid var(--panel-edge)}.creator-tab{flex:1;font-family:Cinzel,serif;font-size:var(--t-small);letter-spacing:.04em;background:transparent;color:var(--ink-dim);border:1px solid transparent;border-bottom:none;border-radius:var(--r-sm) var(--r-sm) 0 0;padding:6px 0;cursor:pointer}.creator-tab:hover{color:var(--ink)}.creator-tab.on{background:var(--btn-hi);color:var(--gold);border-color:var(--gold);border-bottom:none}.creator-rows{min-height:168px}.creator-swatch-any{position:relative;overflow:hidden;background:conic-gradient(#c25b4a,#c9a24a,#6fae72,#4a7fb5,#8a6bc0,#c25b4a);display:inline-block}.creator-swatch-any input[type=color]{position:absolute;inset:-4px;width:200%;height:200%;border:none;padding:0;background:transparent;cursor:pointer;opacity:0}.creator-controls{flex:1;display:flex;flex-direction:column}.creator-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);margin:9px 0 4px}.creator-name{width:100%;box-sizing:border-box;padding:8px 10px;background:#0000004d;border:1px solid var(--panel-edge);border-radius:6px;color:var(--ink);font-size:15px}.creator-name:focus{outline:none;border-color:var(--ember)}.creator-name-hint{font-size:10px;color:var(--ink-dim);margin-top:3px}.creator-name-hint.warn{color:#b5564a}.creator-name-hint.ok{color:#5a9e5a}.creator-swatches{display:flex;gap:6px;flex-wrap:wrap}.creator-swatch{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;box-shadow:inset 0 0 0 1px #0006}.creator-swatch.on{border-color:var(--gold);transform:scale(1.12)}.creator-random{align-self:stretch;margin-bottom:4px;font-family:EB Garamond,serif;font-size:13px;color:var(--gold);background:rgba(var(--ember-rgb),.1);border:1px solid var(--panel-edge);border-radius:6px;padding:6px 10px;cursor:pointer}.creator-random:hover{border-color:var(--ember);background:rgba(var(--ember-rgb),.22)}.creator-rows{display:flex;flex-direction:column;gap:4px}.creator-part{display:flex;flex-direction:column;gap:5px;padding:6px 0 7px;border-bottom:1px solid rgba(var(--edge-rgb),.3)}.creator-part:last-child{border-bottom:none}.creator-part-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.creator-part-head .creator-label{margin:0}.creator-cycler{display:flex;align-items:center;gap:8px}.creator-cyc-btn{font-size:12px;line-height:1;color:var(--gold);background:rgba(var(--ember-rgb),.1);border:1px solid var(--panel-edge);border-radius:5px;padding:4px 7px;cursor:pointer}.creator-cyc-btn:hover{border-color:var(--ember);background:rgba(var(--ember-rgb),.22)}.creator-cyc-name{min-width:88px;text-align:center;font-family:EB Garamond,serif;font-size:13px;color:var(--ink)}.creator-nav{display:flex;gap:10px}.creator-back{flex:0 0 auto;color:var(--ink-dim);border-color:var(--panel-edge);background:transparent}.creator-go{flex:1}.creator-go:disabled{opacity:.4;cursor:default}.activeskill{position:absolute;top:var(--top-1);left:50%;z-index:55;pointer-events:none;display:flex;align-items:center;gap:7px;padding:4px 10px 4px 8px;background:linear-gradient(180deg,#1a150eeb,#100d09eb);border:1px solid var(--panel-edge);border-radius:9px;box-shadow:0 4px 14px #00000073;opacity:0;transform:translate(-50%,-8px);transition:opacity .25s ease,transform .3s cubic-bezier(.18,1.3,.4,1)}.activeskill.hidden{display:none}.activeskill.show{opacity:.97;transform:translate(-50%)}.activeskill-flash{font-family:Cinzel,serif;font-size:11px;font-weight:600;color:var(--gold);text-shadow:0 0 8px rgba(var(--gold-rgb),.55);opacity:0;transform:translateY(4px);transition:opacity .15s ease,transform .4s ease;min-width:0}.activeskill-flash.on{opacity:1;transform:translateY(0)}.activeskill-icon{font-size:16px;line-height:1;color:var(--gold);filter:drop-shadow(0 0 6px rgba(var(--gold-rgb),.4))}.activeskill-icon .g-ico{width:18px;height:18px}.activeskill-body{min-width:104px}.activeskill-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:2px}.activeskill-name{font-family:Cinzel,serif;font-size:11px;letter-spacing:.04em;color:var(--ink)}.activeskill-level{font-size:10px;letter-spacing:.03em;color:var(--ember)}.activeskill-bar{height:4px;border-radius:3px;background:#00000080;overflow:hidden;box-shadow:inset 0 0 3px #0009}.activeskill-fill{height:100%;width:0%;border-radius:3px;background:linear-gradient(90deg,var(--ember),var(--gold));transition:width .2s ease}.activeskill-xp{font-size:9px;color:var(--ink-dim);font-variant-numeric:tabular-nums;min-width:62px;text-align:right}.levelup{position:absolute;top:var(--top-3);left:50%;z-index:60;pointer-events:auto;min-width:188px;padding:12px 18px 13px;text-align:center;background:linear-gradient(180deg,#261e12f7,#16110bf7);border:1px solid var(--gold);border-radius:12px;box-shadow:0 8px 28px #0000008c,inset 0 0 22px rgba(var(--gold-rgb),.1);opacity:0;transform:translate(-50%,-14px) scale(.92);transition:opacity .28s ease,transform .34s cubic-bezier(.18,1.4,.4,1)}.levelup.hidden{display:none}.levelup.show{opacity:1;transform:translate(-50%) scale(1)}.levelup-eyebrow{font-family:Cinzel,serif;font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-bottom:7px;text-shadow:0 0 10px rgba(var(--gold-rgb),.55)}.levelup-row{display:flex;align-items:center;justify-content:center;gap:11px}.levelup-icon{font-size:26px;line-height:1;filter:drop-shadow(0 0 7px rgba(var(--ember-rgb),.55))}.levelup-skill{font-family:Cinzel,serif;font-size:16px;color:var(--ink);text-align:left}.levelup-level{font-size:12px;letter-spacing:.05em;color:var(--ember);text-align:left}.levelup-unlock{margin-top:9px;padding-top:8px;border-top:1px solid var(--panel-edge);font-size:11px;color:var(--ink-dim)}.levelup-unlock b{color:var(--gold);font-weight:600}.levelup-rewards{list-style:none;margin:10px 0 0;padding:9px 0 0;border-top:1px solid var(--panel-edge);display:flex;flex-direction:column;gap:4px}.levelup-rewards li{font-size:12px;color:var(--ink);padding-left:16px;position:relative}.levelup-rewards li:before{content:"◆";position:absolute;left:2px;color:var(--gold);font-size:9px;top:1px}.levelup-champion{min-width:256px;padding:16px 24px 17px;background:linear-gradient(180deg,#3a2c12fa,#1c140afa);border-color:#f3cf52;box-shadow:0 10px 34px #0009,inset 0 0 30px #f3cf5238;animation:champion-glow 1.6s ease-in-out infinite}.levelup-champion .levelup-eyebrow{color:#f3cf52;letter-spacing:.3em;font-size:11px;text-shadow:0 0 12px rgba(243,207,82,.7)}.levelup-champion .levelup-icon{font-size:32px;filter:drop-shadow(0 0 10px rgba(243,207,82,.8))}.levelup-champion .levelup-skill{font-size:18px;color:#f6e6b8}.levelup-champion .levelup-level{color:#e0b54a}.levelup-champion .levelup-unlock{color:#d8cba6;border-top-color:#f3cf5259}@keyframes champion-glow{0%,to{box-shadow:0 10px 34px #0009,inset 0 0 30px #f3cf522e}50%{box-shadow:0 10px 40px #0009,inset 0 0 38px #f3cf5257}}.levelup-boss{min-width:256px;padding:16px 24px 17px;background:linear-gradient(180deg,#3a1a12fa,#1a0e0afa);border-color:var(--ember);box-shadow:0 10px 34px #0000009e,inset 0 0 30px rgba(var(--ember-rgb),.22);animation:boss-glow 1.5s ease-in-out infinite}.levelup-boss .levelup-eyebrow{color:#f0a860;letter-spacing:.26em;font-size:11px;text-shadow:0 0 12px rgba(var(--ember-rgb),.7)}.levelup-boss .levelup-icon{font-size:32px;filter:drop-shadow(0 0 10px rgba(240,168,96,.8))}.levelup-boss .levelup-skill{font-size:18px;color:#f6dcc2}.levelup-boss .levelup-level{color:#e0a04a}@keyframes boss-glow{0%,to{box-shadow:0 10px 34px #0000009e,inset 0 0 30px rgba(var(--ember-rgb),.16)}50%{box-shadow:0 10px 40px #0000009e,inset 0 0 40px rgba(var(--ember-rgb),.4)}}.g-ico{width:1.05em;height:1.05em;display:inline-block;vertical-align:-.16em;flex:0 0 auto}.dock-tab{display:flex;align-items:center;justify-content:center}.dock-tab .g-ico{width:23px;height:23px;vertical-align:middle}.dock-tab.active,.sc-icon{color:var(--gold)}.sc-icon .g-ico{width:21px;height:21px;vertical-align:middle}.levelup-icon .g-ico{width:27px;height:27px;color:var(--gold);vertical-align:middle}.skilldetail-ic .g-ico{width:22px;height:22px;vertical-align:-.2em;color:var(--gold)}.style-ic .g-ico{width:15px;height:15px}.faction-ic{color:var(--gold)}.faction-ic .g-ico{width:18px;height:18px;vertical-align:middle}.buff-ic .g-ico{width:14px;height:14px}.gold-coin .g-ico,.mark-ic .g-ico{width:13px;height:13px;vertical-align:-.2em;color:var(--gold)}.gold-coin,.mark-ic{display:inline-block}.quest-ic .g-ico{width:14px;height:14px;vertical-align:-.18em;color:var(--gold)}.title-ic .g-ico{width:16px;height:16px;vertical-align:-.2em}.comp-ic{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px}.comp-ic .item-svg{width:100%;height:100%}.comp-ic .g-ico{width:22px;height:22px;color:var(--ink-dim)}.achieve-ic{color:var(--gold);display:inline-flex;align-items:center;justify-content:center}.achieve-ic .g-ico{width:18px;height:18px}.achieve-row:not(.done) .achieve-ic{color:var(--ink-dim)}.achieve-lock .g-ico,.bounty-lock .g-ico{width:12px;height:12px}.bounty-guide-icon{color:var(--gold)}.bounty-guide-icon .g-ico{width:20px;height:20px}.minimap-worldbtn{display:flex;align-items:center;justify-content:center}.minimap-worldbtn .g-ico{width:19px;height:19px}.sd-rung-mark .g-ico{width:12px;height:12px;vertical-align:-.1em}.equip-slot{position:relative}.equip-qty{position:absolute;right:-2px;bottom:-3px;font-size:10px;color:var(--gold);text-shadow:0 1px 2px #000;pointer-events:none}.save-tag{position:absolute;bottom:12px;left:50%;transform:translate(-50%);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);background:#120e0ab3;border:1px solid var(--panel-edge);border-radius:10px;padding:2px 10px;opacity:0;pointer-events:none;z-index:40}.save-tag.show{animation:save-flash 1.6s ease forwards}@keyframes save-flash{0%{opacity:0}14%{opacity:.7}60%{opacity:.7}to{opacity:0}}.run-control{flex:0 0 auto;pointer-events:auto}.run-toggle{--e: 100;--ring: #b6d24a;width:34px;height:34px;padding:3px;display:block;border:0;border-radius:8px;cursor:pointer;background:conic-gradient(var(--ring) calc(var(--e) * 3.6deg),rgba(28,21,15,.7) 0);box-shadow:0 2px 8px #00000080}.run-face{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:6px;background:#14100cf5;color:var(--ink-dim)}.run-face .g-ico{width:22px;height:22px}.run-control.on .run-face{color:var(--ember)}.run-control.low .run-toggle{--ring: #d9a441}.run-control.spent .run-toggle{--ring: #c43a23}.run-control.spent .run-face{color:#c43a23}@media (max-height: 540px){.hud-minimap{padding:4px}.minimap-worldbtn{width:22px;height:22px;font-size:12px;bottom:6px;right:6px}.hud-dock{bottom:8px;right:8px}.dock-body{height:346px;height:min(346px,calc(100vh - 150px));height:min(346px,calc(100dvh - 150px));width:188px}.dock-tab{width:30px;height:30px;font-size:15px}.dock-tab .g-ico{width:19px;height:19px}.hud-log{width:min(260px,40vw)}.log-lines{max-height:96px;max-height:min(96px,calc(100vh - 250px));max-height:min(96px,calc(100dvh - 250px))}.worldmap-modal{padding:9px 11px}.worldmap-canvas{max-height:62vh;width:auto}}@media (max-width: 560px){.login-box,.creator-box{width:100%;max-height:100vh;max-height:100dvh;border-radius:0;padding:14px 16px 18px}.login-backdrop,.creator-backdrop{padding:0}.creator-main{flex-direction:column;align-items:center;gap:12px}.creator-stage .portrait-canvas{width:min(210px,58vw);height:min(290px,38vh)}.creator-controls{width:100%}.creator-title{font-size:var(--t-display)}.creator-swatch{width:30px;height:30px}.creator-cyc-btn{min-width:34px;min-height:34px}}@media (max-width: 520px) and (min-height: 620px){.hud-log{right:10px;width:auto;bottom:calc(20px + var(--dock-h))}:root{--dock-h: 336px}}@media (max-height: 430px){.hud-vitals{top:96px}.vitals-row{width:100%}.dock-body{height:min(320px,calc(100vh - 130px));height:min(320px,calc(100dvh - 130px))}.log-lines{max-height:min(72px,calc(100vh - 200px));max-height:min(72px,calc(100dvh - 200px))}}.records-modal{width:min(360px,92vw)}.records-sub{font-size:12px;color:var(--ink-dim, #9a907c);margin:2px 0 10px;font-style:italic}.records-body{display:flex;flex-direction:column;gap:6px}.records-row{display:flex;align-items:center;gap:10px;padding:7px 9px;border-radius:7px;background:#00000038;border:1px solid rgba(202,160,90,.18)}.records-row.records-mine{background:#caa05a24;border-color:#caa05a8c}.records-rank{font-family:Cinzel,serif;font-weight:700;font-size:16px;color:var(--gold, #caa05a);width:18px;text-align:center;flex:none}.records-fish{flex:none;width:26px;height:26px;display:inline-flex}.records-fish .item-svg{width:26px;height:26px}.records-main{display:flex;flex-direction:column;flex:1;min-width:0}.records-species{font-weight:600;color:#ece4d2}.records-angler{font-size:11px;color:#9a907c;font-style:italic}.records-stats{display:flex;flex-direction:column;align-items:flex-end;flex:none}.records-weight{font-weight:700;color:#f4d98b}.records-length{font-size:11px;color:#9a907c}.records-empty{color:#9a907c;font-style:italic;text-align:center;padding:16px 0}.tension-backdrop{position:absolute;inset:0;z-index:75;display:flex;align-items:center;justify-content:center;background:#080c109e;pointer-events:auto;touch-action:none;cursor:pointer;user-select:none;-webkit-user-select:none}.tension-backdrop.hidden{display:none}.tension-box{position:relative;width:min(320px,90vw);background:var(--panel, #1b1712);border:1px solid var(--gold, #caa05a);border-radius:12px;padding:16px 18px 18px;box-shadow:0 10px 34px #000000a6;text-align:center;animation:ui-pop-in .16s cubic-bezier(.2,.9,.3,1.2)}.tension-title{font-family:Cinzel,serif;font-weight:700;font-size:17px;color:#f4d98b;margin-bottom:2px}.tension-sub{font-size:13px;color:#9fd0d8;margin-bottom:14px}.tension-arena{display:flex;align-items:flex-end;justify-content:center;gap:18px;height:220px;margin-bottom:12px}.tension-meter{position:relative;width:52px;height:100%;background:#0006;border:1px solid rgba(202,160,90,.4);border-radius:7px;overflow:hidden}.tension-danger{position:absolute;top:0;left:0;right:0;height:18%;background:repeating-linear-gradient(45deg,#d8453a52 0 6px,#d8453a1f 6px 12px);border-bottom:1px dashed rgba(216,69,58,.7)}.tension-fill{position:absolute;bottom:0;left:0;right:0;height:12%;background:#5fae7a;transition:height .05s linear,background .12s linear}.tension-label,.tension-progress-label{position:absolute;font-size:10px;letter-spacing:1px;font-weight:700;color:#ece4d2d9;pointer-events:none}.tension-label{bottom:6px;left:0;right:0;text-align:center}.tension-progress{position:relative;width:52px;height:100%;background:#0006;border:1px solid rgba(120,170,200,.4);border-radius:7px;overflow:hidden}.tension-progress-fill{position:absolute;bottom:0;left:0;width:100%;height:0%;background:linear-gradient(#9fd0d8,#5f93b8);transition:width .05s linear}.tension-progress-fill{width:100%;height:0%}.tension-progress-label{bottom:6px;left:0;right:0;text-align:center}.tension-status{font-weight:700;font-size:14px;color:#ece4d2;min-height:18px;margin-bottom:4px}.tension-hint{font-size:11px;color:#9a907c}.tension-backdrop.tension-warn .tension-status{color:#e0a23a}.tension-backdrop.tension-running .tension-box{animation:tension-shake .18s linear infinite;border-color:#d8453a}.tension-backdrop.tension-running .tension-status{color:#d8453a}@keyframes tension-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.decorate-enter{position:fixed;left:50%;bottom:96px;transform:translate(-50%);z-index:60;padding:10px 26px;border-radius:8px;cursor:pointer;font-family:Cinzel,serif;font-size:14px;letter-spacing:1px;color:#f2e2b8;background:linear-gradient(180deg,#6b4a2c,#4a2f1a);border:1px solid #8a6a3a;box-shadow:0 4px 18px #00000080,0 0 18px #d2a05038}.decorate-enter:hover{background:linear-gradient(180deg,#7d5836,#573a22)}.decorate-enter.hidden,.decorate-shelf.hidden,.decorate-hint.hidden{display:none}.decorate-shelf{position:fixed;left:0;right:0;bottom:0;z-index:62;max-height:44vh;overflow-y:auto;padding:14px 16px 20px;background:linear-gradient(180deg,#1a140df5,#120e09fa);border-top:1px solid #6a5636;box-shadow:0 -8px 30px #0000008c}.deco-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.deco-title{font-family:Cinzel,serif;font-size:15px;color:#e8c45a;letter-spacing:.5px}.deco-done{padding:6px 16px;border-radius:6px;cursor:pointer;font-family:Cinzel,serif;font-size:12px;color:#f2e2b8;background:linear-gradient(180deg,#6b4a2c,#4a2f1a);border:1px solid #8a6a3a}.deco-section{margin-bottom:12px}.deco-label{font-family:EB Garamond,serif;font-size:12px;color:#b3a382;margin-bottom:6px;text-transform:uppercase;letter-spacing:.08em}.deco-row{display:flex;flex-wrap:wrap;gap:8px}.deco-empty{font-family:EB Garamond,serif;font-style:italic;color:#8b7a5c;font-size:13px}.deco-chip{padding:8px 14px;border-radius:18px;cursor:pointer;font-family:EB Garamond,serif;font-size:14px;color:#f2e2b8;background:linear-gradient(180deg,#4a3826,#33261a);border:1px solid #7a5c38}.deco-chip:hover{border-color:#c8a45a}.deco-craft{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:7px 12px;border-radius:6px;cursor:pointer;min-width:128px;text-align:left;font-family:EB Garamond,serif;font-size:14px;color:#cdbf9a;background:#221a12;border:1px solid #3a2e1e}.deco-craft-cost{font-size:11px;color:#8b7a5c}.deco-craft-name{font-size:14px}.deco-craft.ready{border-color:#6f9a54;color:#e6dcc2}.deco-craft.ready .deco-craft-cost{color:#9dbe7d}.deco-craft.locked{opacity:.5;cursor:default}.deco-craft:not(.locked):hover{border-color:#c8a45a}.deco-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px}.deco-tab{padding:5px 11px;border-radius:14px;cursor:pointer;font-family:EB Garamond,serif;font-size:12px;color:#b3a382;background:#241b12;border:1px solid #3a2e1e}.deco-tab:hover{border-color:#7a5c38;color:#e6dcc2}.deco-tab.on{background:linear-gradient(180deg,#6b4a2c,#4a2f1a);border-color:#c8a45a;color:#f2e2b8}.deco-sw{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:7px;vertical-align:-1px;border:1px solid rgba(0,0,0,.4)}.deco-craft .deco-sw,.deco-surface .deco-sw{margin-right:5px}.deco-catalogue,.deco-surfaces{max-height:26vh;overflow-y:auto;align-content:flex-start}.deco-surface{display:flex;align-items:center;gap:4px;padding:7px 12px;border-radius:6px;cursor:pointer;min-width:132px;font-family:EB Garamond,serif;font-size:14px;color:#cdbf9a;background:#221a12;border:1px solid #3a2e1e}.deco-surface:not(.locked):hover{border-color:#c8a45a}.deco-surface.locked{opacity:.5;cursor:default}.deco-surface.on{border-color:#e8c45a;color:#f2e2b8;box-shadow:0 0 0 1px #e8c45a66 inset}.deco-surface .deco-craft-cost{margin-left:auto}.decorate-hint{position:fixed;left:50%;bottom:90px;transform:translate(-50%);z-index:62;display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:24px;background:#140f09f0;border:1px solid #6a5636;box-shadow:0 4px 20px #00000080}.deco-hint-text{font-family:EB Garamond,serif;font-size:14px;color:#e6dcc2}.deco-hint-text b{color:#f2cf6b}.decorate-hint button{padding:6px 14px;border-radius:16px;cursor:pointer;font-family:Cinzel,serif;font-size:11px;color:#f2e2b8;background:linear-gradient(180deg,#6b4a2c,#4a2f1a);border:1px solid #8a6a3a}.worldmap-close,.ctx-close,.bank-close,.shop-close,.hiscores-close,.players-close,.trade-close,.duel-close,.ge-close,.skilldetail-close{font-size:26px;line-height:1;min-width:40px;min-height:40px;padding:4px 8px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px}.worldmap-close:hover,.ctx-close:hover,.bank-close:hover,.shop-close:hover,.hiscores-close:hover,.players-close:hover,.trade-close:hover,.duel-close:hover,.ge-close:hover,.skilldetail-close:hover{background:#ffffff14}.frame-meter{position:absolute;top:6px;left:8px;z-index:90;padding:2px 8px;border:1px solid var(--panel-edge);border-radius:8px;background:#120e0ab8;color:var(--ink-dim);font-size:11px;letter-spacing:.04em;font-variant-numeric:tabular-nums;pointer-events:none;user-select:none}.bank-backdrop,.bugreport-backdrop,.duel-backdrop,.founder-backdrop,.ge-backdrop,.hiscores-backdrop,.players-backdrop,.shop-backdrop,.skilldetail-backdrop,.skillpick-backdrop,.trade-backdrop,.worldmap-backdrop{background:#06050494;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}.bank-modal,.duel-modal,.ge-modal,.hiscores-modal,.players-modal,.records-modal,.shop-modal,.skilldetail-modal,.skillpick-modal,.trade-modal,.worldmap-modal{border:1px solid var(--gold);border-radius:var(--r-xl);background:linear-gradient(180deg,#221b12f7,#16110bf7);box-shadow:0 8px 28px #0000008c,inset 0 0 22px rgba(var(--gold-rgb),.1)}.bank-x,.shop-x,.shop-info-x,.ge-x,.hiscores-x,.players-x,.trade-x,.duel-x,.skilldetail-x,.worldmap-x{min-width:28px;min-height:28px;line-height:1;border-radius:var(--r-md);color:var(--ink-dim);background:transparent;border:1px solid transparent;cursor:pointer;transition:color .14s ease,border-color .14s ease}.bank-x:hover,.shop-x:hover,.shop-info-x:hover,.ge-x:hover,.hiscores-x:hover,.players-x:hover,.trade-x:hover,.duel-x:hover,.skilldetail-x:hover,.worldmap-x:hover{color:var(--ember);border-color:rgba(var(--ember-rgb),.4)}.iv-acct{--iv-gold: #F0C040;--iv-gold-hi: #FFD463;--iv-jet: #08090B;--iv-iron: #8C9298;--iv-leaf: #121316;--iv-leaf-3: #23262B;--iv-rule: #26282D;--iv-ink: #F2F3F4;--iv-soft: #A8ABB0;--iv-faint: #70747A;--iv-bad: #F0736A;--iv-good: #4FC98D;--iv-face: Archivo, "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;box-sizing:border-box;width:100%;max-width:380px;margin:0 auto;font-family:var(--iv-face);color:var(--iv-soft);text-align:left}.iv-acct *,.iv-acct *:before,.iv-acct *:after{box-sizing:border-box}.iv-studio{display:inline-block;margin:0 0 28px;text-decoration:none;white-space:nowrap;font:700 11px/1 var(--iv-face);letter-spacing:.16em;text-transform:uppercase;color:var(--iv-soft)}.iv-studio:before{content:"←";font-weight:400;letter-spacing:0;margin-right:8px}.iv-studio:hover{color:var(--iv-ink)}.iv-studio b{color:var(--iv-iron);font-weight:900}.iv-studio i{color:var(--iv-gold);font-style:normal;font-weight:900}.iv-tabs{display:flex;gap:4px;padding:4px;margin:0 0 20px;background:var(--iv-leaf-3);border-radius:99px}.iv-tabs button{flex:1;border:0;background:none;border-radius:99px;padding:9px 12px;cursor:pointer;font:700 13px/1 var(--iv-face);letter-spacing:0;color:var(--iv-soft)}.iv-tabs button:hover{color:var(--iv-ink)}.iv-tabs button[aria-selected=true]{background:var(--iv-leaf);color:var(--iv-ink);box-shadow:0 1px 2px #00000080}.iv-form{display:flex;flex-direction:column;gap:12px}.iv-acct input{width:100%;margin:0;padding:12px 14px;border-radius:12px;font:400 15px/1.3 var(--iv-face);color:var(--iv-ink);background:var(--iv-leaf-3);border:1px solid var(--iv-faint)}.iv-acct input::placeholder{color:var(--iv-faint)}.iv-acct input:focus{outline:none;border-color:var(--iv-gold);box-shadow:0 0 0 4px #f0c0402e}.iv-acct .iv-go{display:block;width:100%;margin:4px 0 0;padding:13px 20px;border-radius:99px;cursor:pointer;font:700 14px/1 var(--iv-face);letter-spacing:0;text-transform:none;text-align:center;text-decoration:none;color:var(--iv-jet);background:var(--iv-gold);border:1px solid transparent}.iv-acct .iv-go:hover{background:var(--iv-gold-hi)}.iv-acct .iv-go:disabled{opacity:.55;cursor:default}.iv-acct .iv-alt{display:block;width:100%;margin:0;padding:8px 0;background:none;border:0;cursor:pointer;font:600 13px/1.3 var(--iv-face);letter-spacing:0;text-transform:none;text-align:center;text-decoration:none;color:var(--iv-ink)}.iv-acct .iv-alt:hover{color:var(--iv-gold)}.iv-acct .iv-alt.quiet{color:var(--iv-soft);font-weight:500}.iv-msg{min-height:1.2em;margin:0;font:400 13px/1.45 var(--iv-face);color:var(--iv-bad);text-align:center}.iv-msg.ok{color:var(--iv-good)}.iv-foot{margin:24px 0 0;padding:16px 0 0;border-top:1px solid var(--iv-rule);font:400 12px/1.55 var(--iv-face);color:var(--iv-soft)}.iv-foot b{color:var(--iv-ink);font-weight:700}.iv-acct :focus-visible{outline:2px solid var(--iv-gold);outline-offset:3px}.login-box.iv-acct{width:min(420px,calc(100% - 32px));max-width:420px;padding:26px 26px 22px}.login-box.iv-acct .login-title,.login-box.iv-acct .login-sub{text-align:left}.login-box.iv-acct .login-msg:empty{min-height:0}.char-card{display:flex;flex-direction:column;gap:4px;margin:0 0 14px;padding:14px 16px;border:1px solid var(--panel-edge);border-radius:12px;background:#00000052;text-align:left}.char-card b{font-family:Cinzel,serif;font-size:18px;font-weight:600;color:var(--gold);letter-spacing:.04em}.char-card span{font-family:EB Garamond,serif;font-size:14px;color:var(--ink-dim)}
