:root{--wood-900: #1a110b;--wood-800: #2b1d14;--wood-700: #3a281b;--wood-600: #4d3523;--gold-500: #c9a45c;--gold-400: #e7c25a;--gold-300: #f3dc9a;--parchment: #f1e4c4;--text: #f3e6c8;--muted: #b8a888;--hp: #d8434a;--energy: #e8b93c;--green: #7cc35a;--font-title: "Cinzel", Georgia, "Times New Roman", serif;--font-body: "Jersey 20", "Trebuchet MS", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:radial-gradient(ellipse at center,#1f2a1c,#0d120c);color:var(--text);font-family:var(--font-body)}#app,#game{width:100%;height:100%}#game canvas{display:block}#ui-root{position:fixed;overflow:hidden;pointer-events:none;z-index:10}#ui-stage{position:absolute;left:0;top:0;transform-origin:0 0;font-size:15px;user-select:none}#ui-stage button,#ui-stage .window,#ui-stage .main-menu .menu-card{pointer-events:auto}.px-icon{image-rendering:pixelated;display:block;flex-shrink:0}.px-icon.dim{opacity:.55}kbd{display:inline-block;min-width:22px;padding:1px 6px;border:1px solid var(--gold-500);border-bottom-width:3px;border-radius:4px;background:var(--wood-700);color:var(--gold-300);font-family:var(--font-body);font-size:12px;text-align:center;line-height:16px}.panel,.window{position:absolute;background:linear-gradient(180deg,#3a281bf2,#1f150ef2);border:2px solid #8a6a3a;border-radius:6px;box-shadow:0 0 0 2px var(--wood-900),inset 0 0 0 1px #ffdc9624,0 8px 22px #00000073}.panel:before,.window:before,.panel:after,.window:after{content:"";position:absolute;width:6px;height:6px;background:var(--gold-400);transform:rotate(45deg);top:-4px;box-shadow:0 0 0 1px var(--wood-900)}.panel:before,.window:before{left:-4px}.panel:after,.window:after{right:-4px}.vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,#ffdca00f,#0000 45%,#0a06146b);pointer-events:none}.hud-player{top:16px;left:16px;display:flex;gap:12px;padding:10px 14px 10px 10px;width:340px}.portrait{position:relative;width:68px;height:68px;border:2px solid var(--gold-500);border-radius:6px;background:radial-gradient(circle at 50% 35%,#4f7a54,#22361f);overflow:hidden;flex-shrink:0}.portrait-sprite{position:absolute;inset:0;background-repeat:no-repeat;background-size:768px 384px;background-position:-14px 0px;image-rendering:pixelated}.level-badge{position:absolute;right:2px;bottom:2px;min-width:20px;height:20px;border-radius:10px;background:var(--gold-400);color:var(--wood-900);font-weight:600;font-size:12px;line-height:20px;text-align:center;box-shadow:0 0 0 2px var(--wood-900)}.hud-info{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.hud-title{display:flex;justify-content:space-between;align-items:baseline}.hud-name{font-family:var(--font-title);font-weight:800;font-size:17px;color:var(--gold-300);letter-spacing:.5px;text-shadow:0 2px 0 var(--wood-900)}.hud-level{font-size:13px;color:var(--muted)}.bar{display:flex;align-items:center;gap:6px}.bar-track{position:relative;flex:1;height:16px;background:#140d08;border:1px solid #000;border-radius:3px;overflow:hidden;box-shadow:inset 0 2px 3px #0009}.bar-fill{height:100%;transition:width .25s ease-out}.bar-hp .bar-fill{background:linear-gradient(180deg,#f07278,var(--hp) 55%,#9c2830)}.bar-energy .bar-fill{background:linear-gradient(180deg,#ffe08a,var(--energy) 55%,#a87d1c)}.bar-text{position:absolute;inset:0;font-size:11px;line-height:15px;text-align:center;color:#fff;text-shadow:0 1px 0 #000,0 0 3px #000}.hud-region{top:16px;left:50%;transform:translate(-50%);padding:6px 22px;text-align:center;display:flex;flex-direction:column}.region-label{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--muted)}.region-name{font-family:var(--font-title);font-weight:600;font-size:16px;color:var(--gold-300);white-space:nowrap}.hud-right{position:absolute;top:16px;right:16px;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.hud-right .panel{position:relative}.hud-gold{display:flex;align-items:center;gap:8px;padding:6px 14px 6px 10px;min-width:120px}.gold-amount{font-size:20px;font-weight:600;color:var(--gold-300);text-shadow:0 2px 0 var(--wood-900)}.hud-conn{display:flex;align-items:center;gap:8px;padding:4px 12px;font-size:12px;color:var(--muted)}.conn-dot{width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 2px #00000080}.conn-offline{background:#e8a33c;box-shadow:0 0 6px #e8a33c}.conn-connecting{background:#8fb6f0;animation:pulse 1s infinite}.conn-online{background:var(--green);box-shadow:0 0 6px var(--green)}.hud-help{left:16px;bottom:16px;padding:8px 12px;display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted)}.hud-help kbd{min-width:40px;margin-right:4px}.region-intro{position:absolute;top:200px;left:0;right:0;text-align:center;animation:intro 4.2s ease-in-out forwards;pointer-events:none}.region-intro-sub{font-size:14px;letter-spacing:6px;text-transform:uppercase;color:var(--gold-300);text-shadow:0 2px 4px #000}.region-intro-title{font-family:var(--font-title);font-weight:800;font-size:54px;color:#fff4d6;letter-spacing:4px;text-shadow:0 3px 0 #3a281b,0 0 24px rgba(0,0,0,.8)}@keyframes intro{0%{opacity:0;transform:translateY(12px)}15%,75%{opacity:1;transform:none}to{opacity:0;transform:translateY(-8px)}}.slot{position:relative;width:52px;height:52px;display:flex;align-items:center;justify-content:center;padding:0;background:linear-gradient(180deg,#1b120c,#2a1c13);border:2px solid #5d4428;border-radius:5px;box-shadow:inset 0 2px 4px #0009;color:var(--text);font-family:var(--font-body);cursor:pointer;transition:border-color .12s,transform .12s}button.slot:hover{border-color:var(--gold-500);transform:translateY(-1px)}.slot.is-selected{border-color:var(--gold-400);box-shadow:inset 0 2px 4px #0009,0 0 0 1px var(--gold-400),0 0 10px #e7c25a80}.slot-key{position:absolute;top:1px;left:4px;font-size:11px;color:var(--muted)}.slot-count{position:absolute;right:4px;bottom:1px;font-size:13px;font-weight:600;color:#fff;text-shadow:0 1px 0 #000,0 0 3px #000}.slot-item.is-empty img{opacity:.35;filter:grayscale(.6)}.slot-locked{cursor:help;background:repeating-linear-gradient(135deg,#1b120c 0 6px,#22170f 6px 12px)}.slot.flash{animation:flash .5s ease-out}.slot.bump{animation:bump .35s ease-out}@keyframes flash{0%{box-shadow:0 0 0 2px #fff6c8,0 0 18px #ffe07a}}@keyframes bump{40%{transform:scale(1.12)}}[data-tip]:hover:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);white-space:nowrap;padding:4px 8px;background:#140d08f5;border:1px solid var(--gold-500);border-radius:4px;font-size:12px;color:var(--parchment);pointer-events:none;z-index:5}.hotbar{left:50%;bottom:14px;transform:translate(-50%);display:flex;gap:14px;padding:6px 12px 10px}.hotbar-group{display:flex;flex-direction:column;align-items:center;gap:3px}.hotbar-group+.hotbar-group{border-left:1px solid rgba(201,164,92,.25);padding-left:14px}.hotbar-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.hotbar-slots{display:flex;gap:5px}.notifications{position:absolute;right:16px;top:140px;display:flex;flex-direction:column;align-items:flex-end;gap:6px;pointer-events:none}.notice{display:flex;align-items:center;gap:8px;padding:6px 14px 6px 8px;background:linear-gradient(90deg,#1f150e4d,#1f150ef0 25%);border-right:3px solid var(--gold-500);border-radius:4px 0 0 4px;font-size:16px;text-shadow:0 1px 0 #000;animation:notice-in .3s ease-out;transition:opacity .45s,transform .45s}.notice-success{border-right-color:var(--green);color:#e6ffd0}.notice-warning{border-right-color:#e8a33c;color:#ffe1b0}.notice.leaving{opacity:0;transform:translate(20px)}@keyframes notice-in{0%{opacity:0;transform:translate(30px)}}.floaters{position:absolute;inset:0;pointer-events:none}.floater{position:absolute;transform:translate(-50%,-100%);font-size:20px;font-weight:600;text-shadow:0 2px 0 #000,0 0 4px #000;animation:float-up 1.3s ease-out forwards}@keyframes float-up{0%{opacity:0;transform:translate(-50%,-60%) scale(.7)}15%{opacity:1;transform:translate(-50%,-100%) scale(1.1)}to{opacity:0;transform:translate(-50%,-260%) scale(1)}}.prompt{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:5px 10px;background:#140d08e6;border:1px solid var(--gold-500);border-radius:6px;white-space:nowrap;pointer-events:none;transition:opacity .12s;box-shadow:0 4px 10px #00000080}.prompt.hidden{opacity:0}.prompt-row{display:flex;align-items:center;gap:8px}.prompt-key{width:22px;height:22px;border:1px solid var(--gold-400);border-bottom-width:3px;border-radius:4px;background:var(--wood-700);color:var(--gold-300);font-weight:600;text-align:center;line-height:18px}.prompt-label{font-size:15px}.prompt.disabled{border-color:#6b5a44}.prompt.disabled .prompt-key{opacity:.4}.prompt.disabled .prompt-label{color:var(--muted)}.prompt-progress{display:none;width:120px;height:7px;background:#140d08;border:1px solid #000;border-radius:3px;overflow:hidden}.prompt.busy .prompt-progress{display:block}.prompt.busy .prompt-key{display:none}.prompt-progress-fill{height:100%;width:0;background:linear-gradient(180deg,#c8f29a,var(--green))}.window-layer{position:absolute;inset:0;pointer-events:none}.window{left:50%;top:50%;transform:translate(-50%,-52%);display:flex;flex-direction:column;transition:opacity .16s,transform .16s}.window.closed{opacity:0;transform:translate(-50%,-48%) scale(.97);pointer-events:none!important;visibility:hidden}.window-header{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid rgba(201,164,92,.35);background:linear-gradient(180deg,#c9a45c26,#c9a45c00)}.window-header h2{flex:1;margin:0;font-family:var(--font-title);font-size:20px;font-weight:800;letter-spacing:1px;color:var(--gold-300)}.window-close{width:30px;height:30px;border:1px solid #8a6a3a;border-radius:4px;background:var(--wood-700);color:var(--parchment);font-size:15px;cursor:pointer}.window-close:hover{background:#6b2a24;border-color:var(--gold-400)}.window-body{padding:14px 16px}.window h3{margin:0 0 8px;font-family:var(--font-title);font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.window-footer{display:flex;align-items:center;gap:6px;padding:8px 16px;border-top:1px solid rgba(201,164,92,.25);font-size:13px;color:var(--gold-300)}.footer-hint{margin-left:auto;color:var(--muted)}.window-inventory{width:720px}.inv-body{display:flex;gap:18px}.inv-left{width:240px}.inv-right{flex:1}.inv-usage{float:right;letter-spacing:0;color:var(--gold-300)}.equip-grid{display:grid;grid-template-columns:repeat(4,52px);gap:6px;margin-bottom:16px}.slot-equip{cursor:default;background:radial-gradient(circle at 50% 50%,rgba(201,164,92,.08),transparent 60%),linear-gradient(180deg,#1b120c,#2a1c13);border-style:dashed}.equip-label{font-size:9px;color:var(--muted);text-align:center;line-height:10px}.inv-summary{display:flex;flex-direction:column;gap:6px}.inv-summary-row{display:flex;align-items:center;gap:10px;padding:5px 8px;background:#00000040;border:1px solid rgba(201,164,92,.2);border-radius:4px}.inv-summary-row .name{flex:1}.inv-summary-row .qty{font-weight:600;color:var(--gold-300)}.inv-summary-row.is-empty{opacity:.55}.inv-grid{display:grid;grid-template-columns:repeat(6,52px);gap:6px;margin-bottom:12px}.slot-bag.is-empty{cursor:default;opacity:.7}.inv-details{display:flex;gap:12px;align-items:center;min-height:72px;padding:10px 12px;background:#f1e4c412;border:1px solid rgba(201,164,92,.25);border-radius:5px}.inv-details strong{font-family:var(--font-title);color:var(--gold-300)}.inv-details p{margin:3px 0;font-size:13px;color:var(--parchment)}.inv-details .qty{font-size:12px;color:var(--muted)}.muted{margin:0;color:var(--muted);font-size:13px}.window-map{width:790px}.map-body{display:flex;gap:16px}.map-frame{position:relative;width:512px;height:384px;border:3px solid #8a6a3a;border-radius:4px;box-shadow:0 0 0 2px var(--wood-900),inset 0 0 30px #00000080;overflow:hidden;flex-shrink:0}.map-canvas{display:block;image-rendering:pixelated;filter:sepia(.25) saturate(.9)}.map-label{position:absolute;transform:translate(-50%,-50%);padding:1px 6px;font-family:var(--font-title);font-size:11px;font-weight:600;color:#fff4d6;white-space:nowrap;background:#1f150ea6;border-radius:3px;pointer-events:none}.map-marker{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;background:#fff;border:2px solid #c0392b;border-radius:50%;box-shadow:0 0 6px #000}.map-marker-pulse{position:absolute;inset:-8px;border:2px solid #fff;border-radius:50%;animation:ping 1.4s infinite}@keyframes ping{0%{transform:scale(.4);opacity:1}to{transform:scale(1.4);opacity:0}}@keyframes pulse{50%{opacity:.4}}.map-legend{flex:1;display:flex;flex-direction:column}.map-legend ul{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px;font-size:13px}.map-legend li{display:flex;align-items:center;gap:8px}.legend-dot,.legend-you,.legend-square{width:12px;height:12px;border:1.5px solid var(--wood-900);border-radius:50%;flex-shrink:0}.legend-square{border-radius:2px}.legend-you{border:2px solid #c0392b}.map-coords{margin-top:auto;font-size:12px;color:var(--muted)}.main-menu{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-start;padding-left:110px;background:linear-gradient(90deg,#0a0704d1,#0a070480 45%,#0a07040d 75%);transition:opacity .5s}.main-menu.leaving{opacity:0}.menu-card{width:430px}.menu-kicker{font-size:14px;letter-spacing:6px;text-transform:uppercase;color:var(--gold-400)}.menu-title{margin:8px 0 0;font-family:var(--font-title);font-weight:800;font-size:58px;line-height:1.02;color:#fff4d6;text-shadow:0 4px 0 #3a281b,0 0 30px rgba(0,0,0,.8)}.menu-divider{width:180px;height:2px;margin:18px 0;background:linear-gradient(90deg,var(--gold-400),transparent)}.menu-tagline{margin:0 0 26px;font-size:17px;line-height:1.5;color:var(--parchment);text-shadow:0 2px 2px #000}.menu-buttons{display:flex;gap:12px}.menu-button{padding:12px 24px;border:2px solid #8a6a3a;border-radius:6px;background:linear-gradient(180deg,#4d3523,#2b1d14);color:var(--parchment);font-family:var(--font-title);font-size:16px;font-weight:600;letter-spacing:1px;cursor:pointer;box-shadow:0 0 0 2px var(--wood-900),0 6px 16px #00000080;transition:transform .12s,border-color .12s}.menu-button:hover{transform:translateY(-2px);border-color:var(--gold-400)}.menu-button.primary{background:linear-gradient(180deg,#e7c25a,#b8861f);color:var(--wood-900);border-color:#f3dc9a}.menu-controls{margin-top:18px;padding:12px 14px;background:#140d08d9;border:1px solid rgba(201,164,92,.45);border-radius:6px;display:grid;gap:7px}.menu-controls.hidden{display:none}.menu-control-row{display:flex;gap:12px;align-items:center;font-size:14px}.menu-control-row kbd{min-width:110px}.menu-hint{margin-top:22px;font-size:13px;color:var(--muted)}.menu-footer{position:absolute;right:18px;bottom:14px;font-size:12px;color:#f1e4c499}.hud-leave{margin-left:6px;padding:2px 9px;border:1px solid #8a6a3a;border-radius:4px;background:var(--wood-700);color:var(--parchment);font-family:var(--font-body);font-size:12px;cursor:pointer}.hud-leave:hover{border-color:var(--gold-400);background:#6b2a24}.menu-body{min-height:170px}.menu-status{display:flex;align-items:center;gap:10px;font-size:16px;color:var(--parchment)}.menu-status-warn{color:#ffd38a;margin-bottom:6px}.spinner{width:16px;height:16px;border:2px solid rgba(243,220,154,.3);border-top-color:var(--gold-400);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.menu-small{margin:4px 0 14px;font-size:13px;line-height:1.4;color:var(--muted)}.menu-welcome{margin-bottom:18px;font-size:18px;color:var(--parchment)}.menu-welcome strong{font-family:var(--font-title);color:var(--gold-300)}.menu-notice{margin-bottom:14px;padding:8px 12px;border-left:3px solid var(--gold-500);border-radius:3px;background:#140d08d9;font-size:14px}.menu-notice-error{border-left-color:#e0574f;color:#ffc9c4}.menu-notice.hidden{display:none}.menu-link{margin-top:14px;padding:0;border:none;background:none;color:var(--muted);font-family:var(--font-body);font-size:13px;text-decoration:underline;cursor:pointer}.menu-link:hover{color:var(--gold-300)}.menu-buttons .menu-link{margin:0 0 0 6px;align-self:center}.auth-form{display:flex;flex-direction:column;gap:10px;max-width:380px}.auth-tabs{display:flex;gap:4px;margin-bottom:4px}.auth-tab{flex:1;padding:7px 0;border:1px solid #5d4428;border-radius:5px 5px 0 0;background:#140d08b3;color:var(--muted);font-family:var(--font-title);font-size:14px;font-weight:600;cursor:pointer}.auth-tab.active{border-color:var(--gold-500);border-bottom-color:transparent;background:#3a281bf2;color:var(--gold-300)}.auth-input{padding:10px 12px;border:2px solid #5d4428;border-radius:5px;background:#140d08e6;color:var(--parchment);font-family:var(--font-body);font-size:16px;outline:none;pointer-events:auto;user-select:text}.auth-input:focus{border-color:var(--gold-400);box-shadow:0 0 0 2px #e7c25a40}.auth-input::placeholder{color:#7d6c55}.menu-button:disabled{opacity:.6;cursor:wait}.main-menu .menu-link,.main-menu .auth-tab{pointer-events:auto}.window-professions{width:560px}.prof-list{display:flex;flex-direction:column;gap:10px}.prof-row{display:flex;gap:12px;align-items:center;padding:10px 12px;background:#00000040;border:1px solid rgba(201,164,92,.25);border-radius:5px}.prof-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#1b120c,#2a1c13);border:2px solid #5d4428;border-radius:5px;flex-shrink:0}.prof-info{flex:1;display:flex;flex-direction:column;gap:5px;min-width:0}.prof-title{display:flex;justify-content:space-between;align-items:baseline}.prof-title strong{font-family:var(--font-title);color:var(--gold-300)}.prof-level{font-size:13px;color:var(--parchment)}.prof-bar{flex:none;height:16px}.prof-bar .bar-fill{background:linear-gradient(180deg,#b6e3ff,#5aa3c2 55%,#2d6390)}.prof-desc{font-size:12px;color:var(--muted)}.window-crafting{width:640px}.craft-body{display:flex;gap:16px}.craft-list{width:230px;display:flex;flex-direction:column;gap:6px}.craft-row{display:flex;align-items:center;gap:10px;padding:6px 8px;background:#0000004d;border:1px solid rgba(201,164,92,.2);border-radius:5px;color:var(--text);font-family:var(--font-body);font-size:14px;text-align:left;cursor:pointer}.craft-row:hover{border-color:var(--gold-500)}.craft-row.is-selected{border-color:var(--gold-400);background:#c9a45c24}.craft-row.is-locked{opacity:.55}.craft-name{flex:1}.craft-tag{font-size:11px;color:var(--muted)}.craft-row.is-ready .craft-tag{color:var(--green)}.craft-details{flex:1;display:flex;flex-direction:column;gap:10px}.craft-head{display:flex;gap:12px;align-items:center}.craft-head strong{font-family:var(--font-title);font-size:17px;color:var(--gold-300)}.craft-head p{margin:3px 0 0;font-size:13px;color:var(--parchment)}.craft-details h3{margin:4px 0 0}.craft-inputs{display:flex;flex-direction:column;gap:5px}.craft-input{display:flex;align-items:center;gap:8px;padding:4px 8px;background:#00000040;border-radius:4px;font-size:14px}.craft-input span:nth-child(2){flex:1}.craft-input.ok .qty{color:var(--green)}.craft-input.missing .qty{color:#ff8a80}.craft-meta{display:flex;gap:14px;font-size:12px;color:var(--muted)}.craft-progress{height:8px;background:#140d08;border:1px solid #000;border-radius:3px;overflow:hidden;visibility:hidden}.craft-progress.active{visibility:visible}.craft-progress-fill{height:100%;width:0;background:linear-gradient(180deg,#ffe08a,var(--gold-400))}.craft-problem{margin:0;font-size:13px;color:#ffb3a8}.craft-button{align-self:flex-start}.inv-details-text{flex:1}.inv-category{display:block;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.inv-use{padding:8px 18px;font-size:14px}.slot.is-upgraded{border-color:#7fa6c8;box-shadow:inset 0 2px 4px #0009,0 0 8px #7fa6c873}.slot.is-upgraded.is-selected{border-color:var(--gold-400)}.window-shop{width:680px}.shop-heading{flex:1;display:flex;flex-direction:column}.shop-subtitle{font-size:12px;color:var(--muted)}.shop-greeting{margin:0 0 10px;font-size:14px;font-style:italic;color:var(--parchment)}.shop-tabs{margin-bottom:10px}.shop-list{width:270px;flex:none}.shop-price{display:inline-flex;align-items:center;gap:3px;font-size:13px;color:var(--gold-300)}.shop-qtys{display:flex;gap:6px}.shop-qty{padding:4px 12px;border:1px solid #5d4428;border-radius:4px;background:#140d08b3;color:var(--text);font-family:var(--font-body);font-size:13px;cursor:pointer}.shop-qty:hover{border-color:var(--gold-500)}.shop-qty.active{border-color:var(--gold-400);background:#c9a45c33;color:var(--gold-300)}.map-other{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;border:2px solid #12283a;border-radius:50%}.announcements{position:absolute;top:80px;left:50%;transform:translate(-50%);width:560px;display:flex;flex-direction:column;gap:6px}.announcement{pointer-events:auto;display:flex;align-items:center;gap:12px;padding:10px 12px;background:#1a110bf5;border:2px solid var(--gold-500);border-radius:6px;box-shadow:0 6px 16px #00000080}.announcement-warning{border-color:var(--energy)}.announcement-critical{border-color:var(--hp)}.announcement-symbol{flex:none;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--gold-500);color:var(--wood-900);font-weight:600}.announcement-warning .announcement-symbol{background:var(--energy)}.announcement-critical .announcement-symbol{background:var(--hp);color:#fff}.announcement-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:15px;overflow-wrap:anywhere}.announcement-text strong{font-family:var(--font-title);font-size:13px;color:var(--gold-300)}.announcement-close{flex:none;width:28px;height:28px;background:transparent;border:1px solid var(--gold-500);border-radius:4px;color:var(--text);cursor:pointer}.window-orders{width:680px}.order-list{display:flex;flex-direction:column;gap:8px}.order-card{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#0000004d;border:1px solid rgba(201,164,92,.2);border-radius:5px}.order-card.is-ready{border-color:var(--gold-400);background:#c9a45c24}.order-card.is-empty{justify-content:center;padding:20px 12px;color:var(--muted)}.order-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.order-text strong{font-family:var(--font-title);font-size:15px;color:var(--gold-300)}.order-text p{margin:0;font-size:13px;color:var(--parchment)}.order-text p.order-hint{font-style:italic;color:var(--muted)}.order-need{font-size:13px}.order-need.ok{color:var(--green)}.order-need.missing{color:#ff8a80}.order-timer{font-size:11px;color:var(--muted)}.order-side{flex:none;width:150px;display:flex;flex-direction:column;align-items:flex-end;gap:5px;text-align:right}.order-xp{font-size:12px;color:#9fd8ff}.order-deliver{align-self:stretch}.hud-orders{top:118px;left:16px;width:230px;padding:7px 10px;display:flex;flex-direction:column;gap:4px;font-size:13px}.hud-orders.closed{display:none}.hud-orders-title{font-family:var(--font-title);font-size:13px;color:var(--gold-300)}.hud-order{display:flex;align-items:center;gap:6px;color:var(--text)}.hud-order.is-ready{color:var(--green)}.hud-order-check{margin-left:auto}.hud-orders-hint{font-size:11px;color:var(--muted)}.hud-orders-hint.is-ready{color:var(--gold-300)}.menu-card.is-wide{width:560px}.menu-card.is-wide .menu-tagline{display:none}.char-title{margin:0 0 10px;font-family:var(--font-title);font-size:18px;color:var(--gold-300)}.char-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px}.char-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px 6px;border:2px solid #5d4428;border-radius:6px;background:#140d08b3;color:var(--parchment);font-family:var(--font-body);font-size:13px;cursor:pointer}.char-card:hover{border-color:var(--gold-500)}.char-card.is-selected{border-color:var(--gold-400);background:#c9a45c33;color:var(--gold-300)}.char-sprite{background-repeat:no-repeat;image-rendering:pixelated;flex-shrink:0}.char-thumb{width:48px;height:48px;background-size:512px 256px;background-position:-8px 0}.char-walk{width:96px;height:96px;background-size:768px 384px;animation:char-walk .7s steps(4) infinite}@keyframes char-walk{0%{background-position:-192px 0}to{background-position:-576px 0}}.char-details{display:flex;align-items:center;gap:14px;min-height:96px;margin-bottom:6px;padding:4px 12px;border-radius:6px;background:#140d08b8}.char-name{font-family:var(--font-title);font-size:20px;color:var(--gold-300)}.char-description{margin:4px 0 0;font-size:14px;color:var(--parchment)}.menu-welcome{display:flex;align-items:center;gap:10px}
