:root{--bg: #05060e;--panel: #0a0c18;--panel2: #0e1122;--panel3: #141a33;--border: #1c2747;--border-glow: #2a3d6e;--steel: #4a4b50;--text: #dceaff;--dim: #6f82ab;--cyan: #00f0ff;--cyan-soft: rgba(0, 240, 255, .55);--magenta: #ff2bd6;--yellow: #fcee0a;--amber: #00f0ff;--amber-bright: #7df9ff;--green: #2bff88;--bad: #ff3b5c;--warn: #fcee0a;--hazard: repeating-linear-gradient( -45deg, rgba(0, 240, 255, .7) 0 8px, rgba(255, 43, 214, .35) 8px 16px );--clip: polygon(12px 0, 100% 0, 100% calc(100% - 12px) , calc(100% - 12px) 100%, 0 100%, 0 12px)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:Rajdhani,system-ui,sans-serif;font-weight:500;background:radial-gradient(1100px 500px at 85% -10%,rgba(255,43,214,.1),transparent 60%),radial-gradient(900px 500px at 0% 110%,rgba(0,240,255,.08),transparent 60%),var(--bg);color:var(--text);overflow:hidden;-webkit-user-select:none;user-select:none}.scanlines{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1000;background:repeating-linear-gradient(to bottom,transparent 0 2px,rgba(0,0,0,.16) 2px 3px);mix-blend-mode:multiply}.crt-vignette{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:999;background:radial-gradient(ellipse at center,transparent 58%,rgba(2,3,10,.55) 100%)}.app{display:grid;grid-template-columns:300px 1fr 300px;grid-template-rows:58px 1fr;grid-template-areas:"top top top" "side view summary";height:100vh}.app.is-dragging{cursor:grabbing}.app.is-dragging .part-card{pointer-events:none}.panel-label{font-family:Orbitron,sans-serif;font-size:12px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--cyan);text-shadow:0 0 8px rgba(0,240,255,.6);padding:13px 14px 11px;border-bottom:1px solid var(--border);position:relative;background:linear-gradient(180deg,rgba(0,240,255,.06),transparent)}.panel-label:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--cyan),var(--magenta),transparent);opacity:.8}.topbar{grid-area:top;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:linear-gradient(180deg,#0d1020,var(--panel));border-bottom:1px solid var(--border);box-shadow:0 1px #00f0ff40,0 4px 24px #0009;z-index:10}.brand{display:flex;align-items:baseline;gap:10px;color:var(--cyan)}.brand svg{align-self:center;filter:drop-shadow(0 0 6px var(--cyan-soft))}.brand-name{font-family:Orbitron,sans-serif;font-size:19px;font-weight:900;letter-spacing:.12em;color:var(--text);text-shadow:0 0 10px rgba(0,240,255,.65),0 0 30px rgba(0,240,255,.25);animation:brand-flicker 7s infinite}.brand-name em{font-style:normal;color:var(--magenta);text-shadow:0 0 10px rgba(255,43,214,.8)}@keyframes brand-flicker{0%,91%,94%,to{opacity:1}92%,93%{opacity:.55}95.5%{opacity:.8}}.brand-sub{font-family:Share Tech Mono,monospace;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--dim)}.topbar-actions{display:flex;gap:12px;align-items:center}.seg{display:flex;border:1px solid var(--border);border-radius:0;overflow:hidden;background:var(--panel2);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.seg button{display:flex;align-items:center;gap:5px;background:transparent;border:0;color:var(--dim);padding:7px 13px;font:inherit;font-size:13px;font-weight:600;letter-spacing:.04em;cursor:pointer}.seg button.on{background:linear-gradient(180deg,#00f0ff29,#00f0ff0d);color:var(--cyan);text-shadow:0 0 8px var(--cyan-soft)}.btn{display:flex;align-items:center;gap:6px;background:var(--panel2);border:1px solid var(--border);color:var(--text);border-radius:0;padding:7px 13px;font:inherit;font-size:13px;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:border-color .15s,color .15s,box-shadow .15s;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.btn:hover{border-color:var(--cyan);box-shadow:0 0 12px #00f0ff40,inset 0 0 12px #00f0ff0f}.btn-on{border-color:var(--cyan);color:var(--cyan);text-shadow:0 0 8px var(--cyan-soft);box-shadow:0 0 12px #00f0ff4d,inset 0 0 14px #00f0ff14}.btn-danger:hover{border-color:var(--bad);color:var(--bad);box-shadow:0 0 12px #ff3b5c4d}.btn.wide{width:100%;margin-top:12px;justify-content:center}.sidebar{grid-area:side;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--panel),rgba(10,12,24,.92));border-right:1px solid var(--border);min-height:0}.cat-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:10px;border-bottom:1px solid var(--border)}.cat-tab{background:transparent;border:1px solid transparent;color:var(--dim);font:inherit;font-size:10.5px;font-weight:600;letter-spacing:.05em;padding:7px 2px 6px;border-radius:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;transition:color .12s,border-color .12s}.cat-tab:hover{color:var(--text)}.cat-tab.on{background:linear-gradient(180deg,#00f0ff1f,#00f0ff05);border-color:#00f0ff66;color:var(--cyan);text-shadow:0 0 8px var(--cyan-soft);clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}.part-list{overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px}.part-card{display:flex;gap:10px;align-items:center;background:linear-gradient(135deg,var(--panel3),var(--panel2) 70%);border:1px solid var(--border);border-left:2px solid var(--border-glow);border-radius:0;padding:10px;cursor:grab;transition:transform .1s,border-color .15s,box-shadow .15s;clip-path:var(--clip)}.part-card:hover{border-color:var(--cyan);border-left-color:var(--cyan);box-shadow:0 0 16px #00f0ff2e,inset 0 0 20px #00f0ff0a;transform:translate(2px)}.part-card:active{cursor:grabbing}.part-card.incompat{opacity:.45}.part-card.incompat:hover{border-color:var(--bad);border-left-color:var(--bad);box-shadow:0 0 14px #ff3b5c33}.part-card.occupied{cursor:not-allowed}.part-card.occupied:hover{transform:none}.part-swatch{width:34px;height:34px;border-radius:0;border:1px solid var(--border-glow);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#00f0ffb3;clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px)}.part-info{flex:1;min-width:0}.part-name{font-size:13.5px;font-weight:700;letter-spacing:.02em}.part-count{margin-left:6px;font-size:11px;color:var(--yellow);font-family:Share Tech Mono,monospace;text-shadow:0 0 6px rgba(252,238,10,.5)}.part-blurb{font-size:11.5px;color:var(--dim);margin-top:2px}.part-reason{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--bad);margin-top:3px}.part-price{font-family:Share Tech Mono,monospace;font-size:12px;color:var(--yellow);text-shadow:0 0 8px rgba(252,238,10,.4);white-space:nowrap}.viewport{grid-area:view;position:relative;min-width:0;min-height:0}.viewport canvas{touch-action:none}.slot-tip-wrap{pointer-events:none}.slot-tip{background:#080a16f0;border:1px solid var(--cyan);border-radius:0;padding:8px 12px;font-size:12px;font-family:Rajdhani,sans-serif;font-weight:600;white-space:nowrap;display:flex;flex-direction:column;gap:4px;box-shadow:0 0 18px #00f0ff40;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.slot-tip.bad{border-color:var(--bad);color:var(--bad);box-shadow:0 0 18px #ff3b5c4d}.empty-hint{background:#080a16eb;border:1px dashed var(--cyan);border-radius:0;padding:12px 18px;font-size:13.5px;font-weight:600;color:var(--dim);white-space:nowrap;box-shadow:0 0 24px #00f0ff26}.empty-hint b{color:var(--cyan);text-shadow:0 0 8px var(--cyan-soft)}.inspect{position:absolute;left:14px;bottom:14px;width:262px;background:#0a0c18eb;border:1px solid var(--border-glow);border-top:2px solid var(--magenta);border-radius:0;padding:14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:5;box-shadow:0 0 30px #ff2bd61f,0 12px 40px #00000080;clip-path:var(--clip)}.inspect-head{display:flex;justify-content:space-between;align-items:center}.inspect-cat{font-family:Orbitron,sans-serif;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--magenta);text-shadow:0 0 8px rgba(255,43,214,.6)}.inspect-x{background:none;border:0;color:var(--dim);cursor:pointer;display:flex}.inspect-x:hover{color:var(--text)}.inspect-name{font-size:15.5px;font-weight:700;margin-top:6px}.inspect-brand{font-size:12.5px;color:var(--dim);margin-top:2px}.inspect-brand b{color:var(--yellow);font-family:Share Tech Mono,monospace;font-weight:400}.inspect-blurb{font-size:12.5px;color:var(--dim);margin-top:8px}.inspect-specs{margin-top:10px;display:flex;flex-direction:column;gap:4px}.spec-row{display:flex;justify-content:space-between;font-size:11.5px}.spec-row span{color:var(--dim)}.spec-row b{font-family:Share Tech Mono,monospace;font-weight:400;color:var(--cyan)}.summary{grid-area:summary;background:linear-gradient(180deg,var(--panel),rgba(10,12,24,.92));border-left:1px solid var(--border);overflow-y:auto;display:flex;flex-direction:column;min-height:0}.summary>*:not(.panel-label){margin:0 14px}.summary>.panel-label{margin-bottom:12px}.summary>*+*:not(.panel-label){margin-top:12px}.summary>*:last-child{margin-bottom:14px}.summary-head{display:flex;justify-content:space-between;align-items:baseline}.summary-title{font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase}.summary-price{font-family:Orbitron,sans-serif;font-weight:700;font-size:16px;color:var(--yellow);text-shadow:0 0 12px rgba(252,238,10,.5)}.price-note{font-size:10.5px;color:var(--dim);font-family:Share Tech Mono,monospace;letter-spacing:.02em}.progress{height:8px;background:#070910;border:1px solid var(--border);border-radius:0;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,var(--cyan),var(--magenta));box-shadow:0 0 12px var(--cyan-soft);transition:width .4s ease}.steps{display:flex;flex-wrap:wrap;gap:5px}.step{font-family:Share Tech Mono,monospace;font-size:10.5px;color:var(--dim);background:var(--panel2);border:1px solid var(--border);border-radius:0;padding:3px 7px}.step.ok{color:var(--green);border-color:#2bff8873;text-shadow:0 0 8px rgba(43,255,136,.5)}.watt-block{background:var(--panel2);border:1px solid var(--border);border-left:2px solid var(--cyan);border-radius:0;padding:10px 12px;display:flex;flex-direction:column;gap:7px;clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%)}.watt-row{display:flex;justify-content:space-between;font-size:13px}.watt-row span{display:flex;align-items:center;gap:5px}.watt-row.dim{color:var(--dim);font-size:12px}.watt-row b{font-family:Share Tech Mono,monospace;font-weight:400;color:var(--cyan)}.watt-row svg{color:var(--yellow);filter:drop-shadow(0 0 4px rgba(252,238,10,.6))}.issues{display:flex;flex-direction:column;gap:6px}.issue{display:flex;align-items:flex-start;gap:7px;font-size:12.5px;font-weight:600;line-height:1.45;border-radius:0;padding:8px 10px;background:var(--panel2);border:1px solid var(--border);clip-path:polygon(0 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%)}.issue svg{flex-shrink:0;margin-top:1px}.issue.error{color:var(--bad);border-color:#ff3b5c66}.issue.warn{color:var(--warn);border-color:#fcee0a4d}.issue.info{color:var(--dim)}.issue.done{border-color:#2bff8880;color:var(--green);text-shadow:0 0 8px rgba(43,255,136,.4);box-shadow:0 0 16px #2bff881f}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--border-glow),var(--border));border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--cyan-soft)}::-webkit-scrollbar-track{background:transparent}.summary-tabs{display:flex;border:1px solid var(--border);background:var(--panel2);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.summary-tabs button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;background:transparent;border:0;color:var(--dim);font:inherit;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:8px 0;cursor:pointer}.summary-tabs button.on{background:linear-gradient(180deg,#00f0ff24,#00f0ff08);color:var(--cyan);text-shadow:0 0 8px var(--cyan-soft)}.buy-empty{font-size:12.5px;color:var(--dim);line-height:1.5}.buy-list{display:flex;flex-direction:column;gap:8px}.buy-row{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--panel2);border:1px solid var(--border);padding:8px 10px;clip-path:polygon(0 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%)}.buy-info{min-width:0}.buy-fictional{font-size:10px;color:var(--dim);font-family:Share Tech Mono,monospace}.buy-real{font-size:12.5px;font-weight:700;margin-top:1px}.buy-price{font-size:11px;font-family:Share Tech Mono,monospace;color:var(--yellow);margin-top:1px}.buy-actions{display:flex;gap:5px;flex-shrink:0}.buy-actions a{display:flex;align-items:center;gap:3px;font-family:Share Tech Mono,monospace;font-size:10px;color:var(--cyan);text-decoration:none;border:1px solid var(--border);padding:4px 6px;transition:border-color .12s,box-shadow .12s}.buy-actions a:hover{border-color:var(--cyan);box-shadow:0 0 10px #00f0ff40}
