:root{--s:1;--gold:#d9b45f;--gold-dim:#8c7038;--gold-hi:#ffe2a0;--ink:#e9e1cc;--ink-dim:#a99f88;--bad:#ff5e4d;--good:#79e07a;--panel:#100c09f0;--panel-2:#201912f2;--edge:#5a4524;--cell:calc(34px * var(--s));--font:"Noto Sans KR", system-ui, sans-serif;--stone:linear-gradient(#0e0a089e, #060504cc), url(../assets/ui/stone.jpg) repeat;--title-font:"Do Hyeon", "Noto Sans KR", sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--font);font-size:calc(14px * var(--s));-webkit-user-select:none;user-select:none;background:#000;margin:0;overflow:hidden}#view,#overlay{width:100%;height:100%;display:block;position:fixed;inset:0}#overlay{z-index:1;touch-action:none}body:after{content:"";z-index:1;pointer-events:none;background:radial-gradient(75% 70% at 50% 48%,#0000 55%,#04060a9e 100%);position:fixed;inset:0}#overlay[data-hover="1"]{cursor:crosshair}#overlay[data-hover="2"],#overlay[data-hover="3"],#overlay[data-hover="4"]{cursor:pointer}#ui{z-index:2;pointer-events:none;position:fixed;inset:0}#ui>*{pointer-events:none}#ui .screen,#ui .game-win,#ui .modal,#ui .bottom-bar,#ui .chat-input,#ui .chat-log,#ui .minimap,#ui .tracker,#ui .invite,#ui .party-frames,#ui .buffs,#ui .target{pointer-events:auto}#stats{z-index:5;color:#cfc;text-shadow:0 1px 2px #000;pointer-events:none;font:11px ui-monospace,monospace;position:fixed;top:6px;left:8px}.hidden{display:none!important}.fatal{color:var(--bad);z-index:10;background:#000;place-items:center;font-size:18px;display:grid;position:fixed;inset:0}.btn{pointer-events:auto;font:inherit;color:var(--ink);border:1px solid var(--edge);cursor:pointer;background:linear-gradient(#3a2c1c,#22190f);border-radius:3px;padding:.45em 1.1em;transition:filter .1s;box-shadow:inset 0 1px #ffe6aa1f}.btn:hover{filter:brightness(1.3);border-color:var(--gold-dim)}.btn:active{filter:brightness(.9)}.btn.primary{border-color:var(--gold);color:#fff3d0;background:linear-gradient(#7a5a24,#4a3514)}.btn.danger{background:linear-gradient(#5a1f18,#34110c);border-color:#8a3a2a}.btn.link{box-shadow:none;color:var(--ink-dim);background:0 0;border:none;text-decoration:underline}.btn.big{padding:.55em 2.2em;font-size:1.2em}.btn.small{padding:.2em .7em;font-size:.9em}.btn.on{border-color:var(--gold-hi);box-shadow:0 0 8px #ffd27880}.field{font:inherit;color:var(--ink);border:1px solid var(--edge);-webkit-user-select:text;user-select:text;background:#0009;border-radius:3px;outline:none;width:100%;padding:.5em .7em}.field:focus{border-color:var(--gold)}.row{align-items:center;gap:.5em;margin-top:.6em;display:flex}.row.center{justify-content:center}.row.end{justify-content:flex-end}.grow{flex:1}.bad{color:var(--bad)}.dim{color:var(--ink-dim)}.hint{color:var(--ink-dim);margin:.4em 0;font-size:.86em;line-height:1.5}.empty{color:var(--ink-dim);padding:1em .4em;line-height:1.6}.tag{border:1px solid var(--gold-dim);color:var(--gold);vertical-align:middle;border-radius:2px;margin-left:.5em;padding:.05em .45em;font-size:.75em}.window{background:var(--stone);background-size:auto,192px;border:1px solid #6b5228;border-radius:3px;padding:1em;box-shadow:0 0 0 1px #000,0 0 0 3px #281c0ce6,0 0 0 4px #000,inset 0 0 0 1px #ffd28c12,inset 0 0 40px #000000bf,0 10px 40px #000000b3}.panel-title{font-family:var(--title-font);color:var(--gold);text-align:center;letter-spacing:.05em;text-shadow:0 1px #000;margin-bottom:.6em;font-size:1.3em}.modal{z-index:20;pointer-events:auto;background:#00000080;place-items:center;display:grid;position:fixed;inset:0}.modal-layer{pointer-events:none;z-index:20;position:fixed;inset:0}.modal-layer>.modal{pointer-events:auto}.confirm{min-width:calc(320px * var(--s));max-width:calc(440px * var(--s));text-align:center}.confirm-text{margin-bottom:.6em;line-height:1.6}.confirm .field{text-align:center;margin-bottom:.4em}.screen{flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.logo{text-align:center;filter:drop-shadow(0 4px 16px #000);margin-bottom:2.5em}.logo-main{font-family:"Black Han Sans", var(--title-font);font-size:calc(78px * var(--s));letter-spacing:.18em;color:#0000;background:linear-gradient(#fff4cf 10%,#d9b45f 45%,#7a5420 90%);-webkit-text-stroke:1px #3c1e0099;-webkit-background-clip:text;background-clip:text}.logo-sub{color:var(--ink-dim);letter-spacing:.5em;margin-top:.2em;font-size:1.05em}.loading{background:radial-gradient(#1d1610 0%,#000 75%);transition:opacity .6s}.loading.done{opacity:0;pointer-events:none}.load-bar{border:1px solid var(--edge);background:#0b0805;border-radius:4px;width:min(460px,70vw);height:8px;overflow:hidden}.load-fill{background:linear-gradient(90deg,#7a5420,#ffd88a);width:0;height:100%;transition:width .3s}.load-label{color:var(--ink-dim);margin-top:.8em;font-size:.9em}.login{background:linear-gradient(#00000026,#0000008c)}.login-box{width:calc(360px * var(--s));background:var(--stone);background-size:auto,192px;border:1px solid #6b5228;border-radius:3px;padding:1.2em;box-shadow:0 0 0 1px #000,0 0 0 3px #281c0ce6,0 0 0 4px #000,inset 0 0 40px #000000bf,0 10px 50px #000c}.server-list{flex-direction:column;gap:.4em;display:flex}.server{font:inherit;color:var(--ink);border:1px solid var(--edge);cursor:pointer;background:linear-gradient(#2c2116,#1a130c);border-radius:3px;justify-content:space-between;align-items:center;padding:.75em 1em;display:flex}.server:hover{border-color:var(--gold);filter:brightness(1.2)}.server-name{font-weight:700}.server-load{font-size:.85em}.server-load.ok{color:var(--good)}.server-load.busy{color:#fc5}.server-load.full{color:var(--bad)}.server-load.unknown{color:var(--ink-dim)}.login-form{flex-direction:column;gap:.5em;display:flex}.login-form .row{justify-content:center}.secret-input{-webkit-text-security:disc}.guest-entry{border-top:1px solid var(--edge);flex-direction:column;gap:.5em;margin-top:.8em;padding-top:1em;display:flex}.guest-entry .panel-title{margin-bottom:0;font-size:1em}.guest-entry .hint{text-align:center;margin:0}.login-status{text-align:center;min-height:1.4em;color:var(--ink-dim);margin-top:.7em;font-size:.9em}.login-status.bad{color:var(--bad)}.credits-line{color:#e9e1cc73;font-size:.8em;position:absolute;bottom:1em}.credits-line a{color:inherit}.select{background:linear-gradient(#00000073,#0000 20% 65%,#000000bf);justify-content:space-between;padding:2em 0 1.5em}.select-bottom{flex-direction:column;align-items:center;gap:.6em;display:flex}.char-cards{gap:.6em;display:flex}.char-card{font:inherit;color:var(--ink);width:calc(150px * var(--s));border:1px solid var(--edge);cursor:pointer;text-align:center;background:#0e0a07e0;border-radius:3px;padding:.8em .5em}.char-card:hover{border-color:var(--gold-dim)}.char-card.on{border-color:var(--gold-hi);background:#322412eb;box-shadow:0 0 14px #ffc86466}.char-card.empty{opacity:.55}.char-name{font-size:1.05em;font-weight:700}.char-meta{color:var(--gold);margin-top:.3em;font-size:.85em}.create{width:calc(560px * var(--s))}.class-cards{justify-content:center;gap:.6em;display:flex}.class-card{font:inherit;color:var(--ink);border:1px solid var(--edge);cursor:pointer;background:#00000073;border-radius:3px;flex:1;padding:.8em .4em}.class-card.on{border-color:var(--gold-hi);background:#46321499}.class-emblem{border:2px solid var(--gold-dim);background:radial-gradient(circle at 35% 30%, #fff8, transparent 40%), var(--c,#555);border-radius:50%;width:46px;height:46px;margin:0 auto .4em}.class-emblem.c0{--c:#7a1d18}.class-emblem.c1{--c:#2a2f7a}.class-emblem.c2{--c:#2a6a3a}.class-info{min-height:4.5em;margin:.9em 0}.class-desc{color:var(--ink);line-height:1.6}.class-stats{color:var(--gold);justify-content:center;gap:1em;margin-top:.5em;font-size:.9em;display:flex}.hud{pointer-events:none;position:fixed;inset:0}.bottom-bar{align-items:flex-end;gap:calc(8px * var(--s));padding:0 calc(6px * var(--s)) calc(6px * var(--s));display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.vitals{gap:calc(24px * var(--s));width:100%;margin-bottom:calc(3px * var(--s));display:flex}.vital{flex:1;min-width:0}.vital-label{font-size:calc(10px * var(--s));letter-spacing:.04em;color:#c2c6c2;justify-content:space-between;margin-bottom:3px;display:flex}.vital-text{color:#eee9de;font-variant-numeric:tabular-nums}.vital-track{height:calc(8px * var(--s));background:#090e11;border:1px solid #455250;border-radius:2px;overflow:hidden}.vital-fill{height:100%;transition:width 90ms ease-out;box-shadow:inset 0 1px #ffffff30}.vital.hp .vital-fill{background:linear-gradient(90deg,#9d514a,#dc8a73)}.vital.mp .vital-fill{background:linear-gradient(90deg,#327e86,#85c6c5)}.bar-center{align-items:center;gap:calc(5px * var(--s));padding:calc(8px * var(--s)) calc(12px * var(--s)) calc(6px * var(--s));background:linear-gradient(#182123ef,#0b1013f5);border:1px solid #576260;border-radius:5px;flex-direction:column;display:flex;box-shadow:0 2px 16px #0009,inset 0 1px #d8e6db16}.exp-bar{width:100%;height:calc(11px * var(--s));background:#0b0805;border:1px solid #3a2c18;position:relative}.exp-fill{background:#777e65;transition:width .3s;position:absolute;top:0;bottom:0;left:0}.exp-text{font-size:calc(9.5px * var(--s));line-height:calc(10px * var(--s));text-align:center;color:#fff;text-shadow:0 0 2px #000,0 0 2px #000;position:absolute;inset:0}.bar-row{gap:calc(10px * var(--s));display:flex}.potion-keys,.hotbar{gap:calc(3px * var(--s));display:flex}.slot{width:calc(42px * var(--s));height:calc(42px * var(--s));cursor:pointer;background:radial-gradient(circle at 50% 40%,#282018d9,#040302f2);border:1px solid #5e4723;border-radius:2px;place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 8px #000,0 0 0 1px #000c}.slot:hover{border-color:var(--gold-dim)}.slot.on{border-color:var(--gold-hi);box-shadow:inset 0 0 10px #ffd27873}.slot.can{border-color:var(--good);box-shadow:inset 0 0 10px #78ff7866}.slot.nomana .icon{filter:grayscale(.6)brightness(.6)sepia()hue-rotate(180deg)}.slot .icon{width:80%;height:80%}.slot .key{font-size:calc(10px * var(--s));color:var(--gold);text-shadow:0 0 2px #000;z-index:2;position:absolute;top:0;left:2px}.slot .count{font-size:calc(10px * var(--s));text-shadow:0 0 2px #000,0 0 2px #000;z-index:2;font-weight:700;position:absolute;bottom:0;right:2px}.slot .cd{z-index:1;background:#000000b3;height:0;position:absolute;bottom:0;left:0;right:0}.icon{image-rendering:pixelated;pointer-events:none;display:block}.icon.unusable{filter:grayscale()brightness(.5)}.menu-buttons{gap:calc(3px * var(--s));display:flex}.menu-btn{font:inherit;font-size:calc(11px * var(--s));color:#c8b890;padding:calc(2px * var(--s)) calc(8px * var(--s));cursor:pointer;background:linear-gradient(#3a2a16,#1a1109);border:1px solid #6b5228;border-radius:2px;box-shadow:inset 0 1px #ffd79626,0 0 0 1px #000}.menu-btn:hover{color:var(--ink);border-color:var(--gold-dim)}.menu-btn.alert{color:#fff0b8;border-color:var(--gold);animation:1.2s infinite pulse}@keyframes pulse{50%{box-shadow:0 0 10px #ffd26ecc}}.buffs{left:50%;bottom:calc(130px * var(--s));gap:4px;display:flex;position:absolute;transform:translate(-50%)}.buff{width:calc(30px * var(--s));height:calc(30px * var(--s));border:1px solid var(--gold-dim);background:#000a;place-items:center;display:grid;position:relative}.buff .icon{width:80%;height:80%}.buff-time{text-align:center;font-size:calc(10px * var(--s));text-shadow:0 0 2px #000;position:absolute;bottom:-1.3em;left:0;right:0}.target{top:calc(14px * var(--s));width:calc(320px * var(--s));text-align:center;position:absolute;left:50%;transform:translate(-50%)}.target-name{color:#ffb3a0;text-shadow:0 1px 3px #000;margin-bottom:3px;font-weight:700}.target.boss .target-name{color:#ffb347;font-size:1.15em}.target-bar{height:calc(9px * var(--s));background:#120d0c;border:1px solid #68534a;position:relative;overflow:hidden;box-shadow:0 1px 4px #000a}.target-fill,.target-trail{height:100%;position:absolute;top:0;left:0}.target-fill{background:linear-gradient(90deg,#91443e,#d78b70);transition:width 65ms ease-out}.target-trail{background:#ecce96;transition:width .3s ease-out .12s}.target.fresh .target-fill,.target.fresh .target-trail{transition:none}.target.hit .target-fill{filter:brightness(1.45)}.party-frames{left:calc(12px * var(--s));top:calc(120px * var(--s));flex-direction:column;gap:6px;display:flex;position:absolute}.pframe{width:calc(180px * var(--s));background:#0000008c;border:1px solid #3a2c18;padding:4px 6px}.pframe.far{opacity:.5}.pname{font-size:.9em;font-weight:700}.plv{color:var(--ink-dim);font-size:.9em;font-weight:400}.pbar{background:#200;height:5px;margin-top:3px}.pfill{background:#d8262d;height:100%}.minimap-box{right:calc(12px * var(--s));top:calc(10px * var(--s));flex-direction:column;align-items:center;display:flex;position:absolute}.region{font-family:var(--title-font);color:var(--gold-hi);text-shadow:0 1px 3px #000;margin-bottom:4px;font-size:1.15em}.minimap{width:calc(180px * var(--s));height:calc(180px * var(--s));cursor:pointer;border:3px solid #3d2e18;border-radius:50%;box-shadow:0 0 0 2px #000,0 4px 18px #000000b3}.mini-foot{text-shadow:0 1px 2px #000;gap:.6em;margin-top:4px;font-size:.8em;display:flex}.coords{color:var(--ink-dim)}.safe-tag{color:var(--good)}.tracker{right:calc(12px * var(--s));top:calc(250px * var(--s));width:calc(230px * var(--s));border-left:2px solid var(--gold);cursor:pointer;background:#00000073;padding:6px 10px;position:absolute}.tr-title{color:var(--gold);font-size:.95em;font-weight:700}.tr-line{margin-top:2px;font-size:.88em}.tr-line.ready{color:var(--good)}.chat{left:calc(10px * var(--s));bottom:calc(120px * var(--s));width:calc(420px * var(--s));flex-direction:column;display:flex;position:absolute}.chat-log{max-height:calc(200px * var(--s));opacity:.85;scrollbar-width:thin;padding:4px 6px;font-size:.9em;line-height:1.45;overflow-y:auto}.chat:not(.typing):not(.fresh) .chat-log{opacity:.35}.chat.typing .chat-log{opacity:1;background:#00000080}.chat-line{text-shadow:0 1px 2px #000,0 0 2px #000;word-break:break-all;-webkit-user-select:text;user-select:text}.chat-line .from{cursor:pointer}.ch-near{color:#f0ece0}.ch-party{color:#6ef0ff}.ch-whisper{color:#ffb0f0}.ch-shout{color:#ffbe55}.ch-system{color:#ffe880}.chat-input{font:inherit;color:var(--ink);border:1px solid var(--gold-dim);-webkit-user-select:text;user-select:text;background:#000000bf;outline:none;padding:.4em .6em;display:none}.chat.typing .chat-input{display:block}.center-msgs{flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;top:24%;left:50%;transform:translate(-50%)}.center-msg{text-shadow:0 1px 3px #000,0 0 3px #000;white-space:nowrap;font-size:1.05em;font-weight:700}.center-msg.fade{animation:3.2s forwards msg}.center-msg.bad{color:#ff8a70}.center-msg.good{color:#9dff8a}.center-msg.gold{color:#ffe08a}@keyframes msg{0%{opacity:0;transform:translateY(6px)}6%{opacity:1;transform:none}80%{opacity:1}to{opacity:0}}.banner{text-align:center;font-family:var(--title-font);color:#ded1b4;text-shadow:0 2px 8px #000,0 0 3px #000;font-size:1.45em;position:absolute;top:14%;left:10%;right:10%}.banner.show{animation:6s forwards banner}@keyframes banner{0%{opacity:0;letter-spacing:.3em}10%{opacity:1;letter-spacing:.05em}85%{opacity:1}to{opacity:0}}.region-title{text-align:center;font-family:var(--title-font);color:#f3e2b0;letter-spacing:.12em;text-shadow:0 2px 10px #000,0 0 3px #000;opacity:0;pointer-events:none;font-size:2.4em;position:absolute;top:30%;left:0;right:0}.region-title.show{animation:3.5s forwards region}@keyframes region{0%{opacity:0;transform:translateY(8px)}15%{opacity:1;transform:none}70%{opacity:1}to{opacity:0}}.death{background:radial-gradient(#0000 30%,#3c00008c);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.death-title{font-family:var(--title-font);color:#ff5545;text-shadow:0 2px 10px #000;font-size:3em}.death-sub{text-shadow:0 1px 3px #000;margin-top:.4em}.cast{left:50%;bottom:calc(170px * var(--s));width:calc(260px * var(--s));text-align:center;position:absolute;transform:translate(-50%)}.cast-label{text-shadow:0 1px 2px #000;margin-bottom:3px;font-size:.9em}.cast-bar{background:#0a0a14;border:1px solid #39407a;height:8px}.cast-fill{background:linear-gradient(90deg,#4a6aff,#b7c6ff);width:0;height:100%}.invite{background:var(--panel);border:1px solid var(--gold);text-align:center;border-radius:4px;padding:.9em 1.2em;position:absolute;top:34%;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #000}.win-layer{pointer-events:none;position:fixed;inset:0}.game-win{pointer-events:auto;max-height:calc(100vh - 150px * var(--s));flex-direction:column;padding:0;display:flex;position:absolute}.win-title{cursor:move;font-family:var(--title-font);color:var(--gold-hi);text-shadow:0 1px 2px #000,0 0 8px #ffbe5a40;letter-spacing:.06em;background:linear-gradient(#4a3518,#24180b 60%,#1a1108);border-bottom:1px solid #8a6a32;justify-content:space-between;align-items:center;padding:.45em .6em .45em .9em;font-size:1.08em;display:flex;box-shadow:0 1px #000,inset 0 1px #ffdc9633}.win-x{font:inherit;color:var(--ink-dim);cursor:pointer;background:0 0;border:none;padding:0 .2em;font-size:1.3em;line-height:1}.win-x:hover{color:#fff}.win-body{scrollbar-width:thin;padding:.8em;overflow-y:auto}.game-win.inv{right:calc(12px * var(--s));top:calc(60px * var(--s))}.game-win.char{left:calc(12px * var(--s));top:calc(60px * var(--s));width:calc(330px * var(--s))}.game-win.skills{left:calc(354px * var(--s));top:calc(60px * var(--s));width:calc(340px * var(--s))}.game-win.shop,.game-win.ware{right:calc(310px * var(--s) + 30px);top:calc(60px * var(--s))}.game-win.dialog{left:calc(30px * var(--s));top:calc(120px * var(--s));width:calc(400px * var(--s))}.game-win.questlog{left:calc(12px * var(--s));top:calc(60px * var(--s));width:calc(360px * var(--s))}.game-win.partywin{left:calc(12px * var(--s));top:calc(330px * var(--s));width:calc(360px * var(--s))}.game-win.mapwin,.game-win.options,.game-win.help{top:50%;left:50%;transform:translate(-50%,-55%)}.game-win.options{width:calc(380px * var(--s))}.game-win.help{width:calc(520px * var(--s))}.doll{grid-template-columns:repeat(3, calc(var(--cell) * 2.1));grid-auto-rows:calc(var(--cell) * 2.1);justify-content:center;gap:6px;margin-bottom:.7em;display:grid;position:relative}.equip-slot{grid-column:calc(var(--c) + 1);grid-row:calc(var(--r) + 1);background:#0000008c;border:1px solid #3d2e18;border-radius:3px;place-items:center;display:grid;position:relative}.equip-slot.s9,.equip-slot.s10{height:calc(var(--cell) * 1.2);align-self:start}.equip-slot .slot-name{color:#e9e1cc40;font-size:.8em}.equip-slot.filled .slot-name{display:none}.equip-slot.can{border-color:var(--good);box-shadow:inset 0 0 12px #78ff7859}.equip-slot .grid-item{width:100%;height:100%;position:static}.item-grid{width:calc(var(--cell) * var(--gw));height:calc(var(--cell) * var(--gh));margin:0 auto;position:relative}.grid-cells{grid-template-columns:repeat(var(--gw), var(--cell));grid-auto-rows:var(--cell);display:grid;position:absolute;inset:0}.cell{background:#00000073;border:1px solid #5a452459}.grid-items{pointer-events:none;position:absolute;inset:0}.grid-item{left:calc(var(--x) * var(--cell));top:calc(var(--y) * var(--cell));width:calc(var(--w) * var(--cell));height:calc(var(--h) * var(--cell));pointer-events:auto;cursor:grab;background:#3c322840;border:1px solid #8c703840;place-items:center;display:grid;position:absolute}.item-grid.shop .grid-item{cursor:pointer}.grid-item:hover{border-color:var(--gold-dim);background:#78643c59}.grid-item .icon{width:min(90%, calc(var(--cell) * 1.4));aspect-ratio:1;object-fit:contain;height:auto;max-height:90%}.grid-item.q-exc{background:#37787338}.grid-item.q-high{background:#8c6e1438}.grid-item.q-magic{background:#32509633}.grid-item.broken .icon{filter:sepia()saturate(4)hue-rotate(-30deg)brightness(.7)}.grid-item .count{text-shadow:0 0 2px #000,0 0 2px #000;font-size:.78em;font-weight:700;position:absolute;bottom:0;right:2px}.grid-item .plus{color:#ffd75e;text-shadow:0 0 2px #000,0 0 2px #000;font-size:.75em;font-weight:700;position:absolute;top:0;left:2px}.grid-item.dragging{opacity:.3}.grid-shade{left:calc(var(--x) * var(--cell));top:calc(var(--y) * var(--cell));width:calc(var(--w) * var(--cell));height:calc(var(--h) * var(--cell));pointer-events:none;z-index:3;position:absolute}.grid-shade.ok{background:#5aff6e40;outline:1px solid #78ff78b3}.grid-shade.bad{background:#ff463240;outline:1px solid #ff5a46b3}.drag-ghost{z-index:100;pointer-events:none;opacity:.85;filter:drop-shadow(0 4px 8px #000);place-items:center;display:grid;position:fixed;top:0;left:0}.drag-ghost .icon{width:90%}body.is-dragging,body.is-dragging *{cursor:grabbing!important}body.repairing .game-win.inv .grid-item{cursor:crosshair}.inv-foot{align-items:center;gap:.5em;margin-top:.6em;display:flex}.zen-label{color:var(--gold);font-size:.9em}.zen-amount{color:#ffe8a8;min-width:6em;font-weight:700}.tip-layer{z-index:50;pointer-events:none;position:fixed;top:0;left:0}.tooltip{min-width:calc(200px * var(--s));max-width:calc(320px * var(--s));text-align:center;background:#060403f5;border:1px solid #6b5228;padding:.6em .8em;font-size:.92em;line-height:1.5;box-shadow:0 6px 24px #000}.tt-name{margin-bottom:.25em;font-size:1.08em;font-weight:700}.tl.dim{color:var(--ink-dim)}.tl.bad{color:var(--bad)}.tl.warn{color:#ffb050}.tl.opt{color:#8fb8ff}.tl.exc{color:#63ff7a}.tl.desc{color:#d8ccaa}.tl.price{color:#ffe08a;margin-top:.2em}.q-exc{color:#8de3d5}.q-jewel{color:#ffd75e}.q-book{color:#ff9f4a}.q-high{color:#fc3}.q-magic{color:#7fb2ff}.q-normal{color:#f2f2f2}.stat-row{justify-content:space-between;align-items:center;padding:.18em 0;display:flex}.stat-row .k{color:var(--ink-dim)}.stat-row .v{font-weight:700}.char-head,.char-stats,.char-combat{background:#0000004d;border:1px solid #2d2214;margin-bottom:.6em;padding:.5em .7em}.stat-block{border-top:1px solid #2d2214;padding:.3em 0}.stat-row.big .k{color:var(--gold);font-weight:700}.stat-row.big .v{margin-left:auto;margin-right:.6em;font-size:1.1em}.stat-detail{color:var(--ink-dim);font-size:.8em}.plus-btn{font:inherit;border:1px solid var(--edge);width:1.6em;height:1.6em;color:var(--ink-dim);cursor:pointer;visibility:hidden;background:#241a0e;border-radius:2px;font-weight:700;line-height:1}.has-points .plus-btn{visibility:visible;color:#fff0c0;border-color:var(--gold)}.plus-btn:hover{filter:brightness(1.4)}.points{color:#ffe08a;font-weight:700}.skill-list{flex-direction:column;gap:4px;display:flex}.skill-entry{cursor:grab;background:#00000059;border:1px solid #2d2214;align-items:center;gap:.6em;padding:.35em;display:flex}.skill-entry:hover{border-color:var(--gold-dim)}.skill-icon{width:calc(34px * var(--s));height:calc(34px * var(--s));border:1px solid var(--edge)}.skill-name{font-weight:700}.skill-meta{color:var(--ink-dim);font-size:.82em}.npc-line{margin:0 0 .6em;line-height:1.65}.quest-box{border:1px solid var(--gold-dim);background:#3c280a40;margin-top:.4em;padding:.6em .8em}.quest-title{color:var(--gold);margin-bottom:.4em;font-size:1.05em;font-weight:700}.quest-box p,.questlog p{margin:.3em 0;line-height:1.6}.quest-progress{color:#9dff8a;font-weight:700}.reward{color:#ffe08a;font-size:.9em}.party-row{border:1px solid #2d2214;grid-template-columns:1fr auto;align-items:center;gap:2px 8px;margin-bottom:4px;padding:.4em;display:grid}.party-row.far{opacity:.55}.party-row .pbar{grid-column:1/2}.pmeta{color:var(--ink-dim);font-size:.85em}.world-map{width:calc(512px * var(--s));height:calc(512px * var(--s));border:1px solid var(--edge);display:block}.opt-row{justify-content:space-between;align-items:center;gap:1em;padding:.35em 0;display:flex}.opt-row input[type=range]{width:55%;accent-color:var(--gold)}.opt-row .field{width:55%}.keys{gap:4px;display:grid}.key-row{grid-template-columns:11em 1fr;align-items:center;gap:.6em;display:grid}kbd{font:inherit;border:1px solid var(--edge);color:var(--gold-hi);text-align:center;background:#2a2016;border-radius:3px;padding:.1em .5em;font-size:.85em}.network-panel{z-index:5;pointer-events:none;width:258px;max-width:48vw;font:11px/1.55 var(--font);color:#cbd5d9;font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #000;background:#090f14b8;border:1px solid #8cadb847;border-radius:4px;padding:8px 10px;position:fixed;top:25px;left:8px}.network-panel strong,.network-panel small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.network-panel small{color:#9eafb7;font-size:10px}.network-status{color:#88dba4;margin:2px 0}.network-panel[data-quality=warn] .network-status{color:#e4c579}.network-panel[data-quality=bad] .network-status{color:#ff927f}.network-detail{white-space:pre-line}.party-frames{top:calc(225px + 10px * var(--s))}
