:root{font-family:Arial,Helvetica,sans-serif;color:#f4f4f1;background:#0d0f11;color-scheme:dark;--line:#303337;--accent:#e5ff55}*{box-sizing:border-box}body{margin:0;height:100dvh;display:grid;grid-template-rows:70px minmax(0,1fr) 190px}button,input{font:inherit}button{background:#1b1e21;color:inherit;border:1px solid var(--line);padding:11px 15px;cursor:pointer;font-size:14px}button:hover{border-color:#858b90}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:disabled{opacity:.35;cursor:default}button.active{border-color:var(--accent);color:var(--accent)}header{display:flex;align-items:center;gap:60px;padding:0 26px;border-bottom:1px solid var(--line)}header b{font-size:24px;letter-spacing:3px}header b small{display:block;font-size:9px;letter-spacing:6px}header span{font-size:14px;letter-spacing:2px}header em{font-style:normal;color:#858b90}header button{margin-left:auto}main{display:grid;grid-template-columns:minmax(0,1fr) 330px;min-height:0}#viewer{position:relative;overflow:hidden;background:#d4d6d8}canvas{display:block;width:100%;height:100%;touch-action:none}.stamp{position:absolute;top:24px;left:28px;font-size:42px;color:#25292c;font-weight:bold;letter-spacing:-2px;pointer-events:none}.stamp small{font-size:12px;display:block;letter-spacing:2px;color:#646a70}#cameras{position:absolute;left:18px;top:125px;display:grid;gap:6px}#cameras button{background:#202326df;font-size:14px;min-width:78px}.hint{position:absolute;bottom:12px;left:0;right:0;text-align:center;font-size:13px;color:#3f454b;pointer-events:none}aside{overflow:auto;padding:25px;border-left:1px solid var(--line)}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--accent)}h1{font-size:29px;letter-spacing:-1px;margin:18px 0 12px}aside p{font-size:14px;color:#a3a8ad;line-height:1.6}.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}aside section{border-top:1px solid var(--line);padding:12px 0}h2{font-size:14px;margin:8px 0 15px}ul{padding-left:18px;color:#b7bcc1;font-size:14px;overflow-wrap:anywhere;line-height:1.7}label{display:block;font-size:14px;margin-bottom:17px}output{float:right;color:var(--accent)}input[type=range]{display:block;width:100%;margin:12px 0;accent-color:var(--accent)}.check{display:flex;gap:10px;align-items:center}footer{border-top:1px solid var(--line);padding:12px 20px;min-width:0}#categories{display:flex;gap:8px;overflow:auto}#categories button{border:0;background:none;font-size:13px;letter-spacing:1px}#parts{display:flex;gap:10px;overflow:auto;margin-top:10px;padding-bottom:8px}#parts button{min-width:175px;text-align:left;height:83px;display:flex;flex-direction:column;justify-content:center;gap:9px}#parts small{color:#90979d;font-size:12px}#parts .active small{color:var(--accent)}#load{position:absolute;inset:0;background:#d4d6d8;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;color:#333}#load progress{width:260px;accent-color:#222}#load[hidden],#error[hidden]{display:none}#error{position:absolute;top:15px;left:15px;right:15px;padding:15px;background:#5a1717;color:white;z-index:5;font-size:14px}#count{border-top:1px solid var(--line);padding-top:16px}@media(max-width:800px){body{height:auto;min-height:100dvh;grid-template-rows:64px auto auto}header{gap:15px;padding:10px}header em{display:none}header b{font-size:18px}main{grid-template-columns:1fr}#viewer{height:60dvh}aside{border-top:1px solid var(--line);padding:20px}.stamp{font-size:32px}#cameras{top:100px}aside section{display:inline-block;width:48%;vertical-align:top}footer{grid-row:3}header span{font-size:12px}#parts button{min-width:155px}}
/* Part callout stays clear of camera controls and remains minimal. */
#price-overlay{position:absolute;right:28px;bottom:58px;display:flex;flex-direction:column;gap:8px;padding:18px 24px;min-width:190px;background:#111518ed;color:#fff;border-left:2px solid #e5ff55;pointer-events:none;box-shadow:0 8px 30px #0002}
#price-overlay[hidden]{display:none}#part-name{font-size:17px;font-weight:500}#part-price{font-size:22px;color:#e5ff55}#parts small:empty{display:none}
#customize[hidden]{display:none}#customize{display:block;width:100%}#option-tabs{display:flex;gap:8px;margin-bottom:18px}#option-tabs button{flex:1}#options>button{display:block;width:100%;text-align:left;margin-bottom:8px}#options button small{display:block;color:#9ca3a9;margin-top:6px;font-size:12px}#options h2{margin-top:20px}.swatches{display:grid;grid-template-columns:1fr 1fr;gap:8px}.swatches button{display:flex;align-items:center;gap:9px;padding:10px;font-size:14px}.swatches i{width:20px;height:20px;flex-shrink:0;border-radius:50%;border:1px solid #777}.finish-row{display:flex;gap:8px}.finish-row button{flex:1}.actions #clear{grid-column:1/-1}#option-status:empty{display:none}#options button:disabled{opacity:.48}#option-tabs button{font-size:14px}#count{font-size:13px}aside p{font-size:16px}#error{overflow-wrap:anywhere}
