:root{--bg:#1b1e45;--bg-top:#11132e;--panel:#2b2f6e;--surface:#3a3f96;--tile:#4d56c6;--tile-hi:#6673ee;--border:#464cab;--text:#eef0ff;--muted:#a7acec;--accent:#c9f24a;--accent-strong:#8fd63c;--accent-soft:#33396f;--title:#f08a24;--danger:#e0507a;--radius:10px;--font-title:"Chakra Petch", "Segoe UI", sans-serif;--font-body:"Exo 2", "Segoe UI", sans-serif;color-scheme:dark}*{box-sizing:border-box}body{color:var(--text);font:16px/1.5 var(--font-body);background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='98' viewBox='0 0 56 98'%3E%3Cpath d='M28 66L0 50V16L28 0l28 16v34L28 66zm0 32L0 82V66l28 16 28-16v16L28 98z' fill='none' stroke='%23ffffff' stroke-opacity='0.035' stroke-width='2'/%3E%3C/svg%3E");margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}main{max-width:1180px;margin:0 auto;padding:24px 16px 56px}h1,h2,h3,.title-font{font-family:var(--font-title);text-transform:uppercase;letter-spacing:.02em;overflow-wrap:break-word;hyphens:auto;line-height:1.15}h1{color:var(--accent);margin:0 0 8px;font-size:clamp(1.8rem,4vw,2.6rem)}h2{color:var(--title);margin:36px 0 12px;font-size:1.35rem}h3{color:var(--muted);font-size:1.05rem}.site-header{background:var(--bg-top);flex-wrap:wrap;align-items:stretch;gap:16px;padding:10px 16px 0;display:flex}.brand{font:700 1.3rem/1 var(--font-title);text-transform:uppercase;color:var(--text);align-items:center;gap:10px;padding-bottom:10px;display:flex}.brand-text{gap:3px;display:grid}.brand-sub{letter-spacing:.08em;font-size:.72em}.brand b{color:#4fe0c0}.brand:hover{text-decoration:none}.brand-logo{flex:none;width:36px;height:36px}.nav-toggle{display:none}@media (hover:hover) and (pointer:fine){[data-drag-scroll]{cursor:grab}[data-drag-scroll].dragging,[data-drag-scroll].dragging *{cursor:grabbing;user-select:none}}.chip-panel [data-progress-count]{margin:0 0 8px}.chip-panel [data-progress-count]:empty{display:none}.site-header nav{flex-wrap:wrap;flex:1;align-items:flex-end;gap:6px;display:flex}@media (width>=980px){.site-header nav{justify-content:center}}.site-header nav a{border-radius:var(--radius) var(--radius) 0 0;white-space:nowrap;background:var(--panel);color:var(--muted);font:700 .95rem/1 var(--font-title);text-transform:uppercase;padding:10px 16px}.site-header nav a:hover{background:var(--surface);color:var(--text);text-decoration:none}.site-header nav a[aria-current=page]{background:var(--tile-hi);color:var(--accent);padding-top:14px}.site-footer{max-width:1180px;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin:0 auto;padding:16px;font-size:.85rem;display:flex}.muted{color:var(--muted)}.icon{image-rendering:pixelated;object-fit:contain;vertical-align:middle;width:24px;height:24px}.icon-lg{width:72px;height:72px}.ref{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.qty{font-variant-numeric:tabular-nums;color:var(--muted)}.panel{background:var(--panel);border-radius:calc(var(--radius) * 1.6);padding:16px}.grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.card{background:var(--surface);border-radius:var(--radius);color:var(--text);align-items:center;gap:10px;padding:10px 12px;display:flex}.card:hover{background:var(--tile-hi);text-decoration:none}.card .icon{width:32px;height:32px}.table-wrap{border-radius:var(--radius);overflow-x:auto}table{border-collapse:separate;border-spacing:0 4px;background:0 0;width:100%}th{text-align:left;color:var(--muted);font:700 .8rem var(--font-title);text-transform:uppercase;padding:6px 10px}td{background:var(--surface);vertical-align:middle;padding:8px 10px}td:first-child{border-radius:var(--radius) 0 0 var(--radius)}td:last-child{border-radius:0 var(--radius) var(--radius) 0}td .ref+.ref{margin-left:10px}.page-head{align-items:center;gap:16px;margin-bottom:8px;display:flex}.page-head .icon-lg{background:var(--tile);border-radius:var(--radius);width:88px;height:88px;padding:8px}.facts{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.facts div{background:var(--surface);border-radius:var(--radius);gap:6px;padding:6px 12px;display:flex}.facts dt{color:var(--muted)}.facts dd{color:var(--accent);margin:0;font-weight:700}input,select,button{font:inherit;color:var(--text);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);padding:6px 10px}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}button{cursor:pointer;font-family:var(--font-title);text-transform:uppercase;font-weight:700}button:hover{background:var(--tile)}button.primary{background:var(--accent-strong);color:#13240a;border-color:var(--accent-strong)}button.primary:hover{background:var(--accent)}ul.plain{gap:6px;margin:0;padding:0;list-style:none;display:grid}button.link{color:var(--accent);background:0 0;border:none;padding:0 4px}h3{flex-wrap:wrap;align-items:center;gap:8px;margin:20px 0 8px;font-size:1rem;display:flex}.icon-md{width:32px;height:32px}.icon-inline{width:18px;height:18px;margin:0 2px}.small{margin:4px 0;font-size:.9rem}.research-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;display:grid}.research{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.research header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.research .ref{margin-right:8px}.tips{padding-left:20px}.tips h2{margin:20px 0 4px;font-size:1.05rem}.tips p{margin:0}.calc-options{gap:8px;display:grid}.calc-options label{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.calc-options select,.machine-bonus select{min-width:0;max-width:100%}.notice{color:var(--muted);font-size:.9rem}.research{scroll-margin-top:16px}.research:target{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent);animation:1.2s ease-out target-flash}@keyframes target-flash{0%{background:var(--accent-soft)}to{background:var(--surface)}}@media (prefers-reduced-motion:reduce){.research:target{animation:none}}tr:target td{background:var(--accent-soft)}html[data-spoiler=hide] [data-gate]:not(.gate-open){cursor:not-allowed;user-select:none;position:relative}html[data-spoiler=hide] .ref[data-gate]:not(.gate-open)>*{display:none}html[data-spoiler=hide] .ref[data-gate]:not(.gate-open):before{content:"🔒 ???";color:var(--muted)}html[data-spoiler=hide] .tile-card[data-gate]:not(.gate-open){opacity:.5;order:1}html[data-spoiler=hide] .tile-card[data-gate]:not(.gate-open)>*{visibility:hidden}html[data-spoiler=hide] .tile-card[data-gate]:not(.gate-open):after{content:"🔒";place-items:center;font-size:1.6rem;display:grid;position:absolute;inset:0}html[data-spoiler=hide] .gate-block[data-gate]:not(.gate-open){cursor:default}html[data-spoiler=hide] .gate-block[data-gate]:not(.gate-open) .gate-content,.spoiler-msg{display:none}html[data-spoiler=hide] .gate-block[data-gate]:not(.gate-open) .spoiler-msg{background:var(--panel);border-left:6px solid var(--tile-hi);border-radius:var(--radius);margin-bottom:12px;padding:16px 20px;font-weight:600;display:block}button.toggle{padding:2px 8px;font-size:.8rem}button.toggle[aria-pressed=true]{background:var(--tile-hi);border-color:var(--tile-hi);color:var(--accent)}button.toggle[aria-pressed=true]:before{content:"✓ "}.gem-acc{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:12px}.gem-acc-title{text-align:center;color:#f08a24;letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px;font-weight:700}.gem-acc-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.gem-card{border-radius:var(--radius);background:var(--bg);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:12px 8px;display:flex;position:relative}.gem-card-name{text-transform:uppercase;color:var(--muted);align-items:center;min-height:2.4em;font-weight:700;display:flex}.gem-card-building{object-fit:contain;width:72px;height:72px;image-rendering:pixelated}.gem-slot{background:var(--surface);border:2px solid var(--border);place-items:center;width:52px;height:52px;padding:0;font-size:1.4rem;display:grid}.gem-slot img{width:36px;height:36px;image-rendering:pixelated}.gem-slot[aria-expanded=true]{border-color:var(--accent)}.gem-card-bonus{color:var(--muted);text-transform:uppercase;flex-direction:column;font-size:.8rem;display:flex}.gem-card-bonus strong{color:var(--text);font-size:1.4rem}.gem-card-group{font-size:.75rem}.gem-picker{z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(3,auto);gap:4px;padding:6px;display:grid;position:absolute;top:100%}.gem-picker button{flex-direction:column;align-items:center;gap:2px;padding:4px;font-size:.75rem;display:flex}.gem-picker img{width:28px;height:28px;image-rendering:pixelated}.gem-picker [aria-selected=true]{border-color:var(--accent)}.skill-layout{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=900px){.skill-layout{grid-template-columns:minmax(0,1fr) 260px}}.skill-tree-wrap{border-radius:var(--radius);overflow:auto hidden}.skill-tree{border-radius:var(--radius);background:radial-gradient(circle at 58%,#4b2bb0,#2c1878 75%);min-width:560px;position:relative}.skill-links{width:100%;height:100%;position:absolute;inset:0}.skill-links line{stroke:#6d55c9;stroke-width:6px}.skill-links line.owned{stroke:#b6e33b}.skill-links .manual-column{fill:#5a3cc8}.skill-node,.skill-center,.branch-label,.manual-threshold{position:absolute;transform:translate(-50%,-50%)}.skill-node{aspect-ratio:1;clip-path:polygon(25% 3%,75% 3%,100% 50%,75% 97%,25% 97%,0 50%);filter:saturate(.35)brightness(.7);background:#3a2390;border:none;place-items:center;padding:6%;display:grid}.skill-node img{object-fit:contain;width:64%;height:64%;image-rendering:pixelated;position:absolute;top:18%;left:18%}.skill-node.available{filter:none;background:#6a4fd6}.skill-node[aria-pressed=true]{filter:none;background:#c8ee45}.skill-node:hover{filter:none;background:#fff;outline:none}.skill-node:focus-visible{filter:brightness(1.25);outline:none}.skill-center{aspect-ratio:1;background:#5b3fd0;border-radius:50%;place-items:center;font-size:clamp(14px,3vw,30px);display:grid}.branch-label{color:#7e63e6;letter-spacing:.04em;white-space:nowrap;font-size:clamp(12px,2vw,22px);font-weight:800}.manual-threshold{color:#7e63e6;font-size:clamp(12px,1.6vw,18px);font-weight:800}.skill-info{border-radius:var(--radius);color:#e8e6e1;text-align:center;background:#0f2547;align-self:start;padding:14px;position:sticky;top:12px}.skill-info h2{color:#d9f24a;text-transform:uppercase;margin:0 0 8px;font-size:1.1rem}.skill-info .muted{color:#9fb0cc}.skill-info-icon{width:72px;height:72px;image-rendering:pixelated}.rcard{cursor:pointer;user-select:none;border-radius:6px;flex-direction:column;scroll-margin-top:16px;display:flex;overflow:hidden}.rcard:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.rcard:target{box-shadow:0 0 0 3px var(--accent)}.rcard header{text-transform:uppercase;padding:4px 8px;font-size:.8rem;font-weight:800;line-height:1.2}.rcard-body{flex-wrap:wrap;flex:1;justify-content:center;align-items:center;gap:6px;min-height:48px;padding:6px;display:flex}.rcard-body img{width:32px;height:32px;image-rendering:pixelated;object-fit:contain}.rcard footer{text-transform:uppercase;justify-content:center;align-items:center;gap:6px;min-height:26px;padding:4px 6px;font-size:.8rem;font-weight:800;display:flex}.rcard-cost{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rcard-cost img{width:16px;height:16px;image-rendering:pixelated;vertical-align:middle}.rcard footer>span{display:none}.rcard-machine{color:#222;background:#9b9b9b}.rcard-machine header{color:#e8e8e8;background:#2b2b2b}.rcard-machine footer{color:#bbb;background:#2b2b2b}.rcard-machine .when-locked{display:inline}.rcard-machine.r-available{background:#9cc0e3}.rcard-machine.r-available footer{color:#ffb3b3;background:#6b2d3a}.rcard-machine.r-available .when-locked{display:none}.rcard-machine.r-available .when-available{display:flex}.rcard-machine[aria-pressed=true]{background:#f6c53c}.rcard-machine[aria-pressed=true] header{color:#fff3c4;background:#8a5a06}.rcard-machine[aria-pressed=true] footer{color:#ffd76a;background:#8a5a06}.rcard-machine[aria-pressed=true] footer>span{display:none}.rcard-machine[aria-pressed=true] .when-done{display:inline}.rcard-shop{color:#fff;background:#7b5fd6;padding:6px 6px 0}.rcard-shop .rcard-body{min-height:64px}.rcard-shop .rcard-body img{width:48px;height:48px}.rcard-shop .rcard-name{text-align:center;text-transform:uppercase;padding:0 4px 4px;font-size:.8rem;font-weight:800}.rcard-shop footer{color:#b6f24a;background:#6a4fc4;margin:0 -6px;font-size:.95rem}.rcard-shop .when-available{display:flex}.rcard-shop[aria-pressed=true]{color:#c98e12;background:#f6c53c}.rcard-shop[aria-pressed=true] footer{color:#fff3c4;background:#d99c18}.rcard-shop[aria-pressed=true] footer>span{display:none}.rcard-shop[aria-pressed=true] .when-done{display:inline}.rcard-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.rtree-wrap{border-radius:var(--radius);background:#17598f;padding:8px;overflow-x:auto}.rtree{position:relative}.rtree-links{position:absolute;inset:0}.rtree-links path{fill:none;stroke:#3aa3ff;stroke-width:3px}.rtree .rcard header,.rtree .rcard footer{font-size:.7rem}.shop-row{border-top:1px solid var(--border);grid-template-columns:1fr;gap:10px;padding:10px 0;display:grid}@media (width>=700px){.shop-row{grid-template-columns:140px 1fr}}.shop-tier{color:#f08a24;text-transform:uppercase;align-self:center;font-weight:800}details>summary{cursor:pointer}details>summary h2{display:inline}.skill-center img{width:60%;height:60%;image-rendering:pixelated;object-fit:contain}.inv-list{border-radius:var(--radius);background:#2e1d44;gap:2px;max-width:640px;display:grid;overflow:hidden}.inv-row{color:#e8dcff;cursor:pointer;background:#3a2656;align-items:center;gap:16px;padding:12px 16px;display:flex}.inv-row:nth-child(2n){background:#33214c}.inv-icon{background:#5a2d4f;border-radius:50%;flex:none;place-items:center;width:56px;height:56px;display:grid}.inv-icon img{width:40px;height:40px;image-rendering:pixelated}.inv-text{flex-direction:column;display:flex}.inv-name{text-transform:uppercase}.inv-status{text-transform:uppercase;color:#e0507a;font-weight:800}.inv-row .when-done,.inv-row .inv-unknown{display:none}.inv-row[aria-pressed=true]{background:#8a2f5c}.inv-row[aria-pressed=true] .when-done{color:#b6f24a;display:inline}.inv-row[aria-pressed=true] .when-todo{display:none}.inv-row.r-hidden{cursor:default}.inv-row.r-hidden .inv-icon img,.inv-row.r-hidden .inv-name,.inv-row.r-hidden .inv-status{display:none}.inv-row.r-hidden .inv-unknown{color:#1b0f2a;font-size:1.6rem;display:inline}.house-list{gap:10px;max-width:640px;display:grid}.house-row{border-radius:var(--radius);color:#e8dcff;cursor:pointer;background:#5b4a8a;border:3px solid #0000;align-items:center;gap:16px;padding:12px 16px;display:flex;position:relative}.house-icon img{width:56px;height:56px;image-rendering:pixelated}.house-text{text-transform:uppercase;flex-direction:column;flex:1;display:flex}.house-comfort{color:#c9b8f0}.house-cost{color:#b6f24a;font-weight:800}.house-lock{font-size:1.6rem;display:none}.house-row[aria-pressed=true]{border-color:#b6f24a}.house-row[aria-pressed=true] .house-cost:after{content:" ✓"}.house-row:not(.r-available):not([aria-pressed=true])>:not(.house-lock){visibility:hidden}.house-row:not(.r-available):not([aria-pressed=true]) .house-lock{display:block;position:absolute;top:50%;left:28px;transform:translateY(-50%)}.house-row:not(.r-available):not([aria-pressed=true]){cursor:default;min-height:80px}.comfort-table th,.comfort-table td{text-align:center}.deco-category h3{text-transform:uppercase;color:var(--muted)}.deco-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.deco .rcard-name{font-size:.7rem}.deco-meta{color:#e8dcff;flex-direction:column;align-items:center;padding-bottom:4px;font-size:.7rem;display:flex}.rcard-shop.deco:not([data-requires-research=""]):not(.r-available):not([aria-pressed=true])>:not(footer){visibility:hidden}.rcard-shop.deco:not([data-requires-research=""]):not(.r-available):not([aria-pressed=true]) .when-available{display:none}.rcard-shop.deco:not([data-requires-research=""]):not(.r-available):not([aria-pressed=true]) .when-locked{display:inline}.header-tools{align-items:center;gap:8px;padding-bottom:10px;display:flex}.spoiler-chip,.lang-picker{position:relative}.spoiler-chip>summary,.lang-picker>summary{cursor:pointer;background:var(--panel);color:var(--text);font:700 .85rem var(--font-title);text-transform:uppercase;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;list-style:none;display:flex}.spoiler-chip>summary::-webkit-details-marker,.lang-picker>summary::-webkit-details-marker{display:none}.spoiler-chip>summary:hover,.lang-picker>summary:hover{background:var(--surface)}.chip-panel,.lang-picker ul{z-index:20;background:var(--panel);border:2px solid var(--border);border-radius:calc(var(--radius) * 1.4);width:min(360px,100vw - 32px);padding:14px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 30px #0006}.lang-picker ul{grid-template-columns:repeat(2,1fr);gap:2px 12px;width:min(320px,100vw - 32px);margin:0;list-style:none;display:grid}.lang-picker a{color:var(--text);border-radius:6px;padding:4px 6px;display:block}.lang-picker a:hover{background:var(--surface);text-decoration:none}.lang-picker a[aria-current=true]{color:var(--accent);font-weight:700}html:not([data-spoiler=hide]) .spoiler-chip .when-hidden,html[data-spoiler=hide] .spoiler-chip .when-shown{display:none}.spoiler-actions{flex-wrap:wrap;gap:8px;display:flex}.button-like{cursor:pointer;border-radius:var(--radius);border:2px solid var(--border);background:var(--surface);color:var(--text);font:700 .9rem var(--font-title);text-transform:uppercase;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.button-like:hover{background:var(--tile);text-decoration:none}.welcome{max-width:1180px;margin:20px auto 0;padding:0 16px;display:none}html[data-spoiler=unset] .welcome{display:block}.welcome-panel{border-radius:calc(var(--radius) * 1.6);background:var(--panel);border:3px solid var(--tile-hi);padding:20px}.welcome-panel h2{color:var(--accent);margin:0 0 8px}.chips{flex-wrap:wrap;gap:6px;margin:8px 0 16px;display:flex}.tile{background:var(--tile);border-radius:var(--radius);place-items:center;display:inline-grid}.tile img{image-rendering:pixelated;object-fit:contain}.hero{border-radius:calc(var(--radius) * 2);background:var(--panel);grid-template-columns:1fr;align-items:center;gap:24px;padding:28px;display:grid}@media (width>=860px){.hero{grid-template-columns:1.2fr 1fr}}.hero h1{margin-bottom:4px;font-size:clamp(2.2rem,6vw,3.6rem)}.hero p{color:var(--muted);font-size:1.1rem}.hero-cta{background:var(--accent-strong);border-color:var(--accent-strong);color:#13240a;padding:10px 18px;font-size:1.05rem}.hero-cta:hover{background:var(--accent)}.hero-tiles{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.hero-tiles .tile{aspect-ratio:1;padding:12%}.hero-tiles .tile img{width:100%;height:100%}.base-promo{border-radius:calc(var(--radius) * 1.6);background:var(--panel);border:2px solid var(--accent-soft);flex-wrap:wrap;align-items:center;gap:16px 20px;margin-top:24px;padding:18px 20px;display:flex}.base-promo .tile{flex:none;width:72px;height:72px}.base-promo .tile img{width:52px;height:52px}.base-promo-text{flex:280px}.base-promo h2{color:var(--title);margin:0 0 4px}.base-promo p{margin:0}.base-promo:not(.has-base) .when-imported,.base-promo.has-base .when-empty{display:none}.collection{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:24px;display:grid}.collection-card{border-radius:calc(var(--radius) * 1.6);background:var(--tile);color:var(--text);grid-template-rows:auto 1fr;grid-template-columns:1fr auto;align-items:center;padding:18px 20px;display:grid}.collection-card:hover{background:var(--tile-hi);text-decoration:none}.collection-label{font:700 1.2rem var(--font-title);text-transform:uppercase;color:var(--muted)}.collection-count{font:700 2.6rem/1 var(--font-title);color:var(--text)}.collection-count b{color:var(--accent)}.collection-card .tile{background:var(--panel);grid-area:1/2/3;width:96px;height:96px}.collection-card .tile img{width:64px;height:64px}.sections{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:16px;display:grid}.section-card{border-radius:calc(var(--radius) * 1.4);background:var(--surface);color:var(--text);align-items:center;gap:12px;padding:12px;font-size:1.05rem;display:flex}.section-card:hover{background:var(--tile-hi);text-decoration:none}.section-card .tile{width:52px;height:52px}.section-card .tile img{width:36px;height:36px}.section-card .qty{margin-left:auto}.calc-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.calc-head{border-radius:calc(var(--radius) * 1.6);background:var(--panel);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.targets{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.target{align-items:center;gap:12px;display:flex;position:relative}.target-icon{background:var(--tile);border:4px solid var(--tile-hi);border-radius:50%;place-items:center;width:88px;height:88px;padding:0;display:grid}.target-icon:hover{background:var(--tile-hi);border-color:var(--accent)}.target-icon img{image-rendering:pixelated}.target-fields{flex-direction:column;gap:6px;display:flex}.target-name{font:700 1.1rem var(--font-title);text-transform:uppercase}.stepper{align-items:center;gap:4px;display:inline-flex}.stepper input{text-align:right;width:84px;color:var(--accent);font-weight:700}.stepper button{width:32px;padding:4px 0}.target-remove{border-radius:50%;width:26px;height:26px;padding:0;font-size:.75rem;position:absolute;top:-6px;left:64px}.target-add{background:0 0;border-style:dashed;border-radius:50%;width:56px;height:56px;padding:0;font-size:1.6rem}.calc-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.calc-layout{grid-template-columns:1fr;gap:16px;margin-top:16px;display:grid}@media (width>=980px){.calc-layout{grid-template-columns:minmax(0,1fr) 300px}}.calc-main,.calc-side{align-content:start;gap:16px;display:grid}.calc .panel h2{margin-top:0}.calc-cols{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.big-num{font:700 1.3rem var(--font-title);color:var(--accent)}.tree{gap:3px;display:grid}.tree-row{padding:6px 12px 6px calc(12px + var(--depth) * 26px);border-radius:var(--radius);background:color-mix(in srgb, var(--surface) calc(100% - var(--depth) * 12%), var(--panel));grid-template-columns:24px 96px 1fr auto;align-items:center;gap:8px;display:grid}.tree-toggle{width:24px;height:24px;color:var(--muted);background:0 0;border:none;padding:0;font-size:.9rem}.tree-machines{align-items:center;gap:4px;display:inline-flex}.tree-machines b{font:700 1.15rem var(--font-title);color:var(--accent)}.tree-item{align-items:center;gap:8px;min-width:0;font-weight:600;display:inline-flex}.tree-rate b{color:var(--accent)}.bonus-list{gap:6px;margin:0 0 8px;padding:0;list-style:none;display:grid}.bonus-list a{border-radius:var(--radius);background:var(--surface);color:var(--text);align-items:center;gap:10px;padding:8px;display:flex}.bonus-list a:hover{background:var(--tile-hi);text-decoration:none}.bonus-list span{flex-direction:column;display:flex}.machine-bonus{border-radius:var(--radius);background:var(--surface);gap:6px;padding:8px;display:grid}.picker-backdrop{z-index:50;background:#0a0c1eb3;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.picker{border-radius:calc(var(--radius) * 1.6);background:var(--panel);border:3px solid var(--tile-hi);flex-direction:column;gap:10px;width:min(900px,100%);max-height:calc(100dvh - 32px);padding:16px;display:flex}.picker-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.picker-head h2{color:var(--accent);margin:0}.picker-close{border-radius:50%;width:36px;height:36px;padding:0}.picker-search{width:100%}.picker-tabs{flex-wrap:wrap;gap:4px;display:flex}.picker-tabs button{align-items:center;gap:6px;padding:4px 10px;font-size:.8rem;display:inline-flex}.picker-tabs button img{width:20px;height:20px;image-rendering:pixelated}.picker-tabs button[aria-pressed=true]{background:var(--tile-hi);color:var(--accent);border-color:var(--tile-hi)}.picker-grid{border-radius:var(--radius);background:var(--bg);grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:6px;padding:8px;display:grid;overflow-y:auto}.picker-tile{aspect-ratio:1;background:var(--surface);border:2px solid #0000;place-items:center;padding:6px;display:grid}.picker-tile:hover,.picker-tile:focus-visible{background:var(--tile-hi);border-color:var(--accent)}.picker-tile[aria-pressed=true]{border-color:var(--accent)}.picker-tile img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated}.shop-tier{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.buy-all{background:var(--tile);color:var(--accent);border-color:var(--tile-hi);padding:4px 10px;font-size:.75rem}.buy-all:hover{background:var(--tile-hi)}.deco-category-head{align-items:center;gap:12px;margin:16px 0 8px;display:flex}.deco-category-head h3{margin:0}.skill-bonus{text-align:left;gap:4px;margin:8px 0;padding:0;list-style:none;display:grid}.skill-bonus li{background:#ffffff0f;border-radius:6px;align-items:center;gap:8px;padding:4px 8px;display:flex}.skill-bonus img{width:28px;height:28px;image-rendering:pixelated}.skill-bonus b{color:#d9f24a;margin-left:auto}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;display:grid}.tile-card{border-radius:var(--radius);background:var(--surface);color:var(--text);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:12px 8px;font-size:.85rem;font-weight:600;display:flex}.tile-card:hover{background:var(--tile-hi);text-decoration:none}.tile-card img{border-radius:var(--radius);background:var(--tile);width:56px;height:56px;image-rendering:pixelated;object-fit:contain;padding:6px}.calc-main,.calc-side,.calc .panel{min-width:0}.calc td select{text-overflow:ellipsis;max-width:min(340px,100%)}.tree{overflow-x:auto}.tree-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.section-head{flex-wrap:wrap;align-items:center;gap:12px;margin:36px 0 12px;display:flex}.section-head h2{margin:0}.buy-all[aria-pressed=true]{background:var(--surface);color:var(--text);border-color:var(--border)}.rcard-machine[aria-pressed=true] .when-available,.rcard-machine[aria-pressed=true] .when-locked{display:none}.list-search{width:100%;max-width:420px;margin:4px 0 16px}.calc details.panel>summary{cursor:pointer;list-style:none}.calc details.panel>summary::-webkit-details-marker{display:none}.calc details.panel>summary h2{margin:0;display:inline}.calc details.panel>summary h2:before{content:"▸ "}.calc details.panel[open]>summary h2:before{content:"▾ "}.calc details.panel[open]>summary{margin-bottom:12px;display:block}.bonus-list li.off a{opacity:.55}.bonus-list li.off a:hover{opacity:1}.bonus-activate{color:var(--accent);font:700 .75rem var(--font-title);text-transform:uppercase;white-space:nowrap;margin-left:auto}.machine-cell{align-items:center;gap:8px;display:flex}.machine-cell select{flex:1;min-width:0}.gem-acc-compact{background:0 0;border:none;padding:0}.gem-acc-compact .gem-acc-title{display:none}.gem-acc-compact .gem-acc-cards{grid-template-columns:repeat(2,1fr);gap:8px}.gem-acc-compact .gem-card{gap:4px;padding:8px 6px}.gem-acc-compact .gem-card-name{justify-content:center;min-height:2.6em;font-size:.7rem;line-height:1.3}.gem-acc-compact .gem-card-building,.gem-acc-compact .gem-slot{width:40px;height:40px}.gem-acc-compact .gem-slot img{width:28px;height:28px}.gem-acc-compact .gem-card-bonus strong{font-size:1.1rem}.gem-acc-compact .gem-card-group{display:none}.skill-ring{aspect-ratio:1;clip-path:polygon(25% 3%,75% 3%,100% 50%,75% 97%,25% 97%,0 50%);background:var(--accent);pointer-events:none;animation:1.1s ease-in-out infinite ring-pulse;position:absolute;transform:translate(-50%,-50%)}@keyframes ring-pulse{0%,to{opacity:.25}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.skill-ring{opacity:.8;animation:none}}.skill-side{align-content:start;gap:12px;display:grid}.skill-side .skill-info{position:static}@media (width>=900px){.skill-side{position:sticky;top:12px}}.inventions{border-radius:var(--radius);background:var(--panel);gap:8px;padding:12px;display:grid}.inventions h2{margin:0;font-size:1rem}.invention{text-align:left;font:inherit;text-transform:none;background:var(--surface);border:2px solid #0000;align-items:flex-start;gap:10px;padding:8px;display:flex}.invention img{width:36px;height:36px;image-rendering:pixelated;flex:none}.invention>span{flex-direction:column;gap:2px;display:flex}.invention[aria-pressed=true]{border-color:var(--accent);background:var(--tile)}.invention[aria-pressed=true] strong:after{content:" ✓";color:var(--accent)}.machine-btn{font:600 .9rem var(--font-body);text-transform:none;align-items:center;gap:8px;display:inline-flex}.machine-btn-caret{color:var(--muted)}button.tree-machines{font:inherit;text-transform:none;background:0 0;border:2px solid #0000;justify-content:flex-start;padding:2px 6px}button.tree-machines:hover{border-color:var(--tile-hi);background:var(--tile)}.tree-gather{color:var(--muted);font-size:1rem}.tree-tag{background:var(--tile);color:var(--accent);font:700 .7rem var(--font-title);text-transform:uppercase;border-radius:999px;margin-left:6px;padding:1px 8px}.mp-list{gap:8px;display:grid;overflow-y:auto}.mp-option{text-align:left;font:inherit;text-transform:none;background:var(--surface);border:2px solid #0000;grid-template-columns:64px 1fr auto;align-items:center;gap:12px;padding:10px;display:grid}.mp-option:hover{background:var(--tile);border-color:var(--tile-hi)}.mp-option[aria-pressed=true]{border-color:var(--accent)}.mp-building{border-radius:var(--radius);background:var(--tile);place-items:center;width:64px;height:64px;font-size:1.8rem;display:grid}.mp-building img{width:52px;height:52px;image-rendering:pixelated;object-fit:contain}.mp-body{flex-direction:column;gap:6px;display:flex}.mp-body strong{font:700 1rem var(--font-title);text-transform:uppercase}.mp-recipe{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mp-amounts{flex-wrap:wrap;gap:6px;display:inline-flex}.mp-amounts>span{background:var(--panel);border-radius:6px;align-items:center;gap:2px;padding:2px 6px;display:inline-flex}.mp-amounts img{width:22px;height:22px;image-rendering:pixelated}.mp-arrow{color:var(--accent);font-weight:700}.mp-count{flex-direction:column;align-items:flex-end;display:flex}.mp-count b{font:700 1.6rem var(--font-title);color:var(--accent);line-height:1}.calc details.pref-machines>summary h2:before{content:"▸ "}.calc details.pref-machines[open]>summary h2:before{content:"▾ "}.pref-machines>summary{cursor:pointer;list-style:none}.pref-machines>summary::-webkit-details-marker{display:none}.pref-machines>summary h2{margin:0;display:inline}.pref-row{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 0;display:flex}.pref-row button{background:var(--surface);border:2px solid #0000;place-items:center;width:48px;height:48px;padding:4px;display:grid}.pref-row button[aria-checked=true]{background:var(--tile);border-color:var(--accent)}.pref-name{color:var(--muted);font-size:.8rem}.side-tabs{flex-direction:column;gap:10px;padding:10px;display:flex}@media (width>=980px){.side-tabs{max-height:calc(100vh - 24px);position:sticky;top:12px}.side-tab-body{overflow-y:auto}}.side-tab-bar{grid-template-columns:repeat(auto-fit,minmax(56px,1fr));gap:4px;display:grid}.side-tab-bar button{background:var(--surface);border-radius:var(--radius) var(--radius) 4px 4px;color:var(--muted);border:none;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;font-size:.65rem;display:flex}.side-tab-bar button img{width:32px;height:32px;image-rendering:pixelated;object-fit:contain}.side-tab-bar button{padding:8px 4px}.side-tab-bar button[aria-selected=true]{background:var(--tile-hi);color:var(--accent)}.side-tab-body h2{margin:0 0 10px;font-size:1.1rem}.calc{transition:opacity .15s}.calc-loading{opacity:0}input[type=number]{-moz-appearance:textfield;appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.unit-select{padding:4px 6px;font-size:.85rem}.import-dialog{width:min(560px,100vw - 32px);color:var(--text);background:var(--panel);border:3px solid var(--tile-hi);border-radius:calc(var(--radius) * 1.6);padding:20px}.import-dialog::backdrop{background:#0a0c1eb3}.import-dialog h2{color:var(--accent);margin:0 0 8px}.import-close{position:absolute;top:12px;right:12px}.import-close button{border-radius:50%;width:36px;height:36px;padding:0}.import-path{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.import-path code{border-radius:var(--radius);background:var(--bg);word-break:break-all;padding:6px 10px;font-size:.85rem}.drop-zone{text-align:center;cursor:pointer;border:3px dashed var(--tile-hi);border-radius:var(--radius);background:var(--surface);place-items:center;min-height:120px;margin:12px 0;padding:16px;font-weight:600;display:grid}.drop-zone:hover,.drop-zone.dragging{background:var(--tile);border-color:var(--accent)}.base-empty{justify-items:start;gap:12px;display:grid}.base-save{font:700 1.2rem var(--font-title);text-transform:uppercase;color:var(--accent)}.base-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.base-stat{border-radius:calc(var(--radius) * 1.6);background:var(--panel);padding:12px 16px;display:grid}.base-stat span{color:var(--muted);font:700 .8rem var(--font-title);text-transform:uppercase}.base-stat b{font:700 1.5rem var(--font-title)}.base-stat-bad b{color:var(--danger)}.base-title{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.base-toggle{color:var(--muted);cursor:pointer;align-items:center;gap:6px;font-size:.9rem;display:inline-flex}.base-table td{white-space:nowrap}.base-item{color:var(--text);align-items:center;gap:8px;display:inline-flex}.base-net{font:700 1rem var(--font-title);color:var(--muted)}.base-neg{color:var(--danger)}.base-pos{color:var(--accent)}.base-fill{padding:4px 10px;font-size:.75rem}.base-islands{gap:6px;display:grid}.base-islands button{text-align:left;text-transform:none;font-family:var(--font-body);justify-content:space-between;gap:8px;display:flex}.base-islands button[aria-pressed=true]{background:var(--tile-hi);border-color:var(--accent)}.base-machines{gap:8px;margin:0;padding:0;list-style:none;display:grid}.base-machines li{border-radius:var(--radius);background:var(--surface);align-items:flex-start;gap:10px;padding:8px;display:flex}.base-machines .icon{image-rendering:pixelated;flex:none}.base-warn{color:var(--title)}.base-recipes{flex-wrap:wrap;gap:4px 10px;margin-top:4px;font-size:.85rem;display:flex}.base-recipes span{align-items:center;gap:3px;display:inline-flex}.base-note{margin:0;font-size:.85rem}.base-sort{all:unset;cursor:pointer;font:inherit;color:inherit;text-transform:inherit;align-items:center;gap:4px;display:inline-flex}.base-sort:hover,.base-sort:focus-visible{color:var(--text)}.base-sort span{opacity:.7;font-size:.7rem}th[aria-sort] .base-sort{color:var(--accent)}.base-item-cell{align-items:center;gap:8px;display:inline-flex}.base-tag{background:var(--accent-soft);color:var(--title);line-height:1.4;font:700 .7rem var(--font-title);text-transform:uppercase;cursor:help;border-radius:6px;align-items:center;padding:2px 6px;display:inline-flex}.base-gather{color:var(--title)}.base-legend{margin:8px 0 0;font-size:.85rem}.lang-code,.calc-side-link,.skill-info-close{display:none}.skill-info-toggle{margin-top:4px}.hint-touch{display:none}@media (hover:none){.hint-hover{display:none}.hint-touch{display:inline}}@media (width<=979px){.site-header nav{flex:1 0 100%;order:2}.header-tools{margin-left:auto}.calc-side-link{display:inline-flex}#calc-settings{scroll-margin-top:12px}.base .calc-main,.base .calc-side{display:contents}.base-islands-panel{order:-1}}@media (width<=700px){.site-header{gap:0 8px;padding:8px 16px 0;position:relative}.brand{padding-bottom:8px;font-size:1.1rem}.header-tools{padding-bottom:8px}.nav-toggle{text-align:left;flex:1 0 100%;order:1;justify-content:flex-start;align-items:center;gap:12px;min-height:44px;margin-bottom:8px;display:inline-flex}.nav-current{color:var(--accent)}.nav-burger,.nav-burger:before,.nav-burger:after{background:var(--text);border-radius:2px;width:20px;height:2px;transition:transform .15s;display:block}.nav-burger{flex:none;position:relative}.nav-burger:before,.nav-burger:after{content:"";position:absolute;left:0}.nav-burger:before{top:-6px}.nav-burger:after{top:6px}.nav-open .nav-burger{background:0 0}.nav-open .nav-burger:before{transform:translateY(6px)rotate(45deg)}.nav-open .nav-burger:after{transform:translateY(-6px)rotate(-45deg)}.site-header nav{flex-direction:column;order:2;align-items:stretch;gap:4px;padding-bottom:10px;display:none}.site-header.nav-open nav{display:flex}.site-header nav a,.site-header nav a[aria-current=page]{border-radius:var(--radius);padding:13px 14px}.spoiler-chip>summary,.lang-picker>summary{min-height:40px}.spoiler-chip,.lang-picker{position:static}.chip-panel,.lang-picker ul{width:auto;max-height:calc(100dvh - 120px);margin-top:8px;top:auto;left:16px;right:16px;overflow-y:auto}.lang-picker a{padding:10px 8px}}@media (width<=480px){.lang-name{display:none}.chip-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.spoiler-chip>summary{padding-inline:12px}.lang-code{display:inline}}@media (width<=600px){.button-like,.buy-all,.unit-select,.calc-tools button,button.tree-machines{min-height:40px}.import-close button,.picker-close{width:40px;height:40px}.side-tab-body>a.small{padding:10px 0;display:inline-block}.target-remove:after{content:"";position:absolute;inset:-8px}button.tree-toggle{position:relative}button.tree-toggle:after{content:"";position:absolute;inset:0 -4px}.gem-acc-compact .gem-card-name,.base-tag,.deco .rcard-name,.deco-meta,.tree-tag,.rtree .rcard header,.rtree .rcard footer{font-size:.75rem}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.rcard-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.rtree-wrap{max-height:70vh;overflow:auto}.import-dialog h2{padding-right:48px}.target{gap:10px}.target-icon{border-width:3px;width:64px;height:64px}.target-remove{left:44px}.target-fields{flex:1;min-width:0}.stepper{flex-wrap:wrap}.stepper input{width:64px}.stepper button{width:40px;min-height:40px}.tree-row{padding:4px 8px 4px calc(4px + var(--depth) * 12px);flex-wrap:wrap;gap:2px 6px;display:flex}.tree-row>.tree-toggle{flex:none;width:32px;height:40px}.tree-row>.tree-machines{flex:none}.tree-item{flex:1 1 0;min-width:6em}.tree-item span{white-space:normal;overflow-wrap:anywhere}.tree-rate{white-space:nowrap;margin-left:auto}.table-stack,.table-stack tbody{display:block}.table-stack thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.table-stack tr{border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;gap:6px 12px;margin-bottom:4px;padding:8px 12px;display:flex}.table-stack tr:target{background:var(--accent-soft)}.table-stack td{background:0 0;border-radius:0;flex:auto;min-width:0;padding:0;display:block}.table-stack td.qty{flex-basis:4em}.table-stack td:empty{display:none}.table-stack td[data-label]:before{content:attr(data-label);color:var(--muted);font:700 .75rem var(--font-title);text-transform:uppercase;display:block}.table-stack .ref{white-space:normal;min-height:40px;margin-right:10px}.table-stack td .ref+.ref{margin-left:0}.table-stack .machine-btn{min-height:40px}.base-table.table-stack thead{clip-path:none;width:auto;height:auto;display:block;position:static;overflow:visible}.base-table thead tr{background:0 0;flex-wrap:wrap;gap:6px;padding:0 0 4px;display:flex}.base-table th{padding:0}.base-table th:empty{display:none}.base-sort{background:var(--surface);border-radius:999px;min-height:40px;padding:0 12px}.base-sort span{font-size:.85rem}.base-table td{white-space:normal}.base-tag{white-space:nowrap}.base-table td:first-child{flex-basis:50%;align-self:center}.base-table td:last-child{flex:none;align-self:center}.base-table td.qty,.base-table td.base-net{order:1}.base-islands{grid-template-columns:repeat(2,minmax(0,1fr))}.base-islands button{flex-wrap:wrap;min-height:40px}.picker-backdrop{grid-template-columns:minmax(0,1fr);padding:8px}.picker{min-width:0;max-height:calc(100dvh - 16px);padding:12px}.picker-tabs{scrollbar-width:none;flex-wrap:nowrap;flex:none;overflow-x:auto}.picker-tabs::-webkit-scrollbar{display:none}.picker-tabs button{flex:none;min-height:40px}}@media (width<=899px){.skill-info.sheet{z-index:30;border:2px solid var(--tile-hi);max-height:55vh;position:fixed;inset:auto 8px 8px;overflow-y:auto;box-shadow:0 -8px 30px #00000080}.skill-info.sheet .skill-info-close{border-radius:50%;place-items:center;width:40px;height:40px;padding:0;display:grid;position:absolute;top:8px;right:8px}.skill-info.sheet h2{padding:0 44px}.skill-info-toggle{min-height:40px;padding:6px 14px;font-size:.9rem}}.base-demo{border-radius:calc(var(--radius) * 1.6);background:var(--accent-soft);border:2px dashed var(--title);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin-bottom:16px;padding:12px 16px;display:flex}.base-demo p{flex:280px;margin:0}.base-locked-icon{flex:none;place-items:center;width:36px;height:36px;display:grid}
