:root{--bg: #0d1117;--panel: rgba(16, 22, 32, .82);--border: rgba(120, 140, 170, .28);--text: #e6edf3;--muted: #94a3b8;--accent: #9ec9ff;--danger: #ff7b72;--hp: #4ea862;--sp: #4a72c4;--gold: #e0bb54;--orange: #e8863a;--slot: rgba(8, 12, 18, .85);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--motion-fast: .15s;--motion-ui: .24s;--motion-feedback: .42s;--motion-ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden;background:var(--bg);color:var(--text);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.app,.game-canvas{position:absolute;inset:0}.game-canvas canvas{display:block;touch-action:none}.ui-layer{position:absolute;inset:0;pointer-events:none}.hud{position:absolute;pointer-events:auto;padding:8px 10px;background:var(--panel);border:1px solid var(--border);border-radius:8px;font-size:12px;backdrop-filter:blur(6px)}.hud__name{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px;font-size:13px;color:var(--accent)}.hud__level{color:var(--muted)}.hud__bar{position:relative;height:14px;border-radius:4px;background:#0000008c;overflow:hidden}.hud__bar+.hud__bar{margin-top:4px}.hud__bar-fill{position:absolute;top:0;left:0;bottom:0;height:100%;background:linear-gradient(180deg,#6cc37f,var(--hp));transition:width .12s linear;will-change:width}.hud__bar--sp .hud__bar-fill{background:linear-gradient(180deg,#7ba0e4,var(--sp))}.hud__bar--enemy .hud__bar-fill{background:linear-gradient(180deg,#e07a72,var(--danger))}.hud__bar-pending{position:absolute;top:0;left:0;bottom:0;height:100%;background:linear-gradient(180deg,#ffe08a,#ffb74d);transition:width .4s ease-out}.hud__bar-text{position:absolute;inset:0;display:grid;place-items:center;font-size:10px;text-shadow:0 1px 2px #000}.hud__bar--healing{animation:hud-heal-pulse .9s ease-in-out infinite}.hud__bar-fill:not([style*="width: 0%"]){animation:bar-fill-settle var(--motion-feedback) var(--motion-ease)}@keyframes bar-fill-settle{0%{filter:brightness(1.35)}to{filter:brightness(1)}}@keyframes hud-heal-pulse{0%,to{box-shadow:inset 0 0 0 1px #ffd66e4d,0 0 4px 1px #ffd66e40}50%{box-shadow:inset 0 0 0 1px #ffd66ef2,0 0 10px 3px #ffd66eb3}}.rail{position:absolute;top:calc(10px + var(--safe-top));right:calc(10px + var(--safe-right));display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}.hud--world{position:static;display:flex;flex-direction:column;gap:3px;text-align:right;color:var(--muted)}.hud__status--connected{color:var(--hp)}.hud__status--connecting,.hud__status--reconnecting{color:#d9a441}.hud__status--error,.hud__status--idle{color:var(--danger)}.hud__status--connecting,.hud__status--reconnecting,.hud__status--error{animation:status-pulse 1.4s ease-in-out infinite}@keyframes status-pulse{0%,to{opacity:.72}50%{opacity:1}}.hud--error{top:50%;left:50%;transform:translate(-50%,-50%);max-width:320px;text-align:center;line-height:1.5;border-color:var(--danger);color:var(--danger)}.hud--target{top:calc(10px + var(--safe-top));left:50%;transform:translate(-50%);width:min(220px,calc(100vw - 20px));border-color:#ff7b7259;animation:target-in var(--motion-ui) var(--motion-ease) both}@keyframes target-in{0%{opacity:0;transform:translate(-50%) translateY(-6px) scale(.98)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.hud--target .hud__name{align-items:center;color:#e0c39a}.hud--target-player{border-color:#7cfc9a59}.hud__target-actions{display:flex;gap:6px;margin-top:8px}.hud__target-invite{flex:1;width:100%;margin-top:0}.hud__target-clear{width:18px;height:18px;padding:0;color:var(--muted);background:none;border:1px solid var(--border);border-radius:4px;font:inherit;font-size:12px;line-height:1;cursor:pointer}.death{position:absolute;inset:0;display:grid;place-items:center;pointer-events:auto;background:#090c129e;backdrop-filter:blur(2px);animation:modal-scrim-in var(--motion-ui) ease-out both}.death__panel{width:min(320px,calc(100vw - 40px));padding:22px;text-align:center;background:var(--panel);border:1px solid var(--danger);border-radius:12px;animation:modal-panel-in var(--motion-ui) var(--motion-ease) 40ms both}@keyframes modal-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes modal-panel-in{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.death__title{margin:0 0 8px;font-size:20px;letter-spacing:2px;color:var(--danger)}.death__text{margin:0 0 16px;font-size:12px;line-height:1.6;color:var(--muted)}.death__actions{display:grid;gap:8px}.death__button{width:100%;padding:10px 14px;color:#06121f;background:var(--accent);border:none;border-radius:6px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:transform var(--motion-fast) ease,filter var(--motion-fast) ease}.death__button:hover:not(:disabled),.death__button:focus-visible:not(:disabled){filter:brightness(1.12);transform:translateY(-1px)}.death__button:active:not(:disabled){transform:translateY(1px) scale(.99)}.death__button-label{display:block}.death__button-hint{display:block;margin-top:2px;font-size:10px;font-weight:400;letter-spacing:.4px;opacity:.75}.death__button:disabled{background:#46536a;color:#96a3b8;cursor:not-allowed}.dock{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 calc(10px + var(--safe-right)) calc(10px + var(--safe-bottom)) calc(10px + var(--safe-left));pointer-events:none}.chat{position:absolute;left:calc(10px + var(--safe-left));bottom:calc(70px + var(--safe-bottom));display:flex;flex-direction:column;gap:6px;width:min(340px,calc(100vw - 20px));height:220px;min-width:220px;min-height:140px;padding:10px;pointer-events:auto;background:var(--panel);border:1px solid var(--border);border-radius:10px;backdrop-filter:blur(8px)}.chat--minimized{width:auto;height:auto;min-width:0;min-height:0;padding:0;gap:0;background:none;border:none;backdrop-filter:none}.chat__reopen{padding:8px 14px;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:8px;font:inherit;font-size:12px;font-weight:700;letter-spacing:.5px;cursor:pointer;backdrop-filter:blur(8px);transition:transform var(--motion-fast) ease,filter var(--motion-fast) ease}.chat__reopen:hover,.chat__reopen:focus-visible{filter:brightness(1.12);transform:translateY(-1px)}.chat__header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:0 0 auto}.chat__title{color:var(--accent);font-size:13px;letter-spacing:1px}.chat__minimize{width:22px;height:22px;padding:0;color:var(--muted);background:none;border:1px solid var(--border);border-radius:5px;font:inherit;font-size:14px;line-height:1;cursor:pointer}.chat__resize-handle{position:absolute;top:0;right:0;width:16px;height:16px;cursor:nesw-resize;touch-action:none}.chat__resize-handle:before{content:"";position:absolute;top:4px;right:4px;width:7px;height:7px;border-top:2px solid var(--border);border-right:2px solid var(--border);opacity:.8}.chat__log{flex:1 1 auto;min-height:0;overflow-y:auto;padding:8px 10px;background:#080c1266;border:1px solid var(--border);border-radius:8px;font-size:12px;line-height:1.5;user-select:text}.chat__line{animation:chat-line-in var(--motion-ui) ease-out both}@keyframes chat-line-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.chat__line--system{color:var(--muted);font-style:italic}.chat__line--party .chat__from{color:#7fd88f}.chat__from{color:var(--accent)}.chat__form{display:flex;gap:6px}.chat__input,.login__input{flex:1;min-width:0;padding:8px 10px;color:var(--text);background:#080c12e6;border:1px solid var(--border);border-radius:6px;font:inherit;font-size:12px}.chat__input:focus,.login__input:focus{outline:1px solid var(--accent)}.chat__send,.login__button{padding:8px 14px;color:#06121f;background:var(--accent);border:none;border-radius:6px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:transform var(--motion-fast) ease,filter var(--motion-fast) ease}.chat__send:hover,.chat__send:focus-visible,.login__button:hover:not(:disabled),.login__button:focus-visible:not(:disabled){filter:brightness(1.12);transform:translateY(-1px)}.chat__send:active,.login__button:active:not(:disabled){transform:translateY(1px) scale(.99)}.login__button:disabled{background:#46536a;color:#96a3b8;cursor:not-allowed}.joystick,.attack-button,.loot-button{position:absolute;bottom:calc(96px + var(--safe-bottom));pointer-events:auto;touch-action:none;z-index:1}.joystick{left:calc(16px + var(--safe-left));width:92px;height:92px;border-radius:50%;background:#141a2659;border:1px solid var(--border)}.joystick-knob{position:absolute;left:50%;top:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;background:var(--panel);border:1px solid var(--border);transition:filter var(--motion-fast) ease}.joystick-knob-active{filter:brightness(1.2)}.attack-button{right:calc(16px + var(--safe-right));width:72px;height:72px;border-radius:50%;background:var(--panel);border:1px solid var(--border);transition:filter var(--motion-fast) ease,transform var(--motion-fast) ease}.attack-button-held{filter:brightness(1.25);transform:scale(.94)}.loot-button{right:calc(16px + 72px + 14px + var(--safe-right));width:56px;height:56px;border-radius:50%;background:var(--panel);border:1px solid var(--border);transition:filter var(--motion-fast) ease,transform var(--motion-fast) ease}.loot-button:active{filter:brightness(1.25);transform:scale(.94)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;max-width:100%;padding:8px 10px;pointer-events:auto;background:var(--panel);border:1px solid var(--border);border-radius:10px;font-size:12px;backdrop-filter:blur(6px)}.vitals{flex:0 0 auto;width:190px}.vitals .hud__name{margin-bottom:4px;font-size:12px}.xp-orbs{display:flex;flex:0 0 auto;align-items:center;gap:5px;cursor:help}.xp-orb{position:relative;width:16px;height:16px;overflow:hidden;background:#0000008c;border:1px solid var(--border);border-radius:50%}.xp-orb__fill{position:absolute;right:0;bottom:0;left:0;background:linear-gradient(180deg,#f0d27a,var(--gold));transition:height .16s linear}.xp-orb--full{border-color:var(--gold);box-shadow:0 0 5px #d9a4418c;animation:xp-orb-full var(--motion-feedback) var(--motion-ease) both}@keyframes xp-orb-full{0%{transform:scale(.86);box-shadow:0 0 #d9a44100}55%{transform:scale(1.18);box-shadow:0 0 14px 3px #d9a441d1}to{transform:scale(1);box-shadow:0 0 5px #d9a4418c}}.xp-tip{position:fixed;transform:translate(-50%,calc(-100% - 12px));padding:3px 7px;pointer-events:none;z-index:10;color:var(--gold);background:var(--panel);border:1px solid var(--border);border-radius:6px;font-size:11px;white-space:nowrap;backdrop-filter:blur(6px)}.quickbar{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.quick{width:46px;height:46px;aspect-ratio:auto;padding:3px}.quick--depleted{opacity:.4}.quick__cooldown{position:absolute;inset:0;pointer-events:none;background:#04080ea8;border-radius:inherit;transform-origin:bottom;animation:quick-cooldown linear 1 forwards}.quick--ready{animation:quick-ready var(--motion-feedback) var(--motion-ease) both}@keyframes quick-ready{0%{box-shadow:0 0 #9ec9ff00}45%{box-shadow:0 0 12px 3px #9ec9ffbf}to{box-shadow:0 0 #9ec9ff00}}@keyframes quick-cooldown{0%{transform:scaleY(1)}to{transform:scaleY(0)}}.quick__key{position:absolute;top:1px;left:3px;color:var(--muted);font-size:9px;text-shadow:0 1px 2px #000}.quick__count{position:absolute;right:3px;bottom:1px;color:#fff;font-size:10px;text-shadow:0 1px 2px #000,0 0 3px #000}.toolbar__actions{display:flex;flex-direction:column;gap:6px}.toolbar__windows{display:flex;flex-wrap:wrap;gap:6px}.ui-toggle{display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 12px;pointer-events:auto;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:8px;font:inherit;font-size:12px;backdrop-filter:blur(6px);cursor:pointer;transition:transform var(--motion-fast) ease,border-color var(--motion-fast) ease,color var(--motion-fast) ease,background-color var(--motion-fast) ease}.ui-toggle:hover,.ui-toggle:focus-visible{transform:translateY(-1px);border-color:var(--accent)}.ui-toggle:active{transform:translateY(1px) scale(.98)}.ui-toggle--active{border-color:var(--accent);color:var(--accent)}.ui-toggle__key{padding:1px 5px;border:1px solid var(--border);border-radius:4px;font-size:10px;color:var(--muted)}.ui-toggle__badge{min-width:16px;padding:1px 4px;color:#1a1408;background:var(--gold);border-radius:8px;font-size:10px;line-height:14px;text-align:center}.panel-handle{cursor:grab;touch-action:none}.panel-handle:active{cursor:grabbing}.panel-handle button{cursor:pointer;touch-action:auto}.inventory{position:absolute;top:calc(10px + var(--safe-top));right:calc(10px + var(--safe-right));display:flex;flex-direction:column;gap:10px;width:min(330px,calc(100vw - 20px));max-height:calc(100% - 130px - var(--safe-top) - var(--safe-bottom));padding:12px;overflow-y:auto;pointer-events:auto;background:var(--panel);border:1px solid var(--border);border-radius:10px;font-size:12px;backdrop-filter:blur(8px);overscroll-behavior:contain;animation:panel-in var(--motion-ui) var(--motion-ease) both}.ui-layer:has(.inventory) .rail{display:none}.inventory__header{display:flex;align-items:center;gap:8px}.inventory__title{flex:1;color:var(--accent);font-size:13px;letter-spacing:1px}.inventory__gold{padding:2px 6px;color:var(--gold);background:none;border:1px solid transparent;border-radius:5px;font:inherit;cursor:pointer}.inventory__gold:hover:not(:disabled){border-color:var(--gold)}.inventory__gold:disabled{color:var(--muted);cursor:default}.inventory__diamonds{cursor:default;color:#7ecbff}.inventory__close{width:22px;height:22px;padding:0;color:var(--muted);background:none;border:1px solid var(--border);border-radius:5px;font:inherit;font-size:14px;line-height:1;cursor:pointer}.inventory__top{display:flex;gap:10px}.inventory__doll{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.inventory__doll .slot{animation:equipment-change var(--motion-feedback) var(--motion-ease) both}@keyframes equipment-change{0%{box-shadow:0 0 #e0bb5400}45%{border-color:var(--gold);box-shadow:0 0 12px 3px #e0bb548c}to{box-shadow:0 0 #e0bb5400}}.inventory__stats{flex:1;display:flex;flex-direction:column;justify-content:center;gap:4px;margin:0;color:var(--muted)}.inventory__stats>div{display:flex;justify-content:space-between;gap:8px}.inventory__stats dt{font-size:11px}.inventory__stats dd{margin:0;color:var(--text)}.inventory__tabs{display:flex;gap:4px}.inventory__tab{flex:1;padding:5px 0;color:var(--muted);background:var(--slot);border:1px solid var(--border);border-radius:5px;font:inherit;font-size:11px;cursor:pointer}.inventory__tab--active{color:var(--accent);border-color:var(--accent)}.inventory__grid{display:grid;gap:4px}.slot{position:relative;aspect-ratio:1;display:grid;place-items:center;background:var(--slot);border:1px solid var(--border);border-radius:5px;touch-action:none;user-select:none;-webkit-user-select:none;transition:transform var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,opacity var(--motion-fast) ease}.slot-spacer{aspect-ratio:1;visibility:hidden;pointer-events:none}.slot--tall{aspect-ratio:auto}.slot--empty{cursor:default}.slot:not(.slot--empty){cursor:grab}.slot:not(.slot--empty):hover,.slot:not(.slot--empty):focus-visible{border-color:var(--accent);box-shadow:0 0 8px #9ec9ff47;transform:translateY(-1px)}.slot--selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.slot--dragging{opacity:.35;transform:scale(.96)}.slot__label{padding:2px;color:var(--muted);font-size:8px;line-height:1.2;text-align:center;opacity:.75}.item-icon{position:relative;display:block;width:100%;height:100%;border-radius:4px;overflow:hidden}.item-icon__initials{position:absolute;inset:0;display:grid;place-items:center;font-size:13px;font-weight:700;color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.6)}.item-icon__art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.slot--tall .item-icon__art,.drag-ghost--tall .item-icon__art{object-fit:cover}.item-icon__count{position:absolute;right:1px;bottom:0;padding:0 2px;font-size:10px;color:#fff;text-shadow:0 1px 2px #000,0 0 3px #000}.item-icon__plus{position:absolute;top:0;left:2px;font-size:10px;font-weight:700;color:#ffe08a;text-shadow:0 1px 2px #000,0 0 3px #000}.item-icon__plus--master{color:#ff9d5c}.item-icon--unlearnt{filter:grayscale(.8);opacity:.5}.drag-ghost{position:fixed;width:44px;height:44px;transform:translate(-50%,-50%);pointer-events:none;opacity:.9;z-index:10}.drag-ghost--tall{height:88px}.item-tip{position:fixed;top:0;left:0;max-width:230px;padding:8px 10px;pointer-events:none;z-index:10;background:var(--panel);border:1px solid var(--border);border-radius:6px;line-height:1.5;backdrop-filter:blur(6px);box-shadow:0 6px 18px #00000073}.inventory__detail{padding:8px 10px;background:var(--slot);border:1px solid var(--border);border-radius:6px;line-height:1.5}.inventory__detail--empty{color:var(--muted);font-size:11px}.inventory__detail-head{display:flex;justify-content:space-between;gap:8px}.inventory__detail-name{color:var(--accent)}.inventory__detail-name.is-refined{color:var(--gold)}.inventory__detail-count{color:var(--muted)}.inventory__detail-text{margin:4px 0;color:var(--muted);font-size:11px}.inventory__detail-bonus{color:var(--hp);font-size:11px}.inventory__detail-meta{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:4px;color:var(--muted);font-size:10px}.inventory__detail-price{color:var(--orange)}.inventory__detail-requirement--unmet{color:var(--danger)}.inventory__detail-actions{display:flex;gap:6px;margin-top:8px}.inventory__action{flex:1;padding:7px 10px;color:#06121f;background:var(--accent);border:none;border-radius:5px;font:inherit;font-size:11px;font-weight:700;cursor:pointer;transition:transform var(--motion-fast) ease,filter var(--motion-fast) ease,border-color var(--motion-fast) ease}.inventory__action:hover:not(:disabled),.inventory__action:focus-visible:not(:disabled){filter:brightness(1.12);transform:translateY(-1px)}.inventory__action:active:not(:disabled){transform:translateY(1px) scale(.98)}.inventory__action:disabled{background:#46536a;color:#96a3b8;cursor:not-allowed}.inventory__action--danger{flex:0 0 auto;background:transparent;border:1px solid var(--danger);color:var(--danger)}.inventory__action--ghost{background:transparent;border:1px solid var(--border);color:var(--muted)}.shop{position:absolute;top:calc(10px + var(--safe-top));left:calc(10px + var(--safe-left));display:flex;flex-direction:column;gap:10px;width:min(320px,calc(100vw - 20px));max-height:calc(100% - 130px - var(--safe-top) - var(--safe-bottom));padding:12px;overflow-y:auto;pointer-events:auto;background:var(--panel);border:1px solid var(--border);border-radius:10px;font-size:12px;backdrop-filter:blur(8px);overscroll-behavior:contain;animation:panel-in var(--motion-ui) var(--motion-ease) both}.shop__header{display:flex;align-items:center;gap:8px}.warehouse{position:absolute;top:calc(10px + var(--safe-top));left:calc(10px + var(--safe-left));display:flex;flex-direction:column;gap:10px;width:min(320px,calc(100vw - 20px));max-height:calc(100% - 130px - var(--safe-top) - var(--safe-bottom));padding:12px;overflow-y:auto;pointer-events:auto;background:var(--panel);border:1px solid var(--border);border-radius:10px;font-size:12px;backdrop-filter:blur(8px);overscroll-behavior:contain;animation:panel-in var(--motion-ui) var(--motion-ease) both}.warehouse__header{display:flex;align-items:center;gap:8px}.warehouse__gold-row{display:flex;gap:6px}.warehouse__gold-row .inventory__gold{flex:1;font-size:10px}.shop__title{color:var(--accent);font-size:13px;letter-spacing:1px}.shop__keeper{flex:1;color:var(--muted);font-size:10px;text-align:right}.shop__grid{grid-auto-rows:1fr;grid-auto-flow:row dense}.shop__slot{padding:0;background:var(--slot);border:1px solid var(--border);font:inherit;cursor:pointer}.shop__slot-count{position:absolute;right:2px;bottom:2px;padding:0 3px;color:var(--text);font-size:8px;line-height:1.4;background:#0000008c;border-radius:3px;pointer-events:none}.shop__detail{display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--slot);border:1px solid var(--border);border-radius:6px}.shop__detail-empty{margin:0;color:var(--muted);font-size:11px;text-align:center}.shop__buy{padding:6px;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:6px;font:inherit;font-size:12px;cursor:pointer;transition:transform var(--motion-fast) ease,border-color var(--motion-fast) ease,background-color var(--motion-fast) ease}.shop__buy:hover:not(:disabled),.shop__buy:focus-visible:not(:disabled){transform:translateY(-1px);border-color:var(--accent);background:#9ec9ff1a}.shop__buy:active:not(:disabled){transform:translateY(1px) scale(.98)}.shop__buy:disabled{color:var(--muted);cursor:default;opacity:.6}.shop__confirm>.item-icon{flex:0 0 34px;height:34px}.shop__row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shop__row-note{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.shop__price{color:var(--gold);font-size:11px}.shop__price--short{color:var(--danger)}.shop__sell{display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--slot);border:1px dashed var(--border);border-radius:6px}.shop__sell--armed{border-color:var(--gold)}.shop__sell-hint{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.inventory--selling{border-color:var(--gold)}.shop__confirm{display:flex;align-items:center;gap:10px;padding:8px;background:var(--slot);border:1px solid var(--border);border-radius:6px}.shop__confirm-body{display:flex;flex-direction:column;gap:2px}.smith{position:absolute;top:calc(10px + var(--safe-top));left:calc(10px + var(--safe-left));display:flex;flex-direction:column;gap:10px;width:min(300px,calc(100vw - 20px));max-height:calc(100% - 130px - var(--safe-top) - var(--safe-bottom));padding:12px;overflow-y:auto;pointer-events:auto;background:var(--panel);border:1px solid var(--border);border-radius:10px;font-size:12px;backdrop-filter:blur(8px);overscroll-behavior:contain;animation:panel-in var(--motion-ui) var(--motion-ease) both}.smith__header{display:flex;align-items:center;gap:8px}.smith__title{color:var(--accent);font-size:13px;letter-spacing:1px}.smith__keeper{flex:1;color:var(--muted);font-size:10px;text-align:right}.smith__anvil{display:flex;align-items:center;gap:10px;padding:8px;background:var(--slot);border:1px solid var(--border);border-radius:6px}.smith__anvil-body{display:flex;flex-direction:column;gap:3px;min-width:0}.smith__item-name{color:var(--text)}.smith__step{color:var(--muted);font-size:10px;line-height:1.4}.smith__gain{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.smith__gain-line{color:var(--good, #7fb87f);font-size:11px}.smith__cost{display:flex;flex-direction:column;gap:3px;margin:0}.smith__cost-row{display:flex;justify-content:space-between;gap:8px}.smith__cost-row dt{color:var(--muted)}.smith__cost-row dd{margin:0;color:var(--text)}.smith__odds{color:#7fb87f}.smith__odds--long{color:var(--gold)}.smith__short{color:#e07b6a}.smith__warning,.smith__hint{margin:0;color:var(--muted);font-size:10px;line-height:1.45}.smith__warning{color:#e0a06a}.smith__actions{display:flex;gap:8px}.trade{position:absolute;top:calc(10px + var(--safe-top));left:calc(10px + var(--safe-left));display:flex;flex-direction:column;gap:10px;width:min(360px,calc(100vw - 20px));max-height:calc(100% - 130px - var(--safe-top) - var(--safe-bottom));padding:12px;overflow-y:auto;pointer-events:auto;background:var(--panel);border:1px solid var(--border);border-radius:10px;font-size:12px;backdrop-filter:blur(8px);overscroll-behavior:contain;animation:panel-in var(--motion-ui) var(--motion-ease) both}.trade__header{display:flex;align-items:center;gap:8px}.trade__title{color:var(--accent);font-size:13px;letter-spacing:1px}.trade__keeper{flex:1;color:var(--muted);font-size:10px;text-align:right}.trade__columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.trade__column{display:flex;flex-direction:column;gap:6px;min-width:0}.trade__column-title{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.trade__offer{display:flex;flex-direction:column;gap:4px;min-height:64px;padding:6px;background:var(--slot);border:1px dashed var(--border);border-radius:6px}.trade__offer--theirs{border-style:solid}.trade__offer--locked{border-color:var(--gold)}.trade__empty{margin:0;padding:6px 0;color:var(--muted);font-size:10px;text-align:center}.trade__rows{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.trade__row{display:flex;align-items:center;gap:6px}.trade__row>.item-icon{flex:0 0 24px;height:24px}.trade__row-name{overflow:hidden;flex:1;text-overflow:ellipsis;white-space:nowrap}.trade__row-count{color:var(--muted);font-size:10px}.trade__row-remove{flex:0 0 auto;width:16px;height:16px;padding:0;color:var(--muted);background:none;border:1px solid var(--border);border-radius:4px;font:inherit;line-height:1;cursor:pointer}.trade__row--gold{color:var(--gold)}.trade__gold{display:flex;align-items:center;justify-content:space-between;gap:6px;color:var(--muted);font-size:10px}.trade__gold input{width:90px;padding:4px 6px;color:var(--text);background:var(--slot);border:1px solid var(--border);border-radius:6px;font:inherit}.trade__gold--theirs span{color:var(--gold);font-size:12px}.trade__status{padding:4px 0;color:var(--muted);font-size:10px;text-align:center}.trade__status--ready{color:var(--gold)}.trade__hint{margin:0;color:var(--muted);font-size:10px;line-height:1.45;text-align:center}.trade__confirm-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.trade__confirm-side{display:flex;flex-direction:column;gap:6px}.character{position:absolute;top:calc(10px + var(--safe-top));left:calc(10px + var(--safe-left));display:flex;flex-direction:column;gap:10px;width:min(290px,calc(100vw - 20px));max-height:calc(100% - 130px - var(--safe-top) - var(--safe-bottom));padding:12px;overflow-y:auto;pointer-events:auto;background:var(--panel);border:1px solid var(--border);border-radius:10px;font-size:12px;backdrop-filter:blur(8px);overscroll-behavior:contain;animation:panel-in var(--motion-ui) var(--motion-ease) both}.character__header{display:flex;align-items:center;gap:8px}.character__title{color:var(--accent);font-size:13px;letter-spacing:1px}.character__name{flex:1;color:var(--muted);font-size:10px;text-align:right}.expmeter{display:flex;flex-direction:column;gap:3px}.expmeter__bar{position:relative;height:10px;background:var(--slot);border:1px solid var(--border);border-radius:5px;overflow:hidden}.expmeter__fill{height:100%;background:linear-gradient(90deg,#c9a227,#ffe08a)}.expmeter__tick{position:absolute;top:0;bottom:0;width:1px;background:#0d1117bf}.expmeter__text{color:var(--muted);font-size:10px;text-align:right}.character__points{padding:5px 8px;color:var(--muted);background:var(--slot);border:1px solid var(--border);border-radius:6px;font-size:11px;text-align:center}.character__points--unspent{color:var(--gold);border-color:var(--gold)}.character__stats{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.character__stat{display:grid;grid-template-columns:34px 32px 1fr 26px;align-items:center;gap:6px}.character__stat-name{color:var(--accent);font-size:11px;letter-spacing:1px}.character__stat-value{color:var(--text);font-size:14px;text-align:right}.character__stat-effect{color:var(--muted);font-size:10px;line-height:1.2}.character__plus{width:26px;height:26px;padding:0;color:var(--text);background:var(--slot);border:1px solid var(--gold);border-radius:6px;font:inherit;font-size:14px;line-height:1;cursor:pointer;transition:transform var(--motion-fast) ease,color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.character__plus:hover:not(:disabled),.character__plus:focus-visible:not(:disabled){color:var(--gold);box-shadow:0 0 8px #e0bb5459;transform:translateY(-1px)}.character__plus:active:not(:disabled){transform:translateY(1px) scale(.96)}.character__plus:hover:not(:disabled){color:var(--gold)}.character__plus:disabled{color:var(--muted);border-color:var(--border);cursor:default}.character__derived{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 10px;margin:0;color:var(--muted)}.character__derived>div{display:flex;justify-content:space-between;gap:8px}.character__derived dt{font-size:11px}.character__derived dd{margin:0;color:var(--text)}.character__note{margin:0;color:var(--muted);font-size:10px;line-height:1.4}.settings{position:absolute;top:calc(10px + var(--safe-top));right:calc(10px + var(--safe-right));display:flex;flex-direction:column;gap:12px;width:min(310px,calc(100vw - 20px));max-height:calc(100% - 130px - var(--safe-top) - var(--safe-bottom));padding:12px;overflow-y:auto;pointer-events:auto;background:var(--panel);border:1px solid var(--border);border-radius:10px;font-size:12px;backdrop-filter:blur(8px);overscroll-behavior:contain;animation:panel-in var(--motion-ui) var(--motion-ease) both}.settings__header{display:flex;align-items:center;gap:8px}.settings__title{flex:1;color:var(--accent);font-size:13px;letter-spacing:1px}.settings__section{display:flex;flex-direction:column;gap:8px;margin:0;padding:10px;background:var(--slot);border:1px solid var(--border);border-radius:7px}.settings__section-title{padding:0 4px;color:var(--muted);font-size:10px;letter-spacing:1px;text-transform:uppercase}.settings__check,.settings__radio{display:flex;align-items:center;gap:8px;min-height:26px;color:var(--text);cursor:pointer}.settings__check input,.settings__radio input{accent-color:var(--accent)}.settings__slider-row{display:grid;grid-template-columns:64px 1fr 42px;align-items:center;gap:8px}.settings__label{color:var(--muted)}.settings__slider{width:100%;accent-color:var(--accent);cursor:pointer}.settings__slider:disabled{cursor:not-allowed;opacity:.45}.settings__value{color:var(--text);font-size:10px;text-align:right}@media(max-width:720px){.minimap{width:120px;height:120px}.worldmap{width:calc(100vw - 20px)}.shop,.smith,.quest,.questlog{max-height:calc(50% - var(--safe-top))}.questlog{left:calc(10px + var(--safe-left))}.skills{left:calc(10px + var(--safe-left));max-height:calc(50% - var(--safe-top))}.ui-layer:has(.skills) .inventory{top:auto;bottom:calc(120px + var(--safe-bottom));max-height:45%}.ui-layer:has(.shop) .inventory,.ui-layer:has(.smith) .inventory,.ui-layer:has(.quest) .inventory{top:auto;bottom:calc(120px + var(--safe-bottom));max-height:45%}.character{max-height:calc(50% - var(--safe-top))}.settings{left:calc(10px + var(--safe-left));right:calc(10px + var(--safe-right));width:auto;max-height:calc(50% - var(--safe-top))}.ui-layer:has(.character) .inventory{top:auto;bottom:calc(120px + var(--safe-bottom));max-height:45%}}.quest,.questlog{position:absolute;top:calc(10px + var(--safe-top));display:flex;flex-direction:column;gap:10px;width:min(320px,calc(100vw - 20px));max-height:calc(100% - 130px - var(--safe-top) - var(--safe-bottom));padding:12px;overflow-y:auto;pointer-events:auto;background:var(--panel);border:1px solid var(--border);border-radius:10px;font-size:12px;backdrop-filter:blur(8px);overscroll-behavior:contain;animation:panel-in var(--motion-ui) var(--motion-ease) both}.quest{left:calc(10px + var(--safe-left))}.questlog{left:340px}.quest__header,.questlog__header{display:flex;align-items:center;gap:8px}.quest__title,.questlog__title{color:var(--accent);font-size:13px;letter-spacing:1px}.quest__entry,.questlog__done,.questlog__available{display:flex;flex-direction:column;gap:6px;padding:10px;background:var(--slot);border:1px solid var(--border);border-radius:8px}.quest__name{margin:0;color:var(--text);font-size:12px;letter-spacing:.5px}.quest__text{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.quest__objectives{display:flex;flex-direction:column;gap:3px;margin:0;padding:0;list-style:none}.quest__objective{color:var(--text);font-size:11px}.quest__objective:before{content:"· ";color:var(--muted)}.quest__objective--done{color:var(--muted);text-decoration:line-through;animation:objective-complete var(--motion-feedback) ease-out both}@keyframes objective-complete{0%{color:var(--gold);text-decoration-color:transparent}to{color:var(--muted);text-decoration-color:currentColor}}.quest__reward{margin:0;color:var(--gold);font-size:11px;line-height:1.4}.quest__reward-label{color:var(--muted);text-transform:uppercase;letter-spacing:1px;font-size:9px}.quest__paths,.quest__actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.quest__hint{margin:0;color:var(--muted);font-size:10px;line-height:1.4}.party{position:absolute;top:calc(10px + var(--safe-top));left:340px;display:flex;flex-direction:column;gap:10px;width:min(280px,calc(100vw - 20px));max-height:calc(100% - 130px - var(--safe-top) - var(--safe-bottom));padding:12px;overflow-y:auto;pointer-events:auto;background:var(--panel);border:1px solid var(--border);border-radius:10px;font-size:12px;backdrop-filter:blur(8px);overscroll-behavior:contain;animation:panel-in var(--motion-ui) var(--motion-ease) both}.party__header{display:flex;align-items:center;gap:8px}.party__title{color:var(--accent);font-size:13px;letter-spacing:1px}.party__row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.ranking{position:absolute;top:calc(10px + var(--safe-top));left:1000px;display:flex;flex-direction:column;gap:10px;width:min(300px,calc(100vw - 20px));max-height:calc(100% - 130px - var(--safe-top) - var(--safe-bottom));padding:12px;overflow-y:auto;pointer-events:auto;background:var(--panel);border:1px solid var(--border);border-radius:10px;font-size:12px;backdrop-filter:blur(8px);overscroll-behavior:contain;animation:panel-in var(--motion-ui) var(--motion-ease) both}.ranking__header{display:flex;align-items:center;gap:8px}.ranking__title{color:var(--accent);font-size:13px;letter-spacing:1px}.ranking__row{display:flex;align-items:center;justify-content:space-between;gap:8px}.ranking__rank{color:var(--muted);min-width:28px}.ranking__xp{color:var(--muted);white-space:nowrap}.party-frame{position:absolute;top:calc(10px + var(--safe-top));left:calc(10px + var(--safe-left));display:flex;flex-direction:column;gap:6px;width:168px;pointer-events:none;z-index:4}.party-frame__member{display:flex;flex-direction:column;gap:3px;padding:6px 8px;background:var(--panel);border:1px solid var(--border);border-radius:8px;backdrop-filter:blur(6px)}.party-frame__row{display:flex;align-items:baseline;justify-content:space-between;gap:6px;font-size:11px}.party-frame__name{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.party-frame__name--leader:before{content:"★ ";color:var(--gold)}.party-frame__level{color:var(--muted);flex-shrink:0}.party-frame__bar{position:relative;height:5px;border-radius:3px;background:#00000080;overflow:hidden}.party-frame__bar-fill{position:absolute;inset:0 auto 0 0;height:100%;transition:width .12s linear}.party-frame__bar-fill--hp{background:linear-gradient(180deg,#6cc37f,var(--hp))}.party-frame__bar-fill--sp{background:linear-gradient(180deg,#7ba0e4,var(--sp))}.party-frame__bar--dead{opacity:.4}.modal{position:fixed;inset:0;display:grid;place-items:center;padding:20px;background:#040a1299;pointer-events:auto;z-index:20;animation:modal-scrim-in var(--motion-ui) ease-out both}.modal__panel{display:flex;flex-direction:column;gap:8px;width:min(300px,100%);padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:10px;font-size:12px;animation:modal-panel-in var(--motion-ui) var(--motion-ease) 40ms both}@keyframes panel-in{0%{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.modal__title{color:var(--accent);font-size:13px;letter-spacing:1px}.modal__row{display:flex;gap:6px}.modal__input{flex:1;min-width:0;padding:8px 10px;color:var(--gold);background:var(--slot);border:1px solid var(--border);border-radius:5px;font:inherit;font-size:14px}.modal__max{padding:0 12px;color:var(--muted);background:var(--slot);border:1px solid var(--border);border-radius:5px;font:inherit;font-size:11px;cursor:pointer}.modal__hint{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.modal__actions{display:flex;gap:6px;margin-top:4px}.login{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;background:radial-gradient(circle at 50% 30%,#16324a 0%,var(--bg) 70%);padding:24px;padding-bottom:calc(24px + env(safe-area-inset-bottom));overflow:hidden}.login__panel{position:relative;display:flex;flex-direction:column;gap:10px;width:min(380px,100%);padding:22px;background:#0b1018b8;backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 40px #00000080}.login__title{margin:0;font-size:26px;letter-spacing:3px;color:var(--accent)}.login__subtitle{margin:-6px 0 8px;font-size:12px;color:var(--muted)}.login__label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.login__hint{margin:4px 0 0;font-size:11px;line-height:1.5;color:var(--muted)}.splash__art{position:absolute;inset:0;background:url(/assets/ui/loading/landscape.jpg) center / cover no-repeat;animation:splash-drift 24s ease-in-out infinite alternate}@media(orientation:portrait){.splash__art{background-image:url(/assets/ui/loading/portrait.jpg)}}@keyframes splash-drift{0%{transform:scale(1.04) translateY(0)}to{transform:scale(1.09) translateY(-1.5%)}}.splash__scrim{position:absolute;inset:0;background:linear-gradient(to bottom,#060a1059,#060a1000 35%,#060a10bf 78%,#060a10f2)}.loading{position:absolute;inset:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;padding:24px;padding-bottom:calc(24px + env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 30%,#16324a 0%,var(--bg) 70%);overflow:hidden;opacity:1;transition:opacity .5s ease}.loading--leaving{opacity:0;pointer-events:none}.loading__panel{position:relative;display:flex;flex-direction:column;gap:8px;width:min(520px,100%);text-align:center}.loading__title{margin:0;font-size:30px;letter-spacing:6px;color:var(--accent);text-shadow:0 2px 12px rgba(0,0,0,.8)}.loading__subtitle{margin:-4px 0 6px;font-size:12px;color:var(--muted)}.loading__bar{height:10px;border:1px solid var(--border);border-radius:6px;background:#080c12d9;overflow:hidden}.loading__fill{height:100%;background:linear-gradient(90deg,#2c6f9b,var(--accent));transition:width .24s ease-out}.loading__phase{display:flex;justify-content:space-between;margin:0;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.loading__percent{color:var(--text)}.loading__tip{margin:10px 0 0;font-size:12px;line-height:1.6;color:var(--text);opacity:.85}.loading__error{margin:0;font-size:12px;line-height:1.5;color:#ff9a8a}.loading__retry{align-self:center;padding:8px 16px;color:#06121f;background:var(--accent);border:none;border-radius:6px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.skills{position:absolute;top:calc(10px + var(--safe-top));left:670px;display:flex;flex-direction:column;gap:10px;width:min(340px,calc(100vw - 20px));max-height:calc(100% - 130px - var(--safe-top) - var(--safe-bottom));padding:12px;overflow-y:auto;pointer-events:auto;background:var(--panel);border:1px solid var(--border);border-radius:10px;font-size:12px;backdrop-filter:blur(8px);overscroll-behavior:contain;animation:panel-in var(--motion-ui) var(--motion-ease) both}.skills__header{display:flex;align-items:center;gap:8px}.skills__title{color:var(--accent);font-size:13px;letter-spacing:1px}.skills__road{margin-left:auto;color:var(--muted)}.skills__locked{margin:0;color:var(--muted);line-height:1.5}.skills__roads{display:flex;flex-direction:column;gap:8px}.skills__road-card{display:flex;flex-direction:column;gap:4px;padding:10px;text-align:left;color:var(--text);background:var(--slot);border:1px solid var(--border);border-radius:8px;cursor:pointer;font:inherit;transition:transform var(--motion-fast) ease,border-color var(--motion-fast) ease,background-color var(--motion-fast) ease}.skills__road-card:hover,.skills__road-card:focus-visible{border-color:var(--accent);background:#9ec9ff14;transform:translateY(-1px)}.skills__road-card:active{transform:translateY(1px) scale(.99)}.skills__road-name{color:var(--accent);font-size:13px}.skills__road-blurb{color:var(--text);line-height:1.4}.skills__road-list{color:var(--muted);font-size:11px}.skills__preview{margin:0;padding-left:18px;color:var(--muted);line-height:1.5}.skills__group{display:flex;flex-direction:column;gap:6px}.skills__group-name{margin:0;color:var(--muted);font-size:11px;font-weight:400;letter-spacing:1px;text-transform:uppercase}.skills__list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.skills__row{display:grid;grid-template-columns:40px 1fr auto;align-items:start;gap:8px;padding:8px;background:var(--slot);border:1px solid var(--border);border-radius:8px;touch-action:none;user-select:none;transition:transform var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,opacity var(--motion-fast) ease}.skills__row:hover,.skills__row:focus-within{border-color:var(--accent);box-shadow:0 0 8px #9ec9ff33;transform:translateY(-1px)}.skills__row--dragging{opacity:.35}.skills__row .item-icon{width:40px;height:40px}.skills__body{display:flex;flex-direction:column;gap:4px;min-width:0}.skills__name-row{display:flex;align-items:baseline;gap:8px}.skills__name{color:var(--text);font-size:12px}.skills__rank{margin-left:auto;color:var(--muted);font-size:11px}.skills__rank--master{color:#ff9d5c}.skills__text{margin:0;color:var(--muted);line-height:1.4}.skills__cost{margin:0;color:var(--sp)}.skills__step{color:var(--accent)}.buffs{position:absolute;top:calc(10px + var(--safe-top));left:calc(10px + var(--safe-left));display:flex;gap:6px;z-index:3;pointer-events:none}.buffs__item{position:relative;width:38px;pointer-events:auto;animation:buff-in var(--motion-ui) var(--motion-ease) both}.buffs__item .item-icon{width:38px;height:38px;border:1px solid var(--border);border-radius:6px;transition:transform var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.buffs__item:hover .item-icon,.buffs__item:focus-within .item-icon{border-color:var(--accent);box-shadow:0 0 10px #9ec9ff59;transform:translateY(-1px)}.buffs__shop-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:6px;background:#7ecbff26;color:#7ecbff;font-size:12px;font-weight:700}@keyframes buff-in{0%{opacity:0;transform:translateY(-6px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.buffs__time{display:block;margin-top:2px;text-align:center;color:var(--text);font-size:10px;text-shadow:0 1px 2px #000,0 0 3px #000}.buffs__card{position:absolute;top:100%;left:0;z-index:10;display:none;flex-direction:column;gap:3px;width:max-content;max-width:220px;margin-top:6px;padding:8px 10px;background:var(--panel);border:1px solid var(--border);border-radius:8px;font-size:11px;line-height:1.4}.buffs__item:hover .buffs__card{display:flex}.buffs__card-head{display:flex;align-items:baseline;gap:8px}.buffs__card-name{color:var(--accent);font-size:12px}.buffs__card-rank{margin-left:auto;color:var(--muted)}.buffs__card-time{color:var(--muted)}.minimap{position:relative;width:180px;height:180px;padding:0;overflow:hidden;pointer-events:auto;background:var(--panel);border:1px solid var(--border);border-radius:10px;backdrop-filter:blur(6px);cursor:pointer;transition:transform var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.minimap:hover,.minimap:focus-visible{border-color:#9ec9ff80;box-shadow:0 0 10px #9ec9ff33;transform:translateY(-1px)}.minimap:active{transform:translateY(1px) scale(.99)}.minimap__canvas{display:block;width:100%;height:100%}.worldmap{position:absolute;top:calc(10px + var(--safe-top));left:0;right:0;margin-inline:auto;display:flex;flex-direction:column;gap:10px;width:min(720px,calc(100vw - 20px));padding:12px;pointer-events:auto;background:var(--panel);border:1px solid var(--border);border-radius:10px;backdrop-filter:blur(8px);font-size:12px;animation:panel-in var(--motion-ui) var(--motion-ease) both}.worldmap__header{display:flex;align-items:center;gap:8px}.worldmap__title{color:var(--accent);font-size:13px;letter-spacing:1px}.worldmap__canvas{display:block;width:100%;aspect-ratio:2 / 1;border-radius:6px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}.splash__art{animation:none!important;transform:none}}
