*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:#06080c;color:#d4dbe6;font-family:Cascadia Mono,Consolas,Ubuntu Mono,monospace;font-size:14px;line-height:1.25;overflow:hidden}#app{height:100vh;width:100vw}.screen{width:100%;height:100%}.centered{display:flex;align-items:center;justify-content:center}.hidden{display:none!important}.dim{color:#7a8799}.small{font-size:11px}.card{background:#0f141c;border:1px solid #2a3544;padding:1.25rem 1.5rem;width:min(28rem,92vw);border-radius:6px}.card-head-titles{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.login-logo{display:block;width:min(100%,18rem);height:auto;object-fit:contain}.create-card{width:min(60rem,92vw)}.select-card{width:min(36rem,92vw)}.server-status{display:flex;align-items:center;gap:.5rem;margin-top:.65rem;font-size:12px;color:#9fb0c6}.server-status .dot{width:8px;height:8px;border-radius:50%;background:#6b7280;box-shadow:0 0 0 1px #00000059}.server-status.online .dot{background:#33d17a}.server-status.connecting .dot{background:#ffd64a}.server-status.offline .dot{background:#ff5a5a}.select-list{display:flex;flex-direction:column;gap:.5rem;margin:.75rem 0 .5rem}.char-card{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .75rem;background:#0a1018;border:1px solid #243043;border-radius:4px}.char-card-main{display:flex;flex-direction:column;gap:.1rem;min-width:0}.char-card-name{font-weight:600;color:#e8f0ff}.char-card-line{font-size:12px;color:#c9d3e0}.char-card-line.muted{color:#7a8799}.char-card-actions{display:flex;gap:.4rem;flex-shrink:0}.char-card-actions button{margin-top:0;padding:.35rem .7rem;font-size:12px}.select-actions,.create-actions{display:flex;gap:.5rem;margin-top:.5rem}button.ghost{background:transparent;border:1px solid #3a4a60;color:#b0bccd}button.ghost:hover{background:#16202f;color:#e8f0ff}button.ghost.danger{border-color:#6a3030;color:#f0a8a8}button.ghost.danger:hover{background:#2a1414}button:disabled{opacity:.55;cursor:not-allowed}.card h1{margin-top:0}.card-head-with-audio{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.card-head-titles{min-width:0;flex:1 1 auto}.card-head-titles .sub{margin-top:-.15rem}.sub{color:#7a8799;margin-top:-.25rem}label{display:block;margin:.5rem 0;font-size:12px;color:#9aa7b8}input{width:100%;padding:.4rem .55rem;background:#07090d;border:1px solid #2a3544;color:inherit;font:inherit}button{margin-top:.75rem;padding:.45rem 1rem;background:#1e3a5f;border:1px solid #3d6fb8;color:#e8f0ff;cursor:pointer;font:inherit;border-radius:3px}button:hover{background:#274a75}.error{color:#ff8d8d;min-height:1.2em;margin:.5rem 0 0}.create-cols{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:.5rem}ul.picker{list-style:none;padding:0;margin:0;border:1px solid #2a3544;background:#07090d;max-height:14rem;overflow-y:auto}ul.picker li{padding:.4rem .6rem;cursor:pointer;border-bottom:1px solid #182030}ul.picker li:hover{background:#11192a}ul.picker li.selected{background:#1c2c47;color:#fff}.desc{font-size:12px;color:#9aa7b8;min-height:3.5rem;padding-top:.4rem}.game-layout{display:flex;flex-direction:column;height:100vh;width:100vw;gap:.4rem;padding:.4rem}#workspace{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;background:#06080c}#hud{flex:0 0 auto;background:#0f141c;border:1px solid #2a3544;padding:.35rem .6rem;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.movable{position:absolute;background:#0f141c;border:1px solid #2a3544;display:flex;flex-direction:column;overflow:hidden;min-width:8rem;min-height:3rem}.movable.dragging,.movable.resizing{outline:1px dashed #3d6fb8;z-index:200}.movable .panel-content{flex:1 1 auto;overflow:auto;padding:.4rem .5rem;font-size:12px}.drag-handle{cursor:move;-webkit-user-select:none;user-select:none}.pane-grip{background:#0a0e15;border-bottom:1px solid #2a3544;padding:.15rem .5rem;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#5b6a82;flex:0 0 auto;display:flex;align-items:center;gap:.4rem}.pane-grip:after{content:"≡";margin-left:auto;color:#3d6fb8}.split-bar{position:absolute;z-index:100;background:#06080c;transition:background 80ms ease-out}.split-bar.h{cursor:ew-resize}.split-bar.v{cursor:ns-resize}.split-bar:hover{background:#3d6fb8}#drop-indicator{position:absolute;z-index:250;background:#3d6fb82e;border:2px dashed #3d6fb8;pointer-events:none;transition:left 80ms,top 80ms,width 80ms,height 80ms}#drop-indicator.hidden{display:none}#hud .hud-pill{background:#142036;padding:.1rem .5rem;border-radius:3px;border:1px solid #2a3544;font-size:12px}#hud .hud-pill.hp{color:#ff7e7e}#hud .hud-pill.mp{color:#92c8ff}#hud .hud-pill.lv{color:#ffd680}#map-area{background:#06080c;padding:0}#map-area .pane-grip{background:#06080c}#map-area pre#map{margin:0;flex:1 1 auto;font-size:var(--map-font-size, 16px);line-height:var(--map-line-height, 17px);letter-spacing:0;font-family:Cascadia Mono,Cascadia Code,Consolas,Segoe UI Symbol,"Noto Sans Symbols 2",Noto Sans Symbols,Ubuntu Mono,monospace;background:#06080c;overflow:auto;padding:.5rem}#map-area pre#map span{display:inline-block;width:1ch;text-align:center}.cast-banner{position:absolute;top:.25rem;left:50%;transform:translate(-50%);background:#2c1d3f;border:1px solid #6a4090;color:#f0d8ff;padding:.15rem .7rem;border-radius:3px;font-size:12px;z-index:10}.look-panel{position:absolute;top:.5rem;right:.5rem;max-width:280px;min-width:200px;background:#080c14eb;border:1px solid #ffd680;color:#f1eede;padding:.4rem .55rem;border-radius:4px;font-size:12px;z-index:10;pointer-events:none;box-shadow:0 0 6px #ffd68040}.look-panel.hidden{display:none}.look-header{display:flex;align-items:baseline;gap:.4rem;margin-bottom:.25rem;border-bottom:1px solid #443a22;padding-bottom:.2rem}.look-glyph{font-family:Cascadia Mono,Consolas,Ubuntu Mono,monospace;font-size:14px}.look-lines{display:flex;flex-direction:column;gap:.1rem}.look-help{margin-top:.35rem}.tutorial-widget{position:absolute;bottom:.5rem;right:.5rem;max-width:280px;min-width:220px;background:#080e16eb;border:1px solid #6fa8c7;color:#e8f1f8;padding:.45rem .6rem;border-radius:4px;font-size:12px;line-height:1.3;z-index:10;box-shadow:0 0 6px #6fa8c74d}.tutorial-widget.hidden{display:none}.tutorial-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem;border-bottom:1px solid #2c4150;padding-bottom:.2rem}.tutorial-title{flex:1;font-weight:600;letter-spacing:.04em;color:#aed6ee;text-transform:uppercase;font-size:11px}.tutorial-skip{background:transparent;border:1px solid #4d6e83;color:#aed6ee;font-size:11px;padding:.05rem .4rem;border-radius:3px;cursor:pointer}.tutorial-skip:hover{background:#6fa8c72e}.tutorial-prompt{white-space:pre-wrap}.tutorial-progress{margin-top:.3rem;font-style:italic}.quest-widget{background:#080e168c;border:1px solid #2f5c42;color:#e8f8ee;padding:.45rem .6rem;border-radius:4px;font-size:12px;line-height:1.3}.quest-widget.hidden{display:none}.quest-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem;border-bottom:1px solid #2c5040;padding-bottom:.2rem}.quest-title{flex:1;font-weight:600;letter-spacing:.04em;color:#b9eed0;text-transform:uppercase;font-size:11px}.quest-list{display:flex;flex-direction:column;gap:.35rem}.quest-row{display:flex;flex-direction:column;gap:.05rem}.quest-row .q-title{font-weight:600;color:#e8f8ee}.quest-row .q-meta{font-size:11px;color:#9dd8b2}.quest-row .q-progress{font-size:11px;color:#8fb4ff}.quest-row.done .q-title{color:#ffd680}.minimap-panel{display:flex;flex-direction:column;gap:.35rem}#minimap{width:100%;height:100%;min-height:140px;border:1px solid #2a3544;border-radius:4px;background:#06080c;image-rendering:pixelated}.minimap-hint{margin-top:.1rem}.audio-row{display:grid;grid-template-columns:9rem 1fr 3rem;align-items:center;gap:.5rem;margin:.6rem 0}.audio-row input[type=range]{width:100%}.audio-toggles{display:flex;flex-direction:column;gap:.4rem;margin:.5rem 0 .8rem}.audio-toggles label{display:flex;align-items:center;gap:.4rem;cursor:pointer}.pregame-audio{flex:0 0 auto;align-self:flex-start;margin-top:0;padding:.2rem .45rem;background:#080c14eb;color:#ffd680;border:1px solid #443a22;border-radius:4px;font-size:14px;cursor:pointer;font-family:inherit;line-height:1}.pregame-audio:hover{background:#141a28f2}.pregame-audio.muted{color:#6a6a6a;border-color:#2a2a2a}.pregame-audio-glyph{position:relative;display:inline-grid;place-items:center;width:1.35em;height:1.35em;font-size:1.05rem;line-height:1}.pregame-audio.muted .pregame-audio-glyph:after{content:"";position:absolute;width:86%;top:50%;left:50%;margin-top:-1px;height:2px;background:currentColor;transform:translate(-50%,-50%) rotate(-32deg);border-radius:1px;pointer-events:none;opacity:.92}body:has(#game-screen:not(.hidden)) .pregame-audio{display:none}.panel h2{margin:0;padding:.25rem .5rem;background:#0a0e15;border-bottom:1px solid #2a3544;font-size:12px;color:#7ecbff;font-weight:600;text-transform:uppercase;letter-spacing:.08em;flex:0 0 auto;display:flex;align-items:center;gap:.4rem}.panel h2.drag-handle:after{content:"≡";margin-left:auto;color:#3d6fb8;font-weight:400}#stats div,#attrs div{display:flex;justify-content:space-between;padding:1px 0}#auras div{display:flex;justify-content:space-between;padding:1px 0;color:#c8a8ff}#equipment .row,#inventory .row{display:flex;justify-content:space-between;align-items:center;padding:1px 0;border-bottom:1px dotted #1a2230;cursor:default}#equipment .row.lit{color:#ffd680}#equipment .row.unequip-armed{outline:1px solid rgba(100,180,255,.45);outline-offset:-1px}#equipment .equip-hotkey{display:inline-block;min-width:1.1em;margin-right:.35em;padding:0 .2em;font-weight:700;color:#7ec8ff;background:#1a2a38;border-radius:2px}.invslot.equippable{cursor:pointer;color:#cfe6ff}.invslot.empty{color:#4a566a}.item-inspect-popover{position:fixed;z-index:12000;max-width:min(22rem,calc(100vw - 16px));padding:.45rem .65rem;font-size:12px;line-height:1.4;color:#dde6f0;background:#121722;border:1px solid #3a4a63;border-radius:4px;box-shadow:0 6px 24px #0000008c;pointer-events:none}.item-inspect-popover .item-inspect-line+.item-inspect-line{margin-top:.35em}#equipment .row.item-inspect-hover,#inventory .row.item-inspect-hover,.shop-row.item-inspect-hover{cursor:help}#spellbook .spell-row{display:grid;grid-template-columns:1.4rem 1fr auto;gap:.3rem;padding:2px 0;border-bottom:1px dotted #1a2230;cursor:pointer;align-items:center}#spellbook .spell-row:hover{background:#11192a}#spellbook .spell-row.dim{color:#56627a;cursor:default}#spellbook .spell-row .key{display:inline-block;background:#2a3544;color:#cfe6ff;padding:0 .3rem;border-radius:2px;text-align:center;font-size:11px}#spellbook .spell-row .cost{color:#92c8ff;font-size:11px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#020408d9;display:flex;align-items:center;justify-content:center;z-index:100}.modal-card{background:#0f141c;border:1px solid #3a5070;padding:1.25rem 1.5rem;width:min(40rem,92vw);max-height:80vh;overflow-y:auto;border-radius:6px}.modal-card h2{margin-top:0;color:#ffd680}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.character-modal-body{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.75rem}@media(max-width:800px){.character-modal-body{grid-template-columns:1fr}}.toast-overlay{align-items:flex-end;justify-content:flex-end;padding:1rem;background:#0204088c}.toast-card{width:min(72rem,96vw);height:min(80vh,44rem);display:flex;flex-direction:column;gap:.75rem}.worldmap-frame{width:100%;flex:1;border:1px solid #2a3544;background:#05070a;border-radius:4px}.choice-row{border:1px solid #2a3544;background:#07090d;padding:.5rem .75rem;margin:.4rem 0;cursor:pointer;border-radius:3px}.choice-row:hover{background:#142036;border-color:#3d6fb8}.choice-row .name{color:#fff;font-weight:600}.choice-row .meta{color:#92c8ff;font-size:11px;margin-left:.5rem}.choice-row .desc{color:#9aa7b8;font-size:12px;margin-top:.2rem}.memorial{background:#07090d;border:1px solid #2a3544;padding:.6rem .75rem;margin:.5rem 0;border-radius:3px;font-size:13px}.memorial .line{display:flex;justify-content:space-between;padding:1px 0}.memorial .line .k{color:#7a8799}.pane{background:#0f141c;border:1px solid #2a3544;display:flex;flex-direction:column;min-height:0}.tab-strip{display:flex;background:#0a0e15;border-bottom:1px solid #2a3544;min-height:1.6rem;flex-shrink:0}.tab-strip.drop-target{outline:2px solid #3d6fb8;outline-offset:-2px}.tab{padding:.3rem .7rem;cursor:grab;-webkit-user-select:none;user-select:none;border-right:1px solid #1a2230;font-size:12px;color:#9aa7b8;display:flex;align-items:center;gap:.3rem}.tab.active{background:#142036;color:#fff}.tab.dragging{opacity:.4}.tab .badge{background:#2a3544;color:#cfe6ff;border-radius:8px;padding:0 .35rem;font-size:10px}.tab-bodies{position:relative;flex:1 1 auto;min-height:0}.tab-body{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;padding:.35rem .55rem .55rem;font-size:12px;background:#050709}.tab-body.hidden{display:none!important}.tab-body:has(#map){display:flex;flex-direction:column;padding:0;overflow:hidden}.log-line{white-space:pre-wrap;margin:0;padding:1px 0;line-height:1.4}.log-line .from{color:#7ecbff}.log-line .ts{color:#5b6a82;font-size:10px;margin-right:2px}.log-line.world{color:#c9d4e3}.log-line.system{color:#ffd680}.log-line.chat{color:#cdeacf}#bottom-bar{flex:0 0 auto;display:flex;flex-direction:column;align-items:stretch;gap:.25rem;padding:.35rem .5rem .45rem;background:#0a0e15;border:1px solid #2a3544}.bottom-bar-main{display:flex;align-items:center;gap:.5rem;min-height:1.75rem}#reset-layout-btn{margin:0;padding:.15rem .5rem;font-size:11px;background:#1c2c47;border:1px solid #2a3544;color:#cfe6ff;cursor:pointer;border-radius:3px;flex:0 0 auto}#reset-layout-btn:hover{background:#274a75}#chat-input{flex:1 1 auto;min-width:0}#chat-channel-label{font-size:11px;color:#9aa7b8;text-transform:uppercase;letter-spacing:.1em}#hint{margin:0;font-size:11px;color:#5b6a82;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.game-menu-wrap{position:relative;flex:0 0 auto;margin-left:auto}.game-menu-btn{margin:0;padding:.15rem .55rem;font-size:12px;font-weight:600;background:#1c2c47;border:1px solid #3d6fb8;color:#e8f0ff;cursor:pointer;border-radius:3px;white-space:nowrap;font-family:inherit}.game-menu-btn:hover{background:#274a75}.game-menu-panel{position:absolute;bottom:calc(100% + 6px);right:0;width:min(26rem,calc(100vw - 1.5rem));max-height:min(70vh,26rem);overflow-x:hidden;overflow-y:auto;padding:.45rem .55rem .55rem;background:#0a0e16fa;border:1px solid #2a3544;border-radius:6px;box-shadow:0 -6px 22px #00000073;z-index:250}.game-menu-panel.hidden{display:none!important}.game-menu-intro{margin:0 0 .4rem;line-height:1.35}.game-menu-row{display:grid;grid-template-columns:auto 1fr;gap:.55rem;align-items:center;padding:.28rem 0;border-bottom:1px dotted #1a2230}.game-menu-row:last-of-type{border-bottom:none}.game-menu-row>button{margin:0;flex:0 0 auto}.game-menu-desc{font-size:12px;color:#9aa7b8;line-height:1.3}#help-btn{margin:0;padding:.15rem .6rem;font-size:13px;font-weight:700;background:#1e3a5f;border:1px solid #3d6fb8;color:#e8f0ff;cursor:pointer;border-radius:3px;flex:0 0 auto}#help-btn:hover{background:#274a75}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1.25rem;margin:.5rem 0 1rem}.help-section h3{margin:0 0 .3rem;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#7ecbff}.help-section div{font-size:12px;color:#c9d4e3;padding:1px 0}kbd{display:inline-block;background:#142036;border:1px solid #2a3544;border-bottom-width:2px;padding:0 .35rem;margin:0 1px;border-radius:3px;font-family:inherit;font-size:11px;color:#e8f0ff;min-width:1ch;text-align:center}.cell{display:inline-block;min-width:1ch}.cell.self{background:#ffc83c2e}.cell.other{background:#ff8c3c21}.cell.static{background:#ffdc8c0f}.cell.darkvision{background:#788cb412}.cell.remembered{opacity:.45}.modal-card.wide{width:min(64rem,92vw)}.shop-cols{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.5rem}.shop-cols h3{margin:0 0 .3rem;font-size:13px;color:#7ecbff}.shop-list{background:#07090d;border:1px solid #2a3544;max-height:22rem;overflow-y:auto}.shop-row{display:grid;grid-template-columns:1.5rem 1fr auto auto;gap:.4rem;padding:.25rem .5rem;border-bottom:1px dotted #1a2230;align-items:center;font-size:12px;cursor:pointer}.shop-row:hover{background:#11192a}.shop-row .price{color:#ffd680}.shop-row .stock{color:#92c8ff;font-size:10px}.shop-row.empty{color:#4a566a;cursor:default}#nearby .nearby-row{display:grid;grid-template-columns:1rem 1fr auto auto;gap:.4rem;padding:1px 0;font-size:11px;align-items:center}.threat{padding:0 .3rem;border-radius:2px;font-size:10px}.threat.trivial{background:#2a3544;color:#7a8799}.threat.easy{background:#1c4a1c;color:#b6e8b6}.threat.even{background:#1c2c47;color:#a8c4ff}.threat.tough{background:#4a3a1c;color:#ffd680}.threat.deadly{background:#4a1c1c;color:#ff8d8d}.threat.boss{background:#4a1c4a;color:#ffa3ff}.threat.unknown{background:#1a1a1a;color:#888}.disp.friendly{color:#b6e8b6}.disp.neutral{color:#a8c4ff}.disp.hostile{color:#ff8d8d}#underfoot{font-size:12px;line-height:1.4;color:#c9d4e3}#underfoot .key{color:#7a8799}#underfoot .stairs{color:#9be79b}#hud .hud-pill.gold{color:#ffd680}#hud .hud-pill.fuel{color:#ffa861}#hud .hud-pill.fuel.low{color:#ff7e7e}#hud .hud-pill.sneak{color:#b6c7ff;background:#1c2030;border:1px solid #3b4a78;letter-spacing:1px;font-weight:700}#hud .hud-pill.weather{color:#9ec5ff}#hud .hud-pill.world-event{color:#1a0f06;background:#ffb84d;border:1px solid #ffd680;font-weight:700;letter-spacing:.5px;cursor:help}#pvp-btn{font-weight:700;letter-spacing:1px;min-width:2.6rem}#pvp-btn.on{color:#1a0f06;background:#ffb84d;border-color:#ffd680}.tab-strip .tab-add{padding:.3rem .5rem;cursor:pointer;color:#7a8799;font-size:14px;-webkit-user-select:none;user-select:none}.tab-strip .tab-add:hover{color:#fff;background:#11192a}.tab .menu{margin-left:.2rem;color:#5b6a82;cursor:pointer;font-size:10px}.tab .menu:hover{color:#fff}.channel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.3rem;margin:.4rem 0}.channel-grid label{display:flex;align-items:center;gap:.4rem;font-size:12px;color:#c9d4e3;background:#07090d;padding:.2rem .4rem;border:1px solid #1a2230;border-radius:3px;cursor:pointer}.row-flex{display:flex;gap:.5rem;margin-top:.5rem}.danger{background:#4a1c1c;border-color:#b8403d;color:#ffd0d0}.danger:hover{background:#6a2828}.log-line.combat{color:#ff8d8d}.log-line.trade{color:#ffd680}.log-line.global{color:#cdb8ff}#vfx-canvas{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.5rem;margin-top:.6rem}@media(max-width:720px){.settings-grid{grid-template-columns:1fr}}.settings-section h3{margin:0 0 .4rem;color:#7ecbff;font-size:13px}.settings-row{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:center;margin:.35rem 0;font-size:12px;color:#c9d4e3}.settings-row select{background:#07090d;border:1px solid #2a3544;color:inherit;font:inherit;padding:.2rem .35rem;border-radius:3px}.keybinds-list{max-height:18rem;overflow-y:auto;border:1px solid #1a2230;background:#060a12;padding:.35rem .5rem;margin:.4rem 0}.keybind-row{display:grid;grid-template-columns:9rem 1fr auto;gap:.5rem;align-items:center;padding:.25rem 0;border-bottom:1px dotted #1a2230;font-size:12px}.keybind-row:last-child{border-bottom:none}.keybind-row .kb-label{color:#d4dbe6;font-weight:500}.keybind-row .kb-desc{color:#7a8799;font-size:11px}.keybind-row .kb-key{min-width:4.5rem;font-family:inherit;background:#11192a;border:1px solid #2a3544;color:#ffd680;padding:.18rem .5rem;border-radius:3px;cursor:pointer;text-align:center}.keybind-row .kb-key:hover{border-color:#4a6a8a}.keybind-row .kb-key.capturing{background:#2a1c3a;border-color:#b08fff;color:#f0d8ff;animation:kb-pulse 1s ease-in-out infinite}@keyframes kb-pulse{0%,to{box-shadow:0 0 #b08fff66}50%{box-shadow:0 0 0 4px #b08fff00}}.keybind-row .kb-key.conflict{border-color:#ff8d8d;color:#ff8d8d}.bestiary-tabs{display:flex;gap:.4rem;margin:.5rem 0}.bestiary-tabs button{background:#07090d;border:1px solid #2a3544;color:#9aa7b8;padding:.3rem .7rem;font:inherit;cursor:pointer;border-radius:3px}.bestiary-tabs button:hover{color:#d4dbe6;border-color:#4a6a8a}.bestiary-tabs button.active{background:#11192a;border-color:#7ecbff;color:#d4dbe6}.bestiary-body{max-height:60vh;overflow-y:auto;border:1px solid #1a2230;background:#060a12;padding:.4rem .6rem;margin-bottom:.7rem}.bestiary-row{display:grid;grid-template-columns:1.6rem 14rem 1fr auto;gap:.6rem;padding:.35rem 0;border-bottom:1px dotted #1a2230;align-items:baseline;font-size:12px}.bestiary-row:last-child{border-bottom:none}.bestiary-row .b-glyph{font-family:inherit;font-size:18px;text-align:center}.bestiary-row .b-name{color:#d4dbe6;font-weight:500}.bestiary-row .b-desc{color:#9aa7b8;font-size:11px}.bestiary-row .b-meta{color:#7a8799;font-size:10px;white-space:nowrap}.bestiary-row .b-stats{color:#92c8ff;font-size:11px}.bestiary-empty{color:#4a566a;padding:1rem;text-align:center}.friends-add,.friends-whisper{display:grid;grid-template-columns:1fr 1fr auto;gap:6px;margin:8px 0}.friends-add{grid-template-columns:1fr auto}.friends-add input,.friends-whisper input{background:#181c24;color:#d4dbe6;border:1px solid #2a3140;padding:4px 6px;border-radius:3px;font-family:inherit;font-size:12px}.friends-add button,.friends-whisper button{background:#2a3140;color:#d4dbe6;border:1px solid #3a4453;padding:4px 10px;border-radius:3px;cursor:pointer;font-family:inherit;font-size:12px}.friends-add button:hover,.friends-whisper button:hover{background:#3a4453}.friends-body{max-height:280px}.friends-body .b-name.online{color:#b6e9a4}.friends-body .b-name.offline{color:#6a7080}.friends-body .friend-remove{background:transparent;color:#d97070;border:1px solid #6a3030;padding:1px 6px;border-radius:3px;cursor:pointer;font-size:10px}.friends-body .friend-remove:hover{background:#3a1818}.friends-body .friend-whisper{background:transparent;color:#92c8ff;border:1px solid #2a4a6a;padding:1px 6px;border-radius:3px;cursor:pointer;font-size:10px;margin-right:4px}.friends-body .friend-whisper:hover{background:#18283a}.reputation-body{max-height:360px}.rep-section-title{margin:6px 0 4px;padding-bottom:2px;border-bottom:1px solid #2a3140;font-size:13px;color:#c5cdd9}.rep-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.rep-row{padding:4px 6px;background:#1c2030;border:1px solid #2a3140;border-radius:3px}.rep-row-head{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:baseline;font-size:12px}.rep-name{font-weight:700}.rep-tier{text-transform:capitalize;padding:0 6px;border-radius:8px;font-size:11px;border:1px solid currentColor}.rep-tier.hostile{color:#d36b6b}.rep-tier.unfriendly{color:#d4a16a}.rep-tier.neutral{color:#b6b6b6}.rep-tier.friendly{color:#a3d68c}.rep-tier.honored{color:#9ec5ff}.rep-tier.revered{color:#d8b8ff}.rep-value{font-variant-numeric:tabular-nums}.rep-bar{position:relative;height:4px;margin-top:4px;background:#2a3140;border-radius:2px;overflow:hidden}.rep-bar-fill{position:absolute;top:0;bottom:0;background:#6a8aff}.rep-bar-right{left:50%}.rep-bar-left{right:50%;background:#d36b6b}.rep-desc{margin-top:4px;font-size:11px;line-height:1.3}.professions-body{max-height:480px}.prof-trainer-banner{margin:0 0 6px;padding:4px 8px;background:#1f2a1c;border:1px solid #3a5430;border-radius:3px;color:#c5e2a5;font-size:12px}.prof-section{margin-bottom:12px;padding:6px 8px;background:#1c2030;border:1px solid #2a3140;border-radius:4px}.prof-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px;border-bottom:1px solid #2a3140;padding-bottom:2px}.prof-name{font-weight:700;color:#ffd680}.prof-level{font-variant-numeric:tabular-nums;font-size:11px}.prof-bar{height:4px;background:#2a3140;border-radius:2px;overflow:hidden;margin-bottom:6px}.prof-bar-fill{height:100%;background:#6ad6a6}.prof-recipes{display:flex;flex-direction:column;gap:4px}.prof-recipe{padding:4px 6px;background:#181c28;border:1px solid #262a36;border-radius:3px;font-size:12px}.prof-recipe.locked{opacity:.55}.prof-recipe-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.prof-recipe-name{color:#d4dbe6;font-weight:700}.prof-recipe-desc{margin:2px 0 4px}.prof-recipe-row{display:flex;justify-content:space-between;align-items:center;gap:6px}.prof-ing{color:#b6c0cc;font-size:11px}.prof-locked{font-size:10px}.prof-craft-btn{background:#2a3140;color:#d4dbe6;border:1px solid #3a4453;padding:2px 8px;border-radius:3px;cursor:pointer;font-family:inherit;font-size:11px}.prof-craft-btn:hover{background:#3a4453}#professions-btn{font-size:14px}.party-invites{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}.party-invite{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center;padding:4px 8px;background:#1c2030;border:1px solid #3a4453;border-radius:3px;font-size:12px;color:#d4dbe6}.party-invite button{background:#2a3140;color:#d4dbe6;border:1px solid #3a4453;padding:1px 8px;border-radius:3px;cursor:pointer;font-size:11px}.party-invite button.accept{color:#b6e9a4;border-color:#4a7a4a}.party-invite button.accept:hover{background:#1a2a1a}.party-invite button.decline{color:#d97070;border-color:#6a3030}.party-invite button.decline:hover{background:#3a1818}.party-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:6px}.party-actions button{background:#2a3140;color:#d4dbe6;border:1px solid #3a4453;padding:4px 10px;border-radius:3px;cursor:pointer;font-family:inherit;font-size:12px}.party-actions button:hover{background:#3a4453}.party-body{max-height:240px}.party-body .b-name.leader:before{content:"★ ";color:#ffd64a}.party-body .b-name.dim{color:#6a7080}.party-body .hp-bar{display:inline-block;width:60px;height:6px;background:#2a1a1a;border:1px solid #3a2a2a;border-radius:2px;vertical-align:middle;margin-left:6px}.party-body .hp-fill{display:block;height:100%;background:#c44}.party-body .hp-fill.high{background:#4a8c4a}.party-body .hp-fill.mid{background:#c8a64a}.party-body .out-of-range{color:#c89a4a;font-size:10px;margin-left:4px}#map .party-marker{color:#6ad6ff}.guild-section{margin-top:8px}.guild-section h3{margin:8px 0 4px;color:#c89a4a;font-size:13px;letter-spacing:.04em}.guild-section.hidden{display:none}.guild-create{display:grid;grid-template-columns:1fr 90px auto;gap:6px;align-items:center;margin-bottom:6px}.guild-create input,.guild-create button{background:#1c2030;color:#d4dbe6;border:1px solid #3a4453;padding:4px 8px;border-radius:3px;font-family:inherit;font-size:12px}.guild-create button{cursor:pointer}.guild-create button:hover{background:#3a4453}.guild-motd{background:#18213a;border-left:3px solid #c89a4a;padding:4px 8px;border-radius:2px;margin-bottom:6px;font-size:12px;color:#d4dbe6;min-height:1em;white-space:pre-wrap}.guild-motd.empty{color:#6a7080;font-style:italic}.guild-bank{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-top:4px;max-height:200px;overflow-y:auto;padding:4px;background:#16182a;border:1px solid #2a3140;border-radius:3px}.guild-bank .gb-slot{background:#1c2030;border:1px solid #2a3140;border-radius:2px;padding:4px 6px;font-size:11px;color:#d4dbe6;cursor:pointer;min-height:36px;display:flex;flex-direction:column;justify-content:center}.guild-bank .gb-slot.empty{color:#4a5060;cursor:pointer}.guild-bank .gb-slot:hover{background:#2a3140;border-color:#3a4453}.guild-bank .gb-slot.empty:hover{background:#18213a}.guild-bank .gb-name{font-weight:700;color:#b6e9a4}.guild-bank .gb-meta{color:#8a909a;font-size:10px}.party-body .b-name.officer:before{content:"✦ ";color:#6ad6ff}.party-body .b-name.offline{color:#6a7080;font-style:italic}#guild-roster .friend-remove[data-promote]{color:#6ad6ff;border-color:#335a6a}#guild-roster .friend-remove[data-promote]:hover{background:#18283a}#guild-roster .friend-remove[data-demote]{color:#c89a4a;border-color:#6a4a30}.mail-badge{display:inline-block;background:#c44;color:#fff;font-size:9px;font-weight:700;border-radius:8px;padding:0 4px;margin-left:2px;vertical-align:top;min-width:12px;text-align:center}.mail-badge.hidden{display:none}.trade-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.trade-side{background:#16182a;border:1px solid #2a3140;border-radius:3px;padding:6px;min-height:220px}.trade-side h3{margin:0 0 4px;font-size:12px;color:#c89a4a}.trade-items{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;min-height:140px}.trade-items .ti-slot{background:#1c2030;border:1px solid #2a3140;border-radius:2px;padding:4px 6px;font-size:10px;color:#d4dbe6;min-height:36px;display:flex;flex-direction:column;justify-content:center}.trade-items .ti-slot.mine{cursor:pointer}.trade-items .ti-slot.mine:hover{background:#2a3140}.trade-items .ti-slot.empty{color:#4a5060}.trade-items .ti-name{font-weight:700;color:#b6e9a4}.trade-items .ti-name.unique{color:#ffd64a}.trade-items .ti-name.ego{color:#6ad6ff}.trade-items .ti-meta{color:#8a909a;font-size:9px}.trade-gold-row{margin-top:6px;font-size:12px;color:#d4dbe6}.trade-gold-row input{width:80px;background:#1c2030;color:#d4dbe6;border:1px solid #3a4453;padding:2px 6px;border-radius:3px;font-family:inherit;font-size:12px}.trade-actions{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.trade-actions button{background:#2a3140;color:#d4dbe6;border:1px solid #3a4453;padding:4px 10px;border-radius:3px;cursor:pointer;font-family:inherit;font-size:12px}.trade-actions button:hover{background:#3a4453}.trade-actions button:disabled{opacity:.4;cursor:not-allowed}.trade-side h3 .dim.small.locked{color:#c89a4a}.trade-side h3 .dim.small.confirmed{color:#6ad6ff}.mail-tabs{display:flex;gap:4px;margin-bottom:6px;border-bottom:1px solid #2a3140}.mail-tabs button{background:transparent;color:#8a909a;border:none;padding:4px 10px;cursor:pointer;font-family:inherit;font-size:12px;border-bottom:2px solid transparent}.mail-tabs button:hover{color:#d4dbe6}.mail-tabs button.active{color:#c89a4a;border-bottom-color:#c89a4a}.mail-pane{padding:4px 0;max-height:360px;overflow-y:auto}.mail-pane.hidden{display:none}.mail-row{background:#16182a;border:1px solid #2a3140;border-radius:3px;padding:6px 8px;margin-bottom:4px}.mail-row.unread{border-left:3px solid #ffd64a}.mail-head{display:flex;gap:8px;align-items:center}.mail-from{font-weight:700;color:#b6e9a4}.mail-subject{color:#d4dbe6;flex:1}.mail-when{color:#6a7080;font-size:10px}.mail-body{color:#d4dbe6;font-size:12px;margin-top:4px;white-space:pre-wrap}.mail-attachments{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.mail-attachment{background:#1c2030;border:1px solid #2a3140;padding:2px 6px;border-radius:2px;font-size:11px;color:#b6e9a4}.mail-attachment.unique{color:#ffd64a}.mail-attachment.ego{color:#6ad6ff}.mail-row-actions{display:flex;gap:6px;margin-top:4px}.mail-row-actions button{background:#2a3140;color:#d4dbe6;border:1px solid #3a4453;padding:2px 8px;border-radius:3px;cursor:pointer;font-family:inherit;font-size:11px}.mail-row-actions button:hover{background:#3a4453}.mail-attach-row{display:grid;grid-template-columns:auto 1fr 1.4fr auto;gap:6px;align-items:center;margin-top:6px}.mail-attach-row input{background:#1c2030;color:#d4dbe6;border:1px solid #3a4453;padding:2px 6px;border-radius:3px;font-family:inherit;font-size:12px}.mail-attach-row button{background:#2a3140;color:#d4dbe6;border:1px solid #3a4453;padding:4px 10px;border-radius:3px;cursor:pointer;font-family:inherit;font-size:12px}.mail-attach-row button:hover{background:#3a4453}#mail-body{width:100%;box-sizing:border-box;background:#1c2030;color:#d4dbe6;border:1px solid #3a4453;padding:4px 6px;border-radius:3px;font-family:inherit;font-size:12px;resize:vertical;margin-top:4px}.ah-row{background:#16182a;border:1px solid #2a3140;border-radius:3px;padding:6px 8px;margin-bottom:4px;display:grid;grid-template-columns:1.6fr 1fr .6fr auto;gap:6px;align-items:center}.ah-row.mine{border-left:3px solid #6ad6ff}.ah-item{font-weight:700;color:#b6e9a4}.ah-item.unique{color:#ffd64a}.ah-item.ego{color:#6ad6ff}.ah-meta{color:#8a909a;font-size:10px}.ah-price{color:#ffd64a;font-weight:700}.ah-row button{background:#2a3140;color:#d4dbe6;border:1px solid #3a4453;padding:2px 8px;border-radius:3px;cursor:pointer;font-family:inherit;font-size:11px}.ah-row button:hover{background:#3a4453}.ah-row button:disabled{opacity:.4;cursor:not-allowed}.skills-body{max-height:480px}.skill-row{margin-bottom:10px;padding:6px 8px;background:#1c2030;border:1px solid #2a3140;border-radius:4px}.skill-row-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:2px}.skill-name{font-weight:700;color:#ffd680}.skill-level{font-variant-numeric:tabular-nums;font-size:11px;color:#d4dbe6}.skill-desc{margin:0 0 6px}.skill-bar{background:#2a3140;border-radius:2px;overflow:hidden;margin-bottom:4px}.skill-bar.level-bar{height:5px}.skill-bar.xp-bar{height:3px}.skill-bar-fill{height:100%}.skill-bar-fill.level{background:#6ad6a6}.skill-bar-fill.xp{background:#ffb96a}.skill-foot{display:flex;justify-content:space-between;font-size:11px}.skill-bonus{color:#b6e9a4;font-weight:700}
