:root{color-scheme:dark;--ui-canvas: #0d0f0e;--ui-surface: #171a18;--ui-surface-raised: #212622;--ui-surface-hover: #2c332d;--ui-ink: #eee8db;--ui-muted: #b0b3a7;--ui-border: #4a5149;--ui-line: #343b34;--ui-gold: #dbb96e;--ui-gold-hover: #ecd099;--ui-on-gold: #191b16;--ui-danger: #f09b78;--ui-danger-surface: #35231e;--ui-health: #c96357;--ui-success: #95c58a;--ui-success-surface: #233223;--ui-locked: #c1a3cf;--ui-overlay: rgba(8, 10, 8, .55);--ui-shadow: 0 4px 0 rgba(0, 0, 0, .24);--ui-font: ui-monospace, "Cascadia Mono", Menlo, Consolas, monospace;--ui-text-sm: 12px;--ui-text-md: 14px;--ui-text-lg: 16px;--ui-text-title: 20px;--ui-space-1: 4px;--ui-space-2: 8px;--ui-space-3: 12px;--ui-space-4: 16px;--ui-space-6: 24px;--ui-space-8: 32px;--ui-border-width: 1px;--ui-radius: 2px;--ui-motion: .12s;--ui-control: 32px;--ui-touch-target: 44px;--parch: var(--ui-surface);--parch-hi: var(--ui-surface-hover);--parch-dark: var(--ui-canvas);--ink: var(--ui-ink);--ink-soft: var(--ui-muted);--frame: var(--ui-border);--frame-dark: var(--ui-canvas);--slot: var(--ui-surface-raised);--slot-hi: var(--ui-surface-hover);--slot-edge: var(--ui-border);--line: var(--ui-line);--accent: var(--ui-danger);--gold: var(--ui-gold);--ok: var(--ui-success);--locked: var(--ui-locked);--veil: var(--ui-overlay)}@media(prefers-reduced-motion:reduce){:root{--ui-motion: 0ms}}#ui .wiki-overlay{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:16px;background:var(--ui-overlay);pointer-events:auto}#ui .wiki-overlay>.panel.wide{position:static;transform:none;width:min(1080px,100%);height:min(780px,calc(100dvh - 32px));max-height:none;display:flex;flex-direction:column;padding:16px;font-size:var(--ui-text-md)}#ui .wiki-overlay .panel-body{max-height:none;min-height:0;overflow:hidden;display:flex;flex-direction:column;flex:1;padding:0}#ui .wiki-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px}#ui .wiki-search{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:0 8px;border:1px solid var(--ui-border);background:var(--ui-canvas)}#ui .wiki-search:focus-within{outline:1px solid var(--ui-gold)}#ui .wiki-search input{width:100%;min-width:0;min-height:32px;border:0;background:transparent;color:var(--ui-ink);font:inherit;outline:none}#ui .wiki-search input:focus-visible{outline:none;box-shadow:none}#ui .wiki-navigation-toggle{display:none;align-items:center;gap:8px}#ui .wiki-layout{display:grid;grid-template-columns:288px minmax(0,1fr);flex:1;min-height:0;border:1px solid var(--ui-line)}#ui .wiki-index{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--ui-line);background:var(--ui-canvas)}#ui .wiki-list-head{padding:12px 16px;border-bottom:1px solid var(--ui-line)}#ui .wiki-list-head h2{margin:0;font-size:var(--ui-text-md);color:var(--ui-ink);font-weight:400}#ui .wiki-list-head p{margin:8px 0 0;font-size:var(--ui-text-sm);color:var(--ui-muted);line-height:1.4}#ui .wiki-tree{overflow:auto;min-height:0;padding:8px;touch-action:pan-y}#ui .wiki-tree>h3{margin:12px 8px 8px;color:var(--ui-muted);font-size:var(--ui-text-sm);font-weight:400}#ui .wiki-topic{margin-bottom:4px}#ui .wiki-overlay .panel .wiki-topic-toggle.btn{display:flex;align-items:center;gap:8px;width:100%;height:auto;min-height:40px;padding:10px 8px;white-space:normal;text-align:left;background:transparent;border-color:transparent}#ui .wiki-overlay .panel .wiki-topic-toggle>span:nth-child(2){flex:1;min-width:0;line-height:1.5}#ui .wiki-overlay .panel .wiki-topic-toggle>small{color:var(--ui-muted);font-size:var(--ui-text-sm);font-weight:400}#ui .wiki-overlay .panel .wiki-topic-toggle .wiki-disclosure{width:12px;flex-shrink:0;color:var(--ui-muted)}#ui .wiki-overlay .panel .wiki-topic-toggle[aria-expanded=true]{background:var(--ui-surface-raised);border-color:var(--ui-line)}#ui .wiki-overlay .panel .wiki-topic-toggle:hover{background:var(--ui-surface-hover)}#ui .current-topic>.wiki-topic-toggle>span:nth-child(2){color:var(--ui-gold)}#ui .wiki-topic-articles{margin:4px 0 8px 16px;padding-left:8px;border-left:1px solid var(--ui-line)}#ui .wiki-overlay .panel .wiki-tree-article.btn,#ui .wiki-overlay .panel .wiki-search-result.btn{display:flex;align-items:flex-start;gap:8px;width:100%;height:auto;min-height:36px;margin-bottom:4px;padding:8px;text-align:left;white-space:normal;line-height:1.5;background:transparent;border-color:transparent}#ui .wiki-overlay .panel .wiki-tree-article.btn:hover,#ui .wiki-overlay .panel .wiki-search-result.btn:hover{background:var(--ui-surface-hover)}#ui .wiki-overlay .panel .wiki-tree-article.btn[aria-current=page],#ui .wiki-overlay .panel .wiki-search-result.btn[aria-pressed=true]{color:var(--ui-gold);background:var(--ui-surface-raised);border-color:var(--ui-gold);box-shadow:inset 2px 0 var(--ui-gold)}#ui .wiki-overlay .panel .wiki-search-result strong{display:block;font-weight:400}#ui .wiki-overlay .panel .wiki-search-result small{display:block;margin-top:4px;color:var(--ui-muted);font-size:var(--ui-text-sm);font-weight:400}#ui .wiki-empty{padding:12px;color:var(--ui-muted);line-height:1.6}#ui .wiki-empty h3{color:var(--ui-ink);font-size:var(--ui-text-md);font-weight:400}#ui .wiki-breadcrumb{font-size:var(--ui-text-sm);color:var(--ui-gold);margin-bottom:8px}#ui .wiki-history{display:flex;gap:8px;margin-bottom:16px}#ui .wiki-history .btn{font-size:var(--ui-text-sm)}#ui .wiki-article{overflow:auto;min-width:0;padding:24px;line-height:1.65}#ui .wiki-article-head{display:flex;align-items:center;gap:12px;margin-top:8px}#ui .wiki-article h1{font-size:var(--ui-text-title);line-height:1.3;margin:0}#ui .wiki-article h2{font-size:var(--ui-text-lg);margin:24px 0 12px;font-weight:400;color:var(--ui-gold)}#ui .wiki-article p{margin:12px 0}#ui .wiki-summary{color:var(--ui-muted);border-bottom:1px solid var(--ui-line);padding-bottom:16px}#ui .wiki-facts{margin:12px 0;background:var(--ui-canvas);padding:8px 12px}#ui .wiki-facts>div{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,2fr);gap:12px;padding:8px 0;border-bottom:1px solid var(--ui-line)}#ui .wiki-facts>div:last-child{border-bottom:0}#ui .wiki-facts dt{color:var(--ui-muted)}#ui .wiki-facts dd{margin:0;overflow-wrap:anywhere}#ui .wiki-links{display:flex;flex-wrap:wrap;gap:8px}#ui .wiki-links .btn{display:inline-flex;align-items:center;gap:8px;white-space:normal;height:auto;text-align:left}#ui .wiki-footer{display:flex;justify-content:space-between;gap:12px;color:var(--ui-muted);font-size:var(--ui-text-sm);padding-top:12px}#ui .wiki-underlay[inert]{pointer-events:none}#ui .wiki-overlay button,#ui .wiki-overlay input,#ui .wiki-article{touch-action:pan-y}@media(max-width:850px){#ui .wiki-layout{grid-template-columns:minmax(0,1fr)}#ui .wiki-index{display:none;border:0}#ui .wiki-navigation-toggle{display:inline-flex}#ui .wiki-layout.navigation-open .wiki-index{display:flex}#ui .wiki-layout.navigation-open .wiki-article{display:none}#ui .wiki-article{padding:16px}#ui .wiki-footer span:last-child{display:none}}html.touch #ui .wiki-overlay{padding:6px max(6px,var(--safe-r)) max(6px,var(--safe-b)) max(6px,var(--safe-l))}html.touch #ui .wiki-overlay>.panel.wide{height:calc(100dvh - 12px - var(--safe-t) - var(--safe-b));max-height:none;width:100%;padding:8px 12px}html.touch #ui .wiki-overlay .panel-body{max-height:none}html.touch #ui .wiki-layout{grid-template-columns:minmax(0,1fr)}html.touch #ui .wiki-index{display:none;border:0}html.touch #ui .wiki-navigation-toggle{display:inline-flex}html.touch #ui .wiki-layout.navigation-open .wiki-index{display:flex}html.touch #ui .wiki-layout.navigation-open .wiki-article{display:none}html.touch #ui .wiki-overlay .btn,html.touch #ui .wiki-search input{min-height:44px}html.touch #ui .wiki-overlay .panel :is(.wiki-topic-toggle,.wiki-tree-article,.wiki-search-result).btn{min-height:44px}html.touch #ui .wiki-article{padding:12px 16px}html.touch #ui .wiki-toolbar{margin-bottom:8px}html.touch #ui .wiki-footer{padding-top:4px}html.touch #ui .wiki-footer span:last-child{display:none}#ui.reference-stage .wiki-overlay .panel-body{overflow:hidden}#ui .panel{width:min(400px,calc(100vw - 32px));box-sizing:border-box;max-height:84vh;overflow:visible;padding:12px 16px 16px;color:var(--ink);text-shadow:1px 1px 0 #000;font-size:var(--ui-text-sm);background:var(--parch);border:2px solid var(--frame);border-radius:0;box-shadow:0 6px 20px #00000073;backdrop-filter:none;animation:panel-in var(--ui-motion) ease-out}@keyframes panel-in{0%{opacity:0;scale:.96}}#ui .panel.wide{width:min(820px,calc(100vw - 32px))}#ui .panel.fit{width:max-content;min-width:min(400px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:none}#ui .panel.fit .panel-body{max-height:none;overflow:visible}#ui .panel .price{color:var(--ink);font-weight:700}#ui .panel .price.short{color:var(--accent)}#ui .panel-body{max-height:calc(84vh - 80px);overflow-y:auto;padding:2px 4px;scrollbar-color:var(--slot-edge) transparent}#ui .panel-head{display:flex;justify-content:flex-start;align-items:center;gap:8px;margin:0 0 12px;padding-bottom:8px;font-size:var(--ui-text-md);letter-spacing:normal;text-transform:none;color:var(--frame);border-bottom:1px solid var(--line)}#ui .panel-icon{display:inline-flex;color:var(--frame)}#ui .panel-title{font-weight:700}#ui .panel-close{display:inline-flex;margin-left:auto;padding:3px;color:var(--ink-soft);background:none;border:1px solid transparent;cursor:pointer}#ui .panel-close:hover{color:var(--accent);border-color:var(--accent)}#ui .panel-info{display:inline-flex;color:var(--ink-soft);cursor:help}#ui .panel .dim{opacity:.65}#ui .panel .short,#ui .panel .error{color:var(--accent)}#ui .panel .ok{color:var(--ok)}#ui .panel p{margin:4px 0}#ui .panel .shop-name,.section-title{margin:10px 0 6px;font-size:var(--ui-text-sm);font-weight:700;letter-spacing:normal;text-transform:none;color:var(--ink-soft)}#ui .panel .bar{background:var(--slot);border-color:var(--slot-edge)}#ui .panel .request,#ui .panel .up-node,#ui .panel .kit{background:var(--parch-dark);border-color:var(--line)}.center{text-align:center;justify-content:center}.diamond{position:relative;width:52px;height:52px;padding:0;border:none;background:none;cursor:pointer;pointer-events:auto}.diamond:before{content:"";position:absolute;inset:7px;transform:rotate(45deg);background:#0a0810bf;border:1px solid var(--slot-edge);border-radius:2px}.diamond:hover:before{border-color:var(--ink-soft)}.diamond.on:before{border:2px solid var(--gold)}.diamond.small{width:44px;height:44px}.diamond-in{position:relative;display:flex;align-items:center;justify-content:center;height:100%;color:var(--ink)}.diamond.on .diamond-in{color:var(--gold)}.diamond.small .diamond-in{color:var(--accent)}.glyph{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.dock{position:absolute;right:6px;bottom:90px;display:flex;flex-direction:column;gap:2px;pointer-events:auto}.slot-grid{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tile{position:relative;box-sizing:border-box;width:56px;height:56px;display:flex;align-items:center;justify-content:center;color:var(--ink);text-shadow:1px 1px 0 #000;background:var(--slot);border:1px solid var(--slot-edge);border-radius:2px;pointer-events:auto}.tile.click{cursor:pointer}.tile.click:hover{background:var(--slot-hi);border-color:var(--ink-soft)}.tile.sel{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}.tile.using{border-color:var(--ok)}.tile.poor>.px-icon,.tile.poor>.ore-icon{opacity:.45;filter:grayscale(.6)}.tile-qty,.tile-tag{position:absolute;font-size:var(--ui-text-sm);font-weight:700;pointer-events:none}.tile-qty{right:3px;bottom:1px}.tile-tag{left:3px;top:0;color:var(--gold)}.ore-tile .ore-icon{transform:scale(2)}.icon-actions{display:flex;justify-content:center;gap:10px;margin-top:12px}#ui .panel .shop-top{justify-content:flex-end;font-size:var(--ui-text-md)}#ui .panel .shop-tabs{display:flex;align-items:center;gap:4px;margin:8px 0 12px;border-bottom:1px solid var(--line)}#ui .panel .shop-tab{margin-bottom:-1px;padding:5px 12px;font:inherit;font-weight:700;color:var(--ink-soft);text-shadow:inherit;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer}#ui .panel .shop-tab:hover{color:var(--ink)}#ui .panel .shop-tab.on{color:var(--gold);border-bottom-color:var(--gold)}#ui .panel:has(.shop-grid){width:min(460px,calc(100vw - 32px))}#ui .panel:has(.shop-grid.wide){width:min(620px,calc(100vw - 32px))}#ui .panel .shop-grid{margin:0 auto}#ui .panel .shop-piece.poor .bag-cell{background:#a85a48}#ui .panel .shop-piece.poor:hover .bag-cell{background:#b8664f}#ui .panel .shop-piece.using .bag-cell{background:#8f9a5c}#ui .panel .shop-piece.sel .bag-cell{background:#dcac6c;box-shadow:inset 0 0 0 2px var(--gold)}#ui .panel .shop-piece.poor .bag-icon{opacity:.55;filter:grayscale(.5)}#ui .panel .shop-price,#ui .panel .shop-goal{position:absolute;top:2px;font-size:var(--ui-text-sm);font-weight:700;color:var(--gold);text-shadow:1px 1px 0 #000;pointer-events:none}#ui .panel .shop-price{left:3px;display:inline-flex;align-items:center;gap:1px}#ui .panel .shop-price.short{color:#ffb3a3}#ui .panel .shop-goal{right:4px}.shop-action{position:sticky;bottom:0;display:flex;align-items:center;gap:8px;margin-top:14px;padding:8px 10px;background:#0a0810eb;border:1px solid var(--line);border-radius:0}.shop-action .grow{flex:1}#ui .panel .tier-row{display:flex;align-items:center;gap:8px;margin:6px 0;padding:6px 8px;background:var(--parch-dark);border:1px solid var(--line);border-radius:0}#ui .panel .tier-row .tier-text{flex:1;min-width:0}#ui .panel .tier-row .locked{color:var(--locked)}#ui .panel .tier-row .short{color:var(--accent)}#ui .panel .tier-row.blocked>:not(.btn){opacity:.6}#ui .panel .anvil-pick{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 16px 32px;text-align:center}#ui .panel .anvil-pick-ghost{opacity:.35;filter:grayscale(.6);animation:anvil-bob 2.4s ease-in-out infinite}#ui .panel .anvil-pick-lines{display:flex;gap:8px}#ui .panel .anvil-pick-lines .btn{display:flex;align-items:center;gap:6px;padding:2px 10px}@keyframes anvil-bob{50%{transform:translateY(-6px)}}#ui .panel .anvil{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 0 2px;background:radial-gradient(circle at 50% 38%,rgba(245,166,35,.14),transparent 55%)}#ui .panel .anvil-max{gap:6px;padding:40px 0}#ui .panel .anvil-target{display:flex;flex-direction:column;align-items:center;gap:4px}#ui .panel .anvil-target-row{display:flex;align-items:center;gap:10px}#ui .panel .anvil-from{opacity:.7;line-height:0}#ui .panel .anvil-to{line-height:0;filter:drop-shadow(0 0 8px rgba(255,210,74,.35))}#ui .panel .anvil-to-name{display:flex;align-items:center;gap:4px;font-size:var(--ui-text-md);color:var(--gold)}#ui .panel .anvil-goal{padding:1px 4px;opacity:.6}#ui .panel .anvil-goal.on{opacity:1;color:var(--gold)}#ui .panel .anvil-tray{display:flex;flex-direction:column;gap:4px}#ui .panel .anvil-tray .bar{width:100%;height:4px}#ui .bag-slot .slot-ghost{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:.16;filter:grayscale(.5);pointer-events:none}#ui .panel .anvil-row{display:flex;align-items:center;justify-content:center;gap:16px}#ui .panel .anvil-info{display:flex;flex-direction:column;gap:4px;width:280px}#ui .panel .anvil-luck{display:flex;align-items:center;gap:6px}#ui .panel .anvil-luck .bar{flex:1;height:6px}#ui .panel .anvil-luck.up{animation:anvil-luck-up 1.2s ease-out}@keyframes anvil-luck-up{0%{filter:brightness(2.2) drop-shadow(0 0 6px rgba(120,170,255,.9))}to{filter:none}}#ui .panel .anvil-risk{color:var(--ink-soft)}#ui .panel .anvil-actions{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:2px}#ui .panel .anvil-cost{display:flex;align-items:center;gap:4px;font-size:var(--ui-text-md)}#ui .panel .anvil-cost.short b{color:var(--accent)}#ui .panel .ui-button.anvil-spin{min-width:170px}#ui .panel .anvil.phase-ok .anvil-to{animation:anvil-pop .7s cubic-bezier(.2,1.6,.4,1);filter:drop-shadow(0 0 14px rgba(122,214,106,.9))}#ui .panel .anvil.phase-ok .anvil-to-name{color:var(--ok)}#ui .panel .anvil.phase-bad .anvil-from{opacity:1;animation:anvil-thud .6s ease-out}#ui .panel .anvil.phase-bad .anvil-to{opacity:.35;filter:grayscale(1);transition:opacity .3s}@keyframes anvil-pop{0%{transform:scale(.6)}60%{transform:scale(1.35)}to{transform:scale(1)}}@keyframes anvil-thud{0%{transform:translateY(-18px) rotate(-20deg);opacity:0}60%{transform:translateY(3px) rotate(6deg);opacity:1}to{transform:none}}#ui .anvil-gauge{position:relative;flex:none;width:248px;height:248px}#ui .anvil-gauge svg{display:block;filter:drop-shadow(0 0 14px rgba(245,166,35,.3))}#ui .anvil-gauge.spinning svg{animation:anvil-halo .6s ease-in-out infinite alternate}#ui .anvil-gauge.ok svg{animation:anvil-flash-ok .9s ease-out;filter:drop-shadow(0 0 22px rgba(110,220,120,.7))}#ui .anvil-gauge.bad svg{animation:anvil-shake .45s ease-in-out;filter:drop-shadow(0 0 16px rgba(230,90,60,.55))}@keyframes anvil-halo{to{filter:drop-shadow(0 0 26px rgba(255,190,60,.6))}}@keyframes anvil-flash-ok{0%{filter:drop-shadow(0 0 0 rgba(110,220,120,0)) brightness(1.8)}to{filter:drop-shadow(0 0 22px rgba(110,220,120,.7)) brightness(1)}}@keyframes anvil-shake{0%,to{transform:none}20%{transform:translate(-8px) rotate(-2deg)}40%{transform:translate(7px) rotate(2deg)}60%{transform:translate(-5px) rotate(-1deg)}80%{transform:translate(3px)}}#ui .anvil-gauge .g-rim{fill:#15121c;stroke:#2a2533;stroke-width:2}#ui .anvil-gauge .g-track{fill:none;stroke:#2b2733;stroke-width:20}#ui .anvil-gauge .g-mark{stroke:#6d6678;stroke-width:1.5}#ui .anvil-gauge .g-mark.big{stroke:#a39cae;stroke-width:2}#ui .anvil-gauge .g-arc{fill:none;stroke:#f5a623;stroke-width:20;transition:stroke-dasharray .25s}#ui .anvil-gauge .g-ceiling{stroke:var(--ink-soft);stroke-width:2;stroke-dasharray:2 2}#ui .anvil-gauge .g-needle{stroke:#fff;stroke-width:2.5}#ui .anvil-gauge .g-tip{fill:var(--gold)}#ui .anvil-gauge .g-center{position:absolute;top:0;left:0;right:0;height:248px;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}#ui .anvil-gauge .g-pct{font-size:38px;color:var(--ok)}#ui .anvil-gauge .g-state{font-size:var(--ui-text-md);color:var(--ink)}#ui .anvil-gauge .g-luck{font-size:var(--ui-text-sm);color:#8fb4ff;animation:anvil-luck-up 1.2s ease-out}#ui .anvil-gauge.ok .g-arc,#ui .anvil-gauge.ok .g-tip{stroke:var(--ok);fill:var(--ok)}#ui .anvil-gauge.ok .g-arc{fill:none}#ui .anvil-gauge.ok .g-state{color:var(--ok);font-weight:700}#ui .anvil-gauge.bad .g-arc{stroke:#8a5a2a}#ui .anvil-gauge.bad .g-state,#ui .anvil-gauge.bad .g-pct{color:var(--accent)}#ui .anvil-gauge .g-burst{position:absolute;left:124px;top:124px;width:0;height:0;pointer-events:none}#ui .anvil-gauge .g-burst span{position:absolute;left:-6px;top:-6px;width:12px;height:12px;background:var(--gold);box-shadow:0 0 14px 3px #ffb52e;opacity:0;animation:anvil-spark 1.3s ease-out forwards}#ui .anvil-gauge .g-burst span:nth-child(3n){background:#fff6d0;width:8px;height:8px}#ui .anvil-gauge .g-burst span:nth-child(4n){background:var(--ok);box-shadow:0 0 14px 3px #6edc78cc}#ui .anvil-gauge .g-burst span:nth-child(5n){width:16px;height:16px;left:-8px;top:-8px}@keyframes anvil-spark{0%{opacity:1;transform:rotate(var(--a)) translateY(0) scale(1.8)}70%{opacity:1}to{opacity:0;transform:rotate(var(--a)) translateY(calc(-1 * var(--d))) scale(.3)}}#ui .anvil-gauge .g-burst.bad span{width:10px;height:10px;left:-5px;top:-5px;background:#5a4a44;box-shadow:0 0 8px 2px #e65a3c99;animation:anvil-shard 1.2s cubic-bezier(.2,.7,.4,1) forwards}#ui .anvil-gauge .g-burst.bad span:nth-child(3n){background:#e65a3c;box-shadow:0 0 12px 3px #ff6e32cc;width:8px;height:8px}#ui .anvil-gauge .g-burst.bad span:nth-child(4n){background:#8a7f7a;width:14px;height:6px}@keyframes anvil-shard{0%{opacity:1;transform:translateY(0) rotate(var(--a)) translateY(0) rotate(0) scale(1.6)}45%{opacity:1;transform:translateY(0) rotate(var(--a)) translateY(calc(-1 * var(--d))) rotate(180deg) scale(1)}to{opacity:0;transform:translateY(var(--fall)) rotate(var(--a)) translateY(calc(-1 * var(--d))) rotate(400deg) scale(.5)}}#ui .panel .bag-item.anvil-pickable .bag-cell{animation:anvil-pickable 1.4s ease-in-out infinite;cursor:pointer}#ui .panel .bag-item.anvil-target .bag-cell{box-shadow:inset 0 0 0 2px var(--gold),0 0 10px #ffd24a8c;background-color:#ffd24a24}@keyframes anvil-pickable{50%{box-shadow:inset 0 0 0 2px #ffd24ab3}}@media(prefers-reduced-motion:reduce){#ui .panel .anvil-pick-ghost,#ui .panel .anvil-spin.ready,#ui .panel .anvil.phase-ok .anvil-to,#ui .panel .anvil.phase-bad .anvil-from,#ui .anvil-gauge svg,#ui .anvil-gauge.ok .g-note,#ui .anvil-gauge .g-burst span,#ui .panel .bag-item.anvil-pickable .bag-cell{animation:none!important}}.px-icon-graded{position:relative;display:inline-block;vertical-align:middle;line-height:0}.px-icon-graded .tier-grade{position:absolute;right:-2px;bottom:-2px;padding:0 2px;font:700 9px/1.1 ui-monospace,Cascadia Mono,Menlo,monospace;color:#ffd24a;background:#0a0810d9;border:1px solid rgba(255,210,74,.6);pointer-events:none}#ui .panel .shop-tab .tab-count{margin-left:6px;padding:0 5px;font-size:var(--ui-text-sm);color:#1a1408;text-shadow:none;background:var(--gold);border-radius:7px}#ui .panel .up-track+.up-track,#ui .panel .forge-log+.up-track{margin-top:14px}#ui .panel .up-title{margin-bottom:6px;font-size:var(--ui-text-sm);font-weight:700;letter-spacing:normal;text-transform:none;color:var(--ink-soft)}#ui .panel .up-title .small{text-transform:none;letter-spacing:0;font-weight:400}#ui .panel .up-row{display:flex;flex-wrap:wrap;align-items:stretch;row-gap:8px}#ui .panel .up-node{display:flex;flex:1 1 220px;flex-direction:column;gap:5px;padding:8px 10px;border:1px solid var(--line)}#ui .panel .up-node.active{border-color:var(--gold)}#ui .panel .up-node.done{border-color:var(--ok)}#ui .panel .up-node.locked{opacity:.55}#ui .panel .up-head{display:flex;align-items:center;gap:8px}#ui .panel .up-pip{flex:none;width:8px;height:8px;transform:rotate(45deg);border:1px solid var(--ink-soft)}#ui .panel .up-node.active .up-pip{border-color:var(--gold)}#ui .panel .up-node.done .up-pip{background:var(--ok);border-color:var(--ok)}#ui .panel .up-done{color:var(--ok)}#ui .panel .up-progress,#ui .panel .up-foot,#ui .panel .forge-log{display:flex;flex-wrap:wrap;align-items:center;gap:8px}#ui .panel .up-progress .bar{flex:1;min-width:80px}#ui .panel .up-foot .ore-icon{width:12px;height:12px}#ui .panel .up-mine{margin-left:auto}#ui .panel .up-link{flex:0 0 18px;align-self:center;height:2px;background:var(--line)}#ui .panel .up-link.on{background:var(--gold)}#ui .panel .forge-log{margin-top:6px;gap:12px}#ui .panel .requests-empty{padding:18px 0;text-align:center}#ui .panel .request-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px}#ui .panel .request-meta .glyph{vertical-align:-2px}#ui .panel .request.village{border-left-color:var(--accent)}#ui .panel .request.village .glyph{color:var(--accent);vertical-align:-2px}.sale-total{display:flex;align-items:center;justify-content:center;gap:6px;margin:14px 0 6px;font-size:22px}.sell-list{display:flex;flex-direction:column;gap:2px;min-width:340px}.sell-row{display:grid;grid-template-columns:1fr 44px 56px 48px auto;align-items:center;gap:8px;padding:3px 6px;background:var(--slot);border:1px solid transparent}.sell-row.off{opacity:.4}#ui .panel[data-drop=market]{width:min(640px,calc(100vw - 32px))}.market-list .sell-row{grid-template-columns:minmax(0,1fr) 40px 64px 52px 44px 64px 72px}.market-list .sell-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#ui .panel .market-list .btn{padding:2px 8px}.sell-row:not(.sell-head):hover{border-color:var(--line)}.sell-row.sell-head{background:transparent;padding-bottom:4px;border-bottom:1px solid var(--line)}#ui .panel .sell-sort{display:inline-flex;align-items:center;gap:3px;padding:0;color:var(--ink-soft);background:none;border:0;box-shadow:none;font-size:var(--ui-text-sm);cursor:pointer}#ui .panel .sell-sort.num{justify-content:flex-end}#ui .panel .sell-sort.on,#ui .panel .sell-sort:hover{color:var(--gold)}.sell-row .sell-name{display:flex;align-items:center;gap:6px;pointer-events:auto}.sell-row .num{text-align:right;white-space:nowrap}.sell-row .num.gold{color:var(--gold)}.sell-row .num .px-icon{vertical-align:-2px}.sell-last{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:8px}.sale-goal{display:flex;align-items:center;justify-content:center;gap:6px;pointer-events:auto}#ui .panel .bag-grid{background:var(--slot);border:1px solid var(--slot-edge);border-radius:0;padding:0}.bag-slot,#ui .panel .bag-cell{box-sizing:border-box;border:none;border-radius:0;box-shadow:inset 0 0 0 1px var(--line)}.bag-slot{position:absolute;background:var(--slot);pointer-events:none}#ui .panel .bag-cell{background:#ffffff1c}#ui .panel .bag-item:hover .bag-cell{background:#ffffff2b}#ui .panel .bag-key,#ui .panel .bag-qty{color:var(--ink);text-shadow:1px 1px 0 #000}#ui .panel.fit:has(.bag-content){min-width:0}#ui .panel .bag-content{width:max-content;margin:0 auto}#ui .panel .bag-body{display:flex;align-items:flex-start;gap:12px}#ui .panel .bag-worn{display:grid;justify-items:center;gap:4px;text-align:center}#ui .panel .bag-none{max-width:260px;align-self:center}#ui .panel .bag-foot{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:12px}#ui .status{width:auto;gap:5px;padding:6px 10px 6px 6px;background:#0a08108c;border-radius:6px}#ui .status .status-row{pointer-events:auto;cursor:default}#ui .status .bar{width:96px}#ui .status .bag-row{cursor:pointer}#ui .status .forge-badge,#ui .status .speed-row.slow,#ui .char-vital.speed-row.slow{color:var(--gold)}#ui .status .speed-row.heavy,#ui .char-vital.speed-row.heavy{color:#e05a4a}#ui .status .ok{color:#7ad66a}#ui .ore-row{pointer-events:auto}#ui .hot{background:#0a0810bf;border:1px solid var(--slot-edge);border-radius:2px}#ui .hot.active{border:2px solid var(--gold)}#ui .hot.dig-mode{margin-left:6px;flex-direction:column}#ui .hot.dig-mode.on{border-color:#9fd8ff}#ui .dig-mode-icon{font-size:var(--ui-text-lg);line-height:1}#ui .hot.dig-mode.on .dig-mode-icon{color:#9fd8ff}#ui .dig-mode-label{font-size:9px;opacity:.8}#ui .radial-veil{position:fixed;inset:0;z-index:90;pointer-events:auto;background:var(--veil)}#ui .radial{position:absolute;width:0;height:0;animation:radial-in .12s ease-out}@keyframes radial-in{0%{opacity:0;transform:scale(.8)}}#ui .radial-hub,#ui .radial-icon{display:flex;align-items:center;justify-content:center;border-radius:50%;background:#0a0810d9;border:2px solid var(--slot-edge)}#ui .radial-hub{position:absolute;left:-30px;top:-30px;width:60px;height:60px;box-sizing:border-box}#ui .radial-hub.busy{border-color:transparent;background:linear-gradient(#0a0810eb,#0a0810eb) padding-box,conic-gradient(var(--gold) var(--p),var(--slot-edge) 0) border-box}#ui .radial-opt{position:absolute;display:flex;flex-direction:column;align-items:center;gap:3px;transform:translate(-50%,-26px);transition:transform 80ms ease-out;cursor:pointer}#ui .radial-icon{position:relative;width:56px;height:56px;box-sizing:border-box}#ui .radial-icon img{image-rendering:pixelated}#ui .radial-label{width:max-content;max-width:104px;color:#fff;font-size:var(--ui-text-sm);text-align:center;line-height:1.15;text-shadow:1px 1px 0 #000,-1px 1px 0 #000,1px -1px 0 #000,-1px -1px 0 #000}#ui .radial-opt.focus{transform:translate(-50%,-26px) scale(1.1)}#ui .radial-opt.focus .radial-icon{border-color:var(--gold)}#ui .radial-opt.focus .radial-label{color:var(--gold)}#ui .ping-radial .ping-ally{display:block}#ui .radial-key,#ui .radial-count{position:absolute;top:-4px;min-width:16px;height:16px;box-sizing:border-box;padding:0 3px;font-size:var(--ui-text-xs, 10px);line-height:14px;text-align:center;white-space:nowrap;color:#fff;text-shadow:none;background:#0a0810f2;border:1px solid var(--slot-edge);border-radius:8px}#ui .radial-key{left:-4px}#ui .radial-count{right:-4px}#ui .radial-count.alert{background:var(--accent);border-color:#0a0810f2}#ui .radial-opt.focus .radial-key{color:var(--gold);border-color:var(--gold)}html.touch #ui .radial-key{display:none}#ui .ping-back{font-size:28px;line-height:1;color:var(--ink)}#ui .radial-opt.blocked .radial-icon img,#ui .radial-opt.blocked .radial-label{opacity:.5}#ui .radial-opt.blocked.focus .radial-icon{border-color:var(--accent)}#ui .radial-lock,#ui .radial-note{display:block;margin-top:1px;color:#ff8a7a;font-size:var(--ui-text-xs, 10px);line-height:1.2;white-space:nowrap}#ui .radial-note{color:#b8b0c8;white-space:normal}.tooltip{position:fixed;z-index:100;max-width:260px;padding:10px;color:var(--ink);text-shadow:1px 1px 0 #000;font-size:var(--ui-text-sm);background:#0a0810eb;border:1px solid var(--frame);border-radius:0;box-shadow:0 0 14px #00000073;pointer-events:none}.tooltip>:last-child,.tooltip>div>:last-child{margin-bottom:0}.tooltip:has(.tip-head>:is(.px-icon,.ore-icon)){min-height:36px;padding-left:56px}.tooltip .tip-head>:is(.px-icon,.ore-icon){position:absolute;top:10px;left:10px}.tooltip .tip-head>.ore-icon{top:22px;left:22px;transform:scale(1.8)}.tip-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.tip-title{font-size:var(--ui-text-md);font-weight:700}.tip-sub{color:var(--ink-soft);font-size:var(--ui-text-sm)}.kind-tag{--kind: var(--ui-muted);display:inline-block;margin-top:2px;padding:0 6px;color:var(--kind);background:color-mix(in srgb,var(--kind) 16%,transparent);border:1px solid color-mix(in srgb,var(--kind) 55%,transparent);border-radius:var(--ui-radius);line-height:1.5}.kind-pickaxe,.kind-hammer{--kind: #8fb3d9}.kind-food{--kind: #e8a35c}.kind-potion{--kind: #c79be0}.kind-torch{--kind: #f0d36b}.kind-backpack{--kind: #c9a27a}.kind-chest,.kind-cart{--kind: #a9bba0}.kind-furnace{--kind: #e9806a}.kind-station{--kind: #e0a08a}.kind-material{--kind: #bfb08f}.kind-ingot{--kind: var(--ui-gold)}.kind-ore{--kind: #84cfc4}.kind-block{--kind: #a7a9a3}.kind-wood{--kind: #c98d5e}.kind-sapling{--kind: var(--ui-success)}.kind-bucket{--kind: #7fb8e6}.tip-effect{margin:4px 0}.tip-row{display:flex;justify-content:space-between;gap:12px;padding:1px 0;border-top:1px solid var(--line)}.tip-note{margin-top:5px;color:var(--ink-soft);font-style:italic}.tip-icons{display:flex;gap:4px;margin:4px 0}.tooltip .slots{width:auto;margin:4px 0}.tooltip .short{color:var(--accent)}.debug-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}#ui .panel .debug-qty{width:80px;padding:3px 6px;font:inherit;color:var(--ink);background:var(--slot);border:1px solid var(--slot-edge);border-radius:2px}#ui .hot.over{outline:2px dashed var(--gold);outline-offset:2px}#ui .drag-layer{position:fixed;z-index:1000;pointer-events:none;transform:translate(-18px,-18px);display:flex;flex-direction:column;align-items:flex-start;gap:4px}#ui .drag-icon{position:relative;display:flex;filter:drop-shadow(2px 3px 0 rgba(0,0,0,.45))}#ui .drag-qty{position:absolute;right:-4px;bottom:-4px;font-size:var(--ui-text-sm);font-weight:700}#ui .drag-why{margin-left:30px;padding:2px 6px;color:var(--ink);background:#0a0810e6;border:1px solid var(--accent);border-radius:3px;white-space:nowrap}#ui .hot.drop-ok{outline:1px dashed var(--ok);outline-offset:2px}#ui .hot.over-bad{outline:2px dashed var(--accent);outline-offset:2px}#ui .hot.lifted>.px-icon{opacity:.35}#ui .panel .bag-item.merge .bag-cell{box-shadow:inset 0 0 0 2px var(--ok)}#ui .panel .bag-item.landed{animation:bag-land .15s ease-out}@keyframes bag-land{0%{transform:scale(1.12)}to{transform:scale(1)}}#ui .backdrop{position:absolute;inset:0;background:#00000059;pointer-events:none;animation:backdrop-in .12s ease-out}@keyframes backdrop-in{0%{opacity:0}}#ui .panel-pair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:18px;width:max-content;max-width:calc(100vw - 16px);pointer-events:none}#ui .panel-pair>.panel{position:relative;top:auto;left:auto;transform:none;pointer-events:auto}#ui .panel-pair>.panel.wide{width:min(760px,calc(100vw - 340px))}#ui .btn.drag-src:not(:disabled){cursor:grab}#ui .panel.drop-ok{outline:2px dashed var(--ok);outline-offset:4px}#ui .panel.drop-bad{outline:2px dashed var(--accent);outline-offset:4px}#ui .drag-why.ok{border-color:var(--ok)}#ui .place-hint{transform:none}#ui .place-hint .drag-why{margin-left:0}#ui .panel .site-list{display:flex;flex-direction:column;gap:8px}#ui .panel .site-row{display:flex;flex-direction:column;gap:4px;padding:8px;background:var(--ui-surface-raised);border:1px solid var(--ui-line)}#ui .panel .site-row.full{border-color:var(--ui-success)}#ui .panel .site-line{display:flex;align-items:center;gap:8px;min-width:0}#ui .panel .site-name{display:flex;align-items:center;gap:8px;flex:1;min-width:0}#ui .panel .site-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#ui .panel .site-count{display:flex;align-items:center;gap:4px;white-space:nowrap}#ui .panel .site-count.ok,#ui .panel .site-status.ok{color:var(--ui-success)}#ui .panel :is(.site-row,.site-body) .bar{box-sizing:border-box;width:100%;margin:0}#ui .panel .site-row .bar{height:4px}#ui .panel .bar-fill.green{background:var(--ui-success)}#ui .panel .site-have{flex:1;min-width:0}#ui .panel .site-qty{display:flex;align-items:center;gap:4px}#ui .panel .site-qty input{width:48px;text-align:center}#ui .panel .site-qty .btn{min-width:32px;padding:0}#ui .panel .site-work{display:flex;align-items:baseline;justify-content:space-between;margin:12px 0 4px}#ui .panel .site-work .section-title{margin:0}#ui .panel .site-actions{position:sticky;bottom:0;display:flex;align-items:center;gap:8px;margin-top:12px;padding:8px 0 2px;background:var(--ui-surface);border-top:1px solid var(--ui-line)}#ui .panel .site-actions .grow{flex:1}#ui .panel .site-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}#ui .char-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--ui-line)}#ui .char-avatar{display:grid;place-items:end center;flex:none;padding:6px 8px 4px;background:var(--ui-surface-raised);border:1px solid var(--ui-border);border-radius:var(--ui-radius);cursor:pointer}#ui .char-avatar:hover,#ui .char-avatar:focus-visible{background:var(--ui-surface-hover);border-color:var(--ui-gold)}#ui .char-id{display:grid;justify-items:start;gap:4px;flex:1;min-width:0}#ui .char-name{max-width:100%;display:flex;align-items:center;gap:6px;font-size:var(--ui-text-title);line-height:1.1}#ui .char-name b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#ui .char-edit,#ui .char-code{display:inline-flex;align-items:center;gap:4px;padding:2px;font:inherit;color:var(--ui-muted);background:none;border:none;cursor:pointer}#ui .char-edit{flex:none;opacity:.6}#ui .char-edit:hover,#ui .char-edit:focus-visible{opacity:1;color:var(--ui-gold)}#ui .char-code{padding:0;font-size:var(--ui-text-sm);letter-spacing:.5px}#ui .char-code .glyph{opacity:0;transition:opacity var(--ui-motion)}#ui .char-code:hover,#ui .char-code:focus-visible{color:var(--ui-ink)}#ui .char-code:hover .glyph,#ui .char-code:focus-visible .glyph{opacity:1}#ui .char-code.copied{color:var(--ui-success)}#ui .char-guest{max-width:220px;font-size:var(--ui-text-sm);color:var(--ui-gold)}#ui .char-roles{display:flex;flex-wrap:wrap;gap:4px}#ui .char-role{--role: var(--ui-locked);padding:0 6px;font-size:var(--ui-text-sm);color:var(--role);background:color-mix(in srgb,var(--role) 16%,transparent);border:1px solid color-mix(in srgb,var(--role) 60%,transparent);border-radius:var(--ui-radius)}#ui .char-role.role-royal{--role: var(--ui-gold)}#ui .char-role.role-vip{--role: #7fc8e8}#ui .char-vitals{display:grid;gap:8px;margin-bottom:4px}#ui .char-vital{display:flex;align-items:center;gap:8px;font-size:var(--ui-text-lg)}#ui .char-vital .bar{flex:1;height:10px}#ui .char-gold b{color:var(--ui-gold)}#ui .char-facts{display:grid;grid-template-columns:1fr 1fr;gap:6px}#ui .char-fact{display:grid;padding:6px 8px;background:var(--ui-surface-raised);border-radius:var(--ui-radius)}#ui .char-fact b{font-size:var(--ui-text-lg)}html.touch #ui .char-edit,html.touch #ui .char-code{min-width:44px;min-height:44px}#ui .furnace-layout{display:grid;grid-template-columns:auto minmax(150px,auto) auto;gap:20px;align-items:stretch}html.touch #ui .furnace-layout{grid-template-columns:auto minmax(120px,auto) auto;gap:12px}#ui .panel.wide:has(.furnace-layout),#ui .panel-pair>.panel.wide:has(.furnace-layout),html.touch #ui .panel-pair>.panel.wide:has(.furnace-layout){width:fit-content;max-width:calc(100vw - 32px)}#ui .furnace-col{display:flex;flex-direction:column;align-items:center;gap:8px}#ui .furnace-body{display:flex;flex-direction:column;align-items:center;align-self:stretch;gap:10px;flex:1}#ui .furnace-actions{display:flex;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:auto;min-height:36px;contain:inline-size}#ui .furnace-actions .ui-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;max-width:100%;white-space:nowrap}html.touch #ui .furnace-actions .ui-button{padding-inline:8px}#ui .furnace-col>.shop-name .dim{font-weight:400;opacity:.7}#ui .furnace-seats{display:inline-flex;align-items:center;gap:4px;opacity:.75}#ui .furnace-fire{padding:0 6px;border-radius:8px}#ui .furnace-fire.lit .furnace-body>.tile:first-child{border-color:#e0782a;animation:furnace-glow 1.4s ease-in-out infinite alternate}@keyframes furnace-glow{0%{box-shadow:0 0 4px #ff8c2873}to{box-shadow:0 0 14px #ffaa3ce6}}#ui .furnace-progress{position:relative;width:100%;max-width:160px;contain:inline-size}#ui .panel .furnace-progress .bar{box-sizing:border-box;width:100%;height:8px;margin:0}#ui .furnace-progress-note{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:10px;line-height:1;pointer-events:none;text-shadow:0 1px 0 #000}#ui .tile.empty>.px-icon,#ui .tile.empty>.ore-icon,#ui .tile.empty>svg{opacity:.3;filter:grayscale(.8)}#ui .station-recipes{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}#ui .station-recipes>.shop-name{margin-right:4px}#ui .tile.station-recipe{width:auto;height:32px;min-width:0;padding:0 10px;gap:4px;flex-direction:row;align-items:center}#ui .tile.station-recipe.dim{opacity:.5}#ui .station-recipe .recipe-part{display:inline-flex;align-items:center;gap:1px}#ui .station-recipe .recipe-can{margin-left:4px;opacity:.8}#ui .furnace-foot{display:flex;align-items:center;gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}#ui .furnace-foot>.furnace-seats{margin-left:auto}@media(max-width:560px){#ui .furnace-layout{grid-template-columns:1fr}#ui .furnace-actions{width:100%}#ui .furnace-actions .ui-button{flex:1;justify-content:center;min-height:40px}}#ui .mix-pot{min-width:max-content}html.touch #ui .mix-layout{grid-template-columns:auto auto;gap:10px}html.touch #ui .mix-layout>.mix-pot{grid-row:span 2}#ui .mix-aspects{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 10px}#ui .mix-aspect{display:inline-flex;align-items:center;gap:3px;font-size:12px}#ui .mix-aspect.dim{opacity:.4}#ui .mix-preview{display:flex;align-items:center;justify-content:center;gap:4px;min-height:30px;min-width:64px;padding:2px 10px;border:1px dashed var(--line);border-radius:6px}#ui .mix-unknown{font-weight:700;font-size:20px;line-height:1;color:var(--gold, #ffd24a);text-shadow:0 1px 0 #000}#ui .mix-base{display:flex;flex-direction:column;align-items:center;gap:2px}#ui .mix-base span{display:inline-flex;align-items:center;gap:3px}#ui .mix-base.short{color:#ff8a7a}#ui .mix-cook{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px}#ui .mix-cook .btn{min-width:34px;min-height:34px}#ui .mix-times{min-width:2.4em;text-align:center;font-weight:700}#ui .mix-book{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding-top:8px;border-top:1px dashed var(--line);max-height:220px;overflow-y:auto}#ui .mix-book-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px}#ui .mix-book-row.unknown{opacity:.6}#ui .mix-book-name{font-weight:700}#ui .mix-book-row .btn{min-height:34px}#ui .tip-aspect{display:inline-flex;align-items:center;gap:3px}#ui .panel .stock-action{flex-wrap:wrap}#ui .panel .stock-action .stock-info{flex-basis:100%}#ui .panel .shop-top .grow{flex:1}#ui .bag-wear{display:inline-block}#ui .bag-wear .tile.bag-wear-empty{border-style:dashed;background:transparent}#ui .bag-wear-empty .bag-empty-icon{display:grid;opacity:.3;filter:grayscale(1) brightness(1.4)}#ui .bag-wear.drop-ok .tile{outline:2px dashed var(--ok);outline-offset:2px}#ui .bag-wear.drop-bad .tile{outline:2px dashed var(--accent);outline-offset:2px}#ui .panel:not(.wide):has(.store-grid){width:auto;min-width:min(360px,calc(100vw - 32px));max-width:calc(100vw - 32px)}#ui .panel .store-grid{margin:4px auto 8px}#ui .panel .store-piece.phantom .bag-cell{background:transparent;border-style:dashed;border-color:#8a7480}#ui .panel .store-piece.phantom .bag-icon{opacity:.4}#ui .panel .store-piece.poor .bag-cell{background:#5a3a36}#ui .panel .store-piece.sel .bag-cell{border-color:var(--gold)}#ui .panel .store-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 12px;pointer-events:none}#ui .game-menu{display:flex;flex-direction:column;gap:6px}#ui .panel .btn.menu-item{display:flex;align-items:center;gap:10px;padding:8px 12px;font-size:var(--ui-text-md);text-align:left}#ui .menu-item span{flex:1}#ui .panel .btn.menu-respawn,#ui .panel .btn.menu-home{font-weight:700}#ui .panel .btn.menu-respawn{color:#ffb08a;background:#ff5a2a24;border-color:#c24a22}#ui .panel .btn.menu-respawn:hover:not(:disabled){color:#fff;background:#ff5a2a4d;border-color:#ff5a2a}#ui .panel .btn.menu-home{color:#c4dcff;background:#5aa8ff1f;border-color:#3a6aa8}#ui .panel .btn.menu-home:hover:not(:disabled){color:#fff;background:#5aa8ff47;border-color:#5aa8ff}#ui .audio-settings{display:flex;flex-direction:column;gap:12px;width:520px;max-width:100%}#ui .audio-row{display:flex;align-items:center;gap:10px;font-size:var(--ui-text-md)}#ui .audio-row.master{padding-bottom:14px;border-bottom:1px solid var(--line)}#ui .audio-label{display:flex;flex-direction:column;flex:0 0 175px}#ui .audio-row input{flex:1;min-width:0;accent-color:var(--gold)}#ui .audio-value{flex:0 0 44px;text-align:right}#ui .audio-check{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:var(--ui-text-sm);accent-color:var(--gold)}#ui .menu-note{margin:12px 0 0;text-align:center}#ui .panel kbd{font:inherit;font-size:var(--ui-text-sm);padding:0 5px;color:var(--ink);background:#282018e6;border:1px solid var(--slot-edge);border-bottom-width:2px;white-space:nowrap}#ui .keys{display:grid;grid-template-columns:150px 1fr;gap:16px;min-height:300px}#ui .keys-tabs{display:flex;flex-direction:column;gap:4px;padding-right:12px;border-right:1px solid var(--line)}#ui .keys-tab{font:inherit;padding:7px 10px;text-align:left;color:var(--ink-soft);text-shadow:1px 1px 0 #000;background:none;border:1px solid transparent;cursor:pointer}#ui .keys-tab:hover{color:var(--ink);background:var(--slot)}#ui .keys-tab.on{color:var(--gold);background:var(--slot-hi);border-color:var(--slot-edge);border-left:2px solid var(--gold)}#ui .keys-head,#ui .keys-row{display:grid;grid-template-columns:1fr 120px 120px;gap:8px;align-items:center}#ui .keys-head{padding:0 6px 6px;font-size:var(--ui-text-sm);letter-spacing:normal;text-transform:none;color:var(--ink-soft);border-bottom:1px solid var(--line)}#ui .keys-row{padding:5px 6px;border-bottom:1px solid var(--parch-dark)}#ui .keys-row:hover{background:var(--parch-dark)}#ui .keys-row.fixed .keys-what{color:var(--ink-soft)}#ui .keys-fixed{grid-column:2 / 4;display:flex;align-items:center;gap:4px}#ui .keys-lock{display:inline-flex;margin-left:4px;color:var(--ink-soft);opacity:.6}#ui .key-bind{font:inherit;font-size:var(--ui-text-sm);height:26px;padding:0 6px;color:var(--ink);text-shadow:1px 1px 0 #000;background:#282018e6;border:1px solid var(--slot-edge);border-bottom-width:3px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#ui .key-bind:hover{border-color:var(--gold);color:var(--gold)}#ui .key-bind.empty{color:var(--ink-soft);background:var(--slot);border-style:dashed;border-bottom-width:1px}#ui .key-bind.listening{color:var(--gold);border-color:var(--gold);animation:key-listen .9s ease-in-out infinite}@keyframes key-listen{50%{background:#ffd24a2e}}#ui .keys-foot{display:flex;align-items:center;gap:8px;margin-top:14px;padding-top:10px;border-top:1px solid var(--line)}#ui .keys-note{flex:1;color:var(--ink-soft)}#ui .keys-note.ok{color:var(--ok)}#ui .keys-note.warn{color:var(--gold)}@media(max-width:640px){#ui .keys{grid-template-columns:1fr}#ui .keys-tabs{flex-direction:row;flex-wrap:wrap;padding:0 0 8px;border-right:none;border-bottom:1px solid var(--line)}#ui .keys-head,#ui .keys-row{grid-template-columns:1fr 90px 90px}}.devlog{display:flex;flex-direction:column;border-top:1px solid var(--line)}.devlog-item{display:flex;align-items:center;gap:12px;padding:12px 14px 12px 12px;background:none;border:0;border-left:3px solid transparent;border-bottom:1px solid var(--line);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.devlog-item:hover,.devlog-item:focus-visible{background:var(--slot-hi)}.devlog-item.latest{border-left-color:var(--gold)}.devlog-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.devlog-item .devlog-title{font-size:1.1em}.devlog-item.latest .devlog-title{color:var(--gold)}.devlog-item-info{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;font-size:.9em;color:var(--ink-soft)}.devlog-item-go{font-size:1.6em;color:var(--ink-soft)}.devlog-item:hover .devlog-item-go{color:var(--gold)}.devlog-new{padding:0 4px;background:var(--gold);color:var(--slot);font-size:.85em}.devlog-title{font-weight:700}.devlog-teaser{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--ink-soft);line-height:1.4}.devlog-back{padding:4px 10px;background:var(--slot);border:1px solid var(--slot-edge);color:var(--ink);font:inherit;cursor:pointer}.devlog-back:hover{background:var(--slot-hi)}.devlog-read-head{display:flex;flex-direction:column;gap:6px;margin:14px 22px 0;padding-bottom:14px;border-bottom:1px solid var(--line)}.devlog-read-head .devlog-title{font-size:1.7em;line-height:1.25;color:var(--gold)}.devlog-meta{color:var(--ink-soft);white-space:nowrap}.devlog-version{color:var(--gold)}.devlog-body{padding:8px 22px 16px;font-size:var(--ui-text-md);line-height:1.65}#ui .panel .devlog-body p{margin:0 0 14px;color:var(--ink)}#ui .panel .devlog-body p.lead{font-size:1.15em;font-weight:700;color:var(--gold);padding-bottom:14px;border-bottom:1px solid var(--line)}.devlog-body strong{color:var(--gold)}#ui .panel .devlog-body .devlog-h{margin:30px 0 10px;font-size:1.3em;color:var(--gold)}#ui .panel .devlog-body>:first-child{margin-top:6px}#ui .panel .devlog-body .devlog-h2{margin:20px 0 4px;font-size:1.1em;color:var(--ink)}#ui .panel .devlog-body .devlog-list{margin:-4px 0 14px;padding-left:1.5em;color:var(--ink)}#ui .panel .devlog-body .devlog-list li{margin:2px 0}#ui .panel .devlog-body .devlog-list li+li{margin-top:3px}#ui .panel .devlog-body .devlog-link-wrap{white-space:nowrap}#ui .panel .devlog-body .devlog-link{color:var(--gold);text-decoration:underline dotted;text-decoration-color:color-mix(in srgb,var(--gold) 40%,transparent);text-underline-offset:3px;cursor:pointer}#ui .panel .devlog-body .devlog-link:hover,#ui .panel .devlog-body .devlog-link:focus-visible{color:var(--ui-gold-hover);text-decoration-style:solid}.devlog-sign{margin-top:4px;text-align:right;font-style:italic;color:var(--ink-soft)}.devlog-count{color:var(--ink)}.devlog-comments{margin:8px 22px 16px;padding-top:12px;border-top:1px solid var(--line)}.dc-top{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-bottom:8px}.dc-title{flex:1;font-weight:700;color:var(--gold)}.dc-sort{display:flex;gap:4px}.dc-box{display:flex;flex-direction:column;gap:8px;margin:8px 0 12px}.dc-text{width:100%;box-sizing:border-box;min-height:64px;padding:8px;resize:vertical;background:#0a081099;border:1px solid var(--slot-edge);color:var(--ink);font:inherit}.dc-text:focus{outline:none;border-color:var(--gold)}.dc-box-foot{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.dc-count{margin-right:auto;font-size:.85em;color:var(--ink-soft)}.dc-count.over,.dc-error{color:#ff9a4a}.dc-note{margin:8px 0 12px;color:var(--ink-soft);font-style:italic}.dc-login{color:var(--gold);font-style:normal}.dc-item{margin-top:12px}.dc-head{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;font-size:.9em}.dc-toggle{padding:0;background:none;border:none;color:var(--ink-soft);font:inherit;cursor:pointer}.dc-toggle:hover{color:var(--gold)}.dc-author{font-weight:700;color:var(--ink)}.dc-author.gone,.dc-body.gone{font-style:italic;font-weight:400;color:var(--ink-soft)}.dc-you{padding:0 4px;border:1px solid var(--gold);color:var(--gold);font-size:.8em}.dc-time{color:var(--ink-soft)}.dc-main{padding-left:28px}.dc-body{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink)}.dc-actions{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center}.dc-vote{display:inline-flex;align-items:center;gap:2px}.dc-arrow,.dc-act{min-height:32px;background:none;border:none;color:var(--ink-soft);font:inherit;cursor:pointer;transition:color .12s}.dc-arrow{min-width:28px;padding:0 4px}.dc-act{padding:0 2px;font-size:.85em;font-weight:700}.dc-arrow:disabled{opacity:.4;cursor:default}.dc-arrow:hover:not(:disabled),.dc-act:hover,.dc-arrow.up.on{color:var(--gold)}.dc-arrow.down.on{color:#8fb4ff}.dc-act.dc-remove:hover{color:#ff9a4a}.dc-score{min-width:2ch;text-align:center;font-size:.9em;font-weight:700;color:var(--ink)}.dc-kids{display:flex}.dc-thread-line{flex:0 0 20px;padding:0;background:none;border:none;cursor:pointer;position:relative}.dc-thread-line:before{content:"";position:absolute;top:4px;bottom:0;left:8px;width:2px;background:var(--line);transition:background .12s}.dc-thread-line:hover:before{background:var(--gold)}.dc-kids-list{flex:1;min-width:0}@media(prefers-reduced-motion:reduce){.dc-arrow,.dc-act,.dc-thread-line:before{transition:none}}html.touch .dc-arrow,html.touch .dc-act{min-height:44px}html.touch .dc-arrow{min-width:44px}html.touch .devlog-comments{margin:8px 8px 16px}html.touch .dc-main{padding-left:8px}html.touch .dc-thread-line{flex-basis:8px}html.touch .dc-thread-line:before{left:2px}#ui .prompt.king{display:flex;flex-direction:column;align-items:center;gap:10px;padding:0;background:none;border:none;animation:none}.king-bubble{position:relative;padding:4px 10px;white-space:nowrap;text-align:center;font-style:italic;color:var(--ink);background:#0a0810cc;border:2px solid #ffffff}.king-bubble:after{content:"";position:absolute;left:50%;bottom:-8px;transform:translate(-50%);border:6px solid transparent;border-top:6px solid #ffffff;border-bottom:0}.prompt.king .prompt-key{padding:4px 10px;background:#0a0810cc;border:2px solid #ffd24a;animation:blink .8s steps(2) infinite alternate}#ui .profile{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start}#ui .profile-preview{position:sticky;top:0;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 20px 12px;background:var(--slot);border:1px solid var(--slot-edge)}#ui .profile-preview-text{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}#ui .profile-preview-name{font-size:var(--ui-text-lg);overflow-wrap:anywhere}#ui .profile-dirty{margin-top:4px;padding:1px 6px;color:var(--gold);border:1px solid var(--gold)}#ui .profile-fields{display:flex;flex-direction:column;gap:6px;min-width:0}#ui .profile-label{margin-top:12px;color:var(--gold);font-size:var(--ui-text-sm);font-weight:700;text-transform:none;letter-spacing:normal}#ui .profile-label:first-child{margin-top:0}#ui .profile-input{font:inherit;font-size:var(--ui-text-lg);font-weight:700;color:var(--ink);background:var(--slot);border:1px solid var(--gold);padding:6px 10px}#ui .profile-input[aria-invalid=true]{border-color:var(--accent)}#ui .profile-hint{display:flex;justify-content:space-between;gap:8px}#ui .profile-count{flex:none;font-variant-numeric:tabular-nums}#ui .profile .error-text{color:var(--accent)}#ui .profile-sub{grid-column:1 / -1;margin-top:4px;color:var(--gold);font-size:var(--ui-text-xs, 11px);font-weight:700}#ui .profile-sub.locked{opacity:.7}#ui .profile-check{display:flex;align-items:center;gap:8px;margin-top:6px;cursor:pointer}#ui .profile-check input{accent-color:var(--gold);width:16px;height:16px;margin:0}#ui .profile-actions{position:sticky;bottom:-2px;z-index:1;display:flex;justify-content:flex-end;gap:8px;margin-top:12px;padding:10px 0 2px;background:var(--ui-surface, var(--parch));border-top:1px solid var(--line)}#ui .profile-undo{margin-right:auto}#ui .char-swatches{display:grid;grid-template-columns:repeat(10,1fr);gap:5px}#ui .char-swatch{width:100%;min-width:22px;aspect-ratio:1;padding:0;border:2px solid #171424;box-shadow:0 0 0 1px var(--slot-edge);cursor:pointer}#ui .char-swatch.on{box-shadow:0 0 0 2px var(--gold)}#ui .char-swatch:focus-visible,#ui .char-outfit:focus-visible{outline:2px solid var(--ink);outline-offset:2px}#ui .char-swatch.locked{filter:grayscale(.6) brightness(.55);cursor:not-allowed}#ui .char-outfits{display:flex;flex-wrap:wrap;gap:6px}#ui .char-outfit{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:72px;padding:4px 6px;background:var(--slot);border:2px solid #171424;box-shadow:0 0 0 1px var(--slot-edge);color:var(--ink);cursor:pointer}#ui .char-outfit.on{box-shadow:0 0 0 2px var(--gold)}#ui .char-outfit-role{position:absolute;top:2px;right:4px;font-size:11px;line-height:1}#ui .char-outfit.locked{filter:grayscale(.6) brightness(.55);cursor:not-allowed}#ui .menu-leave{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}#ui .hurt-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 55%,rgba(200,30,40,.45) 100%);opacity:0;animation:hurt-vignette .45s ease-out}@keyframes hurt-vignette{0%{opacity:1}}#ui .toast-cursor.toast-error{animation:toast-cursor 2s steps(6) both,toast-nope .26s ease-out}@keyframes toast-nope{25%{translate:-5px 0}50%{translate:4px 0}75%{translate:-2px 0}}@media(prefers-reduced-motion:reduce){#ui .toast-cursor.toast-error{animation:toast-cursor 2s steps(6) both}}#ui .fly-to-bag{position:fixed;width:32px;height:32px;image-rendering:pixelated;pointer-events:none;z-index:50;filter:drop-shadow(0 0 4px rgba(255,210,74,.8))}.dc-body>:first-child{margin-top:0}.dc-body>:last-child{margin-bottom:0}.dc-body p,.dc-body ul,.dc-body ol,.dc-body pre,.dc-body blockquote{margin:0 0 6px}.dc-body ul,.dc-body ol{padding-left:20px;white-space:normal}.dc-body li{white-space:pre-wrap}.dc-body .dc-h{font-weight:700;color:var(--gold)}.dc-body .dc-h1{font-size:1.25em}.dc-body .dc-h2{font-size:1.1em}.dc-body blockquote{padding-left:8px;border-left:3px solid var(--ink-soft);color:var(--ink-soft)}.dc-body code,.dc-body pre{font-family:ui-monospace,monospace;font-size:.9em;background:#00000059}.dc-body code{padding:0 3px}.dc-body pre{padding:6px 8px;overflow-x:auto;white-space:pre}.dc-body hr{border:0;border-top:1px solid var(--ink-soft);margin:8px 0}.dc-img{display:block;max-width:min(100%,320px);max-height:200px;margin:4px 0;object-fit:contain;cursor:zoom-in}.dc-img.big{max-width:100%;max-height:70vh;cursor:zoom-out}.dc-img-broken{font-style:italic;color:var(--ink-soft)}.dc-spoiler{background:var(--ink-soft);color:transparent;cursor:pointer;border-radius:2px}.dc-spoiler img{visibility:hidden}.dc-spoiler.open{background:#00000040;color:inherit;cursor:auto}.dc-spoiler.open img{visibility:visible}.dc-preview{min-height:3.6em;padding:6px 8px;border:1px dashed var(--ink-soft)}.dc-md-hint{padding:0;border:0;background:none;font:inherit;font-size:.85em;color:var(--ink-soft);text-decoration:underline dotted;cursor:pointer}.dc-md-hint.on{color:var(--gold)}.dc-md-help{margin:0;padding:6px 8px;font-size:.85em;white-space:pre-wrap;color:var(--ink-soft);background:#00000040}#ui .minigame{position:absolute;inset:0;z-index:20;pointer-events:none}#ui:has(.minigame) .area-title{display:none}#ui .minigame-veil{position:absolute;inset:0;background:radial-gradient(ellipse 70% 75% at 50% 62%,#0000 35%,#0000008c)}#ui .minigame-card{position:absolute;left:50%;top:max(16px,calc(46% - 210px));width:min(560px,calc(100vw - 32px));display:flex;flex-direction:column;gap:6px;padding:8px 10px 10px;color:var(--ink);text-shadow:1px 1px 0 #000;background:var(--parch);border:2px solid var(--frame);box-shadow:0 6px #00000059;pointer-events:auto;touch-action:none;user-select:none;cursor:pointer}#ui .minigame-head{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;min-width:0}#ui .minigame-head>:first-child{grid-row:span 2}#ui .minigame-title{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#ui .minigame-keys{font-size:12px;color:var(--ink-soft)}#ui .minigame-scene{position:relative;aspect-ratio:16 / 9;background:#1b1714;border:1px solid var(--slot-edge);overflow:hidden}#ui .minigame-scene>svg{position:absolute;inset:0;width:100%;height:100%;display:block}#ui .minigame-fx{pointer-events:none}#ui .minigame .px{image-rendering:pixelated}#ui .minigame-pop{position:absolute;transform:translate(-50%,-150%);font-size:18px;font-weight:700;white-space:nowrap;pointer-events:none;animation:minigame-pop .6s ease-out forwards}#ui .minigame-pop.perfect{color:var(--gold);text-shadow:2px 2px 0 var(--frame-dark)}#ui .minigame-pop.good{color:var(--ok);text-shadow:2px 2px 0 var(--frame-dark)}#ui .minigame-pop.miss{color:var(--accent)}@keyframes minigame-pop{0%{transform:translate(-50%,-150%) scale(1.5);opacity:1}25%{transform:translate(-50%,-150%) scale(1)}to{transform:translate(-50%,-260%) scale(1);opacity:0}}#ui .minigame-side{position:absolute;top:50%;width:56px;height:64px;margin-top:-32px;font-size:22px;color:var(--ink);background:#00000073;border:2px solid var(--frame);cursor:pointer}#ui .minigame-side.left{left:4px}#ui .minigame-side.right{right:4px}#ui .minigame-side:active{background:#ffd24a59}#ui .minigame-foot{display:flex;align-items:center;gap:10px}#ui .minigame-seq{display:flex;gap:4px}#ui .minigame-seq i{width:10px;height:10px;background:var(--slot-edge);border:1px solid var(--frame-dark)}#ui .minigame-seq i.now{background:var(--ink)}#ui .minigame-seq i.perfect{background:var(--gold)}#ui .minigame-seq i.good{background:var(--ok)}#ui .minigame-seq i.miss{background:var(--accent);opacity:.5}#ui .minigame-flawless{font-size:12px;color:var(--gold)}#ui .minigame-progress{flex:1;height:8px;background:var(--slot-edge)}#ui .minigame-progress i{display:block;height:100%;background:var(--ok)}#ui .minigame-pct{font-size:12px;color:var(--ink-soft);min-width:34px;text-align:right}html.touch #ui .minigame-card{top:max(8px,var(--safe-t, 0px));width:auto;gap:4px;padding:6px 8px 8px}html.touch #ui .minigame-scene{height:min(170px,44vh);width:calc(min(170px,44vh) * 16 / 9)}html.touch #ui .minigame-keys{display:none}@media(prefers-reduced-motion:reduce){#ui .minigame-pop{animation:none}}#ui .minigame .scene{shape-rendering:crispEdges}#ui .minigame .scene circle,#ui .minigame .scene ellipse,#ui .minigame .scene path{shape-rendering:geometricPrecision}#ui .minigame .floor{fill:#2a221c}#ui .minigame .cave{fill:#1e1a17}#ui .minigame .table{fill:#4a3424}#ui .minigame .wood{fill:#7a5232}#ui .minigame .iron{fill:#4a4f57}#ui .minigame .iron.dark{fill:#3a3e45}#ui .minigame .iron-edge{fill:#6b717a}#ui .minigame .stone{fill:#5b5650}#ui .minigame .stone.dark{fill:#46423d}#ui .minigame .stone-line{fill:#4a4641}#ui .minigame .handle{stroke:#8a6a44;stroke-width:5;stroke-linecap:round}#ui .minigame .scale{font-size:9px;fill:var(--ink-soft);text-shadow:none}#ui .minigame .glass{fill:#c8dceb1f;stroke:#dcebf599;stroke-width:2}#ui .minigame .ring{fill:none;stroke:var(--ink);stroke-width:2;opacity:.8}#ui .minigame .ring.hot{stroke:var(--gold);stroke-width:3;opacity:1}#ui .minigame .hammer-head{fill:#8c939c;stroke:#3a3e45;stroke-width:2}#ui .minigame .board-top{fill:#c99a62}#ui .minigame .board-front{fill:#a8783f;stroke:#6f4822;stroke-width:2}#ui .minigame .pencil{stroke:#2a2420;stroke-width:1.5;stroke-dasharray:2 2}#ui .minigame .kerf{fill:#2a1d10}#ui .minigame .trestle{stroke:#6f4822;stroke-width:5;stroke-linecap:round}#ui .minigame .trestle-top{fill:#7a5232}#ui .minigame .saw-blade{fill:#b8bec6;stroke:#6b717a;stroke-width:1.5}#ui .minigame .saw-teeth{fill:none;stroke:#6b717a;stroke-width:1.5}#ui .minigame .saw-grip{fill:#8a4b2a;stroke:#4a2814;stroke-width:2}#ui .minigame .saw-hole{fill:#1e1a17}#ui .minigame .stroke-track{stroke:#ffffff1f;stroke-width:2;stroke-dasharray:2 4}#ui .minigame .stroke-mark{fill:none;stroke:#ffffff1f;stroke-width:2;stroke-dasharray:3 3}#ui .minigame .stroke-mark.next{stroke:#ffd24a73}#ui .minigame .stroke-mark.hot{fill:#ffd24a33;stroke:var(--gold);stroke-width:3;stroke-dasharray:none}#ui .minigame .sawdust{fill:#d9b47a}#ui .minigame .dust{fill:#e0c08a}#ui .minigame .mouth{fill:#120c09}#ui .minigame .coal{fill:#2b1d16}#ui .minigame .smoke{fill:#96969659}#ui .minigame .puff{fill:#ffffffb3}#ui .minigame .bellows-leather{fill:#6b3f26}#ui .minigame .bellows-pleat{fill:none;stroke:#4a2a18;stroke-width:1.5}#ui .minigame .bellows-board{stroke:#9a6a3c;stroke-width:5;stroke-linecap:round}#ui .minigame .band.good{fill:#ffd24a40}#ui .minigame .band.perfect{fill:#ffd24a99}#ui .minigame .mercury{fill:#d9452b}#ui .minigame .mercury.cold{fill:#5b8fd9}#ui .minigame .bulb{fill:#d9452b;stroke:#dcebf599;stroke-width:2}#ui .minigame .bulb.cold{fill:#5b8fd9}#ui .minigame .line{stroke:var(--gold);stroke-width:2}#ui .minigame .pot-glow{fill:#f08a242e}#ui .minigame .pot{fill:#34343a;stroke:#1c1c20;stroke-width:3}#ui .minigame .broth{fill:#8a5a2b}#ui .minigame.mode-stir .broth{fill:#7b4f27}#ui .minigame .bubble{fill:#f0c8968c}#ui .minigame .stir-path{fill:none;stroke:#ffe6be2e;stroke-width:6;stroke-dasharray:2 6}#ui .minigame .rim{fill:none;stroke:transparent;stroke-width:8;stroke-linecap:round}#ui .minigame .rim.next{stroke:#ffd24a59}#ui .minigame .rim.hot{stroke:var(--gold)}#ui .minigame .spoon{stroke:#c9a46a;stroke-width:5;stroke-linecap:round}#ui .minigame .spoon-bowl{fill:#c9a46a;stroke:#8a6a44;stroke-width:2}#ui .minigame .drip{fill:#c98a3e}#ui .minigame .drip.bad{fill:var(--accent)}#ui .minigame .pipe{fill:none;stroke:#b0703c;stroke-width:7}#ui .minigame .spout{fill:#b0703c}#ui .minigame .outline{fill:none;stroke-width:2;stroke-dasharray:4 3}#ui .minigame .drop{stroke:#fff6;stroke-width:1}#ui .minigame .ripple{fill:none;stroke:#ffffffb3;stroke-width:1.5}#ui .minigame .label{fill:#e8dcc0;stroke:#8a6a44;stroke-width:1.5}#ui .minigame.mode-drop .scale{fill:#4a3424}#ui .minigame .swatch{stroke:var(--frame-dark);stroke-width:1.5}#ui .minigame .grain{fill:#e0b85a}#ui .minigame .millstone{fill:#7d776e;stroke:#4f4a44;stroke-width:3}#ui .minigame .groove{stroke:#5f5a53;stroke-width:2}#ui .minigame .crank-arm{stroke:#8a6a44;stroke-width:6;stroke-linecap:round}#ui .minigame .crank-knob{fill:#c9a46a;stroke:#6b4a2b;stroke-width:2}#ui .minigame .mark{fill:var(--gold)}#ui .minigame .lamp{fill:#3a3530;stroke:#1c1a18;stroke-width:1}#ui .minigame .lamp.perfect{fill:var(--gold)}#ui .minigame .lamp.good{fill:var(--ok)}#ui .minigame .lamp.miss{fill:var(--accent);opacity:.5}#ui .minigame .flour{fill:#f4ecd8;stroke:#d9c79c;stroke-width:1.5}#ui .minigame .rock-edge{fill:#3e3a35}#ui .minigame .rock{fill:#6b655d}#ui .minigame .speck{fill:#5d574f}#ui .minigame .speck.light{fill:#7d776e}#ui .minigame .crack{fill:none;stroke:#1c1a18;stroke-width:3;stroke-linejoin:round}#ui .minigame .crack.old{stroke-width:2;opacity:.6}#ui .minigame .crack.open{stroke-width:5}#ui .minigame .crack.target.hot{stroke:#2a1d10}#ui .minigame .weak{fill:#ffd24a1f;stroke:#ffd24a66;stroke-width:1}#ui .minigame .weak.hot{fill:#ffd24a59;stroke:var(--gold);stroke-width:2}#ui .minigame .tip{fill:#fff4c0;stroke:#000;stroke-width:1}#ui .minigame .boulder{stroke:#2e2a26;stroke-width:2}#ui .minigame .boulder.ready{stroke:var(--gold);stroke-width:3}#ui .minigame .boulder.flying{fill:#6b655d}#ui .minigame .ally-sleeve{fill:#3f6a8f;stroke:#263f55;stroke-width:2}#ui .minigame .ally-hand{fill:#d9a77a;stroke:#8a5a3a;stroke-width:1}#ui .minigame .hourglass{fill:#ffe6be59;stroke:var(--ink-soft);stroke-width:1.5}#ui .minigame .clock-face{fill:#0006;stroke:#ffffff26;stroke-width:4}#ui .minigame .clock{fill:none;stroke:var(--ok);stroke-width:4}#ui .minigame .clock.late{stroke:var(--accent)}#ui .minigame .post{fill:#6f4822;stroke:#4a2e14;stroke-width:2}#ui .minigame .plank{fill:#c99a62;stroke:#8a5a2b;stroke-width:2}#ui .minigame .grain-line{stroke:#a8783f;stroke-width:1.5}#ui .minigame .nail{stroke:#9aa1aa;stroke-width:2.5;stroke-linecap:round}#ui .minigame .nail-head{fill:#d0d5db;stroke:#6b717a;stroke-width:1}#ui .minigame .nail-sunk{fill:#b8bec6;stroke:#6b717a;stroke-width:1.5}#ui .minigame .nail-bent{fill:none;stroke:#7d838c;stroke-width:2.5;stroke-linecap:round}#ui{--hud-bottom: 84px;--hot-pitch: 46px;--hot-extra: 48px}#ui .hud-bottom{position:absolute;left:50%;bottom:var(--hud-bottom);transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;max-width:calc(100vw - 32px)}#ui .hud-context{display:flex;flex-direction:column;align-items:center;gap:4px}#ui .hud-context>:is(.hint,.prompt,.structure-label,.ally-hint){position:static;transform:none}#ui .hud-context>.hint{max-width:520px;padding:0;text-align:center;font-size:var(--ui-text-sm);color:var(--ui-ink);background:none;border:0;text-shadow:1px 1px 0 var(--ui-canvas),-1px 0 0 var(--ui-canvas),0 -1px 0 var(--ui-canvas)}#ui .player-vitals{box-sizing:border-box;width:max(280px,calc(var(--hot-n, 6) * var(--hot-pitch) + var(--hot-extra)));max-width:100%;display:flex;flex-direction:column;gap:4px;font-size:var(--ui-text-sm);font-variant-numeric:tabular-nums;text-shadow:1px 1px 0 var(--ui-canvas)}#ui :is(.status-main,.status-extra){display:flex;align-items:center;justify-content:space-between;gap:12px}#ui .status-main{min-height:16px}#ui .status-main>*{flex:1 1 0;min-width:0}#ui .status-main>.depth-chip{flex:none}#ui .player-health{display:flex;align-items:center;gap:6px;pointer-events:auto}#ui .health-track{box-sizing:border-box;width:88px;height:8px;padding:1px;background:var(--ui-canvas);border:1px solid var(--ui-border)}#ui .health-fill{display:block;height:100%;background:var(--ui-health);transition:width var(--ui-motion) linear}#ui .health-value{color:var(--ui-ink);font-weight:700}#ui .player-health.low .health-track{border-color:var(--ui-danger)}#ui .player-health.low .health-fill{background:var(--ui-danger)}#ui .player-health.low .health-value{color:var(--ui-danger)}#ui .depth-chip{display:flex;align-items:center;gap:4px;color:var(--ui-muted);pointer-events:auto}#ui .player-resources{display:flex;justify-content:flex-end}#ui .player-wallet{display:flex;align-items:center;gap:4px;pointer-events:auto}#ui .player-wallet b{font-size:var(--ui-text-md);color:var(--ui-gold)}#ui .player-wallet{position:relative}#ui .wallet-delta{position:absolute;left:100%;margin-left:6px;font-size:var(--ui-text-sm);font-weight:700;color:var(--ui-gold);white-space:nowrap;pointer-events:none;text-shadow:0 1px 0 #000;animation:wallet-delta .9s ease-out both}#ui .wallet-delta.spent{color:#e07a6a}@keyframes wallet-delta{0%{opacity:0;transform:translateY(4px) scale(.8)}15%{opacity:1;transform:translateY(0) scale(1.15)}30%{transform:translateY(-2px) scale(1)}to{opacity:0;transform:translateY(-14px)}}#ui :is(.player-buffs,.player-load){display:flex;align-items:center;gap:10px}#ui .player-load{margin-left:auto}#ui .player-buffs>div{display:flex;align-items:center;gap:4px;color:var(--ui-success);pointer-events:auto}#ui .player-buffs>.forge-badge{padding:0;background:none;border:0;color:var(--ui-gold)}#ui .player-buffs{gap:6px;flex-wrap:wrap}#ui .player-buffs>.buff-chip{position:relative;justify-content:center;width:22px;height:22px;margin-right:3px;background:var(--ui-overlay);border-radius:2px 0 0 2px}#ui .buff-chip .buff-bar{position:absolute;top:0;bottom:0;left:100%;width:3px;background:linear-gradient(to top,var(--buff-color) calc(var(--frac) * 100%),var(--ui-overlay) 0);border-radius:0 2px 2px 0}#ui .buff-chip.food{--buff-color: var(--ui-success)}#ui .buff-chip.potion{--buff-color: #7cc4f0}#ui .player-buffs>.buff-chip.debuff{--buff-color: var(--ui-danger);background:color-mix(in srgb,var(--ui-danger) 30%,var(--ui-overlay));box-shadow:inset 0 0 0 1px var(--ui-danger)}#ui .player-buffs .px-icon{width:16px;height:16px}#ui .player-buffs .small{font-size:var(--ui-text-sm)}#ui .carried-ores{display:flex;align-items:center;gap:10px}#ui .carried-ores .ore-row{font-size:var(--ui-text-sm);color:var(--ui-ink);pointer-events:auto}#ui .load-warning{display:flex;align-items:center;gap:4px;min-height:var(--ui-control);margin-block:-8px;padding:0 4px;font-weight:700;color:var(--ui-gold);text-shadow:inherit;background:transparent;border:0;border-radius:0;pointer-events:auto}#ui .load-warning:hover{background:var(--ui-overlay);color:var(--ui-gold)}#ui .load-warning.full,#ui .load-warning.full:hover{color:var(--ui-danger)}#ui .hud-aside{position:absolute;top:16px;right:16px;display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:calc(100vw - 32px)}#ui .quest-tracker{display:flex;flex-direction:column;align-items:flex-end;gap:2px;max-width:240px;font-size:var(--ui-text-sm);font-variant-numeric:tabular-nums;text-shadow:1px 1px 0 var(--ui-canvas);pointer-events:auto}#ui :is(.quest-heading,.presence-chip){display:flex;align-items:center;gap:6px;min-height:24px;padding:0 4px;color:var(--ui-ink);text-shadow:inherit;background:transparent;border:0;border-radius:0}#ui .quest-heading{font-weight:700;text-align:right}#ui .quest-heading .glyph{color:var(--ui-gold);flex:none}#ui .quest-heading span{overflow-wrap:anywhere}#ui :is(.quest-heading,.presence-chip):hover{background:var(--ui-overlay);color:var(--ui-ink)}#ui .quest-body{display:flex;align-items:center;gap:8px;padding:0 4px}#ui .quest-body[hidden]{display:none}#ui .quest-progress{box-sizing:border-box;width:96px;height:6px;padding:1px;background:var(--ui-canvas);border:1px solid var(--ui-border)}#ui .quest-progress>span{display:block;height:100%;background:var(--ui-gold);transition:width var(--ui-motion) linear}#ui .quest-next{color:var(--ui-gold)}#ui .quest-tracker.ready .quest-progress>span{background:var(--ui-success)}#ui .quest-tracker.ready :is(.quest-heading .glyph,.quest-next){color:var(--ui-success)}#ui .presence-chip{color:var(--ui-muted);text-shadow:1px 1px 0 var(--ui-canvas);pointer-events:auto}#ui .hud-feed{position:absolute;top:16px;left:16px;z-index:80;display:flex;flex-direction:column;align-items:flex-start;gap:4px;max-width:min(300px,calc(100vw - 32px))}#ui .hud-feed>:is(.previous,.section-line){position:static;max-width:100%;box-sizing:border-box}#ui .hud-feed>.toast{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 6px;padding:2px 8px;background:var(--ui-overlay);border:0;border-left:2px solid var(--tc);box-shadow:none;animation:feed-toast 3.2s ease-out both}#ui .hud-feed>.toast:before{display:none}#ui .hud-feed .toast-title{font-size:var(--ui-text-sm)}#ui .hud-feed .toast-detail{font-size:var(--ui-text-sm);color:var(--ui-muted)}@keyframes feed-toast{0%{transform:translate(-8px);opacity:0}4%{transform:none;opacity:1}88%{opacity:1}to{opacity:0}}#ui .hud-alerts{position:absolute;top:12px;left:50%;z-index:80;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;max-width:calc(100vw - 32px)}#ui .hud-alerts>:is(.awakening,.danger,.combo,.net-banner,.area-title){position:static;transform:none}#ui .hud-alerts>.awakening{max-width:100%;box-sizing:border-box;white-space:normal;text-align:center}#ui .hud-alerts>.toast{padding:4px 10px 4px 6px}#ui .hud-alerts .toast-title{font-size:var(--ui-text-md)}#ui .hud-alerts>.toast:has(.toast-detail):before{min-width:24px;height:24px;font-size:var(--ui-text-lg);line-height:24px}#ui .area-title{display:flex;flex-direction:column;align-items:center;gap:2px;padding:2px 12px;font-size:var(--ui-text-lg);letter-spacing:1px;color:var(--ui-ink);text-shadow:1px 1px 0 var(--ui-canvas),-1px 0 0 var(--ui-canvas),0 -1px 0 var(--ui-canvas);animation:area-title 3s linear both}#ui .depth-record{animation-duration:2.6s}#ui .depth-record>span:last-child{color:var(--ui-gold);font-size:calc(var(--ui-text-lg) * 1.4);animation:depth-record-pop .4s cubic-bezier(.3,1.6,.5,1) both}#ui .depth-record .small{font-size:var(--ui-text-sm);letter-spacing:2px;text-transform:uppercase;color:var(--ui-muted)}@keyframes depth-record-pop{0%{transform:scale(.4)}}#ui .area-title .world-pocket{font-size:var(--ui-text-sm);letter-spacing:0;color:var(--ui-success)}@keyframes area-title{0%{opacity:0}5%{opacity:1}90%{opacity:1}to{opacity:0}}#ui .hud-performance{color:var(--ui-muted);font-size:var(--ui-text-sm);opacity:.65;text-shadow:1px 1px 0 var(--ui-canvas)}#ui .menu-respawn{margin-top:8px}#ui .menu-respawn-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:16px}html.touch #ui{--hud-bottom: calc(56px + var(--safe-b));--hot-pitch: 47px;--hot-extra: 50px}html.touch #ui .hud-context>.hint{max-width:340px}html.touch #ui .load-warning{min-height:var(--ui-touch-target);margin-block:-14px}html.touch #ui .hud-feed{top:calc(8px + var(--safe-t));left:calc(10px + var(--safe-l));max-width:170px}html.touch #ui .hud-alerts{top:calc(56px + var(--safe-t));gap:4px;max-width:min(480px,calc(100vw - 32px))}html.touch #ui .hud-alerts>.awakening{padding:2px 8px;font-size:var(--ui-text-sm)}html.touch #ui .area-title{font-size:var(--ui-text-md)}html.touch #ui .hud-alerts .combo-mult{font-size:24px}html.touch #ui .hud-performance{display:none}html.touch #ui .hud-aside{top:calc(64px + var(--safe-t));right:calc(12px + var(--safe-r))}html.touch #ui .quest-heading{min-height:var(--ui-touch-target)}html.touch.panel-open #ui :is(.hud-bottom,.hud-aside){display:none}@media(prefers-reduced-motion:reduce){#ui :is(.health-fill,.quest-progress>span){transition:none}#ui :is(.area-title,.hud-feed>.toast){animation-timing-function:step-end}}#splash.menu .splash-bar,#splash.menu .splash-status{display:none}.start{margin-top:var(--ui-space-4);width:min(360px,calc(100vw - 32px))}.start-card{display:flex;flex-direction:column;align-items:stretch;gap:var(--ui-space-3);animation:start-in var(--ui-motion) ease-out}.start-title{text-align:center;font-size:var(--ui-text-title);font-weight:700;color:var(--ui-ink)}.start-title.warn,.start-note.warn,.start-hint.bad{color:var(--ui-danger)}.start-text{margin:0;text-align:center;line-height:1.5;color:var(--ui-muted)}.start-text b,.start-note b{color:var(--ui-ink)}.ui-button.start-btn{min-height:var(--ui-touch-target);padding:var(--ui-space-2) var(--ui-space-4);font-size:var(--ui-text-md)}.start-continue{display:flex;align-items:center;justify-content:center;gap:var(--ui-space-3)}.start-continue span{display:flex;flex-direction:column;align-items:flex-start}.start-continue small{font-size:var(--ui-text-sm);font-weight:400;color:inherit}.start-goblin{image-rendering:pixelated;flex:none}.start-create{display:flex;align-items:center;gap:var(--ui-space-4)}.start-create>.start-goblin{padding:var(--ui-space-2);background:var(--ui-surface);border:1px solid var(--ui-line)}.start-fields{display:flex;flex-direction:column;gap:var(--ui-space-1);flex:1;min-width:0}.start-label{font-size:var(--ui-text-sm);color:var(--ui-muted)}.start-input{box-sizing:border-box;min-height:var(--ui-touch-target);min-width:0;width:100%;padding:var(--ui-space-2);font:inherit;font-size:var(--ui-text-md);color:var(--ui-ink);background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius)}.start-input:focus-visible{outline:2px solid var(--ui-gold);outline-offset:2px}.start-hint{min-height:1.4em;font-size:var(--ui-text-sm);color:var(--ui-muted)}.start-swatches{display:grid;grid-template-columns:repeat(10,1fr);gap:var(--ui-space-1)}.start-swatch{width:100%;aspect-ratio:1;padding:0;border:1px solid var(--ui-border);cursor:pointer}.start-swatch.on{outline:2px solid var(--ui-gold);outline-offset:1px}.start-swatch:focus-visible{outline:2px dashed var(--ui-gold);outline-offset:2px}.start-note{margin:0;text-align:center;font-size:var(--ui-text-sm);line-height:1.5;color:var(--ui-muted)}.start-leave{display:flex;flex-direction:column;gap:var(--ui-space-3);margin-top:var(--ui-space-4);padding-top:var(--ui-space-4);border-top:1px solid var(--ui-line)}@keyframes start-in{0%{opacity:0;transform:translateY(4px)}}@media(max-width:420px){.start-create{flex-direction:column}}html.touch .start-swatches{grid-template-columns:repeat(5,1fr)}html.touch .start-swatch{min-height:var(--ui-touch-target);aspect-ratio:auto}@media(max-height:500px){#splash.menu{overflow-y:auto;align-items:flex-start}#splash.menu .splash-box{padding:16px;margin:auto}#splash.menu .splash-title{font-size:56px}#splash.menu .start{margin-top:0;width:min(480px,calc(100vw - 48px))}#splash.menu .start-create{align-items:center}#splash.menu:has(.start-create) .splash-title{display:none}#splash.menu:has(.start-create) .splash-box{padding:12px;gap:8px}#splash.menu:has(.start-create) .start-card{gap:8px}}@media(prefers-reduced-motion:reduce){.start-card{animation:none}}html,body{margin:0;height:100%;overflow:hidden;background:#000}#app{position:fixed;inset:0;overflow:hidden}#game{display:block;image-rendering:pixelated;image-rendering:crisp-edges}.nameplates{position:absolute;inset:0;pointer-events:none}.nameplate{position:absolute;left:0;top:0;white-space:nowrap;font:700 12px/1 ui-monospace,Cascadia Mono,Menlo,monospace;color:#f4ead2;text-shadow:1px 0 0 #000,-1px 0 0 #000,0 1px 0 #000,0 -1px 0 #000,1px 1px 0 #000}.nameplate.self{color:#ffd24a;text-shadow:1px 0 0 #000,-1px 0 0 #000,0 1px 0 #000,0 -1px 0 #000,1px 1px 0 #000,0 0 6px rgba(255,210,74,.7);padding-bottom:8px}.nameplate.self:after{content:"";position:absolute;left:50%;bottom:0;margin-left:-4px;border:4px solid transparent;border-bottom-width:0;border-top:5px solid #ffd24a;filter:drop-shadow(0 1px 0 #000);animation:nameplate-bob 1s ease-in-out infinite}@keyframes nameplate-bob{50%{transform:translateY(-2px)}}.nameplate.auto:before{content:"⚙";display:inline-block;margin-right:3px;color:#9fd8ff}.nameplate.auto.digging:before{animation:nameplate-gear 1.2s linear infinite}.nameplate-buffs:not(:empty){display:inline-flex;gap:1px;margin-left:3px;vertical-align:-1px}.nameplate-buffs img{width:12px;height:12px;image-rendering:pixelated;filter:drop-shadow(1px 1px 0 #000)}@keyframes nameplate-gear{to{transform:rotate(360deg)}}#ui{position:fixed;inset:0;pointer-events:none;font:12px/1.3 ui-monospace,Cascadia Mono,Menlo,monospace;color:#f4ead2;text-shadow:1px 1px 0 #000}.hud-corner{position:absolute;top:8px;left:8px;display:flex;gap:10px;padding:3px 6px;background:#0a08108c}.hud-depth{font-weight:700;color:#ffe6a2}.hud-fps{opacity:.6}.hud-pocket{color:#b8f0d8}.spores{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,#3cc8a000 55%,#28967838 85%,#1e6e5a61);transition:opacity 1.2s ease}.spores.strong{background:radial-gradient(ellipse at center,#3cc8a00a 40%,#2896784d 75%,#1e6e5a80)}.hud-ore{align-self:flex-start;display:flex;flex-direction:column;gap:3px;padding:4px 6px;background:#0a08108c}.ore-row{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700}.ore-icon{width:8px;height:8px;border:2px solid}.ore-count{display:inline-block;min-width:2ch}.bump{animation:bump .18s steps(3) both}@keyframes bump{0%{transform:scale(1.6);color:#fff4c0}to{transform:scale(1)}}.combo{position:absolute;top:10px;left:50%;transform:translate(-50%);text-align:center}.combo-mult{font-size:34px;font-weight:700;line-height:1;color:#ffd24a;text-shadow:2px 2px 0 #3e180c,-2px 0 0 #3e180c,0 -2px 0 #3e180c;animation:pop .25s steps(4) both}.combo-2 .combo-mult{color:#ffb03a;font-size:40px}.combo-3 .combo-mult{color:#ff8a2a;font-size:46px}.combo-4 .combo-mult{color:#ff5a2a;font-size:52px;animation:pop .25s steps(4) both,wobble .3s steps(2) infinite .25s}@keyframes pop{0%{transform:scale(2.2)}60%{transform:scale(.9)}to{transform:scale(1)}}@keyframes wobble{0%{transform:translate(-1px)}to{transform:translate(1px)}}.combo-label{font-size:11px;opacity:.85}.combo-bar{width:90px;height:4px;margin:3px auto 0;background:#0a0810b3;border:1px solid #3e180c}.combo-fill{height:100%;background:#ffd24a}.combo-cooling{animation:combo-blink .6s steps(2) infinite}@keyframes combo-blink{0%{opacity:1}to{opacity:.45}}@media(prefers-reduced-motion:reduce){.combo-cooling{animation:none;opacity:.6}}.toast{--tc: #ffd24a;--tt: #ffd24a;--tb: rgba(10, 8, 16, .8);display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;padding:6px 12px 6px 8px;text-align:left;background:var(--tb);border:2px solid var(--tc);animation:toast 3.2s steps(8) both}.toast-title,.toast-detail{grid-column:2}.toast-title{font-size:18px;font-weight:700;color:var(--tt)}.toast:before{content:"";grid-column:1;grid-row:1 / span 2;min-width:16px;height:16px;padding:0 2px;text-align:center;font-size:12px;font-weight:700;line-height:16px;color:#120e18;text-shadow:none;background:var(--tc)}.toast-detail{font-size:12px}.toast:has(.toast-detail):before{min-width:32px;height:32px;font-size:20px;line-height:32px}.toast-warn{--tc: #ff5a2a;--tt: #ffb08a;--tb: rgba(52, 12, 6, .88);box-shadow:0 0 0 2px #2a0804}.toast-warn:before{content:"!"}.toast-error{--tc: #e8343a;--tt: #ff9a9a;--tb: rgba(44, 6, 10, .9)}.toast-error:before{content:"✕"}.toast-info{--tc: #7a9ac0;--tt: #e4ecf8;--tb: rgba(10, 14, 26, .8)}.toast-info .toast-title{font-size:15px}.toast-info:before{content:"i"}.toast-help{--tc: #5aa8ff;--tt: #c4dcff;--tb: rgba(8, 20, 44, .85)}.toast-help:before{content:"♥"}.toast-sale{--tc: #ffd24a;--tt: #ffd24a;--tb: rgba(34, 26, 6, .85)}.toast-sale:before{content:"$"}.toast-buy{--tc: #6ad86a;--tt: #b8f0a8;--tb: rgba(8, 30, 12, .85)}.toast-buy:before{content:"+"}.toast-discovery,.toast-vein{--tc: #fff4c0;--tt: #fff4c0;--tb: rgba(40, 30, 10, .88);box-shadow:0 0 0 2px #3e2a10,0 0 14px #ffdc7873}.toast-discovery:before,.toast-vein:before{content:"★"}.toast-cursor{position:absolute;max-width:240px;column-gap:5px;padding:3px 8px 3px 5px;border-width:1px;transform:translate(-50%,-100%);animation:toast-cursor 2s steps(6) both}.toast-cursor .toast-title{font-size:13px}.toast-cursor:before{min-width:12px;height:12px;font-size:10px;line-height:12px}.toast-cursor .toast-detail{font-size:11px}.toast-cursor:has(.toast-detail):before{min-width:24px;height:24px;font-size:15px;line-height:24px}@keyframes toast-cursor{0%{transform:translate(-50%,-80%);opacity:0}10%{transform:translate(-50%,-100%);opacity:1}80%{opacity:1}to{transform:translate(-50%,-120%);opacity:0}}@keyframes toast{0%{transform:translateY(8px) scale(.6);opacity:0}8%{transform:translateY(0) scale(1.1);opacity:1}14%{transform:scale(1)}85%{opacity:1}to{opacity:0}}.px-icon{image-rendering:pixelated;vertical-align:middle}.hud-left{position:absolute;top:34px;left:8px;display:flex;flex-direction:column;gap:6px}.status{display:flex;flex-direction:column;gap:4px;width:230px;padding:6px 8px;background:#0a081099}.status-row{display:flex;align-items:center;gap:6px}.status-row.full .slots{animation:blink .5s steps(2) infinite}.money b{font-size:20px;color:#ffd24a}.pop{display:inline-block;animation:bump .25s steps(3) both}.small{font-size:11px}.dim{opacity:.7}.short{color:#ff8a6a}.goal{display:flex;gap:6px;align-items:center}.goal-text{font-size:12px;color:#fff4c0}.goal-empty{font-size:11px;opacity:.6}.bar{width:150px;height:6px;margin-top:2px;background:#0009;border:1px solid #3e180c}.bar.hp{width:160px;height:8px}.bar-fill{height:100%}.bar-fill.gold{background:#ffd24a}.bar-fill.red{background:#e04848}.bar-fill.blue{background:#5ab4e8}.breath-over{position:absolute;left:0;top:0;width:30px;height:5px;padding:1px;background:#171424;border:1px solid #000;box-shadow:0 0 0 1px #9fd8f459}.breath-over-fill{height:100%;background:#5ab4e8}.breath-over.low{animation:breath-blink .5s steps(2) infinite}.breath-over.potion .breath-over-fill{background:#bfe6ff}.breath-over.potion{box-shadow:0 0 0 1px #bfe6ffcc}.breath-over.out .breath-over-fill{background:#e05a4a}.breath-over.out{box-shadow:0 0 0 1px #e05a4a99}@keyframes breath-blink{50%{opacity:.35}}.slots{display:flex;flex-wrap:wrap;gap:2px;width:160px}.slot{width:6px;height:10px;background:#ffffff1f;border:1px solid #000}.slot.item{background:#9a6a3a}.slot.ore{background:#d2763a}.buff{color:#ffd24a}@keyframes blink{0%{opacity:1}to{opacity:.35}}.hotbar{position:absolute;bottom:36px;left:50%;transform:translate(-50%);display:flex;gap:4px;pointer-events:auto}.hot{position:relative;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#0a0810b3;border:2px solid #3a2e34;cursor:pointer}.hot.active{border-color:#ffd24a;box-shadow:0 0 0 2px #3e180c}.hot.empty{opacity:.4}.hot-key{position:absolute;top:1px;left:3px;font-size:10px;opacity:.7}.hot-qty{position:absolute;bottom:0;right:3px;font-size:11px;font-weight:700}.prompt{position:absolute;bottom:90px;left:50%;transform:translate(-50%);padding:4px 10px;background:#0a0810cc;border:2px solid #ffd24a;font-size:14px;animation:blink .8s steps(2) infinite alternate}.prompt.at-object{left:0;top:0;bottom:auto;white-space:nowrap;visibility:hidden}.panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:380px;max-height:86vh;overflow-y:auto;pointer-events:auto;font-size:13px}.panel.wide{width:min(860px,94vw)}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:18px;font-weight:700;color:#ffd24a}.x{font:inherit;color:var(--ui-ink);background:transparent;border:1px solid var(--ui-border);cursor:pointer}.error{margin:4px 0;padding:3px 6px;color:#ffb0a0;border:1px solid #a03a2a}.sale{width:100%;border-collapse:collapse;font-size:14px}.sale td{padding:2px 4px}.sale .num{text-align:right;color:#ffd24a}.sale .total td{border-top:1px solid #6a5a70;font-weight:700}.goal-line{color:#fff4c0}.shop-top{display:flex;gap:16px;align-items:center;margin-bottom:6px}.kits{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px}.kit{padding:6px;background:#ffffff0d;border:1px solid #4a3a50}.kit-icons{display:flex;gap:4px;margin:3px 0}.kit-item small{font-size:10px}.shop-item{display:flex;gap:8px;align-items:center;padding:4px;margin-bottom:4px;background:#ffffff0a;border:1px solid #3a2e40}.shop-item.first{border-color:#ffd24a}.shop-info{flex:1}.shop-name{font-weight:700;color:#fff4c0}.shop-effect{color:#a8e0a0}.badge{font-size:10px;padding:0 4px;color:#1a1420;background:#ffd24a}.shop-buy{display:flex;flex-direction:column;align-items:flex-end}.price{font-weight:700;color:#ffd24a}.locker{padding:4px;border:1px dashed #4a3a50}.locker-row{display:flex;align-items:center;gap:4px;font-size:12px}.locker-row .btn{margin-left:auto}.danger{position:absolute;top:18%;left:50%;transform:translate(-50%);padding:4px 12px;font-size:18px;font-weight:700;color:#ffdfa0;background:#781e0abf;border:2px solid #ff8a2a;animation:blink .4s steps(2) infinite alternate}.downed{position:absolute;top:62%;left:50%;transform:translate(-50%,-50%);width:360px;padding:12px;text-align:center;background:#1e080ceb;border:3px solid #e04848;pointer-events:auto}.respawn-toggle{pointer-events:auto;padding:0 6px;font:inherit;color:#ff9a8a;background:#1e080ccc;border:1px solid #a03838;cursor:pointer}.respawn-toggle:hover{border-color:#e04848}.respawn-confirm{z-index:20}.downed-title{font-size:18px;font-weight:700;color:#ff9a8a}.previous{position:absolute;top:100px;right:8px;max-width:280px;padding:6px 8px;background:#0a0810bf;border:1px solid #ffd24a;pointer-events:auto;cursor:pointer}.net-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0a0810;pointer-events:auto}.net-banner{position:absolute;top:40%;left:50%;transform:translate(-50%);pointer-events:auto}.net-box{max-width:420px;padding:10px 14px;background:#0a0810e6;border:1px solid #6b5a3a;display:flex;flex-direction:column;gap:6px;text-align:center}.net-box a{color:#ffd24a}.ping-dot{display:inline-block;width:10px;height:10px;border:1px solid #120e18;vertical-align:middle}.pings{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-bottom:6px}.ping-btn{text-align:left;position:relative}.ping-btn .hot-key{position:static;font-size:10px;opacity:.7}.post{display:flex;flex-wrap:wrap;align-items:center;gap:2px;margin:6px 0}.mute{display:block;margin-top:4px;cursor:pointer}.project{padding:6px;margin-bottom:8px;background:#ffd24a0f;border:1px solid #6b5a3a}.project-bar{display:flex;align-items:center;gap:8px;margin:4px 0}.project-bar .bar{flex:1;height:10px}.requests{display:flex;flex-direction:column;gap:4px;margin:4px 0}.request{display:grid;grid-template-columns:1fr auto;align-items:center;padding:4px 6px;background:#ffffff0a;border-left:3px solid #8ab4f0}.request>div:nth-child(2),.request>div:nth-child(3){grid-column:1}.request>div:last-child{grid-column:2;grid-row:1 / span 3}.request-who{color:#9ae68a}.split{margin:6px 0;padding:4px 6px;border-left:3px solid #ffd24a;background:#ffd24a0f}.chest-ore{margin-right:8px}.structure-label{position:absolute;bottom:118px;left:50%;transform:translate(-50%);padding:1px 8px;font-size:12px;color:#e8dcc0;background:#0a08108c;text-shadow:1px 1px 0 #000;white-space:nowrap}.ally-hint{position:absolute;bottom:140px;left:50%;transform:translate(-50%);padding:1px 8px;font-size:12px;color:#c4dcff;background:#0a081099;border:1px solid #4a6a9a;white-space:nowrap}.previous.news{top:180px;border-color:#8ab4f0}.history{margin:4px 0;padding-left:4px;border-left:2px solid #4a3a50}.hot-fuel{position:absolute;left:2px;right:2px;bottom:-7px;height:4px;background:#0a0810d9;border:1px solid #3a2e34;pointer-events:none}.hot-fuel i{display:block;height:100%;background:#ffc84a}.hot-fuel.dim{opacity:.5}.hot-fuel.fading i{background:#e04a3a;animation:blink .6s steps(2) infinite alternate}.forge-badge,.forge-note{color:#ffc870}.section-line{position:absolute;bottom:30px;left:8px;max-width:400px;padding:2px 8px;font-size:12px;color:#d8d0c0;background:#0a081099;border-left:3px solid #8a7f96}.section-line.lost{color:#ffb0a0;border-left-color:#e04848}.awakening{position:absolute;top:8px;left:50%;transform:translate(-50%);padding:3px 14px;font-size:15px;font-weight:700;color:#ffdfa0;background:#3c0a14cc;border:2px solid #c0402a;white-space:nowrap}.awakening.waves{border-color:#ff5a3a;animation:blink .8s steps(2) infinite alternate}.awakening-end{top:260px;border-color:#ff8a5a}.hint{position:absolute;bottom:104px;left:50%;transform:translate(-50%);max-width:520px;padding:4px 10px;font-size:13px;color:#fff4c0;background:#14101ed1;border:1px solid #ffd24a;pointer-events:none}.forge{margin:6px 0;padding:4px 6px;border:1px solid #f08a24;background:#3c1e0a59}.bag-row{cursor:pointer;pointer-events:auto}.bag-help{margin-bottom:8px}.bag-grid{position:relative;margin:0 auto;background-color:#1a1418;background-image:linear-gradient(to right,#3a2e34 2px,transparent 2px),linear-gradient(to bottom,#3a2e34 2px,transparent 2px);border:2px solid #3a2e34;box-sizing:content-box;touch-action:none;user-select:none}.bag-item{position:absolute;display:flex;align-items:center;justify-content:center;pointer-events:none}.bag-cell{position:absolute;box-sizing:border-box;background:#2e2328;border:2px solid #6b5560;pointer-events:auto;cursor:grab}.bag-item:hover .bag-cell{border-color:#b49aa6}.bag-cell.active,.bag-item:hover .bag-cell.active{border-color:#ffd24a}.bag-item.lifted{opacity:.35}.bag-grid.dragging .bag-cell{cursor:grabbing}.bag-icon{position:relative;display:flex;pointer-events:none}.bag-key,.bag-qty{position:absolute;font-size:11px;pointer-events:none;text-shadow:1px 1px 0 #000}.bag-key{top:1px;left:4px;opacity:.75}.bag-qty{bottom:1px;right:4px;font-weight:700}.bag-ghost{position:absolute;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:.85}.bag-ghost-cell{position:absolute;box-sizing:border-box;border:2px dashed}.bag-ghost.ok .bag-ghost-cell{border-color:#7ad66a;background:#50a04640}.bag-ghost.bad .bag-ghost-cell{border-color:#e05a4a;background:#b4322840}.bag-foot{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:10px}.bag-icon .ore-icon{transform:scale(2.4)}html.touch{--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px);overscroll-behavior:none;-webkit-text-size-adjust:100%}html.touch body{overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}html.touch #app,html.touch #ui{touch-action:none}html.touch #ui input{-webkit-user-select:text;user-select:text}.rotate-hint{display:none}@media(orientation:portrait){html.touch .rotate-hint{position:fixed;inset:0;z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;background:#07050a;color:#f4ead2;font:15px/1.4 ui-monospace,Cascadia Mono,Menlo,monospace;text-align:center;text-shadow:1px 1px 0 #000;pointer-events:auto}html.touch .rotate-hint .rotate-phone{width:44px;height:72px;border:3px solid #f2c14e;border-radius:8px;animation:rotate-phone 1.8s ease-in-out infinite}}@keyframes rotate-phone{0%,20%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}.touch-controls{position:absolute;inset:0;pointer-events:none}.touch-stick-zone{position:absolute;left:0;bottom:0;width:42%;height:72%;pointer-events:auto}.touch-stick{position:fixed;width:112px;height:112px;margin:-56px 0 0 -56px;border-radius:50%;background:#0a081059;border:2px solid rgba(244,234,210,.35);pointer-events:none}.touch-stick.idle{left:calc(84px + var(--safe-l));top:auto;bottom:calc(28px + var(--safe-b));margin:0 0 0 -56px;opacity:.45}.touch-knob{position:absolute;left:50%;top:50%;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;background:#f2c14ebf;border:2px solid #3e180c}.touch-btn{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;padding:0;border-radius:50%;border:2px solid rgba(244,234,210,.5);background:#0a08108c;color:#f4ead2;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none}.touch-btn .glyph{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.touch-btn.pressed,.touch-btn:active{background:#f2c14e73;border-color:#ffd24a}.touch-label{position:absolute;top:100%;margin-top:2px;font-size:10px;white-space:nowrap;color:#f4ead2;text-shadow:1px 1px 0 #000;pointer-events:none}.touch-pad{position:absolute;right:calc(16px + var(--safe-r));bottom:calc(16px + var(--safe-b));width:200px;height:200px;pointer-events:none}.touch-btn.action{right:0;bottom:18px;width:80px;height:80px;border-color:#ffd24a}.touch-btn.action.placing{background:#50a0508c}.touch-btn.jump{right:92px;bottom:0;width:64px;height:64px}.touch-btn.roll{right:104px;bottom:78px;width:48px;height:48px}.touch-btn.interact,.touch-btn.cancel{right:12px;bottom:120px;width:56px;height:56px;border-color:#ffd24a;animation:touch-pulse 1s ease-in-out infinite alternate}.touch-btn.cancel{animation:none;border-color:#e0604a}@keyframes touch-pulse{0%{box-shadow:0 0 #ffd24a99}to{box-shadow:0 0 0 6px #ffd24a00}}.touch-top{position:absolute;top:calc(8px + var(--safe-t));right:calc(12px + var(--safe-r));display:flex;gap:10px;pointer-events:none}.touch-top .touch-btn{position:relative;width:44px;height:44px}.touch-rotate{position:fixed;left:calc(10px + var(--safe-l));bottom:calc(10px + var(--safe-b));z-index:50;width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid #ffd24a;background:#0a0810bf;color:#f4ead2;pointer-events:auto;touch-action:none}.touch-rotate .glyph{fill:none;stroke:currentColor;stroke-width:1.8}html.touch #ui .hud-corner{top:calc(4px + var(--safe-t));left:calc(6px + var(--safe-l));font-size:11px}html.touch #ui .hud-fps{display:none}html.touch #ui .hud-left{top:calc(26px + var(--safe-t));left:calc(6px + var(--safe-l))}html.touch #ui .status{width:180px;padding:4px 6px;gap:2px;font-size:11px}html.touch #ui .hotbar{bottom:calc(6px + var(--safe-b));gap:3px}html.touch #ui .hot{width:42px;height:42px}html.touch #ui .hot-key{display:none}html.touch #ui .dock{top:calc(4px + var(--safe-t));bottom:auto;right:calc(232px + var(--safe-r));flex-direction:row;gap:0;transform:scale(.85);transform-origin:top right}html.touch #ui .prompt{pointer-events:auto}html.touch #ui .prompt.at-object{padding:6px 12px}html.touch #wip{display:none}html.touch #ui .panel{max-height:calc(100dvh - 12px - var(--safe-t) - var(--safe-b));padding:6px 10px 8px;font-size:12px}html.touch #ui .panel-body{max-height:calc(100dvh - 60px - var(--safe-t) - var(--safe-b));touch-action:pan-y}html.touch #ui .panel.fit .panel-body{max-height:calc(100dvh - 60px - var(--safe-t) - var(--safe-b));overflow-y:auto}html.touch #ui .bag-grid{touch-action:none}html.touch #ui .panel-head{margin:0 0 6px;padding-bottom:4px;font-size:13px}html.touch #ui .panel-close{padding:8px;margin:-6px -6px -6px auto}html.touch #ui .panel-close .glyph{width:20px;height:20px}html.touch #ui .panel-pair{flex-wrap:nowrap;gap:8px;max-width:calc(100vw - 8px - var(--safe-l) - var(--safe-r))}html.touch #ui .panel:has(.shop-grid){width:auto}html.touch #ui .panel-pair>.panel.wide{width:min(520px,calc(100vw - 330px))}html.touch #ui .panel .btn{min-height:32px}html.touch #ui .panel .site-row{padding:4px 8px}html.touch #ui .panel .site-row .bar{display:none}.quick-pick{position:fixed;z-index:60;pointer-events:auto;max-width:min(320px,calc(100vw - 16px))}.quick-pick-row{display:flex;gap:6px;margin-top:8px}.quick-pick-row .btn{flex:1;min-height:40px;padding:4px 8px;font:inherit;color:#f4ead2;background:#f2c14e2e;border:2px solid #ffd24a;cursor:pointer}.quick-pick-row.pin{flex-wrap:wrap;align-items:center}.quick-pick-row.pin .btn{flex:0 0 40px}.quick-pick-label{flex-basis:100%;font-size:11px}html.touch.panel-open #ui .hud-corner,html.touch.panel-open #ui .hotbar,html.touch.panel-open #ui .dock,html.touch.panel-open #ui .prompt,html.touch.panel-open #ui .combo,html.touch.panel-open #ui .area-title,html.touch.panel-open #ui .section-line,html.touch.panel-open #ui .danger,html.touch.panel-open .nameplates{display:none}html.touch #ui .profile{grid-template-columns:1fr;gap:10px}html.touch #ui .profile-preview{position:static;flex-direction:row;justify-content:flex-start;gap:14px;padding:6px 12px}html.touch #ui .profile-preview-text{align-items:flex-start;text-align:left}html.touch #ui .char-swatches{grid-template-columns:repeat(auto-fill,minmax(var(--ui-touch-target),1fr))}html.touch #ui .char-outfit{min-height:var(--ui-touch-target)}html.touch #ui .profile-check input{width:22px;height:22px}.ui-button,#ui .panel .ui-button{box-sizing:border-box;min-height:var(--ui-control);margin:0;padding:var(--ui-space-1) var(--ui-space-3);font:inherit;font-size:var(--ui-text-sm);line-height:1.4;letter-spacing:normal;text-transform:none;text-shadow:none;color:var(--ui-ink);background:var(--ui-surface-raised);border:var(--ui-border-width) solid var(--ui-border);border-radius:var(--ui-radius);box-shadow:none;animation:none;transition:background-color var(--ui-motion),border-color var(--ui-motion),color var(--ui-motion);cursor:pointer}.ui-button[data-variant=primary],#ui .panel .ui-button[data-variant=primary]{color:var(--ui-on-gold);background:var(--ui-gold);border-color:var(--ui-gold);font-weight:700}.ui-button[data-variant=danger],#ui .panel .ui-button[data-variant=danger]{color:var(--ui-danger);background:var(--ui-danger-surface);border-color:var(--ui-danger)}.ui-button:hover:not(:disabled),#ui .panel .ui-button:hover:not(:disabled){background:var(--ui-surface-hover);border-color:var(--ui-muted);color:var(--ui-ink);transform:none;filter:none;box-shadow:none}.ui-button[data-variant=primary]:hover:not(:disabled),#ui .panel .ui-button[data-variant=primary]:hover:not(:disabled){background:var(--ui-gold-hover);border-color:var(--ui-gold-hover);color:var(--ui-on-gold)}.ui-button[data-variant=danger]:hover:not(:disabled),#ui .panel .ui-button[data-variant=danger]:hover:not(:disabled){color:var(--ui-danger);border-color:var(--ui-danger)}.ui-button[aria-pressed=true]:not(:disabled),#ui .panel .ui-button[aria-pressed=true]:not(:disabled){border-color:var(--ui-gold);color:var(--ui-gold);background:var(--ui-surface-raised);box-shadow:inset 0 -2px var(--ui-gold)}.ui-button:active:not(:disabled),#ui .panel .ui-button:active:not(:disabled){transform:translateY(1px);box-shadow:none}.ui-button:disabled,#ui .panel .ui-button:disabled{color:var(--ui-muted);background:var(--ui-surface);border-color:var(--ui-line);opacity:.5;cursor:default;animation:none}.ui-button:focus-visible,#ui .panel .ui-button:focus-visible,#ui :is(button,input,select,[tabindex]):focus-visible{outline:2px solid var(--ui-gold);outline-offset:2px}#ui{font-family:var(--ui-font);font-size:var(--ui-text-sm);color:var(--ui-ink)}#ui .panel{padding:var(--ui-space-3) var(--ui-space-4) var(--ui-space-4);font-size:var(--ui-text-sm);background:var(--ui-surface);border:var(--ui-border-width) solid var(--ui-border);backdrop-filter:none;text-shadow:none;box-shadow:var(--ui-shadow)}#ui .panel-head{gap:var(--ui-space-2);margin-bottom:var(--ui-space-3);padding-bottom:var(--ui-space-2);font-size:var(--ui-text-lg);color:var(--ui-ink);text-transform:none;letter-spacing:normal}#ui .panel-icon{color:var(--ui-muted)}#ui .panel-title{line-height:1.4}#ui .panel .small{font-size:var(--ui-text-sm)}#ui .panel :is(.shop-name,.section-title),#ui .panel .up-title,#ui .section-title,#ui .keys-head,#ui .profile-label{font-size:var(--ui-text-sm);text-transform:none;letter-spacing:normal;color:var(--ui-muted)}#ui .panel-close{justify-content:center;align-items:center;min-width:var(--ui-control);min-height:var(--ui-control);border-radius:var(--ui-radius)}#ui .panel-info{display:inline-flex;align-items:center;justify-content:center;min-width:var(--ui-control);min-height:var(--ui-control);padding:0;font:inherit;background:transparent;border:0}#ui .tile{font:inherit;text-shadow:none;border-radius:0}#ui .tile.sel{box-shadow:inset 0 -2px var(--ui-gold)}#ui .diamond:before{background:var(--ui-surface);border-radius:0}#ui .tooltip{max-width:min(300px,calc(100vw - 32px));padding:var(--ui-space-3);font-size:var(--ui-text-sm);line-height:1.5;background:var(--ui-surface);border-color:var(--ui-border);box-shadow:var(--ui-shadow);text-shadow:none}#ui .tooltip .tip-title{font-size:var(--ui-text-md)}#ui .tooltip .tip-sub{font-size:var(--ui-text-sm)}#ui .tooltip:has(.tip-head>:is(.px-icon,.ore-icon)){padding-left:60px}#ui .tooltip .tip-head>:is(.px-icon,.ore-icon){top:12px;left:12px}#ui .tooltip .tip-head>.ore-icon{top:24px;left:24px}#ui .info-tip{font-size:var(--ui-text-sm);line-height:1.5;font-weight:400;text-align:left}#ui .info-tip dl{display:grid;gap:var(--ui-space-2);margin:0}#ui .info-tip-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--ui-space-2)}#ui .info-tip dt{margin:0;font-weight:700;color:var(--ui-ink)}#ui .info-tip dd{margin:0;font-weight:400;overflow-wrap:anywhere}#ui .info-tip .info-tip-note{margin:var(--ui-space-3) 0 0;padding-top:var(--ui-space-2);border-top:1px solid var(--ui-line);font-weight:400;color:var(--ui-muted)}#ui :is(.hud-corner,.status,.prompt){background:var(--ui-overlay);color:var(--ui-ink)}#ui .hot{background:var(--ui-surface);border:1px solid var(--ui-border)}#ui .hot.active{border-color:var(--ui-gold);box-shadow:inset 0 -2px var(--ui-gold)}#ui .hint{background:var(--ui-surface);border-color:var(--ui-border);color:var(--ui-ink)}#ui .toast{--tb: var(--ui-surface);border-width:1px;box-shadow:none}#ui .toast:before{color:var(--ui-canvas)}#ui :is(.toast-sale,.toast-discovery,.toast-vein){--tc: var(--ui-gold);--tt: var(--ui-gold)}#ui .toast-buy{--tc: var(--ui-success);--tt: var(--ui-success)}#ui .toast-info{--tc: var(--ui-muted);--tt: var(--ui-ink)}#ui :is(.toast-warn,.toast-error){--tc: var(--ui-danger);--tt: var(--ui-danger);--tb: var(--ui-danger-surface)}#ui :is(.danger,.awakening){padding:4px 12px;font-size:var(--ui-text-md);color:var(--ui-danger);background:var(--ui-danger-surface);border:1px solid var(--ui-danger)}#ui .shop-action{background:var(--ui-surface)}#ui .px-icon-graded .tier-grade{color:var(--ui-gold);background:var(--ui-surface);border-color:var(--ui-border);font-family:var(--ui-font)}#ui .panel .shop-tab .tab-count{background:var(--ui-surface-hover);color:var(--ui-muted);border-radius:var(--ui-radius)}#ui .profile-input{min-height:var(--ui-control);font-size:var(--ui-text-md);border:1px solid var(--ui-border);border-radius:var(--ui-radius)}#ui .devlog-body{font-size:var(--ui-text-md)}#ui .panel .devlog-body p.lead{font-size:var(--ui-text-lg);color:var(--ui-ink)}#ui .prompt{border:1px solid var(--ui-border);animation:none}#ui .panel .bag-cell{background:var(--ui-surface-raised)}#ui .panel .bag-item:hover .bag-cell{background:var(--ui-surface-hover)}#ui .panel .bag-item.anvil-pickable .bag-cell{animation:none;box-shadow:inset 0 0 0 1px var(--ui-gold)}#ui .panel .bag-item.anvil-target .bag-cell{box-shadow:inset 0 0 0 2px var(--ui-gold);background:var(--ui-surface-hover)}html.touch .ui-button,html.touch #ui .panel .ui-button,html.touch #ui :is(.panel-close,.panel-info,.shop-tab,.sell-sort){min-height:var(--ui-touch-target);min-width:var(--ui-touch-target)}html.touch #ui .panel{padding:8px 12px}html.touch #ui .panel-head{font-size:var(--ui-text-md)}html.touch #ui .panel-body,html.touch #ui .panel.fit .panel-body{max-height:calc(100dvh - 84px - var(--safe-t) - var(--safe-b))}html.touch #ui .panel-close{margin:0 0 0 auto;padding:8px}html.touch #ui .hot{width:44px;height:44px;box-sizing:border-box}html.touch #ui .dock{transform:none}html.touch #ui .dock .diamond{width:44px;height:44px}html.touch #ui .bag-foot .tile{min-width:44px;min-height:44px}html.touch #ui .profile-input{min-height:var(--ui-touch-target)}html.touch #ui .market-list{min-width:0}html.touch #ui .market-list .sell-row{grid-template-columns:minmax(100px,1fr) 36px 64px 40px 40px;gap:4px}html.touch #ui .market-list .sell-head>:nth-child(n+6){display:none}html.touch #ui .market-list .sell-row:not(.sell-head)>:nth-child(6){grid-row:2;grid-column:1 / 3}html.touch #ui .market-list .sell-row:not(.sell-head)>:nth-child(7){grid-row:2;grid-column:4 / 6}.touch-btn,.touch-rotate{color:var(--ui-ink);background:var(--ui-overlay);border-color:var(--ui-border);border-radius:var(--ui-radius)}.touch-btn.pressed,.touch-btn:active{background:var(--ui-surface-hover);border-color:var(--ui-gold)}.touch-btn.action,.touch-btn.interact,.touch-rotate{border-color:var(--ui-gold)}.touch-btn.interact{animation:none}.touch-btn.cancel{border-color:var(--ui-danger)}.touch-btn.action.placing{background:var(--ui-success-surface);border-color:var(--ui-success)}.touch-knob{background:var(--ui-gold);border-color:var(--ui-border)}.touch-stick{background:var(--ui-overlay);border-color:var(--ui-border)}@media(prefers-reduced-motion:reduce){#ui :is(.tile,.bag-item,.diamond,.prompt),.ui-button{transition:none}}
