*{box-sizing:border-box}html,body{-webkit-user-select:none;user-select:none;background:#111;height:100%;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;overflow:hidden}#app{position:fixed;inset:0}#app canvas{display:block}body.cursor-attack #app{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32'><g fill='none' stroke='%23ff3a2a' stroke-width='2.5'><circle cx='16' cy='16' r='9'/><path d='M16 2v8M16 22v8M2 16h8M22 16h8'/></g><circle cx='16' cy='16' r='2' fill='%23ff3a2a'/></svg>") 16 16,crosshair}#hud{pointer-events:none;color:#f1e6cf;--serif:"Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;font-family:var(--serif);position:fixed;inset:0}.overlay{contain:strict;will-change:transform;position:absolute;inset:0;overflow:hidden}.stats{color:#ffffff8c;text-shadow:0 1px 2px #000;font:10px ui-monospace,monospace;position:absolute;top:10px;right:14px}.hpbar{will-change:transform;background:#120c0a;border:1px solid #000;width:56px;height:6px;position:absolute;top:0;left:0;box-shadow:0 0 0 1px #c9a45a59}.hpbar .fill{background:linear-gradient(#d24a3c,#8a1e16);height:100%}.hpbar.evading .fill{background:linear-gradient(#bbb,#777)}.dmg{will-change:transform, opacity;white-space:nowrap;letter-spacing:.3px;color:#fffdf8;text-shadow:0 1px #140c06bf,0 0 2px #140c06b3,0 0 6px #140c0659;font-family:ui-rounded,SF Pro Rounded,Nunito,Trebuchet MS,system-ui,sans-serif;font-size:17px;font-weight:700;animation:1.1s cubic-bezier(.22,.8,.3,1) forwards dmgfloat;position:absolute;transform:translate(-50%,-50%)}.dmg.ability{color:#ffd65c;font-size:19px}.dmg.crit{font-size:23px}.dmg.ability.crit{font-size:25px}.dmg.self{color:#ff9483}.dmg.evade,.dmg.miss{color:#d6cfc2;font-size:14px;font-style:italic;font-weight:600}@keyframes dmgfloat{0%{opacity:0;transform:translate(-50%,-40%)scale(.7)}10%{transform:translate(calc(-50% + var(--dx) * .15), -70%) scale(1.12);opacity:1}22%{transform:translate(calc(-50% + var(--dx) * .3), -95%) scale(1);opacity:1}70%{opacity:1}to{transform:translate(calc(-50% + var(--dx)), -230%) scale(.96);opacity:0}}.targetframe{text-align:center;opacity:0;width:320px;transition:opacity .12s;position:absolute;top:16px;left:50%;transform:translate(-50%)}.targetframe.show{opacity:1}.t-name{color:#f6e7c6;text-shadow:0 1px 2px #000,0 0 8px #000;margin-bottom:4px;font-size:16px}.t-name .ev{color:#aaa;font-size:12px}.t-name .slowed{color:#8fd8ff;font-size:12px}.t-bar{background:#120c0a;border:1px solid #000;height:15px;position:relative;box-shadow:0 0 0 1px #c9a45a8c,0 2px 6px #0009}.t-bar .fill{background:linear-gradient(#d8503f,#8e1f17);height:100%;transition:width .12s}.t-text{text-shadow:0 1px 2px #000;font-size:11px;font-weight:700;line-height:15px;position:absolute;inset:0}.toast{color:#ff5a46;text-shadow:0 1px 2px #000,0 0 10px #000;opacity:0;font-size:20px;transition:opacity .15s;position:absolute;top:26%;left:50%;transform:translate(-50%)}.toast.show{opacity:1}.combatlog{text-shadow:0 1px 2px #000,0 0 4px #000;width:330px;font-size:13px;line-height:1.45;position:absolute;bottom:62px;left:14px}.combatlog .ln{transition:opacity 1.5s}.combatlog .ln.old{opacity:0}.combatlog .out{color:#e9d27a}.combatlog .crit{color:#ffae3a}.combatlog .in{color:#ff7a6a}.combatlog .kill{color:#8fe07a}.combatlog .info{color:#cfc6b0}.lil-gui.root,.lil-gui.autoPlace{pointer-events:auto;position:fixed;top:26px;left:auto!important;right:8px!important}.slot.clickable{pointer-events:auto;cursor:pointer}.cp-body{gap:14px;display:flex}.cp-col{flex-direction:column;gap:8px;display:flex}.cp-sub{color:#cdbf9f;font-size:12px}.cp-equip{grid-template-columns:repeat(3,42px);gap:4px;display:grid}.cp-equip .slot-cape{grid-area:1/1}.cp-equip .slot-head{grid-area:1/2}.cp-equip .slot-neck{grid-area:1/3}.cp-equip .slot-mainHand{grid-area:2/1}.cp-equip .slot-chest{grid-area:2/2}.cp-equip .slot-offHand{grid-area:2/3}.cp-equip .slot-gloves{grid-area:3/1}.cp-equip .slot-legs{grid-area:3/2}.cp-equip .slot-ring{grid-area:3/3}.cp-equip .slot-trinket{grid-area:4/1}.cp-equip .slot-boots{grid-area:4/2}.cp-bag{grid-template-columns:repeat(4,38px);gap:3px;display:grid}.cp-hint{color:#8a8070;max-width:170px;font-size:10px}.icell{background:#14110e;border:1px solid #000;justify-content:center;align-items:center;width:38px;height:38px;font-size:21px;display:flex;position:relative;box-shadow:inset 0 0 0 1px #ffe6b41a}.cp-equip .icell{width:42px;height:42px}.icell.full{cursor:pointer;background:radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--tier) 38%, #14110e), #14110e 80%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tier) 70%, transparent)}.icell.full:hover{box-shadow:inset 0 0 0 2px var(--tier), 0 0 6px color-mix(in srgb, var(--tier) 60%, transparent)}.icell .lbl{color:#5d5446;text-align:center;font:9px/1.1 ui-sans-serif,system-ui,sans-serif}.cp-stats{color:#e6dcc6;width:134px;font-size:12px;line-height:1.5}.cp-stats .st{justify-content:space-between;gap:8px;display:flex}.cp-stats b{color:#ffd76a;font-weight:600}.dim{color:#8a8070;font-weight:400}.itemtip{z-index:20;pointer-events:none;color:#e6dcc6;background:#100c09f5;border:1px solid #000;min-width:170px;max-width:260px;padding:7px 9px;font-size:12px;line-height:1.45;display:none;position:fixed;top:0;left:0;box-shadow:0 0 0 1px #c9a45a73,0 4px 12px #000000b3}.itemtip.show{display:block}.tt-name{font-size:14px;font-weight:700}.tt-slot{color:#9a8e78;margin-bottom:3px}.tt-stat{color:#8fe07a}.tt-hint{color:#7a705f;margin-top:4px;font-size:10.5px}.creator{z-index:30;color:#f1e6cf;background:radial-gradient(#140f0a8c,#080604eb);justify-content:center;align-items:center;font-family:Palatino Linotype,Book Antiqua,Palatino,Georgia,serif;display:flex;position:fixed;inset:0}.creator .cc-box{background:linear-gradient(#2a221b,#120e0b);border:1px solid #000;gap:18px;padding:18px 20px;display:flex;box-shadow:0 0 0 1px #c9a45a73,0 10px 30px #000c}.creator canvas{border:1px solid #000;width:300px;height:400px;display:block}.creator .cc-form{flex-direction:column;gap:9px;width:230px;display:flex}.creator h1{color:#e8c56a;margin:0 0 4px;font-size:22px;font-weight:400}.creator label{color:#cdbf9f;flex-direction:column;gap:3px;font-size:12px;display:flex}.creator .cc-row{align-items:center;gap:6px;display:flex}.creator .cc-row span{text-align:center;color:#f1e6cf;text-transform:capitalize;flex:1;font-size:14px}.creator .cc-row button,.creator .cc-seg button{font:inherit;color:#e6dcc6;cursor:pointer;background:#1a1410;border:1px solid #000;padding:3px 9px;box-shadow:inset 0 0 0 1px #ffdc9626}.creator .cc-row button:hover,.creator .cc-seg button:hover{box-shadow:inset 0 0 0 1px #c9a45a}.creator .cc-seg{gap:4px;display:flex}.creator .cc-seg button{text-transform:capitalize;flex:1}.creator .cc-seg button.on{color:#1a1410;background:#e8c56a}.creator input{font:inherit;color:#f1e6cf;background:#14110e;border:1px solid #000;padding:4px 6px;font-size:14px;box-shadow:inset 0 0 0 1px #ffdc9626}.creator .cc-go{font:inherit;color:#1a1410;cursor:pointer;background:linear-gradient(#f0d488,#c9a24a);border:1px solid #000;margin-top:auto;padding:8px;font-size:16px}.creator .cc-go:hover{filter:brightness(1.08)}.creator .cc-sub{color:#f1e6cf;margin-top:-6px;font-size:15px}.login-box .cc-form{width:280px}.login-hint{color:#9a8e78;font-size:12px;line-height:1.4}.login-error{color:#ff8a7a;min-height:16px;font-size:12.5px}.creator .cc-go:disabled{filter:grayscale(.6);cursor:wait}.cp-skills{color:#e6dcc6;flex-direction:column;gap:5px;width:150px;font-size:12.5px;display:flex}.cp-skills .cb{color:#cdbf9f;margin-bottom:2px;font-size:12px}.cp-skills .cb b{color:#ffd76a}.cp-skills .sk{grid-template-columns:20px 1fr auto;align-items:center;column-gap:4px;display:grid}.cp-skills .sk b{color:#ffd76a;font-weight:600}.cp-skills .sk-bar{background:#120c0a;border:1px solid #000;grid-column:2/4;height:3px}.cp-skills .sk-bar div{background:linear-gradient(90deg,#b8902f,#ffd76a);height:100%}.icell.locked{filter:grayscale(.85)brightness(.7)}.tt-req{color:#cdbf9f}.tt-req.unmet{color:#ff8a7a}.levelup{text-align:center;pointer-events:none;text-shadow:0 1px 2px #000,0 0 12px #000c;animation:2.6s ease-out forwards levelup;position:absolute;top:18%;left:50%;transform:translate(-50%)}.levelup .lu-title{color:#ffd76a;letter-spacing:1px;font-size:28px}.levelup .lu-text{color:#f6e7c6;font-size:17px}@keyframes levelup{0%{opacity:0;transform:translate(-50%,8px)scale(.92)}10%{opacity:1;transform:translate(-50%)scale(1.04)}18%{transform:translate(-50%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-10px)}}.t-name .lvl{color:#cdbf9f;font-size:13px}.tt-mat{color:#b9c7d8;font-size:11.5px}.lootstack{pointer-events:none;flex-direction:column;align-items:flex-start;gap:4px;display:flex;position:absolute;bottom:62px;left:calc(50% + 124px)}.lootcard{min-width:170px;box-shadow:inset 2px 0 0 var(--tier), 0 3px 10px #0000008c;background:linear-gradient(90deg,#1a140ff0,#1a140fbf);border:1px solid #000;align-items:center;gap:8px;padding:5px 10px 5px 6px;transition:opacity .6s,transform .6s;animation:.35s cubic-bezier(.22,.8,.3,1) lootin;display:flex}.lootcard.out{opacity:0;transform:translateY(-6px)}.lootcard .lc-icon{background:radial-gradient(circle, color-mix(in srgb, var(--tier) 35%, #14110e), #14110e 75%);width:28px;height:28px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tier) 60%, transparent);justify-content:center;align-items:center;font-size:18px;display:flex}.lootcard .lc-text{flex-direction:column;line-height:1.25;display:flex}.lootcard .lc-name{color:var(--tier);text-shadow:0 1px 2px #000;font-size:13px}.lootcard .lc-sub{color:#9a8e78;font-size:10.5px}.lootcard.lost .lc-sub{color:#ff8a7a}@keyframes lootin{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:none}}.slot.pulse{animation:1.1s ease-out bagpulse}@keyframes bagpulse{0%{box-shadow:inset 0 0 0 2px #ffd76a,0 0 #ffd76a00}30%{box-shadow:inset 0 0 0 2px #ffd76a,0 0 12px #ffd76ab3}to{box-shadow:inset 0 0 0 1px #ffe6b42e,0 0 #ffd76a00}}.hud-health{text-shadow:0 1px 2px #000;width:210px;position:absolute;top:12px;left:14px}.hh-name{color:#f6e7c6;margin-bottom:3px;font-size:14px}.hh-name .lvl{color:#cdbf9f;font-size:11.5px}.hh-bar{background:#120c0a;border:1px solid #000;height:14px;position:relative;box-shadow:0 0 0 1px #c9a45a73}.hh-bar .fill{background:linear-gradient(#d8503f,#8e1f17);height:100%;transition:width .15s}.hh-text{text-align:center;font-family:ui-sans-serif,system-ui,sans-serif;font-size:10.5px;font-weight:700;line-height:14px;position:absolute;inset:0}.bottombar{pointer-events:none;justify-content:space-between;align-items:flex-end;display:flex;position:absolute;bottom:10px;left:12px;right:12px}.bb-group{pointer-events:auto;background:linear-gradient(#2a221b,#120e0b);border:1px solid #000;gap:3px;padding:3px;display:flex;box-shadow:inset 0 1px #ffdc961a,0 3px 10px #0000008c}.slot{background:#14110e;border:1px solid #000;width:40px;height:40px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffe6b429}.slot .icon{filter:saturate(.85);justify-content:center;align-items:center;font-size:21px;display:flex;position:absolute;inset:0;box-shadow:inset 0 0 8px #000c}.slot .cd{z-index:1;position:absolute;inset:-20px}.slot .cdtxt{z-index:2;text-shadow:0 1px 3px #000;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex;position:absolute;inset:0}.slot .key{color:#fff;text-shadow:0 0 2px #000,0 1px 2px #000;z-index:3;font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px;font-weight:700;position:absolute;bottom:0;left:2px}.slot.auto{box-shadow:inset 0 0 0 1px #ffd76a80}.slot.active{box-shadow:inset 0 0 0 2px #e8c56a}.slot.empty{opacity:.35}.slot.clickable{cursor:pointer}.slot.clickable:hover{box-shadow:inset 0 0 0 1px #c9a45a}.castbar{opacity:0;background:#120c0a;border:1px solid #000;width:220px;height:11px;transition:opacity .1s;position:absolute;bottom:58px;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #c9a45a8c}.castbar.show{opacity:1}.castbar .fill{background:linear-gradient(#ffe08a,#c9902a);height:100%}.castbar .label{text-align:center;text-shadow:0 1px 2px #000;font-size:10px;font-weight:700;line-height:11px;position:absolute;inset:0}.paneldock{pointer-events:none;position:absolute;bottom:60px;right:12px}.panel{pointer-events:auto;background:linear-gradient(#2a221b,#120e0b);border:1px solid #000;padding:8px 10px 10px;display:none;box-shadow:inset 0 1px #ffdc961a,0 0 0 1px #c9a45a59,0 6px 18px #000000b3}.panel.show{display:block}.panel .ph{color:#e8c56a;margin-bottom:4px;font-size:13px}.charpanel.view-bag .v-skills,.charpanel.view-skills .v-bag{display:none}.mm-zone{text-align:center;color:#e8c56a;margin-bottom:4px;font-size:13px}.mm-frame{background:linear-gradient(135deg,#6b5532,#2a2015 40%,#6b5532);border:1px solid #000;width:196px;height:196px;padding:3px}.mm-frame canvas{border:1px solid #000;width:190px;height:190px;display:block}.mm-clock{text-align:right;color:#cdbf9f;margin-top:3px;font-size:11px}.helppanel{color:#e6dcc6;width:200px;font-size:12.5px;line-height:1.6}.helppanel b{color:#fff;font-weight:600}.tt-ab{color:#ffd76a;font-size:12px}.world-list{flex-direction:column;gap:6px;min-width:240px;display:flex}.world-row{font:inherit;color:#e8dcc0;text-align:left;cursor:pointer;pointer-events:auto;background:linear-gradient(#332a20,#1d1712);border:1px solid #000;border-radius:3px;justify-content:space-between;align-items:baseline;gap:18px;padding:8px 10px;display:flex}.world-row:hover:not(:disabled){filter:brightness(1.25)}.world-row:disabled{opacity:.55;cursor:default}.world-pop{color:#a89b82;white-space:nowrap;font-size:12px}.worldspanel .world-row{pointer-events:auto}.combatlog{bottom:196px}.chatbox{pointer-events:none;text-shadow:0 1px 2px #000,0 0 3px #000;width:380px;font-size:13px;line-height:1.4;position:absolute;bottom:62px;left:14px}.chatlines{flex-direction:column;justify-content:flex-end;max-height:104px;display:flex;overflow:hidden}.chatbox.typing .chatlines{pointer-events:auto;background:#0008;border-radius:3px;max-height:180px;padding:3px 5px;overflow-y:auto}.chatline{color:#e6e0d0;overflow-wrap:anywhere;transition:opacity 1.5s}.chatline.old{opacity:0}.chatbox.typing .chatline.old{opacity:1}.chatline.private{color:#d9a8f0}.chatline.admin{color:#ffcf6a;font-weight:600}.chatline.system{color:#a8a090;font-style:italic}.chatinput{box-sizing:border-box;width:100%;font:inherit;color:#f2ead8;pointer-events:auto;background:#14100ccc;border:1px solid #5a4a34;border-radius:3px;outline:none;margin-top:4px;padding:5px 7px;display:none}.chatbox.typing .chatinput{display:block}
