.site-home{--site-line: rgba(170, 120, 70, .28)}.site-home a{color:inherit;text-decoration:none}.site-home a:hover{color:#f2cf91}.site-skip{position:absolute;top:-100px;left:12px;z-index:10;padding:10px;background:#151111}.site-skip:focus{top:8px}.site-home .site-nav{position:relative;gap:24px;background:#070606}.site-nav nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:clamp(12px,2vw,32px);font:600 12px var(--site-font)}.site-nav nav a[aria-current=page]{color:#eac48b}.site-nav .site-nav-play{padding:12px 18px;border:1px solid #b98748;background:#2a0f0f;color:#f5dfb8}.site-hero{min-height:min(770px,100svh)}.site-hero-description{max-width:600px;color:#eadbc0;font:15px/1.8 var(--site-font);text-shadow:0 2px 8px #0a0806}.site-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.site-home .site-button{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:46px;padding:12px 20px;border:1px solid #bd8c50;border-radius:0;font:700 12px var(--site-font);letter-spacing:.04em;cursor:pointer;text-align:center}.site-home .site-button-primary{color:#26160d;background:linear-gradient(#e9c68a,#bb8443);border-color:#f1d39f}.site-home .site-button-primary:hover{color:#160e08;background:#f1cd8c}.site-home .site-button-secondary{color:#f4dfbb;background:#1d120cbf}.site-home .site-button:disabled{opacity:.65;cursor:progress}.site-hero-note{margin-top:17px;color:#d0bc99;font:12px var(--site-font)}.site-steps{display:grid;grid-template-columns:repeat(3,1fr);background:#151111;border-block:1px solid var(--site-line)}.site-steps>div{display:flex;gap:19px;padding:25px clamp(20px,4vw,65px);border-right:1px solid var(--site-line)}.site-step-number{color:#d4a45d;font:700 15px var(--site-font)}.site-steps p{margin:0;font-size:18px}.site-steps p span{color:#d3a663;font-size:14px}.site-steps small{display:block;margin-top:7px;color:#beac91;font:12px/1.5 var(--site-font)}.site-home .site-footer{background:#070606;gap:20px}.site-footer>a{font-size:25px;font-weight:700;letter-spacing:.02em}.site-footer p{margin:0}.site-footer>span{font:700 10px var(--site-font);letter-spacing:.17em}.site-account-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,560px);min-height:calc(100svh - 154px)}.site-account-story{padding:clamp(42px,7vw,115px);background:linear-gradient(90deg,#0b0909e0,#0b090980),url(/assets/site/key-art.webp) center / cover}.site-account-story strong{display:block;margin:30px 0 12px;font-size:clamp(48px,6vw,80px);line-height:1.1;letter-spacing:.02em}.site-account-story h1{font-size:clamp(33px,4vw,56px);font-weight:400;line-height:1.3}.site-account-story>p:not(.eyebrow){max-width:520px;color:#ebd9b9;line-height:1.8}.site-text-link{display:inline-block;margin-top:26px;color:#e6bf7f!important;font:700 12px var(--site-font)}.site-form-panel{padding:clamp(25px,4vw,54px);background:linear-gradient(150deg,#1b1515,#0e0b0b);border:1px solid var(--site-line)}.site-form-panel h2,.site-characters h2{margin:8px 0 12px;font-size:clamp(25px,3vw,36px);font-weight:400}.site-form-intro{color:#cdb99b;font:14px/1.7 var(--site-font)}.site-form-panel form{display:grid;gap:16px;margin-top:25px}.site-field{display:grid;gap:6px}.site-field label{color:#e3c693;font:700 12px var(--site-font)}.site-field input,.site-field select{min-width:0;width:100%;min-height:45px;padding:10px 12px;color:#f5e9d0;background:#0b0909;border:1px solid #715238;border-radius:0;font:15px var(--site-font)}.site-field input:focus,.site-field select:focus{outline:2px solid #dfad67;outline-offset:1px}.site-field input[aria-invalid=true]{border-color:#f39a87}.site-field-help,.site-field-error{margin:0;font:12px/1.5 var(--site-font)}.site-field-help{color:#b8a78f}.site-field-error{color:#ffad9c}.site-field-error:empty{display:none}.site-show-password{display:flex;align-items:center;gap:8px;color:#dbc4a1;font:12px var(--site-font)}.site-show-password input{accent-color:#d2a25e}.site-privacy-note{color:#bfae96;font:12px/1.6 var(--site-font)}.site-submit{width:100%}.site-form-switch{padding-top:20px;border-top:1px solid var(--site-line);color:#cab69a;font:13px var(--site-font)}.site-form-switch a{color:#e7c184;text-decoration:underline}.site-notice{margin:16px 0;padding:13px 16px;color:#ffd2c4;background:#4a241d;border-left:3px solid #f0a18d;font:13px/1.5 var(--site-font)}.site-notice.success{color:#f1ddb4;background:#39311c;border-color:#dcb978}.site-profile{max-width:1260px;margin:0 auto;padding:65px clamp(20px,5vw,70px) 100px}.site-profile-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.site-profile-heading h1{margin:5px 0;font-size:clamp(35px,5vw,58px);font-weight:400}.site-profile>.site-form-panel{margin-top:35px}.site-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:15px 0 0;gap:1px;background:var(--site-line);border:1px solid var(--site-line)}.site-details>div{min-width:0;padding:14px 16px;background:#171313}.site-details>div:last-child:nth-child(odd){grid-column:1 / -1}.site-details dt{color:#bda683;font:11px var(--site-font)}.site-details dd{overflow-wrap:anywhere;margin:6px 0 0;font-size:16px}.site-characters{margin-top:48px}.site-characters h2 small{margin-left:10px;color:#bda683;font:14px var(--site-font)}.site-character-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:15px}.site-character-card{padding:27px;border:1px solid var(--site-line);background:#141010}.site-character-empty{display:flex;flex-direction:column;align-items:flex-start;border-style:dashed;background:#100d0d}.site-character-empty h3{color:#bda683}.site-character-empty .site-button{margin-top:auto}.site-character-card h3{margin:10px 0 20px;font-size:29px;font-weight:400}.site-character-card>p:not(.eyebrow){color:#cbb695}.site-profile-forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-top:45px;align-items:start}.site-message-panel{max-width:660px;min-height:55vh;margin:6vw auto;padding:clamp(35px,6vw,70px);border:1px solid var(--site-line);background:linear-gradient(150deg,#1a1414,#0e0b0b);text-align:center}.site-message-panel h1{font-size:clamp(34px,5vw,55px);font-weight:400}.site-message-panel p:not(.eyebrow){color:#d4bfa0;line-height:1.7}.site-message-panel .site-text-link{display:block}.site-ranks{width:calc(100% - 32px);max-width:1140px;margin:0 auto;padding:65px 0 100px}.site-ranks-heading{max-width:760px}.site-ranks-heading h1{margin:14px 0 20px;font-size:clamp(38px,6vw,64px);font-weight:400;line-height:1.3;color:var(--cream);text-shadow:0 5px 24px #080604}.site-ranks-intro{color:#eadbc0;font:15px/1.9 var(--site-font)}.site-ranks-cap{margin:30px 0 16px;color:var(--dim);font:13px/1.7 var(--site-font)}.site-ranks-table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--site-line);background:linear-gradient(150deg,#1b1515,#0e0b0b)}.site-ranks-table{width:100%;min-width:720px;border-collapse:collapse;text-align:center}.site-ranks-table th,.site-ranks-table td{padding:20px 16px;border-bottom:1px solid var(--site-line)}.site-ranks-subtitle{margin:36px 0 8px;color:var(--site-gold, #e7c37a);font:600 22px/1.4 var(--site-font)}.site-ranks-table.site-ranks-bonus{min-width:560px}.site-ranks-bonus td:last-child{text-align:left}.site-ranks-table thead th{color:#e3c693;background:#151111;font:700 13px/1.6 var(--site-font)}.site-ranks-table th:nth-child(2){text-align:left}.site-ranks-table tbody th{font-size:21px;font-weight:400}.site-ranks-table tbody tr:last-child>*{border-bottom:0}.site-ranks-insignia{display:block;width:48px;height:48px;margin:auto;object-fit:contain}.site-ranks-step{display:grid;justify-items:center;gap:10px;font:14px/1.6 var(--site-font)}.site-ranks-step small{max-width:150px;color:var(--dim);font-size:11px}.site-ranks-badge{--rank-metal: #b98748;position:relative;display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--rank-metal);background:#0b0909}.site-ranks-badge.is-tho{--rank-metal: #c8ccd4}.site-ranks-badge.is-ek{--rank-metal: var(--gold)}.site-ranks-badge-icon{width:34px;height:34px;object-fit:contain}.site-ranks-badge-frame{position:absolute;inset:-3px;width:calc(100% + 6px);height:calc(100% + 6px);object-fit:contain;pointer-events:none}.site-items{width:calc(100% - 32px);max-width:1140px;min-width:0;margin:0 auto;padding:65px 0 100px}.site-items-toc{display:flex;flex-wrap:wrap;gap:8px 20px;margin:28px 0 0;padding:16px 0;border-block:1px solid var(--site-line);color:var(--gold);font:13px/1.8 var(--site-font)}.site-items-toc a{padding:4px 0}.site-items-section{min-width:0;margin-top:44px;scroll-margin-top:20px}.site-items-section h2{margin:0 0 12px;color:var(--cream);font-size:clamp(27px,4vw,36px);font-weight:400}.site-items-section p,.site-items-steps{color:#eadbc0;font:14px/1.9 var(--site-font)}.site-items-section .site-items-note{color:var(--dim);font-size:12px}.site-items-table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--site-line);background:linear-gradient(150deg,#1b1515,#0e0b0b)}.site-items-table-wrap:focus-visible,.site-items-toc a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.site-items-table{width:100%;min-width:420px;border-collapse:collapse;text-align:center;font:14px/1.7 var(--site-font)}.site-items-grades{min-width:680px}.site-items-table th,.site-items-table td{padding:14px 16px;border-bottom:1px solid var(--site-line)}.site-items-table thead th{color:#e3c693;background:#151111;font-size:12px}.site-items-table tbody th{text-align:left;font-size:17px;font-weight:400}.site-items-table tbody tr:last-child>*{border-bottom:0}.site-items-steps{padding-left:24px}.site-items-steps li{padding:3px 0 3px 4px}.site-items-art{display:block;flex:0 0 auto;width:48px;height:48px;object-fit:contain}.site-items-seal{display:flex;align-items:flex-start;gap:16px;margin-top:18px;padding:20px;border-left:2px solid var(--gold);background:#151111}.site-items-section h3{margin:0;color:var(--cream);font-size:20px;line-height:1.6;font-weight:400}.site-items-seal p{margin:6px 0 0}.site-items-stones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.site-items-stone{min-width:0;padding:22px;border:1px solid var(--site-line);background:linear-gradient(150deg,#1b1515,#0e0b0b)}.site-items-stone>.site-items-art{width:64px;height:64px;margin-bottom:12px}.site-items-stone p{margin:8px 0 0}.site-items-recipes{display:grid;gap:18px}.site-items-recipe{min-width:0;padding:24px;border:1px solid var(--site-line);background:linear-gradient(150deg,#1b1515,#0e0b0b)}.site-items-exchange-flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:20px;align-items:center;margin:16px 0 22px}.site-items-inputs,.site-items-junk{list-style:none;margin:0;padding:0}.site-items-inputs{display:grid;gap:10px;color:#eadbc0;font:13px/1.8 var(--site-font)}.site-items-inputs li,.site-items-output,.site-items-junk li{display:flex;min-width:0;align-items:center;gap:10px}.site-items-inputs span,.site-items-output span,.site-items-junk span{min-width:0;overflow-wrap:anywhere}.site-items-exchange-arrow{color:var(--gold);font-size:26px}.site-items-output{padding:16px;color:var(--cream);background:#0b0909;border:1px solid var(--site-line);font:14px/1.8 var(--site-font)}.site-items-output small,.site-items-junk small{display:block;color:var(--dim);font-size:11px}.site-items-recipe h4{margin:0 0 14px;padding-top:16px;border-top:1px solid var(--site-line);color:#e3c693;font:700 13px/1.7 var(--site-font)}.site-items-junk{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 20px;color:#eadbc0;font:12px/1.7 var(--site-font)}.site-items-junk .site-items-art{width:36px;height:36px}@media(max-width:640px){.site-items{padding:35px 0 60px}.site-items-section{margin-top:32px}.site-items-stones{grid-template-columns:minmax(0,1fr)}.site-items-stone,.site-items-recipe{padding:16px}.site-items-seal{padding:16px 12px;gap:10px}.site-items-grades{min-width:0}.site-items-grades thead{display:none}.site-items-grades,.site-items-grades tbody{display:block}.site-items-grades tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--site-line);padding:8px}.site-items-grades tbody tr:last-child{border-bottom:0}.site-items-grades th,.site-items-grades td{padding:8px;border:0;text-align:left}.site-items-grades tbody th{grid-column:1 / -1;font-size:21px}.site-items-grades td:before{display:block;content:attr(data-label);color:#e3c693;font-size:11px}.site-items-exchange-flow{grid-template-columns:minmax(0,1fr);gap:12px}.site-items-exchange-arrow{justify-self:center;transform:rotate(90deg)}.site-items-junk{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}@media(max-width:640px){.site-ranks{padding:35px 0 60px}.site-ranks-table-wrap{overflow:visible}.site-ranks-table{min-width:0}.site-ranks-table thead{display:none}.site-ranks-table,.site-ranks-table tbody{display:block}.site-ranks-table tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;border-bottom:1px solid var(--site-line)}.site-ranks-table tbody tr:last-child{border-bottom:0}.site-ranks-table th,.site-ranks-table td{padding:14px 6px;border-bottom:0}.site-ranks-table td:first-child{grid-column:1;padding-bottom:4px}.site-ranks-table tbody th{grid-column:2 / 4;padding-bottom:4px;text-align:left}.site-ranks-step{gap:6px}.site-ranks-step small{font-size:10px}.site-ranks-step:before{content:attr(data-grade);color:#e3c693;font-size:12px}}@media(max-width:850px){.site-account-layout{grid-template-columns:1fr}.site-account-story{padding:42px 30px}.site-account-story strong{font-size:64px}.site-account-story h1{margin:10px 0}.site-profile-forms{grid-template-columns:1fr}}@media(max-width:600px){.site-home .site-nav{align-items:flex-start;padding:16px 18px;flex-direction:column;gap:13px}.site-nav nav{width:100%;justify-content:space-between;gap:8px 12px;font-size:11px}.site-nav .site-nav-play{order:99;flex-basis:100%;padding:10px 11px;text-align:center}.site-hero{min-height:650px;padding-top:90px}.site-hero-description{font-size:13px}.site-steps{grid-template-columns:1fr}.site-steps>div{border-right:0;border-bottom:1px solid var(--site-line)}.site-home .site-footer{flex-wrap:wrap;font-size:12px}.site-account-story{padding:35px 23px}.site-account-story strong{font-size:48px}.site-account-story h1{font-size:32px}.site-form-panel{padding:25px 20px}.site-profile{padding-top:35px}.site-profile-heading{align-items:flex-start;flex-direction:column}.site-details{grid-template-columns:1fr}.site-message-panel{margin:30px 15px}}.site-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}.site-tab{padding:9px 20px;border:1px solid var(--site-line);background:#151111;color:#cab69a;font:700 14px/1.6 var(--site-font);cursor:pointer}.site-tab[aria-pressed=true]{background:linear-gradient(150deg,#5a1616,#2e0b0b);color:#f3dfb4;border-color:#d3a154}.site-rankings-table tbody th{text-align:left}.site-rankings-table tr[data-top="1"] th,.site-rankings-table tr[data-top="1"] td:first-child{color:#ffd77a}.site-rankings-table tr[data-top="2"] th,.site-rankings-table tr[data-top="2"] td:first-child{color:#dfe8ff}.site-rankings-table tr[data-top="3"] th,.site-rankings-table tr[data-top="3"] td:first-child{color:#e0a070}.site-world-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.site-world-card{min-width:0;padding:24px;border:1px solid var(--site-line);background:linear-gradient(150deg,#1b1515,#0e0b0b);color:#eadbc0;font:14px/1.8 var(--site-font)}.site-world-card h2{margin:0 0 12px;color:#e3c693;font:700 16px/1.6 var(--site-font)}.site-world-wide{grid-column:1 / -1}.site-world-big{font-size:28px;color:#f3dfb4}.site-world-dim{color:#9d8a70;font-size:12px}.site-world-rate-day{color:#e8c46a}.site-world-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.site-world-list li{display:flex;align-items:center;gap:14px;padding:10px 12px;background:#151111;border-left:2px solid var(--site-line)}.site-world-list li[data-out]{border-left-color:#ff7a2a}.site-world-list img{flex:none;width:56px;height:56px;object-fit:contain}.site-world [data-world-bosses] .site-world-list img{width:auto;max-width:120px;height:120px;object-position:center bottom;filter:drop-shadow(0 4px 8px #000)}.site-world [data-world-relics] .site-world-list img{width:48px;height:48px;filter:drop-shadow(0 0 6px rgba(214,168,90,.35))}.site-drops-search{width:100%;max-width:460px;margin:4px 0 18px;padding:12px 16px;border:1px solid var(--site-line);background:#0e0b0b;color:#f3dfb4;font:15px var(--site-font)}.site-drops-list{display:grid;gap:18px;margin:0;padding:0;list-style:none}.site-drops-item{min-width:0}.site-drops-item header{display:flex;align-items:center;gap:12px;margin-bottom:8px;color:#f3dfb4;font:16px/1.6 var(--site-font)}@media(max-width:640px){.site-world-grid{grid-template-columns:minmax(0,1fr)}.site-world-card{padding:16px}.site-tab{padding:8px 14px}}.site-admin h2{margin:0;color:#f3dfb4;font-size:22px}.site-admin h2 small,.site-admin h3 small{margin-left:8px;color:#cab69a;font-size:14px}.site-admin h3{margin:0 0 10px;color:#e3c693;font-size:16px}.site-admin-tab{margin-top:10px}.site-admin-notice{margin:16px 0;padding:13px 16px;color:#d6efc4;background:#233a1d;border-left:3px solid #9bd37f;font:13px/1.5 var(--site-font)}.site-admin-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 14px}.site-admin-split{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:24px;align-items:start;margin-top:20px}.site-admin-table{min-width:0;text-align:left}.site-admin-table th,.site-admin-table td{padding:10px 12px;font-size:13px;vertical-align:top}.site-admin-table tbody th{font-size:14px}.site-admin-table tbody th small,.site-admin-table tbody td small{display:block;color:#9d8a70;font-size:11px}.site-admin-table tr.is-selected>*{background:#d3a1541f}.site-admin-table td.is-off,.site-admin-table .is-spent{color:#ffad9c}.site-admin-table .is-gained{color:#b6efaa}.site-admin-link{padding:0;border:0;background:none;color:#e6bf7f;font:inherit;text-decoration:underline;cursor:pointer}.site-admin-link:disabled{opacity:.5;cursor:default}.site-admin-form{display:grid;gap:14px;padding:22px}.site-admin-form h2,.site-admin-form h3{margin:0}.site-admin-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.site-admin-check{display:flex;align-items:center;gap:8px;color:#eadbc0;font:14px var(--site-font)}.site-admin-actions{display:flex;flex-wrap:wrap;gap:10px}.site-home .site-button-danger{color:#ffd2c4;background:#4a241d;border-color:#f0a18d}.site-admin-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;max-width:620px}.site-admin-found{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:8px}.site-admin-found li{padding:10px 14px;border:1px solid var(--site-line);background:#151111;color:#eadbc0;font:14px var(--site-font)}.site-admin-found small{display:block;color:#9d8a70;font-size:12px}.site-admin-ledger th small{display:inline;margin-left:6px}.site-admin-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:10px 0 0}.site-admin-totals div{padding:16px 18px;border:1px solid var(--site-line);background:linear-gradient(150deg,#1b1515,#0e0b0b)}.site-admin-totals span{display:block;color:#9d8a70;font:12px var(--site-font)}.site-admin-totals strong{display:block;margin-top:4px;color:#f3dfb4;font-size:24px}.site-admin-totals small{display:block;margin-top:2px;color:#9d8a70;font:12px var(--site-font)}@media(max-width:900px){.site-admin-split{grid-template-columns:minmax(0,1fr)}}.site-home{--blood: #8f1d1d;--blood-hi: #c23a2e;--ink: #070606}.site-home .site-nav{position:sticky;top:0;z-index:5;min-height:64px;padding:8px clamp(16px,5vw,90px);background:#050404f0;border-bottom:1px solid rgba(143,29,29,.45);box-shadow:0 6px 24px #0009}.site-mark{gap:8px}.site-mark .site-mark-emblem{width:40px;height:40px;filter:drop-shadow(0 0 6px rgba(143,29,29,.55))}.site-mark .site-mark-logo{width:116px;height:auto}.site-nav nav a{color:#d8cdbd}.site-nav nav a[aria-current=page],.site-nav nav a:hover{color:#f1d9a8}.site-home .site-nav .site-nav-play{padding:10px 22px;border:1px solid #c58e4d;color:#1a0f08;background:linear-gradient(#e7b56c,#a8692f);clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%)}.site-home .site-nav .site-nav-play:hover{color:#000;background:linear-gradient(#f3c983,#b9783a)}.site-home .site-hero{min-height:min(820px,92svh);justify-content:center;padding:60px 16px 200px;text-align:center;background:radial-gradient(ellipse at 50% 40%,transparent 30%,rgba(5,4,4,.55) 75%),linear-gradient(0deg,#0b0909 0%,rgba(11,9,9,.4) 22%,transparent 45%),url(/assets/site/key-art.webp) center 35% / cover no-repeat}.site-home .site-hero-copy{max-width:900px;margin:0 auto}.site-home .site-hero-logo{width:min(640px,88vw);margin:0 auto 10px}.site-home .brand-logo{filter:drop-shadow(0 0 22px rgba(143,29,29,.35)) drop-shadow(0 10px 26px rgba(0,0,0,.9))}.site-home .site-tagline{margin:0 auto;color:#e2d6c4;font-size:clamp(17px,2.2vw,25px);text-shadow:0 2px 12px #000}.site-home .site-hero-actions{justify-content:center;align-items:center;gap:18px;margin-top:34px}.site-home .site-hero-note{color:#a99a86}.site-cta{display:inline-flex;align-items:center;justify-content:center;min-width:260px;min-height:58px;padding:0 44px;color:#1e1006!important;font:700 17px var(--site-font);background:linear-gradient(#f2c57b,#c27b35 55%,#8c4d1d);border:1px solid #f6d7a0;clip-path:polygon(22px 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,22px 100%,0 50%);box-shadow:inset 0 1px #fff3,0 0 30px #c27b3559;transition:filter .15s}.site-cta:hover{filter:brightness(1.12);color:#000!important}.site-front{position:relative;z-index:1;width:calc(100% - 32px);max-width:1140px;margin:-150px auto 0;padding-bottom:90px}.site-front-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;margin-bottom:44px;align-items:stretch}.site-front-row+.site-front-row{gap:40px}.site-banner{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:290px;padding:30px;text-align:center;overflow:hidden;background:linear-gradient(0deg,#050404d9,#05040459),url(/assets/site/key-art.webp) 70% 40% / 180% no-repeat;border:1px solid #2a1c1c;box-shadow:0 18px 40px #000000b3}.site-banner:hover{color:inherit!important}.site-banner:hover strong{color:#fff}.site-banner-kicker{color:var(--blood-hi);font:700 13px var(--site-font)}.site-banner strong{color:#efe3cf;font-size:clamp(36px,5vw,54px);font-weight:700;line-height:1.15;text-shadow:0 4px 18px #000}.site-banner-sub{color:#bfb2a0;font:13px var(--site-font)}.site-banner-button{margin-top:16px;padding:9px 30px;color:#f3c9a0;border:1px solid var(--blood);background:#3c0a0ab3;font:700 13px var(--site-font);clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,12px 100%,0 50%)}.site-board{min-width:0;padding:24px 28px;color:#d8cdbd;background:linear-gradient(180deg,#0c0909f5,#140a0af5);border:1px solid #2a1c1c;box-shadow:0 18px 40px #000000b3}.site-board-head{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:12px;border-bottom:1px solid #2c2222}.site-board-head h2{margin:0;color:#efe3cf;font-size:22px;font-weight:500}.site-board-head a{color:#a99a86;font:12px var(--site-font)}.site-board-list{margin:0;padding:0;list-style:none}.site-board-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #221a1a;font:14px var(--site-font)}.site-board-list strong{overflow:hidden;color:#efe3cf;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.site-board-list li>span:last-child{color:#8f8373;font-size:12px;text-align:right}.site-board-tag{color:#5fb8a8;font-size:12px}.site-board-tag.is-event{color:#e3a85a}.site-board-tag.is-boss{color:var(--blood-hi)}.site-board-empty{color:#8f8373;font:14px var(--site-font)}.site-parchment{position:relative;min-width:0;padding:34px 34px 28px;color:#3a2a1e;background:radial-gradient(ellipse at 30% 20%,rgba(255,255,255,.35),transparent 60%),radial-gradient(circle at 80% 85%,rgba(120,30,20,.18),transparent 40%),linear-gradient(160deg,#d9ccb4,#c4b294 60%,#b19c7b);border:6px solid #3b2a20;outline:1px solid #6b4f36;box-shadow:inset 0 0 40px #46281473,0 18px 40px #000000b3}.site-parchment h2{margin:0 0 14px;color:#2a1a10;font-size:24px;font-weight:700;text-align:center}.site-parchment table{width:100%;border-collapse:collapse;font:14px var(--site-font)}.site-parchment th,.site-parchment td{padding:9px 6px;text-align:left;border-bottom:1px solid rgba(80,50,30,.22)}.site-parchment thead th{color:#6b4f36;font-size:12px;font-weight:600;border-bottom:1px dashed rgba(80,50,30,.5)}.site-parchment tbody th{font-weight:600}.site-parchment td:first-child{width:34px;color:#6b4f36}.site-parchment td:last-child,.site-parchment th:last-child{text-align:right;color:#7a2016;font-weight:700}.site-parchment tr[data-top="1"] th{color:#8f1d1d}.site-parchment td[data-race=yaksha]{color:#7a2016}.site-parchment-more{display:block;margin-top:16px;color:#6b2a1a!important;font:700 12px var(--site-font);text-align:center;text-decoration:underline}.site-ornate{display:flex;align-items:center;justify-content:center;gap:16px;margin:0 0 18px;color:#efe3cf;font-size:24px;font-weight:500}.site-ornate:before,.site-ornate:after{content:"";flex:1;max-width:140px;height:1px;background:linear-gradient(90deg,transparent,var(--blood))}.site-ornate:after{transform:scaleX(-1)}.site-guides{padding:8px 0;background:none;border:0;box-shadow:none}.site-guides ul{margin:0;padding:0;list-style:none}.site-guides li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 2px;border-bottom:1px solid #2c2222}.site-guides li a{min-width:0}.site-guides li strong{display:block;color:#efe3cf;font:500 15px/1.5 var(--site-font)}.site-guides li a:hover strong{color:#f1d9a8}.site-guides li small{color:#8f8373;font:12px var(--site-font)}.site-guides li>span{flex:none;color:#c9b9a2;font:12px var(--site-font)}.site-home .site-jobs{padding:10px 0 0;background:none;border:0}.site-home .site-job-grid{margin-top:10px}.site-home .site-job{min-height:190px;background:linear-gradient(170deg,#3c0e0e59,#080606e6);border-color:#2c2222;box-shadow:none}.site-home .site-job-index{color:var(--blood-hi)}.site-home .site-job p{color:#a99a86}.site-home .site-footer{display:grid;justify-items:center;justify-content:center;gap:12px;padding:44px 16px 36px;text-align:center;background:#050404;border-top:1px solid rgba(143,29,29,.4);color:#8f8373}.site-footer-emblem{width:72px;height:72px;opacity:.85}.site-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 28px;font:13px var(--site-font)}.site-footer nav a{color:#c9b9a2}.site-footer p{font:13px var(--site-font)}.site-footer small{color:#6c6155;font:12px var(--site-font)}.site-home .site-board:not(.site-guides),.site-home .site-job{border:25px solid transparent;border-image:url(/assets/ui/lacquer/window_frame.webp) 60 fill / 25px round;background:none}.site-home .site-board:not(.site-guides){padding:6px 10px}.site-home .site-banner{border:25px solid transparent;border-image:url(/assets/ui/lacquer/window_frame.webp) 60 / 25px round;background-origin:border-box}.site-home .site-job{position:relative;min-height:330px;padding:4px 2px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}.site-job-portrait{position:absolute;inset:-6% -10% auto auto;width:120%;height:112%;object-fit:cover;object-position:center top;pointer-events:none;filter:saturate(.55) brightness(.62) sepia(.25);-webkit-mask-image:linear-gradient(180deg,#000 35%,transparent 88%);mask-image:linear-gradient(180deg,#000 35%,transparent 88%);transition:filter .25s}.site-home .site-job:hover .site-job-portrait{filter:saturate(.8) brightness(.8) sepia(.15)}.site-home .site-job>:not(.site-job-portrait){position:relative}.site-home .site-job h3{margin:6px 0 8px;text-shadow:0 2px 10px #000}@media(max-width:860px){.site-front{margin-top:-110px}.site-front-row,.site-front-row+.site-front-row{grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:28px}.site-home .site-job-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.site-home .site-hero{min-height:560px;padding:40px 16px 150px}.site-cta{min-width:0;width:100%;max-width:320px}.site-board,.site-parchment{padding:20px 16px}.site-board-list li{grid-template-columns:minmax(0,1fr) auto}.site-board-list li>span:first-child{grid-column:1 / -1}.site-mark .site-mark-logo{width:96px}.site-home .site-job-grid{grid-template-columns:minmax(0,1fr)}.site-home .site-job{min-height:260px}.site-job-portrait{inset:0 -6% 0 auto;width:62%;height:100%;object-fit:contain;object-position:right top}.site-home .site-job>:not(.site-job-portrait){max-width:70%}}.site-home .site-button-primary,.site-home .site-button-secondary,.site-home .site-cta,.site-home .site-nav .site-nav-play,.site-home .site-banner-button,.site-home .site-tab{--plate-h: 64px;--plate-end: calc(var(--plate-h) * .433);min-height:var(--plate-h);padding:0 6px;border-style:solid;border-color:transparent;border-width:0 var(--plate-end);border-image:url(/assets/site/site-button.webp) 0 78 fill / 0 var(--plate-end) stretch;background:none;clip-path:none;box-shadow:none;transition:filter .15s;color:#fff1d6!important;font-weight:700;text-shadow:0 1px 2px #000,0 0 6px rgba(0,0,0,.8)}.site-home .site-button-secondary,.site-home .site-banner-button,.site-home .site-tab{border-image-source:url(/assets/site/site-button-dark.webp);color:#e9d6b8!important}.site-home .site-button-primary:hover,.site-home .site-button-secondary:hover,.site-home .site-cta:hover,.site-home .site-nav .site-nav-play:hover,.site-home .site-tab:hover{background:none;filter:brightness(1.18)}.site-home .site-cta{--plate-h: 84px;min-width:300px;font-size:18px}.site-home .site-nav .site-nav-play{--plate-h: 56px;display:inline-flex;align-items:center;justify-content:center}.site-home .site-banner-button{--plate-h: 46px;display:inline-flex;align-items:center;padding:0 10px}.site-home .site-tab{--plate-h: 58px;padding:0 10px}.site-home .site-tab[aria-pressed=true]{border-image-source:url(/assets/site/site-button.webp);color:#fff1d6!important;background:none}.site-ornate:before,.site-ornate:after{flex:0 1 152px;max-width:152px;height:32px;background:url(/assets/site/divider-left.webp) right center / contain no-repeat}.site-ornate:after{transform:none;background-image:url(/assets/site/divider-right.webp);background-position:left center}.site-home .site-parchment,.site-home .site-rankings .site-items-table-wrap{border:56px solid transparent;border-image:url(/assets/site/parchment.webp) 100 fill / 56px stretch;background:none;outline:0;box-shadow:0 18px 40px #0000008c}.site-home .site-parchment{padding:0;margin:-10px}.site-home .site-parchment h2{margin-top:-18px}.site-home .site-rankings .site-items-table-wrap{margin:0 -14px}.site-rankings .site-items-table{color:#3a2a1e}.site-home .site-rankings .site-items-table thead th{color:#6b4f36;background:none;border-bottom:1px dashed rgba(80,50,30,.5)}.site-rankings .site-items-table th,.site-rankings .site-items-table td{border-bottom-color:#50321e38}.site-rankings .site-items-table tbody th{color:#2a1a10;font-weight:600}.site-home .site-rankings-table tr[data-top="1"] th,.site-home .site-rankings-table tr[data-top="1"] td:first-child{color:#8f1d1d}.site-home .site-rankings-table tr[data-top="2"] th,.site-home .site-rankings-table tr[data-top="2"] td:first-child{color:#4a3a6a}.site-home .site-rankings-table tr[data-top="3"] th,.site-home .site-rankings-table tr[data-top="3"] td:first-child{color:#7a4a20}.site-rankings .site-items-table td:last-child{color:#7a2016;font-weight:700}.site-home .site-form-panel,.site-home .site-world-card,.site-home .site-items-table-wrap,.site-home .site-ranks-table-wrap,.site-home .site-character-card,.site-home .site-message-panel,.site-home .site-items-stone,.site-home .site-items-recipe,.site-home .site-admin-totals div{border:25px solid transparent;border-image:url(/assets/ui/lacquer/window_frame.webp) 60 fill / 25px round;background:none}.site-home .site-form-panel{padding:clamp(12px,3vw,34px)}.site-home .site-world-card{padding:8px 10px}.site-home .site-character-card{padding:10px 12px}.site-home .site-character-empty{opacity:.8}.site-home .site-message-panel{padding:clamp(24px,5vw,56px)}.site-home .site-items-stone,.site-home .site-items-recipe{padding:8px 10px}.site-home .site-admin-totals div{padding:4px 8px}.site-home .site-details>div{background:#0e0b0b}.site-home .site-items-table thead th,.site-home .site-ranks-table thead th{background:#1e0c0cb3}.site-home .site-world-list li{background:#140e0ee6;border-left-color:#8f1d1d99}.site-home .site-field input,.site-home .site-field select,.site-home .site-drops-search{background:#080606;border-color:#4a2c24}.site-home .site-field label{color:#e0bf8a}.site-home main[data-route]:not([data-route="/"]){background:linear-gradient(180deg,#0b09099e,#0b0909 440px),url(/assets/site/key-art.webp) center 28% / 100% auto no-repeat;background-color:#0b0909}.site-home .site-ranks-heading{max-width:none;margin-bottom:26px;text-align:center}.site-home .site-ranks-heading .eyebrow{color:var(--blood-hi)}.site-home .site-ranks-heading h1{display:flex;align-items:center;justify-content:center;gap:clamp(10px,2vw,22px);margin:10px 0 14px}.site-home .site-ranks-heading h1:before,.site-home .site-ranks-heading h1:after{content:"";flex:0 1 190px;height:40px;background:url(/assets/site/divider-left.webp) right center / contain no-repeat}.site-home .site-ranks-heading h1:after{background-image:url(/assets/site/divider-right.webp);background-position:left center}.site-home .site-ranks-intro{max-width:760px;margin:0 auto;color:#cfc2b0}.site-home .site-items-toc{justify-content:center;border-color:#8f1d1d66}.site-home .site-items-section h2{color:#efe3cf}.site-home .site-items-seal{border-left-color:var(--blood);background:#140c0ce6}.site-home .site-ranks-cap{text-align:center}.site-home .site-tabs{justify-content:center}.site-home .site-profile-heading h1,.site-home .site-message-panel h1,.site-home .site-account-story h1{text-shadow:0 4px 18px #000}.site-home .site-account-story{border-right:1px solid rgba(143,29,29,.35)}@media(max-width:600px){.site-home .site-cta{--plate-h: 72px;min-width:0}.site-home .site-ranks-heading h1:before,.site-home .site-ranks-heading h1:after{flex-basis:64px;height:24px}.site-ornate:before,.site-ornate:after{flex-basis:70px}.site-home .site-parchment,.site-home .site-rankings .site-items-table-wrap{border-width:36px;border-image-width:36px}.site-home .site-rankings .site-items-table-wrap{margin:0 -8px}.site-home .site-form-panel,.site-home .site-world-card,.site-home .site-items-table-wrap,.site-home .site-ranks-table-wrap,.site-home .site-character-card,.site-home .site-message-panel,.site-home .site-items-stone,.site-home .site-items-recipe{border-width:18px;border-image-width:18px}}.site-admin-table tr[data-admin-stall-flag]{background:#a0281e33}.site-admin-table tr[data-admin-stall-flag] td:last-child{color:#ffad9c}.site-guide-steps,.site-guide-list{margin:.4rem 0 .8rem;padding-left:1.3rem;line-height:1.75}.site-guide-list li::marker{color:#c9a45c}.site-guide a,.site-world-card [data-guide] a{color:#e2c27a;text-decoration:underline;text-underline-offset:3px}.site-home .site-job-grid.site-race-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-race-note{margin:12px 0 0;text-align:center;color:#a99a86;font:14px var(--site-font)}@media(max-width:600px){.site-home .site-job-grid.site-race-grid{grid-template-columns:minmax(0,1fr)}}.site-gem-kind{display:inline-block;margin:0 6px 2px 0;padding:1px 8px;border:1px solid currentColor;border-radius:2px;font-size:13px;white-space:nowrap}.site-gem-kind small{opacity:.75}.site-gem-kind.is-attack{color:#e8806f}.site-gem-kind.is-defense{color:#7fb4e8}.site-gem-kind.is-style{color:#d8c070}.site-gem-icon{width:24px;height:24px;vertical-align:middle;object-fit:contain}.site-gem-table td small{display:block;color:#a99a86}.site-gem-sources{margin:8px 0 0}.loading-screen{--loading-night: #0c1721;--loading-ink: #080b10;--loading-gold: #c99a53;--loading-cream: #f2dfbc;--loading-muted: #bda783;position:absolute;inset:0;z-index:50;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:28px;background:radial-gradient(ellipse at 50% 43%,#253246 0%,var(--loading-night) 55%,var(--loading-ink) 100%);color:var(--loading-cream);font-family:var(--site-font);text-align:center;pointer-events:auto;touch-action:none;opacity:1}.loading-screen.loading-leaving{opacity:0;transition:opacity .35s ease;pointer-events:none}.loading-art{position:absolute;inset:-22px;background-position:center;background-size:cover;filter:blur(6px) brightness(.42) saturate(.7);opacity:.72}.loading-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at center,#0a0e144d,#070a0fbf 76%,#080b10),linear-gradient(180deg,rgba(8,11,16,.35),transparent 40%,rgba(8,11,16,.65))}.loading-center{position:relative;z-index:1;width:min(100%,540px);transform:translateY(-9%)}.loading-rule{display:flex;align-items:center;gap:13px;width:112px;margin:0 auto 30px;color:var(--loading-gold);opacity:.85}.loading-rule:before,.loading-rule:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,currentColor)}.loading-rule:after{transform:rotate(180deg)}.loading-rule span{width:9px;height:9px;border:1px solid currentColor;transform:rotate(45deg)}.loading-name-th,.loading-name-en{font-family:var(--site-font);font-weight:400}.loading-name-th{margin:0;font-size:clamp(32px,5vw,62px);line-height:1.25;letter-spacing:.035em;text-shadow:0 2px 24px #000}.loading-name-en{margin:7px 0 0;color:var(--loading-gold);font-size:clamp(16px,2vw,23px);letter-spacing:.15em}.loading-journey{margin:34px 0 24px;color:var(--loading-muted);font-size:14px;letter-spacing:.045em}.loading-progress-wrap{position:relative;width:min(100%,360px);margin:0 auto;padding:5px;border:1px solid #5b442c;background:#100e10;box-shadow:inset 0 0 0 1px #251b18,0 5px 22px #00000080}.loading-progress-wrap:before,.loading-progress-wrap:after{content:"";position:absolute;top:50%;z-index:1;width:8px;height:8px;border:1px solid var(--loading-gold);background:#211819;transform:translateY(-50%) rotate(45deg)}.loading-progress-wrap:before{left:-5px}.loading-progress-wrap:after{right:-5px}.loading-progress{height:3px;overflow:hidden;background:#28221f}.loading-progress-fill{position:relative;display:block;height:100%;background:linear-gradient(90deg,#875a32,#eac27b);box-shadow:0 0 8px #eac27b99;transition:width .28s ease-out}.loading-progress-fill.loading-indeterminate{width:32%!important;animation:loading-shimmer 1.8s ease-in-out infinite}.loading-tip{position:absolute;z-index:1;right:24px;bottom:max(30px,env(safe-area-inset-bottom));left:24px;min-height:2.8em;color:#c4b39b;font-size:12px;line-height:1.4;letter-spacing:.015em}.loading-tip span{display:block}.loading-tip-out,.loading-tip-in{position:absolute;inset:0}.loading-tip-out{animation:loading-tip-out .35s ease both}.loading-tip-in{animation:loading-tip-in .35s ease both}@keyframes loading-drift{0%{transform:translate3d(-5px,2px,0) scale(1.01)}to{transform:translate3d(5px,-4px,0) scale(1.025)}}@keyframes loading-shimmer{0%{transform:translate(-110%)}to{transform:translate(330%)}}@keyframes loading-tip-out{0%{opacity:1}to{opacity:0}}@keyframes loading-tip-in{0%{opacity:0}to{opacity:1}}.game-shell[data-layout=compact] .loading-screen{padding:22px}.game-shell[data-layout=compact] .loading-center{transform:translateY(-15%)}.game-shell[data-layout=compact] .loading-name-th{font-size:clamp(29px,8vw,38px)}.game-shell[data-layout=compact] .loading-name-en{font-size:16px;letter-spacing:.1em}.game-shell[data-layout=compact] .loading-journey{margin:28px 0 22px;font-size:12px}.game-shell[data-layout=compact] .loading-tip{right:22px;bottom:calc(30px + env(safe-area-inset-bottom));left:22px;font-size:11px}@media(prefers-reduced-motion:reduce){.loading-screen.loading-leaving{transition:none}.loading-art,.loading-progress-fill.loading-indeterminate,.loading-tip-out,.loading-tip-in{animation:none}.loading-progress-fill{transition:none}}.rotate-screen{position:absolute;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:28px;background:radial-gradient(ellipse at 50% 43%,#253246,#0c1721 55%,#080b10);color:#f2dfbc;font-family:var(--site-font);text-align:center;pointer-events:auto;touch-action:none}.rotate-center{width:min(100%,420px)}.rotate-center h2{margin:26px 0 10px;color:#f2dfbc;font-size:22px;font-weight:600}.rotate-center p{margin:0 0 8px;color:#bda783;font-size:15px;line-height:1.55}.rotate-center .rotate-hint{margin-top:18px;font-size:13px}.rotate-device{width:46px;height:78px;margin:0 auto;border:3px solid #c99a53;border-radius:9px;box-shadow:inset 0 -9px 0 -6px #c99a53;animation:rotate-turn 2.4s ease-in-out infinite}@keyframes rotate-turn{0%,25%{transform:rotate(0)}55%,to{transform:rotate(-90deg)}}@media(prefers-reduced-motion:reduce){.rotate-device{animation:none;transform:rotate(-90deg)}}.rotate-go{min-height:48px;margin-top:18px;padding:10px 22px;color:#f2dfbc;background:#3a2a18;border:1px solid #c99a53;font:inherit;font-size:16px;cursor:pointer}:root{color-scheme:dark;--bg: #10131a;--panel: #1b202b;--line: #2c3444;--text: #e8ecf4;--muted: #9aa5ba;--accent: #6ea8fe;--danger: #ff8080;--site-font: "Krub", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;font-family:var(--site-font)}*{box-sizing:border-box}body{overscroll-behavior:none;margin:0;min-height:100vh;background:var(--bg);color:var(--text);display:grid;place-items:center;overflow:hidden}#root{width:100%}.overlay{position:fixed;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,#1c2434,#0b0e14 70%);z-index:10}.panel{width:min(380px,calc(100vw - 32px));padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;gap:10px}.panel h1{margin:0;font-size:30px;letter-spacing:.5px}.sub{margin:0 0 8px;color:var(--muted);font-size:13px}.panel label{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.panel input{padding:10px 12px;font-size:15px;color:var(--text);background:#131822;border:1px solid var(--line);border-radius:6px}.panel input:focus{outline:2px solid var(--accent);outline-offset:1px}.panel button{margin-top:6px;padding:11px 12px;font-size:15px;font-weight:600;color:#0b0e14;background:var(--accent);border:0;border-radius:6px;cursor:pointer}.panel button:disabled{opacity:.6;cursor:progress}.error{margin:0;color:var(--danger);font-size:13px}.hint{margin:4px 0 0;color:var(--muted);font-size:12px}.auth-tabs{display:flex;gap:6px;margin-bottom:4px}.auth-tab{flex:1;margin-top:0;padding:8px 10px;font-size:13px;font-weight:600;color:var(--muted);background:#131822;border:1px solid var(--line);border-radius:6px;cursor:pointer}.auth-tab:hover{color:var(--text)}.auth-tab-active{color:#0b0e14;background:var(--accent);border-color:var(--accent)}.create-screen{width:min(940px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow-y:auto;padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;gap:16px}.create-header h1{margin:0;font-size:24px;letter-spacing:.5px}.create-header .sub{margin:4px 0 0}.create-body{display:grid;grid-template-columns:210px 1fr 230px;gap:16px;align-items:start}.create-jobs{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.create-job{width:100%;margin:0;padding:10px 12px;display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;color:var(--text);background:#131822;border:1px solid var(--line);border-radius:6px;cursor:pointer;text-align:left}.create-job:hover{border-color:#46536b}.create-job.is-selected{color:#0b0e14;background:var(--accent);border-color:var(--accent)}.create-job-icon{width:22px;height:22px;flex:0 0 auto;border:2px solid #10131a;border-radius:3px}.create-preview{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;background:radial-gradient(circle at 50% 35%,#202a3c,#10131a 70%);border:1px solid var(--line);border-radius:8px}.create-doll{position:relative;display:grid;place-items:center;image-rendering:pixelated}.create-doll-body{border:4px solid #ffffff;border-radius:2px}.create-doll-hair,.create-doll-nose{position:absolute;border-radius:2px}.create-doll-nose{background:#ffffffe6}.create-art{display:block;background-repeat:no-repeat;background-position:0 0;image-rendering:auto}.create-art.is-animated{animation-name:create-idle;animation-timing-function:steps(2);animation-iteration-count:infinite}@keyframes create-idle{0%{background-position-x:0}to{background-position-x:calc(-1 * var(--sheet-w))}}@media(prefers-reduced-motion:reduce){.create-art.is-animated{animation:none}}.create-portrait{display:block;background-repeat:no-repeat;background-position:center bottom;background-size:contain;image-rendering:auto}.create-genders{display:flex;gap:8px;width:100%}.create-gender{flex:1 1 0;margin:0;padding:8px 6px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text);background:#131822;border:1px solid var(--line);border-radius:6px;cursor:pointer}.create-gender:hover{border-color:#46536b}.create-gender.is-selected{color:#0b0e14;background:var(--accent);border-color:var(--accent)}.create-races{display:flex;justify-content:center;gap:8px;margin-top:8px}.create-races .create-race{min-width:120px;margin:0;padding:8px 18px;font-size:14px;font-weight:700;color:var(--text);background:#131822;border:1px solid var(--line);border-radius:6px;cursor:pointer}.create-races .create-race:hover{border-color:#46536b}.create-races .create-race.is-selected{color:#0b0e14;background:var(--accent);border-color:var(--accent)}.create-gender-icon{position:relative;display:grid;place-items:center;image-rendering:pixelated}.create-gender-body{border:1px solid #10131a;border-radius:2px}.create-gender-hair{position:absolute;border-radius:2px}.create-sprite-id{margin:0;font-family:ui-monospace,monospace;font-size:11px;color:var(--muted)}.create-intro h2{margin:0 0 2px;font-size:20px}.create-intro-label{margin:14px 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted)}.create-bullets{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:14px}.create-stats{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.create-stats li{display:flex;justify-content:space-between;gap:6px;padding:5px 7px;font-family:ui-monospace,monospace;font-size:12px;color:var(--muted);background:#131822;border:1px solid var(--line);border-radius:4px}.create-stats strong{color:var(--text)}.create-confirm{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding-top:14px;border-top:1px solid var(--line)}.create-name{flex:1 1 240px;display:flex;flex-direction:column;gap:6px}.create-name label{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.create-name input{padding:10px 12px;font-size:15px;color:var(--text);background:#131822;border:1px solid var(--line);border-radius:6px}.create-name input:focus{outline:2px solid var(--accent);outline-offset:1px}.create-actions{display:flex;gap:8px}.create-actions button{padding:11px 18px;font-size:15px;font-weight:600;border:0;border-radius:6px;cursor:pointer}.create-back{color:var(--text);background:#131822;border:1px solid var(--line)!important}.create-enter{color:#0b0e14;background:var(--accent)}.create-actions button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:820px){.create-body{grid-template-columns:1fr}.create-jobs{flex-direction:row;flex-wrap:wrap}.create-jobs li{flex:1 1 140px}}.eyebrow{color:#d9ad62;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.site-home,.auth-overlay,.create-overlay{--gold: #c99a53;--cream: #f5e9d0;--dim: #baa98e;--teak: #271a15;font-family:var(--site-font)}.site-home{position:fixed;inset:0;overflow-y:auto;background:#0b0909;color:var(--cream);z-index:10}.site-nav{position:absolute;top:0;left:0;right:0;z-index:2;min-height:78px;padding:17px clamp(22px,5vw,90px);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(234,191,113,.24)}.site-mark,.site-footer>span:first-child{font-size:25px;font-weight:700;letter-spacing:.28em}.site-mark{letter-spacing:.02em}.site-mark{display:inline-flex;align-items:center;gap:10px}.site-mark img{width:40px;height:40px;filter:drop-shadow(0 0 6px rgba(214,168,90,.35))}.brand-logo{display:block;width:100%;height:auto;user-select:none;filter:drop-shadow(0 0 18px rgba(214,168,90,.28)) drop-shadow(0 8px 22px rgba(8,6,4,.85))}.site-hero-logo{width:min(340px,72vw);margin:10px 0 6px;line-height:0}.auth-story-logo{width:min(300px,26vw);margin:6px 0 4px;line-height:0}.auth-overlay .panel h1.auth-panel-logo{width:150px;margin:2px auto 0;line-height:0}.site-account-logo{display:block;width:min(220px,60vw);margin:4px 0 6px;line-height:0}.site-nav button{border:1px solid rgba(232,190,118,.65);background:#150d0a7a;color:var(--cream);padding:11px 20px;font:700 12px var(--site-font);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.site-nav button span{color:var(--gold);margin-left:15px}.site-hero{min-height:min(820px,100svh);position:relative;display:flex;align-items:center;padding:110px clamp(24px,8vw,150px) 90px;background:linear-gradient(90deg,#0c0a09e6,#120d0ab0 31%,#120d0a0a 75%),linear-gradient(0deg,#130f0c 0%,transparent 25%),url(/assets/site/key-art.webp) center / cover no-repeat}.site-hero-copy{position:relative;max-width:620px;z-index:1}.site-hero h1{margin:14px 0 10px;font-size:clamp(48px,9vw,95px);line-height:1.15;letter-spacing:.02em;text-shadow:0 5px 24px #080604}.site-tagline{font-size:clamp(19px,2.5vw,31px);line-height:1.4;color:#eee1c9;text-shadow:0 2px 10px #0c0907}.site-play{margin-top:25px;min-width:180px;padding:17px 25px;color:#1a100b;background:linear-gradient(#e5c286,#bc8541);border:1px solid #f3d8a7;box-shadow:0 8px 28px #0006;font:700 16px var(--site-font);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.site-play span{margin-left:45px}.site-hero-foot{position:absolute;bottom:42px;left:clamp(24px,8vw,150px);font:700 10px var(--site-font);letter-spacing:.25em;color:#dfc293}.site-jobs{padding:85px clamp(24px,8vw,150px) 110px;background:linear-gradient(180deg,#130f0c,#21150f);border-top:1px solid rgba(214,164,82,.27)}.site-section-heading{text-align:center}.site-section-heading h2{margin:12px 0;font-size:clamp(32px,5vw,57px);font-weight:400}.site-section-heading p{color:#c8b9a0;font-size:16px}.site-job-grid{margin:48px auto 0;max-width:1200px;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.site-job{min-height:220px;padding:25px 19px;border:1px solid rgba(211,161,84,.38);background:linear-gradient(155deg,#69311d4d,#0f0b0aa6);box-shadow:inset 0 0 0 4px #00000026}.site-job-index{color:var(--gold);font:700 11px var(--site-font);letter-spacing:.2em}.site-job h3{margin:34px 0 12px;font-size:23px;font-weight:400}.site-job p{margin:0;color:#c6b399;font:12px/1.6 var(--site-font)}.site-footer{display:flex;align-items:center;justify-content:space-between;padding:35px clamp(24px,8vw,150px);border-top:1px solid rgba(211,161,84,.2);color:#bdab8b;font-size:13px}.auth-overlay,.create-overlay{background:linear-gradient(90deg,#0c090875,#0c0908a3),url(/assets/site/key-art.webp) center / cover no-repeat;color:var(--cream)}.auth-overlay{display:flex;justify-content:space-around;align-items:center;gap:30px;padding:24px}.auth-story{width:min(40vw,560px);text-shadow:0 3px 18px #090706}.auth-story strong{display:block;font-size:clamp(48px,7vw,80px);line-height:1;letter-spacing:.02em}.auth-story p{font-size:24px;color:#ead7b7}.auth-overlay .panel,.create-screen{background:linear-gradient(155deg,#2b1b14f7,#150f0dfa);border:1px solid #9a6e3c;border-radius:2px;box-shadow:0 28px 75px #080605bb,inset 0 0 0 4px #dfb06417}.auth-overlay .panel{width:min(420px,100%);padding:35px;gap:12px}.auth-overlay .panel h1{font-size:49px;font-weight:400;line-height:1}.auth-overlay .sub,.create-header .sub{color:#cbb99a;line-height:1.5}.auth-overlay .panel label,.create-name label{color:#d4b98e;letter-spacing:.14em}.auth-overlay .panel input,.create-name input{min-height:46px;color:#f7ebd5;background:#160f0d;border:1px solid #69503b;border-radius:2px}.auth-overlay .panel input:focus,.create-name input:focus{outline:2px solid #d2a45e}.auth-overlay .panel button:not(.auth-tab),.create-enter{color:#21140e;background:linear-gradient(#e4bc79,#b77d3d);border:1px solid #f0d19b;border-radius:2px;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.auth-tabs{gap:0;border-bottom:1px solid #74512e;margin:8px 0}.auth-overlay .panel .auth-tab{margin:0;color:#bba789;background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;text-transform:uppercase;letter-spacing:.11em;font-size:12px}.auth-overlay .panel .auth-tab-active{color:#f6dcaa;border-bottom-color:#d6a65c}.auth-overlay .hint{color:#ad9c85;line-height:1.5}.auth-home-link{align-self:center;margin-top:8px;color:#d9b577;font:700 11px var(--site-font);letter-spacing:.08em;text-decoration:none}.auth-home-link:hover{text-decoration:underline}.create-overlay{padding:22px}.create-screen{width:min(1080px,100%);max-height:calc(100dvh - 44px);padding:28px;gap:22px}.create-header{text-align:center;border-bottom:1px solid #78542f;padding-bottom:20px}.create-header h1{margin:7px 0;font-size:36px;font-weight:400}.create-body{grid-template-columns:180px minmax(260px,1fr) 300px;gap:20px}.create-jobs{gap:5px}.create-job{min-height:56px;border:1px solid #58412d;border-radius:0;background:#110c0ab3;color:#d7c3a4;font-family:var(--site-font);font-size:17px;font-weight:400}.create-job:hover{border-color:#b68a50}.create-job.is-selected{color:#f8e8c8;background:linear-gradient(90deg,#8b3c22b8,#3a1e1673);border-color:#c99a53}.create-job-number{color:#c69b5e;font:700 10px var(--site-font)}.create-preview{padding:10px;border:1px solid #715337;border-radius:0;background:radial-gradient(circle at center 40%,#60472d,#211713 72%)}.sprite-preview{width:100%}.character-portrait{display:block;width:auto;height:min(420px,52dvh);max-width:100%;margin:0 auto;object-fit:contain;user-select:none}.character-portrait.is-compact{width:100%;height:auto;max-height:250px}.sprite-stage{position:relative;display:grid;place-items:center;touch-action:pan-y;cursor:grab}.sprite-stage canvas{display:block;width:min(100%,320px);height:auto}.sprite-loading{position:absolute;bottom:20px;color:#e5c69b;font-size:12px}.sprite-turn{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#c9b69a;font:11px var(--site-font);text-align:center}.sprite-turn button{width:42px;height:38px;border:1px solid #9d7849;background:#0f0907a6;color:#ebcb90;font-size:26px;cursor:pointer}.create-genders{margin-top:10px}.create-gender{display:block;border:1px solid #725235;border-radius:0;background:#1b1310;color:#d4c0a1;font:700 12px var(--site-font);letter-spacing:.08em;text-transform:uppercase}.create-gender.is-selected{color:#25160f;background:#d6a65e;border-color:#eed09a}.create-intro{padding:8px 0}.create-intro h2{margin:10px 0 2px;font-size:34px;font-weight:400}.create-job-subtitle{margin:0;color:#d4b98e;font-size:16px}.create-job-life{margin:14px 0 18px;color:#e9d7ba;font-size:14px;line-height:1.65;overflow-wrap:anywhere}.create-intro-label{color:#c79a57;letter-spacing:.16em}.create-bullets{color:#e9d7ba;line-height:1.6}.create-bullets li::marker{color:#c79a57}.create-stats{grid-template-columns:repeat(2,1fr)}.create-stats li{padding:9px;color:#c7af8f;background:#1a110e;border:1px solid #5a402d;border-radius:0}.create-stats strong{color:#f1d29b}.create-confirm{border-top-color:#78542f}.create-back{border-color:#896641!important;border-radius:0;background:#211712;color:#e3ccaa}.create-enter{border-radius:0}.create-actions button{min-height:46px}.auth-overlay .error,.create-overlay .error{color:#ffad9c}.select-screen{width:min(1000px,100%);overflow-y:auto}.select-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}.select-slot{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;height:100%;min-height:330px;padding:14px 12px 18px;border:1px solid #58412d;background:radial-gradient(circle at center 38%,#4b3622,#1a120e 70%);color:#d7c3a4;font-family:var(--site-font);cursor:pointer}.select-slot:hover:not(:disabled){border-color:#b68a50}.select-slot.is-selected{border-color:#e0b36a;box-shadow:inset 0 0 0 1px #e0b36a,0 0 22px #e0b36a40;background:radial-gradient(circle at center 38%,#6a4a2b,#24170f 72%)}.select-slot:disabled{cursor:progress;opacity:.7}.select-slot-number{align-self:flex-start;color:#c69b5e;font:700 10px var(--site-font);letter-spacing:.2em}.select-slot-art{display:block;width:100%;max-width:230px;pointer-events:none}.select-slot-art .sprite-stage{cursor:inherit}.select-slot-name{color:#f8e8c8;font-size:22px;font-weight:400}.select-slot-meta{color:#d4b98e;font:12px var(--site-font)}.select-slot-map{color:#a8977e;font:11px var(--site-font)}.select-slot.is-empty{justify-content:center;border-style:dashed;background:#110c0ab3}.select-slot.is-empty strong{color:#bda683;font-size:20px;font-weight:400}.select-empty-mark{display:grid;place-items:center;width:64px;height:64px;margin:auto 0 8px;border:1px solid #8a6840;border-radius:50%;color:#e0b36a;font-size:34px}.select-slot.is-empty .select-slot-number,.select-slot.is-empty .select-slot-meta{margin-bottom:auto}.select-slots.is-many{grid-template-columns:repeat(var(--slot-count),minmax(0,1fr));gap:10px}.select-slots.is-many .select-slot{padding:12px 6px 14px}.select-slots.is-many .select-slot-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px}.select-slots.is-many .select-slot-meta,.select-slots.is-many .select-slot-map{text-align:center;font-size:11px}.select-slots.is-many .select-slot.is-empty strong{font-size:16px}.select-slots.is-many .select-empty-mark{width:48px;height:48px;font-size:26px}.select-actions{justify-content:space-between}.select-actions>.create-back{padding:0 18px;font-size:13px;cursor:pointer}.select-delete{color:#f0b3a3!important}.select-delete-confirm{display:grid;gap:12px;padding:16px;border:1px solid #a0503f;background:#4a241d8c}.select-delete-confirm p{margin:0;color:#f1d9c9;line-height:1.5}.select-delete-go{background:linear-gradient(#e4957a,#a8432d)!important;border-color:#f0b7a2!important}@media(max-width:850px){.site-job-grid{grid-template-columns:repeat(2,1fr)}.auth-story{display:none}.create-body{grid-template-columns:1fr 1fr}.create-jobs{grid-column:1 / -1;flex-direction:row}.create-jobs li{flex:1 1 140px}}@media(max-width:600px){.site-nav{min-height:65px}.site-hero{min-height:690px;align-items:flex-end;padding-bottom:120px;background-position:center,center,58% center}.site-hero h1{font-size:clamp(48px,12vw,72px)}.site-hero-logo{width:min(240px,64vw)}.site-mark img{width:34px;height:34px}.site-tagline{font-size:20px}.site-hero-foot{bottom:40px}.site-job-grid{grid-template-columns:1fr;gap:8px}.site-job{min-height:130px}.site-job h3{margin:18px 0 8px}.site-footer{gap:20px}.auth-overlay{padding:16px}.auth-overlay .panel{padding:24px}.create-overlay{padding:0}.create-screen{width:100%;max-height:100dvh;min-height:100dvh;padding:18px}.create-header h1{font-size:29px}.create-body{grid-template-columns:1fr}.create-jobs{display:grid;grid-template-columns:repeat(2,1fr)}.create-jobs li:last-child{grid-column:1 / -1}.create-job{min-height:44px;font-size:15px}.create-preview .character-portrait{height:min(300px,38dvh)}.create-intro{padding:0}.create-intro h2{margin-bottom:10px}.create-confirm{align-items:stretch}.create-name{flex-basis:100%}.create-actions{width:100%}.create-actions button{flex:1}.select-slots,.select-slots.is-many{grid-template-columns:1fr}.select-slots.is-many .select-slot{padding:14px 12px 18px}.select-slots.is-many .select-slot-name{font-size:22px}.select-slots.is-many .select-slot-meta,.select-slots.is-many .select-slot-map{text-align:left;font-size:12px}.select-slot{min-height:0;display:grid;grid-template-columns:96px 1fr;grid-template-rows:auto auto auto auto;justify-items:start;column-gap:12px;text-align:left}.select-slot>.select-slot-number{grid-column:1 / -1}.select-slot-art{grid-row:2 / 5}.select-slot.is-empty{display:flex;min-height:110px}.select-empty-mark{width:44px;height:44px;margin:0;font-size:24px}.select-actions{flex-direction:column}}button,input,select,textarea{font-family:inherit}.auth-overlay .panel,.create-screen{border:25px solid transparent;border-radius:0;border-image:url(/assets/ui/lacquer/window_frame.webp) 60 fill / 25px round;background:none;box-shadow:0 28px 75px #000c}.auth-overlay .panel{padding:14px 18px}.create-screen{padding:8px 14px}.auth-overlay .eyebrow,.create-header .eyebrow{color:#c23a2e}.auth-tabs{border-bottom-color:#8f1d1d73}.auth-overlay .panel .auth-tab-active{border-bottom-color:#c99a53}.auth-overlay .panel input,.create-name input{background:#080606;border-color:#4a2c24;border-radius:0}.create-header{border-bottom-color:#8f1d1d73}.create-header h1{display:flex;align-items:center;justify-content:center;gap:16px}.create-header h1:before,.create-header h1:after{content:"";flex:0 1 150px;height:30px;background:url(/assets/site/divider-left.webp) right center / contain no-repeat}.create-header h1:after{background-image:url(/assets/site/divider-right.webp);background-position:left center}.create-confirm{border-top-color:#8f1d1d73}.auth-overlay .panel button:not(.auth-tab),.create-enter,.create-back,.create-gender,.create-races .create-race{--plate-h: 58px;--plate-end: calc(var(--plate-h) * .433);min-height:var(--plate-h);padding:0 8px;border-style:solid!important;border-color:transparent!important;border-width:0 var(--plate-end)!important;border-radius:0;border-image:url(/assets/site/site-button.webp) 0 78 fill / 0 var(--plate-end) stretch!important;background:none!important;box-shadow:none;letter-spacing:0;text-transform:none;font-size:14px;font-weight:700;color:#fff1d6!important;text-shadow:0 1px 2px #000,0 0 6px rgba(0,0,0,.8);cursor:pointer;transition:filter .15s}.create-back,.create-gender{border-image-source:url(/assets/site/site-button-dark.webp)!important;color:#e9d6b8!important}.create-gender{--plate-h: 50px}.create-races .create-race{--plate-h: 52px;min-width:150px;border-image-source:url(/assets/site/site-button-dark.webp)!important;color:#e9d6b8!important}.create-races .create-race.is-selected{border-image-source:url(/assets/site/site-button.webp)!important;color:#fff1d6!important}.create-enter,.create-back{white-space:nowrap}.create-gender.is-selected{border-image-source:url(/assets/site/site-button.webp)!important;color:#fff1d6!important}.select-delete{color:#f2a596!important}.select-delete-go{border-image-source:url(/assets/site/site-button-dark.webp)!important;color:#ffb4a4!important}.auth-overlay .panel button:not(.auth-tab):hover:not(:disabled),.create-enter:hover:not(:disabled),.create-back:hover:not(:disabled),.create-gender:hover{filter:brightness(1.18)}.auth-overlay .panel button:disabled,.create-enter:disabled,.create-back:disabled{filter:grayscale(.6) brightness(.7);cursor:default}.select-slot{border-color:#2c2222;background:radial-gradient(circle at center 38%,#2a1414,#090707 72%);color:#cfc2b0}.select-slot:hover:not(:disabled){border-color:#8f1d1d}.select-slot .character-portrait{filter:saturate(.7) brightness(.72);transition:filter .2s}.select-slot.is-selected{border-color:#c99a53;box-shadow:inset 0 0 0 1px #c99a53,0 0 26px #8f1d1d73;background:radial-gradient(circle at center 38%,#4a1c16,#0e0909 72%)}.select-slot.is-selected .character-portrait,.select-slot:hover .character-portrait{filter:none}.select-slot-number{color:#c23a2e;letter-spacing:.04em}.select-slot-name{color:#efe3cf;text-shadow:0 2px 8px #000}.select-slot-meta{color:#c9b9a2}.select-slot-map{color:#8f8373}.select-slot.is-empty{border-color:#3a2626;background:#090707bf}.select-empty-mark{border-color:#8f1d1d;color:#c99a53}.select-delete-confirm{border-color:#8f1d1d;background:#280a0ab3}.create-job{border-color:#2c2222;background:#090707bf}.create-job:hover{border-color:#8f1d1d}.create-job.is-selected{background:linear-gradient(90deg,#8f1d1d8c,#1e0a0a73);border-color:#c99a53}.create-job-number{color:#c23a2e}.create-preview{border-color:#3a2626;background:radial-gradient(circle at center 40%,#3a1a14,#0b0808 72%)}.create-stats li{background:#0e0b0b;border-color:#3a2626}@media(max-width:600px){.auth-overlay .panel,.create-screen{border-width:18px;border-image-width:18px}.create-header h1:before,.create-header h1:after{flex-basis:50px;height:20px}}.game-shell{--hud-ink: #100c0b;--hud-surface: #1b1210;--hud-raised: #2a1c17;--hud-hover: #3b2920;--hud-panel: rgba(16, 12, 11, .88);--hud-modal: #140e0c;--hud-glass: rgba(16, 12, 11, .55);--hud-cooldown: rgba(16, 12, 11, .72);--hud-veil: rgba(10, 7, 6, .6);--hud-line: rgba(201, 166, 100, .38);--hud-gold: #c9a664;--hud-gold-dark: #806034;--hud-bright: #f0d29a;--hud-cream: #f2dfbc;--hud-muted: #b6a183;--hud-hp: #bc5147;--hud-hp-dark: #702b28;--hud-sp: #75b7ba;--hud-sp-dark: #32656d;--hud-danger: #e58a76;--hud-danger-bg: #47221c;--hud-death-veil: rgba(60, 12, 8, .42);--hud-title-font: var(--site-font);position:relative;aspect-ratio:25 / 19;width:min(100vw,calc(100vh * 25 / 19));max-height:100vh;margin:0 auto;overflow:hidden}.game-canvas{position:absolute;inset:0}.game-shell[data-layout=desktop]{aspect-ratio:auto;width:100vw;height:100vh;max-height:none}.game-shell[data-layout=desktop] .game-canvas{margin:auto;width:min(100vw,calc(100vh * 25 / 19));height:min(100vh,76vw)}.game-canvas canvas{display:block;width:100%;height:100%;image-rendering:pixelated}.hud-overlay{position:absolute;inset:0;z-index:5;pointer-events:none;font-family:var(--site-font);font-variant-numeric:tabular-nums;font-size:12px;color:var(--hud-cream);overflow:hidden}.hud-panel{pointer-events:auto;background:var(--hud-panel);border:1px solid var(--hud-line);border-radius:2px;box-shadow:inset 0 0 0 1px var(--hud-ink)}.hud-region{position:absolute;display:flex;gap:8px}.hud-top-left{top:10px;left:10px;flex-direction:column;align-items:flex-start}.hud-top-right{top:10px;right:10px;flex-direction:column;align-items:flex-end}.hud-bottom-left{bottom:10px;left:10px;right:50%;flex-direction:column;align-items:flex-start}.recall-bar{display:flex;flex-direction:column;align-items:center;gap:4px}.recall-track{width:160px;height:4px;background:#00000080;border:1px solid var(--hud-line)}.recall-fill{height:100%;background:var(--hud-gold)}.portal-hint{pointer-events:none;margin-bottom:6px;padding:5px 12px;background:var(--hud-panel);border:1px solid var(--hud-line);color:var(--hud-cream);white-space:nowrap;animation:portal-hint-in .16s ease-out}.portal-hint-mark{margin-right:7px;color:var(--hud-gold)}.portal-hint-safe .portal-hint-mark{color:#4fe36a}@keyframes portal-hint-in{0%{opacity:0;transform:translateY(4px)}}.hud-bottom-center{bottom:10px;left:50%;transform:translate(-50%);flex-direction:column;align-items:center}.hud-bottom-right{top:10px;bottom:10px;right:10px;flex-direction:column;justify-content:flex-end;align-items:flex-end}.hud-panel-stack{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-height:0;max-height:100%;overflow-y:auto;pointer-events:none;scrollbar-width:thin}.hud-bag{display:flex;align-items:flex-start;gap:8px}.game-shell[data-layout=desktop],.game-shell[data-layout=desktop] .hud-overlay,.game-shell[data-layout=desktop] .hud-panel-stack{overflow:visible}.game-shell[data-layout=desktop] .hud-panel-stack>.side-panel:not(.char-window),.game-shell[data-layout=desktop] .hud-bag>.hud-panel{max-height:calc(100dvh - 80px);overflow-y:auto}.game-shell[data-layout=desktop] .hud-bag{flex-shrink:0}.game-shell[data-layout=desktop] .hud-bag:has(>.equipment-panel)>.inventory-panel{align-self:stretch;contain:size;display:flex;flex-direction:column;overflow:hidden}.game-shell[data-layout=desktop] .hud-bag:has(>.equipment-panel)>.inventory-panel>*{flex:none}.game-shell[data-layout=desktop] .hud-bag:has(>.equipment-panel)>.inventory-panel>.inventory-grid{flex:1 1 auto;min-height:0;overflow-y:auto;align-content:start;scrollbar-width:thin}.game-shell[data-layout=desktop] [data-hud-window]:not(.npc-panel):not(.world-map-panel):not(.stall-panel){position:relative;z-index:7}.game-shell[data-layout=desktop] .hud-panel-stack{position:relative;display:block;flex:none;width:0;height:0}.game-shell[data-layout=desktop] .hud-panel-stack>[data-hud-window]:not(.npc-panel):not(.world-map-panel):not(.stall-panel){position:absolute;right:0;bottom:0;flex:none}.game-shell[data-layout=desktop] .hud-panel-stack>.hud-bag{width:max-content}.game-shell[data-layout=desktop] .hud-bottom-center{z-index:2}.game-shell[data-layout=desktop] [data-window-handle]{cursor:move;touch-action:none}.game-shell[data-layout=desktop] .party-empty-handle{position:absolute;inset:0 0 0 auto;width:14px;display:grid;place-items:center;color:var(--hud-gold)}.game-shell[data-layout=desktop] .chat-resize-grip{position:absolute;top:0;right:0;width:14px;height:14px;z-index:1;cursor:nesw-resize;touch-action:none;background:linear-gradient(45deg,transparent 40%,var(--hud-gold) 42% 49%,transparent 51% 62%,var(--hud-gold) 64% 71%,transparent 73%)}.game-shell[data-layout=desktop] .chat-channels{padding-right:18px}.game-shell[data-layout=desktop] .chat-panel[data-window-sized]{box-sizing:border-box}.game-shell[data-layout=desktop] .chat-panel[data-window-sized] .chat-log{flex:1;min-height:0;height:auto}.game-shell[data-layout=desktop] .chat-panel[data-window-sized] .chat-channels,.game-shell[data-layout=desktop] .chat-panel[data-window-sized] .chat-form{flex-shrink:0}.game-shell[data-layout=desktop] .settings-actions{gap:6px}.panel-title{padding:4px 7px;font-size:11px;letter-spacing:.6px;font-family:var(--hud-title-font);font-weight:400;color:var(--hud-cream);background:var(--hud-surface);border-bottom:1px solid var(--hud-line)}.panel-title:before{content:"◇";margin-right:5px;color:var(--hud-gold);font-size:10px}.panel-title>span:first-of-type{flex:1;min-width:0}.hud-overlay button:focus-visible{outline:2px solid var(--hud-bright);outline-offset:-2px}.panel-button-icon{display:none;width:20px;height:20px;object-fit:contain;pointer-events:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.minimap-panel{position:relative;width:max-content;min-width:148px}.minimap-panel .panel-title{overflow-wrap:anywhere}.minimap-open{display:block;width:100%;padding:0;font:inherit;color:inherit;background:none;border:0;cursor:pointer}.minimap-canvas{display:block;width:calc(100% - 10px);height:auto;margin:2px 5px 4px;image-rendering:auto;border:1px solid var(--skin-accent, var(--hud-gold));box-shadow:0 0 0 1px #000000d9,0 0 4px #0009}.game-shell[data-layout=desktop] .minimap-open{min-width:calc(var(--minimap-width, 128px) + 12px)}.game-shell[data-layout=desktop] .minimap-canvas{width:0;min-width:calc(100% - 10px)}.world-clock{display:flex;align-items:center;gap:5px;padding:0 2px;font-size:12px;color:var(--hud-cream)}.world-clock-sign{flex:none;width:16px;height:16px;overflow:visible}.world-clock-sun circle{filter:drop-shadow(0 0 3px rgba(240,192,74,.8))}.world-clock-moon circle:first-child{filter:drop-shadow(0 0 3px rgba(233,228,210,.6))}.world-clock-moon-bite{fill:var(--hud-surface)}.world-clock-time{font-variant-numeric:tabular-nums;letter-spacing:.04em;text-shadow:0 1px 1px #000}.world-clock[data-world-clock=night] .world-clock-time,.world-clock[data-world-clock=dark] .world-clock-time{color:#cfd6ff}.world-clock[data-world-clock=dusk] .world-clock-time,.world-clock[data-world-clock=dawn] .world-clock-time{color:#f0b070}.minimap-readout{display:flex;justify-content:space-between;gap:8px;padding:0 7px 1px;font-size:11px;font-variant-numeric:tabular-nums;color:var(--hud-muted)}.minimap-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1px 8px;width:0;min-width:100%;box-sizing:border-box;padding:3px 7px 4px;border-top:1px solid var(--hud-line)}.minimap-foot .perf-badge{margin:0;padding:0;gap:6px;font-size:10px;background:none;border:0}.minimap-portal-list{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.world-map-panel{position:fixed;z-index:12;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;width:min(1200px,calc(100vw - 20px));height:min(680px,calc(100dvh - 20px));overflow:hidden;background:var(--hud-modal);border-color:var(--hud-line)}.world-map-title{display:flex;align-items:center;gap:8px;flex:none;color:var(--hud-gold)}.world-map-title .panel-close{margin-left:auto}.world-map-view{position:relative;flex:1;min-height:0;overflow:hidden;touch-action:none;cursor:grab;background:var(--hud-ink)}.world-map-canvas{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform;background:radial-gradient(ellipse at 50% 45%,#d6ba84f2,#a08054f2 62%,#4a3420)}.world-map-canvas.is-painted{background:var(--hud-ink)}.world-map-painting,.world-map-roads{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;user-select:none}.world-map-route{stroke:#5c3a1ebf;stroke-width:7;stroke-linecap:round;stroke-dasharray:2 14}.world-map-path{fill:none;stroke:var(--hud-bright);stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:14 10;filter:drop-shadow(0 0 4px rgba(0,0,0,.8))}.world-map-pins{position:absolute;inset:0;pointer-events:none;will-change:transform}.world-map-node{position:absolute;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-14px);padding:0;border:0;background:none;color:var(--hud-cream);font:inherit;cursor:pointer;pointer-events:auto}.world-map-pin{display:grid;place-items:center;width:28px;height:28px;border:2px solid var(--hud-gold);border-radius:50%;background:var(--hud-surface);box-shadow:0 2px 6px #000000b3}.world-map-icon{width:16px;height:16px;fill:var(--hud-gold)}.world-map-plate{display:flex;flex-direction:column;align-items:center;margin-top:3px;padding:2px 8px 3px;border:1px solid var(--hud-line);border-radius:3px;background:#140e0cdb;box-shadow:0 2px 6px #0009;white-space:nowrap;line-height:1.2}.world-map-thai{font-size:13px;font-weight:700;color:var(--hud-cream)}.world-map-level{font-size:11px;color:var(--hud-gold)}.world-map-note{font-size:11px;color:var(--hud-muted)}.world-map-node.lv-easy .world-map-level{color:#9fd08a}.world-map-node.lv-fit .world-map-level{color:#f0d070}.world-map-node.lv-hard .world-map-level{color:#ff8f7a}.world-map-node.is-safe .world-map-pin{border-color:var(--hud-bright)}.world-map-node.is-safe .world-map-icon{fill:var(--hud-bright)}.world-map-node.is-lair .world-map-pin{border-color:var(--hud-danger);background:var(--hud-danger-bg)}.world-map-node.is-lair .world-map-icon{fill:var(--hud-danger)}.world-map-node.is-lair .world-map-level{color:var(--hud-danger)}.world-map-node.is-dungeon .world-map-pin{border-color:#b98ce8;background:#24163a}.world-map-node.is-dungeon .world-map-icon{fill:#d2b4ff}.world-map-node.is-fort .world-map-icon{fill:#e8a05a}.world-map-node.owner-human .world-map-icon{fill:#8fc4ff}.world-map-node.owner-yaksha .world-map-icon{fill:#ff7d6b}.world-map-node.is-current .world-map-pin{border-color:#fff2c8;box-shadow:0 0 0 3px #f0d29a73,0 0 14px #f0d29ae6;animation:world-map-here 1.4s ease-in-out infinite}.world-map-node.is-selected .world-map-plate{border-color:var(--hud-bright);background:#3a281af2}.world-map-here{position:absolute;bottom:calc(100% + 2px);padding:1px 6px;border-radius:3px;background:var(--hud-bright);color:var(--hud-ink);font-size:11px;font-weight:700;white-space:nowrap}.world-map-party{position:absolute;top:-4px;left:calc(50% + 8px);min-width:16px;height:16px;padding:0 3px;border-radius:8px;background:#4f9be0;color:#fff;font-size:11px;font-weight:700;line-height:16px}@keyframes world-map-here{50%{box-shadow:0 0 0 6px #f0d29a26,0 0 20px #f0d29a}}.world-map-pins.is-far .world-map-level,.world-map-pins.is-far .world-map-note{display:none}.world-map-zoom{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;gap:6px}.world-map-zoom button{width:34px;height:34px;border:1px solid var(--hud-line);border-radius:4px;background:var(--hud-surface);color:var(--hud-cream);font-size:18px;line-height:1;cursor:pointer}.world-map-zoom button:hover{background:var(--hud-hover)}.game-shell[data-layout=compact] .world-map-panel{inset:0;width:100%;height:100%;transform:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.vitals-panel{width:218px;padding:7px;display:flex;flex-direction:column;gap:5px}.vitals-name{font-weight:700;color:var(--hud-cream)}.vital-row{display:flex;align-items:center;gap:6px}.vital-label{width:20px;color:var(--hud-muted)}.vital-track{position:relative;flex:1;height:13px;background:var(--hud-ink);border:1px solid var(--hud-line);overflow:hidden}.vital-fill{height:100%;transition:width .16s linear}.vital-hp{background:linear-gradient(var(--hud-hp),var(--hud-hp-dark))}.vital-mp{background:linear-gradient(var(--hud-sp),var(--hud-sp-dark))}.vital-text{position:absolute;inset:0;display:grid;place-items:center;font-size:10px;color:var(--hud-cream);text-shadow:0 1px 1px rgba(0,0,0,.9)}.hotbar-panel{display:flex;gap:4px;padding:5px}.hotbar-slot{position:relative;width:38px;height:38px;padding:0;background:var(--hud-surface);border:1px solid var(--hud-line);border-radius:2px;cursor:pointer}.hotbar-slot:hover{border-color:var(--hud-gold)}.hotbar-key{position:absolute;z-index:2;top:1px;left:1px;padding:0 3px;font-size:10px;font-weight:700;line-height:13px;color:var(--hud-cream);background:#0009;border-radius:2px;text-shadow:0 1px 1px #000;pointer-events:none}.hotbar-skill-level{position:absolute;z-index:2;top:1px;right:1px;padding:0 3px;font-size:9px;font-weight:700;line-height:12px;color:var(--hud-gold);background:#0009;border-radius:2px;text-shadow:0 1px 1px #000;pointer-events:none}.skill-row-level{margin-left:6px;font-size:.85em;color:var(--hud-gold)}.skill-progress{margin:6px 0}.skill-progress-bar{height:6px;margin-top:3px;background:#00000073;border-radius:3px;overflow:hidden}.skill-progress-bar>span{display:block;height:100%;background:var(--hud-gold)}.chat-panel{width:min(420px,calc(100% - 206px));display:flex;flex-direction:column}.chat-log{height:104px;overflow-y:auto;padding:6px 8px;display:flex;flex-direction:column;gap:2px}.chat-line{margin:0;line-height:1.45;word-break:break-word}.chat-system{color:var(--hud-muted)}.chat-announce{color:var(--hud-gold);font-weight:600;border-left:2px solid var(--hud-gold);padding-left:5px}.chat-local{color:var(--hud-cream)}.chat-party{color:var(--hud-sp)}.chat-from{color:var(--hud-gold)}.chat-premium{color:#ffd76a;font-weight:700;margin-right:2px}.chat-channels{display:flex;gap:3px;padding:4px 4px 0}.chat-channel{padding:2px 9px;font:inherit;font-size:10px;color:var(--hud-muted);background:var(--hud-surface);border:1px solid var(--hud-line);border-bottom:0;border-radius:2px 2px 0 0;cursor:pointer}.chat-channel:hover{color:var(--hud-cream)}.chat-channel.is-active{color:var(--hud-ink);background:var(--hud-gold);border-color:var(--hud-bright)}.chat-channel.has-unread:after{content:"";display:inline-block;width:5px;height:5px;margin-left:4px;vertical-align:middle;border-radius:50%;background:var(--hud-gold)}.chat-party.is-notice{opacity:.75}.chat-channel:disabled{color:var(--hud-muted);cursor:default}.chat-form{display:flex;border-top:1px solid var(--hud-line)}.chat-input{flex:1;padding:7px 8px;font:inherit;color:var(--hud-cream);background:var(--hud-ink);border:0;outline:none}.chat-input:focus{background:var(--hud-surface);box-shadow:inset 0 0 0 1px var(--hud-gold)}.chat-input::placeholder{color:var(--hud-muted)}.chat-say{position:relative;display:flex}.chat-say-button{display:flex;align-items:center;gap:4px;padding:0 8px;font:inherit;font-size:11px;font-weight:600;background:var(--hud-surface);border:0;border-right:1px solid var(--hud-line);cursor:pointer;white-space:nowrap}.chat-say-button:hover{background:var(--hud-raised)}.chat-say-caret{font-size:9px;color:var(--hud-muted)}.chat-say-menu{position:absolute;left:0;bottom:calc(100% + 4px);z-index:5;margin:0;padding:3px;list-style:none;min-width:100px;background:var(--hud-ink);border:1px solid var(--hud-line);border-radius:3px;box-shadow:0 4px 14px #0000008c}.chat-say-option{display:block;width:100%;padding:4px 8px;font:inherit;font-size:12px;text-align:left;background:transparent;border:0;border-radius:2px;cursor:pointer}.chat-say-option:hover,.chat-say-option.is-on{background:var(--hud-surface)}.chat-channel[data-channel=party]:not(.is-active){color:var(--hud-sp)}.chat-channel[data-channel=guild]:not(.is-active){color:#9be37a}.chat-channel[data-channel=whisper]:not(.is-active){color:#f0a6ff}.chat-channel[data-channel=system]:not(.is-active){color:var(--hud-gold)}.inventory-panel{width:344px}.inventory-title{display:flex;align-items:center;justify-content:space-between;gap:6px}.inventory-head-main{margin-right:auto}.inventory-sort{padding:1px 6px;font:inherit;font-size:10px;color:var(--hud-gold);background:var(--hud-raised);border:1px solid var(--hud-line);border-radius:2px;cursor:pointer}.inventory-sort:hover{border-color:var(--hud-gold)}.game-shell[data-layout=compact] .inventory-sort{min-height:44px;padding:0 12px;font-size:12px}.panel-close{width:18px;height:18px;padding:0;font:inherit;line-height:1;color:var(--hud-cream);background:var(--hud-raised);border:1px solid var(--hud-line);border-radius:2px;cursor:pointer}.panel-close:hover{color:var(--hud-cream);background:var(--hud-line)}.inventory-grid,[data-npc-service=treasurer] .town-storage-grid{display:grid;gap:4px;padding:8px}.inventory-slot,[data-npc-service=treasurer] .town-storage-slot{aspect-ratio:1;background:var(--hud-surface);border:1px solid var(--hud-line);border-radius:2px}.inventory-hint{padding:0 8px 7px;text-align:center;color:var(--hud-muted)}.leave-button,.settings-button{padding:5px 11px;font:inherit;color:var(--hud-cream);background:var(--hud-raised);border:1px solid var(--hud-line);border-radius:2px;cursor:pointer}.settings-button:hover{border-color:var(--hud-gold)}.leave-button:hover{color:var(--hud-cream);background:var(--hud-danger-bg);border-color:var(--hud-danger)}.vitals-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.vitals-level{color:var(--hud-gold);font-size:11px}.vital-xp{background:linear-gradient(var(--hud-gold),var(--hud-gold-dark))}.death-veil{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;background:var(--hud-death-veil);z-index:6}.death-message{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 30px;text-align:center;background:var(--hud-panel);border:1px solid var(--hud-line);box-shadow:inset 0 0 0 1px var(--hud-ink);border-radius:4px}.death-message strong{font-family:var(--hud-title-font);font-size:22px;letter-spacing:1px;color:var(--hud-danger)}.death-message span{color:var(--hud-cream)}.death-message.hud-panel{pointer-events:auto}.death-message b{color:var(--hud-gold)}.death-respawn{margin-top:6px}.shrine-service{display:flex;flex-direction:column;gap:8px;padding:8px 12px 12px;color:var(--hud-cream)}.shrine-service p{margin:0}.shrine-warps{display:flex;flex-direction:column;gap:4px;max-height:220px;margin:0;padding:0;overflow-y:auto;list-style:none}.shrine-warps .quest-button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.inventory-slot,[data-npc-service=treasurer] .town-storage-slot{position:relative;display:grid;place-items:center;cursor:default}.inventory-slot.has-item{cursor:grab;border-color:var(--hud-line)}.inventory-slot.is-selected,.equipment-slot.has-item.is-selected,[data-npc-service=treasurer] .town-storage-slot.is-selected{border-color:var(--hud-gold);box-shadow:inset 0 0 0 1px var(--hud-gold)}.inventory-slot.is-dragging .item-icon{opacity:.3}.item-icon{position:absolute;inset:5%;display:flex;align-items:center;justify-content:center}.item-icon[class*=grade-]{border-radius:3px;background:radial-gradient(circle,color-mix(in srgb,var(--grade-color) 34%,transparent) 0%,transparent 72%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--grade-color) 55%,transparent)}.item-unknown{position:absolute;top:-2px;left:0;padding:0 3px;font-size:10px;font-weight:700;line-height:1.3;color:#0b0e14;background:var(--grade-color, var(--hud-gold));border-radius:2px}.item-grade{flex-direction:column;display:flex;flex-wrap:wrap;gap:2px 8px;margin:1px 0 2px}.item-grade-name{font-weight:700}.item-unappraised{color:var(--hud-muted)}.item-divine-risk{color:#ff8a7a;font-style:italic}.item-art{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(0,0,0,.7));pointer-events:none}.item-placeholder{display:grid;place-items:center;width:86%;height:86%;border:1px solid rgba(0,0,0,.5);border-radius:2px;box-shadow:inset 0 1px 0 var(--hud-line)}.item-glyph{font-size:9px;font-weight:700;color:var(--hud-ink)}.item-quantity{position:absolute;right:-2px;bottom:-3px;padding:0 2px;font-size:9px;line-height:1.2;color:var(--hud-cream);background:var(--hud-panel);border-radius:2px}.inventory-detail{padding:6px 8px 8px;border-top:1px solid var(--hud-line);height:144px;display:flex;flex-direction:column;overflow:hidden}.inventory-money{color:var(--hud-gold);text-align:right;border-bottom:1px solid var(--hud-line);padding-bottom:3px}.item-detail-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.item-name{color:var(--hud-cream)}.item-count{color:var(--hud-muted)}.item-description{margin:2px 0 4px;color:var(--hud-muted);line-height:1.35}.item-stats{display:flex;flex-wrap:wrap;gap:8px;color:var(--hud-gold)}.item-locked{color:var(--hud-hp)}.item-requirement{white-space:pre-line;margin:4px 0 0;color:inherit;line-height:1.35}.item-stats.item-base-effects{flex-direction:column;gap:3px;margin-block:8px}.item-requirement.item-locked{color:var(--hud-hp)}.item-actions{display:flex;flex:none;gap:5px;margin-top:6px}.item-actions button{flex:1;padding:4px 6px;font:inherit;color:var(--hud-cream);background:var(--hud-raised);border:1px solid var(--hud-line);border-radius:2px;cursor:pointer}.item-actions button:hover{background:var(--hud-line)}.item-key-pick{gap:3px}.item-key-pick button{min-width:0;padding:4px 0}.item-key-pick button.is-current{color:var(--hud-gold);border-color:var(--hud-gold)}.item-key-pick .item-key-cancel{color:var(--hud-muted)}.equipment-panel{width:240px}.equipment-boxes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px 8px 6px}.equipment-box{display:flex;flex-direction:column;gap:3px;min-width:0}.equipment-label{font-size:9px;letter-spacing:.4px;text-transform:uppercase;color:var(--hud-muted);min-height:24px;text-align:center}.equipment-slot{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:1;background:var(--hud-surface);border:1px dashed var(--hud-line);border-radius:2px;min-height:44px}.equipment-empty-glyph{color:var(--hud-muted);opacity:.4;font-size:19px}.action-sheet-detail{white-space:pre-line;padding:4px 10px 8px;color:var(--hud-muted);font-size:11px}.equipment-slot.has-item{border-style:solid;border-color:var(--hud-line);cursor:grab}.equipment-stats{display:flex;justify-content:space-between;gap:6px;padding:5px 8px 7px;border-top:1px solid var(--hud-line);color:var(--hud-gold)}:is(.equipment-slot,.inventory-slot,.town-storage-slot,.stall-slot):has(.item-icon[data-gear]){--slot-frame: url(/assets/ui/slot_frame_0.png);border-color:transparent;border-style:solid}:is(.equipment-slot,.inventory-slot,.town-storage-slot,.stall-slot):has(.item-icon[data-gear]):after{content:"";position:absolute;inset:-8%;z-index:1;background:var(--slot-frame) center / 100% 100% no-repeat;pointer-events:none}:is(.inventory-slot,.town-storage-slot,.stall-slot):has(.item-icon[data-gear]):after{inset:-7%}:is(.equipment-slot,.inventory-slot,.town-storage-slot,.stall-slot):has(.item-icon[data-gear][data-grade="0"]):after{opacity:.6}:is(.equipment-slot,.inventory-slot,.town-storage-slot,.stall-slot):has(.item-icon[data-gear][data-grade="1"]){--slot-frame: url(/assets/ui/slot_frame_1.png)}:is(.equipment-slot,.inventory-slot,.town-storage-slot,.stall-slot):has(.item-icon[data-gear][data-grade="2"]){--slot-frame: url(/assets/ui/slot_frame_2.png)}:is(.equipment-slot,.inventory-slot,.town-storage-slot,.stall-slot):has(.item-icon[data-gear][data-grade="3"]){--slot-frame: url(/assets/ui/slot_frame_3.png)}:is(.equipment-slot,.inventory-slot,.town-storage-slot,.stall-slot):has(.item-icon[data-gear][data-grade="4"]){--slot-frame: url(/assets/ui/slot_frame_4.png)}:is(.equipment-slot,.inventory-slot,.town-storage-slot,.stall-slot):has(.item-icon[data-gear][data-grade="5"]){--slot-frame: url(/assets/ui/slot_frame_5.png)}:is(.equipment-slot,.inventory-slot,.town-storage-slot,.stall-slot):has(.item-icon[data-gear][data-grade="5"]):after{animation:divine-glow 1.8s ease-in-out infinite}@keyframes divine-glow{0%,to{filter:drop-shadow(0 0 1px rgba(255,70,50,.5))}50%{filter:drop-shadow(0 0 5px rgba(255,70,50,.95)) brightness(1.15)}}@media(prefers-reduced-motion:reduce){:is(.equipment-slot,.inventory-slot,.town-storage-slot,.stall-slot):has(.item-icon[data-gear][data-grade="5"]):after{animation:none;filter:drop-shadow(0 0 4px rgba(255,70,50,.85))}}:is(.equipment-slot,.inventory-slot,.town-storage-slot,.stall-slot) .item-icon[data-gear]{inset:12%;box-shadow:none}:is(.inventory-slot,.town-storage-slot,.stall-slot) .item-icon[data-gear]{inset:15%}.equipment-slot.is-both-hands{cursor:default}.equipment-slot.is-both-hands .item-icon{opacity:.35;filter:grayscale(.6)}.equipment-slot.is-both-hands:has(.item-icon[data-gear][data-grade]):after{opacity:.4}.item-unknown,.item-quantity{z-index:2}:is(.equipment-slot,.inventory-slot,.town-storage-slot,.stall-slot).is-selected:has(.item-icon[data-gear]){border-color:transparent;box-shadow:0 0 8px #f0d29a8c}:is(.equipment-slot,.inventory-slot,.town-storage-slot,.stall-slot).is-selected:has(.item-icon[data-gear]):after{opacity:1;filter:brightness(1.35)}.drag-ghost{position:fixed;z-index:20;display:grid;place-items:center;width:26px;height:26px;margin:-13px 0 0 -13px;font-size:9px;font-weight:700;color:var(--hud-ink);border:1px solid rgba(0,0,0,.6);border-radius:2px;pointer-events:none;opacity:.9}.drag-ghost.is-item{display:flex;width:40px;height:40px;margin:-20px 0 0 -20px;border:0}.panel-buttons{display:flex;flex:none;gap:4px;padding:5px}.panel-button{min-width:58px;padding:5px 8px;white-space:nowrap;font:inherit;color:var(--hud-cream);background:var(--hud-raised);border:1px solid var(--hud-line);border-radius:2px;cursor:pointer}.panel-button:hover{color:var(--hud-cream);background:var(--hud-hover)}.panel-button.is-open{color:var(--hud-bright);background:radial-gradient(circle,#deb66261,#00000026 70%),var(--hud-raised);border-color:var(--hud-bright);box-shadow:inset 0 0 6px #f0c87873}.panel-button.auto-quick-toggle.is-running{color:#b6efaa;border-color:#7bb56a;background:#243522}.panel-button:disabled{opacity:.5;cursor:default}.side-panel{width:260px}.side-panel:is(.auto-panel,.settings-panel){width:340px;max-width:calc(100vw - 32px)}.side-panel-title{display:flex;align-items:center;justify-content:space-between}.status-list{margin:0;padding:7px 8px;display:flex;flex-direction:column;gap:3px}.status-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.status-row dt{color:var(--hud-muted)}.status-row dd{margin:0;color:var(--hud-cream);font-variant-numeric:tabular-nums}.status-identity{display:flex;align-items:baseline;justify-content:space-between;padding:7px 8px 0;color:var(--hud-cream)}.status-level{color:var(--hud-gold)}.status-points{display:flex;align-items:baseline;justify-content:space-between;margin:6px 8px;padding:4px 7px;background:var(--hud-ink);border:1px solid var(--hud-line);color:var(--hud-muted)}.status-points strong{color:var(--hud-muted);font-variant-numeric:tabular-nums}.status-points strong.is-spendable{color:var(--hud-gold)}.stat-list{margin:0;padding:0 8px;list-style:none;display:flex;flex-direction:column;gap:3px}.stat-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px}.stat-name{color:var(--hud-muted);white-space:nowrap;min-width:0}.stat-name abbr{text-decoration:none;color:var(--hud-cream)}.stat-main-marker{color:var(--hud-gold);font-size:10px;margin-right:4px}.stat-value{color:var(--hud-cream);font-variant-numeric:tabular-nums;white-space:nowrap}.status-preview{color:var(--hud-gold)}.stat-base{color:var(--hud-muted)}.status-more{border-top:1px dashed var(--hud-line)}.stat-controls{display:flex;gap:3px}.stat-raise,.stat-remove{padding:0;height:18px;min-width:22px;background:var(--hud-raised);border:1px solid var(--hud-sp);color:var(--hud-cream);font:inherit;line-height:1;cursor:pointer}.stat-raise:hover:not(:disabled),.stat-remove:hover:not(:disabled){background:var(--hud-hover)}.stat-raise:disabled,.stat-remove:disabled{background:var(--hud-surface);border-color:var(--hud-line);color:var(--hud-muted);cursor:default}.status-derived{margin-top:4px;border-top:1px solid var(--hud-line);padding-top:7px}.status-actions{display:flex;gap:6px;padding:8px}.status-actions button,.status-details{min-height:28px;font:inherit;color:var(--hud-cream);background:var(--hud-raised);border:1px solid var(--hud-sp);cursor:pointer}.status-actions button:first-child{color:var(--hud-ink);background:var(--hud-gold)}.status-actions button:disabled{opacity:.55;cursor:default}.status-details{display:block;margin:3px 8px 8px;padding:2px 8px}.status-note{color:var(--hud-muted)}.panel-placeholder{margin:0;padding:8px;color:var(--hud-muted);line-height:1.45}.settings-sound{display:flex;flex-direction:column;gap:6px;margin:0 8px 10px;padding:6px 8px 8px;border:1px solid var(--hud-line, rgba(201, 162, 74, .25));border-radius:3px}.settings-sound legend{padding:0 4px;color:var(--hud-muted)}.settings-slider{display:grid;grid-template-columns:7.5em 1fr 2.2em;align-items:center;gap:6px;color:var(--hud-cream)}.settings-slider input[type=range]{width:100%;min-width:0;accent-color:#c9a24a}.settings-value{text-align:right;color:var(--hud-muted);font-variant-numeric:tabular-nums}.settings-toggle{display:flex;align-items:center;justify-content:flex-start;gap:6px;white-space:nowrap;text-align:left;color:var(--hud-cream)}.settings-toggle input{accent-color:#c9a24a}.settings-toggle input[type=checkbox]{margin:0;flex:none}.settings-slider input[type=range]:disabled{opacity:.35}.settings-actions{display:flex;padding:0 8px 8px}.settings-actions .leave-button{flex:1}.party-panel{width:190px}.party-create{width:100%;padding:6px 8px;font:inherit;color:var(--hud-cream);background:var(--hud-raised);border:0;border-radius:2px;cursor:pointer}.party-create:hover{color:var(--hud-cream);background:var(--hud-line)}.party-title{display:flex;align-items:center;justify-content:space-between;gap:4px}.party-count{margin-left:auto;color:var(--hud-muted)}.party-menu-toggle,.party-member-more{flex:none;width:22px;height:20px;padding:0;font:inherit;font-size:13px;line-height:1;color:var(--hud-gold);background:transparent;border:1px solid transparent;border-radius:2px;cursor:pointer}.party-menu-toggle:hover,.party-member-more:hover,.party-menu-toggle[aria-expanded=true],.party-member-more[aria-expanded=true]{background:var(--hud-raised);border-color:var(--hud-line)}.party-panel:not(.is-menu-open) .party-menu{display:none}.party-menu{padding-top:6px;border-bottom:1px solid var(--hud-line)}.party-members{margin:0;padding:6px 7px;list-style:none;display:flex;flex-direction:column;gap:6px}.party-member-head{display:flex;align-items:center;gap:4px}.party-member-level{flex:none;font-size:10px;color:var(--hud-muted)}.party-member-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.party-member-actions .party-mini{flex:1;white-space:nowrap}.party-kick.is-armed{color:#ffd9d0;background:var(--hud-danger-bg);border-color:var(--hud-danger)}.party-member-name{color:var(--hud-cream);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.party-leader-mark{margin-right:3px;color:var(--hud-gold)}.party-member-where{display:block;margin-top:2px;font-size:10px;color:var(--hud-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.party-member-where.is-here{display:none}.party-member.is-offline{opacity:.55}.party-member.is-no-share .party-member-name{color:var(--hud-muted)}.party-summary{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 7px 0;font-size:10px;color:var(--hud-muted)}.party-pot{flex:none;padding:0 5px;border:1px solid var(--hud-line);border-radius:2px;cursor:help}.party-pot.is-shared{color:var(--hud-gold);border-color:var(--hud-gold)}.party-summary{flex-wrap:wrap}.party-loot{flex-basis:100%;cursor:help}.party-loot-pick{padding:0 7px 6px}.party-loot-modes{display:flex;gap:4px;margin-top:3px}.party-loot-modes .party-mini{flex:1;white-space:nowrap}.party-loot-modes .party-mini.is-on{color:var(--hud-cream);border-color:var(--hud-gold);background:var(--hud-raised)}.party-hp{position:relative;height:10px;margin-top:2px;background:var(--hud-ink);border:1px solid var(--hud-line);overflow:hidden}.party-hp-fill{height:100%;background:linear-gradient(var(--hud-hp),var(--hud-hp-dark));transition:width .16s linear}.party-hp-text{position:absolute;inset:0;display:grid;place-items:center;font-size:9px;color:var(--hud-cream);text-shadow:0 1px 1px rgba(0,0,0,.9)}.party-invite-name{display:flex;gap:4px;padding:0 7px 6px}.party-invite-input{flex:1;min-width:0;padding:3px 5px;font:inherit;font-size:10px;color:var(--hud-cream);background:var(--hud-ink);border:1px solid var(--hud-line)}.party-invite{padding:0 7px 6px}.party-invite-list{display:flex;flex-wrap:wrap;gap:4px;max-height:76px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.party-subtitle{display:block;margin-bottom:4px;font-size:9px;letter-spacing:.4px;text-transform:uppercase;color:var(--hud-muted)}.party-mini{padding:3px 7px;font:inherit;font-size:10px;color:var(--hud-cream);background:var(--hud-raised);border:1px solid var(--hud-line);border-radius:2px;cursor:pointer}.party-mini:hover{color:var(--hud-cream);background:var(--hud-hover)}.party-actions{padding:0 7px 7px}.party-actions .party-mini{width:100%}.invite-veil{position:absolute;inset:0;display:grid;place-items:start center;padding-top:14%;pointer-events:none;z-index:7}.invite-prompt{padding:12px 16px;text-align:center}.invite-text{margin:0 0 9px;color:var(--hud-cream)}.invite-text strong{color:var(--hud-gold)}.invite-actions{display:flex;gap:6px}.invite-actions button{flex:1;padding:5px 12px;font:inherit;color:var(--hud-cream);background:var(--hud-raised);border:1px solid var(--hud-line);border-radius:2px;white-space:nowrap;cursor:pointer}.invite-timer{position:relative;height:4px;margin:9px 22px 0 0;background:var(--hud-raised);border-radius:2px}.invite-timer-bar{height:100%;background:var(--hud-gold);border-radius:2px;transition:width .25s linear}.invite-timer-secs{position:absolute;right:-22px;top:50%;width:18px;transform:translateY(-50%);font-size:11px;line-height:1;text-align:right;color:var(--hud-muted, var(--hud-cream))}.invite-accept:hover{color:var(--hud-ink);background:var(--hud-sp);border-color:var(--hud-sp)}.invite-decline:hover{background:var(--hud-danger-bg);border-color:var(--hud-danger)}.status-job{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:4px;padding:5px 7px;background:var(--hud-glass);border:1px solid var(--hud-line);border-radius:3px}.status-job-icon{width:11px;height:11px;flex:0 0 auto;border:1px solid var(--hud-ink);border-radius:2px}.status-job-name{font-weight:700}.status-job-intro{color:var(--hud-muted);font-size:10px}.skill-list{margin:0;padding:6px;list-style:none;display:flex;flex-direction:column;gap:5px;max-height:340px;overflow-y:auto}.skill-row{padding:6px 7px;background:var(--hud-surface);border:1px solid var(--hud-line);border-radius:3px}.skill-row.is-locked{opacity:.55}.skill-row.is-known{border-color:var(--hud-line)}.skill-row-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.skill-name{color:var(--hud-cream);font-weight:600}.skill-tag{font-size:10px;white-space:nowrap}.skill-tag-known{color:var(--hud-gold)}.skill-tag-locked{color:var(--hud-muted)}.skill-learn{padding:2px 8px;font-size:11px;color:var(--hud-cream);background:var(--hud-raised);border:1px solid var(--hud-line);border-radius:2px;cursor:pointer}.skill-learn:hover:not(:disabled){background:var(--hud-hover)}.skill-learn:disabled{opacity:.45;cursor:default}.skill-description{margin:4px 0 0;color:var(--hud-muted);font-size:11px;line-height:1.4}.skill-meta{margin-top:4px;display:flex;gap:8px;color:var(--hud-muted);font-size:10px;font-variant-numeric:tabular-nums}.skill-art{overflow:hidden;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--hud-ink);font-weight:700;user-select:none}.skill-art img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.drag-skill-icon{width:100%;height:100%}.skill-icon,.hotbar-icon{display:flex;align-items:center;justify-content:center;border-radius:2px;color:var(--hud-ink);font-size:10px;font-weight:700;letter-spacing:.3px;user-select:none}.skill-icon{width:20px;height:20px;flex:0 0 20px;margin-right:2px}.skill-icon.is-draggable{cursor:grab}.skill-icon.is-draggable:active{cursor:grabbing}.skill-row-head .skill-name{flex:1 1 auto}.hotbar-icon{position:absolute;inset:4px}.hotbar-slot.is-filled{border-color:var(--hud-line)}.hotbar-cooldown{position:absolute;inset:0;border-radius:2px;pointer-events:none}.hotbar-cooldown-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--hud-cream);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;text-shadow:0 1px 2px var(--hud-ink);pointer-events:none}.hotbar-cost{position:absolute;z-index:2;right:2px;bottom:0;font-size:9px;color:var(--hud-sp);pointer-events:none}.hotbar-item .item-art{pointer-events:none}.hotbar-cost.hotbar-count{color:var(--hud-cream);text-shadow:0 1px 1px #000}.hotbar-slot.is-unaffordable .hotbar-icon{opacity:.4}.hotbar-slot.is-unaffordable .hotbar-cost{color:var(--hud-danger)}.auto-form{padding:7px 8px;display:flex;flex-direction:column;gap:7px}.auto-field{display:grid;grid-template-columns:78px minmax(0,1fr) 88px;align-items:center;gap:6px}.auto-field>span{color:var(--hud-muted)}.auto-field input{width:100%;padding:2px 4px;background:var(--hud-ink);color:var(--hud-cream);border:1px solid var(--hud-line);border-radius:2px;font:inherit;font-variant-numeric:tabular-nums}.auto-field input[type=range]{padding:0;border:none;background:transparent;accent-color:var(--hud-gold)}.auto-field input:disabled{opacity:.5}.auto-toggle{display:flex;align-items:center;gap:6px;color:var(--hud-cream);cursor:pointer}.auto-field em{color:var(--hud-muted);font-size:10px;font-style:normal}.auto-skills-title{color:var(--hud-muted)}.auto-skill-list{margin:4px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px;max-height:132px;overflow-y:auto}.auto-skill{display:flex;align-items:center;gap:5px;cursor:pointer}.auto-skill-icon{display:flex;align-items:center;justify-content:center;width:17px;height:17px;flex:0 0 17px;border-radius:2px;color:var(--hud-ink);font-size:9px;font-weight:700}.auto-skill-name{color:var(--hud-cream)}.auto-note{margin:4px 0 0;color:var(--hud-muted);font-size:10px;line-height:1.4}.auto-button{padding:4px 8px;color:var(--hud-cream);background:var(--hud-raised);border:1px solid var(--hud-line);border-radius:2px;cursor:pointer;font:inherit}.auto-button:hover{background:var(--hud-hover)}.auto-button.is-stop{background:var(--hud-danger-bg);border-color:var(--hud-danger)}.auto-button.is-stop:hover{background:var(--hud-danger-bg)}.auto-status{padding:7px 8px;border-top:1px solid var(--hud-line);display:flex;flex-direction:column;gap:4px}.auto-status-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.auto-status-row>span{color:var(--hud-muted)}.auto-status-row>strong{color:var(--hud-cream);font-weight:600;font-variant-numeric:tabular-nums}.auto-status.is-active .auto-status-row>strong{color:var(--hud-sp)}.auto-status.auto-top{border-top:none;border-bottom:1px solid var(--hud-line)}.auto-top-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.auto-top-state{display:flex;align-items:baseline;gap:8px}.auto-top-state>span{color:var(--hud-muted)}.auto-top-state>strong{color:var(--hud-cream);font-weight:600}.auto-status.is-active .auto-top-state>strong{color:var(--hud-sp)}.auto-skill-list.is-off{opacity:.45}.auto-top-row .auto-button{min-width:96px;font-weight:600}.game-shell[data-layout=compact]{aspect-ratio:auto;width:100vw;height:100vh;height:100dvh;height:var(--app-height, 100dvh);max-height:none}.game-shell[data-layout=compact] .hud-overlay{--hud-bottom: calc(4px + env(safe-area-inset-bottom)) }.game-shell[data-layout=compact] .hud-bottom-left,.game-shell[data-layout=compact] .hud-bottom-center,.game-shell[data-layout=compact] .hud-bottom-right{position:absolute;inset:auto;transform:none;gap:0;align-items:stretch}.game-shell[data-layout=compact] .hud-bottom-left{left:calc(6px + env(safe-area-inset-left));right:calc(6px + env(safe-area-inset-right));bottom:calc(var(--hud-bottom) + 94px)}.game-shell[data-layout=compact] .hud-bottom-center{left:env(safe-area-inset-left);right:env(safe-area-inset-right);bottom:calc(var(--hud-bottom) + 47px);align-items:center}.game-shell[data-layout=compact] .hud-bottom-right{left:env(safe-area-inset-left);right:env(safe-area-inset-right);bottom:var(--hud-bottom);width:236px;margin:0 auto}.game-shell[data-layout=compact] .hud-top-left,.game-shell[data-layout=compact] .hud-top-right{top:6px;gap:3px}.game-shell[data-layout=compact] .hud-top-left{left:6px}.game-shell[data-layout=compact] .hud-top-right{right:6px}.game-shell[data-layout=compact] .vitals-panel{width:140px;padding:3px 5px;gap:1px;font-size:9px}.game-shell[data-layout=compact] .vitals-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-shell[data-layout=compact] .vitals-level{flex:none;font-size:10px}.game-shell[data-layout=compact] .vital-track{height:8px}.game-shell[data-layout=compact] .vital-label{width:17px;font-size:9px}.game-shell[data-layout=compact] .vital-text{display:none}.game-shell[data-layout=compact] .vital-xp-row .vital-track{height:5px}.game-shell[data-layout=compact] .party-panel{width:140px;margin-top:7px}.game-shell[data-layout=compact] .party-panel[data-party-collapsed=true]:has(.party-create){width:112px}.game-shell[data-layout=compact] .party-create{padding:2px 8px;font-size:11px}.game-shell[data-layout=compact] .party-panel .party-create{min-height:28px}.party-toggle{flex:none;width:44px;height:44px;padding:0;font:inherit;font-size:20px;color:var(--hud-gold);background:var(--hud-glass);border:1px solid var(--hud-line);cursor:pointer}.game-shell[data-layout=compact] .party-panel.is-collapsed{width:108px;background:#0a08066b;border-color:transparent;box-shadow:none}.game-shell[data-layout=compact] .is-collapsed .party-title{height:26px;padding:0 0 0 7px;font-size:10px;cursor:pointer}.game-shell[data-layout=compact] .is-collapsed .party-title:before,.game-shell[data-layout=compact] .is-collapsed .party-member-where,.game-shell[data-layout=compact] .is-collapsed .party-hp-text,.game-shell[data-layout=compact] .is-collapsed .party-mini,.game-shell[data-layout=compact] .is-collapsed .party-invite,.game-shell[data-layout=compact] .is-collapsed .party-invite-name,.game-shell[data-layout=compact] .is-collapsed .party-member-level,.game-shell[data-layout=compact] .is-collapsed .party-member-more,.game-shell[data-layout=compact] .is-collapsed .party-member-actions,.game-shell[data-layout=compact] .is-collapsed .party-menu,.game-shell[data-layout=compact] .is-collapsed .party-actions{display:none}.game-shell[data-layout=compact] .is-collapsed .party-toggle{width:26px;height:26px;font-size:14px;background:transparent;border:0}.game-shell[data-layout=compact] .is-collapsed .party-members{padding:0 5px 4px;gap:2px;max-height:84px;overflow-y:auto;font-size:9px}.game-shell[data-layout=compact] .is-collapsed .party-members:empty{display:none}.game-shell[data-layout=compact] .is-collapsed .party-ally-select{min-height:0;padding:0;text-shadow:0 1px 2px rgba(0,0,0,.95)}.game-shell[data-layout=compact] .is-collapsed .party-hp{height:3px;border:0}.game-shell[data-layout=compact] .party-panel.is-expanded{position:relative;z-index:10;width:140px;max-height:calc(100vh - 128px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;background:var(--hud-panel);font-size:11px}.game-shell[data-layout=compact] .party-panel.is-expanded .party-title{height:28px;padding:0 0 0 8px;font-size:11px}.game-shell[data-layout=compact] .party-panel.is-expanded .party-toggle,.game-shell[data-layout=compact] .party-panel.is-expanded .party-menu-toggle{width:28px;height:28px;font-size:14px}.game-shell[data-layout=compact] .party-panel.is-expanded .party-member-more{width:26px;height:24px}.game-shell[data-layout=compact] .party-panel.is-expanded .party-ally-select{min-height:24px}.game-shell[data-layout=compact] .party-panel.is-expanded .party-members{gap:5px}.game-shell[data-layout=compact] .party-panel.is-expanded .party-member-actions .party-mini{flex-basis:100%}.game-shell[data-layout=compact] .party-panel.is-expanded .party-mini,.game-shell[data-layout=compact] .party-panel.is-expanded .party-ally-select{min-height:28px;min-width:0;font-size:11px}.game-shell[data-layout=compact] .party-panel.is-expanded .party-invite-input{min-height:28px;height:28px;font-size:12px}.game-shell[data-layout=compact] .party-panel.is-expanded .party-hp{height:12px}.game-shell[data-layout=compact] .party-panel.is-expanded .party-hp-text{font-size:9px}.game-shell[data-layout=compact] .minimap-panel{width:76px;min-width:76px;padding:2px 0 0}.game-shell[data-layout=compact] .minimap-panel .panel-title{padding:0 5px 1px;font-size:9.5px;line-height:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-shell[data-layout=compact] .minimap-readout{padding:0 5px;font-size:9px;line-height:12px}.game-shell[data-layout=compact] .minimap-canvas{width:calc(100% - 8px);margin:1px 4px 3px}.game-shell[data-layout=compact] .minimap-foot{padding:1px 4px 2px;gap:0 6px}.game-shell[data-layout=compact] .world-clock{gap:3px;font-size:10px}.game-shell[data-layout=compact] .world-clock-sign{width:12px;height:12px}.game-shell[data-layout=compact] .minimap-foot .perf-badge{font-size:9px}.game-shell[data-layout=compact] .panel-button-icon{display:block}.game-shell[data-layout=compact] .hotbar-panel{position:relative;display:grid;grid-template-columns:18px repeat(9,minmax(0,1fr)) 76px;width:min(424px,calc(100% - 2px));height:44px;padding:0;gap:0;border:0;background:var(--hud-glass);box-shadow:none}.game-shell[data-layout=compact] .hotbar-slot{width:44px;height:44px}.game-shell[data-layout=compact] .panel-buttons{gap:4px;padding:0;border:0;background:transparent;box-shadow:none}.game-shell[data-layout=compact] .panel-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:44px;height:44px;min-width:44px;padding:1px;background:var(--hud-glass);font-size:7px}.game-shell[data-layout=compact] .panel-button.is-open{color:var(--hud-bright);border-color:var(--hud-gold)}.game-shell[data-layout=compact] .hotbar-pick-cancel{position:absolute;bottom:47px;left:0;width:100%;min-height:44px;margin:0}.game-shell[data-layout=compact] .hud-overlay:has(.is-picking) .hud-bottom-left{visibility:hidden}.game-shell[data-layout=compact] .portal-hint{position:absolute;bottom:97px;width:min(388px,calc(100% - 12px));margin:0;overflow:hidden;text-overflow:ellipsis;font-size:10px;animation:none}.game-shell[data-layout=compact] .hud-panel-stack{position:static;overflow:visible}.game-shell[data-layout=compact] .hud-panel-stack>.hud-panel,.game-shell[data-layout=compact] .hud-bag:has(*){position:fixed;inset:0;z-index:9;width:auto;max-height:none;border-radius:0;overflow-y:auto;overscroll-behavior:contain;background:var(--hud-modal)}.game-shell[data-layout=compact] .hud-bag:has(*){flex-direction:column;align-items:stretch;gap:0;background:var(--hud-modal)}.game-shell[data-layout=compact] .hud-bag>*{width:auto;border:0;border-radius:0;box-shadow:none}.game-shell[data-layout=compact] .panel-title{position:sticky;top:0;z-index:3;padding:10px 12px;font-size:13px}.game-shell[data-layout=compact] .panel-close{width:44px;height:44px;font-size:18px}.game-shell[data-layout=compact] .chat-panel{position:fixed;inset:0;z-index:10;width:100%;background:var(--hud-modal);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.game-shell[data-layout=compact] .chat-log{flex:1;min-height:0;height:auto}.game-shell[data-layout=compact] .chat-channel{min-width:44px;min-height:44px;padding:2px 7px}.game-shell[data-layout=compact] .chat-input{min-width:0;min-height:44px;font-size:16px}.chat-strip{pointer-events:auto;display:flex;align-items:center;gap:8px;width:100%;height:44px;padding:0 10px;font:inherit;text-align:left;color:var(--hud-cream);background:linear-gradient(transparent 9px,var(--hud-glass) 9px,var(--hud-glass) 35px,transparent 35px);border:0;border-radius:0;cursor:pointer}.chat-strip-mark{flex:none;color:var(--hud-muted)}.chat-strip-text{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chat-collapse{width:44px;height:44px;padding:0;font:inherit;font-size:18px;line-height:1;color:var(--hud-cream);background:var(--hud-raised);border:1px solid var(--hud-line);border-radius:2px;cursor:pointer}.joystick{position:fixed;z-index:8;pointer-events:none;transform:translate(-50%,-50%);border:2px solid var(--hud-line);border-radius:50%;background:var(--hud-glass)}.joystick-knob{position:absolute;top:50%;left:50%;width:46px;height:46px;border:2px solid var(--hud-gold);border-radius:50%;background:var(--hud-line)}.game-canvas,.game-canvas canvas{touch-action:none}.game-shell[data-layout=compact] .auto-button,.game-shell[data-layout=compact] .auto-field input{min-height:44px}.game-shell[data-layout=compact] .auto-field input{font-size:16px}.game-shell[data-layout=compact] .auto-skill,.game-shell[data-layout=compact] .auto-toggle{min-height:44px;gap:10px}.game-shell[data-layout=compact] .auto-skill input[type=checkbox],.game-shell[data-layout=compact] .auto-toggle input[type=checkbox]{width:22px;height:22px}.action-sheet-veil{position:fixed;inset:0;z-index:12;pointer-events:auto;display:flex;align-items:flex-end;justify-content:center;background:var(--hud-veil)}.action-sheet{width:min(420px,calc(100% - 16px));margin:8px;padding:6px;display:flex;flex-direction:column;gap:5px;background:var(--hud-modal);border:1px solid var(--hud-line);border-radius:2px;box-shadow:inset 0 0 0 1px var(--hud-ink)}.action-sheet-title{font-family:var(--hud-title-font);border-bottom:1px solid var(--hud-line);padding:8px 10px 4px;font-size:13px;font-weight:700;color:var(--hud-cream)}.action-sheet-option{min-height:48px;padding:0 14px;font:inherit;font-size:15px;text-align:left;color:var(--hud-cream);background:var(--hud-raised);border:1px solid var(--hud-line);border-radius:4px;cursor:pointer}.action-sheet-option.is-cancel{color:var(--hud-muted);background:transparent;text-align:center}.hotbar-panel.is-picking{border-color:var(--hud-gold)}.hotbar-slot.is-target{border-color:var(--hud-gold);box-shadow:inset 0 0 0 1px var(--hud-line)}.hotbar-pick-cancel{flex:1 0 100%;min-height:34px;margin-bottom:2px;font:inherit;color:var(--hud-ink);background:var(--hud-gold);border:0;border-radius:3px;cursor:pointer}.game-shell[data-layout=compact] .item-actions button,.game-shell[data-layout=compact] .skill-learn,.game-shell[data-layout=compact] .stat-raise,.game-shell[data-layout=compact] .stat-remove,.game-shell[data-layout=compact] .status-actions button,.game-shell[data-layout=compact] .status-details,.game-shell[data-layout=compact] .party-create,.game-shell[data-layout=compact] .party-mini,.game-shell[data-layout=compact] .invite-accept,.game-shell[data-layout=compact] .invite-decline,.game-shell[data-layout=compact] .leave-button{min-height:44px;min-width:44px}.game-shell[data-layout=compact] .item-key-pick{flex-wrap:wrap}.game-shell[data-layout=compact] .item-key-pick button{flex:1 0 calc(20% - 3px)}.game-shell[data-layout=compact] .inventory-slot,.game-shell[data-layout=compact] [data-npc-service=treasurer] .town-storage-slot,.game-shell[data-layout=compact] .equipment-slot{min-width:44px;min-height:44px}.game-shell[data-layout=compact] .stat-row{grid-template-columns:minmax(0,1fr) auto auto;gap:4px}.game-shell[data-layout=compact] .status-panel{max-width:100%;overflow-x:hidden}.game-shell[data-layout=compact] .stat-name{white-space:normal}.game-shell[data-layout=compact] .status-actions button{flex:1;min-width:0}.game-shell[data-layout=compact] .skill-icon{width:44px;height:44px;flex-basis:44px}.game-shell[data-layout=compact] .equipment-boxes{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 5px}.game-shell[data-layout=compact] .equipment-box{min-width:0}.game-shell[data-layout=compact] .equipment-slot{width:min(100%,72px);height:auto;aspect-ratio:1;margin-inline:auto}.game-shell[data-layout=compact] .equipment-label{min-height:0;font-size:11px}.hud-overlay,.hud-panel,.action-sheet-veil{touch-action:manipulation}.hud-overlay{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.chat-log,.chat-line{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.game-shell[data-layout=compact] .hud-top-left{top:calc(6px + env(safe-area-inset-top));left:calc(6px + env(safe-area-inset-left))}.game-shell[data-layout=compact] .hud-top-right{top:calc(6px + env(safe-area-inset-top));right:calc(6px + env(safe-area-inset-right))}.game-shell[data-layout=compact] .hud-panel-stack>.hud-panel,.game-shell[data-layout=compact] .hud-bag:has(*){padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}.action-sheet{margin-bottom:calc(8px + env(safe-area-inset-bottom))}.stat-row.is-untouched .stat-name,.stat-row.is-untouched .stat-value{opacity:.5}.world-map-details{flex:none;max-height:45%;overflow-y:auto;padding:8px 12px 10px;color:var(--hud-cream);background:var(--hud-raised);border-top:1px solid var(--hud-line)}.world-map-details header{display:flex;align-items:baseline;gap:8px}.world-map-details header strong{font-size:15px;color:#f5deb0}.world-map-details-close{margin-left:auto;align-self:center}.world-map-details header span{flex:1;color:var(--hud-muted)}.world-map-details p{margin:4px 0 0}.world-map-details-level{color:var(--hud-gold)}.world-map-residents{display:flex;flex-wrap:wrap;gap:4px 6px;margin:6px 0 0;padding:0;list-style:none}.world-map-residents li{display:flex;align-items:baseline;gap:4px;padding:2px 8px;border:1px solid var(--hud-line);border-radius:3px;background:#0000002e}.world-map-residents small{color:var(--hud-muted);font-size:11px}.world-map-residents .is-chief span{color:#ffd58a}.world-map-residents .is-boss span{color:#ffb3b0}.world-map-residents .is-npc span{color:#b9e6c9}.guild-need{margin:2px 0 6px;padding-left:18px;color:var(--hud-cream);font-size:12px}.guild-need-title{margin-bottom:0}.guild-need li.is-met{color:#9fd88a}.guild-need li.is-met:after{content:" ✓"}.world-map-drops{margin-top:8px;padding-top:6px;border-top:1px solid var(--hud-line)}.world-map-drops-title{color:var(--hud-gold);font-size:12px}.world-map-drops-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:4px}.world-map-drops-row small{color:var(--hud-muted);font-size:11px}.world-map-drops-icons{display:flex;flex-wrap:wrap;gap:2px}.world-map-drops-icon{display:inline-flex;width:22px;height:22px;flex:none}.world-map-drops-icon .item-art,.world-map-drops-icon .item-placeholder{width:22px;height:22px}.world-map-drops-list li{align-items:center;padding:1px 8px 1px 2px}.npc-panel{position:fixed;z-index:11;left:50%;bottom:120px;transform:translate(-50%);width:min(560px,calc(100vw - 20px));max-height:min(80vh,720px);overflow-y:auto}.npc-title{display:flex;align-items:center;gap:8px;color:var(--hud-gold)}.npc-body{display:flex;gap:10px;align-items:center;padding:8px 10px 4px}.npc-portrait{flex:none;width:92px;height:104px;overflow:hidden;background:radial-gradient(circle at 50% 35%,#2c2a33,#0b0b10 75%);border:2px solid #6b5a3a;box-shadow:inset 0 0 0 1px #000}.npc-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}.npc-greeting{margin:0 0 8px;color:var(--hud-cream);font-style:italic;line-height:1.5}.npc-service{display:flex;justify-content:space-between;gap:8px;padding:8px 10px 10px;border-top:1px solid var(--hud-line);color:var(--hud-cream)}.npc-service span{color:var(--hud-muted)}.game-shell[data-layout=compact] .npc-panel{inset:0;width:auto;max-height:none;transform:none;background:var(--hud-modal)}.town-service{padding:8px 10px 12px;border-top:1px solid var(--hud-line);color:var(--hud-cream)}.town-service>header{display:flex;justify-content:space-between;gap:8px;color:var(--hud-gold)}.town-appraise{margin-top:12px;padding-top:8px;border-top:1px solid var(--hud-line)}.town-appraise>header{display:flex;justify-content:space-between;gap:8px;color:var(--hud-gold);margin-bottom:4px}.town-empty{margin:4px 0;color:var(--hud-muted)}.town-row.is-picked{background:#f0d48a14}.town-smith{padding:0;border-top:0}.town-smith .town-rows{max-height:360px}.town-smith>.town-service,.town-smith>.town-appraise{margin-top:0;padding:8px 10px 12px;border-top:0}.town-tabs .char-tab{min-width:0;padding-inline:12px}.town-tabs .char-tab-row{flex-wrap:wrap}.enhance-preview{display:flex;flex-direction:column;gap:3px;color:var(--hud-gold)}.enhance-result{padding:8px;border:1px solid var(--hud-line);color:var(--hud-cream);white-space:pre-line}.enhance-result.is-success{border-color:var(--hud-gold);color:var(--hud-gold)}.enhance-result.is-fail{border-color:#8a3a2e;color:#e0a090}.enhance-exchange{align-self:flex-start}.town-tab-count{display:inline-block;min-width:1.4em;margin-left:5px;padding:0 4px;color:#0b0e14;background:var(--hud-gold);border-radius:8px;font-size:11px;line-height:1.4}[data-npc-service=trader] .town-row button{min-width:6em}.town-sell-actions{display:flex;flex:none;align-items:center;gap:6px;padding-block:3px}.game-shell[data-layout=compact] [data-npc-service=trader] .town-row{flex-wrap:wrap;padding-block:4px}.game-shell[data-layout=compact] .town-sell-actions{flex-basis:100%;justify-content:flex-end}.town-row-quantity{flex:none;width:4.2em;padding:4px 6px;color:var(--hud-cream);background:var(--hud-raised);border:1px solid var(--hud-line);font:inherit}.town-exchange>span:nth-child(2){display:flex;flex-direction:column}.town-exchange .is-short{color:#e07a6a}.town-exchange-buttons{display:flex;flex:none;flex-direction:column;gap:4px;width:7.5em}.town-row .town-exchange-buttons button{width:100%}.town-exchange-groups{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.town-exchange-groups button{flex:1 1 auto;padding:3px 8px;color:var(--hud-cream);background:var(--hud-raised);border:1px solid var(--hud-line);font:inherit;cursor:pointer}.town-exchange-groups button.is-active{color:#0b0e14;background:var(--hud-gold);border-color:var(--hud-gold)}.town-reroll{display:flex;flex-direction:column;gap:6px;margin-top:8px}.town-reroll-cost{display:flex;align-items:center;gap:8px}.town-reroll-cost .is-short{color:#e07a6a}.town-reroll-keep{display:flex;flex-direction:column;gap:4px;margin:0;padding:6px 8px;border:1px solid var(--hud-line)}.town-reroll-keep legend{padding:0 4px;color:var(--hud-gold)}.town-reroll-keep label{display:flex;align-items:center;gap:6px}.town-reroll-keep:disabled{opacity:.5}.town-reroll button{padding:6px 8px;color:var(--hud-gold);background:var(--hud-raised);border:1px solid var(--hud-line)}.town-reroll button.is-armed{color:#0b0e14;background:var(--hud-gold)}.town-reroll button:disabled{opacity:.45}.town-enchant-option{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;padding:4px 0;border-bottom:1px solid var(--hud-line)}.town-enchant-option small{color:var(--hud-muted, #9d8a70)}.town-enchant-buttons{display:flex;flex-wrap:wrap;gap:4px}.town-enchant button{display:inline-flex;align-items:center;gap:4px}.town-enchant button .item-art,.town-enchant button img{width:20px;height:20px}.town-enchant-why{font-size:12px}.town-quantity{display:flex;align-items:center;gap:8px;margin:8px 0}.town-quantity input,.town-money input{width:64px;padding:4px;color:var(--hud-cream);background:var(--hud-raised);border:1px solid var(--hud-line)}.town-rows{max-height:235px;overflow-y:auto}.town-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;border-bottom:1px solid var(--hud-line)}.town-row span{min-width:0;overflow-wrap:anywhere}.town-row small{display:block;color:var(--hud-muted)}.town-row .town-item-effect{color:var(--hud-cream);line-height:1.5}.town-item-icon,.town-row .town-item-icon{flex:none;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.town-row .town-item-icon+span{flex:1}.town-row button,.town-money button{flex:none;padding:5px 7px;color:var(--hud-gold);background:var(--hud-raised);border:1px solid var(--hud-line)}.town-row button:disabled,.town-money button:disabled{opacity:.45}[data-npc-service=herbalist-tabs]{padding:0;border-top:0}[data-npc-service=herbalist-tabs]>.town-service{border-top:0}.stall-panel{position:fixed;z-index:11;left:50%;bottom:120px;transform:translate(-50%);width:min(480px,calc(100vw - 20px));max-height:min(78vh,680px);overflow-y:auto;padding-bottom:10px;color:var(--hud-cream)}.stall-panel>:not(.panel-title){margin-inline:10px}.stall-panel .town-rows{max-height:min(32vh,240px)}.stall-panel button:not(.panel-close),.stall-errand>button{padding:5px 9px;color:var(--hud-gold);background:var(--hud-raised);border:1px solid var(--hud-line);font:inherit;cursor:pointer}.stall-panel button:disabled,.stall-errand>button:disabled{opacity:.45;cursor:default}.stall-panel>button{margin-top:8px}.stall-note{margin:8px 0 4px;line-height:1.5}.stall-earn{display:block;margin-top:2px;color:#b9a98c;font-size:11px}.stall-note strong{color:var(--hud-gold)}.stall-bia{float:right;color:var(--hud-muted)}.stall-notice{margin:6px 0;color:var(--hud-gold)}.stall-subhead{display:flex;justify-content:space-between;margin-top:10px;color:var(--hud-gold)}.stall-title-field{display:flex;align-items:center;gap:8px;margin-top:8px}.stall-title-field input,.stall-panel input{min-width:0;padding:4px 6px;color:var(--hud-cream);background:var(--hud-raised);border:1px solid var(--hud-line);font:inherit}.stall-title-field input{flex:1}.stall-draft-fields{display:flex;flex-direction:column;gap:3px}.stall-draft-fields label{display:flex;align-items:center;gap:5px;color:var(--hud-muted)}.stall-draft-fields input{width:7em}.stall-buy{display:flex;flex:none;align-items:center;gap:5px}.stall-buy input{width:4.2em}.stall-needs{margin:6px 0 10px;padding:0;list-style:none}.stall-panel.is-setup{width:min(760px,calc(100vw - 20px))}.stall-setup{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.stall-setup-bag,.stall-setup-list{min-width:0}.stall-setup-list .town-rows{max-height:min(46vh,380px)}.stall-setup-list .stall-open{width:100%;margin-top:8px}.stall-grid{display:grid;gap:4px;margin-top:6px}.stall-panel button.stall-slot{position:relative;display:grid;place-items:center;aspect-ratio:1;padding:0;background:var(--hud-surface);border:1px solid var(--hud-line);border-radius:2px;cursor:default}.stall-panel button.stall-slot.has-item{cursor:pointer}.stall-panel button.stall-slot:disabled{opacity:1}.stall-panel button.stall-slot.has-item:disabled{opacity:.45}.stall-panel button.stall-slot.is-picked{border-color:var(--hud-gold);box-shadow:inset 0 0 0 1px var(--hud-gold)}.stall-panel button.stall-slot.is-picked .item-icon{opacity:.4}.stall-slot-mark{position:absolute;z-index:2;left:2px;right:2px;bottom:2px;padding:1px 0;font-size:11px;line-height:1.2;color:var(--hud-ink, #1a1206);background:var(--hud-gold);border-radius:2px;text-align:center;pointer-events:none}.game-shell[data-layout=compact] .stall-setup{grid-template-columns:1fr}.game-shell[data-layout=compact] .stall-grid{gap:3px}.stall-needs li{display:flex;justify-content:space-between;gap:8px;padding:3px 0;color:var(--hud-muted)}.stall-needs li.is-done{color:var(--hud-cream)}.stall-needs li.is-done small{color:var(--hud-gold)}.game-shell[data-layout=compact] .stall-panel{inset:0;width:auto;max-height:none;transform:none;background:var(--hud-modal)}.town-money{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 0}[data-npc-service=treasurer] .town-storage-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}[data-npc-service=treasurer] .town-storage-columns>div{min-width:0}[data-npc-service=treasurer] .town-storage-title{display:flex;align-items:center;gap:6px}[data-npc-service=treasurer] .town-storage-grid{max-height:304px;margin-top:4px;padding:4px;overflow-y:auto;overscroll-behavior:contain;align-content:start;border:1px solid var(--hud-line)}[data-npc-service=treasurer] .town-storage-slot{min-width:0;padding:0;font:inherit;color:inherit}[data-npc-service=treasurer] .town-storage-slot.has-item{cursor:pointer}[data-npc-service=treasurer] .town-storage-slot:focus-visible{outline:2px solid var(--hud-gold);outline-offset:-2px}[data-npc-service=treasurer] .town-storage-detail{min-height:104px;align-content:flex-start;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:8px;padding-top:8px;border-top:1px solid var(--hud-line)}[data-npc-service=treasurer] .town-storage-description{flex:1 1 180px;min-width:0;overflow-wrap:anywhere}[data-npc-service=treasurer] .town-storage-description .item-grade{flex-direction:column}[data-npc-service=treasurer] .town-storage-actions{display:flex;align-items:center;gap:8px}[data-npc-service=treasurer] .town-storage-actions .town-quantity{margin:0}[data-npc-service=treasurer] [data-vault-action]{padding:5px 12px;font:inherit;color:var(--hud-gold);background:var(--hud-raised);border:1px solid var(--hud-line);cursor:pointer}.game-shell[data-layout=compact] [data-npc-service=treasurer] .town-storage-columns{grid-template-columns:minmax(0,1fr)}.game-shell[data-layout=compact] [data-npc-service=treasurer] .town-storage-grid{max-height:320px}.game-shell[data-layout=compact] [data-npc-service=treasurer] .town-storage-actions input,.game-shell[data-layout=compact] [data-npc-service=treasurer] [data-vault-action],.game-shell[data-layout=compact] .town-row button,.game-shell[data-layout=compact] .town-row-quantity{min-height:44px}.game-shell[data-layout=compact] .town-rows,.game-shell[data-layout=compact] .town-smith .town-rows{max-height:none;overflow-y:visible}.game-shell[data-layout=compact] .npc-panel .panel-close,.game-shell[data-layout=compact] .stall-panel .panel-close{min-width:44px;min-height:44px}.quest-view{padding:8px 10px 10px;border-top:1px solid var(--hud-line);color:var(--hud-cream)}.quest-list{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.quest-row{display:flex;width:100%;justify-content:space-between;align-items:baseline;gap:8px;padding:5px 8px;font:inherit;text-align:left;color:var(--hud-cream);background:transparent;border:1px solid var(--hud-line);border-radius:2px;cursor:pointer}.quest-row.is-chosen{background:var(--hud-raised);border-color:var(--hud-gold)}.quest-row-title{color:#f5deb0;font-weight:600}.quest-row-meta{flex:none;font-size:11px;color:var(--hud-muted)}.quest-row.is-done .quest-row-meta,.quest-row.is-open .quest-row-meta{color:var(--hud-gold)}.quest-row.is-locked .quest-row-title{color:var(--hud-muted)}.quest-view p{margin:6px 0 0;line-height:1.5}.quest-objective{color:var(--hud-gold)}.quest-button{width:100%;margin-top:8px;padding:7px;font:inherit;color:var(--hud-gold);background:var(--hud-raised);border:1px solid var(--hud-gold);border-radius:2px;cursor:pointer}.quest-button.is-quiet{color:var(--hud-muted);border-color:var(--hud-line)}.quest-button:disabled{color:var(--hud-muted);border-color:var(--hud-line);cursor:default}.rate-badge{display:flex;flex-direction:column;gap:2px;margin-top:4px;padding:3px 7px;max-width:180px;font-size:11px;color:var(--hud-cream);background:#78460ab8;border:1px solid #e0b060;border-radius:2px;pointer-events:none}.rate-badge-row{display:flex;align-items:baseline;gap:6px}.rate-badge-row strong{color:#ffd98a;white-space:nowrap}.rate-badge-row span{color:var(--hud-muted);font-size:10px}.game-shell[data-layout=compact] .rate-badge{max-width:260px;font-size:10px}.game-shell[data-layout=compact] .rate-badge-row{white-space:nowrap}.quest-tracker{display:flex;flex-direction:column;gap:4px;margin-top:4px;padding:4px 7px;max-width:180px;font-size:10px;color:var(--hud-cream);background:var(--hud-glass);border:1px solid var(--hud-line);border-radius:2px;pointer-events:none}.quest-tracker-row{display:flex;flex-direction:column;gap:1px}.quest-tracker-title{color:var(--hud-gold)}.quest-tracker-row.is-done span:last-child{color:#f5deb0}.quest-tracker-more{color:var(--hud-muted)}.game-shell[data-layout=compact] .quest-tracker{max-width:96px;padding:3px 5px;font-size:8px}.game-shell[data-layout=compact] .quest-button,.game-shell[data-layout=compact] .quest-row{min-height:44px}.skills-panel .skill-row-head{flex-wrap:wrap}.skills-panel .skill-tag{white-space:normal;overflow-wrap:anywhere}.skill-meta{flex-wrap:wrap}.skill-master-service{padding:8px 10px 12px;border-top:1px solid var(--hud-line);color:var(--hud-cream)}.skill-master-bia{margin:0 0 6px;color:var(--hud-gold);text-align:right}.skill-master-service .skill-list{max-height:none;overflow:visible;padding:0}.skill-master-row .skill-row-head{display:flex;align-items:flex-start;gap:8px;flex-wrap:nowrap}.game-shell .skill-master-service .skill-master-row .skill-icon.skill-art{width:44px;height:44px;flex:0 0 44px;margin:0}.game-shell .skill-master-service .skill-master-row .skill-icon.skill-art img{object-fit:cover}.skill-master-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.skill-master-service .skill-learn{flex:none;margin:0 0 0 auto;white-space:nowrap}.skill-learn-reason{margin:4px 0 0;font-size:11px;color:var(--hud-muted);overflow-wrap:anywhere}.skill-book-recipe{display:grid;gap:2px;margin:5px 0 0;padding:5px 7px;list-style:none;font-size:11px;background:var(--hud-ink);border:1px solid var(--hud-line)}.skill-book-recipe li{display:flex;justify-content:space-between;gap:8px;color:var(--hud-muted)}.skill-book-recipe li.is-met{color:var(--hud-cream)}.skill-book-count{flex:none;font-variant-numeric:tabular-nums}.skill-book-recipe li.is-met .skill-book-count{color:var(--hud-gold)}.hud-vitals-row{position:relative}.hud-status-icons{align-self:stretch;display:flex;flex-wrap:wrap-reverse;justify-content:center;gap:4px;margin-bottom:6px;pointer-events:none}.hud-status-icons>*{pointer-events:auto}.hud-status-icon{position:relative;display:inline-flex;flex:0 0 42px;height:40px;border:1px solid var(--hud-gold);border-radius:3px;overflow:hidden;background:var(--hud-surface)}.hud-status-icon.is-harmful{border-color:var(--hud-danger)}.status-skill-icon{width:100%;height:100%;box-sizing:border-box;font-size:12px}.status-sweep{position:absolute;inset:0;pointer-events:none}.status-countdown{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--hud-cream);text-shadow:0 1px 2px var(--hud-ink);pointer-events:none}.party-ally-select{flex:1;min-width:0;padding:2px 0;border:0;background:transparent;text-align:left;font:inherit;cursor:pointer}.party-ally-select:disabled{cursor:default;opacity:.6}.party-member.is-ally-target{outline:1px solid var(--hud-gold);outline-offset:2px;background:var(--hud-raised)}.party-ally-mark{color:var(--hud-gold)}.party-ally-select:focus-visible,.hud-status-icon:focus-visible{outline:2px solid var(--hud-gold);outline-offset:1px}.game-shell[data-layout=compact] .hud-status-icons{gap:3px;margin-bottom:4px}.game-shell[data-layout=compact] .hud-status-icon{flex-basis:30px;height:30px}.game-shell[data-layout=compact] .status-countdown{font-size:10px}.game-shell[data-layout=compact] .skill-master-service .skill-learn,.game-shell[data-layout=compact] .party-ally-select{min-height:44px}.char-window{width:min(480px,calc(100vw - 20px));max-height:calc(100vh - 150px);overflow-y:auto;background:linear-gradient(180deg,#ffffff08,#0000002e),var(--hud-panel);border:2px solid #6b5a3a;border-radius:3px;box-shadow:inset 0 0 0 1px #1a1410,inset 0 0 0 3px #3a2f1f,0 6px 18px #0000008c}.char-tabs{display:flex;align-items:flex-end;justify-content:space-between;padding:5px 6px 0;border-bottom:1px solid #6b5a3a;background:linear-gradient(180deg,#2a2218,#17130e)}.char-tab-row{display:flex;gap:3px}.char-tab{padding:4px 14px 5px;font:inherit;color:var(--hud-muted);background:linear-gradient(180deg,#2b261d,#1a1611);border:1px solid #4a3f2c;border-bottom:0;border-radius:3px 3px 0 0;cursor:pointer}.char-tab.is-active{color:var(--hud-cream);background:linear-gradient(180deg,#4a3d27,#2a2218);border-color:#8a7448}.char-tabs .panel-close{margin-bottom:4px}.char-body{padding:8px}.char-field dd,.char-window .stat-value,.char-window .status-sheet .status-row dd,.char-window .status-more .status-row dd,.char-info{background:#07080b;border:1px solid #000;box-shadow:inset 1px 1px #000c,0 1px #c9a24a2e}.char-top{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px;margin-bottom:8px}.char-portrait{width:92px;height:104px;overflow:hidden;background:radial-gradient(circle at 50% 35%,#2c2a33,#0b0b10 75%);border:2px solid #6b5a3a;box-shadow:inset 0 0 0 1px #000}.char-portrait img{display:block;width:250%;margin:-6% 0 0 -75%}.char-fields{margin:0;display:flex;flex-direction:column;gap:4px}.char-field{display:grid;grid-template-columns:3.4em minmax(0,1fr);align-items:center;gap:6px;padding:0}.char-field dt{color:var(--hud-muted);text-align:right}.char-field dd{margin:0;min-height:20px;padding:2px 6px;display:flex;align-items:center;gap:5px;min-width:0;color:var(--hud-cream);overflow:hidden;white-space:nowrap}.char-field .status-job-intro{display:none}.char-rank span{color:var(--hud-gold)}.rank-badge{--rank-metal: #b07a45;position:relative;display:inline-grid;place-items:center;width:22px;height:22px;flex:none;box-sizing:border-box;border:1px solid var(--rank-metal);background:#0b0e14}.rank-badge.is-tho{--rank-metal: #c8ccd4}.rank-badge.is-ek{--rank-metal: #e2b85a}.rank-badge:after{content:"";position:absolute;inset:-2px;background:center / contain no-repeat;pointer-events:none}.rank-badge.is-tri:after{background-image:url(/assets/ranks/frame_tri.png)}.rank-badge.is-tho:after{background-image:url(/assets/ranks/frame_tho.png)}.rank-badge.is-ek:after{background-image:url(/assets/ranks/frame_ek.png)}.rank-badge img{width:16px;height:16px;object-fit:contain}.rank-badge-letter{font-size:11px;color:var(--rank-metal)}.char-main{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:8px}.char-stats{display:flex;flex-direction:column;gap:6px;min-width:0}.char-window .stat-list,.char-window .status-list{padding:0}.char-window .stat-value{min-width:64px;padding:1px 6px;text-align:right}.char-window .status-row dd{min-width:78px;padding:1px 6px;text-align:right}.char-window .stat-row.is-focused .stat-name,.char-window .status-row.is-focused dt{color:var(--hud-gold)}.char-info{margin:0;padding:6px 7px;min-height:120px;color:#cfd3dc;line-height:1.5;overflow-wrap:anywhere}.char-info p{margin:0 0 2px}.char-footer{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.char-window .status-points{margin:0}.char-window .status-actions,.char-window .status-more{margin-top:6px}.auto-potion-field{display:flex;flex-direction:column;gap:4px;min-width:0;color:var(--hud-muted)}.auto-potion-field select{width:100%;min-width:0;padding:5px 4px;border:1px solid var(--hud-line);border-radius:2px;background:var(--hud-ink);color:var(--hud-cream);font:inherit}.auto-potion-field select:disabled{opacity:.5}.auto-potion-field small{font-size:10px;overflow-wrap:anywhere}.item-actions .item-destroy{color:#ffb4a6;border-color:#925548}.item-destroy-controls{flex:none}.inventory-detail>.item-actions{min-height:24px}.destroy-inline-details{margin-top:4px}.destroy-item-quantity{display:flex;align-items:center;gap:6px}.destroy-item-quantity input{width:54px;min-height:26px;color:var(--hud-cream);background:var(--hud-raised);border:1px solid var(--hud-line);font:inherit}.destroy-item-quantity button{min-height:26px;color:var(--hud-cream);background:var(--hud-raised);border:1px solid var(--hud-line);font:inherit;cursor:pointer}.item-destroy-controls button:disabled{opacity:.45;cursor:not-allowed}.item-destroy-row{margin-top:4px}.status-detail-column{display:flex;flex-direction:column;gap:6px;min-width:0}.status-detail-column .char-info{flex:1}.char-window .status-detail-column .status-actions{margin:0;padding:0}.status-detail-column .status-actions button{flex:1;min-width:0}.char-window .status-details{width:100%;margin-top:6px}.skill-book{display:flex;flex-direction:column;gap:8px}.skill-table-well{padding:3px;background:#07090d;border:1px solid #3a2f1f;box-shadow:inset 0 0 6px #000;max-height:300px;overflow-y:auto}.skill-table{width:100%;border-collapse:collapse;table-layout:fixed}.skill-table th{padding:4px 6px;font-weight:400;color:var(--hud-cream);background:linear-gradient(#2a2418,#171410);border:1px solid #4a3c26;text-align:center}.skill-table td{padding:2px 6px;border-bottom:1px solid #1c1a16;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-table .skill-col-icon{width:36px;padding:2px}.skill-table .skill-col-level{width:52px}.skill-table .skill-col-state{width:72px}.skill-row{cursor:default}.skill-row:hover td,.skill-row.is-picked td{background:#f0d48a1a}.skill-row.is-picked .skill-col-name{color:var(--hud-gold)}.skill-col-name{color:var(--hud-cream)}.skill-row .skill-col-level{color:#7ee07e}.skill-row.is-locked .skill-col-level{color:#d86a5a}.skill-row .skill-col-state{font-size:11px;color:var(--hud-gold)}.skill-row.is-known .skill-col-state{color:#8ce99a}.skill-row.is-locked .skill-col-name,.skill-row.is-locked .skill-col-state{color:var(--hud-muted)}.skill-row .skill-icon{display:block;width:28px;height:28px;margin:0 auto;flex:none;border:1px solid #3a2f1f}.skill-row.is-known .skill-icon{border-color:#8a7448}.skill-row.is-locked .skill-icon{filter:grayscale(1) brightness(.45)}.skill-book .skill-info{min-height:84px}.skill-info-name{color:var(--hud-cream);font-weight:700}.skill-info-state{color:var(--hud-muted)}.skill-info-state.is-known{color:#8ce99a}.skill-info .skill-meta{display:flex;flex-wrap:wrap;gap:2px 8px;margin-top:4px;color:var(--hud-gold)}.game-shell[data-layout=compact] .char-window{width:auto;max-height:none}.game-shell[data-layout=compact] .char-main{grid-template-columns:minmax(0,1fr)}.game-shell[data-layout=compact] .char-info{min-height:0}.game-shell[data-layout=compact] .char-tab{min-height:40px;padding:6px 18px}.game-shell[data-layout=compact] .skill-row .skill-icon{width:36px;height:36px}.game-shell[data-layout=compact] .skill-table .skill-col-icon{width:44px}.char-field.status-job{margin:0;padding:0;background:none;border:0;border-radius:0;flex-wrap:nowrap}.char-window .status-details,.char-window .status-actions button{box-sizing:border-box}.char-window .status-details{margin-left:0;margin-right:0}.char-window{border:16px solid transparent;border-radius:0;border-image:url(/assets/ui/window_frame.webp) 95 fill / 34px round;background:none;box-shadow:0 8px 22px #0009}.char-window .char-tabs,.town-tabs{background:none;border-bottom:1px solid rgba(201,162,74,.35);padding:2px 4px 0}.char-window .char-tab,.town-tabs .char-tab{min-width:84px;padding:5px 20px 6px;color:#b9a98a;background:url(/assets/ui/tab_idle.png) center / 100% 100% no-repeat;border:0;border-radius:0;text-shadow:0 1px 1px #000}.char-window .char-tab-row{flex:1;min-width:0}.char-window .char-tab,.game-shell[data-layout=compact] .char-window .char-tab{flex:1 1 0;min-width:0;padding-inline:4px;white-space:nowrap}.char-window .char-tab.is-active,.town-tabs .char-tab.is-active{color:#fff3cf;background-image:url(/assets/ui/tab_active.png)}.char-window .char-body{padding:8px 6px 4px}.game-shell[data-layout=compact] .town-reroll-keep label,.game-shell[data-layout=compact] .town-reroll button{min-height:44px}.hud-top-center{top:10px;left:50%;transform:translate(-50%);width:min(620px,48%);justify-content:center;pointer-events:none}@media(max-width:1520px){.game-shell:not([data-layout=compact]) .hud-top-center{top:62px}}.boss-bar{width:100%;padding:5px 8px 4px;background:linear-gradient(180deg,#26180ee6,#100b08db);border:1px solid #a07a3e;box-shadow:0 0 0 1px #0009,0 3px 10px #00000080;animation:boss-bar-in .35s ease-out}@keyframes boss-bar-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.boss-bar-head{display:flex;align-items:baseline;justify-content:center;gap:7px;margin-bottom:3px;white-space:nowrap;overflow:hidden}.boss-bar-level{color:var(--hud-muted);font-size:11px}.boss-bar-name{color:#ffe2a6;font-size:15px;font-weight:700;letter-spacing:.02em;text-shadow:0 1px 2px #000;overflow:hidden;text-overflow:ellipsis}.boss-bar-tag{color:#e6a24a;font-size:11px}.boss-bar-percent{color:#fff3cf;font-size:12px;font-weight:700;text-shadow:0 1px 2px #000}.boss-bar-rage{color:#ff6a4d;font-size:11px;font-weight:700;animation:boss-bar-blink .8s steps(2) infinite}.boss-bar-track{position:relative;height:12px;background:#1a1210;border:1px solid #5d4426;overflow:hidden}.boss-bar-trail,.boss-bar-fill{position:absolute;inset:0 auto 0 0}.boss-bar-trail{background:#ffeec899;transition:width .45s ease-in .25s}.boss-bar-fill{transition:width .12s linear;box-shadow:inset 0 1px #ffffff59,inset 0 -2px #00000040}.boss-bar-layers{position:absolute;top:50%;right:5px;transform:translateY(-50%);font-size:10px;font-weight:700;line-height:1;color:#ffe2a6;text-shadow:0 0 2px #000,0 1px 2px #000}.boss-bar-numbers{margin-top:2px;text-align:center;color:var(--hud-muted);font-size:10px}.boss-bar.is-enraged{border-color:#e0482f;box-shadow:0 0 0 1px #0009,0 0 14px #e0482fbf;animation:boss-bar-in .35s ease-out,boss-bar-rage 1s ease-in-out infinite alternate}.boss-bar.is-low .boss-bar-fill{animation:boss-bar-blink .9s ease-in-out infinite}@keyframes boss-bar-rage{0%{box-shadow:0 0 0 1px #0009,0 0 6px #e0482f80}to{box-shadow:0 0 0 1px #0009,0 0 18px #ff5a32f2}}@keyframes boss-bar-blink{50%{opacity:.55}}.game-shell[data-layout=compact] .hud-top-center{top:118px;width:calc(100% - 16px)}.game-shell[data-layout=compact] .boss-bar-numbers{display:none}.game-shell[data-layout=compact] .boss-bar{padding:3px 6px}.game-shell[data-layout=compact] .boss-bar-head{margin-bottom:2px}.game-shell[data-layout=compact] .boss-bar-track{height:8px}.game-shell[data-layout=compact] .boss-bar-name{font-size:12px}.game-shell[data-layout=compact] .boss-bar-percent{font-size:11px}.game-shell[data-layout=compact] .boss-bar-layers{font-size:8px}.game-shell[data-layout=compact] .boss-bar-tag{display:none}@media(prefers-reduced-motion:reduce){.boss-bar,.boss-bar.is-enraged,.boss-bar.is-low .boss-bar-fill,.boss-bar-rage{animation:none}.boss-bar-trail{transition:none}}.destroy-warning{margin:4px 0 2px;color:#f0c9a8;font-size:11px;line-height:1.5}.destroy-warning strong{color:#ffe2a6}.destroy-warning.is-valuable{color:#ff9d85;font-weight:700}.game-shell[data-layout=compact] .party-invite-input{min-height:44px;font-size:16px}.player-card{width:190px;margin:8px auto 0;padding:7px 8px 8px;pointer-events:auto}.player-card-head{display:flex;align-items:center;gap:6px;margin-bottom:6px}.player-card-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--hud-gold)}.player-card-level{font-size:10px;color:var(--hud-muted)}.player-card-note{margin:0;font-size:11px;color:var(--hud-muted);text-align:center}.game-shell[data-layout=compact][data-orientation=landscape] .hud-bottom-left{left:calc(6px + env(safe-area-inset-left));right:calc(50% + 228px);bottom:var(--hud-bottom)}.game-shell[data-layout=compact][data-orientation=landscape] .hud-bottom-center{left:50%;right:auto;width:382px;bottom:var(--hud-bottom);transform:translate(-50%)}.game-shell[data-layout=compact][data-orientation=landscape] .hud-bottom-right{left:auto;right:calc(84px + env(safe-area-inset-right));top:calc(6px + env(safe-area-inset-top));bottom:auto;width:auto;margin:0}.game-shell[data-layout=compact][data-orientation=landscape] .panel-buttons{flex-direction:row;gap:3px}.game-shell[data-layout=compact][data-orientation=landscape] .panel-button{width:28px;min-width:28px;height:28px;padding:0}.game-shell[data-layout=compact][data-orientation=landscape] .panel-button-icon{width:15px;height:15px}.game-shell[data-layout=compact][data-orientation=landscape] .panel-button-label{display:none}.game-shell[data-layout=compact][data-orientation=landscape] .hotbar-panel{display:grid;grid-template-columns:18px repeat(9,36px) auto;align-items:center;gap:2px;width:max-content;height:40px}.game-shell[data-layout=compact][data-orientation=landscape] .hotbar-page{height:36px}.game-shell[data-layout=compact][data-orientation=landscape] .hotbar-auto{gap:2px;padding-left:3px;margin-left:1px}.game-shell[data-layout=compact][data-orientation=landscape] .hotbar-auto-button{width:36px;height:36px}.game-shell[data-layout=compact][data-orientation=landscape] .hotbar-slot{width:36px;height:36px;align-self:center}.game-shell[data-layout=compact][data-orientation=landscape] .chat-panel{inset:auto;left:calc(6px + env(safe-area-inset-left));bottom:var(--hud-bottom);width:min(36%,440px,calc(100% - 290px));height:min(50%,210px);padding:0;background:var(--hud-panel);font-size:12px}.game-shell[data-layout=compact][data-orientation=landscape] .chat-strip{height:32px;padding:0 8px;gap:6px;font-size:12px;background:linear-gradient(transparent 4px,var(--hud-glass) 4px,var(--hud-glass) 28px,transparent 28px)}.game-shell[data-layout=compact][data-orientation=landscape] .chat-channel,.game-shell[data-layout=compact][data-orientation=landscape] .chat-collapse{min-height:28px;height:28px;font-size:11px}.game-shell[data-layout=compact][data-orientation=landscape] .chat-collapse{width:36px;min-width:36px}.game-shell[data-layout=compact][data-orientation=landscape] .chat-input{min-height:32px;height:32px;font-size:12px}.game-shell[data-layout=compact][data-orientation=landscape] .chat-channels{flex-wrap:nowrap}.game-shell[data-layout=compact][data-orientation=landscape] .chat-channel{flex:1;min-width:0;padding-inline:2px;white-space:nowrap}.game-shell[data-layout=compact][data-orientation=landscape] .hud-top-center{top:calc(6px + env(safe-area-inset-top));left:calc(152px + env(safe-area-inset-left));width:min(300px,calc(100% - 523px - env(safe-area-inset-left) - env(safe-area-inset-right)));transform:none}.game-shell[data-layout=compact][data-orientation=landscape] .hud-overlay:has(.chat-panel) .portal-hint{left:calc(50% + 12px);right:0;width:auto}.game-shell[data-layout=compact][data-orientation=landscape] .portal-hint{bottom:54px}.hud-map-row{display:flex;align-items:flex-start;gap:6px}.game-shell[data-layout=desktop] .panel-buttons{gap:3px;padding:3px}.game-shell[data-layout=desktop] .panel-button{display:flex;align-items:center;justify-content:center;width:36px;min-width:36px;height:36px;padding:0}.game-shell[data-layout=desktop] .panel-button-icon{display:block;width:24px;height:24px}.game-shell[data-layout=desktop] .panel-button-label{display:none}.game-shell[data-layout=compact][data-device=tablet] .hud-overlay{zoom:1.4;contain:layout}.hud-world-layer{position:absolute;inset:0;z-index:5;pointer-events:none;font-family:var(--site-font);font-size:12px}.game-shell[data-layout=compact][data-device=tablet] .world-map-panel{width:min(1200px,calc(100% - 20px));height:min(680px,calc(100% - 20px))}.game-shell[data-layout=compact] .shrine-warps{max-height:none;overflow:visible}.game-shell[data-layout=compact] [data-npc-service=treasurer] .town-storage-grid{grid-template-columns:repeat(8,minmax(0,64px))!important;justify-content:start}.game-shell[data-layout=compact][data-orientation=landscape] .npc-body{align-items:center;padding:4px 10px}.game-shell[data-layout=compact][data-orientation=landscape] .npc-portrait{width:46px;height:52px}.game-shell[data-layout=compact][data-orientation=landscape] .npc-greeting{margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.game-shell[data-layout=compact][data-orientation=landscape] [data-npc-service=treasurer] .town-storage-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.game-shell[data-layout=compact][data-orientation=landscape] .hud-panel-stack>.hud-panel,.game-shell[data-layout=compact][data-orientation=landscape] .hud-bag:has(*){inset:auto;top:calc(50px + env(safe-area-inset-top));right:calc(6px + env(safe-area-inset-right));bottom:calc(var(--hud-bottom) + 46px);width:min(560px,60%);padding:0;border:1px solid var(--hud-line);background:var(--hud-panel);box-shadow:0 6px 24px #0009}.game-shell[data-layout=compact][data-orientation=landscape] .hud-bag:has(*){width:min(700px,76%)}.game-shell[data-layout=compact][data-orientation=landscape] .npc-panel{left:auto;top:calc(50px + env(safe-area-inset-top));right:calc(6px + env(safe-area-inset-right));bottom:calc(var(--hud-bottom) + 46px);width:min(600px,62%);overflow-y:auto;border:1px solid var(--hud-line);background:var(--hud-panel);box-shadow:0 6px 24px #0009}.game-shell[data-layout=compact][data-orientation=landscape] .npc-panel:has([data-npc-service=treasurer]){width:min(760px,80%)}.game-shell[data-layout=compact][data-orientation=landscape] .npc-panel .panel-close{width:32px;height:32px;min-width:32px;min-height:32px}.game-shell[data-layout=compact][data-orientation=landscape] .panel-title{padding:4px 8px;font-size:12px}.game-shell[data-layout=compact][data-orientation=landscape] .panel-close{width:32px;height:32px;font-size:15px}.game-shell[data-layout=compact][data-orientation=landscape] .hud-bag:has(*){flex-direction:row;overflow:hidden}.game-shell[data-layout=compact][data-orientation=landscape] .hud-bag>.equipment-panel{flex:0 0 240px}.game-shell[data-layout=compact][data-orientation=landscape] .hud-bag>.inventory-panel{flex:1 1 0;min-width:0}.game-shell[data-layout=compact][data-orientation=landscape] .hud-bag>.hud-panel{height:100%;overflow-y:auto}.game-shell[data-layout=compact] .quest-row{align-items:center}.game-shell[data-layout=compact] .inventory-grid{grid-template-columns:repeat(8,minmax(0,64px))!important;justify-content:center}.game-shell[data-layout=desktop] .npc-panel:has([data-npc-service=treasurer]){width:min(800px,calc(100vw - 20px))}.game-shell[data-layout=compact] [data-npc-service=treasurer] .town-storage-grid{max-height:none;overflow:visible}[data-npc-service=treasurer] .town-money{flex-direction:column;align-items:flex-start;gap:6px}[data-npc-service=treasurer] .town-money-move{display:flex;align-items:center;gap:8px}[data-npc-service=treasurer] .town-money-move input{width:110px}.equipment-title{display:flex;align-items:center;justify-content:space-between;gap:6px}.inventory-head-main{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0}.inventory-head-main .inventory-money{border-bottom:0;padding-bottom:0;font-size:11px;text-align:left;white-space:nowrap}.game-shell[data-layout=compact] .inventory-title .inventory-sort{min-height:34px;padding:0 8px}.friends-panel>form,.friends-panel>div,.friends-panel>details{margin:0 8px}.friends-panel{padding-bottom:8px;width:300px;max-height:min(70vh,560px);overflow-y:auto}.friends-panel.guild-panel{width:min(440px,calc(100vw - 32px));max-height:min(84vh,720px)}.friends-add{display:flex;gap:6px;margin:6px 0}.friends-panel .friends-input{font-size:12px;padding:4px 6px}.friends-section h3,.friends-blocks summary{margin:8px 0 4px;font-size:12px;color:var(--hud-gold);cursor:default}.friends-row{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.06)}.friends-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;min-width:0}.friends-name small{color:var(--hud-muted)}.friends-where{flex-basis:100%;padding-left:12px}.friends-dot{width:7px;height:7px;border-radius:50%;background:#5a5a5a}.friends-row.is-online .friends-dot{background:#8ce99a}.friends-row:not(.is-online){opacity:.7}.friends-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}.friends-actions button{font-size:11px;padding:2px 6px}.friends-empty{color:var(--hud-muted);font-size:12px}.player-card-actions{display:flex;gap:6px;margin-top:6px}.player-card-actions button{flex:1;font-size:12px}.chat-whisper{color:#f0a6ff}.social-tabs{display:flex;gap:4px}.social-tab{padding:1px 8px;font:inherit;color:var(--hud-muted);background:transparent;border:1px solid transparent;border-radius:2px;cursor:pointer}.social-tab.is-active{color:var(--hud-bright);border-color:var(--hud-gold)}.guild-head{display:flex;align-items:baseline;justify-content:space-between;gap:6px;margin-top:6px}.guild-name{color:var(--hud-gold);font-size:14px}.guild-notice-text{margin:0 0 4px;white-space:pre-wrap;word-break:break-word;font-size:12px}.guild-notice-input{width:100%;box-sizing:border-box;resize:vertical}.guild-rank{font-size:10px;padding:0 4px;border-radius:2px;background:#ffffff14}.guild-rank-leader{color:var(--hud-gold)}.guild-rank-officer{color:#9ec5ff}.guild-rank-captain{color:#9fe0b0}.guild-rank-probation{color:var(--hud-muted)}.guild-rank-pick{max-width:120px;font:inherit;font-size:11px;color:var(--hud-cream);background:var(--hud-raised);border:1px solid var(--hud-line);border-radius:2px}.guild-seat-line{display:flex;flex-wrap:wrap;gap:4px 10px;margin:2px 0;font-size:11px}.guild-seat b{color:var(--hud-gold);font-weight:600}.guild-seat.is-free{color:var(--hud-muted)}.guild-perm-table{width:100%;border-collapse:collapse;font-size:11px}.guild-perm-table th,.guild-perm-table td{padding:3px 2px;border-bottom:1px solid var(--hud-line);text-align:center}.guild-perm-table tbody th{text-align:left;font-weight:500;color:var(--hud-cream)}.guild-perm-table thead th{color:var(--hud-gold);font-weight:600}.guild-perm-table tr.is-risky th{color:#ffcf8a}.guild-perm-note,.guild-perm-warn{display:block;margin:6px 0 4px;color:var(--hud-muted)}.guild-perm-warn{color:#ffcf8a}.guild-upkeep{display:flex;flex-direction:column;gap:2px;margin:4px 0}.guild-upkeep-warn,.guild-war-seals.is-missing,.guild-war-limits.is-blocked{color:#ffcf8a}.guild-week-top{color:var(--hud-gold)}.guild-war-targets{display:flex;flex-direction:column;gap:3px;max-height:180px;margin:6px 0;overflow-y:auto}.guild-war-target{display:flex;align-items:center;gap:6px;padding:3px 6px;font:inherit;text-align:left;color:var(--hud-cream);background:var(--hud-raised);border:1px solid var(--hud-line);border-radius:2px;cursor:pointer}.guild-war-target-text{display:flex;flex:1;flex-direction:column;min-width:0}.guild-war-target-text small,.guild-war-target-status{color:var(--hud-muted)}.guild-war-target-status{flex:none}.guild-war>small{display:block;margin-top:3px}.guild-war-target.is-open .guild-war-target-status{color:#9fe0b0}.guild-war-target:disabled{opacity:.55;cursor:default}.guild-war-target.is-picked{border-color:var(--hud-gold)}.guild-war-top{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}.guild-war-top>div{display:flex;flex-direction:column}.guild-footer{display:flex;justify-content:flex-end;margin-top:8px}.guild-footer button{font-size:11px}.player-card-guild{color:#e8c46a;font-size:11px}.town-guild{margin-top:8px}.town-guild form{display:flex;gap:6px;margin:6px 0 4px}.chat-guild{color:#9be37a}.guild-name{display:inline-flex;align-items:center;gap:4px}.guild-emblem{object-fit:contain;vertical-align:middle}.guild-emblem-frame{position:relative;display:inline-flex;flex:none;box-sizing:border-box;align-items:center;justify-content:center;vertical-align:middle;background:#0b0e14d9;border:2px solid var(--frame-color)}.guild-emblem-frame>.guild-emblem{width:calc(100% - 2px);height:calc(100% - 2px)}.guild-emblem-frame[data-guild-frame=gold]:before,.guild-emblem-frame[data-guild-frame=red]:before{content:"";position:absolute;inset:0;background:linear-gradient(var(--frame-color),var(--frame-color)) 0 0 / 2px 2px no-repeat,linear-gradient(var(--frame-color),var(--frame-color)) 100% 0 / 2px 2px no-repeat,linear-gradient(var(--frame-color),var(--frame-color)) 0 100% / 2px 2px no-repeat,linear-gradient(var(--frame-color),var(--frame-color)) 100% 100% / 2px 2px no-repeat;pointer-events:none}.guild-emblem-frame[data-guild-frame=red]{animation:guild-frame-glow 2.8s ease-in-out infinite}@keyframes guild-frame-glow{0%,to{box-shadow:inset 0 0 2px 1px #fff2c026}50%{box-shadow:inset 0 0 4px 2px #fff2c0b3}}.guild-emblem-choice.is-locked{opacity:.5;filter:grayscale(.7)}.guild-locked-note{color:var(--hud-muted);font-style:italic}.guild-away{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.guild-upkeep-warn.is-suspended{color:#ff8a7a;font-weight:700}.guild-list-row.is-recruiting{border-color:#e8c46a8c;background:linear-gradient(90deg,rgb(232 196 106 / 10%),transparent 70%)}.guild-recruit-badge{margin-left:6px;padding:0 5px;font-size:10px;font-style:normal;color:#1a1206;background:#e8c46a;border-radius:3px;vertical-align:middle}.guild-list-row .guild-list-recruit{color:#f1dca0}.guild-fund h3{display:flex;justify-content:space-between;gap:6px}.guild-fund-amount{color:var(--hud-gold);font-weight:400}.guild-donated{margin-left:4px;color:var(--hud-muted)}.guild-war-line{margin:2px 0;font-size:12px}.guild-war-active{border-left:2px solid #d65a4a;padding-left:6px}.guild-war-score{color:var(--hud-gold)}.guild-emblem-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:4px}.guild-emblem-choice{display:flex;flex-direction:column;align-items:center;gap:2px;padding:3px 0;font:inherit;color:inherit;background:#ffffff0a;border:1px solid transparent;border-radius:2px;cursor:pointer}.guild-emblem-choice.is-active{border-color:var(--hud-gold)}.guild-emblem-choice:disabled{cursor:default;opacity:.6}.raid-board{pointer-events:auto;margin-top:4px;width:200px;padding:4px 7px 5px;font-size:11px;color:var(--hud-cream);background:var(--hud-glass);border:1px solid var(--hud-line)}.raid-board-head{display:flex;justify-content:space-between;gap:6px;width:100%;padding:0 0 3px;color:var(--hud-gold);font:inherit;background:none;border:0;cursor:pointer}.raid-board-count{color:var(--hud-muted);white-space:nowrap}.raid-standings{margin:0;padding:0;list-style:none}.raid-standings li{display:grid;grid-template-columns:18px 1fr auto;gap:4px;line-height:1.5}.raid-standings li.is-you{color:#9be37a}.raid-standings-rank{color:var(--hud-muted);text-align:right}.raid-standings-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.raid-board-you{margin:3px 0 0;padding-top:3px;border-top:1px solid var(--hud-line);color:#9be37a}.raid-board-hint{margin:2px 0 0;color:var(--hud-muted);font-size:10px}.game-shell[data-layout=compact] .raid-board{width:150px;padding:3px 5px;font-size:9px}.game-shell[data-layout=compact] .raid-board-hint{font-size:8px}.game-shell[data-layout=compact] .raid-board .raid-standings li:nth-child(n+6){display:none}.raid-result{pointer-events:auto;position:absolute;top:50%;left:50%;z-index:40;transform:translate(-50%,-50%);width:min(420px,calc(100% - 24px));max-height:calc(100% - 24px);overflow-y:auto;padding:14px 16px;color:var(--hud-cream);background:var(--hud-panel);border:1px solid var(--hud-gold);box-shadow:0 8px 32px #000000b3}.raid-result h2{margin:0 0 6px;color:var(--hud-gold);font-size:18px;text-align:center}.raid-result h3{margin:12px 0 4px;color:var(--hud-gold);font-size:13px}.raid-result-you{margin:0;text-align:center;color:#9be37a}.raid-result-empty{margin:0;color:var(--hud-muted)}.raid-result-loot{margin:0;padding:0;list-style:none}.raid-result-loot li{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;padding:3px 0;border-bottom:1px solid var(--hud-line)}.raid-result-loot li.is-you{background:#9be37a14}.raid-result-item{flex:1 1 auto}.raid-result-winner{color:var(--hud-muted)}.raid-result-where.is-vault{color:#8cc8ff}.raid-result-where.is-lost{color:#ff7b6b}.raid-result .raid-standings{font-size:12px}.raid-result-close{position:sticky;bottom:0;display:block;min-width:96px;min-height:32px;margin:14px auto 0;color:var(--hud-cream);font:inherit;background:var(--hud-panel);border:1px solid var(--hud-line);cursor:pointer}.game-shell[data-layout=compact] .raid-result{padding:10px 12px;font-size:12px}.perf-badge{display:flex;gap:10px;margin-top:4px;padding:2px 7px;font-size:11px;font-variant-numeric:tabular-nums;color:var(--hud-muted);background:#0a0c1299;border:1px solid rgba(255,255,255,.12);border-radius:2px;pointer-events:none}.ranking-panel{width:300px;max-height:min(70vh,560px);display:flex;flex-direction:column;padding-bottom:8px}.ranking-tabs{display:flex;gap:4px;margin:6px 8px 4px}.ranking-tab{flex:1;padding:4px 0;font:inherit;font-size:12px;color:var(--hud-text, #dbe3f2);background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:4px;cursor:pointer}.ranking-tab.is-active{color:var(--hud-gold);border-color:var(--hud-gold);background:#ffd7801f}.ranking-list{margin:0 8px;overflow-y:auto;min-height:120px}.ranking-row{display:flex;align-items:center;gap:8px;padding:4px 2px;border-bottom:1px solid rgba(255,255,255,.06);font-size:12px}.ranking-row.is-you{background:#ffd7801a}.ranking-rank{width:22px;text-align:right;color:var(--hud-gold);font-variant-numeric:tabular-nums}.ranking-row:nth-child(-n+3) .ranking-rank{font-weight:700}.ranking-name{flex:1;display:flex;flex-direction:column;min-width:0}.ranking-name small{opacity:.7;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranking-value{font-variant-numeric:tabular-nums;white-space:nowrap}.ranking-empty{margin:16px 0;text-align:center;opacity:.7;font-size:12px}.ranking-foot{display:flex;flex-direction:column;gap:2px;margin:6px 8px 0;padding-top:6px;border-top:1px solid rgba(255,255,255,.1);font-size:12px}.ranking-foot small{opacity:.6;font-size:10px}.fort-banner{pointer-events:auto;display:flex;flex-direction:column;gap:4px;margin-top:6px;padding:6px 8px;background:#140e0ac7;border:1px solid rgba(255,180,90,.35);border-radius:6px;font-size:12px;color:#f1e6d2;max-width:220px}.fort-banner-row{display:flex;flex-direction:column;gap:2px}.fort-banner-row strong{color:#ffb860}.fort-pillar-bar{position:relative;height:12px;background:#ffffff1a;border-radius:3px;overflow:hidden}.fort-pillar-fill{height:100%;background:linear-gradient(90deg,#c9bca6,#8c8072);transition:width .3s}.fort-pillar-bar span{position:absolute;inset:0;text-align:center;font-size:10px;line-height:12px}.fort-service p{margin:4px 0;font-size:12px}.fort-service hr{border:0;border-top:1px solid rgba(255,180,90,.25);margin:8px 0}.relic-banner{max-width:240px}.relic-row{display:flex;flex-direction:column;gap:2px;padding-top:3px;border-top:1px solid rgba(255,255,255,.08)}.relic-name small{color:#ffd27a;font-size:10px}.relic-place{color:#c9bca6;font-size:11px}.relic-row[data-relic-place=carried] .relic-place,.relic-row[data-relic-place=ground] .relic-place{color:#ff9a6b}.relic-lift{align-self:flex-start;padding:2px 12px}.premium-window{position:relative;width:min(780px,calc(100vw - 40px));max-height:min(600px,calc(100vh - 170px));display:flex;flex-direction:column;background:radial-gradient(120% 60% at 50% 0%,rgba(201,166,100,.12),transparent 60%),linear-gradient(180deg,#ffffff08,#00000038),var(--hud-panel);border:2px solid #7a6436;border-radius:3px;box-shadow:inset 0 0 0 1px #1a1410,inset 0 0 0 3px #3a2f1f,0 6px 18px #0000008c,0 0 0 1px #c9a66426}.premium-head{display:flex;align-items:center;justify-content:space-between;padding:5px 8px;border-bottom:1px solid #6b5a3a;background:linear-gradient(180deg,#3a2e1c,#1a140e);cursor:grab}.premium-title{font-family:var(--hud-title-font);font-size:13px;letter-spacing:1px;color:var(--hud-bright);text-shadow:0 1px 0 #000}.premium-title:before{content:"◇";margin-right:6px;color:var(--hud-gold)}.premium-wallet{display:flex;align-items:center;gap:8px;margin:8px 10px 6px;padding:6px 10px;border:1px solid rgba(201,166,100,.45);border-radius:4px;background:linear-gradient(180deg,#c9a66424,#c9a6640a)}.premium-coin{width:26px;height:26px;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(0,0,0,.7))}.premium-glyph{display:inline-grid;place-items:center;color:#1b1208;font-size:11px;font-weight:700;background:radial-gradient(circle at 35% 30%,#f4d98b,#b98d3c 70%,#7a5a22);border-radius:50%;box-shadow:inset 0 0 0 1px #00000059,0 1px 2px #0009}.premium-wallet-label{font-size:12px;color:var(--hud-muted)}.premium-wallet-amount{flex:1;font-size:18px;color:var(--hud-bright);text-shadow:0 1px 0 #000}.premium-topup{padding:4px 10px;font:inherit;font-size:11px;color:var(--hud-ink);background:linear-gradient(180deg,#e9c874,#b98d3c);border:1px solid #f0d29a;border-radius:3px;cursor:pointer}.premium-topup:disabled{opacity:.45;cursor:default}.premium-tabs{display:flex;gap:3px;padding:0 10px;border-bottom:1px solid #6b5a3a}.premium-tab{padding:4px 12px 5px;font:inherit;font-size:12px;color:var(--hud-muted);background:linear-gradient(180deg,#2b261d,#1a1611);border:1px solid #4a3f2c;border-bottom:0;border-radius:3px 3px 0 0;cursor:pointer}.premium-tab.is-active{color:var(--hud-cream);background:linear-gradient(180deg,#4a3d27,#2a2218);border-color:#8a7448}.premium-tab-history{margin-left:auto}.premium-body{flex:1;min-height:120px;overflow-y:auto;padding:10px}.premium-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:6px}.premium-card{position:relative;display:grid;grid-template-columns:44px 1fr;grid-auto-rows:auto;align-content:start;column-gap:7px;row-gap:2px;padding:6px 7px;border:1px solid rgba(201,166,100,.3);border-radius:5px;background:linear-gradient(180deg,#ffffff0d,#0003);box-shadow:inset 0 0 0 1px #0006;font-size:12px}.premium-card.is-done{opacity:.7}.premium-ribbon{position:absolute;top:6px;right:-1px;padding:1px 7px 1px 9px;font-size:10px;font-weight:700;color:#1b1208;background:var(--hud-gold);clip-path:polygon(6px 0,100% 0,100% 100%,6px 100%,0 50%)}.premium-ribbon-new{background:#8fd18f}.premium-ribbon-sale{background:#f0a060}.premium-ribbon-limited{background:#d88ad8}.premium-card-art{grid-row:span 2;display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(201,166,100,.35);border-radius:4px;background:radial-gradient(circle at 50% 40%,#c9a6642e,#00000059 75%)}.premium-card-art .item-art,.premium-card-art .item-placeholder,.premium-service-art{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(0,0,0,.7))}.premium-service-art.premium-glyph{border-radius:6px}.premium-card-name{grid-column:2;margin:0;padding-right:34px;font-size:12px;color:var(--hud-cream)}.premium-card-text{grid-column:2;margin:0;font-size:10.5px;line-height:1.35;opacity:.8;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.premium-card-owned,.premium-card-left{grid-column:1 / -1;display:block;font-size:10px;color:var(--hud-gold)}.premium-card-foot{grid-column:1 / -1;display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:4px;padding-top:5px;border-top:1px solid rgba(201,166,100,.2)}.premium-price{flex:1;white-space:nowrap;font-size:11px;color:var(--hud-gold)}.premium-price-now{font-size:13px;font-weight:700;color:var(--hud-bright)}.premium-old-price{margin-right:4px;font-size:10px;opacity:.6}.premium-count{display:inline-flex;align-items:center;gap:2px;font-size:11px}.premium-count span{min-width:16px;text-align:center}.premium-count button{width:18px;height:18px;padding:0;font:inherit;line-height:1;color:var(--hud-cream);background:var(--hud-raised);border:1px solid var(--hud-line);border-radius:2px;cursor:pointer}.premium-count button:disabled{opacity:.4;cursor:default}.premium-buy{padding:4px 10px;font:inherit;font-size:11px;color:var(--hud-ink);background:linear-gradient(180deg,#e9c874,#b98d3c);border:1px solid #f0d29a;border-radius:3px;cursor:pointer}.premium-buy:hover:not(:disabled){background:linear-gradient(180deg,#f4d98b,#c99a46)}.premium-buy:disabled{color:var(--hud-muted);background:var(--hud-raised);border-color:var(--hud-line);cursor:default}.premium-empty{margin:24px 0;text-align:center;font-size:12px;opacity:.8}.premium-note{margin:0 10px 8px;font-size:10px;opacity:.6}.premium-history{width:100%;border-collapse:collapse;font-size:11px}.premium-history th,.premium-history td{padding:3px 4px;border-bottom:1px solid rgba(201,166,100,.15);text-align:left;vertical-align:top}.premium-history th{color:var(--hud-muted);font-weight:400}.premium-history .num{text-align:right;white-space:nowrap}.premium-history .is-spent{color:var(--hud-danger)}.premium-history .is-gained{color:#b6efaa}.premium-confirm{position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:var(--hud-veil)}.premium-confirm-box{display:flex;flex-direction:column;align-items:center;gap:6px;width:260px;padding:12px;text-align:center;background:var(--hud-modal);border:1px solid var(--hud-gold);border-radius:4px;box-shadow:0 8px 24px #000000b3}.premium-confirm-box h4{margin:0;font-size:13px;color:var(--hud-cream)}.premium-confirm-name{display:flex;flex-direction:column;gap:3px;width:100%;font-size:11px}.premium-confirm-problem{color:var(--hud-danger)}.premium-confirm-total{margin:2px 0;font-size:12px}.premium-confirm-total strong{font-size:15px;color:var(--hud-bright)}.premium-confirm-after{display:block;font-size:10px;opacity:.7}.premium-confirm-actions{display:flex;gap:6px;width:100%}.premium-confirm-actions .quest-button{margin-top:0}.premium-confirm-yes:not(:disabled){color:var(--hud-ink);background:linear-gradient(180deg,#e9c874,#b98d3c);border-color:#f0d29a}.tame-aim{position:absolute;left:50%;top:72px;z-index:12;display:flex;align-items:center;gap:8px;max-width:calc(100% - 32px);padding:6px 8px;transform:translate(-50%);border:1px solid var(--hud-gold);background:var(--hud-modal);box-shadow:0 6px 18px #0009;font-size:12px;color:var(--hud-cream);pointer-events:auto}.tame-aim-art{display:grid;place-items:center;width:32px;height:32px;flex:none}.tame-aim-art .item-art,.tame-aim-art .item-placeholder{width:100%;height:100%}.tame-aim-text{white-space:nowrap}body.is-taming canvas{cursor:var(--tame-cursor, crosshair)!important}.rename-card-prompt{position:absolute;left:50%;top:50%;z-index:12;width:280px;transform:translate(-50%,-50%);border:1px solid var(--hud-gold);background:var(--hud-modal);box-shadow:0 8px 24px #000000b3}.rename-card-box{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px;text-align:center;font-size:12px}.rename-card-box h4{margin:0;font-size:13px;color:var(--hud-cream)}.rename-card-art{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(201,166,100,.35);border-radius:4px}.rename-card-art .item-art,.rename-card-art .item-placeholder{width:40px;height:40px}.rename-card-current{margin:0;opacity:.85}.rename-card-field{display:flex;flex-direction:column;gap:3px;width:100%;font-size:11px}.rename-card-field small{font-size:10px;opacity:.75}.rename-card-problem{color:var(--hud-danger);opacity:1!important}.rename-card-actions{display:flex;gap:6px;width:100%}.rename-card-actions .quest-button{margin-top:0}.rename-card-yes:not(:disabled){color:var(--hud-ink);background:linear-gradient(180deg,#e9c874,#b98d3c);border-color:#f0d29a}.game-shell[data-layout=compact] .premium-window{width:auto}.game-shell[data-layout=compact] .premium-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.vault-window{max-height:min(80vh,640px);overflow-y:auto}.skill-class-head th{padding:8px 7px 3px;text-align:left;font-size:11px;color:var(--hud-gold);border-bottom:1px solid var(--hud-line)}.skill-class-lock{font-weight:400;opacity:.75}.skill-class.is-locked .skill-row td{opacity:.55}.relic-icon{width:20px;height:20px;margin-right:4px;vertical-align:middle;object-fit:contain}.gm-panel{width:360px;max-height:min(78vh,640px);display:flex;flex-direction:column}.gm-tabs{display:flex;gap:3px;padding:5px 6px 0;border-bottom:1px solid var(--hud-line);background:var(--hud-surface)}.gm-tab{padding:3px 12px 4px;font:inherit;color:var(--hud-muted);background:var(--hud-raised);border:1px solid var(--hud-line);border-bottom:0;border-radius:3px 3px 0 0;cursor:pointer}.gm-tab.is-active{color:var(--hud-cream);background:var(--hud-panel);border-color:var(--hud-gold)}.gm-body{display:flex;flex-direction:column;gap:8px;padding:8px;min-height:0;overflow-y:auto;scrollbar-width:thin}.gm-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.gm-row label{display:inline-flex;align-items:center;gap:4px}.gm-panel input[type=text],.gm-panel select{font:inherit;color:var(--hud-cream);background:#07080b;border:1px solid var(--hud-line);border-radius:2px;padding:2px 5px}.gm-field{width:52px;text-align:right}.gm-field-wide{width:78px}.gm-search{flex:1;min-width:110px}.gm-muted{margin:0;color:var(--hud-muted);font-size:11px}.gm-group h4{margin:2px 0 3px;font-size:11px;font-weight:400;letter-spacing:.4px;color:var(--hud-gold)}.gm-kind{display:flex;align-items:baseline;gap:6px;margin-bottom:4px}.gm-kind-label{flex:none;width:72px;color:var(--hud-muted);font-size:11px}.gm-chips{display:flex;flex-wrap:wrap;gap:3px}.gm-chip{padding:2px 7px;font:inherit;color:var(--hud-cream);background:var(--hud-raised);border:1px solid var(--hud-line);border-radius:2px;cursor:pointer}.gm-chip:hover{background:var(--hud-hover)}.gm-chip.is-here{border-color:var(--hud-gold)}.gm-chip.is-active{color:var(--hud-ink);background:var(--hud-gold);border-color:var(--hud-bright)}.gm-list{display:flex;flex-direction:column;gap:2px;max-height:300px;overflow-y:auto;scrollbar-width:thin}.gm-item{display:flex;align-items:center;gap:6px;padding:2px 6px;font:inherit;text-align:left;color:var(--hud-cream);background:transparent;border:1px solid transparent;border-radius:2px;cursor:pointer}.gm-item:hover{background:var(--hud-hover);border-color:var(--hud-line)}.gm-item-icon{flex:none;width:22px;height:22px;display:inline-flex}.gm-item-icon .item-art,.gm-item-icon .item-placeholder{width:22px;height:22px;font-size:9px}.gm-item-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gm-item-meta{flex:none;color:var(--hud-muted);font-size:11px}.gm-item code{margin-left:auto;flex:none;color:var(--hud-muted);font-size:10px}.gm-warning{margin:0;padding:4px 8px;color:#f0c070;background:#2a1e10;border-bottom:1px solid var(--hud-line);font-size:11px}.gm-reply{margin:0;padding:5px 8px;min-height:1.5em;font-size:11px;color:var(--hud-cream);background:var(--hud-surface);border-top:1px solid var(--hud-line);white-space:pre-wrap;word-break:break-word}.gm-reply.is-refused{color:#f0a0a0}.mapedit-panel .mapedit-body{max-height:46vh;overflow:auto}.mapedit-panel .mapedit-list{max-height:150px}.mapedit-panel .mapedit-actions{margin-top:6px}.mapedit-panel .gm-chip.is-active{background:#3b5bdb;border-color:#4c6ef5}.mapedit-panel .gm-item.is-active{outline:2px solid #4c6ef5}.game-shell[data-layout=desktop] .gm-panel{width:520px;max-height:min(86vh,820px)}.game-shell[data-layout=desktop] .gm-panel .gm-list{max-height:380px}.game-shell[data-layout=desktop] .mapedit-panel{width:640px}.game-shell[data-layout=desktop] .mapedit-panel .mapedit-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 12px;align-items:start;max-height:calc(86vh - 150px)}.game-shell[data-layout=desktop] .mapedit-panel .mapedit-lists{display:flex;flex-direction:column;gap:8px}.game-shell[data-layout=desktop] .mapedit-panel .mapedit-list{max-height:170px}.mapedit-panel .mapedit-selected{padding:6px 8px;background:var(--hud-surface);border:1px solid var(--hud-line);border-radius:2px}.mapedit-panel .mapedit-aside{display:flex;flex-direction:column;gap:8px}.mapedit-panel .mapedit-tool-hint{margin:0}.mapedit-panel .mapedit-head-buttons{display:inline-flex;align-items:center;gap:6px}.mapedit-panel .mapedit-fold{padding:0 6px;font-size:11px;line-height:16px}.mapedit-panel .mapedit-folded-row{padding:4px 8px}.game-shell[data-layout=desktop] .mapedit-panel.is-folded{width:420px}.game-shell[data-ui-skin=iron]{--skin-text: #e2cfb4;--skin-muted: #a48d72;--skin-accent: #b9875a;--skin-line: rgba(185, 135, 90, .55);--skin-panel: rgba(18, 13, 11, .86);--skin-active: #8e2a1e;--skin-window: url(/assets/ui/iron/window_frame.webp) 68 fill / 28px round;--skin-hud: url(/assets/ui/iron/hud_frame.webp) 32 / 14px round;--skin-button-top: #6b4a35;--skin-button-mid: #45301f;--skin-button-bottom: #2a1c14;--skin-button-rim: #1a110c;--skin-button-shine: rgba(255, 214, 176, .32);--skin-scroll: #7a5a40;--skin-scroll-track: #140f0c}.game-shell[data-ui-skin=lacquer]{--skin-text: #efe2c2;--skin-muted: #a99c80;--skin-accent: #d2ad5e;--skin-line: rgba(210, 173, 94, .55);--skin-panel: rgba(9, 10, 12, .86);--skin-active: #8a1d14;--skin-window: url(/assets/ui/lacquer/window_frame.webp) 60 fill / 25px round;--skin-hud: url(/assets/ui/lacquer/hud_frame.webp) 38 / 17px round;--skin-button-top: #2d2a25;--skin-button-mid: #17161a;--skin-button-bottom: #0b0b0d;--skin-button-rim: #8a6d32;--skin-button-shine: rgba(240, 205, 130, .3);--skin-scroll: #8a6d32;--skin-scroll-track: #0b0b0d}.game-shell:is([data-ui-skin=iron],[data-ui-skin=lacquer]) :is(.side-panel,.char-window,.world-map-panel,.stall-panel,.premium-window,.npc-panel,.inventory-panel,.equipment-panel,.invite-prompt,.rename-card-prompt){border:16px solid transparent;border-radius:0;border-image:var(--skin-window);background:none;box-shadow:0 8px 22px #000000a6}.game-shell:is([data-ui-skin=iron],[data-ui-skin=lacquer]) :is(.vitals-panel,.hotbar-panel,.minimap-panel,.chat-panel,.party-panel,.panel-buttons,.player-card,.boss-bar){border:3px solid transparent;border-radius:0;background:var(--skin-panel);background-clip:padding-box;box-shadow:none}.game-shell:is([data-ui-skin=iron],[data-ui-skin=lacquer]) :is(.vitals-panel,.hotbar-panel,.panel-buttons,.party-panel,.player-card,.boss-bar){position:relative}.game-shell:is([data-ui-skin=iron],[data-ui-skin=lacquer]) :is(.vitals-panel,.hotbar-panel,.minimap-panel,.chat-panel,.party-panel,.panel-buttons,.player-card,.boss-bar):after{content:"";position:absolute;z-index:6;inset:-7px;border:1px solid transparent;border-image:var(--skin-hud);pointer-events:none}.game-shell:is([data-ui-skin=iron],[data-ui-skin=lacquer]) .boss-bar.is-enraged:after{filter:drop-shadow(0 0 3px #ff5a32) drop-shadow(0 0 2px #e0482f)}.game-shell:is([data-ui-skin=iron],[data-ui-skin=lacquer]) .hud-panel .panel-title{color:var(--skin-text);background:#00000047;border-bottom:1px solid var(--skin-line)}.game-shell:is([data-ui-skin=iron],[data-ui-skin=lacquer]) :is(.side-panel,.char-window,.world-map-panel,.stall-panel,.premium-window,.npc-panel,.inventory-panel,.equipment-panel)>.panel-title{margin:0 0 5px;background:linear-gradient(180deg,#ffffff0a,#0000004d);border:1px solid var(--skin-line);box-shadow:inset 0 0 0 1px #000000b3;text-shadow:0 1px 1px #000}.game-shell:is([data-ui-skin=iron],[data-ui-skin=lacquer]) .panel-title:before{color:var(--skin-accent)}.game-shell:is([data-ui-skin=iron],[data-ui-skin=lacquer]) :is(.settings-button,.leave-button,.party-mini,.party-create,.quest-button,.inventory-sort,.skill-learn,.stall-open,.premium-buy,.premium-topup,.invite-accept,.invite-decline,.auto-button,.enhance-exchange,.status-details,.raid-result-close){color:var(--skin-text);background:linear-gradient(180deg,var(--skin-button-top),var(--skin-button-mid) 55%,var(--skin-button-bottom));border:1px solid var(--skin-button-rim);border-radius:3px;box-shadow:inset 0 1px 0 var(--skin-button-shine),inset 0 -2px #00000073,0 1px 2px #0009;text-shadow:0 1px 1px #000}.game-shell:is([data-ui-skin=iron],[data-ui-skin=lacquer]) :is(.settings-button,.leave-button,.party-mini,.party-create,.quest-button,.inventory-sort,.skill-learn,.stall-open,.premium-buy,.premium-topup,.invite-accept,.invite-decline,.auto-button,.enhance-exchange,.status-details,.raid-result-close):hover:not(:disabled){border-color:var(--skin-accent);filter:brightness(1.18)}.game-shell:is([data-ui-skin=iron],[data-ui-skin=lacquer]) :is(.settings-button,.leave-button,.party-mini,.party-create,.quest-button,.inventory-sort,.skill-learn,.stall-open,.premium-buy,.premium-topup,.invite-accept,.invite-decline,.auto-button,.enhance-exchange,.status-details,.raid-result-close):active:not(:disabled){background:linear-gradient(180deg,var(--skin-button-bottom),var(--skin-button-mid) 60%,var(--skin-button-top));box-shadow:inset 0 2px 3px #000000b3,inset 0 0 0 1px var(--skin-active);transform:translateY(1px)}.game-shell:is([data-ui-skin=iron],[data-ui-skin=lacquer]) :is(.settings-button,.leave-button,.party-mini,.party-create,.quest-button,.inventory-sort,.skill-learn,.stall-open,.premium-buy,.premium-topup,.invite-accept,.invite-decline,.auto-button,.enhance-exchange,.status-details,.raid-result-close):disabled{filter:grayscale(.6) brightness(.7)}.game-shell[data-ui-skin=iron] .panel-close{width:20px;height:20px;color:transparent;font-size:0;background:url(/assets/ui/iron/close.webp) center / 100% 100% no-repeat;border:0;border-radius:0}.game-shell[data-ui-skin=iron] .panel-close:hover{background-image:url(/assets/ui/iron/close_hover.webp)}.game-shell[data-ui-skin=iron] :is(.char-window .char-tab,.town-tabs .char-tab){color:var(--skin-muted);background:url(/assets/ui/iron/tab_idle.webp) center / 100% 100% no-repeat}.game-shell[data-ui-skin=iron] :is(.char-window .char-tab,.town-tabs .char-tab).is-active{color:var(--skin-text);background-image:url(/assets/ui/iron/tab_active.webp)}.game-shell[data-ui-skin=iron] .hud-panel :is(input[type=text],input[type=number],input[type=search],input:not([type]),select,textarea){border-image:url(/assets/ui/iron/input.webp) 14 20 fill / 4px 6px stretch}.game-shell[data-ui-skin=iron] .hud-overlay ::-webkit-scrollbar-track{background:url(/assets/ui/iron/scroll_track.webp) center / 100% 100% no-repeat}.game-shell[data-ui-skin=iron] .hud-overlay ::-webkit-scrollbar-thumb{border-image:url(/assets/ui/iron/scroll_thumb.webp) 22 0 fill / 6px 0 stretch}.game-shell[data-ui-skin=lacquer] .panel-close{width:20px;height:20px;color:transparent;font-size:0;background:url(/assets/ui/lacquer/close.webp) center / 100% 100% no-repeat;border:0;border-radius:0}.game-shell[data-ui-skin=lacquer] .panel-close:hover{background-image:url(/assets/ui/lacquer/close_hover.webp)}.game-shell[data-ui-skin=lacquer] :is(.char-window .char-tab,.town-tabs .char-tab){color:var(--skin-muted);background:url(/assets/ui/lacquer/tab_idle.webp) center / 100% 100% no-repeat}.game-shell[data-ui-skin=lacquer] :is(.char-window .char-tab,.town-tabs .char-tab).is-active{color:var(--skin-text);background-image:url(/assets/ui/lacquer/tab_active.webp)}.game-shell[data-ui-skin=lacquer] .hud-panel :is(input[type=text],input[type=number],input[type=search],input:not([type]),select,textarea){border-image:url(/assets/ui/lacquer/input.webp) 14 20 fill / 4px 6px stretch}.game-shell[data-ui-skin=lacquer] .hud-overlay ::-webkit-scrollbar-track{background:url(/assets/ui/lacquer/scroll_track.webp) center / 100% 100% no-repeat}.game-shell[data-ui-skin=lacquer] .hud-overlay ::-webkit-scrollbar-thumb{border-image:url(/assets/ui/lacquer/scroll_thumb.webp) 22 0 fill / 6px 0 stretch}.game-shell:is([data-ui-skin=iron],[data-ui-skin=lacquer]) :is(.char-window .char-tabs,.town-tabs){border-bottom-color:var(--skin-line)}.game-shell:is([data-ui-skin=iron],[data-ui-skin=lacquer]) .hud-panel :is(input[type=text],input[type=number],input[type=search],input:not([type]),select,textarea){color:var(--skin-text);background:none;border-style:solid;border-color:transparent;border-width:4px 6px;border-radius:0}.game-shell:is([data-ui-skin=iron],[data-ui-skin=lacquer]) .hud-panel select option{color:var(--skin-text);background:#141210}.game-shell:is([data-ui-skin=iron],[data-ui-skin=lacquer]) .hud-overlay *{scrollbar-color:var(--skin-scroll) var(--skin-scroll-track)}.game-shell:is([data-ui-skin=iron],[data-ui-skin=lacquer]) .hud-overlay ::-webkit-scrollbar{width:10px;height:10px}.game-shell:is([data-ui-skin=iron],[data-ui-skin=lacquer]) .hud-overlay ::-webkit-scrollbar-thumb{border-style:solid;border-color:transparent;border-width:6px 0}.game-shell:is([data-ui-skin=iron],[data-ui-skin=lacquer])[data-layout=compact] :is(.side-panel,.char-window,.world-map-panel,.stall-panel,.premium-window,.npc-panel,.inventory-panel,.equipment-panel,.invite-prompt,.rename-card-prompt){border-width:1px;border-image-width:10px;border-image-outset:5px}.game-shell:is([data-ui-skin=iron],[data-ui-skin=lacquer])[data-layout=compact] :is(.vitals-panel,.hotbar-panel,.minimap-panel,.chat-panel,.party-panel,.panel-buttons,.player-card,.boss-bar){border-width:2px}.game-shell:is([data-ui-skin=iron],[data-ui-skin=lacquer])[data-layout=compact] :is(.vitals-panel,.hotbar-panel,.minimap-panel,.chat-panel,.party-panel,.panel-buttons,.player-card,.boss-bar):after{inset:-5px;border-image-width:11px}.game-shell:is([data-ui-skin=iron],[data-ui-skin=lacquer])[data-layout=compact] .panel-buttons{border:1px solid var(--skin-line)}.game-shell:is([data-ui-skin=iron],[data-ui-skin=lacquer])[data-layout=compact] .panel-buttons:after{content:none}.char-window .is-pickable{cursor:pointer}.hotbar-page{display:flex;flex-direction:column;align-items:center;justify-content:space-between;align-self:stretch;width:18px;padding:1px 0;font:inherit;font-size:11px;line-height:1;color:var(--hud-gold);background:var(--hud-surface);border:1px solid var(--hud-line);border-radius:2px;cursor:pointer}.hotbar-page:hover{border-color:var(--hud-gold);color:var(--hud-bright)}.hotbar-page-up,.hotbar-page-down{font-size:7px;opacity:.75}.hotbar-page-number{font-weight:600}.hotbar-auto{display:flex;gap:4px;margin-left:6px;padding-left:6px;border-left:1px solid var(--hud-line)}.hotbar-auto-button{display:grid;place-items:center;width:38px;height:38px;padding:0;background:var(--hud-surface);border:1px solid var(--hud-line);border-radius:2px;cursor:pointer}.hotbar-auto-button img{width:28px;height:28px;pointer-events:none}.hotbar-auto-button:hover:not(:disabled){border-color:var(--hud-gold);filter:brightness(1.15)}.hotbar-auto-button:active:not(:disabled){transform:translateY(1px)}.hotbar-auto-button.is-open{border-color:var(--hud-gold);box-shadow:0 0 6px #f0c04a73 inset}.hotbar-auto-button.is-running{border-color:#7bb56a;background:#243522;box-shadow:0 0 6px #7bb56a8c}.hotbar-auto-button:disabled{opacity:.5;cursor:default}.game-shell[data-layout=compact] .hotbar-auto{gap:0;margin-left:0;padding-left:4px}.game-shell[data-layout=compact] .hotbar-auto-button{width:36px;height:44px}.game-shell[data-layout=compact] .hotbar-auto-button img{width:26px;height:26px}.game-shell[data-layout=compact] .hotbar-page{width:18px}.auto-skills-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.game-shell:is([data-ui-skin=iron],[data-ui-skin=lacquer])[data-layout=compact] .party-panel.is-expanded{border-image:var(--skin-hud);border-image-width:11px;border-image-outset:3px}.game-shell:is([data-ui-skin=iron],[data-ui-skin=lacquer])[data-layout=compact] .party-panel.is-expanded:after{content:none}.game-shell:is([data-ui-skin=iron],[data-ui-skin=lacquer])[data-layout=compact][data-orientation=landscape] .hud-panel-stack>.hud-panel{border:1px solid transparent;border-image:var(--skin-window);border-image-width:10px;border-image-outset:5px;background:none}.char-rank-bonus{margin-left:auto;padding:0 6px;min-height:16px;font-size:11px;line-height:16px;color:var(--hud-muted)}.char-rank-bonus.is-open{color:#1a1206;background:var(--hud-gold);border-color:#000}.char-window.rank-panel{position:relative}.rank-head{display:flex;align-items:center;gap:8px;padding:6px 8px;color:var(--hud-gold);background:#07080b;border:1px solid #000}.rank-head>strong{white-space:nowrap}.rank-exp{position:relative;flex:1;min-width:0;height:16px;background:#050506;border:1px solid #5a4a2e;border-radius:8px;overflow:hidden}.rank-exp-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(#7a5a20,#c89a3a)}.rank-exp-label{position:relative;display:block;text-align:center;font-size:11px;line-height:14px;color:var(--hud-cream);text-shadow:0 1px 1px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-note{margin:6px 2px;color:var(--hud-muted);font-size:11px}.rank-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.rank-row{padding:4px 6px;background:#07080b;border:1px solid #1d1a14;opacity:.6}.rank-row.is-reached{opacity:1;border-color:#3a3020}.rank-row-main{display:grid;grid-template-columns:92px auto minmax(0,1fr) auto;align-items:center;gap:8px}.rank-row-title{color:var(--hud-cream);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-row-steps{display:flex;gap:4px}.rank-step{filter:grayscale(1) brightness(.45)}.rank-step.is-lit{filter:none}.rank-row-bonus{font-size:11px;min-width:0}.rank-row-bonus .rank-bonus-chosen{color:var(--hud-gold)}.rank-row-bonus .rank-bonus-locked{color:var(--hud-muted)}.rank-bonus-pick{font-size:11px;padding:1px 6px;color:#1a1206;background:var(--hud-gold);border-color:#000}.rank-row-sockets{display:flex;gap:4px}.rune-socket{position:relative;display:inline-grid;place-items:center;width:26px;height:26px;box-sizing:border-box;background:#050506;border:1px solid #23201a}.rune-socket.is-open{background:#0b0c10 url(/assets/ui/slot_frame_0.png) center / 118% 118% no-repeat;border-color:#4a3e28}.rune-socket svg{width:16px;height:16px}.rune-socket path{fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.rune-socket .rune-lock{stroke:#4a4a4a}.rune-socket .rune-mark{stroke:#e2cba059}.rune-socket.is-attack{--kind-color: #d8463c}.rune-socket.is-defense{--kind-color: #3f80e4}.rune-socket.is-style{--kind-color: #e2b43c}.rune-socket.is-open:not(.has-gem){background:#0b0c10;border:2px solid color-mix(in srgb,var(--kind-color) 75%,#000);box-shadow:inset 0 0 6px color-mix(in srgb,var(--kind-color) 30%,transparent)}.rune-socket.is-open:not(.has-gem) .rune-mark{stroke:color-mix(in srgb,var(--kind-color) 85%,#fff)}.rune-socket{padding:0;cursor:pointer}.rune-socket:disabled{cursor:default}.rune-socket.has-gem{background:#0b0c10;border:2px solid var(--gem-color);box-shadow:0 0 5px color-mix(in srgb,var(--gem-color) 70%,transparent),inset 0 0 6px color-mix(in srgb,var(--gem-color) 45%,transparent)}.rune-socket.has-gem .item-art{width:80%;height:80%;object-fit:contain}.gem-tier{position:absolute;left:-1px;top:-2px;z-index:2;padding:0 2px;font-size:9px;font-weight:700;line-height:1.2;color:#10100c;background:var(--gem-color);border-radius:2px}.item-icon[data-gem]{inset:2px;border:2px solid var(--gem-color);border-radius:2px;box-shadow:0 0 5px color-mix(in srgb,var(--gem-color) 65%,transparent),inset 0 0 6px color-mix(in srgb,var(--gem-color) 40%,transparent)}.item-icon[data-gem] .item-art{padding:8%;box-sizing:border-box}.rank-gem-picker{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.rank-gem-picker button{display:flex;align-items:center;gap:4px;font-size:12px;padding:2px 6px}.rank-gem-picker .town-item-icon{width:20px;height:20px}.rank-gem-none{color:var(--hud-muted);font-size:11px}.rank-bonus-options{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.rank-bonus-options button{font-size:12px;padding:2px 6px}.rank-bonus-confirm{position:sticky;bottom:0;margin-top:8px;padding:8px;background:#07080b;border:1px solid var(--hud-gold);color:var(--hud-cream)}.rank-bonus-confirm p{margin:0 0 6px}.rank-bonus-confirm div{display:flex;gap:6px}.game-shell[data-layout=compact] .rank-row-main{grid-template-columns:1fr auto}.game-shell[data-layout=compact] .rank-row-bonus,.game-shell[data-layout=compact] .rank-row-sockets{grid-column:span 1}.pets-none{margin:12px 8px;color:var(--hud-muted);font-size:13px;line-height:1.5}.pets-book{display:grid;grid-template-columns:150px 1fr;gap:8px;min-height:240px}.pets-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.pets-row{width:100%;display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;column-gap:6px;align-items:center;text-align:left;padding:4px 6px;background:#07080b;border:1px solid #000;color:var(--hud-cream);cursor:pointer}.pets-row.is-active{border-color:var(--hud-gold)}.pets-row.is-dead{opacity:.6}.pets-row-art{grid-row:1 / 3;width:28px;height:28px;display:inline-flex}.pets-row-art .item-art,.pets-row-art .item-placeholder{width:28px;height:28px}.pets-row-name{font-size:12px}.pets-row-level{font-size:11px;color:var(--hud-muted)}.pets-row-state{font-size:11px;white-space:nowrap}.pets-row-state:not(:empty):before{content:" · "}.pets-sheet{display:flex;flex-direction:column;gap:6px;padding:6px 8px;background:#07080b;border:1px solid #000;font-size:12px;color:var(--hud-cream)}.pets-sheet-head{display:grid;grid-template-columns:1fr auto;align-items:start;column-gap:8px}.pets-sheet-kind{grid-column:1 / -1;color:var(--hud-muted);font-size:11px}.pets-sheet-head .pets-toggle{min-height:0;padding:2px 12px;font-size:11px}.pets-sheet-name{color:var(--hud-gold);font-size:14px}.pets-name-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.pets-name-row .party-invite-input{flex:1 1 120px}.pets-hint,.pets-label{color:var(--hud-muted);font-size:11px}.pets-level-row{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center}.pets-level-row small{grid-column:2;color:var(--hud-muted);font-size:11px}.pets-exp-bar{display:block;height:8px;background:#1a1410;border:1px solid #3a2f1f}.pets-exp-bar>span{display:block;height:100%;background:linear-gradient(180deg,#e0c060,#a07820)}.pets-warn{margin:0;color:#e0a040;font-size:11px}.pets-hunger{margin:0}.pets-hunger.is-low{color:#e0a040}.pets-hunger.is-dead{color:#d05050}.pets-attr{margin:0}.pets-abilities{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.pets-ability{padding:1px 6px;border:1px solid #3a2f1f;color:var(--hud-muted);font-size:11px}.pets-ability.is-on{border-color:var(--hud-gold);color:var(--hud-gold)}.pets-gamble{margin-left:auto}.pets-sell-row{display:flex;gap:8px;align-items:center}.pets-use{display:flex;flex-direction:column;gap:4px}.pets-use-row{display:flex;flex-wrap:wrap;gap:4px}.pets-use-item{display:inline-flex;align-items:center;gap:4px;padding:2px 6px 2px 2px;background:#0f1116;border:1px solid #3a2f1f;color:var(--hud-cream);font-size:11px;cursor:pointer}.pets-use-item:disabled{opacity:.5;cursor:default}.pets-use-item .item-art,.pets-use-item .item-placeholder{width:22px;height:22px}@media(max-width:720px){.pets-book{grid-template-columns:1fr}}.panel-button{position:relative}.panel-button-badge{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#c0392b;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;box-shadow:0 0 0 1px #1a1410;pointer-events:none}.panel-button-dot{position:absolute;top:-3px;right:-3px;width:9px;height:9px;border-radius:50%;background:#e0473a;box-shadow:0 0 0 1px #1a1410,0 0 6px 1px #e0473ab3;pointer-events:none;animation:events-dot-pulse 1.6s ease-in-out infinite}@keyframes events-dot-pulse{50%{transform:scale(1.25)}}.events-panel{width:330px;max-height:min(76vh,620px);display:flex;flex-direction:column;padding-bottom:8px}.events-body{overflow-y:auto;padding:2px 10px 0}.events-body h3{margin:10px 0 4px;color:var(--hud-gold, #e8c46a);font-size:12px;border-bottom:1px solid var(--hud-line);padding-bottom:2px}.events-row{display:flex;flex-direction:column;margin:0 0 5px;padding:4px 7px;background:#00000047;border-left:2px solid var(--hud-line);border-radius:2px}.events-row strong{display:flex;justify-content:space-between;gap:8px;color:var(--hud-cream);font-size:12px}.events-row strong b{flex:none;color:#f1dca0;font-weight:400;font-size:11px}.events-row.is-running strong b{color:#9fe89a}.events-row small{color:var(--hud-muted);font-size:11px}.events-row.is-running{border-left-color:#6fd36a;background:linear-gradient(90deg,#6fd36a24,#00000047 70%)}.events-row.is-soon{border-left-color:#e0473a}.events-row.is-soon strong b{color:#ff9a8a;font-weight:700}.events-row.is-dim{opacity:.65}.events-empty{margin:2px 0 6px;color:var(--hud-muted);font-size:11px;font-style:italic}.events-week{width:100%;border-collapse:collapse;font-size:11px}.events-week th{width:3.6em;padding:3px 4px;color:var(--hud-muted);font-weight:400;text-align:left;vertical-align:top}.events-week td{padding:3px 4px;color:var(--hud-cream)}.events-week tr+tr{border-top:1px solid rgb(255 255 255 / 6%)}.events-week td span{display:block}.events-week .events-week-rate{color:#f1dca0}.events-foot{display:block;margin-top:6px;color:var(--hud-muted);font-size:10px}.status-title-none{color:var(--hud-muted);font-size:12px}.status-title-field dd{flex-wrap:wrap;padding-bottom:4px}.title-plate{position:relative;display:inline-block;margin-top:2px;padding:1px 12px;overflow:hidden;font-size:11px;font-weight:700;line-height:13px;color:var(--plate-text);text-shadow:0 0 2px #0b0e14,0 1px 1px #0b0e14;background-color:var(--plate-face);border:1px solid var(--plate-edge);border-radius:4px;box-shadow:inset 0 1px #ffffff1f}.title-plate.is-grand{padding:2px 18px;border:0;border-radius:0;background-color:var(--plate-edge);clip-path:polygon(0 50%,7px 0,calc(100% - 7px) 0,100% 50%,calc(100% - 7px) 100%,7px 100%);isolation:isolate}.title-plate.is-grand:before{content:"";position:absolute;inset:1.5px;z-index:-1;background-color:var(--plate-face);clip-path:polygon(0 50%,6px 0,calc(100% - 6px) 0,100% 50%,calc(100% - 6px) 100%,6px 100%)}.title-plate.is-grand:after{content:"";position:absolute;inset:0 auto 0 -40%;width:30%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / 22%),transparent);animation:title-plate-shine 3.2s ease-in-out infinite}@keyframes title-plate-shine{0%,40%{left:-40%}to{left:120%}}.mail-empty{margin:12px 8px;color:#c9bca6;font-size:12px}.mail-list{display:flex;flex-direction:column}.mail-row{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:5px 4px;font:inherit;text-align:left;color:#c9bca6;background:none;border:0;border-bottom:1px solid rgba(255,255,255,.06);cursor:pointer}.mail-row.is-unread{color:var(--hud-cream);font-weight:700}.mail-row.is-chosen{background:#c9a6641f}.mail-subject{font-size:12px}.mail-prize{color:var(--hud-gold)}.mail-meta{color:#9d917c;font-size:10px}.mail-letter{margin-top:8px;padding:6px;border:1px solid var(--hud-line);background:#0003}.mail-letter h3{margin:0 0 2px;font-size:13px;color:var(--hud-gold)}.mail-body{margin:6px 0;font-size:12px;white-space:pre-wrap}.mail-prizes{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.mail-prizes.is-claimed{opacity:.45}.mail-item{display:flex;align-items:center;gap:4px;font-size:11px}.mail-item .item-icon{position:relative;inset:auto;flex:none;width:28px;height:28px;background:var(--hud-raised);border:1px solid var(--hud-line)}.mail-item .item-art{max-width:100%;max-height:100%}.mail-bia{color:var(--hud-gold)}.mail-actions{display:flex;gap:6px;margin-top:6px}.hotbar-pk-switch span{font-size:18px;line-height:1;color:var(--hud-muted, #9a9a9a)}.hotbar-pk-switch.is-on{border-color:#c0161a;background:#9614188c;box-shadow:0 0 6px #ff3c3299}.hotbar-pk-switch.is-on span{color:#ffd6d0}.same-race-warning{max-width:420px}.hud-overlay:has(.hud-touch-pad){--pad-key: 38px;--pad-gap: 4px;--pad-width: calc(4 * var(--pad-key) + 4 * var(--pad-gap) + (3 * var(--pad-key) - var(--pad-gap)) / 4)}.hud-touch-pad{right:calc(6px + env(safe-area-inset-right));bottom:var(--hud-bottom)}.game-shell .hud-touch-pad .hotbar-panel.touch-pad{display:flex;align-items:flex-end;gap:var(--pad-gap);width:auto;height:auto;padding:0;background:none;border:0;box-shadow:none}.game-shell .hud-touch-pad .hotbar-panel.touch-pad:before,.game-shell .hud-touch-pad .hotbar-panel.touch-pad:after{display:none}.touch-pad-keys{display:grid;grid-template-columns:repeat(4,var(--pad-key));grid-auto-rows:var(--pad-key);gap:var(--pad-gap)}.game-shell .hud-touch-pad .touch-pad :is(.hotbar-slot,.hotbar-page,.touch-pad-target){width:var(--pad-key);height:var(--pad-key);background-color:#140e0899;border-radius:6px}.game-shell .hud-touch-pad .touch-pad .hotbar-page{align-self:auto}.touch-pad-target{position:relative;display:flex;align-items:center;justify-content:center;padding:0;font:inherit;color:var(--hud-cream);border:1px solid var(--hud-gold);touch-action:none;user-select:none;-webkit-user-select:none;cursor:pointer}.game-shell .hud-touch-pad .touch-pad .touch-pad-target.is-monster{background:radial-gradient(circle at 50% 38%,#782c1ed9,#280e0ad9 70%)}.game-shell .hud-touch-pad .touch-pad .touch-pad-target.is-player{background:radial-gradient(circle at 50% 38%,#303c78d9,#0c0e28d9 70%)}.touch-pad-attack-mark{width:70%;height:70%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.7))}.touch-pad-target-word{position:absolute;bottom:1px;left:0;right:0;font-size:10px;font-weight:700;line-height:12px;text-align:center;text-shadow:0 1px 2px #000;pointer-events:none}.touch-pad-target:active:not(:disabled){transform:scale(.95);filter:brightness(1.2)}.touch-pad-target:disabled{opacity:.5}.touch-pad-side{display:flex;flex-direction:column;gap:var(--pad-gap)}.game-shell .hud-touch-pad .touch-pad .hotbar-auto-button{width:calc((3 * var(--pad-key) - var(--pad-gap)) / 4);height:calc((3 * var(--pad-key) - var(--pad-gap)) / 4);border-radius:5px}.game-shell .hud-touch-pad .touch-pad .hotbar-auto-button:not(.is-running,.is-on,.is-open){background-color:#140e0899}.game-shell .hud-touch-pad .touch-pad .hotbar-auto-button img{width:72%;height:72%}.touch-pad .hotbar-pk-switch span{font-size:10px;font-weight:700}.game-shell .hud-touch-pad .touch-pad .hotbar-pick-cancel{position:absolute;bottom:calc(100% + 6px);right:0;left:auto;width:max-content}.game-shell[data-layout=compact] .hud-overlay:has(.hud-touch-pad) .hud-bottom-center{left:auto;right:calc(6px + env(safe-area-inset-right));bottom:calc(var(--hud-bottom) + 110px);width:272px;transform:none}.game-shell[data-layout=compact][data-orientation=landscape] .hud-overlay:has(.hud-touch-pad) .hud-bottom-left{right:auto;width:min(32%,280px)}.game-shell[data-hand=left] .hud-touch-pad{right:auto;left:calc(6px + env(safe-area-inset-left))}.game-shell[data-hand=left] .hud-touch-pad .hotbar-panel.touch-pad{flex-direction:row-reverse}.game-shell[data-hand=left] .touch-pad-keys>:nth-child(-n+3){order:2}.game-shell[data-hand=left] .touch-pad-keys>:nth-child(4){order:1}.game-shell[data-hand=left] .touch-pad-keys>:nth-child(n+5):nth-child(-n+7){order:4}.game-shell[data-hand=left] .touch-pad-keys>:nth-child(8){order:3}.game-shell[data-hand=left] .touch-pad-keys>:nth-child(n+9):nth-child(-n+11){order:6}.game-shell[data-hand=left] .touch-pad-keys>:nth-child(12){order:5}.game-shell[data-hand=left] .hud-touch-pad .touch-pad .hotbar-pick-cancel{right:auto;left:0}.game-shell[data-layout=compact][data-hand=left] .hud-overlay:has(.hud-touch-pad) .hud-bottom-center{right:auto;left:calc(6px + env(safe-area-inset-left))}.game-shell[data-layout=compact][data-orientation=landscape][data-hand=left] .hud-overlay:has(.hud-touch-pad) .hud-bottom-left{left:auto;right:calc(6px + env(safe-area-inset-right))}.game-shell[data-layout=compact][data-orientation=landscape][data-hand=left] .chat-panel{left:auto;right:calc(6px + env(safe-area-inset-right))}.game-shell[data-layout=compact][data-orientation=landscape] .hud-overlay:has(.hud-touch-pad) .hud-bottom-center{left:50%;right:auto;bottom:var(--hud-bottom);width:calc(100% - (2*max(min(32%,280px),var(--pad-width))) - 28px);transform:translate(-50%)}.game-shell[data-layout=compact]:not([data-device=tablet]) .hud-panel-stack{zoom:.75}.game-shell[data-layout=compact]:not([data-device=tablet]) .hud-panel-stack :is(input[type=text],input[type=number],input[type=search],input:not([type]),select){min-height:32px;height:32px;padding-top:0;padding-bottom:0;font-size:14px}.game-shell[data-layout=compact]:not([data-device=tablet]) .hud-panel-stack textarea{font-size:14px}.game-shell[data-layout=compact]:not([data-device=tablet]) .hud-panel-stack form :is(button,.party-mini){min-height:32px;height:32px}.game-shell[data-layout=compact]:not([data-device=tablet]) .hud-panel-stack .panel-close{width:42px;min-width:42px;height:42px}.guild-crest{align-items:center;justify-content:flex-start;gap:8px}.guild-crest-emblem{display:grid;flex:none;place-items:center;width:48px;height:48px;color:var(--hud-muted);font-size:22px;background:#00000059;border:1px solid var(--hud-line)}.guild-crest-text{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.guild-crest-text small{color:var(--hud-muted)}.guild-crest-text .guild-lord{color:var(--hud-gold)}.guild-level-bar{position:relative;display:block;height:14px;margin-top:2px;overflow:hidden;background:#00000073;border:1px solid var(--hud-line)}.guild-level-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#6b4f1c,#b88a34)}.guild-level-bar small{position:relative;display:block;padding:0 4px;font-size:10px;line-height:12px;color:var(--hud-cream);white-space:nowrap}.guild-tabs{margin:6px 8px 0;padding-bottom:4px;border-bottom:1px solid var(--hud-line)}.guild-tab-badge{display:inline-block;min-width:14px;margin-left:3px;padding:0 3px;font-size:10px;line-height:14px;text-align:center;color:#1a1206;background:var(--hud-gold);border-radius:7px}.guild-tab-badge.is-war{background:#d65a4a;color:#fff}.guild-honours{display:flex;flex-direction:column;gap:2px;margin-top:6px;color:var(--hud-muted)}.guild-roster-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px;margin-top:6px;font-size:11px}.guild-online-only{display:inline-flex;align-items:center;gap:3px;color:var(--hud-muted)}.guild-sort{display:inline-flex;gap:2px}.guild-sort .social-tab{padding:0 5px;font-size:11px}.guild-member-stats{font-size:10px}.guild-requests{padding:4px 6px;border-left:2px solid var(--hud-gold);background:#b88a3414}.guild-war-history h3 small{margin-left:4px;color:var(--hud-muted);font-weight:400}.guild-war-record{display:grid;grid-template-columns:36px 1fr auto;gap:6px;padding:3px 0;font-size:12px;border-bottom:1px solid rgba(255,255,255,.06)}.guild-war-record small{color:var(--hud-muted)}.guild-war-record.is-won b{color:#8ce99a}.guild-war-record.is-lost b{color:#e8806f}.guild-war-record.is-draw b{color:var(--hud-muted)}.guild-log{margin-top:6px}.guild-log-line{margin:0;padding:3px 0;font-size:12px;border-bottom:1px solid rgba(255,255,255,.06);word-break:break-word}.guild-log-line small{color:var(--hud-muted)}.guild-list{display:flex;flex-direction:column;gap:4px;max-height:260px;margin:4px 0 8px;overflow-y:auto}.guild-list-row{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:6px;padding:4px 6px;background:#00000040;border:1px solid var(--hud-line)}.guild-list-row.is-mine{border-color:var(--hud-gold)}.guild-list-row>span{display:flex;flex-direction:column;min-width:0}.guild-list-row small{color:var(--hud-muted);font-size:11px}.guild-list-row .guild-list-notice{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-style:italic}.guild-list-row button{font-size:11px;padding:2px 6px}.guild-list-row>.guild-list-emblem{display:grid;place-items:center;width:30px;height:30px;background:#0000004d}.power-save-screen{position:absolute;inset:0;z-index:55;display:flex;align-items:center;justify-content:center;padding:16px;background:#000;color:#b9b2a3;font-family:var(--site-font);font-variant-numeric:tabular-nums;cursor:pointer;-webkit-user-select:none;user-select:none}.power-save-body{display:flex;flex-direction:column;align-items:center;gap:8px;width:min(340px,100%);text-align:center;font-size:13px}.power-save-title{color:#d8b45a;font-size:15px;letter-spacing:.04em}.power-save-name{color:#e8e1d2;font-size:16px}.power-save-bar{position:relative;width:100%;height:16px;border-radius:3px;background:#1b1b1b;overflow:hidden}.power-save-bar span{position:absolute;inset:0 auto 0 0}.power-save-bar.is-hp span{background:#8e2b2b}.power-save-bar.is-sp span{background:#2b4f8e}.power-save-bar em{position:relative;font-style:normal;font-size:11px;line-height:16px;color:#f1ece2}.power-save-state{color:#8a8478}.power-save-state.is-running{color:#8fc78f}.power-save-state.is-dead{color:#e06a5c}.power-save-time{color:#8a8478;font-size:12px}.power-save-gains{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px;color:#e8e1d2}.power-save-items{display:flex;flex-direction:column;gap:2px;font-size:12px}.power-save-items-title{color:#d8b45a}.power-save-hint{margin-top:10px;color:#6f6a60;font-size:12px}.titles-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:6px 8px;border-bottom:1px solid var(--hud-line);color:var(--hud-muted)}.titles-head .title-plate{margin-top:0}.titles-head em{color:var(--hud-muted);font-style:normal}.titles-head-bonus{color:var(--hud-bright)}.titles-count{margin-left:auto;color:var(--hud-gold)}.titles-note{margin:6px 8px;color:var(--hud-muted);font-size:11px}.titles-group h3{margin:8px 8px 4px;color:var(--hud-gold);font-size:12px;font-weight:700}.titles-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 8px;border-top:1px solid rgba(201,166,100,.12)}.titles-row:not(.is-held) .titles-row-plate{opacity:.4;filter:grayscale(.8)}.titles-row.is-worn{background:#c9a6641a}.titles-row-plate .title-plate{margin-top:0;max-width:100%;white-space:nowrap;text-overflow:ellipsis}.titles-row-text{display:flex;flex-direction:column;min-width:0}.titles-row-bonus{color:var(--hud-cream);font-size:12px}.titles-row:not(.is-held) .titles-row-bonus{color:var(--hud-muted)}.titles-row-text small{color:var(--hud-muted);font-size:10px}.titles-row-button{min-width:48px;padding:2px 8px;font:inherit;font-size:11px;color:var(--hud-cream);background:var(--hud-raised);border:1px solid var(--hud-line);border-radius:2px;cursor:pointer}.titles-row-button:hover{border-color:var(--hud-gold)}.titles-row.is-worn .titles-row-button{color:var(--hud-gold)}.titles-row-locked{min-width:48px;color:var(--hud-muted);font-size:11px;text-align:center}.titles-progress{position:relative;display:block;height:12px;margin-top:2px;background:#00000073;border:1px solid rgba(201,166,100,.25);border-radius:2px;overflow:hidden}.titles-progress-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#6b5426,#b08a3e)}.titles-progress-text{position:relative;display:block;font-size:9px;line-height:10px;text-align:center;color:var(--hud-cream)}.side-panel.skillbar-panel{width:560px;max-width:calc(100vw - 32px);max-height:calc(100vh - 24px);display:flex;flex-direction:column}.skillbar-hint{margin:4px 0 6px;font-size:12px;color:var(--hud-muted)}.skillbar-body{display:flex;gap:10px;min-height:0;overflow:auto}.skillbar-list{flex:1 1 0;min-width:0}.skillbar-body h3{margin:0 0 4px;font-size:12px;font-weight:600;color:var(--hud-gold)}.skillbar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:4px;margin-bottom:8px}.skillbar-empty{grid-column:1 / -1;font-size:12px;color:var(--hud-muted)}.skillbar-choice,.skillbar-slot{position:relative;width:46px;height:46px;padding:0;background:var(--hud-surface);border:1px solid var(--hud-line);border-radius:2px;cursor:pointer}.skillbar-choice.is-picked{border-color:var(--hud-gold);box-shadow:0 0 0 2px var(--hud-gold)}.skillbar-icon{display:block;width:100%;height:100%}.skillbar-icon img{width:100%;height:100%;object-fit:contain}.skillbar-placed{position:absolute;left:0;right:0;bottom:0;font-size:9px;line-height:12px;color:#10120d;background:#e8c46ae6}.skillbar-level,.skillbar-count{position:absolute;top:1px;right:1px;padding:0 3px;font-size:9px;font-weight:700;line-height:12px;color:var(--hud-gold);background:#0009}.skillbar-slots{flex:0 0 auto;display:flex;flex-direction:column;gap:6px}.skillbar-page-grid{display:grid;grid-template-columns:repeat(3,46px);gap:4px}.skillbar-slot.is-target{border-color:var(--hud-gold)}.skillbar-key{position:absolute;z-index:2;top:1px;left:1px;padding:0 3px;font-size:9px;line-height:12px;color:var(--hud-bright);background:#0009}.game-shell[data-layout=compact] .skillbar-slots{flex-direction:row}.game-shell[data-layout=compact] [data-skill-setup-tab]{min-height:34px;padding:0 12px}.skillbar-auto{position:absolute;z-index:2;right:1px;bottom:1px;padding:0 3px;font-size:9px;font-weight:700;line-height:12px;color:#10120d;background:#7ddc6fe6}
