:root{color:#171c1e;font-synthesis:none;--accent:#00645f;--line:#d5dbde;--muted:#5b6468;background:#fff;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;height:76px;padding:0 26px;display:flex}.brand{align-items:center;gap:16px;display:flex}.brand svg{fill:none;width:35px;height:40px;stroke:var(--accent);stroke-width:2px}h1{letter-spacing:-.6px;margin:0;font-size:26px;font-weight:600}.model-name{font-size:18px;font-weight:600}main{grid-template-columns:minmax(0,1fr) 360px;height:calc(100dvh - 76px);min-height:530px;display:grid}.viewport{background:#e9eff2;min-width:0;position:relative;overflow:hidden}canvas{touch-action:none;width:100%;height:100%;display:block}.instructions{z-index:1;color:#424b50;pointer-events:none;margin:0;font-size:14px;position:absolute;top:20px;left:24px}.reset{color:var(--accent);background:#fff;border:1px solid #b9c2c7;border-radius:5px;padding:11px 18px;font-size:14px;font-weight:600;position:absolute;bottom:24px;left:24px;box-shadow:0 1px 2px #00000008}.reset:hover{background:#f4f8f8}.sidebar{border-left:1px solid var(--line);background:#fff;flex-direction:column;min-height:0;padding:24px;display:flex}.finder h2,.selection h2{letter-spacing:-.3px;margin:0 0 16px;font-size:22px;font-weight:600;line-height:1.25}.finder label{color:var(--muted);margin-bottom:7px;font-size:14px;display:block}.search-wrap{position:relative}.search-wrap svg{fill:none;width:20px;height:20px;stroke:var(--accent);stroke-width:1.8px;pointer-events:none;position:absolute;top:11px;left:12px}.search-wrap input{border:1px solid var(--accent);color:#171c1e;background:#fff;border-radius:5px;width:100%;height:42px;padding:0 12px 0 40px;font-size:14px}.part-list{border:1px solid var(--line);scrollbar-width:thin;scrollbar-color:#b7c0c5 #f3f5f6;border-radius:5px;flex:1;min-height:120px;margin-top:20px;overflow:auto}.part-row{text-align:left;color:#171c1e;background:#fff;border:0;border-bottom:1px solid #e6eaec;width:100%;min-height:40px;padding:10px 14px;font-size:14px;line-height:20px;display:block}.part-row:last-child{border-bottom:0}.part-row:hover{background:#f0f6f5}.part-row[aria-pressed=true]{color:#00564f;box-shadow:inset 3px 0 var(--accent);background:#e5f0ed;font-weight:600}.part-row:disabled{cursor:wait;color:#7a8387}.selection{border-top:1px solid var(--line);min-height:185px;margin-top:28px;padding-top:20px}.selection h2{margin-bottom:12px}.selection>p{color:var(--muted);margin:0 0 18px;font-size:14px;line-height:1.5}.selection dl{grid-template-columns:64px minmax(0,1fr);gap:14px;margin:0;font-size:13px;line-height:1.5;display:grid}.selection dt{font-weight:600}.selection dd{overflow-wrap:anywhere;margin:0;font-family:ui-monospace,SFMono-Regular,monospace}.selection .quote-help{margin:28px 0 0}.load-state{text-align:center;z-index:3;color:#414e55;background:#e9eff2d9;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:30px;font-size:14px;display:flex;position:absolute;inset:0}.load-state[hidden]{display:none}.load-state p{max-width:400px;line-height:1.6}.load-state button{border:1px solid var(--accent);color:var(--accent);background:#fff;border-radius:5px;padding:10px 20px}.spinner{border:2px solid #b8c9c9;border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:1s linear infinite spin}.load-state.error .spinner{display:none}.hover-label{color:#fff;pointer-events:none;z-index:2;background:#172b2b;border-radius:4px;max-width:230px;padding:8px 11px;font-size:12px;line-height:1.4;position:absolute;box-shadow:0 3px 10px #0002}.empty{color:var(--muted);padding:10px 14px;font-size:14px}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}@media (width>=1600px){main{grid-template-columns:minmax(0,1fr) 400px}.sidebar{padding:28px}h1{font-size:30px}.part-row{min-height:43px}}@media (width<=760px){.header{height:66px;padding:0 18px}.brand{gap:10px}.brand svg{width:25px;height:30px}h1{letter-spacing:-.3px;font-size:20px}.model-name{text-align:right;max-width:68px;font-size:12px}main{flex-direction:column;height:auto;min-height:0;display:flex}.viewport{height:50dvh;min-height:300px;max-height:500px}.instructions{font-size:12px;top:18px;left:18px}.reset{padding:10px 14px;font-size:13px;bottom:18px;left:18px}.sidebar{border-left:0;border-top:1px solid var(--line);padding:22px 18px}.finder h2,.selection h2{font-size:21px}.part-list{flex:none;height:240px}.selection{min-height:0;margin-top:22px}.selection .quote-help{margin-top:22px}}.selection-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.selection-header h2{white-space:nowrap;margin:0;font-size:20px}.selection-header h2 span{color:var(--muted);font-size:16px;font-weight:400}.selection-header>button{color:var(--accent);white-space:nowrap;background:0 0;border:0;padding:8px 0 8px 8px;font-size:13px}.selection-header>button:disabled{color:#879095;cursor:default}#selected-parts{scrollbar-width:thin;max-height:200px;margin:0;padding:0;list-style:none;overflow:auto}#selected-parts:empty{display:none}#selected-parts li{border-bottom:1px solid #e6eaec;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}#selected-parts li:last-child{border-bottom:0}#selected-parts li>div{min-width:0}#selected-parts li span{font-size:14px;line-height:1.4;display:block}#selected-parts code{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:11px;display:block}.remove-part{border:1px solid var(--line);width:32px;height:32px;color:var(--muted);background:#fff;border-radius:4px;flex-shrink:0;place-items:center;display:grid}.remove-part:hover{color:var(--accent);background:#f0f6f5}.remove-part svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:15px;height:15px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=760px){#selected-parts{max-height:260px}}.selection{flex:none;min-height:0}.paint-control{border-bottom:1px solid var(--line);flex:none;margin-bottom:22px;padding-bottom:20px}.paint-control>p:not(.sr-only){margin:0 0 12px;font-size:14px;font-weight:600}.paint-options{align-items:center;gap:10px;min-width:0;display:flex}.paint-swatch{background:var(--paint);border:2px solid #fff;border-radius:50%;flex:0 0 28px;width:28px;height:28px;padding:0;box-shadow:0 0 0 1px #b8c2c5}.paint-swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--accent)}.paint-swatch:disabled{opacity:.5;cursor:wait}#paint-color{cursor:pointer;background:#fff;border:1px solid #b8c2c5;border-radius:4px;flex:0 0 36px;width:36px;height:32px;padding:3px}#paint-color:disabled{cursor:wait;opacity:.5}#paint-value{color:var(--muted);white-space:nowrap;margin-left:auto;font:11px ui-monospace,SFMono-Regular,monospace}@media (width<=360px){.paint-options{gap:8px}}
