.gate{--gate-gold:#e6c77a;--gate-ink:#2a1c08;overscroll-behavior:none;color:#efe6d2;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;touch-action:manipulation;width:100%;height:100dvh;font-family:Montserrat,Segoe UI,Tahoma,sans-serif;position:fixed;inset:0;overflow:hidden}.gate-bg,.gate-veil{position:absolute;inset:0}.gate-bg{background:url(/ui/bg-start.jpg) 50%/cover no-repeat}.gate-stage{transform-origin:50%;z-index:1;width:1600px;height:900px;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.gate-veil{pointer-events:none;background:radial-gradient(58% 48% at 50% 36%,#0605048c 0%,#0605042e 42%,#0000 70%),radial-gradient(#0000 40%,#0403028c 100%),linear-gradient(#06050459 0%,#0000 18% 72%,#0605049e 100%)}.gate-main{z-index:1;position:relative}.gate-tools{z-index:4;flex-direction:column;align-items:flex-start;gap:8px;display:flex;position:absolute;top:28px;left:36px}.gate button.gate-lang{color:#efe6d2;letter-spacing:.12em;background:#0a08069e;border:1px solid #d4b15a52;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:600;display:inline-flex;position:relative;top:auto;left:auto}.gate-lang svg{stroke:currentColor;fill:none;stroke-width:1.6px;width:15px;height:15px}.gate button.gate-full{color:#efe6d2;background:#0a08069e;border:1px solid #d4b15a52;border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:inline-flex}.gate-full svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.gate-caret{border-top:5px solid #c9b48a;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0}.gate-caret.open{transform:rotate(180deg)}.gate-lang-menu{white-space:nowrap;background:#0e0b08f0;border:1px solid #d4b15a47;border-radius:8px;padding:8px 12px;position:absolute;top:calc(100% + 6px);left:0}.gate-races{z-index:2;gap:28px;display:flex;position:absolute;top:22px;right:42px}.gate-race{color:#9a9082;flex-direction:column;align-items:center;gap:7px;min-width:72px;display:flex}.gate-race.on{color:var(--gate-gold);filter:drop-shadow(0 0 10px #e4c57a59)}.gate-race svg{width:54px;height:54px}.gate-race span{letter-spacing:.2em;text-transform:uppercase;font-size:11px;font-weight:600}.gate-main{flex-direction:column;align-items:center;height:100%;min-height:0;padding:64px 48px 18px;display:flex;overflow:hidden}.gate-logo{text-align:center;flex:none;margin-bottom:22px}.gate-crest-img{object-fit:contain;filter:drop-shadow(0 0 12px #d4b15a66);width:72px;height:84px;margin:0 auto 4px;display:block}.gate-logo h1{letter-spacing:.28em;text-transform:uppercase;filter:drop-shadow(0 4px 18px #000c);margin:2px 0 0;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:86px;font-weight:600;line-height:.92}.gate-logo h1 span{background:linear-gradient(#fbf0c4 0%,#e7c56a 46%,#b88932 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.gate-online{letter-spacing:.72em;text-indent:.72em;text-transform:uppercase;color:#d4b56a;margin-top:6px;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:15px;font-weight:600}.gate-tag{letter-spacing:.28em;text-transform:uppercase;color:#d4b15a;margin:14px 0 0;font-size:12px;font-weight:500}.gate-boards{flex:0 auto;justify-content:center;width:420px;min-height:0;display:flex}.gate-auth{width:420px}.gate-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(#100c09e6,#090705eb);border:1px solid #c9a24a61;border-radius:14px;flex-direction:column;padding:26px 24px 20px;display:flex;box-shadow:0 22px 48px #00000080,inset 0 1px #ffe6aa14}.gate-card h2{text-align:center;letter-spacing:.32em;text-transform:uppercase;color:#ead7a6;margin:0;font-family:Montserrat,Segoe UI,sans-serif;font-size:13px;font-weight:600}.gate-gem{background:linear-gradient(#f0d78a,#b8893a);width:9px;height:9px;margin:12px auto 18px;transform:rotate(45deg);box-shadow:0 0 10px #d4b15ab3}.gate-auth .gate-field{color:#8d8374;background:#100c09;border:1px solid #b496503d;border-radius:8px;flex-direction:row;flex:none;align-items:center;gap:10px;width:100%;min-width:0;height:48px;margin-bottom:12px;padding:0 14px;display:flex}.gate-field svg{stroke:currentColor;fill:none;stroke-width:1.7px;flex:0 0 16px;width:16px;height:16px}.gate-field input{-webkit-text-fill-color:#efe6d2;min-width:0;height:46px;box-shadow:none;border:0;flex:1;padding:0;font-size:16px;color:#efe6d2!important;background:0 0!important}@media (hover:hover) and (pointer:fine){.gate-field input{font-size:14px}}.gate-field input::placeholder{color:#8a8070;-webkit-text-fill-color:#8a8070}.gate-field input:-webkit-autofill{caret-color:#efe6d2;transition:background-color 99999s ease-out;-webkit-text-fill-color:#efe6d2!important;box-shadow:inset 0 0 0 1000px #100c09!important}.gate-field input:-webkit-autofill:hover{caret-color:#efe6d2;transition:background-color 99999s ease-out;-webkit-text-fill-color:#efe6d2!important;box-shadow:inset 0 0 0 1000px #100c09!important}.gate-field input:-webkit-autofill:focus{caret-color:#efe6d2;transition:background-color 99999s ease-out;-webkit-text-fill-color:#efe6d2!important;box-shadow:inset 0 0 0 1000px #100c09!important}.gate-field input:focus{outline:none}.gate-auth .gate-field:focus-within{border-color:#e4c57ab3}.gate button.gate-eye{color:#8d8374;background:0 0;border:0;place-items:center;width:28px;height:28px;padding:0;display:grid}.gate-eye svg{width:16px;height:16px}.gate-error,.gate-hint{text-align:center;min-height:0;margin:0 0 10px;font-size:12px}.gate-error{color:#d36b5c}.gate-hint{color:#c4b48c}.gate-actions{flex-direction:column;width:100%;display:flex}.gate button.primary.gate-enter{width:100%;height:48px;color:var(--gate-ink);letter-spacing:.28em;text-transform:uppercase;background:linear-gradient(#f6d889 0%,#e2b24a 48%,#c48e24 100%);border:0;border-radius:8px;justify-content:center;align-items:center;gap:10px;margin-top:2px;font-weight:700;display:flex;box-shadow:0 10px 20px #b8882c47}.gate button.primary.gate-enter:hover:not(:disabled){filter:brightness(1.05)}.gate button.primary.gate-enter.loading,.gate button.primary.gate-enter.loading:disabled{opacity:1;cursor:wait;letter-spacing:.06em;text-transform:none}.gate-enter-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.gate-spinner{border:2px solid #2a1c0838;border-top-color:var(--gate-ink);border-radius:50%;flex:0 0 16px;width:16px;height:16px;animation:.7s linear infinite gate-spin}@keyframes gate-spin{to{transform:rotate(360deg)}}.gate-enter svg{stroke:currentColor;fill:none;stroke-width:2px;width:16px;height:16px}.gate-or{color:#8a8070;letter-spacing:.28em;text-transform:uppercase;align-items:center;gap:12px;margin:14px 0;font-size:11px;display:flex}.gate-or:before,.gate-or:after{content:"";background:#b4965038;flex:1;height:1px}.gate button.gate-ghost{color:#efe6d2;letter-spacing:.2em;text-transform:uppercase;background:#0c0a0833;border:1px solid #d4b15a52;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;height:48px;font-size:12px;font-weight:600;display:flex}.gate-ghost svg{stroke:currentColor;fill:none;stroke-width:1.7px;width:15px;height:15px}.gate button.gate-forgot{color:#c9a24a;letter-spacing:.02em;text-align:center;background:0 0;border:0;width:100%;margin-top:12px;padding:0;font-size:12px;font-weight:500;display:block}.gate-feats{flex:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;width:980px;margin:auto 0 0;padding:36px 0 0;list-style:none;display:grid}.gate-feats li{color:var(--gate-gold);justify-content:center;align-items:center;gap:12px;padding:0 18px;display:flex}.gate-feats li+li{border-left:1px solid #b4965038}.gate-feats svg{flex:0 0 34px;width:34px;height:34px}.gate-feats strong{letter-spacing:.16em;text-transform:uppercase;font-size:12px;display:block}.gate-feats span{color:#a89880;letter-spacing:0;text-transform:none;margin-top:3px;font-size:12px;font-weight:400;display:block}.gate-copy{color:#7a7064;flex:none;margin:12px 0 0;font-size:11px}.gate.is-register .gate-feats,.gate.is-register .gate-copy,.gate.is-phone .gate-races,.gate.is-phone .gate-feats,.gate.is-phone .gate-copy,.gate.is-phone .gate-tag,.gate.is-phone .gate-gem,.gate.is-phone .gate-or{display:none}.gate.is-phone .gate-stage{width:100%;height:100%}.gate.is-phone .gate-tools{top:max(6px, env(safe-area-inset-top,0px));left:auto;right:max(8px, env(safe-area-inset-right,0px));align-items:flex-end}.gate.is-phone button.gate-lang{padding:8px 12px;font-size:12px}.gate.is-phone .gate-lang svg{width:14px;height:14px}.gate.is-phone button.gate-full{width:42px;height:42px}.gate.is-phone .gate-main{padding:6px max(14px, env(safe-area-inset-right,0px)) max(6px, env(safe-area-inset-bottom,0px)) max(14px, env(safe-area-inset-left,0px));justify-content:center;gap:4px}.gate.is-phone .gate-logo{margin-bottom:0}.gate.is-phone .gate-crest-img{width:28px;height:32px;margin-bottom:0}.gate.is-phone .gate-logo h1{letter-spacing:.2em;font-size:26px;line-height:1}.gate.is-phone .gate-online{letter-spacing:.48em;text-indent:.48em;margin-top:2px;font-size:10px}.gate.is-phone .gate-boards{flex:0 auto;width:min(78%,620px);min-height:0}.gate.is-phone .gate-auth{width:100%}.gate.is-phone .gate-card{border-radius:12px;padding:10px 18px 8px}.gate.is-phone .gate-card h2{letter-spacing:.24em;font-size:12px}.gate.is-phone .gate-auth .gate-field{border-radius:8px;gap:8px;height:42px;margin-bottom:8px;padding:0 12px}.gate.is-phone .gate-field svg{flex-basis:16px;width:16px;height:16px}.gate.is-phone .gate-field input{height:40px;font-size:16px}.gate.is-phone .gate button.gate-eye{width:32px;height:32px}.gate.is-phone .gate-eye svg{width:18px;height:18px}.gate.is-phone .gate-error,.gate.is-phone .gate-hint{margin-bottom:8px;font-size:12px}.gate.is-phone .gate-actions{flex-direction:row;align-items:stretch;gap:8px;margin-top:2px}.gate.is-phone .gate button.primary.gate-enter,.gate.is-phone .gate button.gate-ghost{letter-spacing:.08em;border-radius:8px;flex:1;width:auto;height:42px;margin-top:0;font-size:11px}.gate.is-phone .gate-actions:has(.loading){flex-direction:column}.gate.is-phone .gate button.primary.gate-enter.loading{letter-spacing:.04em;flex:none;width:100%;font-size:12px}.gate.is-phone .gate-enter svg,.gate.is-phone .gate-ghost svg{display:none}.gate.is-phone .gate-spinner{display:block}.gate.is-phone .gate button.gate-forgot{margin-top:6px;font-size:12px}.gate.is-phone.is-compact .gate-online,.gate.is-phone.is-compact .gate button.gate-forgot{display:none}.gate.is-phone.is-compact .gate-logo h1{font-size:20px}.gate.is-phone.is-compact .gate-card{padding:8px 14px 6px}.gate.is-phone.is-compact .gate-auth .gate-field,.gate.is-phone.is-compact .gate button.primary.gate-enter,.gate.is-phone.is-compact .gate button.gate-ghost{height:38px}.char-portrait{background:#1a140e;flex:0 0 72px;width:72px;height:72px;overflow:hidden;box-shadow:inset 0 0 0 1px #d4b15a59}.char-portrait svg,.char-portrait img{width:100%;height:100%;display:block}.char-portrait img{object-fit:cover}.lobby{--lg:#e6c77a;--lg2:#c9a24a;--ink:#2a1c08;color:#efe6d2;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#050403;width:100%;height:100dvh;font-family:Montserrat,Segoe UI,Tahoma,sans-serif;position:fixed;inset:0;overflow:hidden}.lobby-stage{transform-origin:50%;width:1774px;height:887px;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.lobby-bg,.lobby-veil{position:absolute;inset:0}.lobby-bg{background:url(/ui/characters_bg.png) 50%/cover no-repeat}.lobby-veil{pointer-events:none;background:radial-gradient(42% 55% at 50% 62%,#0000 0% 46%,#04030247 100%),linear-gradient(#05040347 0%,#0000 16% 78%,#0504036b 100%)}.lobby-hero{z-index:1;pointer-events:none;width:760px;height:640px;position:absolute;top:210px;left:508px}.lobby-hero canvas{background:0 0;width:100%;height:100%;display:block}.lobby-hero.off{opacity:0}.lobby-brand{z-index:3;pointer-events:none;flex-direction:column;align-items:center;width:200px;display:flex;position:absolute;top:14px;left:114px}.lobby-crest{object-fit:contain;filter:drop-shadow(0 0 10px #d4b15a59);width:52px;height:60px}.lobby-word{letter-spacing:.28em;text-indent:.28em;background:linear-gradient(#f7e7b8 0%,#e0c06a 48%,#b88932 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin-top:1px;font-family:Cormorant Garamond,Cinzel,Georgia,serif;font-size:32px;font-weight:700;line-height:1}.lobby-sub{color:#d4b56a;letter-spacing:.62em;text-indent:.2em;align-items:center;gap:10px;margin-top:7px;font-family:Cinzel,Cormorant Garamond,Georgia,serif;font-size:10px;font-weight:600;display:flex}.lobby-sub i{background:linear-gradient(90deg,#0000,#c9a24a,#0000);width:28px;height:1px;display:block}.lobby-tagline{z-index:3;letter-spacing:.14em;text-transform:uppercase;color:#cbb58a;pointer-events:none;text-shadow:0 2px 10px #000c;margin:0;font-size:11px;font-weight:500;line-height:1.55;position:absolute;top:86px;left:358px}.lobby-tools{z-index:4;align-items:center;gap:14px;display:flex;position:absolute;top:80px;right:52px}.lobby-who{color:#d8c9a8;letter-spacing:.02em;font-size:13px}.lobby button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit}.lobby button.lobby-admin{color:var(--lg);letter-spacing:.16em;border:1px solid #d4b15ab3;border-radius:8px;padding:5px 10px 4px;font-size:10px;font-weight:700;line-height:1}.lobby-vbar{background:#c8aa6447;width:1px;height:22px}.lobby button.lobby-exit{color:#ead9b0;align-items:center;gap:8px;font-size:14px;font-weight:500;display:inline-flex}.lobby-exit svg{stroke:currentColor;fill:none;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.lobby-panel{z-index:3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#0c0907c7,#080604db);border:1px solid #c4a05861;border-radius:16px;position:absolute;box-shadow:0 22px 48px #0000006b,inset 0 1px #ffe6aa0f}.lobby-panel.left{width:438px;height:492px;padding:20px 16px 14px;top:204px;left:72px}.lobby-panel.right{width:396px;height:492px;padding:24px 26px 16px;top:204px;right:90px}.lobby-head{justify-content:space-between;align-items:flex-start;padding:0 8px 12px;display:flex}.lobby-head h2,.lobby-name h2{letter-spacing:.18em;text-transform:uppercase;color:#ead7a6;margin:0;font-family:Cormorant Garamond,Cinzel,Georgia,serif;font-weight:600}.lobby-head h2{font-size:18px}.lobby-head h2:after{content:"";background:#c9a24a;width:22px;height:1px;margin-top:8px;display:block}.lobby-head span{color:#b8a078;letter-spacing:.08em;padding-top:4px;font-size:12px}.lobby button.lobby-to-list{letter-spacing:.12em;text-transform:uppercase;color:#c9a24a;font-size:11px}.lobby-cards{flex-direction:column;gap:10px;max-height:406px;padding-right:2px;display:flex;overflow-y:auto}.lobby-cards::-webkit-scrollbar{width:6px}.lobby-cards::-webkit-scrollbar-thumb{background:#c9a24a59;border-radius:6px}.lobby button.lobby-card{text-align:left;background:0 0;border:1px solid #0000;border-radius:14px;align-items:center;width:100%;min-height:100px;padding:10px 12px;display:flex}.lobby-card .char-portrait{border-radius:12px}.lobby button.lobby-card.on{background:linear-gradient(90deg,#443216c7 0%,#241a0e6b 46%,#0e0a071f 100%);border-color:#e0c37a;box-shadow:0 0 0 1px #ecce7a59,0 0 22px #d4b15a61,inset 0 0 32px #d4b15a1a}.lobby button.lobby-card.on .lobby-card-meta strong{color:#f7e4b0;text-shadow:0 0 12px #e8c46e73}.lobby button.lobby-card.on .char-portrait{box-shadow:inset 0 0 0 1px #ecce7abf,0 0 12px #d4b15a66}.lobby button.lobby-card.on .lobby-card-mark{opacity:.72;filter:drop-shadow(0 0 8px #d4b15a73)}@media (hover:hover) and (pointer:fine){.lobby button.lobby-card:not(.on):hover{background:#140e0847}}.lobby button.lobby-card.banned{opacity:.62}.lobby-card-meta{flex-direction:column;flex:1;gap:3px;min-width:0;margin-left:12px;display:flex}.lobby-card-meta strong{color:#e4c888;letter-spacing:.01em;font-size:16px;font-weight:600}.lobby-card-meta span,.lobby-card-meta em{color:#9d8d72;font-size:12px;font-style:normal}.lobby-card-meta em{color:#b7a07a}.lobby-card-mark{object-fit:contain;opacity:.42;width:44px;height:52px;margin-left:6px}.lobby button.lobby-new{text-align:center;color:#d4b56a;letter-spacing:.04em;background:0 0;border:1px solid #c4a05857;border-radius:14px;justify-content:center;align-items:center;gap:14px;width:100%;min-height:92px;padding:12px 14px;font-size:14px;display:flex}.lobby button.lobby-new:disabled{opacity:.4}.lobby-plus{color:#e6c77a;font-size:34px;font-weight:200;line-height:1}.lobby-form{flex-direction:column;gap:14px;padding:0 6px;display:flex}.lobby-field{flex-direction:column;gap:8px;display:flex}.lobby-field>span{letter-spacing:.16em;text-transform:uppercase;color:#b8a078;font-size:11px}.lobby-field input,.lobby-rename-input{color:#efe6d2;background:#100c09;border:1px solid #b4965047;border-radius:10px;height:42px;padding:0 12px;font-family:inherit;font-size:14px}.lobby-chips{gap:8px;display:flex}.lobby button.lobby-chip{color:#cfc0a0;letter-spacing:.08em;text-transform:uppercase;border:1px solid #c4a05847;border-radius:10px;flex:1;height:38px;font-size:12px}.lobby button.lobby-chip.on{color:#f3e2b0;background:#3024108c;border-color:#e6c77acc}.lobby-name{justify-content:space-between;align-items:center;min-height:42px;display:flex}.lobby-name h2{letter-spacing:.02em;text-transform:none;color:#f0d9a0;font-size:32px;font-weight:600}.lobby-rename-input{flex:1;margin-right:10px;font-family:Cormorant Garamond,Georgia,serif;font-size:28px}.lobby button.lobby-pen{color:#c9a24a;place-items:center;width:32px;height:32px;display:grid}.lobby-pen svg,.lobby-foot svg{stroke:currentColor;fill:none;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.lobby-rule{background:linear-gradient(90deg,#c9a24a8c,#c9a24a14 70%,#0000);height:1px;margin:10px 0 18px}.lobby-stats{gap:13px;width:210px;margin:0;padding:0;list-style:none;display:grid}.lobby-stats li{grid-template-columns:78px 1fr;align-items:center;gap:10px;padding-left:14px;font-size:13px;display:grid;position:relative}.lobby-stats li:before{content:"";background:#c9a24a;width:2px;height:11px;position:absolute;top:4px;left:0;box-shadow:0 0 6px #c9a24a80}.lobby-stats span{color:#8f8168}.lobby-stats b{color:#efe6d2;font-weight:600}.lobby-stats i{color:#6fbf6a;font-style:normal;font-weight:600}.lobby-stat-mark{object-fit:contain;opacity:.55;pointer-events:none;filter:drop-shadow(0 0 12px #d4b15a33);width:72px;height:84px;position:absolute;top:118px;right:36px}.lobby button.lobby-play{width:100%;height:60px;color:var(--ink);letter-spacing:.04em;text-transform:none;background:linear-gradient(#f6d889 0%,#e2b24a 48%,#c48e24 100%);border:0;border-radius:14px;justify-content:center;align-items:center;gap:10px;margin-top:20px;font-size:15px;font-weight:700;display:flex;box-shadow:0 10px 22px #b8882c47,inset 0 1px #fff4d273}.lobby button.lobby-play:hover:not(:disabled){filter:brightness(1.05)}.lobby button.lobby-submit{letter-spacing:.18em;text-transform:uppercase;margin-top:8px;font-size:13px}.lobby-play svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;width:18px;height:18px}.lobby-foot{justify-content:space-between;margin-top:16px;padding:0 4px;display:flex}.lobby-foot button{color:#cfc0a0;background:0 0;border:0;align-items:center;gap:8px;font-size:13px;display:inline-flex}.lobby-foot button.danger{color:#e07060}.lobby-err{color:#d36b5c;min-height:0;margin:10px 8px 0;font-size:12px}.lobby button.lobby-back{z-index:3;color:#e6d3a4;background:#08060459;border:1px solid #c4a05873;border-radius:10px;align-items:center;gap:8px;height:36px;padding:0 16px;font-size:13px;display:inline-flex;position:absolute;bottom:62px;left:118px}.lobby-back svg{stroke:currentColor;fill:none;stroke-width:1.7px;stroke-linecap:round;width:16px;height:16px}.lobby-quote{z-index:3;color:#e6d7b4;text-shadow:0 2px 10px #000000d9;pointer-events:none;margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:16px;font-style:italic;position:absolute;bottom:54px;right:90px}.lobby-quote i{background:linear-gradient(90deg,#0000,#c9a24abf);width:248px;height:1px;margin:10px 0 0 auto;display:block;position:relative}.lobby-quote i:after{content:"";background:#c9a24a;width:5px;height:5px;position:absolute;top:-2px;right:-3px;transform:rotate(45deg)}.lobby-modal{z-index:8;background:#0403028c;place-items:center;display:grid;position:absolute;inset:0}.lobby-dialog{background:linear-gradient(#120e0af5,#0a0806f5);border:1px solid #c4a05866;border-radius:16px;width:360px;padding:22px 24px 18px}.lobby-dialog p{margin:0 0 16px;font-size:14px}.lobby-dialog-row{justify-content:flex-end;gap:10px;display:flex}.lobby-dialog-row button{color:#ead7a6;border:1px solid #c4a05859;border-radius:10px;padding:8px 14px}.lobby-dialog-row button.danger{color:#c45c4a;border-color:#7a3a30}.zeron-shop-overlay{place-items:center}.inv-window.zeron-shop{color:#efe6d2;background:radial-gradient(70% 40% at 18% 0,#5c441c38,#0000 55%),linear-gradient(#14100c 0%,#0b0907 100%);border:1px solid #c9a45a;border-radius:3px;flex-direction:column;width:min(1180px,100vw - 28px);height:min(760px,100vh - 28px);max-height:min(760px,100vh - 28px);padding:18px 20px 16px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #2c2214,inset 0 0 0 2px #c9a45a61,0 0 0 1px #16110c,0 28px 70px #000000b8}.zeron-shop .zs-ornament{fill:none;stroke:#d7b56a;stroke-width:1.35px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;filter:drop-shadow(0 0 4px #d4b15a59);z-index:2;width:56px;height:56px;position:absolute}.zeron-shop .zs-ornament.tl{top:2px;left:2px}.zeron-shop .zs-ornament.tr{top:2px;right:2px}.zeron-shop .zs-ornament.bl{bottom:2px;left:2px}.zeron-shop .zs-ornament.br{bottom:2px;right:2px}.zeron-shop .zs-head{flex:none;align-items:center;gap:14px;min-height:72px;margin:0;padding:0 48px 10px 8px;display:flex}.zeron-shop .zs-crest{object-fit:contain;filter:drop-shadow(0 0 10px #d4b15a59);flex:0 0 72px;width:72px;height:72px}.zeron-shop .zs-titles{flex:1;min-width:0}.zeron-shop .zs-titles h3{letter-spacing:.04em;color:#f3e6c4;text-overflow:ellipsis;white-space:nowrap;margin:0;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:34px;font-weight:600;line-height:1;overflow:hidden}.zeron-shop .zs-titles p{color:#b9a57a;margin:6px 0 0;font-family:Cormorant Garamond,Georgia,serif;font-size:14px;font-style:italic}.zeron-shop .zs-gold{background:linear-gradient(#1c160ef2,#0c0a08f2);border:1px solid #c9a45a8c;border-radius:4px;flex:none;align-items:center;gap:10px;min-width:168px;height:44px;padding:0 16px 0 10px;display:flex;box-shadow:inset 0 0 0 1px #00000059}.zeron-shop .zs-gold img{object-fit:contain;width:28px;height:28px}.zeron-shop .zs-gold span{letter-spacing:.04em;color:#ead7a6;white-space:nowrap;font-family:Montserrat,Segoe UI,sans-serif;font-size:14px;font-weight:600}.zeron-shop button.zs-close{background:0 0;border:0;width:44px;height:44px;min-height:0;padding:0;position:absolute;top:18px;right:18px}.zeron-shop button.zs-back{color:#e6c77a;background:0 0;border:0;flex:0 0 36px;width:36px;min-width:0;height:36px;min-height:0;margin:0;padding:0}.zeron-shop .zs-back svg{stroke:currentColor;fill:none;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.zeron-shop .zs-close img{object-fit:contain;width:100%;height:100%;display:block}.zeron-shop .zs-lock{color:#d36b5c;flex:none;margin:0 8px 8px;font-size:13px}.zeron-shop .zs-body{flex:1;grid-template-columns:214px 1fr;gap:16px;min-height:0;padding:4px 8px 4px 6px;display:grid}.zeron-shop .zs-side{flex-direction:column;gap:14px;min-width:0;min-height:0;display:flex}.zeron-shop .zs-block h4{letter-spacing:.16em;text-transform:uppercase;color:#cbb58a;margin:0 0 8px 6px;font-family:Montserrat,Segoe UI,sans-serif;font-size:12px;font-weight:600}.zeron-shop .zs-block button,.zeron-shop .zs-cats button{color:#c4b496;letter-spacing:.02em;text-align:left;background:#0a08068c;border:1px solid #c9a45a2e;border-radius:4px;align-items:center;gap:10px;width:100%;height:36px;min-height:0;margin:0 0 4px;padding:0 12px;font-family:Montserrat,Segoe UI,sans-serif;font-size:13px;font-weight:500;display:flex}.zeron-shop .zs-block button.on,.zeron-shop .zs-cats button.on{color:#f3e2b0;background:linear-gradient(#483616b3,#1c140ad9);border-color:#d4b15a;box-shadow:0 0 12px #d4b15a2e,inset 0 0 10px #d4b15a14}.zeron-shop .zs-glyph{flex:0 0 16px;width:16px;height:16px}.zeron-shop .zs-promo{text-align:center;background:#0806048c;border:1px solid #c9a45a47;border-radius:4px;margin-top:auto;padding:8px 8px 10px}.zeron-shop .zs-promo img{object-fit:cover;object-position:center 40%;width:100%;height:118px;margin-bottom:8px;display:block}.zeron-shop .zs-promo strong{color:#ead7a6;font-family:Cormorant Garamond,Georgia,serif;font-size:15px;font-weight:600;display:block}.zeron-shop .zs-promo span{color:#9a8c74;margin-top:4px;font-size:11px;line-height:1.35;display:block}.zeron-shop .zs-main{flex-direction:column;gap:12px;min-width:0;min-height:0;display:flex}.zeron-shop .zs-cats{flex:none;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.zeron-shop .zs-cats button{letter-spacing:.01em;justify-content:center;height:40px;margin:0;padding:0 8px}.zeron-shop .zs-grid-wrap{flex:1;min-height:0;padding-right:4px;overflow:auto}.zeron-shop .zs-grid-wrap::-webkit-scrollbar{width:8px}.zeron-shop .zs-grid-wrap::-webkit-scrollbar-thumb{background:linear-gradient(#d4b15a,#8a6a28);border-radius:8px}.zeron-shop .zs-grid-wrap::-webkit-scrollbar-track{background:#00000040}.zeron-shop .zs-empty{text-align:center;color:#9a8c74;margin:40px 0 0}.zeron-shop .zs-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.zeron-shop .zs-card{background:linear-gradient(#120e0aeb,#0a0806eb);border:1px solid #c9a45a38;border-radius:4px;flex-direction:column;align-items:center;min-width:0;padding:10px 8px;display:flex}.zeron-shop .zs-card.locked{opacity:.72}.zeron-shop .zs-art{place-items:center;width:100%;height:132px;display:grid;overflow:hidden}.zeron-shop .zs-art img{object-fit:contain;filter:drop-shadow(0 8px 12px #00000073);width:100%;height:100%}.zeron-shop .zs-name{-webkit-line-clamp:2;text-align:center;color:#e8dcc0;-webkit-box-orient:vertical;min-height:2.5em;margin:4px 0 6px;font-family:Montserrat,Segoe UI,sans-serif;font-size:12px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.zeron-shop .zs-price{color:#ead7a6;font-variant-numeric:tabular-nums;align-items:center;gap:6px;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.zeron-shop .zs-price img{object-fit:contain;width:16px;height:16px}.zeron-shop button.zs-buy{color:#e6d09a;letter-spacing:.08em;background:linear-gradient(#1c160ef2,#0c0a08fa);border:1px solid #c9a45a;border-radius:3px;width:100%;height:32px;min-height:0;margin:0;padding:0;font-family:Montserrat,Segoe UI,sans-serif;font-size:12px;font-weight:600}.zeron-shop button.zs-buy:hover:not(:disabled){filter:brightness(1.12);box-shadow:0 0 10px #d4b15a33}.zeron-shop button.zs-buy:disabled{opacity:.45}.zs-tip .tip-warn{color:#d36b5c;margin:6px 0 0;font-size:12px}.zeron-shop .zs-pager{flex:none;justify-content:center;align-items:center;gap:10px;min-height:28px;display:flex}.zeron-shop button.zs-page-btn{color:#d4b15a;background:0 0;border:0;width:28px;min-width:0;height:28px;min-height:0;margin:0;padding:0}.zeron-shop .zs-page-btn:disabled{opacity:.28}.zeron-shop .zs-page-btn svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.zeron-shop button.zs-dot{background:#5a4c38;border:0;border-radius:50%;width:8px;min-width:8px;height:8px;min-height:8px;margin:0;padding:0}.zeron-shop button.zs-dot.on{background:#e6c77a;box-shadow:0 0 6px #e6c77a73}.zeron-shop-overlay.is-phone{place-items:stretch stretch;padding:0}.inv-window.zeron-shop.is-phone{width:100%;height:100%;min-height:0;max-height:none;padding:max(6px, env(safe-area-inset-top,0px)) max(10px, env(safe-area-inset-right,0px)) max(6px, env(safe-area-inset-bottom,0px)) max(10px, env(safe-area-inset-left,0px));border-radius:0}.zeron-shop.is-phone .zs-head{gap:8px;min-height:48px;padding:0 44px 4px 0}.zeron-shop.is-phone .zs-crest{flex-basis:48px;width:48px;height:48px}.zeron-shop.is-phone .zs-titles h3{letter-spacing:.03em;font-size:22px}.zeron-shop.is-phone .zs-titles p{margin-top:2px;font-size:11px}.zeron-shop.is-phone .zs-gold{gap:6px;min-width:0;height:34px;padding:0 10px 0 6px}.zeron-shop.is-phone .zs-gold img{width:22px;height:22px}.zeron-shop.is-phone .zs-gold span{font-size:13px}.zeron-shop.is-phone button.zs-close{top:max(8px, env(safe-area-inset-top,0px));right:max(8px, env(safe-area-inset-right,0px));width:36px;height:36px}.zeron-shop.is-phone .zs-body{grid-template-columns:168px minmax(0,1fr);gap:10px;padding:0 4px 0 2px}.zeron-shop.is-phone .zs-side{gap:8px}.zeron-shop.is-phone .zs-side-cats button{height:32px;margin-bottom:3px;font-size:12px}.zeron-shop.is-phone .zs-promo{padding:4px 6px 8px}.zeron-shop.is-phone .zs-promo img{height:72px;margin-bottom:4px}.zeron-shop.is-phone .zs-promo strong{font-size:13px}.zeron-shop.is-phone .zs-promo span{font-size:10px}.zeron-shop.is-phone .zs-main{gap:8px}.zeron-shop.is-phone .zs-cats{flex-wrap:nowrap;gap:8px;display:flex;overflow-x:auto}.zeron-shop.is-phone .zs-cats button{border-radius:999px;flex:none;width:auto;height:34px;padding:0 14px;font-size:12px}.zeron-shop.is-phone .zs-grid{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;height:100%}.zeron-shop.is-phone .zs-grid-wrap{touch-action:none;overflow:hidden}.zeron-shop.is-phone .zs-card{height:100%;min-height:0;padding:6px 6px 8px}.zeron-shop.is-phone .zs-art{flex:1;height:auto;min-height:36px}.zeron-shop.is-phone .zs-name{-webkit-line-clamp:1;min-height:1.2em;margin:2px 0 4px;font-size:11px}.zeron-shop.is-phone .zs-price{margin-bottom:4px;font-size:12px}.zeron-shop.is-phone .zs-price img{width:14px;height:14px}.zeron-shop.is-phone button.zs-buy{letter-spacing:.04em;color:#2a1c08;background:linear-gradient(#f0d78a 0%,#c49a3a 100%);border-color:#e0c06a;height:26px;font-size:11px}.zeron-shop.is-phone .zs-ornament{width:40px;height:40px}@media (height<=380px){.zeron-shop.is-phone .zs-titles p,.zeron-shop.is-phone .zs-promo span{display:none}.zeron-shop.is-phone .zs-promo img{height:52px}.zeron-shop.is-phone .zs-art{min-height:32px}.zeron-shop.is-phone .zs-head{min-height:42px}}@media (width<=980px){.inv-window.zeron-shop:not(.is-phone){width:min(100%,100vw - 16px);padding:12px 10px 10px}.zeron-shop:not(.is-phone) .zs-body{grid-template-columns:176px 1fr;gap:10px}.zeron-shop:not(.is-phone) .zs-titles h3{font-size:26px}.zeron-shop:not(.is-phone) .zs-crest{flex-basis:56px;width:56px;height:56px}}:root{--bg:#120e0a;--panel:#1d1712;--panel-2:#2a221b;--line:#6b5428;--gold:#d4b15a;--gold-dim:#9a7a32;--text:#efe6d2;--muted:#a89880;--danger:#c45c4a;--ok:#7d9a5c}*{box-sizing:border-box}html,body,#app{background:var(--bg);height:100%;min-height:100%;color:var(--text);margin:0;font-family:Segoe UI,Tahoma,sans-serif}.app-shell{min-height:100dvh}html.gate-lock,html.gate-lock body,html.gate-lock #app,html.gate-lock .app-shell{overscroll-behavior:none;width:100%;height:100%;overflow:hidden}html.gate-lock body{touch-action:manipulation;position:fixed;inset:0}html.need-landscape,html.need-landscape body{touch-action:none;overflow:hidden}.orient-lock,.ban-lock{z-index:12000;color:var(--text);text-align:center;background:#080604f5;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.orient-card{max-width:360px}.orient-card p{color:var(--gold);letter-spacing:.04em;margin:18px 0 0;font-family:Georgia,Times New Roman,serif;font-size:18px;line-height:1.35}.ban-tablet{border:1px solid var(--line);background:#1a1510;width:min(440px,100%);padding:28px 24px 22px;box-shadow:0 0 0 1px #3a2c18,0 18px 40px #00000073}.ban-tablet h2{color:var(--gold);letter-spacing:.03em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:22px}.ban-tablet p{color:var(--text);margin:16px 0 22px;font-size:16px;line-height:1.4}.orient-phone{border:3px solid var(--gold);border-radius:10px;width:54px;height:92px;margin:0 auto;animation:1.4s ease-in-out infinite orient-tip;position:relative}.orient-phone:after{content:"";border:2px solid var(--gold);border-radius:50%;width:12px;height:12px;margin-left:-6px;position:absolute;bottom:8px;left:50%}@keyframes orient-tip{0%,20%{transform:rotate(0)}45%,to{transform:rotate(90deg)}}button,input,select,textarea{font:inherit}h1,h2,.brand{color:var(--gold);letter-spacing:.08em;font-family:Georgia,Times New Roman,serif;font-weight:400}.screen{background:radial-gradient(1200px 500px at 50% -10%, #3a2a14 0%, transparent 55%), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.boot-screen{background-color:#0a0806;background-position:50%;background-repeat:no-repeat;background-size:cover;min-height:100vh;position:relative;overflow:hidden}.boot-veil{background:linear-gradient(#08060433 0%,#08060426 42%,#080604e6 100%);position:absolute;inset:0}.boot-brand{z-index:1;text-align:center;letter-spacing:.16em;color:var(--gold);text-shadow:0 2px 24px #000000d9;margin-top:8vh;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,5vw,52px);position:relative}.boot-dock{z-index:1;text-align:center;width:min(560px,86vw);position:absolute;bottom:10vh;left:50%;transform:translate(-50%)}.boot-status{color:var(--text);text-shadow:0 1px 8px #000;margin:0 0 10px}.boot-bar{border:1px solid var(--gold);background:#120e0ae0;height:16px;overflow:hidden}.boot-bar>span{background:linear-gradient(#e4c87a,#9a7a32);width:0;height:100%;transition:width .18s;display:block}.boot-bytes{color:var(--muted);margin:8px 0 0;font-size:12px}.boot-actions{justify-content:center;gap:10px;margin-top:14px;display:flex}.panel{background:var(--panel);border:1px solid var(--line);width:min(920px,100%);padding:28px}.row{flex-wrap:wrap;gap:12px;display:flex}label{color:var(--muted);flex-direction:column;flex:1;gap:6px;min-width:180px;font-size:13px;display:flex}input,select,textarea{background:var(--panel-2);border:1px solid var(--line);color:var(--text);outline:none;padding:10px 12px}input:focus,select:focus,textarea:focus{border-color:var(--gold)}button{background:var(--panel-2);color:var(--gold);border:1px solid var(--gold-dim);cursor:pointer;padding:10px 16px}button.primary{background:#3a2d16}button:disabled{opacity:.5;cursor:default}button.danger{color:var(--danger);border-color:#7a3a30}.muted{color:var(--muted);font-size:13px}.error{color:var(--danger);min-height:1.2em}.badge{border:1px solid var(--line);color:var(--gold);padding:2px 8px;font-size:12px;display:inline-block}.badge.closed{color:var(--danger)}.badge.down{color:var(--muted)}.char-grid{grid-template-columns:280px 1fr;gap:20px;display:grid}.char-list{flex-direction:column;gap:8px;display:flex}.char-card{border:1px solid var(--line);cursor:pointer;background:var(--panel-2);border-radius:14px;padding:10px 12px}.char-card.active{border-color:var(--gold)}canvas.preview{border:1px solid var(--line);background:#0b0907;width:100%;height:360px;display:block}.game-root{overscroll-behavior:none;-webkit-user-select:none;user-select:none;background:#000;width:100vw;height:100vh;position:relative;overflow:hidden}.game-root input,.game-root textarea{-webkit-user-select:text;user-select:text}.game-canvas{z-index:0;touch-action:none;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}.hud-vitals{top:max(14px, env(safe-area-inset-top));left:max(14px, env(safe-area-inset-left));z-index:5;pointer-events:none;align-items:flex-end;gap:8px;display:flex;position:absolute}.hud-status{pointer-events:none;background:linear-gradient(#18120cf0,#080604e6);border:1px solid #e0ba609e;border-radius:44px 22px 22px 44px;align-items:center;gap:10px;min-width:292px;padding:7px 16px 7px 7px;display:flex;position:relative;box-shadow:inset 0 0 0 1px #2a1c10eb,0 10px 26px #00000080,0 0 22px #d4b15a38}.hud-auras{pointer-events:auto;gap:4px;padding-bottom:6px;display:flex}.aura-icon{border:1px solid var(--gold-dim);width:36px;height:36px;color:var(--gold);cursor:default;background:#0e0a07eb;border-radius:8px;padding:2px;box-shadow:inset 0 0 0 1px #2a1c10,0 0 10px #b4965040}.aura-icon .skill-art,.aura-icon img{object-fit:contain;width:100%;height:100%;display:block}.hud-center{top:max(10px, env(safe-area-inset-top));z-index:5;pointer-events:none;flex-direction:column;align-items:center;gap:6px;max-width:min(420px,100vw - 280px);display:flex;position:absolute;left:50%;transform:translate(-50%)}.hud-compass{color:#e8d296b8;letter-spacing:.22em;text-shadow:0 1px 6px #000,0 0 10px #d4b15a40;align-items:center;gap:8px;width:min(280px,46vw);font-family:Georgia,Times New Roman,serif;font-size:11px;display:flex}.compass-track{flex:1;height:22px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.compass-track:before{content:"";background:linear-gradient(90deg,#0000,#d4b15acc,#0000);height:1px;position:absolute;top:50%;left:0;right:0;box-shadow:0 0 8px #d4b15a73}.compass-notch{filter:drop-shadow(0 0 4px #e8c56acc);z-index:2;border-top:5px solid #e8c56a;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0;position:absolute;top:2px;left:50%;transform:translate(-50%)}.compass-mark{letter-spacing:.18em;color:#e8d296c7;pointer-events:none;white-space:nowrap;font-size:11px;position:absolute;top:4px;transform:translate(-50%)}.compass-mark.north{color:var(--gold);text-shadow:0 0 10px #e8be5a8c;font-size:13px;font-weight:700}.hud-compass em{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);opacity:.85;filter:drop-shadow(0 0 4px #d4b15ab3);background:radial-gradient(circle at 40% 35%,#f2de9a,#b88932 62%,#0000 70%);flex:0 0 10px;width:10px;height:10px;font-style:normal;display:block}.zone-banner{pointer-events:none;color:var(--gold);letter-spacing:.04em;text-shadow:0 1px 8px #000,0 0 14px #000000d9;white-space:nowrap;text-align:center;align-items:center;gap:10px;font-family:Georgia,Times New Roman,serif;font-size:14px;display:flex;position:static;transform:none}.zone-banner i{background:linear-gradient(90deg,#0000,#d4b15ab3,#0000);width:18px;height:1px;display:block;box-shadow:0 0 6px #d4b15a66}.hud-phase{color:var(--muted);text-shadow:0 1px 6px #000;font-size:11px}.status-portrait{flex:0 0 76px;width:76px;height:76px;position:relative}.status-portrait .char-portrait{border-radius:50%;flex:none;width:64px;height:64px;margin:6px;overflow:hidden;box-shadow:inset 0 0 0 1px #0000008c}.status-ring{pointer-events:none;border:2px solid #e8c56a;border-radius:50%;position:absolute;inset:0;box-shadow:0 0 0 3px #14100b,0 0 0 5px #c49a468c,0 0 18px #e8be5ab3,inset 0 0 12px #ffdc8c38}.status-ring:before{content:"";background:repeating-conic-gradient(from 8deg,#e8c56af2 0deg 7deg,#0000 7deg 45deg);border-radius:50%;position:absolute;inset:-3px;-webkit-mask:radial-gradient(circle,#0000 62%,#000 64% 72%,#0000 74%);mask:radial-gradient(circle,#0000 62%,#000 64% 72%,#0000 74%)}.status-ring:after{content:"";border:1px solid #ffe6aa52;border-radius:50%;position:absolute;inset:6px;box-shadow:inset 0 0 10px #00000059}.status-rating{min-width:30px;height:22px;color:var(--gold);text-align:center;background:#0a0806f5;border:1px solid #e0c06a;border-radius:11px;padding:0 7px;font-size:11px;font-weight:700;line-height:20px;position:absolute;bottom:0;left:-4px;box-shadow:0 0 10px #d4b15a73}.status-body{flex:1;min-width:0;padding-right:4px}.status-name{color:var(--gold);letter-spacing:.03em;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 4px #000,0 0 10px #d4b15a40;align-items:center;gap:6px;margin-bottom:6px;font-family:Georgia,Times New Roman,serif;font-size:16px;display:flex;overflow:hidden}.status-crest{color:#e8c56a;filter:drop-shadow(0 0 4px #d4b15ab3);flex:0 0 14px;width:14px;height:14px}.status-crest svg{fill:currentColor;width:100%;height:100%;display:block}.status-bar{background:#1a120c;border:1px solid #6b5428;border-radius:8px;height:14px;margin-bottom:5px;position:relative;overflow:hidden;box-shadow:inset 0 1px 3px #0000008c}.status-bar .status-fill{height:100%;display:block}.status-bar.hp .status-fill{background:linear-gradient(#e87858,#c44a32 52%,#8a281c);box-shadow:0 0 10px #c4463280}.status-bar.mp .status-fill{background:linear-gradient(#62b0ee,#2f74c4 52%,#1c4a88);box-shadow:0 0 10px #4682c873}.status-bar:after{content:"";pointer-events:none;background:linear-gradient(#ffffff38,#0000);height:46%;position:absolute;top:0;left:0;right:0}.status-bar em{letter-spacing:.02em;color:#fff6e8;text-shadow:0 1px 2px #000;pointer-events:none;z-index:1;justify-content:center;align-items:center;font-size:10px;font-style:normal;font-weight:600;display:flex;position:absolute;inset:0}.hud-menu-dim{z-index:59;background:0 0;position:fixed;inset:0}.hud-menu{top:max(10px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));z-index:60;pointer-events:none;position:absolute}.hud-menu-rail{pointer-events:none;justify-content:flex-end;align-items:center;gap:0;display:flex}.hud-menu-plate{opacity:0;pointer-events:none;background:linear-gradient(#120d09eb,#080604e6);border:1px solid #0000;border-radius:18px;align-items:flex-end;gap:2px;max-width:0;padding:0;transition:max-width .28s,opacity .22s,padding .28s,transform .28s,border-color .22s;display:flex;overflow:hidden;transform:translate(14px)}.hud-menu-plate.open{opacity:1;pointer-events:auto;border-color:#d4b15a7a;max-width:min(720px,100vw - 92px);margin-right:8px;padding:6px 10px 7px;transform:none;box-shadow:0 0 18px #d4b15a2e,0 8px 18px #0000006b}.hud-menu-item{width:auto;min-width:54px;height:auto;min-height:0;color:var(--gold);box-shadow:none;background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:flex-start;align-items:center;gap:3px;padding:4px 6px 3px;display:flex}.hud-menu-item:hover{color:#f4e2a8;background:#d4b15a14}.hud-menu-item svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px #d4b15a59);flex:0 0 20px;width:20px;height:20px}.hud-menu-caption{letter-spacing:.03em;color:#e8d4a0;text-shadow:0 1px 3px #000;white-space:nowrap;max-width:100%;font-size:9px;font-weight:600;line-height:1.15;display:block}.hud-menu-item:hover .hud-menu-caption,.hud-menu-item.active .hud-menu-caption{color:#f4e2a8}.hud-menu-item.active{color:#f4e2a8;box-shadow:none;border:0}.hud-menu-item.locked,.hud-menu-item:disabled{opacity:.35;cursor:default}.hud-menu-item:disabled:hover{color:var(--gold);background:0 0}.hud-menu-toggle{pointer-events:auto;background:radial-gradient(circle at 35% 28%,#4a341c,#100c08 68%);border:2px solid #e8c56a;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:54px;min-width:54px;height:54px;min-height:54px;padding:0;display:flex;box-shadow:0 0 0 3px #120e0a,0 0 0 5px #b88c3c73,0 0 20px #e8be5aa6}.hud-menu-toggle span{background:#e8c56a;border-radius:2px;width:18px;height:2px;transition:transform .2s,opacity .2s;display:block;box-shadow:0 0 6px #e8c56abf}.hud-menu-toggle.open span:first-child{transform:translateY(7px)rotate(40deg)}.hud-menu-toggle.open span:nth-child(2){opacity:0}.hud-menu-toggle.open span:nth-child(3){transform:translateY(-7px)rotate(-40deg)}.hud-party{left:max(14px, env(safe-area-inset-left));z-index:4;pointer-events:auto;flex-direction:column;gap:6px;width:220px;display:flex;position:absolute;top:128px}.party-slot{cursor:pointer;background:#0e0a08d6;border:1px solid #d4b15a52;border-radius:8px;padding:6px 8px;box-shadow:0 4px 12px #00000047}.party-slot.you{border-color:var(--gold)}.party-slot.selected{box-shadow:inset 0 0 0 1px var(--gold)}.party-slot.dead{opacity:.5}.party-name{white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:12px;overflow:hidden}.bar{background:#1a120c;border:1px solid #6b5428;border-radius:4px;height:8px;overflow:hidden}.bar span{background:#7d9a5c;height:100%;display:block}.bar.hp span{background:linear-gradient(#c45c4a,#8a3024)}.bar.mp span{background:linear-gradient(#4a7cbf,#2a4e88)}.hud-target{z-index:4;cursor:default;pointer-events:auto;background:#0a0806c7;border:1px solid #d4b15a7a;border-radius:8px;width:min(280px,70vw);padding:5px 16px;position:static;transform:none;box-shadow:0 0 14px #00000073,0 0 10px #d4b15a29}.hud-target.menu{cursor:pointer}.hud-target .party-name{text-align:center;color:var(--gold);letter-spacing:.03em;justify-content:center;align-items:center;gap:6px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:13px;display:flex}.target-caret{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 12px;width:12px;height:12px;transition:transform .16s}.target-caret.open{transform:rotate(180deg)}.target-menu{flex-direction:column;align-items:center;gap:6px;margin-top:8px;display:flex}.target-menu button{text-align:center;border-radius:18px;width:auto;min-width:72%;max-width:100%;min-height:32px;padding:6px 16px;font-size:12px;font-weight:600}.target-invite{color:#1a140c;background:linear-gradient(#f0d078,#c49a3a 55%,#9a7428);border:1px solid #f2de9a;box-shadow:0 0 12px #d4b15a66}.target-kick{color:#efe6d2;background:linear-gradient(#6a3228,#3a1a14);border:1px solid #c45c4a}.party-leave{min-height:28px;font-size:11px}.party-slot .bar.mp{height:6px;margin-top:3px}.hud-target.enemy{border-color:#a84838}.hud-target.enemy .party-name{color:#e08a7a;margin-bottom:0}.hud-target .target-hp{height:7px;margin-top:6px}.hud-kills{right:max(12px, env(safe-area-inset-right));text-align:right;pointer-events:none;z-index:4;text-shadow:0 1px 2px #000;width:min(280px,42vw);font-size:13px;line-height:1.35;position:absolute;top:52px}.kill-line{margin-bottom:4px}.hud-skillbar{left:50%;bottom:max(16px, env(safe-area-inset-bottom));z-index:4;box-shadow:none;pointer-events:auto;background:0 0;border:none;gap:12px;padding:0;display:flex;position:absolute;transform:translate(-50%)}.skill{text-align:center;background:radial-gradient(circle at 40% 30%,#3a2c18,#14100c 72%);border:2px solid #e0c06a;border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:2px;width:58px;min-width:58px;height:58px;min-height:58px;padding:0;font-size:11px;line-height:1.1;display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 2px #120c08eb,0 0 16px #d4b15a80,inset 0 0 14px #46a0c838}.skill-art{width:100%;height:100%;color:var(--gold);border-radius:50%;place-items:center;display:grid;overflow:hidden}.skill-art img,.skill-art svg{object-fit:contain;pointer-events:none;width:72%;height:72%}.skill-art img{width:86%;height:86%}.skill-cd{color:var(--gold);background:#0806049e;border-radius:50%;place-items:center;font-size:18px;display:grid;position:absolute;inset:0}.skill.locked{opacity:.55}.skill-lock{color:var(--gold);text-align:center;background:#080604b8;border-radius:50%;place-items:center;padding:4px;font-size:11px;line-height:1.1;display:grid;position:absolute;inset:0}.skill.off{opacity:.62}.skill.aa.on{border-color:#e8d080;box-shadow:0 0 0 2px #120c08e6,0 0 18px #5ab4dc8c,inset 0 0 14px #5ab4dc47}.hud-tools{display:none}.skill-tip{z-index:40}@media (hover:none),(pointer:coarse){.skill-tip{display:none}}.hud-dialog{box-sizing:border-box;border:1px solid var(--line);pointer-events:auto;z-index:5;background:#120e0af0;width:420px;max-width:calc(100vw - 24px);height:268px;padding:16px;position:absolute;top:18%;left:50%;overflow:hidden;transform:translate(-50%)}.hud-dialog h3{white-space:nowrap;text-overflow:ellipsis;height:28px;margin:0 0 8px;overflow:hidden}.hud-dialog .dialog-text,.hud-dialog p{height:72px;margin:0 0 12px;overflow:hidden}.hud-dialog .row{align-content:flex-start;height:96px}.hud-dialog.npc-dialog .row{flex-wrap:wrap;gap:8px}.hud-dialog.npc-dialog{height:auto;overflow:visible}.hud-dialog.npc-dialog .dialog-text{height:auto;max-height:8.5em;overflow:auto}.hud-dialog.npc-dialog .row{height:auto}.hud-dialog.npc-dialog .teleport-col{flex-direction:column;gap:8px;margin-top:10px;display:flex}.hud-dialog.npc-dialog .teleport-col button{width:100%}.hud-dialog.npc-dialog.teleporter{max-width:min(420px,100vw - 24px)}.inv-overlay{z-index:10000;pointer-events:auto;isolation:isolate;background:#08060473;place-items:center;padding:16px;display:grid;position:fixed;inset:0;transform:translateZ(0)}.inv-window{border:1px solid var(--line);background:#1a1510;width:min(920px,100%);max-height:calc(100vh - 32px);padding:14px;overflow:auto}.inv-head{align-items:center;gap:12px;margin-bottom:10px;display:flex}.inv-head h3{flex:1;margin:0}.win-close{width:32px;height:32px;color:var(--muted);border:1px solid var(--line);background:0 0;flex:0 0 32px;padding:0;font-size:22px;line-height:30px}.win-close:hover{color:var(--text);border-color:var(--gold)}.shop-window,.rating-window,.clan-window{width:min(640px,100%)}.shop-window{flex-direction:column;width:min(780px,100vw - 32px);height:min(640px,100vh - 32px);max-height:min(640px,100vh - 32px);display:flex;overflow:hidden}.shop-window .inv-head,.shop-window .inv-lock{flex:none}.trader-note{flex:none;align-items:center;gap:8px;min-height:28px;margin:0 0 10px;display:flex}.trader-seller{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;line-height:1.2;overflow:hidden}.trader-sell{flex:1;grid-template-columns:1fr 1fr;gap:12px;min-height:0;display:grid}.trader-col{border:1px solid var(--line);background:var(--panel);flex-direction:column;min-width:0;min-height:0;padding:10px;display:flex}.trader-col h4{flex:none;margin:0 0 8px;font-size:14px;font-weight:600}.trader-hint{flex:none;margin:0 0 8px;font-size:12px;line-height:1.35}.trader-scroll{flex:1;min-height:0;overflow:auto}.trader-pricebar{flex:0 0 44px;align-items:center;gap:8px;margin-top:8px;display:flex}.trader-pricebar input{flex:1;width:96px;min-width:0}.shop-tile.on,.shop-tile.draft{border-color:var(--gold)}.shop-tile.draft{outline:1px dashed var(--gold)}.trader-window .shop-tile{min-height:168px}.shop-window .inv-head h3{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.shop-gold{white-space:nowrap;flex:none}.shop-pane{flex:1;min-height:0;overflow:auto}.shop-empty{margin:24px 0 0}.admin-window,.admin-page{width:min(860px,100%)}.admin-stats{margin:0;padding-left:18px;line-height:1.7}.admin-load{gap:12px;margin:0 0 14px;display:grid}.admin-meter{gap:4px;display:grid}.admin-meter-row{justify-content:space-between;gap:12px;font-size:14px;display:flex}.admin-meter-row strong{color:var(--gold);font-variant-numeric:tabular-nums}.admin-meter-bar{border:1px solid var(--line);background:#1a1510;height:8px;overflow:hidden}.admin-meter-bar i{background:#6a9a4a;width:0;height:100%;display:block}.admin-meter-bar.warm i{background:#c4a03a}.admin-meter-bar.hot i{background:#c45a3a}.admin-meter .muted{margin:0;font-size:12px}.admin-players{max-height:min(52vh,460px);overflow:auto}.admin-players .rating-table{min-width:640px}.admin-ban-box{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.admin-form{gap:10px;display:grid}.admin-form h4{margin:4px 0 0}.admin-form .row label{min-width:120px}.admin-grid2{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width<=720px){.admin-grid2{grid-template-columns:1fr}}.admin-upload{gap:12px;margin-top:12px;display:grid}.admin-file{border:1px solid var(--line);background:#0000002e;align-items:flex-start;gap:12px;padding:10px;display:flex}.admin-file-preview{flex:0 0 48px;width:48px;height:48px}.admin-file-btn{cursor:pointer;border:1px solid var(--gold);color:var(--gold);background:0 0;align-items:center;margin:6px 0;padding:6px 12px;display:inline-flex;position:relative}.admin-file-btn input{opacity:0;cursor:pointer;position:absolute;inset:0}.admin-skill-ico{border:1px solid var(--line);background:var(--panel);place-items:center;width:40px;height:40px;display:grid;overflow:hidden}.admin-skill-ico img{object-fit:contain;width:100%;height:100%}.admin-skill-edit{color:var(--gold);margin:12px 0 0}.admin-shop-flag{flex-direction:row;align-items:center;min-width:0;margin:0}.shop-list{gap:8px;display:grid}.shop-filters{flex:none;gap:8px;margin-bottom:12px;display:grid}.shop-filters .clan-tabs{margin:0}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px;display:grid}.shop-tile{background:var(--panel-2);border:1px solid var(--line);color:var(--text);text-align:center;cursor:pointer;flex-direction:column;align-items:center;gap:6px;min-height:148px;padding:10px 8px;display:flex}.shop-tile:hover{border-color:var(--gold)}.shop-tile.locked{opacity:.65}.shop-tile-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:12px;line-height:1.25;display:-webkit-box;overflow:hidden}.shop-tile-ico,.shop-detail-ico{border:1px solid var(--line);background:linear-gradient(180deg, #ffffff14, transparent 55%), var(--panel);place-items:center;width:64px;height:64px;display:grid;overflow:hidden}.shop-tile-ico img,.shop-detail-ico img{object-fit:contain;width:100%;height:100%}.shop-tile-ico.slot-armor,.shop-detail-ico.slot-armor,.item-ico.slot-armor{background-color:#2a2418}.shop-tile-ico.slot-weapon,.shop-detail-ico.slot-weapon,.item-ico.slot-weapon{background-color:#302018}.shop-stub{border:2px solid var(--gold);opacity:.75;width:28px;height:28px;display:block}.shop-stub.armor{clip-path:polygon(15% 0,85% 0,100% 100%,0 100%);width:26px;height:24px}.shop-stub.weapon{border-radius:1px;width:8px;height:32px;transform:rotate(-28deg)}.shop-detail-ico .shop-stub{width:40px;height:40px}.shop-detail-ico .shop-stub.armor{width:36px;height:34px}.shop-detail-ico .shop-stub.weapon{width:10px;height:48px}.shop-back{width:32px;height:32px;color:var(--gold);border:1px solid var(--line);background:0 0;flex:0 0 32px;padding:0;font-size:18px;line-height:28px}.shop-back:hover:not(:disabled){border-color:var(--gold);color:var(--text)}.shop-back.ghost{visibility:hidden;pointer-events:none}.shop-detail{grid-template-columns:96px 1fr;align-items:start;gap:16px;display:grid}.shop-detail-ico{width:96px;height:96px}.shop-detail-buy{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.shop-card{border:1px solid var(--line);background:var(--panel-2);grid-template-columns:1fr auto;align-items:start;gap:12px;padding:10px;display:grid}.shop-card.locked{opacity:.7}.shop-desc{color:var(--muted);margin:6px 0 0;font-size:13px}.shop-stats{margin:6px 0 0;padding-left:16px;font-size:12px}.shop-buy{flex-direction:column;align-items:flex-end;gap:6px;min-width:120px;display:flex}.shop-price{color:var(--gold);font-size:13px}.rating-me{color:var(--gold);margin:0 0 10px}.rating-table{border-collapse:collapse;width:100%}.rating-table th,.rating-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 6px}.rating-table tr.you{background:#d4b15a1f}.clan-tabs{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}.clan-tabs button.on{border-color:var(--gold);color:var(--gold)}.clan-title{flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin-bottom:8px;display:flex}.clan-field{margin-bottom:10px}.clan-field textarea{resize:vertical;min-height:72px}.clan-check{flex-direction:row;align-items:center;min-width:0;margin-bottom:10px}.clan-check input{width:auto;padding:0}.clan-leader{border:1px solid var(--line);background:var(--panel-2);margin:12px 0;padding:10px}.clan-window h4{color:var(--gold);margin:16px 0 8px;font-weight:400}.clan-app{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.clan-leave{margin-top:16px}.inv-lock{color:var(--danger);margin:0 0 10px;font-size:13px}.inv-body{grid-template-columns:minmax(280px,340px) 1fr;gap:14px;display:grid}.paper{flex-direction:column;gap:8px;min-width:0;display:flex}.paper-stage{border:1px solid var(--line);background:#0c0a08;height:320px;position:relative}.paper-plate{z-index:1;text-align:center;pointer-events:none;text-shadow:0 1px 6px #000;position:absolute;top:8px;left:72px;right:72px}.paper-name{color:var(--gold);letter-spacing:.06em;font-family:Georgia,Times New Roman,serif;font-size:16px}.paper-meta{color:var(--muted);font-size:11px}.paper-canvas{outline:none;width:100%;height:100%;display:block}.gear-slot{width:62px;height:62px;color:var(--muted);border:1px solid var(--line);z-index:2;background:#120e0aeb;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;overflow:hidden}.gear-slot.filled{border-color:var(--gold);box-shadow:inset 0 0 8px #d4b15a40}.gear-slot.over{border-color:#efe6d2}.gear-glyph{border:2px solid var(--gold-dim);opacity:.55;width:22px;height:22px;display:block}.gear-slot.filled .gear-glyph{opacity:1;border-color:var(--gold);background:#d4b15a33}.gear-slot.weapon .gear-glyph{border-radius:1px;width:8px;height:26px;transform:rotate(-28deg)}.gear-slot.armor .gear-glyph{clip-path:polygon(15% 0,85% 0,100% 100%,0 100%);width:20px;height:18px}.gear-caption{max-width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;line-height:1.1;overflow:hidden}.gear-slot.filled .gear-caption{color:var(--gold)}.paper-bars{padding:0 2px}.paper-atk{color:var(--gold);margin-top:6px;font-size:12px}.inv-skills{grid-template-columns:1fr 1fr;gap:6px;margin-top:10px;display:grid}.inv-skill{text-align:left;background:var(--panel-2);border:1px solid var(--line);align-items:center;gap:8px;min-width:0;padding:4px 6px;display:flex}.inv-skill-ico{background:#241c14;border-radius:50%;flex:0 0 36px;place-items:center;width:36px;height:36px;display:grid;overflow:hidden}.inv-skill-ico.large{flex-basis:56px;width:56px;height:56px}.inv-skill-ico .skill-art{width:100%;height:100%}.inv-skill-name{min-width:0;color:var(--gold);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.2;overflow:hidden}.inv-skill-card{z-index:30;background:#0806048c;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.inv-skill-sheet{border:1px solid var(--gold);background:#1a1510;width:min(360px,100%);padding:12px}.inv-skill-sheet-body{align-items:flex-start;gap:12px;display:flex}.inv-skill-sheet .tip-desc,.inv-skill-sheet .tip-stats{pointer-events:auto}.admin-aa-row{border:1px solid var(--line);background:var(--panel-2);align-items:center;gap:12px;margin-bottom:16px;padding:10px;display:flex}.admin-aa-copy{flex:1;min-width:0}.admin-aa-copy strong{margin-bottom:2px;display:block}.admin-aa-row .admin-file-btn{flex:none;margin:0}.admin-portrait-grid{gap:8px;display:grid}.admin-portrait-ico{flex:0 0 56px;width:56px;height:56px}.inv-bag{grid-template-columns:repeat(4,1fr);align-content:start;gap:6px;display:grid}.bag-cell{border:1px solid var(--line);background:var(--panel-2);aspect-ratio:1;cursor:pointer;place-items:center;min-height:0;padding:4px;display:grid}.bag-cell.filled{border-color:var(--gold-dim)}.item-ico{background:linear-gradient(180deg, #ffffff14, transparent 55%), var(--panel);place-items:center;width:100%;height:100%;display:grid;overflow:hidden}.item-ico img{object-fit:contain;width:100%;height:100%}.gear-slot .item-ico .shop-stub,.bag-cell .item-ico .shop-stub{width:28px;height:28px}.gear-slot .item-ico .shop-stub.weapon,.bag-cell .item-ico .shop-stub.weapon{width:8px;height:32px}.inv-stats{color:var(--gold);margin-top:12px;font-size:13px}.inv-tooltip{z-index:20;border:1px solid var(--gold);pointer-events:none;background:#0c0906f5;width:min(240px,100vw - 16px);padding:8px 10px;position:fixed;box-shadow:inset 0 0 0 1px #2a1c10,0 8px 18px #00000073}.tip-name{color:var(--gold);letter-spacing:.04em;margin-bottom:4px;font-family:Georgia,Times New Roman,serif;font-size:15px}.tip-meta{color:var(--muted);margin-bottom:6px;font-size:11px}.tip-desc{color:var(--text);margin:0 0 8px;font-size:12px;line-height:1.35}.tip-stats{color:#c8e08a;margin:0;padding:0;font-size:12px;line-height:1.4;list-style:none}.queue-box{top:auto;left:max(12px, env(safe-area-inset-left));bottom:calc(268px + env(safe-area-inset-bottom));z-index:9;width:min(280px,100vw - 24px);height:auto;overflow:visible;transform:none}.queue-box p{height:auto}.results-overlay{z-index:50;background:#080604b8;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.results-card{border:1px solid var(--line);background:#1a1510;width:min(920px,100%);max-height:calc(100vh - 32px);padding:18px;overflow:auto}.welcome-overlay{z-index:11000;pointer-events:auto;background:#080604b8;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.welcome-card{border:1px solid var(--line);background:#120e0af5;gap:14px;width:min(440px,100%);max-height:calc(100vh - 32px);padding:22px 20px 18px;display:grid;overflow:auto}.welcome-card h3{letter-spacing:.04em;color:var(--gold);margin:0;font-family:Georgia,Times New Roman,serif}.welcome-text{white-space:pre-wrap;max-height:min(42vh,280px);margin:0;line-height:1.45;overflow:auto}.welcome-card .primary{justify-self:center;min-width:140px}.welcome-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.welcome-actions .primary,.welcome-actions button{min-width:120px}.results-banner{text-align:center;letter-spacing:.12em;border:1px solid var(--line);margin-bottom:8px;padding:12px;font-family:Georgia,Times New Roman,serif;font-size:28px}.results-banner.win{color:#d4e8a8;background:#243016}.results-banner.lose{color:#f0c0b4;background:#3a1c16}.results-banner.draw{color:var(--gold);background:#2a2218}.results-reason{text-align:center;margin-bottom:8px}.results-gold{text-align:center;color:var(--gold);margin:0 0 14px;font-size:15px}.results-cols{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.results-team h3{margin:0 0 8px}.results-team.team-a h3{color:#8eb4ff}.results-team.team-b h3{color:#e08a7a}.results-team table{border-collapse:collapse;width:100%;font-size:13px}.results-team th,.results-team td{text-align:left;vertical-align:top;border-bottom:1px solid #3a3024;padding:8px 6px}.results-team tr.you td{background:#2a2218}.delta-up{color:#9cba6e}.delta-down{color:#c45c4a}.hud-chat{left:max(14px, env(safe-area-inset-left));bottom:max(14px, env(safe-area-inset-bottom));pointer-events:none;z-index:8;width:min(340px,100vw - 28px);position:absolute}.hud-chat .chat-body{pointer-events:auto}.hud-chat.collapsed .chat-log,.hud-chat.collapsed .chat-form{display:none}.chat-body{background:linear-gradient(#100c08eb,#080604e6);border:1px solid #d4b15a85;border-radius:14px;padding:8px 10px 10px;box-shadow:0 0 18px #00000073,0 0 14px #d4b15a24}.chat-log{color:#e8dcc4;scrollbar-width:thin;scrollbar-color:#c9a24a #1a140c;height:118px;padding-right:4px;font-size:12px;line-height:1.45;overflow-y:auto}.chat-log::-webkit-scrollbar{width:8px}.chat-log::-webkit-scrollbar-button{width:0;height:0;display:none}.chat-log::-webkit-scrollbar-track{background:linear-gradient(#120d09e6,#0a0806f2);border:1px solid #6b542873;border-radius:8px;margin:2px 0;box-shadow:inset 0 0 4px #00000073}.chat-log::-webkit-scrollbar-thumb{background:linear-gradient(#e8c56a,#b88932 55%,#8a6420);border:1px solid #2a1c10a6;border-radius:8px;box-shadow:0 0 6px #d4b15a59}.chat-log::-webkit-scrollbar-thumb:hover{background:linear-gradient(#f2de9a,#d4b15a 55%,#b88932)}.chat-log::-webkit-scrollbar-corner{background:0 0}.chat-from{color:var(--gold)}.chat-nick{color:inherit;font:inherit;line-height:inherit;vertical-align:baseline;cursor:pointer;background:0 0;border:0;min-width:0;height:auto;min-height:0;margin:0;padding:0;text-decoration:none;display:inline}.chat-nick:hover{color:#efe6d2;text-decoration:underline}.chat-tag{color:var(--gold);margin-right:4px;display:inline}.chat-tag:before{content:"["}.chat-tag:after{content:"]"}.chat-line.whisper{color:#ff8ec8}.chat-line.clan,.chat-line.clan .chat-tag{color:#5dca6a}.chat-line.party{color:#d4b15a}.chat-line.group,.chat-line.group .chat-tag{color:#9dff4a}.chat-line.system{color:var(--muted)}.chat-line.world .chat-nick,.chat-line.world .chat-from,.chat-line.world .chat-tag{color:#d4b15a}.chat-tabs{align-items:center;gap:4px;margin:0 0 6px;display:flex}.chat-tabs button{color:#7a6a52;min-width:0;min-height:26px;box-shadow:none;background:0 0;border:0;border-radius:6px;flex:none;padding:4px 10px 6px;font-size:12px;position:relative}.chat-tabs button.on{color:#f0d078;text-shadow:0 0 10px #e8c56a8c;background:#d4b15a29;border:0;font-weight:700;box-shadow:0 0 10px #d4b15a2e}.chat-tabs button.on:after{content:"";background:#e8c56a;border-radius:1px;height:2px;position:absolute;bottom:2px;left:8px;right:8px;box-shadow:0 0 8px #e8c56acc}.chat-tabs button.chat-tab-party.on{color:#b6ff6a;background:#78b43224;border:0}.chat-tabs button.chat-tab-party.on:after{background:#9dff4a;box-shadow:0 0 8px #9dff4ab3}.chat-gear{width:26px;min-width:26px;min-height:26px;color:var(--gold);margin-left:auto;padding:0}.chat-gear svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.chat-form{align-items:center;gap:6px;margin-top:6px;display:flex}.chat-form input{background:#0806048c;border:1px solid #6b54288c;border-radius:8px;flex:1;width:auto;min-height:32px;margin-top:0}.chat-form input::placeholder{color:#8a7a62}.chat-send{width:34px;min-width:34px;min-height:34px;color:var(--gold);background:#2a2012e6;border-radius:8px;place-items:center;padding:0;display:grid;box-shadow:0 0 8px #d4b15a33}.chat-send svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.online-dot{vertical-align:middle;border-radius:50%;width:10px;height:10px;display:inline-block;box-shadow:0 0 0 1px #1a140e}.online-dot.on{background:#3dcc5a;box-shadow:0 0 8px #3dcc5ab3}.online-dot.off{background:#c44c3a}.create-grid{grid-template-columns:minmax(240px,280px) 1fr;gap:20px;margin-top:18px;display:grid}.empty-chars{border:1px dashed var(--line);color:var(--muted);padding:16px}@media (width<=900px),(pointer:coarse){button,.win-close,.shop-back{touch-action:manipulation;min-width:44px;min-height:44px}.hud-menu-toggle{width:46px;min-width:46px;height:46px;min-height:46px}.hud-menu-item{width:auto;min-width:44px;height:auto;min-height:0;padding:4px 4px 3px}.hud-menu-caption{font-size:8px}.chat-toggle{display:none}.hud-chat{width:min(320px, calc(100vw - 240px - env(safe-area-inset-right)));max-width:calc(100vw - 240px - env(safe-area-inset-right));left:max(8px, env(safe-area-inset-left));bottom:max(10px, env(safe-area-inset-bottom))}.hud-chat.collapsed .chat-log,.hud-chat.collapsed .chat-form{display:none}.hud-chat .chat-body{padding:8px}.hud-chat .chat-log{height:min(28vh,160px);font-size:13px;line-height:1.35}.chat-line{min-height:0;line-height:1.35}.chat-nick{min-width:0;height:auto;min-height:0;padding:0}.chat-tabs button{min-width:0;min-height:28px}.chat-gear,.chat-send{min-width:32px;min-height:32px}.results-cols{grid-template-columns:1fr}.results-banner{font-size:22px}.results-overlay{padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));align-items:stretch}.results-card{width:100%;max-height:100%;overflow:auto}.welcome-overlay{padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left))}.welcome-card{width:100%}.hud-party{width:min(168px,44vw);top:calc(max(12px, env(safe-area-inset-top)) + 108px)}.hud-status{width:min(240px,62vw);min-width:0;padding:6px 10px 6px 6px}.hud-center{max-width:min(280px,100vw - 24px)}.zone-banner{white-space:normal;font-size:12px}.status-portrait{flex-basis:58px;width:58px;height:58px}.status-portrait .char-portrait{width:50px;height:50px}.hud-target{width:min(220px,70vw);padding:6px 10px}.hud-kills{width:min(160px,36vw);top:auto;right:auto;left:max(8px, env(safe-area-inset-left));bottom:calc(168px + env(safe-area-inset-bottom));text-align:left;font-size:11px}.hud-tools{right:max(12px, env(safe-area-inset-right));bottom:calc(228px + env(safe-area-inset-bottom));z-index:5;pointer-events:auto;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute}.hud-tool{width:44px;min-width:44px;height:44px;min-height:44px;color:var(--gold);background:radial-gradient(circle at 35% 30%,#3a2c18,#120e0a 72%);border:2px solid #d4b15a;border-radius:50%;place-items:center;padding:0;display:grid;box-shadow:0 0 0 2px #120c08e6,0 0 12px #d4b15a66}.hud-tool svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.hud-skillbar{left:auto;right:max(10px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));width:180px;height:200px;box-shadow:none;background:0 0;border:none;padding:0;display:block;overflow:visible;transform:none}.hud-skillbar .skill{z-index:1;border-radius:50%;width:56px;min-width:56px;height:56px;min-height:56px;position:absolute;transform:none}.hud-skillbar .skill.aa{z-index:2;border-width:3px;width:96px;min-width:96px;height:96px;min-height:96px;bottom:24px;right:0;box-shadow:0 0 0 3px #120c08eb,0 0 22px #e8be5aa6,inset 0 0 16px #46a0c847}.hud-skillbar .skill.aa.on{box-shadow:0 0 0 3px #120c08eb,0 0 26px #5ac8e6b3,inset 0 0 18px #5ab4dc59}.hud-skillbar .skill-n1{bottom:58px;right:117px}.hud-skillbar .skill-n2{bottom:126px;right:83px}.hud-skillbar .skill-n3{bottom:130px;right:21px}.hud-skillbar .skill-n4{bottom:4px;right:97px}.party-slot{min-height:44px}.skill-name{display:none}.hud-dialog{top:auto;left:50%;bottom:calc(220px + env(safe-area-inset-bottom));z-index:9;width:420px;max-width:calc(100vw - 16px);height:268px;padding:14px;transform:translate(-50%)}.hud-dialog .row,.hud-dialog.npc-dialog .row{flex-wrap:wrap}.hud-dialog.npc-dialog{height:auto}.queue-box{left:50%;bottom:calc(228px + env(safe-area-inset-bottom));z-index:9;width:min(420px,100vw - 16px);height:auto;padding:14px;transform:translate(-50%)}.queue-box p{height:auto}.inv-overlay{align-items:stretch;padding:0}.inv-window,.shop-window,.rating-window,.clan-window,.admin-window{border-radius:0;width:100%;height:100%;min-height:0;max-height:none}.trader-sell{grid-template-columns:1fr 1fr}.inv-body,.shop-card{grid-template-columns:1fr}.shop-detail{text-align:center;grid-template-columns:1fr;justify-items:center}.shop-detail-buy{justify-content:center}.shop-stats{text-align:left;display:inline-block}.shop-buy{align-items:stretch}.inv-bag{grid-template-columns:repeat(3,1fr)}.chat-form input{min-height:44px;padding:10px 12px;font-size:16px}}@media (width<=420px){.hud-menu-toggle{width:42px;min-width:42px;height:42px;min-height:42px}.hud-status{width:min(210px,70vw)}.hud-party{width:min(148px,42vw)}.hud-chat{width:min(210px, calc(100vw - 190px - env(safe-area-inset-right)))}.hud-skillbar{width:154px;height:172px}.hud-skillbar .skill{width:48px;min-width:48px;height:48px;min-height:48px}.hud-skillbar .skill.aa{width:82px;min-width:82px;height:82px;min-height:82px;bottom:20px;right:0}.hud-skillbar .skill-n1{bottom:50px;right:100px}.hud-skillbar .skill-n2{bottom:108px;right:71px}.hud-skillbar .skill-n3{bottom:111px;right:18px}.hud-skillbar .skill-n4{bottom:3px;right:83px}.hud-tools{bottom:calc(216px + env(safe-area-inset-bottom))}.hud-tool{width:40px;min-width:40px;height:40px;min-height:40px}}@media (width<=800px){.char-grid,.create-grid{grid-template-columns:1fr}canvas.preview{height:240px}.screen{padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));align-items:start}.panel{width:min(920px,100%);padding:16px}label{min-width:0}input,select,textarea,button{min-height:44px;font-size:16px}.row button{flex:1}}
