@font-face{font-family:Orbitron;src:url(/assets/orbitron-latin-Du7j2Vp2.woff2)format("woff2");font-weight:400 900;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;src:url(/assets/sora-latin-BUlRykrX.woff2)format("woff2");font-weight:100 800;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;src:url(/assets/sora-latin-ext-rqDZ1P7Z.woff2)format("woff2");font-weight:100 800;font-style:normal;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg:#0a0c11;--bg-panel:#12151d;--bg-panel-2:#181c26;--line:#242938;--line-strong:#333a4e;--gold:#c9a35c;--gold-dim:#8a743f;--purple:#9b7fd4;--purple-dim:#5f4f85;--text:#e8e6df;--text-dim:#8a8f9c;--green:#6fbf8b;--red:#c96f6f;--blue:#7fb0d4;--display:"Orbitron", "Segoe UI", sans-serif;--body:"Sora", system-ui, -apple-system, sans-serif;--numeric:"Sora", system-ui, sans-serif;--radius:4px;--shadow:0 4px 14px #0006}*{box-sizing:border-box}body{min-height:100vh;color:var(--text);font-family:var(--body);letter-spacing:.015em;background:radial-gradient(ellipse at 20% -10%, #9b7fd41a, transparent 45%), radial-gradient(ellipse at 100% 0%, #c9a35c14, transparent 40%), var(--bg);background-attachment:fixed;margin:0;font-size:15px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--purple)}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:2px}h1,h2,h3{font-family:var(--display)}code{background:var(--bg);border:1px solid var(--line);border-radius:3px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.visually-hidden:not(:focus):not(:focus-within){clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--bg-panel-2);border:1px solid var(--gold);color:var(--gold);border-radius:var(--radius);padding:10px 16px;text-decoration:none;transition:top .15s;position:absolute;top:-60px;left:12px}.skip-link:focus{top:12px}.wrap{max-width:1220px;margin:0 auto;padding:28px 20px 90px}main:focus{outline:none}[inert]{pointer-events:none;-webkit-user-select:none;user-select:none}.boot{min-height:70vh;color:var(--text-dim);font-family:var(--display);letter-spacing:2px;text-transform:uppercase;justify-content:center;align-items:center;gap:14px;font-size:12px;display:flex}.boot-mark{border:2px solid var(--gold-dim);border-top-color:var(--gold);border-radius:50%;width:18px;height:18px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}header{background:linear-gradient(135deg, var(--bg-panel), var(--bg-panel-2));border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:28px;margin-bottom:18px;padding:22px 26px;display:flex;position:relative;overflow:hidden}header:before{content:"";background:linear-gradient(90deg, transparent, var(--gold), var(--purple), transparent);height:2px;position:absolute;inset:0 0 auto}.htitle{flex:1;min-width:240px}.eyebrow{color:var(--purple);font-family:var(--display);letter-spacing:4px;text-transform:uppercase;margin-bottom:6px;font-size:11px}h1{letter-spacing:1.5px;background:linear-gradient(90deg, var(--gold), #f0e0b8);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 6px;font-size:27px;font-weight:700}.htitle p{max-width:620px;color:var(--text-dim);margin:0;font-size:14.5px;line-height:1.55}.offline-badge{color:var(--gold);margin-top:10px;font-size:12.5px;font-weight:600}.offline-badge[hidden]{display:none}.ring-stats{flex-wrap:wrap;gap:20px;display:flex}.ring-box{text-align:center}.ring-box svg{margin:0 auto;display:block}.ring-num{font-family:var(--numeric);fill:var(--text);font-size:15px;font-weight:700}.ring-den{font-family:var(--body);fill:var(--text-dim);font-size:9px}.ring-label{color:var(--text-dim);font-family:var(--display);letter-spacing:1.5px;text-transform:uppercase;margin-top:6px;font-size:9px}.global-search{margin-bottom:14px;position:relative}.global-search input{background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius);width:100%;color:var(--text);padding:12px 14px;font-size:14.5px}.global-search input:hover{border-color:var(--line-strong)}.global-search input::placeholder{color:var(--text-dim)}.search-results{z-index:30;background:var(--bg-panel-2);border:1px solid var(--line-strong);border-radius:var(--radius);max-height:380px;box-shadow:var(--shadow);margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.search-results[hidden]{display:none}.search-result{cursor:pointer;border-radius:3px;align-items:baseline;gap:10px;padding:9px 11px;display:flex}.search-result.active,.search-result:hover{background:#7fb0d41f}.sr-name{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:600}.sr-meta{color:var(--text-dim);font-size:12px}.sr-tab{color:var(--blue);font-family:var(--display);letter-spacing:1px;text-transform:uppercase;flex-shrink:0;font-size:9.5px}.search-empty{color:var(--text-dim);padding:12px;font-size:13px}.tab-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:14px;display:flex}.tabs{flex-wrap:wrap;flex:auto;gap:2px;min-width:0;display:flex}.tab-btn{color:var(--text-dim);font-family:var(--display);letter-spacing:1.1px;text-transform:uppercase;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:11px 12px;font-size:11.5px;font-weight:700}.tab-btn:hover{color:var(--text)}.tab-btn[aria-selected=true]{color:var(--gold);border-bottom-color:var(--gold)}.tcount{color:var(--text-dim);font-family:var(--body);letter-spacing:0;margin-left:6px;font-size:11.5px;font-weight:600}.queue-btn{flex-shrink:0;margin-bottom:6px}.controls{z-index:10;background:color-mix(in srgb, var(--bg-panel) 92%, transparent);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;padding:14px 16px;display:flex;position:sticky;top:10px}.controls input[type=search]{background:var(--bg);border:1px solid var(--line);border-radius:3px;flex:1;min-width:180px;padding:10px 12px;font-weight:500}select,.qty{background:var(--bg);border:1px solid var(--line);border-radius:3px;min-height:40px;padding:9px 10px;font-size:14px;font-weight:600}select:hover,.qty:hover{border-color:var(--line-strong)}select[hidden]{display:none}.qty{width:76px;font-family:var(--numeric);font-variant-numeric:tabular-nums;text-align:center;font-weight:700}input[type=number]{-moz-appearance:textfield}.seg{border:1px solid var(--line);border-radius:3px;display:flex;overflow:hidden}.seg button{background:var(--bg);color:var(--text-dim);font-family:var(--display);letter-spacing:1.4px;text-transform:uppercase;border:none;padding:10px 15px;font-size:10.5px}.seg button:not(:last-child){border-right:1px solid var(--line)}.seg button[aria-pressed=true]{background:var(--purple-dim);color:#fff}.btn{border:1px solid var(--gold-dim);min-height:40px;color:var(--gold);font-family:var(--display);letter-spacing:1.2px;text-transform:uppercase;white-space:nowrap;background:0 0;border-radius:3px;padding:10px 14px;font-size:10.5px;transition:background .12s,border-color .12s}.btn:hover{background:#c9a35c1a}.btn.accent{border-color:var(--blue);color:var(--blue)}.btn.accent:hover{background:#7fb0d41a}.btn.primary{border-color:var(--green);color:var(--green)}.btn.primary:hover{background:#6fbf8b1a}.btn.danger{border-color:var(--red);color:var(--red)}.btn.danger:hover{background:#c96f6f1a}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:disabled:hover{background:0 0}.icon-btn{border:1px solid var(--line);width:34px;height:34px;color:var(--text-dim);font-family:var(--display);background:0 0;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.icon-btn:hover{color:var(--gold);border-color:var(--gold-dim)}.badge-count{background:var(--blue);color:#0a0c11;min-width:17px;height:17px;font-family:var(--numeric);font-variant-numeric:tabular-nums;border-radius:9px;justify-content:center;align-items:center;margin-left:6px;padding:0 5px;font-size:10.5px;font-weight:700;display:inline-flex}.badge-count[hidden]{display:none}.result-count{color:var(--text-dim);margin:0 0 12px 4px;font-size:13px}.filter-panel{background:var(--bg-panel);border:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);border-top:none;flex-wrap:wrap;align-items:flex-end;gap:14px 22px;margin:-10px 0 14px;padding:16px;display:none}.filter-panel.open{display:flex}.filter-field{flex-direction:column;gap:5px;display:flex}.flabel{color:var(--text-dim);font-family:var(--display);letter-spacing:1.2px;text-transform:uppercase;font-size:11px}.filter-field select{min-width:150px}.item-list{flex-direction:column;gap:8px;display:flex}.frame{background-color:var(--bg-panel);border:1px solid var(--line);border-left:3px solid var(--purple-dim);border-radius:var(--radius);scroll-margin-top:84px;transition:background-color .12s,border-color .12s;position:relative;overflow:hidden}.frame.prime{border-left-color:var(--gold)}.frame.open{border-color:var(--line-strong)}@media (hover:hover){.frame:hover{background-color:var(--bg-panel-2);border-color:var(--line-strong)}.frame:hover .chev{color:var(--text)}}.frame:focus-within{border-color:var(--line-strong)}.frame-head{flex-wrap:wrap;align-items:stretch;gap:10px;padding:9px 14px;display:flex}.frame-head>*{align-self:center}.expand-btn{min-width:160px;color:inherit;text-align:left;background:0 0;border:none;border-radius:3px;flex:200px;align-self:stretch;align-items:center;gap:12px;margin:-9px 0 -9px -14px;padding:9px 2px 9px 14px;display:flex}.chev{width:12px;color:var(--text-dim);flex-shrink:0;font-size:11px;transition:transform .15s}.frame.open .chev{transform:rotate(90deg)}.fname{font-family:var(--display);letter-spacing:.3px;margin:0;font-size:13.5px;font-weight:700}.tag,.cattag{border:1px solid var(--line);color:var(--text-dim);font-family:var(--body);letter-spacing:.2px;vertical-align:2px;border-radius:10px;margin-left:7px;padding:1px 7px;font-size:10.5px;font-weight:600;display:inline-block}.tag{color:var(--gold);border-color:var(--gold-dim)}.status-toggle{white-space:nowrap;border:1px solid var(--line);min-height:36px;color:var(--text-dim);font-family:var(--display);letter-spacing:.5px;text-transform:uppercase;cursor:pointer;border-radius:3px;flex-shrink:0;align-items:center;gap:6px;padding:8px 10px;font-size:10px;font-weight:700;display:flex}.status-toggle input{width:15px;height:15px;accent-color:var(--gold);cursor:pointer}.frame-head>.status-toggle{flex:0 0 118px}.status-toggle.acquired.on{color:var(--blue);border-color:var(--blue)}.status-toggle.built.on{color:var(--green);border-color:var(--green)}.status-toggle.mastered.on{color:var(--gold);border-color:var(--gold)}@media (hover:hover){.status-toggle:not(.disabled):hover{color:var(--text);border-color:var(--line-strong)}.status-toggle.acquired:not(.disabled):hover{color:var(--blue);border-color:var(--blue);background:#7fb0d41a}.status-toggle.built:not(.disabled):hover{color:var(--green);border-color:var(--green);background:#6fbf8b1a}.status-toggle.mastered:not(.disabled):hover{color:var(--gold);border-color:var(--gold);background:#c9a35c1a}.tier-head .status-toggle:hover{background:0 0}}.parts-progress{color:var(--text-dim);white-space:nowrap;text-align:right;flex:0 0 130px;font-size:12px}.mini-progress{vertical-align:middle;background:var(--bg);border-radius:3px;width:60px;height:6px;margin-left:6px;display:inline-block;overflow:hidden}.mini-progress i{background:var(--green);height:100%;transition:width .2s;display:block}.wiki-link{border:1px solid var(--line);width:34px;height:34px;color:var(--text-dim);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;transition:color .15s,border-color .15s;display:flex}.wiki-link:hover,.wiki-link:focus-visible{color:var(--gold);border-color:var(--gold-dim)}.wiki-link svg{width:15px;height:15px}.frame-body{border-top:1px solid var(--line);padding:8px 16px 16px}.frame-body[hidden]{display:none}.foundry{background:var(--bg);border:1px solid var(--line);border-radius:3px;flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;padding:9px 12px;display:flex}.foundry-main{flex:260px;min-width:0}.foundry-label{color:var(--text-dim);font-family:var(--display);letter-spacing:1px;text-transform:uppercase;vertical-align:1px;margin-right:8px;font-size:9.5px;font-weight:700}.foundry-res{display:inline}.foundry .add-shop-btn{flex:none;margin:0}.parts{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;margin-top:10px;display:grid}.part{overflow-wrap:anywhere;background-color:var(--bg);border:1px solid var(--line);border-radius:3px;flex-direction:column;padding:11px 12px;transition:background-color .12s,border-color .12s;display:flex;position:relative}.part.done{border-color:var(--green)}@media (hover:hover){.part:hover{border-color:var(--line-strong)}.part.done:hover{border-color:var(--green)}}.part.nested{border-left:3px solid var(--line-strong)}.part-parent{color:var(--text-dim);margin:3px 0 0;font-size:11.5px}.part-label-text{margin-bottom:0}.part-main{flex:none}.part-toggles{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:9px;display:flex}.part-toggle{flex:auto;justify-content:center;min-height:32px;padding:6px 8px;font-size:9.5px}.part-toggle input{width:14px;height:14px}.part-toggle.disabled{opacity:.4;cursor:not-allowed;border-style:dashed}.part-toggle.disabled input{cursor:not-allowed}.part-label-text{letter-spacing:.2px;cursor:pointer;font-size:13.5px;font-weight:700;display:block}.pnote{color:var(--text-dim);margin:3px 0 0;font-size:12px;line-height:1.45}.part-res{border-top:1px dashed var(--line);margin-top:7px;padding-top:7px}.res-chip,.relic-chip{border-radius:8px;margin:2px 3px 0 0;padding:2px 7px;font-size:11px;display:inline-block}.res-chip{background:var(--bg-panel-2);color:var(--text-dim)}.res-chip.credits{color:var(--gold)}.relic-chip{border:1px solid var(--purple-dim);color:var(--purple);background:#9b7fd424}.relic-chip.rarity-rare{border-color:var(--gold-dim);color:var(--gold);background:#c9a35c1f}.relic-more{border:1px dashed var(--blue);color:var(--blue);font:inherit;background:0 0;border-radius:8px;margin:2px 0 0;padding:2px 8px;font-size:11px;display:inline-block}.relic-caveat{color:var(--text-dim);margin:6px 0 0;font-size:11px;font-style:italic;line-height:1.4}.add-shop-btn{border:1px solid var(--blue);min-height:32px;color:var(--blue);font-family:var(--display);letter-spacing:.5px;text-transform:uppercase;background:0 0;border-radius:3px;align-self:flex-start;margin-top:8px;padding:7px 11px;font-size:10.5px}.add-shop-btn.added{background:var(--blue);color:#0a0c11}.no-craft{color:var(--text-dim);margin:8px 0 0;font-size:11.5px;font-style:italic}.vault{border-radius:10px;margin:4px 0 2px;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-block}.vault.unvaulted{color:var(--green);background:#6fbf8b26}.vault.vaulted{color:var(--red);background:#c96f6f26}.vault.unknown{color:var(--text-dim);background:#8a8f9c26}.empty{color:var(--text-dim);text-align:center;padding:56px 20px;font-size:15px}.empty h1{margin-bottom:10px;font-size:20px}.inventory-groups{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.inventory-groups button{background:var(--bg-panel);border:1px solid var(--line);color:var(--text-dim);border-radius:20px;padding:7px 12px;font-size:12px;font-weight:600}.inventory-groups button[aria-pressed=true]{background:var(--purple-dim);border-color:var(--purple);color:#fff}.table-scroll{border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}.inventory-table{border-collapse:collapse;width:100%;font-size:14px}.inventory-table th,.inventory-table td{border-bottom:1px solid var(--line);text-align:left;overflow-wrap:anywhere;padding:9px 14px}.inventory-table thead th{z-index:1;background:var(--bg-panel-2);color:var(--text-dim);font-family:var(--display);letter-spacing:1.2px;text-transform:uppercase;font-size:10px;position:sticky;top:0}.inventory-table tbody th{font-weight:600}.inventory-table tbody tr:hover{background:#ffffff05}.inventory-table tr.is-short{background:#c96f6f0f}.inventory-table .numeric{text-align:right;font-variant-numeric:tabular-nums}.inventory-table .numeric.short{color:var(--red);font-weight:700}.inventory-table .qty{width:90px}.material-name{align-items:center;gap:10px;display:flex}.material-icon{object-fit:contain;background:var(--bg);border:1px solid var(--line);border-radius:3px;flex-shrink:0;width:26px;height:26px}.material-name .placeholder{width:26px;height:26px;font-size:11px}.material-name .cattag{margin-left:6px}.acq-cell{align-items:baseline;gap:8px;display:flex}.acq-cell .cattag{flex-shrink:0;margin-left:0}.acq-location{color:var(--text-dim);font-size:12.5px}.acq-location.dim{opacity:.8;font-style:italic}.inventory-table td.hide-mobile{max-width:380px}.inventory-table .empty{padding:40px 14px}.drawer-backdrop{z-index:40;opacity:0;background:#00000080;transition:opacity .25s;position:fixed;inset:0}.drawer-backdrop.open{opacity:1}.drawer-backdrop[hidden]{display:none}.drawer{z-index:50;background:var(--bg-panel);border-left:1px solid var(--blue);flex-direction:column;width:min(440px,100vw);transition:transform .28s;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-8px 0 30px #00000080}.drawer.open{transform:translate(0)}.drawer[hidden]{display:none}.drawer-head{border-bottom:1px solid var(--line);background:#7fb0d40f;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.drawer-head h2{color:var(--blue);letter-spacing:2px;text-transform:uppercase;margin:0;font-size:13.5px}.drawer-body{flex:1;padding:14px 18px;overflow-y:auto}.drawer-body section+section{margin-top:22px}.drawer-heading{color:var(--gold);letter-spacing:2px;text-transform:uppercase;margin:0 0 10px;font-size:11px}.drawer-foot{border-top:1px solid var(--line);flex-shrink:0;gap:8px;padding:12px 18px;display:flex}.drawer-foot .btn{flex:1}.shop-item{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 0;display:flex}.si-name{overflow-wrap:anywhere;letter-spacing:.2px;flex:1;font-size:13px;font-weight:700}.si-name small{color:var(--text-dim);margin-top:3px;font-size:11px;font-weight:500;line-height:1.45;display:block}.si-remove{border:1px solid var(--line);min-height:34px;color:var(--red);background:0 0;border-radius:3px;flex-shrink:0;padding:6px 9px}.si-remove:hover{border-color:var(--red)}.shop-item .qty{width:62px}.shop-empty{color:var(--text-dim);text-align:center;padding:26px 6px;font-size:13.5px;line-height:1.6}.res-row{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;gap:12px;padding:7px 0;font-size:14px;display:flex}.res-row:last-child{border-bottom:none}.res-row .rn{font-weight:500}.res-row .rn small{color:var(--text-dim);font-size:11px;font-weight:400;display:block}.res-row .rc{color:var(--green);font-family:var(--numeric);font-variant-numeric:tabular-nums;font-weight:700}.res-row.is-short .rc{color:var(--red)}.res-row.total{border-top:1px solid var(--line);margin-top:6px;padding-top:10px}.res-row.total .rc{color:var(--gold)}.modal-backdrop{z-index:60;opacity:0;background:#0009;justify-content:center;align-items:center;padding:20px;transition:opacity .2s;display:flex;position:fixed;inset:0}.modal-backdrop.open{opacity:1}.modal-backdrop[hidden]{display:none}.modal{background:var(--bg-panel-2);border:1px solid var(--line-strong);width:100%;max-width:560px;max-height:min(82vh,760px);box-shadow:var(--shadow);border-radius:6px;flex-direction:column;transition:transform .2s;display:flex;transform:translateY(10px)}.modal-backdrop.open .modal{transform:translateY(0)}.modal-danger{border-color:var(--red)}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.modal-head h2{color:var(--gold);letter-spacing:1.2px;text-transform:uppercase;margin:0;font-size:14px}.modal-danger .modal-head h2{color:var(--red)}.modal-body{flex:1;padding:18px 20px;overflow-y:auto}.modal-copy{color:var(--text-dim);margin:0 0 12px;font-size:14px;line-height:1.6}.modal-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.modal-actions[hidden]{display:none}.viewer{flex-wrap:wrap;gap:16px;display:flex}.hero-icon{object-fit:contain;background:var(--bg);border:1px solid var(--line);border-radius:3px;width:108px;height:108px}.viewer-body{flex:1;min-width:230px}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px;margin:12px 0;display:grid}.stat{background:var(--bg);border:1px solid var(--line);border-radius:3px;padding:8px 10px}.stat dt{color:var(--text-dim);font-family:var(--display);letter-spacing:1px;text-transform:uppercase;font-size:9.5px}.stat dd{font-family:var(--numeric);font-variant-numeric:tabular-nums;margin:3px 0 0;font-size:14px;font-weight:700}.text-link{font-size:13px}.quick-list{flex-direction:column;display:flex}.icon,.placeholder{width:34px;height:34px}.placeholder{background:var(--bg);border:1px solid var(--line);color:var(--text-dim);border-radius:3px;justify-content:center;align-items:center;display:inline-flex}.toast-stack{z-index:80;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:min(560px,100vw - 32px);display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.toast{background:var(--bg-panel-2);border:1px solid var(--line-strong);border-left:3px solid var(--blue);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);pointer-events:auto;align-items:center;gap:12px;padding:12px 14px;font-size:13.5px;animation:.2s toast-in;display:flex}.toast.leaving{opacity:0;transition:opacity .2s,transform .2s;transform:translateY(6px)}.toast-success{border-left-color:var(--green)}.toast-error{border-left-color:var(--red)}.toast-text{flex:1;line-height:1.45}.toast-action{border:1px solid var(--gold-dim);color:var(--gold);font-family:var(--display);letter-spacing:1px;text-transform:uppercase;white-space:nowrap;background:0 0;border-radius:3px;padding:6px 12px;font-size:10px}.toast-close{color:var(--text-dim);background:0 0;border:none;padding:4px;font-size:14px}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;display:grid}.settings-card{background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}.settings-card h3{color:var(--gold);letter-spacing:1.5px;text-transform:uppercase;margin:0 0 10px;font-size:13px}.settings-card p{color:var(--text-dim);margin:0 0 12px;font-size:13.5px;line-height:1.6}.settings-card .btn{margin:0 8px 8px 0}.meta-line{color:var(--text);font-size:13.5px}.meta-line b{color:var(--gold)}.field{background:var(--bg);border:1px solid var(--line);width:100%;color:var(--text);font:inherit;border-radius:3px;padding:9px 11px}.field:hover{border-color:var(--line-strong)}.field:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.auth-form label{color:var(--text-dim);margin-bottom:6px;font-size:12.5px;display:block}.account-email{overflow-wrap:anywhere}.sync-warn{color:var(--red)}.passkey-cta{width:100%;margin-bottom:4px}.auth-or{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;align-items:center;gap:10px;margin:14px 0;font-size:12px;display:flex}.auth-or:before,.auth-or:after{content:"";background:var(--line);flex:1;height:1px}.passkey-list{margin:10px 0 0;padding:0;list-style:none}.passkey{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:7px 0;display:flex}.passkey:last-child{border-bottom:none}.passkey-name{overflow-wrap:anywhere;flex:1;font-size:13.5px}.passkey-note{color:var(--text-dim);font-size:11.5px;display:block}.passkey-empty{color:var(--text-dim);padding:6px 0;font-size:13px;font-style:italic}.source-list{color:var(--text-dim);margin:0 0 12px;padding-left:18px;font-size:13px;line-height:1.65}.source-list b{color:var(--text)}footer{color:var(--text-dim);text-align:center;margin-top:34px;font-size:12.5px;line-height:1.8}.jump-top{z-index:30;background:var(--bg-panel-2);border:1px solid var(--gold-dim);width:46px;height:46px;box-shadow:var(--shadow);color:var(--gold);opacity:0;border-radius:50%;justify-content:center;align-items:center;font-size:18px;transition:opacity .2s,transform .2s,background .15s;display:flex;position:fixed;bottom:24px;right:24px;transform:translateY(10px)}.jump-top[hidden]{display:none}.jump-top.show{opacity:1;transform:translateY(0)}.jump-top:hover{background:var(--purple-dim);border-color:var(--purple);color:#fff}@media (width<=900px){.drawer{width:100vw}.jump-top{bottom:16px;right:16px}}@media (width<=640px){body{font-size:14.5px}.wrap{padding:16px 12px 80px}header{gap:16px;padding:16px}h1{font-size:21px}.ring-stats{justify-content:space-between;gap:10px;width:100%}.ring-box svg{width:50px;height:50px}.tab-row{flex-direction:column;align-items:stretch;gap:8px;width:100%}.tabs{width:100%}.tab-btn{letter-spacing:1px;padding:10px 12px;font-size:11px}.queue-btn{margin-bottom:8px}.controls{flex-direction:column;align-items:stretch;position:static}.controls>:not(.visually-hidden){width:100%}.seg button{flex:1}.controls .qty{width:100%}.frame-head{padding:10px}.expand-btn{order:1;min-width:100%}.status-toggle{order:2}.icon-btn{order:3}.wiki-link{order:4}.parts-progress{order:5;width:100%}.parts,.settings-grid{grid-template-columns:1fr}.hide-mobile{display:none}.inventory-table th,.inventory-table td{padding:8px 10px}.inventory-table .qty{width:74px}.drawer-foot,.viewer{flex-direction:column}.hero-icon{width:100%;height:150px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.frame.railjack{border-left-color:var(--blue)}.frame.railjack.flat .fname{flex:190px;min-width:150px}.tier-row{flex-wrap:wrap;flex:auto;justify-content:flex-end;gap:6px;display:flex}.tier-toggle{flex:0 0 84px;justify-content:center;padding:8px 6px}.tiers{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;margin-top:10px;display:grid}.tier{background:var(--bg);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:3px;padding:11px 12px}.tier.owned{border-color:var(--green)}.tier-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.tier-head .status-toggle{border:none;min-height:0;padding:0}.tier-stats .res-chip b{color:var(--text-dim);font-family:var(--display);letter-spacing:.8px;text-transform:uppercase;font-size:9px;font-weight:700}.tier-stats .res-chip{color:var(--text);font-variant-numeric:tabular-nums}.res-chip.time{color:var(--blue)}.parts-progress.subtle{opacity:.75;font-style:italic}.status-toggle.inferred{opacity:.82;border-style:dashed}.status-toggle.inferred input{accent-color:var(--text-dim)}.inventory-table th{white-space:nowrap}.inventory-table td.numeric,.inventory-table th[scope=col].numeric{width:74px}.acq-place{color:var(--text);font-size:12.5px}.acq-cell{flex-wrap:wrap;gap:3px;display:flex}.cattag.src{color:var(--blue);border-color:var(--purple-dim);margin-left:0}.acq-location{-webkit-line-clamp:2;max-width:330px;color:var(--text-dim);-webkit-box-orient:vertical;margin-top:4px;font-size:11.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.foundry-table th[scope=row]{min-width:190px}.foundry-table .qty{width:78px}.foundry-table .status-toggle{justify-content:center;min-height:32px;padding:6px 10px;font-size:9.5px}.foundry-recipe{flex-wrap:wrap;gap:0;max-width:460px;display:flex}.res-chip.need{color:var(--blue);border-color:var(--blue)}.res-chip.yield{color:var(--green)}.inventory-groups .section-group{opacity:.82;font-size:10px}.inventory-groups .section-group[aria-pressed=true]{opacity:1}.frame.is-blueprint,.part.is-blueprint{background-image:linear-gradient(#7fb0d41a,#7fb0d41a)}.frame.is-built,.part.is-built,.tier.owned{background-image:linear-gradient(#6fbf8b1c,#6fbf8b1c)}.frame.is-mastered{background-image:linear-gradient(#c9a35c21,#c9a35c21)}.frame>*,.part>*,.tier>*{z-index:1;position:relative}.tier{position:relative}.inventory-table tr.flash{animation:1.1s ease-out flash-row}@keyframes flash-row{0%{background-color:#0000}10%{background-color:#7fb0d457}45%{background-color:#7fb0d42e}to{background-color:#0000}}.flash:before{content:"";z-index:0;border-radius:inherit;background:var(--flash);pointer-events:none;animation:.8s ease-out flash-wash;position:absolute;inset:0}.flash[data-flash=gold]{--flash:var(--gold)}.flash[data-flash=green]{--flash:var(--green)}.flash[data-flash=blue]{--flash:var(--blue)}.flash[data-flash=purple]{--flash:var(--purple)}.flash[data-flash=locate]{--flash:var(--blue)}.flash[data-flash=locate]:before{animation:1.1s ease-out flash-locate}.flash[data-flash=neutral]{--flash:var(--text-dim)}@keyframes flash-locate{0%{opacity:0}10%{opacity:.5}45%{opacity:.28}to{opacity:0}}@keyframes flash-wash{0%{opacity:0}14%{opacity:.45}to{opacity:0}}
