:root{color-scheme:light;--parchment: #f7ecd3;--parchment-deep: #eedfba;--paper: #fffaf0;--line: #d8c294;--wood: #8b5a2b;--wood-dark: #5c3a1b;--wood-light: #b98450;--ink: #3b2a1a;--ink-soft: #77603f;--gem: #17b89b;--gem-deep: #0c8a75;--gem-pale: #cdf4ec;--gem-ink: #06352d;--good: #4f9e3a;--good-pale: #d9f0cc;--warn: #d98a1f;--warn-pale: #fde6bb;--bad: #c9452f;--bad-pale: #f9d3ca;--energy: #f2b632;--energy-deep: #e08a1c;--xp: #4d9fde;--sky: #a9def7;--radius: 12px;--radius-small: 8px;--shadow: 0 4px 0 rgba(60, 38, 16, .3), 0 12px 26px rgba(40, 26, 10, .22);--font: "Trebuchet MS", "Segoe UI", system-ui, -apple-system, Roboto, sans-serif}html,body{margin:0;height:100%;overflow:hidden;background:var(--sky);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.35}#app{position:fixed;inset:0}.game-view{position:absolute;inset:0;overflow:hidden;background:var(--sky)}.game-view canvas{display:block}.game-view-placeholder{padding:1rem;font-style:italic;opacity:.7}.ui-root{position:absolute;inset:0;z-index:10;pointer-events:none;--hud-gap: 12px;--hud-left-width: 250px;--hud-right-width: 280px;--hud-energy-width: 420px;--panel-width: 900px;--panel-clear-left: calc(var(--hud-left-width) + 2 * var(--hud-gap));--panel-clear-right: calc(var(--hud-right-width) + 2 * var(--hud-gap));--panel-clear-bottom: 134px}.ui-root:has(.hud-gathering){--panel-clear-bottom: 166px}:where(.ui-root) *,:where(.ui-root) *:before,:where(.ui-root) *:after{box-sizing:border-box}:where(.ui-root) :is(h1,h2,h3,h4,p,ul){margin:0}:where(.ui-root) h2{font-size:1.15rem}:where(.ui-root) h3{font-size:1rem}:where(.ui-root) h4{font-size:.9rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em}:where(.ui-root) :is(button,input,select){font:inherit;color:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.4rem .85rem;border:2px solid var(--wood-dark);border-bottom-width:4px;border-radius:10px;background:linear-gradient(#fff6df,var(--parchment-deep));color:var(--ink);font-weight:700;line-height:1.2;white-space:nowrap;cursor:pointer;transition:filter .1s,transform .05s}.btn:hover:not(:disabled){filter:brightness(1.06)}.btn:active:not(:disabled),.btn.is-active{transform:translateY(2px);border-bottom-width:2px;margin-bottom:2px}.btn:focus-visible,.tab:focus-visible,.input:focus-visible{outline:3px solid var(--gem);outline-offset:1px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{border-color:var(--gem-deep);background:linear-gradient(#5be3ca,var(--gem));color:var(--gem-ink);text-shadow:0 1px 0 rgba(255,255,255,.35)}.btn-danger{border-color:#8f2414;background:linear-gradient(#e4634d,var(--bad));color:#fff;text-shadow:0 1px 0 rgba(80,10,0,.45)}.btn-small{padding:.2rem .55rem;border-bottom-width:3px;font-size:.8rem}.btn-wide{width:100%}.tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:2px solid var(--line)}.tab{margin-bottom:-2px;padding:.4rem .85rem;border:2px solid transparent;border-radius:10px 10px 0 0;background:transparent;color:var(--ink-soft);font-weight:700;cursor:pointer}.tab:hover:not(:disabled){color:var(--ink);background:#fffaf099}.tab:disabled{opacity:.45;cursor:not-allowed}.tab.is-active{border-color:var(--line);border-bottom-color:var(--paper);background:var(--paper);color:var(--ink)}.card{display:flex;flex-direction:column;gap:.5rem;min-width:0;padding:.75rem;border:2px solid var(--line);border-radius:var(--radius);background:var(--paper)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem;align-items:start}.row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.field{display:flex;flex-direction:column;gap:.2rem;font-size:.85rem}.field>span:first-child{font-weight:700}.field-grow{flex:1 1 10rem;min-width:0}.field-error{color:var(--bad);font-size:.85rem;font-weight:700}.input{min-width:0;padding:.38rem .55rem;border:2px solid var(--line);border-radius:var(--radius-small);background:#fff;color:var(--ink)}.input:disabled{background:var(--parchment);opacity:.7}.input[aria-invalid=true]{border-color:var(--bad)}.input-amount{width:6.5rem}.muted{color:var(--ink-soft);font-size:.85rem}.gems{color:var(--gem-deep);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.gems:before{content:"";display:inline-block;width:.62em;height:.62em;margin:0 .4em 0 .15em;border:1.5px solid var(--gem-deep);border-radius:2px;background:linear-gradient(135deg,#9af5e3,var(--gem) 55%,var(--gem-deep));transform:rotate(45deg);vertical-align:.04em}.usd{color:#2f7d4f;font-variant-numeric:tabular-nums;white-space:nowrap}.bar{position:relative;height:18px;overflow:hidden;border:2px solid var(--wood-dark);border-radius:9px;background:#5c3a1b33}.bar-fill{height:100%;border-radius:6px;background:var(--wood-light);transition:width .3s ease-out}.bar-energy .bar-fill{background:linear-gradient(var(--energy),var(--energy-deep))}.bar-xp .bar-fill{background:linear-gradient(#7cc0f0,var(--xp))}.bar-good .bar-fill{background:linear-gradient(#77c95d,var(--good))}.bar-warn .bar-fill{background:linear-gradient(#f1b04a,var(--warn))}.bar-bad .bar-fill{background:linear-gradient(#e4634d,var(--bad))}.bar-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--ink);font-size:.72rem;font-weight:700;line-height:1;text-shadow:0 0 3px rgba(255,250,240,.9);white-space:nowrap}.bar-small{height:10px;border-width:1.5px}.bar-small:has(.bar-label){height:16px}.badge{display:inline-block;padding:.08rem .55rem;border-radius:999px;background:var(--parchment-deep);color:var(--ink);font-size:.72rem;font-weight:700;line-height:1.5;white-space:nowrap}.badge-good{background:var(--good-pale);color:#2c6a1c}.badge-warn{background:var(--warn-pale);color:#875204}.badge-bad{background:var(--bad-pale);color:#8f2414}.empty{padding:.9rem;color:var(--ink-soft);font-style:italic;text-align:center}.warning{display:flex;flex-direction:column;gap:.3rem;padding:.6rem .75rem;border:2px solid var(--warn);border-radius:10px;background:var(--warn-pale);color:#6b4104}.price-up{color:var(--good)}.price-down{color:var(--bad)}.price-up .gems,.price-down .gems{color:inherit}.price-up:after,.price-down:after{content:"";display:inline-block;margin-left:.3em;border-left:.3em solid transparent;border-right:.3em solid transparent;vertical-align:.1em}.price-up:after{border-bottom:.45em solid currentColor}.price-down:after{border-top:.45em solid currentColor}.res-icon{display:inline-block;flex:none;width:14px;height:14px;border:2px solid rgba(40,26,10,.45);border-radius:3px;vertical-align:-2px}.res-wood{background:linear-gradient(#c08a52,#96602f)}.res-stone{background:linear-gradient(#b9bec4,#868d95)}.res-fish{border-radius:60% 35% 35% 60%;background:linear-gradient(#7cc4f2,#3a8fd0)}.section-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.section-head>:first-child{margin-right:auto}.stat{display:flex;justify-content:space-between;gap:.75rem;font-size:.9rem}.stat-value{font-weight:700;text-align:right}.stat-bonus{color:var(--good);font-weight:400}.button-row{display:flex;flex-wrap:wrap;gap:.4rem}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th,.table td{padding:.3rem .5rem;border-bottom:1px solid var(--line);text-align:left}.table th{color:var(--ink-soft);font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.facts{display:flex;flex-direction:column;gap:.4rem;padding-left:1.1rem;font-size:.9rem}.tool-tier-1{--tier: #b9a48a}.tool-tier-2{--tier: #aab4be}.tool-tier-3{--tier: #6f95b8}.tool-tier-4{--tier: #e6b422}.tool{display:flex;flex-direction:column;gap:.4rem;min-width:0;padding-left:.6rem;border-left:4px solid var(--tier, var(--line))}.tool-head{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.tool-icon{display:inline-block;flex:none;width:18px;height:18px;border:2px solid var(--wood-dark);border-radius:4px;background:linear-gradient(135deg,transparent 40%,var(--wood) 40% 60%,transparent 60%),var(--tier, #b9a48a)}.tool-icon-axe{border-radius:4px 10px 4px 4px}.tool-icon-pickaxe{border-radius:10px 10px 4px 4px}.tool-icon-rod{border-radius:50%}.tool-enchants{display:flex;flex-direction:column;gap:.15rem;padding:0;list-style:none}.tool-enchants li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem}.tool-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.enchant{font-size:.85rem;font-weight:700}.enchant-swift{color:#2d8fc4}.enchant-thrift{color:#5a8f2e}.enchant-scholar{color:#7a57c2}.enchant-fortune{color:#c98a10}.enchant-luck{color:var(--gem-deep)}.resource-counts{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem}.resource-count{display:flex;align-items:center;gap:.4rem}.segmented{display:inline-flex;gap:4px}.segmented .tab{margin-bottom:0;border-color:var(--line);border-radius:999px;padding:.2rem .75rem;font-size:.85rem}.segmented .tab.is-active{border-color:var(--gem-deep);background:var(--gem-pale)}.spinner{width:34px;height:34px;border:5px solid var(--line);border-top-color:var(--gem);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:3s}.bar-fill,.btn{transition:none}}.auth-screen{position:absolute;inset:0;display:grid;place-items:center;padding:1rem;overflow:auto;background:radial-gradient(circle at 50% 35%,#fffaeb59,#3c6e3c73);pointer-events:auto}.auth-card{display:flex;flex-direction:column;gap:.8rem;width:min(380px,100%);padding:1.5rem 1.5rem 1.25rem;border:3px solid var(--wood-dark);border-bottom-width:6px;border-radius:18px;background:var(--parchment);box-shadow:var(--shadow)}.auth-title{color:var(--wood-dark);font-size:2.4rem;letter-spacing:.03em;line-height:1;text-align:center;text-shadow:0 2px 0 #fff6df}.auth-logo{display:block;width:100%;height:auto}.auth-title-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.auth-tagline{color:var(--ink-soft);text-align:center}.auth-card .tabs{justify-content:center}.auth-card .tab.is-active{border-bottom-color:var(--parchment);background:var(--parchment)}.hud{position:absolute;inset:0;pointer-events:none}.hud-top-left,.hud-top-right,.hud-top-center,.hud-bottom-left,.hud-bottom-center,.hud-bottom-right{position:absolute;display:flex;flex-direction:column;gap:8px}.hud-top-left{top:var(--hud-gap);left:var(--hud-gap);width:var(--hud-left-width)}.hud-top-right{top:var(--hud-gap);right:var(--hud-gap);width:var(--hud-right-width)}.hud-top-center{top:var(--hud-gap);left:50%;transform:translate(-50%);align-items:center}.hud-bottom-left{bottom:var(--hud-gap);left:var(--hud-gap)}.hud-bottom-center{bottom:var(--hud-gap);left:50%;width:var(--hud-energy-width);transform:translate(-50%)}.hud-bottom-right{right:var(--hud-gap);bottom:var(--hud-gap)}.hud-top-right,.hud-bottom-center{z-index:25}.hud-card{display:flex;flex-direction:column;gap:.4rem;padding:.55rem .7rem;border:2px solid var(--wood-dark);border-bottom-width:4px;border-radius:14px;background:#f7ecd3f2;box-shadow:0 6px 16px #281a0a33;pointer-events:auto}.hud-player-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.hud-name{overflow:hidden;font-size:1.05rem;text-overflow:ellipsis;white-space:nowrap}.hud-skills{display:flex;flex-direction:column;gap:.25rem;padding:0;list-style:none}.hud-skill{display:grid;grid-template-columns:1fr auto;gap:.1rem .5rem;align-items:baseline;font-size:.85rem}.hud-skill-level{font-weight:700}.hud-skill .bar{grid-column:1 / -1}.hud-gems{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.1rem .5rem}.hud-gems .gems{font-size:1.3rem}.hud-usd{font-size:.8rem}.hud-resources{display:flex;justify-content:space-between;gap:.5rem;font-weight:700;font-variant-numeric:tabular-nums}.hud-resource{display:inline-flex;align-items:center;gap:.35rem}.hud-ticker{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.1rem .5rem;padding:.25rem .6rem;border:2px solid var(--line);border-radius:12px;background:var(--paper);font-size:.82rem;font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer}.hud-ticker:hover{border-color:var(--gem-deep)}.hud-ticker-entry{display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap}.hud-ticker-next{flex-basis:100%;font-size:.72rem;font-weight:400;text-align:center}.hud-energy-head{display:flex;align-items:baseline;gap:.6rem}.hud-energy-head>:last-child{margin-left:auto}.hud-eat{display:flex;align-items:center;gap:.4rem}.hud-eat-label{margin-right:auto;font-size:.85rem;font-weight:700}.hud-eat .input-amount{width:6.5rem;padding-block:.25rem}.hud-eat-note{color:var(--good);font-size:.85rem;font-weight:700;text-align:right}.hud-gathering{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.85rem}.hud-tools{gap:.3rem;width:250px}.hud-tool{--tier: var(--line);display:grid;grid-template-columns:auto minmax(0,1fr) 76px;gap:.4rem;align-items:center;min-height:30px;padding:.2rem .45rem;border:2px solid var(--tier);border-radius:10px;background:var(--paper);font-size:.8rem;text-align:left}button.hud-tool{cursor:pointer}button.hud-tool:hover{filter:brightness(1.04)}button.hud-tool:focus-visible{outline:3px solid var(--gem);outline-offset:1px}.hud-tool-name{overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.hud-tool-note{font-size:.72rem;text-align:right;white-space:nowrap}.hud-menu{display:flex;gap:.4rem;pointer-events:auto}.hud-tip{padding:.25rem .8rem;border:2px solid var(--wood-dark);border-radius:999px;background:#3b2a1ae0;color:#fff6df;font-size:.85rem;font-weight:700;white-space:nowrap}.panel-layer{position:absolute;inset:0;z-index:20;display:grid;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(var(--panel-clear-left),1fr) minmax(0,var(--panel-width)) minmax(var(--panel-clear-right),1fr);padding:1rem 0 var(--panel-clear-bottom);pointer-events:none}.panel-window{display:flex;flex-direction:column;grid-column:2;align-self:center;justify-self:center;width:100%;max-height:min(780px,100%);overflow:hidden;border:3px solid var(--wood-dark);border-bottom-width:6px;border-radius:18px;background:var(--parchment);box-shadow:var(--shadow);pointer-events:auto}.panel-window-gate{width:min(520px,100%)}.panel-header{display:flex;flex:none;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem .6rem .5rem 1rem;background:linear-gradient(var(--wood-light),var(--wood));color:#fff6df}.panel-title{letter-spacing:.02em;text-shadow:0 2px 0 rgba(60,38,16,.5)}.panel-close{position:relative;flex:none;width:30px;height:30px;border:2px solid var(--wood-dark);border-bottom-width:4px;border-radius:9px;background:linear-gradient(#e4634d,var(--bad));cursor:pointer}.panel-close:before,.panel-close:after{content:"";position:absolute;top:50%;left:50%;width:14px;height:3px;border-radius:2px;background:#fff}.panel-close:before{transform:translate(-50%,-50%) rotate(45deg)}.panel-close:after{transform:translate(-50%,-50%) rotate(-45deg)}.panel-close:hover{filter:brightness(1.1)}.panel-close:focus-visible{outline:3px solid var(--gem)}.panel-body{flex:1 1 auto;min-height:0;padding:.9rem 1rem 1rem;overflow-y:auto;scrollbar-color:var(--wood-light) transparent}.confirm-layer,.overlay{position:absolute;inset:0;display:grid;place-items:center;padding:1rem;pointer-events:auto}.confirm-layer{z-index:30;background:#281a0a59}.overlay{z-index:40;background:#281a0a8c}.overlay-loading{background:#78be968c}.confirm-card,.overlay-card{display:flex;flex-direction:column;align-items:center;gap:.7rem;width:min(400px,100%);padding:1.25rem 1.5rem;border:3px solid var(--wood-dark);border-bottom-width:6px;border-radius:18px;background:var(--parchment);box-shadow:var(--shadow);text-align:center}.confirm-actions,.overlay-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.overlay-actions:empty{display:none}.toasts{position:absolute;top:3.6rem;left:50%;z-index:50;display:flex;flex-direction:column;align-items:center;gap:6px;width:min(520px,calc(100% - 2rem));transform:translate(-50%);pointer-events:none}.toast{max-width:100%;padding:.45rem .9rem;border:2px solid var(--wood-dark);border-bottom-width:4px;border-radius:12px;background:var(--parchment);color:var(--ink);font-weight:700;text-align:center;box-shadow:0 6px 16px #281a0a40;cursor:pointer;pointer-events:auto;animation:toast-in .18s ease-out}.toast-success{border-color:#2c6a1c;background:var(--good-pale)}.toast-warning{border-color:#875204;background:var(--warn-pale)}.toast-error{border-color:#8f2414;background:var(--bad-pale)}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}}:where(.panel-body)>:where([class^=panel-]){display:flex;flex-direction:column;gap:.75rem}:is(.panel-market,.panel-backpack,.panel-village,.panel-gate) .card>.btn{align-self:flex-start}.panel-toolbar{display:flex;align-items:flex-end;gap:.75rem;border-bottom:2px solid var(--line)}.panel-toolbar .tabs{flex:1 1 auto;border-bottom:0}.panel-balance{margin-bottom:.35rem;font-size:1.05rem}.panel-market .load-error{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem}.tab-body{display:flex;flex-direction:column;gap:.75rem}.trade-head,.trade-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem}.trade-head .muted{margin-left:auto}.trade-price .gems{font-size:1.1rem}.trade-note{min-height:2.4em}.tool-group{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem}.panel-village>.card-grid:first-child{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch}.worker-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.worker-card.is-selected{border-color:var(--gem-deep);box-shadow:0 0 0 3px var(--gem-pale)}.worker-bars{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.bar-caption{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.15rem;font-size:.85rem;font-weight:700}.bar-caption .muted{font-size:.75rem;font-weight:400}.worker-stats{display:flex;flex-direction:column;gap:.15rem}.slot{display:flex;flex-direction:column;gap:.4rem;padding:.5rem .6rem;border:2px dashed var(--line);border-radius:10px;background:#f7ecd380}.slot-title{color:var(--ink-soft);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.slot .empty{padding:.2rem 0;text-align:left}.panel-exchange,.panel-stock,.panel-enchanter,.panel-auction{--px-line: color-mix(in srgb, currentColor 22%, transparent);--px-tint: color-mix(in srgb, currentColor 7%, transparent);--px-tint-strong: color-mix(in srgb, currentColor 14%, transparent);--px-good: #2f9e55;--px-bad: #d4483b;--px-warn: #c98a12;--px-info: #2f7fc1;--px-accent: #2f9e55;display:flex;flex-direction:column;gap:.75rem;min-width:0}.panel-exchange .px-heading,.panel-stock .px-heading,.panel-enchanter .px-heading,.panel-auction .px-heading{margin:0;font-size:1.05rem;line-height:1.3}.panel-exchange .px-loading,.panel-stock .px-loading,.panel-enchanter .px-loading,.panel-auction .px-loading{margin:.25rem 0;font-style:italic}.panel-exchange .px-selected,.panel-stock .px-selected,.panel-enchanter .px-selected,.panel-auction .px-selected{outline:2px solid var(--px-accent);outline-offset:-2px}.panel-exchange .px-notice,.panel-stock .px-notice,.panel-enchanter .px-notice,.panel-auction .px-notice{margin:0;line-height:1.45}.panel-exchange .px-notice-body>p,.panel-stock .px-notice-body>p,.panel-enchanter .px-notice-body>p,.panel-auction .px-notice-body>p{margin:0 0 .5rem}.panel-exchange .px-notice-body>button,.panel-stock .px-notice-body>button,.panel-enchanter .px-notice-body>button,.panel-auction .px-notice-body>button{margin-left:.35rem}.panel-exchange .px-notice-error,.panel-stock .px-notice-error,.panel-enchanter .px-notice-error,.panel-auction .px-notice-error{box-shadow:inset 4px 0 0 var(--px-bad)}.panel-exchange .px-notice-warning,.panel-stock .px-notice-warning,.panel-enchanter .px-notice-warning,.panel-auction .px-notice-warning{box-shadow:inset 4px 0 0 var(--px-warn)}.panel-exchange .px-notice-info,.panel-stock .px-notice-info,.panel-enchanter .px-notice-info,.panel-auction .px-notice-info,.panel-exchange .px-notice-success,.panel-stock .px-notice-success,.panel-enchanter .px-notice-success,.panel-auction .px-notice-success{padding:.6rem .75rem;border-radius:4px}.panel-exchange .px-notice-info,.panel-stock .px-notice-info,.panel-enchanter .px-notice-info,.panel-auction .px-notice-info{box-shadow:inset 4px 0 0 var(--px-info);background:color-mix(in srgb,var(--px-info) 10%,transparent)}.panel-exchange .px-notice-success,.panel-stock .px-notice-success,.panel-enchanter .px-notice-success,.panel-auction .px-notice-success{box-shadow:inset 4px 0 0 var(--px-good);background:color-mix(in srgb,var(--px-good) 12%,transparent)}.panel-exchange .px-pay,.panel-exchange .px-review,.panel-exchange .px-done,.panel-enchanter .px-result,.panel-enchanter .px-offer,.panel-auction .px-confirm,.panel-auction .px-sell-form{scroll-margin:.75rem}.panel-exchange .px-info-row,.panel-stock .px-info-row,.panel-enchanter .px-info-row,.panel-auction .px-info-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.15rem 0}.panel-exchange .px-info-value,.panel-stock .px-info-value,.panel-enchanter .px-info-value,.panel-auction .px-info-value{text-align:right;min-width:0;overflow-wrap:anywhere}.panel-exchange .px-actions,.panel-enchanter .px-actions,.panel-auction .px-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:.25rem}.panel-exchange .px-list,.panel-enchanter .px-list,.panel-auction .px-list{display:flex;flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none}.panel-exchange .px-form-grid,.panel-auction .px-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.6rem .75rem}.panel-exchange .px-preview,.panel-auction .px-preview{padding:.4rem .6rem;border-radius:4px;background:var(--px-tint)}.panel-enchanter .px-confirm,.panel-auction .px-confirm{padding:.6rem .75rem;border:2px solid var(--px-warn);border-radius:6px;background:color-mix(in srgb,var(--px-warn) 10%,transparent)}.panel-enchanter .px-confirm>p,.panel-auction .px-confirm>p{margin:0 0 .5rem;line-height:1.45}.panel-enchanter .px-tool,.panel-auction .px-tool{display:flex;flex-direction:column;gap:.3rem;min-width:0}.panel-enchanter .px-tool-title,.panel-auction .px-tool-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .6rem}.panel-enchanter .px-tool-enchants,.panel-auction .px-tool-enchants{display:flex;flex-wrap:wrap;gap:.3rem}.panel-enchanter .px-enchant-pill,.panel-auction .px-enchant-pill{box-shadow:inset 0 0 0 1px var(--px-accent)}.panel-enchanter .px-tool-durability,.panel-auction .px-tool-durability{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem}.panel-enchanter .px-tool-durability .px-meter,.panel-auction .px-tool-durability .px-meter{flex:1 1 4rem;min-width:4rem}.panel-enchanter .px-tool-option,.panel-auction .px-tool-option{display:flex;flex-direction:column;gap:.4rem}.panel-enchanter .px-tool-option>.px-actions,.panel-auction .px-tool-option>.px-actions{justify-content:space-between}.panel-enchanter .px-tool-option>.px-actions>button,.panel-auction .px-tool-option>.px-actions>button{margin-left:auto}.panel-exchange .px-buy,.panel-exchange .px-deposit,.panel-exchange .px-withdraw,.panel-exchange .px-history{display:flex;flex-direction:column;gap:.75rem}.panel-exchange .px-packages{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}@media (max-width: 640px){.panel-exchange .px-packages{grid-template-columns:repeat(2,minmax(0,1fr))}}.panel-exchange .px-package{display:flex;flex-direction:column;gap:.3rem}.panel-exchange .px-package-name{margin:0;font-size:1rem}.panel-exchange .px-package-gems{font-size:1.35rem;font-weight:700;line-height:1.2}.panel-exchange .px-package-price{font-size:1.1rem;font-weight:600}.panel-exchange .px-package-bonus{min-height:2.6em;line-height:1.3}.panel-exchange .px-package-withdraw{padding:.25rem .4rem;border-radius:4px;background:var(--px-tint-strong);font-weight:600}.panel-exchange .px-package>button{margin-top:auto}.panel-exchange .px-pay,.panel-exchange .px-payin,.panel-exchange .px-review,.panel-exchange .px-withdraw-form,.panel-exchange .px-limits{display:flex;flex-direction:column;gap:.6rem}.panel-exchange .px-pay p,.panel-exchange .px-payin p,.panel-exchange .px-quote p,.panel-exchange .px-limits p,.panel-exchange .px-history-row p{margin:0;line-height:1.45}.panel-exchange .px-quote{display:flex;flex-direction:column;gap:.25rem;padding:.5rem .6rem;border-radius:4px;background:var(--px-tint)}.panel-exchange .px-deposit-head,.panel-exchange .px-history-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem .75rem}.panel-exchange .px-status-detail{margin:0}.panel-exchange .px-copy-row{display:flex;align-items:stretch;gap:.5rem}.panel-exchange .px-copy-value{flex:1 1 auto;min-width:0;padding:.35rem .5rem;border:1px dashed var(--px-line);border-radius:4px;background:var(--px-tint);font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.9em;overflow-wrap:anywhere;user-select:all}.panel-exchange .px-dev{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;outline:1px dashed var(--px-line);outline-offset:-4px}.panel-exchange .px-amount-row{display:flex;align-items:stretch;gap:.5rem}.panel-exchange .px-amount-row>input{flex:1 1 auto;min-width:0}.panel-exchange .px-history-row{display:flex;flex-direction:column;gap:.2rem}.panel-exchange .px-history>section{display:flex;flex-direction:column;gap:.5rem}.panel-exchange .px-note{padding:.3rem .5rem;border-left:3px solid var(--px-line);background:var(--px-tint)}.panel-stock .px-prices{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.panel-stock .px-price-card{display:flex;flex-direction:column;gap:.35rem}.panel-stock .px-price-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.panel-stock .px-price-name{font-size:1.05rem}.panel-stock .px-price-now{font-size:1.5rem;font-weight:700;line-height:1.2}.panel-stock .px-price-now>:last-child{font-size:.8rem;font-weight:400}.panel-stock .px-price-change,.panel-stock .px-price-band{font-size:.9rem;font-variant-numeric:tabular-nums}.panel-stock .px-chart-card{display:flex;flex-direction:column;gap:.5rem}.panel-stock .px-chart-card p{margin:0}.panel-stock .px-chart-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem}.panel-stock .px-chart{display:block;width:100%;height:auto;border-radius:4px;background:var(--px-tint);font-variant-numeric:tabular-nums}.panel-stock .px-chart-grid{stroke:var(--px-line);stroke-width:1;opacity:.6}.panel-stock .px-chart-band{stroke:currentColor;stroke-width:1;stroke-dasharray:5 4;opacity:.55}.panel-stock .px-chart-tick{stroke:currentColor;stroke-width:1;opacity:.5}.panel-stock .px-chart-label{fill:currentColor;font-size:11px;opacity:.8}.panel-stock .px-chart-caption{fill:currentColor;font-size:10px;opacity:.55;text-transform:uppercase;letter-spacing:.06em}.panel-stock .px-chart-area{fill:var(--px-accent);opacity:.16;stroke:none}.panel-stock .px-chart-line{stroke:var(--px-accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.panel-stock .px-chart-dot{fill:var(--px-accent);stroke:currentColor;stroke-width:1}.panel-stock .px-chart-cursor{stroke:currentColor;stroke-width:1;opacity:.45}.panel-stock .px-chart-readout{fill:currentColor;font-size:12px;font-weight:600}.panel-stock .px-chart-stats{display:flex;flex-wrap:wrap;gap:0 2rem}.panel-stock .px-chart-stats .px-info-row{justify-content:flex-start;gap:.5rem}.panel-enchanter .px-enchant-layout{display:grid;grid-template-columns:minmax(14rem,1fr) minmax(18rem,1.6fr);gap:1rem;align-items:start}.panel-enchanter .px-enchant-tools,.panel-enchanter .px-enchant-detail{display:flex;flex-direction:column;gap:.6rem;min-width:0}.panel-enchanter .px-slots{display:flex;flex-direction:column;gap:.4rem}.panel-enchanter .px-slot-row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}.panel-enchanter .px-slot-free{outline:1px dashed var(--px-line);outline-offset:-1px;opacity:.8}.panel-enchanter .px-choice{display:flex;flex-direction:column;gap:.35rem}.panel-enchanter .px-choice-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem .75rem}.panel-enchanter .px-choice-text{margin:0}.panel-enchanter .px-choice>.px-actions{justify-content:space-between}.panel-enchanter .px-ladder{display:flex;flex-direction:column;gap:.1rem;margin:0;padding:0;list-style:none;font-size:.92rem}.panel-enchanter .px-ladder-step{padding:.1rem .4rem;border-radius:3px;opacity:.75}.panel-enchanter .px-ladder-level{display:inline-block;min-width:1.6em;font-weight:700}.panel-enchanter .px-ladder-done{opacity:1;color:var(--px-good)}.panel-enchanter .px-ladder-next{opacity:1;background:var(--px-tint-strong);font-weight:600}.panel-enchanter .px-offer{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem;padding-top:.6rem;border-top:2px dashed var(--px-line)}.panel-enchanter .px-offer>p,.panel-enchanter .px-enchant-detail>p{margin:0;line-height:1.45}.panel-enchanter .px-fail-warning{line-height:1.45}.panel-enchanter .px-fail-costly{outline:2px solid var(--px-bad);outline-offset:1px}.panel-enchanter .px-result{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:.75rem .9rem;border:2px solid var(--px-line);border-radius:6px}.panel-enchanter .px-result p{margin:0;line-height:1.45}.panel-enchanter .px-result-title{font-size:1.3rem;line-height:1.2}.panel-enchanter .px-result-success{border-color:var(--px-good);background:color-mix(in srgb,var(--px-good) 14%,transparent);animation:px-enchant-success .9s ease-out 1}.panel-enchanter .px-result-success .px-result-title{color:var(--px-good)}.panel-enchanter .px-result-fail{border-color:var(--px-bad);background:color-mix(in srgb,var(--px-bad) 12%,transparent);animation:px-enchant-fail .6s ease-out 1}.panel-enchanter .px-result-fail .px-result-title{color:var(--px-bad)}@keyframes px-enchant-success{0%{transform:scale(.94);box-shadow:0 0 color-mix(in srgb,#2f9e55 70%,transparent)}45%{transform:scale(1.02);box-shadow:0 0 0 14px color-mix(in srgb,#2f9e55 0%,transparent)}to{transform:scale(1);box-shadow:0 0 0 0 transparent}}@keyframes px-enchant-fail{0%,to{transform:translate(0)}15%{transform:translate(-9px)}30%{transform:translate(8px)}45%{transform:translate(-6px)}60%{transform:translate(4px)}75%{transform:translate(-2px)}}@media (prefers-reduced-motion: reduce){.panel-enchanter .px-result-success,.panel-enchanter .px-result-fail{animation:none}}@media (max-width: 720px){.panel-enchanter .px-enchant-layout{grid-template-columns:1fr}}.panel-auction .px-browse,.panel-auction .px-sell,.panel-auction .px-mine{display:flex;flex-direction:column;gap:.75rem}.panel-auction .px-browse p,.panel-auction .px-sell p,.panel-auction .px-mine p{margin:0;line-height:1.45}.panel-auction .px-listing{display:flex;flex-direction:column;gap:.45rem}.panel-auction .px-listing-own{outline:1px dashed var(--px-line);outline-offset:-4px}.panel-auction .px-listing-meta,.panel-auction .px-listing-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem 1rem}.panel-auction .px-listing-price{font-size:1.15rem;font-weight:700}.panel-auction .px-sell-form{display:flex;flex-direction:column;gap:.6rem;margin-top:.25rem;padding-top:.6rem;border-top:2px dashed var(--px-line)}
