*{box-sizing:border-box}:root{--bg:#eef1f5;--text:#1d2330;--card:#fff;--border:#d5d9e0;--muted:#556;--muted-2:#889;--line:#eef1f5;--soft-red:#ffebee;--ghost-fill:#e5e7eb;--ghost-stroke:#cbd0d8;--strong:#1d2330;--on-strong:#fff}:root[data-theme=dark]{--bg:#12151b;--text:#e6e9ef;--card:#1c2029;--border:#353b48;--muted:#a3aab8;--muted-2:#7d8494;--line:#2a2f3a;--soft-red:#3a1d22;--ghost-fill:#3a404c;--ghost-stroke:#4a5160;--strong:#e6e9ef;--on-strong:#12151b}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}main{max-width:1000px;margin:0 auto;padding:16px}header{text-align:center;margin-bottom:16px;position:relative}.theme{padding:6px 10px;font-size:1.2rem;line-height:1;position:absolute;top:0;right:0}h1{margin:8px 0 4px;font-size:2rem}.total{color:#d32f2f;margin:0;font-size:1.25rem;font-weight:600}.card{background:var(--card);border-radius:16px;margin-bottom:16px;padding:16px;box-shadow:0 2px 8px #0000000f}h2{margin:0 0 12px;font-size:1.1rem}.hint,.empty{color:var(--muted);margin:0 0 8px}.columns{gap:16px;display:grid}.columns .card{margin-bottom:0}@media (width>=760px){.columns{grid-template-columns:3fr 2fr;align-items:start}}button,.whatsapp{font:inherit;cursor:pointer;border:2px solid var(--border);background:var(--card);color:inherit;border-radius:10px;padding:8px 12px;text-decoration:none}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.card-head h2{margin:0}.toggle{background:var(--line);border-radius:12px;grid-template-columns:1fr 1fr;gap:4px;padding:3px;display:inline-grid}.toggle button{background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:6px 12px;font-weight:700;display:flex}.toggle button.on{background:var(--strong);color:var(--on-strong)}.colors{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px;display:flex}.dot-color{border:2px solid #00000040;border-radius:50%;width:34px;height:34px;padding:0;position:relative}.dot-color.selected{box-shadow:0 0 0 3px var(--card), 0 0 0 5px var(--strong)}.dot-color .count{position:absolute;top:-8px;right:-10px}.count{color:#fff;background:#d32f2f;border-radius:999px;padding:0 7px;font-size:.85rem}.swatch{vertical-align:middle;border:2px solid #00000040;border-radius:50%;width:22px;height:22px;display:inline-block}.dummy{width:100%;max-height:80vh;margin:0 auto;display:block}.part{stroke-linejoin:round;stroke-width:1.5px;cursor:pointer;transition:opacity .15s}.part:hover{opacity:.7}.ghost{fill:var(--ghost-fill);stroke:var(--ghost-stroke);stroke-width:1px;opacity:.5;pointer-events:none}.badge{pointer-events:none}.badge circle{fill:#d32f2f;stroke:var(--card);stroke-width:1.5px}.badge text{fill:#fff;text-anchor:middle;font-size:10px;font-weight:700}.legend{color:var(--muted);justify-content:center;gap:20px;margin-top:8px;display:flex}.legend i{vertical-align:middle;border:2px solid var(--strong);border-radius:4px;width:16px;height:16px;margin-right:4px;display:inline-block}.chips{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.chips button{align-items:center;gap:6px;padding:6px 10px;display:flex}.chips small{color:var(--muted-2)}.chips button.missing{background:var(--soft-red);border-color:#d32f2f}.kit{border-style:dashed;justify-content:center;align-items:center;gap:8px;width:100%;margin:12px 0 4px;font-weight:700;display:flex}.kit.missing{background:var(--soft-red);border-style:solid;border-color:#d32f2f}.kit-part{stroke-width:2px;stroke-linejoin:round}.stack{align-content:start;gap:16px;display:grid}.mouse-help{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:6px 20px;font-size:.9rem;display:flex}.mouse-help span{align-items:center;gap:6px;display:flex}.mouse-icon{width:14px;height:20px}.mouse-icon rect,.mouse-icon line{fill:none;stroke:var(--muted);stroke-width:1.5px}.mouse-icon .btn{fill:#d32f2f}.group{margin-bottom:16px}.group h3{align-items:center;gap:8px;margin:0 0 8px;font-size:1.1rem;display:flex}.item{border-bottom:1px solid var(--line);align-items:center;gap:6px;padding:6px 0;display:flex}.piece-icon{isolation:isolate;filter:drop-shadow(0 0 1px #00000073);flex:none;width:52px;height:52px;position:relative}.piece-icon>*{width:100%;height:100%;position:absolute;inset:0}.piece-icon .tint{-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.piece-icon img{mix-blend-mode:hard-light}.credits{text-align:center;color:var(--muted-2);margin-top:16px;font-size:.8rem}.credits a{color:inherit}.item .qty{color:#d32f2f;min-width:44px;font-size:1.3rem;font-weight:800}.item .name{flex:1;font-size:1.1rem}.item button{width:40px;height:40px;padding:0;font-size:1.2rem;font-weight:700}.item .done{color:#43a047;border-color:#43a047}.actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.whatsapp{color:#fff;background:#25d366;border-color:#25d366;font-weight:700}.clear{color:#d32f2f;border-color:#e59a9a;margin-left:auto}.part.missing{stroke-width:3px;stroke:#d32f2f!important}.legend i.missing{border-color:#d32f2f}.part.hover{stroke-width:3px;opacity:1;stroke:#1e88e5!important}.chips button.hover{border-color:#1e88e5;box-shadow:0 0 0 2px #bbdefb}.status{min-height:28px;color:var(--muted);justify-content:center;align-items:center;gap:8px;margin:0 0 6px;font-size:1.05rem;display:flex}.emblem{text-anchor:middle;pointer-events:none;font-size:11px;font-style:italic;font-weight:800}.callout line{stroke:#d32f2f;stroke-width:1px}.callout .dot{fill:#d32f2f;stroke:var(--card);stroke-width:.8px}.callout{pointer-events:none}
