@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/BarlowSemiCondensed-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/BarlowSemiCondensed-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexMono-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/IBMPlexSans-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/IBMPlexSans-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/IBMPlexSans-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#15181A;--panel:#1C2023;--panel-2:#23282B;--ink:#E9EDEE;--ink-2:#A6B0B4;--ink-3:#7E888C;--line:#2E3538;--print:#E8B04B;--buy:#5CB7E6;--arm:#9C8CE8;--ordered:#57C785;--sel:#FF6A3D;--ghost:#8FE3FF;--done:#57C785;--need:#E8664F;--display:"Barlow Semi Condensed","Arial Narrow",system-ui,sans-serif;--body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font:14px/1.5 var(--body);display:grid;grid-template-columns:300px 1fr 340px;grid-template-rows:auto minmax(0,1fr);height:100vh;overflow:hidden}body.no-list{grid-template-columns:0 1fr 340px}body.no-card{grid-template-columns:300px 1fr 0}body.no-list.no-card{grid-template-columns:0 1fr 0}body.no-list aside#list,body.no-card aside#card{display:none}body>aside#list{grid-column:1;grid-row:2}body>main{grid-column:2;grid-row:2}body>aside#card{grid-column:3;grid-row:2}.edge{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:22px;height:64px;display:grid;place-items:center;padding:0;background:var(--panel-2);color:var(--ink-2);border:1px solid var(--line);cursor:pointer}.edge:hover{color:var(--ink);border-color:var(--ink-3)}.edge svg{width:12px;height:12px;transition:transform .15s}#tgList{left:0;border-left:0;border-radius:0 8px 8px 0}#tgCard{right:0;border-right:0;border-radius:8px 0 0 8px}#tgList[aria-expanded=false] svg,#tgCard[aria-expanded=true] svg{transform:scaleX(-1)}header{grid-column:1/-1;display:flex;align-items:center;gap:16px;padding:12px 18px;border-bottom:1px solid var(--line)}h1{margin:0;font:700 22px/1 var(--display);letter-spacing:.01em}.sub{color:var(--ink-3);font-size:13px}.spacer{flex:1}.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.seg button{background:transparent;color:var(--ink-2);border:0;padding:8px 12px;font:500 13px var(--body);cursor:pointer;min-height:36px}.seg button[aria-pressed=true]{background:var(--panel-2);color:var(--ink)}button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--sel);outline-offset:2px}aside#list{overflow:auto;border-right:1px solid var(--line);padding:12px 10px 24px}.group{margin:10px 6px 4px;font:600 12px var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);display:flex;align-items:center;gap:8px}.group i{width:10px;height:10px;border-radius:3px;display:inline-block}.item{display:grid;grid-template-columns:1fr auto;gap:8px;width:100%;text-align:left;background:transparent;border:0;color:var(--ink);padding:7px 8px;border-radius:6px;cursor:pointer;font:inherit}.item:hover{background:var(--panel)}.item.on{background:var(--panel-2);box-shadow:inset 3px 0 0 var(--sel)}.item .n{font:500 12px var(--mono);color:var(--ink-3)}.item .nm{display:flex;flex-direction:column;gap:1px;min-width:0}.item .pn{font:500 11px var(--body);color:var(--ink-3);letter-spacing:.01em}.pnchip{align-self:flex-start;font:600 12px var(--body);color:var(--ink-2);background:var(--panel-2);border-radius:999px;padding:4px 10px;margin-bottom:-6px}.play{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border:0;border-radius:12px;cursor:pointer;background:linear-gradient(180deg,#ff7b52,#f2582b);color:#1a1310;font:600 15px var(--body);box-shadow:0 6px 18px -8px #ff6a3db3,inset 0 1px #ffffff40}.play svg{width:16px;height:16px;fill:currentColor}.play:hover{filter:brightness(1.06)}.play[aria-pressed=true]{background:var(--panel-2);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--sel)}.gh:disabled{visibility:hidden}.row{display:grid;grid-template-columns:1fr 30px;align-items:center;gap:2px}.row.ghost .item span:first-child{color:var(--ink-3);font-style:italic}.gh{width:30px;height:30px;display:grid;place-items:center;background:transparent;border:0;border-radius:6px;color:var(--ink-3);cursor:pointer;padding:0}.gh:hover{background:var(--panel);color:var(--ink)}.gh svg{width:16px;height:16px}.gh .solid{display:block}.gh .hollow{display:none}.gh[aria-pressed=true]{color:var(--ghost)}.gh[aria-pressed=true] .solid{display:none}.gh[aria-pressed=true] .hollow{display:block}.group .all{margin-left:auto;background:transparent;border:1px solid var(--line);color:var(--ink-3);border-radius:6px;padding:2px 8px;min-height:24px;font:500 11px var(--body);letter-spacing:0;text-transform:none;cursor:pointer}.group .all:hover{color:var(--ink);border-color:var(--ink-3)}.acts{display:flex;flex-wrap:wrap;gap:8px}.acts button{background:transparent;color:var(--ink-2);border:1px solid var(--line);border-radius:8px;padding:7px 11px;min-height:34px;font:500 13px var(--body);cursor:pointer}.acts button:hover{color:var(--ink);border-color:var(--ink-3)}.acts button[aria-pressed=true]{color:var(--ghost);border-color:var(--ghost)}.chip{font:500 12px var(--mono);color:var(--ink-2);border:1px solid var(--line);border-radius:8px;padding:6px 10px;white-space:nowrap}.chip b{color:var(--ink);font-weight:500}.chip .saved{color:var(--ink-3);margin-left:8px}.chip .saved.warn{color:var(--sel)}body.prog .legend .parts,body:not(.prog) .legend .progl,body:not(.prog) #doneGhost{display:none}.item .n.st-stock,.item .n.st-done{color:var(--done)}.item .n.st-ordered{color:var(--buy)}.item .n.st-need{color:var(--need)}.item .n.st-part{color:var(--print)}.prog-box{border:1px solid var(--line);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:10px;background:var(--panel)}.prog-box h3{margin:0;font:600 12px var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.meter{height:6px;border-radius:3px;background:var(--line);overflow:hidden}.meter i{display:block;height:100%;background:var(--done)}.acts button.done{color:var(--done);border-color:var(--done)}#doneGhost{position:absolute;right:14px;top:12px;background:var(--panel-2);color:var(--ink-2);border:1px solid var(--line);border-radius:8px;padding:7px 12px;font:500 13px var(--body);cursor:pointer}#doneGhost:hover{color:var(--ink)}#clearGhosts{position:absolute;right:14px;bottom:10px;background:var(--panel-2);color:var(--ink);border:1px solid var(--ghost);border-radius:8px;padding:7px 12px;font:500 13px var(--body);cursor:pointer}main{position:relative;min-width:0}canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}#tag{position:absolute;pointer-events:none;background:#15181aeb;border:1px solid var(--sel);color:var(--ink);padding:5px 9px;border-radius:6px;font:600 13px var(--body);transform:translate(-50%,-130%);white-space:nowrap}#tag.caption{left:50%!important;top:16px!important;transform:translate(-50%);padding:9px 16px;font:600 14px var(--body);border-radius:999px;background:#15181adb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}#hint{position:absolute;left:14px;bottom:12px;color:var(--ink-3);font-size:12px}#loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--ink-2)}aside#card{border-left:1px solid var(--line);padding:18px;overflow:auto;display:flex;flex-direction:column;gap:14px}.kind{display:inline-flex;align-items:center;gap:8px;font:600 12px var(--display);letter-spacing:.12em;text-transform:uppercase}.kind i{width:10px;height:10px;border-radius:3px}#card h2{margin:0;font:700 26px/1.05 var(--display);text-wrap:balance}.facts{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0}.facts dt{color:var(--ink-3)}.facts dd{margin:0}.status{display:inline-block;padding:3px 8px;border-radius:999px;font:600 12px var(--body);border:1px solid currentColor}.what{color:var(--ink-2);margin:0}.buy{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;background:var(--panel-2);color:var(--ink);text-decoration:none;padding:9px 12px;border-radius:8px;border:1px solid var(--line);font-weight:600}.buy:hover{border-color:var(--ink-3)}.empty{color:var(--ink-3)}.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--ink-2)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:3px}@media(max-width:980px){body,body.no-list,body.no-card,body.no-list.no-card{grid-template-columns:minmax(0,1fr)}header{flex-wrap:wrap;gap:10px}header .spacer{display:none}.legend{order:9;width:100%}body>aside#list,body>main,body>aside#card{grid-column:1}body>main{grid-row:2}.edge{display:none}body.no-list>aside#list{display:block}body.no-card>aside#card{display:flex}body{grid-template-rows:auto 55vh auto auto;height:auto;overflow:visible}body>aside#list{border-right:0;border-top:1px solid var(--line);max-height:40vh;grid-row:4}body>aside#card{border-left:0;border-top:1px solid var(--line);grid-row:3}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
