:root{--u: clamp(.8px, min(.0926vh, .0521vw), 3px);--gold: #e8c070;--gold-hi: #f6dca0;--gold-dim: #9a7d44;--line: rgba(232, 192, 112, .26);--ink: #0b0a09;--panel: rgba(12, 10, 8, .86);--text: #e8e0cc;--muted: #9a927e;--serif: "Cinzel", "Trajan Pro", Georgia, serif;--body: "EB Garamond", Georgia, serif;--ease-out: cubic-bezier(.2, .8, .25, 1)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#000;color:var(--text);font-family:var(--body);user-select:none;-webkit-font-smoothing:antialiased}canvas#game{position:fixed;inset:0;width:100vw;height:100vh;display:block}.hidden{display:none!important}button{font:inherit;color:inherit}button:focus,input:focus,select:focus{outline:none}kbd.gl{display:inline-grid;place-items:center;flex:none;min-width:calc(var(--u) * 25);height:calc(var(--u) * 25);padding:0 calc(var(--u) * 6);font:600 calc(var(--u) * 12)/1 system-ui,"Segoe UI",sans-serif;letter-spacing:.02em;color:#f2e6c8;background:linear-gradient(#3a3026,#16120d);border:1px solid rgba(232,192,112,.5);border-bottom-width:2px;border-radius:calc(var(--u) * 4);box-shadow:0 1px 3px #0009}kbd.gl.arrows{font-size:calc(var(--u) * 15);letter-spacing:-.05em}kbd.gl.pad{border-radius:50%;width:calc(var(--u) * 26);min-width:calc(var(--u) * 26);height:calc(var(--u) * 26);padding:0;border-bottom-width:1px;background:radial-gradient(circle at 40% 35%,#3a3632,#121110);font-size:calc(var(--u) * 13)}kbd.gl.pad.wide{border-radius:calc(var(--u) * 8);width:auto;padding:0 calc(var(--u) * 7);font-size:calc(var(--u) * 11)}kbd.gl.pad.dpad{border-radius:calc(var(--u) * 5);font-size:calc(var(--u) * 10)}kbd.gl.pa{color:#9be07a;border-color:#6aa84f}kbd.gl.pb{color:#ff7b6b;border-color:#c0503e}kbd.gl.px{color:#7ab6ff;border-color:#4f7fc0}kbd.gl.py{color:#ffd35c;border-color:#c9a23a}.lg{display:inline-flex;align-items:center;gap:calc(var(--u) * 7);font-size:calc(var(--u) * 16);color:#e8e0ccd9;white-space:nowrap}#loading{position:fixed;inset:0;z-index:50;background:#050403;transition:opacity 1.1s ease;overflow:hidden}#loading.fade{opacity:0;pointer-events:none}.ld-bg{position:absolute;inset:-10%;background:radial-gradient(ellipse 50% 40% at 50% 42%,rgba(120,84,30,.28),transparent 70%),radial-gradient(ellipse 80% 60% at 50% 100%,rgba(60,30,10,.35),transparent 70%),radial-gradient(circle at 50% 50%,#120e09,#030202 75%);animation:ldBreath 7s ease-in-out infinite alternate}@keyframes ldBreath{0%{transform:scale(1);opacity:.85}to{transform:scale(1.05);opacity:1}}.ld-center{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);text-align:center}.sigil,.logo-sigil{fill:none;stroke:var(--gold);stroke-linecap:round;overflow:visible}.sigil{width:calc(var(--u) * 190);height:calc(var(--u) * 190);filter:drop-shadow(0 0 calc(var(--u) * 10) rgba(232,192,112,.55))}.sg-halo{stroke-width:.6;opacity:.25;stroke-dasharray:2 6;animation:spin 40s linear infinite;transform-origin:100px 100px}.sg-ring{stroke-width:1.6;stroke-dasharray:390;stroke-dashoffset:390;animation:draw 2.2s var(--ease-out) forwards,spin 24s linear infinite;transform-origin:100px 100px}.sg-ring2{stroke-width:.6;opacity:.45;stroke-dasharray:3 9;animation:spin 18s linear infinite reverse;transform-origin:100px 100px}.sg-line{stroke-width:1.2;stroke-dasharray:190;stroke-dashoffset:190;animation:draw 1.6s .5s var(--ease-out) forwards}.sg-line.l2{animation-delay:.8s}.sg-line.l3{animation-delay:1.1s}.sg-core{fill:var(--gold-hi);stroke:none;animation:corePulse 2.4s ease-in-out infinite;transform-origin:100px 100px}@keyframes draw{to{stroke-dashoffset:0}}@keyframes corePulse{0%,to{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1.3)}}@keyframes spin{to{transform:rotate(360deg)}}.ld-title{margin-top:calc(var(--u) * 26);font-family:var(--serif);font-size:calc(var(--u) * 24);letter-spacing:.55em;padding-left:.55em;text-transform:uppercase;color:var(--gold-hi);opacity:0;animation:fadeIn 1.6s .6s forwards;text-shadow:0 0 calc(var(--u) * 18) rgba(232,192,112,.4)}.ld-foot{position:absolute;left:7vw;right:7vw;bottom:7vh;display:flex;justify-content:space-between;align-items:flex-end;gap:6vw}.ld-tip{max-width:calc(var(--u) * 820)}.ld-tip-h{font-family:var(--serif);font-size:calc(var(--u) * 13);letter-spacing:.32em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:calc(var(--u) * 10);display:flex;align-items:center;gap:calc(var(--u) * 12)}.ld-tip-h:after{content:"";width:calc(var(--u) * 120);height:1px;background:linear-gradient(90deg,var(--gold-dim),transparent)}.ld-tip-t{font-size:calc(var(--u) * 23);font-style:italic;line-height:1.45;color:#d9cfb8;opacity:0}.ld-tip-t.in{animation:tipIn 6.5s ease forwards}@keyframes tipIn{0%{opacity:0;transform:translateY(calc(var(--u) * 6))}10%{opacity:1;transform:none}88%{opacity:1}to{opacity:0}}.ld-prog{width:calc(var(--u) * 440);flex:none}.ld-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:calc(var(--u) * 10);font-family:var(--serif);font-size:calc(var(--u) * 14);letter-spacing:.12em;color:var(--muted)}.ld-pct{color:var(--gold-hi);font-size:calc(var(--u) * 15)}.ld-bar{position:relative;height:max(2px,calc(var(--u) * 3));background:#ffffff14}.ld-fill{position:absolute;inset:0;transform-origin:left;transform:scaleX(0);transition:transform .6s var(--ease-out);background:linear-gradient(90deg,var(--gold-dim),var(--gold-hi));box-shadow:0 0 calc(var(--u) * 10) #e8c070b3}#loading.error .loading-text{color:#e07060}#title{position:fixed;inset:0;z-index:30;overflow:hidden}.title-bg{position:absolute;inset:0;background:radial-gradient(ellipse 75% 65% at 50% 40%,transparent 40%,rgba(20,14,8,.32) 100%),linear-gradient(180deg,rgba(0,0,0,.18),transparent 28%,transparent 62%,rgba(10,6,2,.42));transition:background .8s}#title.mode-class .title-bg,#title.mode-panel .title-bg{background:radial-gradient(ellipse 80% 70% at 50% 45%,#00000059,#000000d9)}#embers{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.letterbox{position:absolute;left:0;right:0;height:9vh;background:#000;transition:transform 1.6s var(--ease-out);z-index:2}.letterbox.top{top:0;transform:translateY(-100%)}.letterbox.bottom{bottom:0;transform:translateY(100%)}#title.intro .letterbox{transform:none}.title-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5.5vh;padding:4vh 0;z-index:1;transition:gap .5s}.logo{text-align:center;transition:transform .6s var(--ease-out)}.logo-sigil{width:calc(var(--u) * 150);height:calc(var(--u) * 150);display:block;margin:0 auto calc(var(--u) * -40);opacity:.8;filter:drop-shadow(0 0 calc(var(--u) * 14) rgba(232,192,112,.6))}.logo-sigil .sg-ring{animation:draw 2.6s .2s var(--ease-out) forwards,spin 60s linear infinite}.logo h1{font-family:var(--serif);font-weight:400;font-size:calc(var(--u) * 112);letter-spacing:.2em;padding-left:.2em;margin:0;line-height:1.1;white-space:nowrap;background:linear-gradient(180deg,#fff8e4,#f1d9a0 45%,#b48a48);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 calc(var(--u) * 22) rgba(232,192,112,.45)) drop-shadow(0 2px 2px rgba(0,0,0,.8));animation:logoIn 3.2s .3s var(--ease-out) both}@keyframes logoIn{0%{opacity:0;letter-spacing:.55em;filter:blur(14px)}60%{opacity:1}to{opacity:1;letter-spacing:.2em}}.logo-rule{width:calc(var(--u) * 520);height:1px;margin:calc(var(--u) * 14) auto calc(var(--u) * 12);background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:scaleX(0);animation:grow 1.6s 1.6s var(--ease-out) forwards}.logo-sub{font-style:italic;color:#dcd0b4;font-size:calc(var(--u) * 24);text-shadow:0 0 10px #000;opacity:0;animation:fadeIn 1.4s 2.2s forwards}@keyframes grow{to{transform:scaleX(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(calc(var(--u) * 12))}to{opacity:1;transform:none}}.press-any{display:none;font-family:var(--serif);font-size:calc(var(--u) * 17);letter-spacing:.42em;padding-left:.42em;text-transform:uppercase;color:var(--gold-hi);text-shadow:0 0 calc(var(--u) * 12) rgba(232,192,112,.6);opacity:0;animation:fadeIn 1s 3s forwards,breathe 2.6s 4s ease-in-out infinite}#title.intro .press-any{display:block}#title.intro .title-menu,#title.intro .title-legend{display:none}@keyframes breathe{0%,to{opacity:1}50%{opacity:.35}}.title-menu{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 4);min-width:calc(var(--u) * 360);pointer-events:auto}.title-menu:not(.cs):not(.panel){padding:calc(var(--u) * 24) calc(var(--u) * 90);background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(0,0,0,.42),transparent 100%)}.title-menu.in>*{animation:fadeUp .6s var(--ease-out) both}.title-menu.in>*:nth-child(2){animation-delay:.07s}.title-menu.in>*:nth-child(3){animation-delay:.14s}.title-menu.in>*:nth-child(4){animation-delay:.21s}.title-menu.in>*:nth-child(5){animation-delay:.28s}.tbtn{font-family:var(--serif);font-size:calc(var(--u) * 23);letter-spacing:.16em;color:#e8e0ccb3;background:none;border:none;padding:calc(var(--u) * 10) calc(var(--u) * 54);cursor:pointer;position:relative;transition:color .25s,text-shadow .25s}.tbtn>span{position:relative;z-index:1}.tbtn:before{content:"";position:absolute;inset:0 -10%;background:radial-gradient(ellipse 50% 60% at center,rgba(232,192,112,.2),transparent 75%);opacity:0;transition:opacity .3s}.tbtn:after{content:"";position:absolute;left:50%;bottom:calc(var(--u) * 3);width:70%;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:translate(-50%) scaleX(0);transition:transform .35s var(--ease-out)}.tbtn>span:before,.tbtn>span:after{content:"";position:absolute;top:50%;width:calc(var(--u) * 6);height:calc(var(--u) * 6);background:var(--gold-hi);box-shadow:0 0 calc(var(--u) * 8) var(--gold);transform:translateY(-50%) rotate(45deg) scale(0);transition:transform .3s var(--ease-out)}.tbtn>span:before{left:calc(var(--u) * -26)}.tbtn>span:after{right:calc(var(--u) * -26)}.tbtn:hover,.tbtn.focus{color:#fff8e6;text-shadow:0 0 calc(var(--u) * 14) rgba(232,192,112,.7)}.tbtn:hover:before,.tbtn.focus:before{opacity:1}.tbtn:hover:after,.tbtn.focus:after{transform:translate(-50%) scaleX(1)}.tbtn.focus>span:before,.tbtn.focus>span:after{transform:translateY(-50%) rotate(45deg) scale(1)}.tbtn:disabled{color:#555;cursor:default}.tbtn small{display:block;position:relative;z-index:1;margin-top:calc(var(--u) * 2);font-family:var(--body);font-style:italic;font-size:calc(var(--u) * 17);letter-spacing:.02em;color:#d2c7aa;text-shadow:0 0 8px #000,0 0 3px #000}.tbtn.small{font-size:calc(var(--u) * 19);padding:calc(var(--u) * 9) calc(var(--u) * 40)}.tbtn.primary{color:var(--gold-hi)}.title-foot{position:absolute;left:50%;bottom:3vh;transform:translate(-50%);color:var(--muted);font-size:calc(var(--u) * 14);opacity:.7;white-space:nowrap;z-index:3;animation:fadeIn 1.5s 2.5s both}#title.mode-class .title-foot,#title.mode-panel .title-foot{display:none}.title-legend{position:absolute;right:3vw;bottom:3vh;display:flex;gap:calc(var(--u) * 20);z-index:3}#title.mode-class .title-content,#title.mode-panel .title-content{justify-content:flex-start;gap:2.4vh;padding-top:3.5vh}#title.mode-class .logo h1,#title.mode-panel .logo h1{font-size:calc(var(--u) * 46);animation:none}#title.mode-class .logo-sigil,#title.mode-class .logo-sub,#title.mode-class .logo-rule,#title.mode-panel .logo-sigil,#title.mode-panel .logo-sub,#title.mode-panel .logo-rule{display:none}.title-menu.cs{width:min(94vw,calc(var(--u) * 1360));align-items:stretch;gap:2.2vh}.cs-kicker{display:flex;align-items:center;gap:calc(var(--u) * 18);font-family:var(--serif);font-size:calc(var(--u) * 15);letter-spacing:.42em;text-transform:uppercase;color:var(--gold)}.cs-kicker span{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold-dim))}.cs-kicker span:last-child{background:linear-gradient(90deg,var(--gold-dim),transparent)}.cs-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:calc(var(--u) * 16)}.cs-card{position:relative;padding:calc(var(--u) * 16) calc(var(--u) * 10) calc(var(--u) * 16);cursor:pointer;text-align:center;background:linear-gradient(180deg,#18130cd1,#080604eb);border:1px solid rgba(232,192,112,.16);transition:transform .35s var(--ease-out),border-color .25s,box-shadow .35s,background .3s}.cs-card:before{content:"";position:absolute;left:12%;right:12%;top:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--tc),transparent);opacity:.7}.cs-card.focus{border-color:#e8c0708c}.cs-card.sel{border-color:var(--gold);transform:translateY(calc(var(--u) * -8));background:linear-gradient(180deg,#302414e6,#0c0906f0);box-shadow:0 0 0 1px #e8c07059,0 calc(var(--u) * 20) calc(var(--u) * 40) #0009,inset 0 0 calc(var(--u) * 40) #e8c0701a}.cs-portrait{position:relative;height:calc(var(--u) * 136);display:grid;place-items:center}.cs-medal{position:absolute;width:calc(var(--u) * 124);height:calc(var(--u) * 124);border-radius:50%;background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--cc) 80%,#fff 8%),color-mix(in srgb,var(--cc) 50%,#000) 55%,#050403);border:1px solid color-mix(in srgb,var(--tc) 70%,transparent);box-shadow:inset 0 0 calc(var(--u) * 24) #000000d9,0 0 0 calc(var(--u) * 4) #00000080;transition:box-shadow .4s}.cs-card.sel .cs-medal{box-shadow:inset 0 0 calc(var(--u) * 24) #000000b3,0 0 0 calc(var(--u) * 4) #00000080,0 0 calc(var(--u) * 26) color-mix(in srgb,var(--tc) 60%,transparent)}.cs-portrait>.icon{position:relative;width:calc(var(--u) * 116);height:calc(var(--u) * 116);transform:rotate(-18deg);transition:transform .5s var(--ease-out);filter:drop-shadow(0 calc(var(--u) * 6) calc(var(--u) * 8) rgba(0,0,0,.8))}.cs-card.sel .cs-portrait>.icon{transform:rotate(-8deg) scale(1.08)}.cs-sub{position:absolute;right:10%;bottom:0}.cs-sub .icon{width:calc(var(--u) * 46);height:calc(var(--u) * 46)}.cs-name{font-family:var(--serif);font-size:calc(var(--u) * 20);color:var(--gold-hi);margin-top:calc(var(--u) * 10);letter-spacing:.06em}.cs-lv{color:var(--muted);font-size:calc(var(--u) * 15)}.cs-detail{display:grid;grid-template-columns:1.15fr 1fr .62fr;gap:calc(var(--u) * 34);padding:calc(var(--u) * 22) calc(var(--u) * 30);background:linear-gradient(180deg,#0c0a07db,#080605bd);border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:calc(var(--u) * 250)}.cs-detail.in>*{animation:fadeUp .35s var(--ease-out) both}.csd-lore h2{font-family:var(--serif);font-weight:400;font-size:calc(var(--u) * 30);color:var(--gold-hi);margin:0 0 calc(var(--u) * 6);letter-spacing:.05em}.csd-lore p{margin:0 0 calc(var(--u) * 18);font-style:italic;font-size:calc(var(--u) * 20);line-height:1.45;color:#d8cfb9}.csd-h{font-family:var(--serif);font-size:calc(var(--u) * 12);letter-spacing:.3em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:calc(var(--u) * 8)}.csd-gear{display:flex;flex-wrap:wrap;gap:calc(var(--u) * 6) calc(var(--u) * 18)}.csd-g{display:flex;align-items:center;gap:calc(var(--u) * 6);font-size:calc(var(--u) * 16)}.csd-g .icon{width:calc(var(--u) * 40);height:calc(var(--u) * 40)}.csd-stats{display:flex;flex-direction:column;gap:calc(var(--u) * 6);justify-content:center}.csd-s{display:grid;grid-template-columns:calc(var(--u) * 120) 1fr calc(var(--u) * 34);align-items:center;gap:calc(var(--u) * 12);font-size:calc(var(--u) * 17)}.csd-s .b,.sbar{position:relative;height:calc(var(--u) * 4);background:#ffffff14;overflow:hidden}.csd-s .b i,.sbar i{position:absolute;inset:0;transform-origin:left;background:linear-gradient(90deg,var(--gold-dim),var(--gold-hi));transition:transform .5s var(--ease-out)}.csd-s .v{font-family:var(--serif);text-align:right;color:#fff}.csd-der{display:flex;flex-direction:column;justify-content:center;gap:calc(var(--u) * 10);border-left:1px solid var(--line);padding-left:calc(var(--u) * 28)}.csd-d{display:flex;justify-content:space-between;align-items:baseline}.csd-d span{font-family:var(--serif);font-size:calc(var(--u) * 13);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.csd-d b{font-family:var(--serif);font-weight:400;font-size:calc(var(--u) * 28)}.csd-d.hp b{color:#ec6a5e}.csd-d.fp b{color:#7aa2ff}.csd-d.st b{color:#86d27e}.csd-d.lv b{color:var(--gold-hi)}.cs-foot{display:flex;justify-content:space-between;align-items:center;gap:calc(var(--u) * 20)}.cs-btns{display:flex;gap:calc(var(--u) * 6)}.name-input{font-family:var(--serif);font-size:calc(var(--u) * 19);background:#0009;border:1px solid var(--line);color:var(--text);padding:calc(var(--u) * 11) calc(var(--u) * 18);letter-spacing:.1em;outline:none;pointer-events:auto;width:calc(var(--u) * 440);transition:border-color .2s,box-shadow .2s}.name-input::placeholder{color:#9a927eb3}.name-input.focus,.name-input:focus{border-color:var(--gold);box-shadow:0 0 calc(var(--u) * 14) #e8c07040}.title-menu.panel{width:min(92vw,calc(var(--u) * 900));max-height:78vh;align-items:stretch;padding:calc(var(--u) * 18) calc(var(--u) * 30);background:linear-gradient(180deg,#0c0a07e6,#080605d6);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tp-head{font-family:var(--serif);font-size:calc(var(--u) * 26);letter-spacing:.26em;text-transform:uppercase;color:var(--gold-hi);text-align:center;margin-bottom:calc(var(--u) * 6)}.tp-body{overflow-y:auto;min-height:0}.tp-actions{display:flex;justify-content:center;margin-top:calc(var(--u) * 8)}.lb-wrap{max-height:56vh;overflow:auto}.settings{display:flex;flex-direction:column;gap:calc(var(--u) * 8)}.opt-h{font-family:var(--serif);font-size:calc(var(--u) * 13);letter-spacing:.3em;text-transform:uppercase;color:var(--gold);padding:calc(var(--u) * 16) calc(var(--u) * 14) calc(var(--u) * 6);border-bottom:1px solid var(--line)}.opt{display:grid;grid-template-columns:1fr auto;align-items:center;padding:calc(var(--u) * 5) calc(var(--u) * 14);min-height:calc(var(--u) * 44);border-bottom:1px solid rgba(255,255,255,.04);transition:background .15s,box-shadow .15s}.opt:hover,.opt:has(.focus){background:linear-gradient(90deg,rgba(232,192,112,.14),transparent 85%);box-shadow:inset calc(var(--u) * 2) 0 0 var(--gold)}.opt-l{font-size:calc(var(--u) * 19)}.opt:has(.focus) .opt-l{color:#fff}.opt-c{display:flex;align-items:center;gap:calc(var(--u) * 12);justify-content:flex-end}.opt-v{width:calc(var(--u) * 54);text-align:right;font-family:var(--serif);font-size:calc(var(--u) * 15);color:var(--gold-hi)}input[type=range]{-webkit-appearance:none;appearance:none;width:calc(var(--u) * 240);height:calc(var(--u) * 20);background:transparent;cursor:pointer;margin:0}input[type=range]::-webkit-slider-runnable-track{height:calc(var(--u) * 4);background:linear-gradient(90deg,var(--gold) var(--f, 50%),rgba(255,255,255,.14) var(--f, 50%))}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:calc(var(--u) * 12);height:calc(var(--u) * 12);margin-top:calc(var(--u) * -4);background:var(--gold-hi);border:1px solid #3a2a10;transform:rotate(45deg);box-shadow:0 0 calc(var(--u) * 6) #e8c07099}input[type=range]::-moz-range-track{height:calc(var(--u) * 4);background:#ffffff24}input[type=range]::-moz-range-progress{height:calc(var(--u) * 4);background:var(--gold)}input[type=range]::-moz-range-thumb{width:calc(var(--u) * 12);height:calc(var(--u) * 12);background:var(--gold-hi);border:1px solid #3a2a10;border-radius:0;transform:rotate(45deg)}input[type=range].focus::-webkit-slider-thumb{box-shadow:0 0 0 calc(var(--u) * 3) #e8c0704d,0 0 calc(var(--u) * 10) var(--gold)}.tog{display:inline-flex;align-items:center;gap:calc(var(--u) * 10);background:none;border:0;cursor:pointer;font-family:var(--serif);font-size:calc(var(--u) * 15);color:var(--muted);padding:calc(var(--u) * 4) 0}.tog-knob{position:relative;width:calc(var(--u) * 42);height:calc(var(--u) * 18);border:1px solid var(--line);border-radius:calc(var(--u) * 10);background:#00000080;transition:background .2s,border-color .2s}.tog-knob:after{content:"";position:absolute;left:calc(var(--u) * 2);top:50%;width:calc(var(--u) * 12);height:calc(var(--u) * 12);border-radius:50%;background:#777;transform:translateY(-50%);transition:transform .25s var(--ease-out),background .2s}.tog.on{color:var(--gold-hi)}.tog.on .tog-knob{background:#e8c0704d;border-color:var(--gold)}.tog.on .tog-knob:after{transform:translate(calc(var(--u) * 24),-50%);background:var(--gold-hi);box-shadow:0 0 calc(var(--u) * 6) var(--gold)}.tog-l{width:calc(var(--u) * 30);text-align:left}.tog.focus .tog-knob{box-shadow:0 0 0 calc(var(--u) * 2) #e8c07059}.seg{display:inline-flex;align-items:center;border:1px solid var(--line);background:#0006}.seg button{background:none;border:0;color:var(--muted);font-family:var(--serif);font-size:calc(var(--u) * 13);letter-spacing:.06em;padding:calc(var(--u) * 6) calc(var(--u) * 12);cursor:pointer;transition:background .2s,color .2s}.seg button:hover{color:var(--text)}.seg button.on{background:linear-gradient(180deg,#e8c07057,#e8c07029);color:#fff}.seg.focus{border-color:var(--gold);box-shadow:0 0 calc(var(--u) * 10) #e8c07040}.seg-custom{display:none;padding:0 calc(var(--u) * 10);font-style:italic;font-size:calc(var(--u) * 14);color:var(--gold)}.seg-custom.on{display:inline}.opt-desc{min-height:calc(var(--u) * 50);padding:calc(var(--u) * 10) calc(var(--u) * 14);font-style:italic;font-size:calc(var(--u) * 17);line-height:1.4;color:var(--muted);border-top:1px solid var(--line)}#menu{position:fixed;inset:0;z-index:25;display:grid;place-items:center;background:radial-gradient(ellipse 90% 80% at 50% 45%,#120d08cc,#000000f2)}#menu.grace{background:radial-gradient(ellipse 70% 60% at 50% 110%,rgba(120,84,30,.35),transparent 70%),radial-gradient(ellipse 90% 80% at 50% 45%,#120d08b8,#000000f0)}#menu.in{animation:fadeIn .28s ease-out}#menu.in .menu-frame{animation:frameIn .4s var(--ease-out)}@keyframes frameIn{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}.menu-frame{width:min(96vw,calc(var(--u) * 1480));height:min(92vh,calc(var(--u) * 900));display:grid;grid-template-rows:auto 1fr auto}.menu-head{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 4);padding-top:calc(var(--u) * 8)}.menu-title{font-family:var(--serif);font-size:calc(var(--u) * 13);letter-spacing:.4em;text-transform:uppercase;color:var(--gold-dim)}.menu-tabs{position:relative;display:flex;align-items:center;justify-content:center;gap:calc(var(--u) * 2);padding:calc(var(--u) * 4) calc(var(--u) * 10) calc(var(--u) * 8);width:100%;border-bottom:1px solid var(--line)}.mtab{font-family:var(--serif);font-size:calc(var(--u) * 18);letter-spacing:.1em;color:var(--muted);background:none;border:0;padding:calc(var(--u) * 8) calc(var(--u) * 16);cursor:pointer;transition:color .2s,text-shadow .2s}.mtab:hover{color:var(--text)}.mtab.sel{color:var(--gold-hi);text-shadow:0 0 calc(var(--u) * 12) rgba(232,192,112,.5)}.tab-gl{margin:0 calc(var(--u) * 12)}.tab-ind{position:absolute;left:0;bottom:-1px;width:1px;height:2px;background:var(--gold-hi);transform-origin:left;transition:transform .35s var(--ease-out);box-shadow:0 0 calc(var(--u) * 8) var(--gold)}.menu-body{overflow:hidden;display:grid;grid-template-columns:1fr calc(var(--u) * 470);gap:calc(var(--u) * 28);padding:calc(var(--u) * 16) calc(var(--u) * 28);min-height:0}.menu-body.single{grid-template-columns:1fr;overflow-y:auto}.menu-body.in-r>*{animation:tabInR .32s var(--ease-out)}.menu-body.in-l>*{animation:tabInL .32s var(--ease-out)}@keyframes tabInR{0%{opacity:0;transform:translate(calc(var(--u) * 24))}to{opacity:1;transform:none}}@keyframes tabInL{0%{opacity:0;transform:translate(calc(var(--u) * -24))}to{opacity:1;transform:none}}.list{overflow-y:auto;padding-right:calc(var(--u) * 10);min-height:0}.list::-webkit-scrollbar,.detail::-webkit-scrollbar,.menu-body::-webkit-scrollbar,.tp-body::-webkit-scrollbar{width:calc(var(--u) * 5)}.list::-webkit-scrollbar-thumb,.detail::-webkit-scrollbar-thumb,.menu-body::-webkit-scrollbar-thumb,.tp-body::-webkit-scrollbar-thumb{background:var(--gold-dim)}.section{display:flex;justify-content:space-between;align-items:center;font-family:var(--serif);font-size:calc(var(--u) * 13);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);padding:calc(var(--u) * 16) calc(var(--u) * 2) calc(var(--u) * 8);border-bottom:1px solid rgba(232,192,112,.14);margin-bottom:calc(var(--u) * 10)}.section .up{color:#7fd0ff;font-weight:400}.sec-n{letter-spacing:.1em;color:var(--muted);display:flex;align-items:center;gap:calc(var(--u) * 6)}.sec-n .icon{width:calc(var(--u) * 22);height:calc(var(--u) * 22)}.grid{display:grid;grid-template-columns:repeat(6,calc(var(--u) * 86));gap:calc(var(--u) * 8)}.cell{--rc: transparent;position:relative;width:calc(var(--u) * 86);height:calc(var(--u) * 86);padding:0;display:grid;place-items:center;cursor:pointer;overflow:hidden;background:radial-gradient(circle at 50% 42%,#40321e99,#0a0806eb 74%);border:1px solid rgba(232,192,112,.16);transition:border-color .15s,box-shadow .2s}.cell:before{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(0deg,var(--rc),transparent);opacity:.35;pointer-events:none}.cell.r-rare{--rc: #5fa8ff}.cell.r-epic{--rc: #c07bff}.cell.r-legendary{--rc: #ffb640}.cell.r-legendary{border-color:#ffb64059}.cell .icon{position:relative;width:calc(var(--u) * 72);height:calc(var(--u) * 72);transition:transform .25s var(--ease-out)}.cell.empty{cursor:default;background:#00000052;border-color:#ffffff0a}.cell.focus,.cell:not(.empty):hover{border-color:var(--gold-hi);box-shadow:0 0 0 1px #e8c07073,0 0 calc(var(--u) * 18) #e8c07059,inset 0 0 calc(var(--u) * 20) #e8c0701f;z-index:1}.cell.focus .icon{transform:scale(1.1)}.c-eq{position:absolute;top:0;left:0;width:0;height:0;border-top:calc(var(--u) * 18) solid var(--gold);border-right:calc(var(--u) * 18) solid transparent;filter:drop-shadow(0 0 3px rgba(232,192,112,.8))}.c-n{position:absolute;right:calc(var(--u) * 5);bottom:calc(var(--u) * 2);font-family:var(--serif);font-size:calc(var(--u) * 14);color:#fff;text-shadow:0 0 4px #000,0 0 2px #000}.c-up{position:absolute;left:calc(var(--u) * 5);bottom:calc(var(--u) * 2);font-family:var(--serif);font-size:calc(var(--u) * 14);color:var(--gold-hi);text-shadow:0 0 4px #000}.detail{position:relative;background:linear-gradient(180deg,#100c08db,#080605cc);border:1px solid rgba(232,192,112,.16);padding:calc(var(--u) * 22) calc(var(--u) * 26);overflow-y:auto;min-height:0}.detail:before{content:"";position:absolute;left:10%;right:10%;top:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.detail.narrow{max-width:calc(var(--u) * 780);width:100%;margin:0 auto;align-self:start}.detail.wide{max-width:calc(var(--u) * 940)}.detail h2{font-family:var(--serif);font-weight:400;font-size:calc(var(--u) * 27);margin:0 0 calc(var(--u) * 2);letter-spacing:.03em}.detail .rar{font-family:var(--serif);font-size:calc(var(--u) * 13);letter-spacing:.22em;text-transform:uppercase;margin-bottom:calc(var(--u) * 12);opacity:.9}.big-icon{--rc: rgba(232, 192, 112, .25);position:relative;display:flex;justify-content:center;margin:calc(var(--u) * -4) 0 calc(var(--u) * 8)}.big-icon:before{content:"";position:absolute;left:50%;top:50%;width:calc(var(--u) * 190);height:calc(var(--u) * 190);transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--rc) 45%,transparent),transparent 68%)}.big-icon.r-rare{--rc: #5fa8ff}.big-icon.r-epic{--rc: #c07bff}.big-icon.r-legendary{--rc: #ffb640}.big-icon .icon{position:relative;width:calc(var(--u) * 160);height:calc(var(--u) * 160);filter:drop-shadow(0 calc(var(--u) * 8) calc(var(--u) * 12) rgba(0,0,0,.8));animation:iconIn .35s var(--ease-out)}@keyframes iconIn{0%{opacity:0;transform:scale(.9) translateY(calc(var(--u) * 6))}to{opacity:1;transform:none}}.detail .kv{display:grid;grid-template-columns:1fr auto;gap:calc(var(--u) * 5) calc(var(--u) * 14);font-size:calc(var(--u) * 17);margin:calc(var(--u) * 12) 0}.detail .kv>span:nth-child(2n){text-align:right;color:#fff}.kv .sub{padding-left:calc(var(--u) * 14);color:var(--muted)}.kv .k-h{font-family:var(--serif);color:var(--gold-hi)!important;font-size:calc(var(--u) * 18)}.sc{color:var(--gold-hi);font-weight:600}.bad{color:#e86060!important}.cap{text-transform:capitalize}.cmp{font-size:calc(var(--u) * 13);margin-left:calc(var(--u) * 6);font-family:var(--body)}.cmp.up{color:#8fe08a}.cmp.down{color:#e87a70}.detail .lore{font-style:italic;color:var(--muted);font-size:calc(var(--u) * 17);line-height:1.5;margin-top:calc(var(--u) * 14)}.detail .fx{color:#a8dc8c;font-size:calc(var(--u) * 16);margin:calc(var(--u) * 4) 0}.d-act{display:flex;align-items:center;gap:calc(var(--u) * 10);margin-top:calc(var(--u) * 18);padding-top:calc(var(--u) * 14);border-top:1px solid rgba(232,192,112,.12);font-family:var(--serif);font-size:calc(var(--u) * 16)}.eq-note{color:var(--gold-dim);letter-spacing:.15em;text-transform:uppercase;font-size:calc(var(--u) * 13)}.muted-note{color:var(--muted);font-style:italic;padding:calc(var(--u) * 16) calc(var(--u) * 4);font-size:calc(var(--u) * 17);line-height:1.5}.muted{color:var(--muted);font-size:calc(var(--u) * 16)}.menu-foot{display:flex;justify-content:space-between;align-items:center;padding:calc(var(--u) * 12) calc(var(--u) * 28);border-top:1px solid var(--line);font-size:calc(var(--u) * 16);color:var(--muted)}.mf-l{display:flex;gap:calc(var(--u) * 28);align-items:center}.mf-l b{color:var(--gold-hi);font-family:var(--serif);font-weight:400;margin-left:calc(var(--u) * 6)}.mf-r{display:flex;align-items:center}.mf-r .rune-ico{width:calc(var(--u) * 16);height:calc(var(--u) * 16)}.mf-lg{display:flex;gap:calc(var(--u) * 22)}.btn{font-family:var(--serif);font-size:calc(var(--u) * 15);letter-spacing:.08em;color:var(--text);cursor:pointer;padding:calc(var(--u) * 9) calc(var(--u) * 22);background:linear-gradient(180deg,#e8c0701f,#e8c07008);border:1px solid rgba(232,192,112,.38);transition:background .2s,border-color .2s,box-shadow .2s,color .2s}.btn:hover:not(:disabled),.btn.focus{background:linear-gradient(180deg,#e8c0704d,#e8c0701f);border-color:var(--gold-hi);color:#fff;box-shadow:0 0 calc(var(--u) * 14) #e8c07047}.btn:disabled{opacity:.32;cursor:default}.btn.primary{border-color:var(--gold);color:var(--gold-hi)}.btn.danger{border-color:#e0505073;color:#f0a8a0}.btn.on{background:#e8c07047;color:#fff}.btn-row{display:flex;gap:calc(var(--u) * 10);flex-wrap:wrap;margin-top:calc(var(--u) * 16)}.btn-row.center{justify-content:center}.row{display:flex;align-items:center;gap:calc(var(--u) * 12);padding:calc(var(--u) * 9) calc(var(--u) * 14);border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer;font-size:calc(var(--u) * 18);transition:background .15s}.row .icon{width:calc(var(--u) * 40);height:calc(var(--u) * 40)}.row.focus,.row:hover,.row.sel{background:linear-gradient(90deg,rgba(232,192,112,.16),transparent);box-shadow:inset calc(var(--u) * 2) 0 0 var(--gold)}.row .tag{margin-left:auto;font-family:var(--serif);font-size:calc(var(--u) * 12);letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}.gr-ico{color:var(--gold);text-shadow:0 0 6px var(--gold)}.stat-row{display:grid;grid-template-columns:1fr calc(var(--u) * 180) calc(var(--u) * 28) calc(var(--u) * 44) calc(var(--u) * 28);align-items:center;gap:calc(var(--u) * 8);padding:calc(var(--u) * 8) calc(var(--u) * 14);font-size:calc(var(--u) * 18);border-bottom:1px solid rgba(255,255,255,.04);cursor:default;transition:background .15s}.stat-row.ro{grid-template-columns:1fr calc(var(--u) * 220) calc(var(--u) * 50)}.stat-row[data-nav]{cursor:pointer}.stat-row[data-nav].focus,.stat-row[data-nav]:hover{background:linear-gradient(90deg,rgba(232,192,112,.16),transparent);box-shadow:inset calc(var(--u) * 2) 0 0 var(--gold)}.stat-row .v{text-align:center;font-family:var(--serif);color:#fff}.stat-row.ro .v{text-align:right}.stat-row .v.up{color:#7fd0ff;text-shadow:0 0 8px rgba(127,208,255,.5)}.step{background:none;border:0;color:var(--gold);font-size:calc(var(--u) * 12);cursor:pointer;padding:calc(var(--u) * 4);opacity:.8}.step:disabled{opacity:.15;cursor:default}.stat-row.focus .step:not(:disabled){opacity:1;text-shadow:0 0 6px var(--gold)}.lv-actions{display:flex;gap:calc(var(--u) * 16);align-items:center;padding:calc(var(--u) * 16) calc(var(--u) * 14)}.lv-runes{display:grid;grid-template-columns:1fr auto;gap:calc(var(--u) * 6) calc(var(--u) * 12);font-size:calc(var(--u) * 17);padding-bottom:calc(var(--u) * 14);margin-bottom:calc(var(--u) * 14);border-bottom:1px solid var(--line)}.lv-runes b{font-family:var(--serif);font-weight:400;text-align:right;color:var(--gold-hi)}.lv-runes b.down{color:#e0a070}.statbox{display:grid;grid-template-columns:1fr auto;gap:calc(var(--u) * 6) calc(var(--u) * 14);font-size:calc(var(--u) * 17);margin:calc(var(--u) * 10) 0}.statbox>span:nth-child(2n){text-align:right;font-family:var(--serif);color:#fff}.up-box{display:flex;flex-wrap:wrap;gap:calc(var(--u) * 4) calc(var(--u) * 18);margin:calc(var(--u) * 6) 0 calc(var(--u) * 10);font-size:calc(var(--u) * 17)}#upBtn{margin-bottom:calc(var(--u) * 8)}.up-box b{color:var(--gold-hi);font-family:var(--serif);font-weight:400}.flask-split{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u) * 18);margin:calc(var(--u) * 20) 0}.fs-side{display:flex;flex-direction:column;align-items:center}.fs-side .icon{width:calc(var(--u) * 72);height:calc(var(--u) * 72)}.fs-side b{font-family:var(--serif);font-weight:400;font-size:calc(var(--u) * 30)}.fs-side span{color:var(--muted);font-size:calc(var(--u) * 13);letter-spacing:.2em;text-transform:uppercase}.fs-pips{display:flex;gap:calc(var(--u) * 5);flex-wrap:wrap;justify-content:center;flex:1}.fs-pips i{width:calc(var(--u) * 11);height:calc(var(--u) * 26);border-radius:calc(var(--u) * 3)}.fs-pips i.hp{background:linear-gradient(#f0664e,#9a2418);box-shadow:0 0 6px #f0664e80}.fs-pips i.fp{background:linear-gradient(#6e9cff,#2446a8);box-shadow:0 0 6px #6e9cff80}.map-detail{display:grid;place-items:center;padding:calc(var(--u) * 14)}#miniMap{width:100%;max-width:calc(var(--u) * 430);aspect-ratio:1;height:auto;border:1px solid var(--gold-dim);box-shadow:0 0 calc(var(--u) * 30) #000000b3}.msg-writer .mw-row{display:flex;align-items:center;gap:calc(var(--u) * 16);margin:calc(var(--u) * 12) 0}.mw-l{width:calc(var(--u) * 110);font-family:var(--serif);font-size:calc(var(--u) * 13);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-dim)}select.name-input{flex:1;width:auto;cursor:pointer}.mw-preview{font-style:italic;font-size:calc(var(--u) * 32);text-align:center;margin:calc(var(--u) * 28) 0;color:#f4ecd6;text-shadow:0 0 calc(var(--u) * 16) rgba(255,150,70,.35)}#tooltip{position:fixed;left:0;top:0;z-index:26;pointer-events:none;background:#080604f2;border:1px solid rgba(232,192,112,.42);padding:calc(var(--u) * 7) calc(var(--u) * 13);box-shadow:0 calc(var(--u) * 8) calc(var(--u) * 24) #0009;max-width:calc(var(--u) * 340);white-space:nowrap}.tt-n{font-family:var(--serif);font-size:calc(var(--u) * 16)}.tt-t{font-size:calc(var(--u) * 13);color:var(--muted);letter-spacing:.04em}.tt-t b{color:var(--gold);font-weight:400}.lb{width:100%;border-collapse:collapse;font-size:calc(var(--u) * 17);margin-bottom:calc(var(--u) * 16)}.lb td{padding:calc(var(--u) * 4) calc(var(--u) * 10)}.lb th{font-family:var(--serif);color:var(--gold);font-weight:400;text-align:left;padding:calc(var(--u) * 8) calc(var(--u) * 10);border-bottom:1px solid var(--line);letter-spacing:.08em}.lb .rk{color:var(--gold-dim);width:calc(var(--u) * 30);font-family:var(--serif)}.lb .tm{font-family:var(--serif);color:#fff}.lb .mt{color:var(--muted)}.hl{color:var(--gold)}#mapView{position:fixed;inset:0;z-index:24;background:radial-gradient(ellipse at center,#140e08d9,#000000f5);display:grid;place-items:center;animation:fadeIn .25s}#mapCanvas{width:min(84vh,88vw);height:min(84vh,88vw);border:1px solid var(--gold-dim);box-shadow:0 0 0 calc(var(--u) * 6) #0000008c,0 0 0 calc(var(--u) * 7) #e8c07040,0 0 calc(var(--u) * 80) #000}.map-legend{position:absolute;bottom:2.4vh;display:flex;gap:calc(var(--u) * 26);align-items:center}.ml-t{font-family:var(--serif);font-size:calc(var(--u) * 15);letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}#photoHud{position:fixed;bottom:calc(var(--u) * 16);left:50%;transform:translate(-50%);font-family:var(--serif);font-size:calc(var(--u) * 14);color:#fff9;z-index:12;white-space:nowrap}#hud{position:fixed;inset:0;pointer-events:none;z-index:10;transition:opacity .3s}#hud.menu-open{opacity:0}#hud.cinematic>*:not(#banner):not(#vignette):not(#dmgflash):not(#edgeFx){opacity:0;transition:opacity .6s}#vignette{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 58%,rgba(0,0,0,.5) 100%)}#vignette.crit:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:var(--crit-burn, 0);background:radial-gradient(ellipse 78% 74% at center,transparent 58%,rgba(255,184,84,.09) 70%,rgba(150,90,30,.1) 80%,transparent 90%),radial-gradient(ellipse at center,transparent 50%,rgba(22,14,10,.32) 76%,rgba(10,6,4,.66) 100%)}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}#dmgflash{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 40%,rgba(160,0,0,.6) 100%);opacity:0;transition:opacity .25s}#edgeFx .edge{position:absolute;inset:0;opacity:0;transition:opacity .6s;display:none}.e-low:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 75% 70% at center,transparent 55%,rgba(150,0,8,.6) 100%);animation:heartbeat 1.15s ease-in-out infinite}@keyframes heartbeat{0%,to{opacity:.45}12%{opacity:1}24%{opacity:.6}36%{opacity:.9}60%{opacity:.45}}.e-bleed{background:radial-gradient(ellipse 80% 75% at center,transparent 62%,rgba(170,10,24,.42) 100%)}.e-frost{background:radial-gradient(ellipse 80% 75% at center,transparent 58%,rgba(170,230,255,.34) 100%);box-shadow:inset 0 0 calc(var(--u) * 90) #c8f0ff40}.e-rot{background:radial-gradient(ellipse 80% 75% at center,transparent 58%,rgba(210,100,20,.36) 100%)}.vitals{position:absolute;left:calc(var(--u) * 54);top:calc(var(--u) * 46);display:flex;flex-direction:column;gap:calc(var(--u) * 7)}.bar{position:relative;height:calc(var(--u) * 11);background:linear-gradient(#000000c7,#16120db8);border:1px solid rgba(232,192,112,.4);box-shadow:0 0 0 1px #000000b3,0 calc(var(--u) * 2) calc(var(--u) * 8) #00000073;transition:width .6s var(--ease-out)}.bar:after{content:"";position:absolute;right:calc(var(--u) * -5);top:50%;width:calc(var(--u) * 7);height:calc(var(--u) * 7);background:#1a140c;border:1px solid var(--gold);transform:translateY(-50%) rotate(45deg)}.bar .fill,.bar .trail{position:absolute;inset:1px;transform-origin:left;will-change:transform}.bar.hp{height:calc(var(--u) * 15)}.bar .trail{background:linear-gradient(180deg,#f6dc98,#c89a48);opacity:.92}.bar.hp .fill{background:linear-gradient(180deg,#e8645a,#b52a2c 42%,#7a1418);box-shadow:inset 0 1px #ffd2be59}.bar.fp .fill{background:linear-gradient(180deg,#7aa4ff,#3462d4 45%,#1c378a);box-shadow:inset 0 1px #d2e1ff59}.bar.st .fill{background:linear-gradient(180deg,#8ad884,#3e913f 45%,#235b27);box-shadow:inset 0 1px #d2ffd24d}.bar.low .fill{animation:lowPulse 1.15s ease-in-out infinite}@keyframes lowPulse{0%,to{filter:brightness(1)}15%{filter:brightness(1.6)}}.bar.empty{border-color:#f05a46e6;animation:emptyFlash .45s ease-in-out infinite alternate}@keyframes emptyFlash{to{box-shadow:0 0 0 1px #000000b3,0 0 calc(var(--u) * 10) #f04632b3}}.bar.healed .fill{animation:healGlow .8s ease-out}@keyframes healGlow{0%{filter:brightness(1.9) saturate(1.2)}to{filter:none}}.bar.hurt{animation:hurtShake .28s linear}@keyframes hurtShake{20%{transform:translate(calc(var(--u) * 2),calc(var(--u) * -1))}45%{transform:translate(calc(var(--u) * -2),calc(var(--u) * 1))}70%{transform:translate(calc(var(--u) * 1))}}.status-row{display:flex;gap:calc(var(--u) * 8);margin-top:calc(var(--u) * 6);padding-bottom:calc(var(--u) * 14)}.sti{position:relative;width:calc(var(--u) * 36);height:calc(var(--u) * 36);display:grid;place-items:center;color:var(--c);background:radial-gradient(circle,#1e181099,#000000d1);border:1px solid color-mix(in srgb,var(--c) 55%,transparent);box-shadow:0 0 calc(var(--u) * 8) #0009;animation:stiIn .35s var(--ease-out)}@keyframes stiIn{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}.sti-ico{display:grid;place-items:center}.sti-ico svg{width:calc(var(--u) * 22);height:calc(var(--u) * 22);fill:currentColor;filter:drop-shadow(0 0 calc(var(--u) * 4) currentColor)}.sti-ico .icon{width:calc(var(--u) * 32);height:calc(var(--u) * 32)}.sti-m{position:absolute;left:calc(var(--u) * 2);right:calc(var(--u) * 2);bottom:calc(var(--u) * 2);height:calc(var(--u) * 3);background:#000000b3}.sti-m i{position:absolute;inset:0;background:var(--c);transform-origin:left;transition:transform .2s}.sti-t{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:calc(var(--u) * 2);font-family:var(--serif);font-size:calc(var(--u) * 12);color:var(--text);text-shadow:0 0 4px #000,0 0 2px #000;white-space:nowrap}.sti.build.active{animation:stiPulse .7s ease-in-out infinite alternate}@keyframes stiPulse{to{box-shadow:0 0 calc(var(--u) * 14) var(--c)}}.quick{position:absolute;left:calc(var(--u) * 64);bottom:calc(var(--u) * 60);width:calc(var(--u) * 208);height:calc(var(--u) * 208)}.quick .slot{position:absolute;width:calc(var(--u) * 70);height:calc(var(--u) * 70);transform:rotate(45deg);display:grid;place-items:center;border:1px solid rgba(232,192,112,.5);background:radial-gradient(circle at 50% 50%,#3c2f1ce6,#060504eb 72%);box-shadow:inset 0 0 0 calc(var(--u) * 3) #0000008c,inset 0 0 0 calc(var(--u) * 4) #e8c0701f,0 calc(var(--u) * 4) calc(var(--u) * 12) #00000080;transition:box-shadow .3s,opacity .3s}.quick .slot>*{transform:rotate(-45deg)}.quick .slot .ico .icon{width:calc(var(--u) * 60);height:calc(var(--u) * 60);display:block}.quick .slot.empty{opacity:.55}.quick .up{left:calc(var(--u) * 69);top:0}.quick .left{left:0;top:calc(var(--u) * 69)}.quick .right{left:calc(var(--u) * 138);top:calc(var(--u) * 69)}.quick .down{left:calc(var(--u) * 69);top:calc(var(--u) * 138)}.quick .slot.swap{animation:slotFlash .55s ease-out}.quick .slot.swap .ico{animation:slotSwap .4s cubic-bezier(.2,1.5,.4,1)}@keyframes slotFlash{0%{box-shadow:inset 0 0 0 calc(var(--u) * 3) #0000008c,inset 0 0 calc(var(--u) * 26) #ffdc9699,0 0 calc(var(--u) * 18) #e8c070b3}}@keyframes slotSwap{0%{transform:rotate(-45deg) scale(.55);opacity:.2}to{transform:rotate(-45deg) scale(1);opacity:1}}.quick .slot.used .ico{animation:slotUse .45s ease-out}@keyframes slotUse{30%{transform:rotate(-45deg) scale(1.18);filter:brightness(1.7)}to{transform:rotate(-45deg) scale(1)}}.quick .slot.enchant{box-shadow:inset 0 0 0 calc(var(--u) * 3) #0000008c,inset 0 0 calc(var(--u) * 18) var(--glow),0 0 calc(var(--u) * 16) var(--glow)}.quick .cnt{position:absolute;right:calc(var(--u) * -8);bottom:calc(var(--u) * -8);min-width:calc(var(--u) * 24);padding:0 calc(var(--u) * 5);line-height:calc(var(--u) * 22);text-align:center;font-family:var(--serif);font-size:calc(var(--u) * 15);color:#fff;background:#000000d9;border:1px solid rgba(232,192,112,.45);border-radius:calc(var(--u) * 11)}.quick .cnt:empty{display:none}.quick .cnt.zero{color:#888}.qkey{position:absolute}.qkey .gl{transform:scale(.85);opacity:.9}.qkey.k-item{left:calc(var(--u) * 28);top:calc(var(--u) * 188)}.qkey.k-spell{left:calc(var(--u) * 28);top:calc(var(--u) * -4)}.ql{position:absolute;left:calc(var(--u) * 168);transform:translate(-50%);font-family:var(--serif);white-space:nowrap;text-shadow:0 0 6px #000,0 0 2px #000;opacity:0}.ql.show{animation:qlShow 3.6s ease forwards}@keyframes qlShow{0%{opacity:0}8%{opacity:1}75%{opacity:1}to{opacity:0}}.ql-item{bottom:calc(var(--u) * 16);font-size:calc(var(--u) * 16);color:var(--text)}.ql-spell{bottom:calc(var(--u) * 274);font-size:calc(var(--u) * 14);color:#aab8e8}.runes{position:absolute;right:calc(var(--u) * 50);bottom:calc(var(--u) * 46);display:flex;align-items:center;gap:calc(var(--u) * 12);padding:calc(var(--u) * 8) calc(var(--u) * 22) calc(var(--u) * 8) calc(var(--u) * 50);font-family:var(--serif);font-size:calc(var(--u) * 26);color:#f4ecd8;background:linear-gradient(90deg,transparent,rgba(0,0,0,.75) 35%);text-shadow:0 0 6px #000}.runes:after{content:"";position:absolute;left:20%;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold-dim))}.rune-ico{width:calc(var(--u) * 24);height:calc(var(--u) * 24);fill:#e8c07038;stroke:var(--gold-hi);stroke-width:1.4;stroke-linejoin:round;filter:drop-shadow(0 0 calc(var(--u) * 5) var(--gold));flex:none}#runeGain{position:absolute;right:calc(var(--u) * 22);top:calc(var(--u) * -28);font-size:calc(var(--u) * 18);color:var(--gold-hi);opacity:0;transition:opacity .5s;text-shadow:0 0 calc(var(--u) * 10) rgba(232,192,112,.6)}#runeGain.pop{animation:runePop .5s var(--ease-out)}@keyframes runePop{0%{transform:translateY(calc(var(--u) * 10)) scale(1.2)}to{transform:none}}.boss{position:absolute;left:50%;bottom:calc(var(--u) * 96);transform:translate(-50%);width:min(60vw,calc(var(--u) * 1000))}.boss.second{bottom:calc(var(--u) * 158)}.boss-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:calc(var(--u) * 6)}.boss-name{font-family:var(--serif);font-size:calc(var(--u) * 23);letter-spacing:.06em;color:#f2e8d2;text-shadow:0 0 calc(var(--u) * 10) #000,0 0 2px #000}.boss-dmg{font-family:var(--serif);font-size:calc(var(--u) * 20);color:#fff;text-shadow:0 0 calc(var(--u) * 8) #000}.boss-dmg.pop{animation:dmgPop .3s var(--ease-out)}@keyframes dmgPop{0%{transform:scale(1.35);color:#ffe6b0}to{transform:none}}.boss-track{position:relative;height:calc(var(--u) * 12);background:#000c;border:1px solid rgba(232,192,112,.55);box-shadow:0 0 0 1px #000000b3,0 calc(var(--u) * 3) calc(var(--u) * 12) #00000080}.boss-track:before,.boss-track:after{content:"";position:absolute;top:50%;width:calc(var(--u) * 10);height:calc(var(--u) * 10);background:#1a140c;border:1px solid var(--gold);transform:translateY(-50%) rotate(45deg);z-index:2}.boss-track:before{left:calc(var(--u) * -7)}.boss-track:after{right:calc(var(--u) * -7)}.boss-track .fill,.boss-track .trail{position:absolute;inset:1px;transform-origin:left;will-change:transform}.boss-track .trail{background:linear-gradient(180deg,#f6dc98,#c89a48)}.boss-track .fill{background:linear-gradient(180deg,#dc4a40,#a01e1e,#5e0c0c);box-shadow:inset 0 1px #ffc8b44d}.boss-track .sheen{position:absolute;top:0;bottom:0;left:0;width:25%;background:linear-gradient(90deg,transparent,rgba(255,240,200,.55),transparent);transform:translate(-120%);opacity:0}.boss.enter .boss-name{animation:bossName 1.4s var(--ease-out) both}.boss.enter .boss-track{animation:fadeIn .5s both}.boss.enter .sheen{animation:sheen 1.3s .5s ease-in-out}@keyframes bossName{0%{opacity:0;letter-spacing:.4em;filter:blur(6px)}to{opacity:1;letter-spacing:.06em;filter:none}}@keyframes sheen{0%{opacity:1;transform:translate(-120%)}to{opacity:1;transform:translate(420%)}}.boss.leave{animation:fadeOut .7s forwards}#enemyBars{position:absolute;inset:0}.ebar{position:absolute;left:0;top:0;width:calc(var(--u) * 96);display:none;will-change:transform}.ebar .track{position:relative;height:calc(var(--u) * 6);background:#000000bf;border:1px solid rgba(0,0,0,.9);box-shadow:0 0 0 1px #e8c07033}.ebar .fill,.ebar .trail{position:absolute;inset:0;transform-origin:left}.ebar .trail{background:#e8c070}.ebar .fill{background:linear-gradient(180deg,#d8423a,#8a1818)}.ebar.nemesis .track{box-shadow:0 0 0 1px #ff5a3c99,0 0 calc(var(--u) * 8) #ff3c2873}.ebar .num{position:absolute;right:calc(var(--u) * -8);bottom:calc(var(--u) * 10);font-family:var(--serif);font-size:calc(var(--u) * 16);color:#fff;text-shadow:0 0 4px #000,0 0 2px #000}.ebar .num.pop{animation:dmgPop .3s var(--ease-out)}.ebar .num.crit{color:#ffd070;font-size:calc(var(--u) * 20)}.ebar .num.counter{color:#ffb080}.ebar .nm{font-family:var(--serif);font-size:calc(var(--u) * 13);color:#ffb0a0;text-align:center;margin-bottom:calc(var(--u) * 3);text-shadow:0 0 4px #000;white-space:nowrap}.ebar .stat{position:relative;height:calc(var(--u) * 3);margin-top:1px;background:#0009;visibility:hidden;overflow:hidden}.ebar .stat i{position:absolute;inset:0;transform-origin:left}.ebar .proc{position:absolute;left:50%;bottom:calc(var(--u) * 24);transform:translate(-50%);font-family:var(--serif);font-size:calc(var(--u) * 14);white-space:nowrap;text-shadow:0 0 6px #000;animation:rise 1.4s forwards}@keyframes rise{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,calc(var(--u) * -30))}}#lockon{position:absolute;left:0;top:0;width:0;height:0;will-change:transform}.lk-dot{position:absolute;width:calc(var(--u) * 10);height:calc(var(--u) * 10);left:calc(var(--u) * -5);top:calc(var(--u) * -5);border-radius:50%;background:#fff;box-shadow:0 0 calc(var(--u) * 8) #fff,0 0 2px #000;transition:background .2s,box-shadow .2s}.lk-ring{position:absolute;width:calc(var(--u) * 28);height:calc(var(--u) * 28);left:calc(var(--u) * -14);top:calc(var(--u) * -14);border-radius:50%;border:1.5px solid rgba(255,255,255,.75);border-left-color:transparent;border-right-color:transparent;animation:spin 2.6s linear infinite}#lockon.in .lk-dot{animation:lkIn .28s var(--ease-out)}@keyframes lkIn{0%{transform:scale(2.6);opacity:0}to{transform:none;opacity:1}}#lockon.crit .lk-dot{background:#ff4a3a;box-shadow:0 0 calc(var(--u) * 14) #ff2020,0 0 2px #000}#lockon.crit .lk-ring{border-top-color:#ff6050;border-bottom-color:#ff6050;animation-duration:.9s}#prompt{position:absolute;left:50%;bottom:25%;transform:translate(-50%);display:flex;align-items:center;gap:calc(var(--u) * 14);padding:calc(var(--u) * 11) calc(var(--u) * 52);background:linear-gradient(90deg,transparent,rgba(0,0,0,.84) 20%,rgba(0,0,0,.84) 80%,transparent);font-family:var(--serif);font-size:calc(var(--u) * 20);letter-spacing:.05em;white-space:nowrap}#prompt:before,#prompt:after{content:"";position:absolute;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,rgba(232,192,112,.55),transparent)}#prompt:before{top:0}#prompt:after{bottom:0}#prompt.in{animation:promptIn .32s var(--ease-out)}@keyframes promptIn{0%{opacity:0;transform:translate(-50%,calc(var(--u) * 10))}to{opacity:1;transform:translate(-50%)}}#prompt .gl{transform:scale(1.1)}#toasts{position:absolute;left:calc(var(--u) * 54);top:calc(var(--u) * 210);display:flex;flex-direction:column;gap:calc(var(--u) * 6)}.toast{display:flex;align-items:center;gap:calc(var(--u) * 10);padding:calc(var(--u) * 8) calc(var(--u) * 30) calc(var(--u) * 8) calc(var(--u) * 14);min-height:calc(var(--u) * 38);background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.55) 70%,transparent);border-left:2px solid var(--c, var(--gold-dim));font-family:var(--serif);font-size:calc(var(--u) * 16);animation:toastIn 4.2s forwards}.toast .tx{color:var(--c, var(--text));text-shadow:0 0 4px #000}.toast.item .ti .icon{width:calc(var(--u) * 42);height:calc(var(--u) * 42)}@keyframes toastIn{0%{opacity:0;transform:translate(calc(var(--u) * -24))}8%{opacity:1;transform:none}82%{opacity:1}to{opacity:0}}#centerToast{position:absolute;left:50%;top:38%;transform:translate(-50%);font-family:var(--serif);font-size:calc(var(--u) * 34);letter-spacing:.22em;text-shadow:0 0 calc(var(--u) * 20) currentColor,0 0 3px #000;opacity:0;white-space:nowrap}#centerToast.show{animation:ctoast 1.3s forwards}@keyframes ctoast{0%{opacity:0;transform:translate(-50%) scale(1.3)}15%{opacity:1;transform:translate(-50%) scale(1)}70%{opacity:1}to{opacity:0}}#banner{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;opacity:0;pointer-events:none;padding:calc(var(--u) * 30) 0}#banner.show{animation:banner 5s forwards}#banner.died{background:linear-gradient(transparent,rgba(0,0,0,.86) 30%,rgba(0,0,0,.86) 70%,transparent)}#banner.felled,#banner.grace{background:linear-gradient(transparent,rgba(0,0,0,.66) 30%,rgba(0,0,0,.66) 70%,transparent)}.banner-text{font-family:var(--serif);font-size:calc(var(--u) * 100);letter-spacing:.08em;line-height:1.15}.died .banner-text{color:#a8141a;text-shadow:0 0 calc(var(--u) * 30) #600;animation:grow 5s forwards}.felled .banner-text{background:linear-gradient(180deg,#fff2cc,#e8c070 55%,#a07030);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 calc(var(--u) * 26) rgba(232,192,112,.55));animation:bannerGrow 5s forwards}.grace .banner-text{color:#f4dea6;text-shadow:0 0 calc(var(--u) * 30) #e8c070;font-size:calc(var(--u) * 60)}.banner-sub{font-family:var(--body);font-style:italic;color:#b8ae98;font-size:calc(var(--u) * 22);margin-top:calc(var(--u) * 8)}@keyframes banner{0%{opacity:0}12%{opacity:1}80%{opacity:1}to{opacity:0}}@keyframes bannerGrow{0%{transform:scale(.96)}to{transform:scale(1.06)}}.died .banner-text{animation-name:bannerGrow}#region{position:absolute;left:50%;top:20%;transform:translate(-50%);display:flex;align-items:center;gap:calc(var(--u) * 24);opacity:0;white-space:nowrap}.rg-text{font-family:var(--serif);font-size:calc(var(--u) * 42);letter-spacing:.14em;color:#f4ead4;text-shadow:0 0 calc(var(--u) * 18) rgba(0,0,0,.95),0 0 calc(var(--u) * 44) rgba(232,192,112,.3)}.rg-line{position:relative;width:calc(var(--u) * 170);height:1px;background:linear-gradient(90deg,transparent,var(--gold));transform-origin:right}.rg-line.r{background:linear-gradient(90deg,var(--gold),transparent);transform-origin:left}.rg-line:after{content:"";position:absolute;top:50%;width:calc(var(--u) * 6);height:calc(var(--u) * 6);background:var(--gold-hi);transform:translateY(-50%) rotate(45deg);box-shadow:0 0 calc(var(--u) * 6) var(--gold)}.rg-line.l:after{right:calc(var(--u) * -3)}.rg-line.r:after{left:calc(var(--u) * -3)}#region.show{animation:regionFade 5s forwards}#region.show .rg-text{animation:regionText 5s var(--ease-out) forwards}#region.show .rg-line{animation:regionLine 5s var(--ease-out) forwards}@keyframes regionFade{0%{opacity:0}10%{opacity:1}78%{opacity:1}to{opacity:0}}@keyframes regionText{0%{letter-spacing:.5em;filter:blur(8px)}30%{letter-spacing:.14em;filter:none}to{letter-spacing:.16em}}@keyframes regionLine{0%{transform:scaleX(0)}35%{transform:scaleX(1)}to{transform:scaleX(1)}}#messageView{position:absolute;left:50%;top:30%;transform:translate(-50%);padding:calc(var(--u) * 22) calc(var(--u) * 48);background:linear-gradient(180deg,#0e0a06e6,#080604d9);border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;min-width:calc(var(--u) * 380);animation:fadeUp .35s var(--ease-out)}#messageView .msg{font-family:var(--body);font-size:calc(var(--u) * 28);font-style:italic;color:#f4ecd6;text-shadow:0 0 calc(var(--u) * 14) rgba(255,150,70,.35)}#messageView .meta{color:var(--muted);font-size:calc(var(--u) * 15);margin-top:calc(var(--u) * 8)}.compass{position:absolute;left:50%;top:calc(var(--u) * 22);transform:translate(-50%);width:calc(var(--u) * 540);height:calc(var(--u) * 32);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent)}.compass:before{content:"";position:absolute;left:0;right:0;bottom:calc(var(--u) * 5);height:1px;background:#e8c07059}.compass-strip{position:absolute;inset:0}.compass-strip span{position:absolute;left:0;top:calc(var(--u) * 2);font-family:var(--serif);font-size:calc(var(--u) * 14);color:var(--text);text-shadow:0 0 4px #000;white-space:nowrap;will-change:transform}.compass-strip span.card{font-size:calc(var(--u) * 16);color:#f4ead4}.compass-strip span.inter{font-size:calc(var(--u) * 12);color:#e8e0cc99;top:calc(var(--u) * 4)}.compass-strip span.tick{top:auto;bottom:calc(var(--u) * 5);width:1px;height:calc(var(--u) * 6);background:#e8c0708c}.compass-strip span.mk{color:var(--gold-hi);font-size:calc(var(--u) * 15);text-shadow:0 0 calc(var(--u) * 8) var(--gold)}.compass-strip span.boss{color:#ff7050}.compass-tick{position:absolute;left:50%;bottom:0;width:0;height:0;border-left:calc(var(--u) * 5) solid transparent;border-right:calc(var(--u) * 5) solid transparent;border-bottom:calc(var(--u) * 6) solid var(--gold-hi);transform:translate(-50%)}#netStatus{position:absolute;right:calc(var(--u) * 18);top:calc(var(--u) * 16);display:flex;align-items:center;gap:calc(var(--u) * 7);font-family:var(--serif);font-size:calc(var(--u) * 11);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);opacity:.75}#netStatus i{width:calc(var(--u) * 6);height:calc(var(--u) * 6);border-radius:50%;background:#777}#netStatus i.on{background:#86d27e;box-shadow:0 0 calc(var(--u) * 6) #86d27e}#controlsHint{position:absolute;left:50%;bottom:calc(var(--u) * 14);transform:translate(-50%);display:flex;flex-wrap:wrap;justify-content:center;gap:calc(var(--u) * 8) calc(var(--u) * 20);max-width:70vw;opacity:.8;transition:opacity 2s}#controlsHint .lg{font-size:calc(var(--u) * 14);text-shadow:0 0 4px #000}#controlsHint.faded{opacity:0}.icon{flex:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.7));object-fit:contain}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
