@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-700-normal-Dkw14w9r.woff2)format("woff2"),url(/assets/cinzel-latin-700-normal-C-gK7hA8.woff)format("woff")}@font-face{font-family:Mali;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/mali-thai-600-normal-DlTx3OsB.woff2)format("woff2"),url(/assets/mali-thai-600-normal-DPgXT6rZ.woff)format("woff")}@font-face{font-family:Jua;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jua-latin-400-normal-B0wF3VKp.woff2)format("woff2"),url(/assets/jua-latin-400-normal-DW1ANaNr.woff)format("woff")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--u:min(1dvh, .56vw);--gold:#d9a441;--gold-hi:#ffe2a0;--gold-lo:#6e4f18;--crimson:#e0334f;--crimson-hi:#ff6b7d;--crimson-lo:#5c0f22;--teal:#2fd6c4;--violet:#a98bff;--ink:#07050c;--panel-a:#1b1226;--panel-b:#0b0711;--text:#f1e9f0;--muted:#9a8fa8;--f-ui:"Jua", "Mali", "Noto Sans Thai", system-ui, sans-serif;--f-title:"Cinzel", "Trajan Pro", Georgia, serif;--sat:env(safe-area-inset-top,0px);--sar:env(safe-area-inset-right,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}h1,h2,h3,strong,b{font-weight:400}html,body{overscroll-behavior:none;background:var(--ink);width:100%;height:100%;margin:0;overflow:hidden}body{font-family:var(--f-ui);color:var(--text);-webkit-user-select:none;user-select:none;touch-action:none}#app{background:var(--ink);position:fixed;inset:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0}button:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px}button:disabled{opacity:.55;cursor:default}[hidden]{display:none!important}canvas{display:block}.screen{display:none;position:absolute;inset:0;overflow:hidden}html[data-screen=login] #login{display:flex}html[data-screen=game] #gameWrap{display:block}.embers{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0}.cut{--c:calc(var(--u) * 1.6);isolation:isolate;background:linear-gradient(135deg, var(--gold-hi), var(--gold) 45%, var(--gold-lo));clip-path:polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c));position:relative}.cut:before{content:"";z-index:-1;background:linear-gradient(180deg, var(--panel-a), var(--panel-b));clip-path:polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c));position:absolute;inset:2px}.btn-gold{--c:12px;isolation:isolate;letter-spacing:.5px;color:var(--gold-hi);background:linear-gradient(135deg, var(--gold-hi), var(--gold) 45%, var(--gold-lo));clip-path:polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c));justify-content:center;align-items:center;gap:10px;padding:14px 28px;font-size:18px;transition:filter .15s,transform .1s;display:inline-flex;position:relative}.btn-gold:before{content:"";z-index:-1;clip-path:polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c));background:linear-gradient(#3a1020,#14070e);position:absolute;inset:2px}.btn-gold svg{flex:none;width:22px;height:22px}.btn-gold:hover:not(:disabled){filter:brightness(1.25)drop-shadow(0 0 8px #d9a44199)}.btn-gold:active:not(:disabled){transform:translateY(2px)}.btn-link{color:var(--muted);padding:8px;font-size:14px;text-decoration:underline}.chip{padding:calc(var(--u) * 1) calc(var(--u) * 2.2);font-size:calc(var(--u) * 2.4);color:var(--gold-hi);border:1px solid var(--gold-lo);background:#0009;border-radius:999px}.chip:hover{border-color:var(--gold)}#loginBg{z-index:0;position:absolute;inset:0}#loginBg canvas{width:100%;height:100%}#loginBg:after{content:"";pointer-events:none;background:radial-gradient(70% 70%,#07050c99,#07050c33 70%,#0000),linear-gradient(#07050c55,#0000 30%,#07050c88);position:absolute;inset:0}#login{background:radial-gradient(120% 80% at 50% 30%,#3a0e26 0%,#160a1f 45%,#07050c 100%);justify-content:center;align-items:center}#login .moon{background:radial-gradient(circle at 38% 36%,#ff9db0,#d9486a 45%,#7a1535 100%);border-radius:50%;width:46vmin;height:46vmin;animation:6s ease-in-out infinite moonPulse;position:absolute;top:14%;left:50%;transform:translate(-50%);box-shadow:0 0 8vmin #e0334f88,0 0 24vmin #e0334f44}@keyframes moonPulse{50%{box-shadow:0 0 10vmin #e0334fbb,0 0 30vmin #e0334f55}}#login .moon:after{content:"";background:radial-gradient(circle at 70% 70%,#0006 0 12%,#0000 13%),radial-gradient(circle at 30% 65%,#0004 0 8%,#0000 9%);border-radius:50%;position:absolute;inset:0}#login .skyline{clip-path:polygon(0 100%,0 62%,6% 62%,6% 46%,9% 40%,12% 46%,12% 58%,20% 58%,20% 36%,23% 22%,26% 36%,26% 58%,36% 58%,36% 48%,42% 48%,42% 30%,45% 30%,45% 14%,48% 4%,51% 14%,51% 30%,54% 30%,54% 48%,62% 48%,62% 60%,70% 60%,70% 40%,73% 28%,76% 40%,76% 60%,84% 60%,84% 50%,88% 44%,92% 50%,92% 62%,100% 62%,100% 100%);background:#050309;height:38%;position:absolute;bottom:0;left:0;right:0}.login-box{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:2.2vmin;width:min(92vw,460px);margin-top:18vmin;padding:0 4vmin;display:flex;position:relative}.tagline{color:#cdbfd6;margin:0;font-size:clamp(14px,2.6vmin,18px)}#gbtn{width:min(100%,340px);margin-top:2vmin}.msg{min-height:1.4em;color:var(--crimson-hi);margin:0;font-size:14px}.fine{color:var(--gold-hi);text-shadow:0 1px #000,0 0 10px #e0334f66;margin:0;font-size:14px}@media (orientation:landscape) and (max-height:520px){#login .moon{width:34vmin;height:34vmin;top:4%;left:78%}.login-box{gap:1.4vmin;margin-top:0}.tagline{display:none}}.logo{line-height:1;font-family:var(--f-title);flex-direction:column;align-items:center;margin:0;font-weight:700;display:flex}.logo span{letter-spacing:.08em;color:var(--gold-hi);text-shadow:0 0 22px #e0334f99,0 3px #000;font-size:clamp(40px,13vmin,84px)}.logo em{letter-spacing:.6em;text-indent:.6em;color:var(--crimson-hi);text-shadow:0 0 12px #e0334f;margin-top:.6vmin;font-size:clamp(16px,4.4vmin,30px);font-style:normal}.modal{z-index:10;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:radial-gradient(90% 90% at 50% 40%,#2a0c22cc,#07050cee);justify-content:center;align-items:center;padding:16px;animation:.25s fadeIn;display:flex;position:absolute;inset:0;overflow:auto}.modal-card{--c:14px;text-align:center;flex-direction:column;align-items:center;gap:10px;width:min(92vw,400px);max-height:100%;padding:26px 22px 18px;display:flex;box-shadow:0 0 40px #e0334f55}.modal-card h2{color:var(--gold-hi);text-shadow:0 0 14px #e0334f99;margin:4px 0 0;font-size:24px}.modal-card p{color:#d8cce0;margin:0;font-size:16px;line-height:1.6}.modal-card b{color:var(--crimson-hi)}.modal-card .who-line{color:var(--teal)}.modal-card .btn-gold{width:100%;margin-top:6px}.modal-card .msg{font-size:13px}.modal-card .rot-phone{width:48px;height:78px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-height:520px){.modal-card{flex-direction:column;gap:6px;padding:14px 18px 10px}.modal-card .rot-phone{display:none}.modal-card h2{font-size:20px}.modal-card p{font-size:14px}}:root{--k:1}@media (min-height:521px){:root{--k:1.25}}@media (min-height:701px){:root{--k:1.5}}@media (min-height:901px){:root{--k:1.9}}#gameWrap{background:#000}#game{position:absolute;inset:0}#game canvas{touch-action:none;width:100%;height:100%}#vignette{pointer-events:none;background:radial-gradient(95% 90%,#0000 66%,#0000004d 100%),linear-gradient(#00000042,#0000 14% 80%,#0000004d);position:absolute;inset:0}#hud,#toolbar,#pad,#chatDock,#combat,#toast,#minimapWrap{--ink:#ece7f2;--text:#ece7f2;--muted:#8b889b;--bronze:#c8a15a;--bronze-hi:#f1dba3;--bronze-lo:#5b4526;--crimson:#e0334f;--ember:#ff7a45;--teal:#2fd6c4;--surface:linear-gradient(180deg, #181923a8, #08080db8);--surface-solid:linear-gradient(180deg, #181923eb, #08080df2);--edge:inset 0 1px 0 #ffffff12, inset 0 0 0 1px #000000b3;--brackets:linear-gradient(var(--bronze), var(--bronze)) 0 0 / 11px 1px no-repeat, linear-gradient(var(--bronze), var(--bronze)) 0 0 / 1px 11px no-repeat, linear-gradient(var(--bronze), var(--bronze)) 100% 0 / 11px 1px no-repeat, linear-gradient(var(--bronze), var(--bronze)) 100% 0 / 1px 11px no-repeat, linear-gradient(var(--bronze), var(--bronze)) 0 100% / 11px 1px no-repeat, linear-gradient(var(--bronze), var(--bronze)) 0 100% / 1px 11px no-repeat, linear-gradient(var(--bronze), var(--bronze)) 100% 100% / 11px 1px no-repeat, linear-gradient(var(--bronze), var(--bronze)) 100% 100% / 1px 11px no-repeat;--hud-font:"Trebuchet MS", "Segoe UI", "Mali", system-ui, sans-serif;font-family:var(--hud-font);color:var(--ink)}#gameWrap button{touch-action:manipulation}#gameWrap button:active{filter:brightness(1.3)}#hud{z-index:5;top:calc(8px + var(--sat));left:calc(12px + var(--sal));pointer-events:none;width:252px;transform:scale(var(--k));transform-origin:0 0;contain:layout style;align-items:center;display:flex;position:absolute}.medal{z-index:1;background:conic-gradient(var(--ember) calc(var(--xp,0) * 1%), #2a2833 0);width:56px;height:56px;box-shadow:0 0 0 2px #000, 0 0 0 3px var(--bronze-lo), 0 5px 14px #000000bf;border-radius:50%;flex:none;margin-right:-14px;padding:4px;position:relative}.medal-core{text-align:center;background:radial-gradient(circle at 50% 28%,#34364a,#090a10 78%);border-radius:50%;place-content:center;width:100%;height:100%;display:grid;box-shadow:inset 0 0 0 2px #000,inset 0 0 0 3px #c8a15a99,inset 0 -8px 14px #00000080}.medal strong{font:700 21px/1 var(--f-title);color:var(--bronze-hi);text-shadow:0 0 10px #ff7a458c,0 2px #000}.medal small{font:700 8px var(--f-title);letter-spacing:3px;color:var(--bronze);text-indent:3px;margin-top:1px}.hud-body{background:var(--brackets), var(--surface);min-width:0;box-shadow:var(--edge), 0 4px 14px #0006;border:1px solid #c8a15a59;border-radius:5px;flex:1;padding:6px 10px 7px 20px}.nick-row{align-items:center;gap:6px;min-width:0;display:flex}.nick{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font:700 13px/1.2 var(--hud-font);letter-spacing:.6px;color:var(--bronze-hi);text-shadow:0 1px #000,0 0 6px #000000e6;margin:0 0 4px;display:block;overflow:hidden}.meter{clip-path:polygon(0 0,calc(100% - 9px) 0,100% 100%,9px 100%);background:#040407b3;height:17px;margin:4px 0;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #c8a15a66}.meter.stamina{height:13px}.meter i{transform-origin:0;transition:transform .12s linear;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff61,inset 0 -4px 6px #00000059}.meter:after{content:"";pointer-events:none;background:repeating-linear-gradient(90deg,#0000 0 calc(10% - 1px),#0009 calc(10% - 1px) 10%);position:absolute;inset:0}.meter .ghost{box-shadow:none;opacity:.55;background:linear-gradient(#fffc,#fff7);transition:transform .42s ease-out .28s}.hp i:not(.ghost){background:linear-gradient(#ff8294 0%,#e0334f 48%,#7a1126 100%)}.stamina i{background:linear-gradient(#98f7ea 0%,#2fd6c4 48%,#0f6a70 100%)}.meter span{z-index:2;text-align:right;font:700 10px/17px var(--hud-font);letter-spacing:.4px;color:#fff;text-shadow:0 1px 2px #000,0 0 4px #000,0 0 2px #000;padding-right:14px;position:absolute;inset:0}.meter.stamina span{font-size:9px;line-height:13px}.chips{font:700 10px var(--hud-font);letter-spacing:1.2px;text-transform:uppercase;justify-content:space-between;gap:6px;margin-top:5px;display:flex}#gold{color:var(--bronze-hi);text-shadow:0 1px #000}#toolbar{z-index:6;top:calc(8px + var(--sat));right:calc(12px + var(--sar));transform:scale(var(--k));transform-origin:100% 0;contain:layout style;gap:8px;display:flex;position:absolute}.orb{border:2px solid var(--bronze);width:40px;height:40px;box-shadow:var(--edge), 0 3px 8px #00000073;background:radial-gradient(circle at 50% 22%,#2b2c3bc7,#0b0b11cc 76%);border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.orb svg{fill:none;width:25px;height:25px;stroke:var(--bronze-hi);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.orb:active{transform:scale(.92)}.orb[aria-expanded=true]{border-color:var(--ember);box-shadow:var(--edge), 0 0 14px #ff7a458c;background:radial-gradient(circle at 50% 24%,#5d3a1c,#1c0f08 78%)}.orb b{min-width:19px;font:700 10px/15px var(--hud-font);color:#fff;background:var(--crimson);border:1px solid #000;border-radius:99px;padding:1px 4px;position:absolute;top:-5px;right:-5px;box-shadow:0 0 8px #e0334fb3}.pop{background:var(--brackets), var(--surface-solid);width:236px;box-shadow:var(--edge), 0 4px 14px #0006;border:1px solid #c8a15a59;border-radius:5px;gap:8px;padding:12px 14px 14px;display:grid;position:absolute;top:50px;right:0}.pop h3{font:700 12px var(--f-title);letter-spacing:4px;text-transform:uppercase;text-align:center;color:var(--bronze-hi);border-bottom:1px solid #c8a15a4d;margin:0;padding-bottom:6px}.pop button{min-height:38px;font:700 13px var(--hud-font);color:var(--ink);border:1px solid var(--bronze-lo);box-shadow:var(--edge);background:radial-gradient(circle at 50% 22%,#2b2c3bc7,#0b0b11cc 76%);border-radius:4px;padding:4px 10px}#logout{color:#ffd0d8!important;background:linear-gradient(#4d1220,#200610)!important;border-color:#8f2238!important}#stats{text-align:center;font:600 10px var(--hud-font);color:var(--muted);pointer-events:none}#inventory{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.slot{height:54px;font:700 11px var(--hud-font)!important;color:var(--muted)!important;background:linear-gradient(#141621,#08080d)!important;padding:3px!important}#mailList{touch-action:pan-y;gap:5px;max-height:190px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}#mailList li{color:var(--text);border-left:3px solid var(--bronze);background:#0d0e15;border-radius:0 4px 4px 0;padding:6px 9px;font-size:12px;line-height:1.45}#mailList li.empty{color:var(--muted);text-align:center;border-left-color:#3a3f4d;font-style:italic}#minimapWrap{z-index:1;top:calc(58px * var(--k) + var(--sat));right:calc(12px + var(--sar));pointer-events:none;background:var(--brackets), var(--surface);box-shadow:var(--edge), 0 4px 14px #0006;transform:scale(var(--k));transform-origin:100% 0;border:1px solid #c8a15a59;border-radius:5px;padding:6px;position:absolute}#minimapWrap canvas{outline:1px solid var(--bronze-lo);opacity:.88;border:1px solid #000;border-radius:2px;width:156px;height:44px;display:block}#minimapWrap small{font:700 8px var(--f-title);letter-spacing:3px;color:var(--bronze);border:1px solid var(--bronze-lo);background:#0a0a10e6;border-radius:2px;padding:0 9px;position:absolute;top:-8px;left:50%;transform:translate(-50%)}#pad{z-index:4;left:calc(18px + var(--sal));bottom:calc(12px + var(--sab));pointer-events:none;width:170px;height:96px;transform:scale(var(--k));transform-origin:0 100%;position:absolute}#joystick{touch-action:none;pointer-events:auto;background:repeating-conic-gradient(from -2deg, #c8a15a59 0 4deg, transparent 4deg 45deg) content-box, radial-gradient(circle, #0d111847 40%, #05070a66 100%);border:2px solid #c8a15a80;border-radius:50%;width:96px;height:96px;padding:6px;position:absolute;bottom:0;left:0;box-shadow:inset 0 0 14px #00000073,0 3px 10px #00000059}#stick{pointer-events:none;background:radial-gradient(circle at 35% 28%,#7882a0cc,#14181fcc 70%);border:2px solid #f1dba3d9;border-radius:50%;width:44px;height:44px;position:absolute;top:calc(50% - 22px);left:calc(50% - 22px);box-shadow:inset 0 0 8px #000000b3,0 2px 6px #00000080}#auto{pointer-events:auto;border:2px solid var(--bronze);width:46px;height:46px;font:700 9px/1.15 var(--f-title);letter-spacing:.8px;color:var(--muted);box-shadow:var(--edge), 0 3px 8px #00000073;background:radial-gradient(circle at 50% 22%,#2b2c3bc7,#0b0b11cc 76%);border-radius:50%;padding:0;position:absolute;bottom:4px;left:112px}#auto:active{transform:scale(.93)}#auto[aria-pressed=true]{color:#d9fff9;border-color:var(--teal);box-shadow:var(--edge), 0 0 12px #2fd6c480;background:radial-gradient(circle at 50% 24%,#14595ad9,#04171ad9 78%)}#chatDock{z-index:4;left:50%;bottom:calc(10px + var(--sab));width:clamp(150px, calc((100vw - 400px * var(--k)) / var(--k)), 340px);transform:translateX(-50%) scale(var(--k));transform-origin:bottom;flex-direction:column;gap:5px;display:flex;position:absolute}#chatLog{pointer-events:none;flex-direction:column;justify-content:flex-end;gap:2px;max-height:64px;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}#chatDock.open #chatLog{pointer-events:auto;touch-action:pan-y;background:linear-gradient(#14151ebd,#08080dcc);border:1px solid #c8a15a4d;border-radius:5px;max-height:150px;padding:6px 9px;overflow-y:auto}#chatLog li{font:600 12px/1.35 var(--hud-font);color:var(--bronze-hi);text-shadow:0 1px 2px #000,0 0 4px #000;word-break:break-word}#chatLog li b{color:var(--bronze);font-weight:700}#chatBtn{height:36px;font:600 12px var(--hud-font);color:var(--muted);background:var(--brackets), var(--surface);box-shadow:var(--edge), 0 4px 14px #0006;border:1px solid #c8a15a59;border-radius:5px;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;display:flex}#chatLast{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#chatBtn i{color:var(--bronze);font-size:10px;font-style:normal;transition:transform .12s}#chatDock.open #chatBtn i{transform:rotate(180deg)}#chatForm{gap:6px;display:flex}#chatInput{min-width:0;font:14px var(--hud-font);color:var(--ink);border:1px solid var(--bronze-lo);-webkit-user-select:text;user-select:text;background:#07070bd9;border-radius:4px;flex:1;padding:8px 11px}#chatInput:focus-visible{outline:1px solid var(--bronze)}#chatForm button{font:700 12px var(--hud-font);color:#1a1205;background:linear-gradient(var(--bronze-hi), var(--bronze) 55%, var(--bronze-lo));border:1px solid #000;border-radius:4px;padding:0 16px}.talking #chatDock{display:none}#toast{z-index:7;text-align:center;max-width:70%;font:700 12px var(--hud-font);letter-spacing:2px;text-transform:uppercase;color:var(--bronze-hi);text-shadow:0 0 10px #ff7a458c;background:linear-gradient(90deg, transparent, var(--bronze) 20%, var(--bronze) 80%, transparent) top / 100% 1px no-repeat, linear-gradient(90deg, transparent, var(--bronze) 20%, var(--bronze) 80%, transparent) bottom / 100% 1px no-repeat, linear-gradient(90deg, transparent, #080a0fdd 18%, #080a0fdd 82%, transparent);opacity:0;pointer-events:none;padding:8px 30px;transition:opacity .25s;position:absolute;top:20%;left:50%;transform:translate(-50%)}#toast.on{opacity:1}#combat{z-index:4;right:calc(10px + var(--sar));bottom:calc(10px + var(--sab));pointer-events:none;width:196px;height:100px;transform:scale(var(--k));transform-origin:100% 100%;position:absolute}#combat button{pointer-events:auto;touch-action:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}#attack{width:84px;height:84px;font:700 15px var(--hud-font);letter-spacing:1px;color:#ffe4ea;text-shadow:0 1px #000,0 0 8px #e0334fcc;background:radial-gradient(circle at 50% 26%,#7e1e35d1,#1b0710db 74%);border:3px solid #d63e5af2;bottom:4px;right:8px;box-shadow:inset 0 0 0 2px #000c,inset 0 0 0 4px #ff829633,0 0 16px #e0334f73,0 4px 10px #0000008c}#attack small{color:var(--bronze);font:700 8px var(--f-title);letter-spacing:3px}#btnJump{border:2px solid var(--bronze);width:56px;height:56px;font:700 11px var(--hud-font);color:var(--bronze-hi);box-shadow:var(--edge), 0 3px 8px #00000073;background:radial-gradient(circle at 50% 22%,#2b2c3bc7,#0b0b11cc 76%);bottom:6px;right:104px}#btnDodge{width:52px;height:52px;font:700 11px var(--hud-font);color:#d6f6ff;box-shadow:var(--edge), 0 0 10px #50c8ff59, 0 3px 8px #00000073;background:radial-gradient(circle at 50% 22%,#1e465cc7,#080e16d1 76%);border:2px solid #78dcffd9;bottom:96px;right:28px}#combat button.down{filter:brightness(1.35);transform:scale(.94)}@media (pointer:coarse){#attack small{display:none}}@media (prefers-reduced-motion:reduce){.meter i,.meter .ghost{transition:none}}#dialogue{--c:calc(var(--u) * 1.6);left:50%;bottom:calc(var(--u) * 3 + var(--sab));z-index:6;width:min(calc(100% - var(--u) * 12 - var(--sal) - var(--sar)), calc(var(--u) * 150));padding:calc(var(--u) * 3.4) calc(var(--u) * 3.5) calc(var(--u) * 1.6);opacity:0;pointer-events:none;background:linear-gradient(135deg, var(--gold-hi), var(--gold) 50%, var(--gold-lo));isolation:isolate;clip-path:polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c));transition:opacity .25s,transform .25s;position:absolute;transform:translate(-50%,12px)}#dialogue:before{content:"";z-index:-1;clip-path:polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c));background:linear-gradient(#1d1028f2,#08050dfa);position:absolute;inset:2px}#dialogue.on{opacity:1;pointer-events:auto;transform:translate(-50%)}.dlg-name{left:calc(var(--u) * 3);top:calc(var(--u) * .4);padding:0 calc(var(--u) * 3) 0 calc(var(--u) * 2);line-height:calc(var(--u) * 3.4);font-size:calc(var(--u) * 2.3);color:#2a0a12;background:linear-gradient(90deg, var(--gold-hi), var(--gold));clip-path:polygon(0 0, 100% 0, calc(100% - var(--u) * 1.2) 100%, 0 100%);position:absolute}#dialogue[data-who=me] .dlg-name{background:linear-gradient(90deg, #b8fff4, var(--teal));color:#052a2a}#dialogue[data-who=me]{--glow:var(--teal)}#dlgText{min-height:calc(var(--u) * 9);font-size:calc(var(--u) * 3);letter-spacing:.3px;color:#fff;text-shadow:0 2px 3px #000;margin:0;line-height:1.65}#dialogue[data-who=voice] #dlgText{color:#ffd9e0}.dlg-bar{justify-content:space-between;align-items:center;gap:calc(var(--u) * 2);margin-top:calc(var(--u) * .8);display:flex}#dlgStep{text-align:center;font-size:calc(var(--u) * 2);letter-spacing:2px;color:var(--muted);flex:1}.dlg-bar button{min-height:calc(var(--u) * 5.6);padding:0 calc(var(--u) * 3);font-size:calc(var(--u) * 2.4);border-radius:999px}#dlgNext{color:#3a0c18;background:linear-gradient(var(--gold-hi), var(--gold));box-shadow:0 calc(var(--u) * .5) 0 var(--gold-lo)}#dlgNext:after{content:" ▶";animation:.9s steps(2,end) infinite blink;display:inline-block}#dlgNext:active{box-shadow:none;transform:translateY(2px)}#dlgSkip{color:var(--text);background:#ffffff10;border:1px solid #fff5}@keyframes blink{50%{opacity:.25}}.overlay{z-index:100;text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);touch-action:none;background:radial-gradient(90% 90% at 50% 40%,#2a0c22f2,#07050cfa);justify-content:center;align-items:center;padding:16px;display:none;position:absolute;inset:0}html[data-rotate] #rotate,html[data-fsgate] #fsGate,html[data-portraitgate] #portraitGate,#fatal:not([hidden]){display:flex}.rot-card{flex-direction:column;align-items:center;gap:12px;max-width:420px;display:flex}.rot-card h2{color:var(--gold-hi);text-shadow:0 0 14px #e0334f99;margin:0;font-size:clamp(20px,4vmin,30px)}.rot-card p{color:#cdbfd6;margin:0;font-size:clamp(14px,2.4vmin,18px)}.rot-phone{filter:drop-shadow(0 0 12px #e0334f88);width:64px;height:104px;animation:2.4s ease-in-out infinite rot}.rot-phone.to-portrait{animation-name:rotP}@keyframes rotP{0%,20%{transform:rotate(-90deg)}55%,85%{transform:rotate(0)}to{transform:rotate(-90deg)}}@keyframes rot{0%,20%{transform:rotate(0)}55%,85%{transform:rotate(-90deg)}to{transform:rotate(0)}}html[data-rotate] #app>.screen,html[data-fsgate] #app>.screen,html[data-portraitgate] #app>.screen{visibility:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}#countdown{z-index:12;pointer-events:none;font:400 clamp(64px, 22vh, 190px)/1 var(--f-ui);letter-spacing:2px;color:#eafffb;-webkit-text-stroke:3px #04161a;paint-order:stroke fill;text-shadow:0 0 24px #2ee6ff,0 0 60px #38ff9c,0 6px #04161a;white-space:nowrap;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}#countdown.pop{animation:.95s cubic-bezier(.2,.9,.2,1) both cdPop}#countdown.go{color:#fff;text-shadow:0 0 30px #fff,0 0 70px #2ee6ff,0 0 110px #38ff9c,0 6px #04161a}@keyframes cdPop{0%{opacity:0;transform:translate(-50%,-50%)scale(2.4)}18%{opacity:1;transform:translate(-50%,-50%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)scale(.82)}}#bossBar{z-index:6;left:50%;top:calc(8px + var(--sat));pointer-events:none;width:clamp(180px,40vw,520px);position:absolute;transform:translate(-50%)}#bossBar .bn{font-family:var(--f-ui);text-shadow:0 0 8px #2ee6ff88,0 1px 2px #000;justify-content:space-between;align-items:baseline;padding:0 4px 3px;display:flex}#bossBar .bn b{color:#bffff0;letter-spacing:1px;font-size:clamp(12px,2.4vh,18px)}#bossBar .bn small{color:#8fe8d8;font-size:clamp(10px,1.9vh,13px)}#bossBar .bb{background:#02090a;border:2px solid #0a2a2c;border-radius:4px;height:clamp(10px,2.2vh,16px);position:relative;overflow:hidden;box-shadow:0 0 14px #2ee6ff55,inset 0 0 6px #000}#bossBar .bb i{transform-origin:0;position:absolute;inset:0;transform:scaleX(1)}#bossBar #bossFill{background:linear-gradient(90deg,#12d6a0,#2ee6ff 60%,#d8fffb);transition:transform .12s linear}#bossBar #bossGhost{background:#fffa;transition:transform .7s ease-out .25s}#runOver{z-index:30;background:#020002d1;justify-content:center;align-items:center;padding:14px;animation:.5s ease-out both fadeIn;display:flex;position:absolute;inset:0}.ro-card{--c:14px;isolation:isolate;text-align:center;background:linear-gradient(135deg, var(--gold-hi), var(--gold) 45%, var(--gold-lo));width:100%;max-width:460px;clip-path:polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c));flex-direction:column;align-items:center;gap:12px;padding:22px 24px 20px;display:flex;position:relative}.ro-card:before{content:"";z-index:-1;clip-path:polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c));background:radial-gradient(90% 60% at 50% 100%,#5c0f2255,#0000 70%),linear-gradient(#2b1b0d,#0f0907);position:absolute;inset:2px}#runOver{filter:none}.ro-card h2{color:var(--gold-hi);text-shadow:0 0 16px #e0334f88,0 2px #000;margin:0;font-size:clamp(22px,5vh,36px)}.ro-card.win h2{color:#fff1c4;text-shadow:0 0 18px #ffcf6a,0 0 36px #e0334f66,0 2px #000}.ro-card ul{color:#e6d3a8;gap:0;width:100%;margin:0;padding:0;font-size:clamp(12px,2.4vh,16px);list-style:none;display:grid}.ro-card li{border-bottom:1px solid #d9a44133;padding:5px 0}.ro-card li:last-child{border-bottom:0}.ro-card li b{color:var(--gold-hi)}.ro-card .btn-gold{width:100%}#gameWrap.cine #hud,#gameWrap.cine #minimapWrap,#gameWrap.cine #toolbar,#gameWrap.cine #pad,#gameWrap.cine #combat,#gameWrap.cine #chatDock,#gameWrap.cine #bossBar,#gameWrap.cine #toast{opacity:0!important;pointer-events:none!important}#gameWrap.cine-in #hud,#gameWrap.cine-in #minimapWrap,#gameWrap.cine-in #toolbar,#gameWrap.cine-in #pad,#gameWrap.cine-in #combat,#gameWrap.cine-in #chatDock,#gameWrap.cine-in #bossBar{animation:.8s ease-out both cineIn}@keyframes cineIn{0%{opacity:0}to{opacity:1}}#bossTitle{--dur:2.4s;z-index:14;text-align:center;pointer-events:none;opacity:0;flex-direction:column;justify-content:center;align-items:center;gap:1.2vh;display:flex;position:absolute;inset:0}#bossTitle.on{animation:btWrap var(--dur) linear both}#bossTitle small{font:700 clamp(11px, 2.4vh, 20px) var(--f-title);letter-spacing:.55em;color:#ff8a9a;text-shadow:0 0 12px #ff3a5a,0 2px #000;padding-left:.55em}#bossTitle b{font:700 clamp(30px, 11vh, 108px)/1 var(--f-title);letter-spacing:.06em;color:#eafffb;white-space:nowrap;-webkit-text-stroke:2px #04161a;paint-order:stroke fill;text-shadow:0 0 22px #2ee6ff,0 0 60px #38ff9c,0 6px #04161a}#bossTitle i{background:linear-gradient(90deg,#0000,#38ff9c,#fff,#2ee6ff,#0000);width:min(64vw,720px);height:3px;display:block;transform:scaleX(0);box-shadow:0 0 14px #38ff9c}#bossTitle em{font:normal 400 clamp(14px, 4vh, 36px) var(--f-ui);letter-spacing:.12em;color:#bffff0;text-shadow:0 0 14px #2ee6ff,0 2px #000}#bossTitle.on b{animation:btSlam var(--dur) cubic-bezier(.2, .9, .2, 1) both}#bossTitle.on i{animation:btLine var(--dur) cubic-bezier(.2, .9, .2, 1) both}#bossTitle.on small,#bossTitle.on em{animation:btFade var(--dur) ease-out both}@keyframes btWrap{0%{opacity:0}6%{opacity:1}84%{opacity:1}to{opacity:0}}@keyframes btSlam{0%{letter-spacing:.5em;filter:blur(10px);transform:scale(2.6)}10%{letter-spacing:.08em;filter:blur();transform:scale(.94)}14%{transform:scale(1.04)}20%,to{letter-spacing:.06em;transform:scale(1)}}@keyframes btLine{0%,8%{transform:scaleX(0)}24%,to{transform:scaleX(1)}}@keyframes btFade{0%,14%{opacity:0;transform:translateY(8px)}30%,to{opacity:1;transform:none}}html[data-screen=class] .login-box{display:none}html[data-screen=class] #login{background:#07050c}.glass{border-radius:calc(var(--u) * 1.2);box-shadow:0 0 0 1px #00000080 inset, 0 calc(var(--u) * 1) calc(var(--u) * 4) #00000073;-webkit-backdrop-filter:blur(8px)saturate(1.1);backdrop-filter:blur(8px)saturate(1.1);background:linear-gradient(#1b12269e,#09060fb3);border:1px solid #d9a44161}#classSel{--ac:var(--gold-hi);z-index:3;gap:calc(var(--u) * 2);padding:calc(var(--u) * 3) calc(var(--u) * 4) calc(var(--u) * 3);padding-left:max(calc(var(--u) * 4), var(--sal));padding-right:max(calc(var(--u) * 4), var(--sar));padding-top:max(calc(var(--u) * 3), var(--sat));padding-bottom:max(calc(var(--u) * 3), var(--sab));flex-direction:column;animation:.3s fadeIn;display:flex;position:absolute;inset:0}.cls-head{text-align:center;text-shadow:0 2px #000,0 0 12px #000000e6}.cls-head h2{font-size:max(20px, calc(var(--u) * 5.2));color:var(--gold-hi);letter-spacing:.5px;margin:0}.cls-head p{margin:calc(var(--u) * .6) 0 0;font-size:max(12px, calc(var(--u) * 2.4));color:#e4d8ea}.cls-main{gap:calc(var(--u) * 2.4);min-height:0;width:min(100%, calc(var(--u) * 150));flex:1;grid-template-columns:minmax(0,4fr) minmax(0,6fr);margin:0 auto;display:grid}.cls-list{gap:calc(var(--u) * 1);padding:calc(var(--u) * 1.4);scrollbar-width:none;flex-direction:column;display:flex;overflow-y:auto}.cls-list::-webkit-scrollbar{display:none}.cls-row{min-height:max(40px, calc(var(--u) * 10));align-items:center;gap:calc(var(--u) * 1.8);text-align:left;padding:calc(var(--u) * .8) calc(var(--u) * 1.8);border-radius:calc(var(--u) * .9);background:#ffffff0a;border:1px solid #0000;flex:1 0 auto;transition:background .15s,border-color .15s,transform .1s;display:flex}.cls-row:hover{background:#ffffff17}.cls-row:active{transform:scale(.985)}.cls-row .ce{width:max(26px, calc(var(--u) * 6.4));height:max(26px, calc(var(--u) * 6.4));color:var(--ac);filter:drop-shadow(0 0 4px var(--ac));flex:none}.cls-row .ce svg{width:100%;height:100%;display:block}.cls-row .cn{flex-direction:column;min-width:0;line-height:1.25;display:flex}.cls-row .cn b{font-size:max(14px, calc(var(--u) * 3.2));color:#fff;text-shadow:0 1px #000;letter-spacing:.3px}.cls-row .cn small{font-size:max(11px, calc(var(--u) * 2.1));color:#cbbfd4;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cls-row.on{background:linear-gradient(90deg, color-mix(in srgb, var(--ac) 28%, transparent), color-mix(in srgb, var(--ac) 8%, transparent));border-color:var(--ac);box-shadow:0 0 calc(var(--u) * 2) color-mix(in srgb, var(--ac) 45%, transparent)}.cls-row.on .cn b{color:var(--ac)}.cls-detail{gap:calc(var(--u) * 1.6);padding:calc(var(--u) * 2.4);scrollbar-width:none;border-color:color-mix(in srgb, var(--ac) 65%, #000);flex-direction:column;min-height:0;display:flex;overflow-y:auto}.cls-detail::-webkit-scrollbar{display:none}.cls-detail.swap{animation:.22s clsSwap}@keyframes clsSwap{0%{opacity:.3;transform:translateX(calc(var(--u) * 1.2))}}.cd-top{align-items:center;gap:calc(var(--u) * 2);display:flex}.cd-emblem{width:max(48px, calc(var(--u) * 14));height:max(48px, calc(var(--u) * 14));padding:calc(var(--u) * 1.6);color:var(--ac);background:radial-gradient(circle, color-mix(in srgb, var(--ac) 24%, transparent), #00000059);border:1px solid var(--ac);box-shadow:0 0 calc(var(--u) * 3) color-mix(in srgb, var(--ac) 55%, transparent);filter:drop-shadow(0 0 5px var(--ac));border-radius:50%;flex:none}.cd-emblem svg{width:100%;height:100%;display:block}.cd-title h3{font-family:var(--f-title);font-weight:700;font-size:max(22px, calc(var(--u) * 6.2));letter-spacing:.06em;color:var(--ac);text-shadow:0 2px 0 #000, 0 0 14px color-mix(in srgb, var(--ac) 55%, transparent);margin:0}.cd-title p{margin:calc(var(--u) * .4) 0 0;font-size:max(13px, calc(var(--u) * 2.8));color:#fff;text-shadow:0 1px #000}.cd-desc{font-size:max(13px, calc(var(--u) * 2.8));color:#e9dff0;text-shadow:0 1px #000c;margin:0;line-height:1.55}.cd-info{gap:calc(var(--u) * 1);font-size:max(12px, calc(var(--u) * 2.4));margin:0;display:grid}.cd-info>div{align-items:center;gap:calc(var(--u) * 1.4);flex-wrap:wrap;display:flex}.cd-info dt{min-width:5.2em;color:var(--gold);flex:none}.cd-info dd{align-items:center;gap:calc(var(--u) * 1.2);color:#f3ecf6;margin:0;display:flex}.sw{gap:calc(var(--u) * .7);display:inline-flex}.sw i{width:max(14px, calc(var(--u) * 3));height:max(14px, calc(var(--u) * 3));border:1px solid #ffffffb3;border-radius:50%;box-shadow:0 0 5px #000c}.cd-bars{gap:calc(var(--u) * .9);padding:calc(var(--u) * 1.4);border-radius:calc(var(--u) * .9);background:#00000047;display:grid}.cb{align-items:center;gap:calc(var(--u) * 1.2);font-size:max(12px, calc(var(--u) * 2.4));grid-template-columns:5.2em 1fr 3.6em;display:grid}.cb span{color:#e4d8ea}.cb i{height:max(7px, calc(var(--u) * 1.4));background:#ffffff24;border-radius:99px;overflow:hidden}.cb u{border-radius:99px;height:100%;display:block;box-shadow:0 0 6px}.cb em{text-align:right;color:#fff;font-style:normal}#clsGo{width:100%;margin-top:auto}#clsGo span{color:var(--gold-hi);text-shadow:0 1px #000}@media (max-height:460px){#classSel{gap:calc(var(--u) * 1);padding-top:max(calc(var(--u) * 1.6), var(--sat));padding-bottom:max(calc(var(--u) * 1.6), var(--sab))}.cls-head p,.cls-row .cn small{display:none}.cls-row{min-height:0}.cd-desc{font-size:12px}.cd-top{gap:10px}.cd-emblem{width:44px;height:44px;padding:8px}.cls-detail{gap:6px;padding:10px 12px}.cd-info,.cd-bars{gap:3px}#clsGo{padding:8px 16px;font-size:16px}}.job-tag{font:700 10px/1.4 var(--f-title);letter-spacing:1px;text-transform:uppercase;color:var(--job,var(--gold-hi));border:1px solid var(--job,var(--gold-lo));text-shadow:0 1px #000;background:#00000073;border-radius:3px;flex:none;margin:0 0 4px;padding:1px 6px}.cd-note{padding:calc(var(--u) * 1.2) calc(var(--u) * 1.6);border-radius:calc(var(--u) * .9);border-left:3px solid var(--ac);font-size:max(12px, calc(var(--u) * 2.4));color:#f3ecf6;text-shadow:0 1px #000;background:#00000047;margin:0;line-height:1.5}
