:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#16181d;--surface:#1e2128;--surface-deep:#14161b;--border:#2c3039;--text:#ffffffe6;--text-muted:#9aa0ae;--accent:#ec6d00;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}a{color:var(--accent);-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{filter:brightness(1.15)}button{font-family:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.app{max-width:960px;margin:0 auto;padding:1.5rem 1rem 3rem}.app-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.app-header h1{color:var(--accent);letter-spacing:.02em;margin:0;font-size:1.75rem}.tagline{color:var(--text-muted);margin:.15rem 0 0;font-size:.9rem}.summary{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:1.25rem;padding:1.25rem}.summary-progress-labels{justify-content:space-between;align-items:baseline;margin-bottom:.5rem;display:flex}.summary-progress-title{font-weight:600}.summary-progress-value{color:var(--accent);font-size:1.5rem;font-weight:700}.progress-track{background:var(--surface-deep);border-radius:6px;height:12px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent) 0%, #ff9d3f 100%);border-radius:6px;height:100%;transition:width .4s}.summary-caption{color:var(--text-muted);margin:.5rem 0 0;font-size:.85rem}.summary-statuses{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.status-chip{background:var(--surface-deep);border:1px solid var(--border);cursor:pointer;min-width:5.5rem;color:var(--text);border-radius:10px;flex-direction:column;align-items:center;padding:.5rem .75rem;transition:border-color .15s,background .15s;display:flex}.status-chip:hover{border-color:var(--accent)}.status-chip.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 15%, var(--surface-deep))}.status-chip-count{font-size:1.25rem;font-weight:700}.status-chip-label{color:var(--text-muted);font-size:.75rem}.toolbar{gap:.75rem;margin-bottom:1.25rem;display:flex}.search-input{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;flex:1;padding:.6rem .9rem;font-size:.95rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:1.25rem;padding:1.25rem}.add-form h2{margin:0 0 1rem;font-size:1.1rem}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;display:grid}.form-field{color:var(--text-muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.form-field-wide{grid-column:1/-1}.form-field input,.form-field select{border:1px solid var(--border);background:var(--surface-deep);color:var(--text);border-radius:8px;padding:.55rem .7rem;font-size:.95rem}.form-actions{gap:.75rem;margin-top:1rem;display:flex}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:.6rem 1.1rem;font-size:.95rem;font-weight:600;transition:filter .15s}.btn-primary:hover:not(:disabled){filter:brightness(1.1)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:10px;padding:.6rem 1.1rem}.btn-ghost:hover{border-color:var(--text-muted)}.btn-icon{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.35rem .5rem;font-size:.9rem}.btn-icon:hover{color:#ff6b6b;background:var(--surface-deep)}.system-group{margin-bottom:1.5rem}.system-title{align-items:baseline;gap:.6rem;margin:0 0 .6rem;font-size:1.05rem;display:flex}.system-count{color:var(--text-muted);font-size:.8rem;font-weight:400}.mini-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.mini-card{background:var(--surface);border:1px solid var(--border);border-left-width:4px;border-radius:10px;padding:.7rem .9rem}.mini-card-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.mini-card-main{flex-direction:column;gap:.15rem;min-width:0;display:flex}.mini-card-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.mini-card-meta{color:var(--text-muted);gap:.6rem;font-size:.8rem;display:flex}.mini-card-actions{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.status-select{border:1px solid var(--border);background:var(--surface-deep);color:var(--text);cursor:pointer;border-radius:8px;padding:.4rem .6rem;font-size:.85rem}.status-border-wishlist{border-left-color:#8b8fa3}.status-border-unassembled{border-left-color:#a0aec0}.status-border-assembled{border-left-color:#63b3ed}.status-border-inprogress{border-left-color:#f6ad55}.status-border-complete{border-left-color:#68d391}.list-placeholder{text-align:center;color:var(--text-muted);padding:2.5rem 1rem}.empty-state .empty-title{color:var(--text);font-size:1.1rem;font-weight:600}.error{color:#ff8a8a}.error.banner{background:color-mix(in srgb, #ff6b6b 12%, var(--surface));border:1px solid color-mix(in srgb, #ff6b6b 40%, var(--border));border-radius:10px;margin-bottom:1.25rem;padding:.75rem 1rem}footer{text-align:center;color:var(--text-muted);margin-top:2.5rem;font-size:.8rem}.header-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.user-menu{align-items:center;gap:.5rem;display:flex}.user-email{text-overflow:ellipsis;white-space:nowrap;max-width:14rem;color:var(--text-muted);font-size:.85rem;overflow:hidden}.btn-secondary{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:10px;padding:.6rem 1.1rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-block}.btn-secondary:hover{border-color:var(--accent)}.page-loading{min-height:50vh;color:var(--text-muted);place-items:center;display:grid}.auth-page{place-items:center;min-height:100vh;padding:1rem;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:100%;max-width:380px;padding:2rem}.auth-card h1{color:var(--accent);margin:0 0 .25rem;font-size:1.5rem}.auth-card h2{color:var(--text-muted);margin:0 0 1.25rem;font-size:1.1rem;font-weight:500}.brand-link{text-decoration:none}.auth-form{flex-direction:column;gap:.9rem;display:flex}.auth-form label{color:var(--text-muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.auth-form input{border:1px solid var(--border);background:var(--surface-deep);color:var(--text);border-radius:8px;padding:.6rem .8rem;font-size:.95rem}.auth-switch{color:var(--text-muted);margin:1.25rem 0 0;font-size:.85rem}.auth-switch a{color:var(--accent)}.external-providers{flex-direction:column;gap:.5rem;margin-top:1.25rem;display:flex}.divider{text-align:center;color:var(--text-muted);margin:0 0 .25rem;font-size:.8rem}.provider-btn{text-align:center}.landing{max-width:1040px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.landing-header{justify-content:space-between;align-items:center;margin-bottom:3rem;display:flex}.landing-brand{color:var(--accent);letter-spacing:.02em;font-size:1.4rem;font-weight:800}.landing-header nav{gap:.6rem;display:flex}.landing-header a{text-decoration:none}.hero{text-align:center;padding:3rem 0 3.5rem}.hero h1{margin:0 0 1rem;font-size:clamp(2rem,5vw,3.25rem);line-height:1.1}.hero-sub{max-width:620px;color:var(--text-muted);margin:0 auto 1.75rem;font-size:1.1rem;line-height:1.6}.hero-cta a{text-decoration:none}.btn-lg{padding:.85rem 1.75rem;font-size:1.05rem}.features{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin:2rem 0 3.5rem;display:grid}.feature{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.4rem}.feature h3{color:var(--accent);margin:0 0 .5rem;font-size:1rem}.feature p{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.55}.waitlist{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:2.5rem 1.5rem}.waitlist h2{margin:0 0 .6rem}.waitlist p{color:var(--text-muted);max-width:520px;margin:0 auto 1.25rem}.waitlist-form{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.waitlist-form input{border:1px solid var(--border);background:var(--surface-deep);color:var(--text);border-radius:10px;min-width:240px;padding:.7rem .9rem;font-size:.95rem}.waitlist-thanks{font-weight:600;color:var(--text)!important}.scanner-head{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.scanner-head h2{margin:0;font-size:1.1rem}.scanner-video-wrap{margin-bottom:.75rem}.scanner-video{background:var(--surface-deep);object-fit:cover;border-radius:10px;width:100%;max-height:280px}.scanner-hint{color:var(--text-muted);margin:.5rem 0;font-size:.85rem}.scanner-manual{gap:.6rem;display:flex}.scanner-manual input{border:1px solid var(--border);background:var(--surface-deep);color:var(--text);border-radius:8px;flex:1;padding:.6rem .8rem;font-size:.95rem}.scanner-head-actions{align-items:center;gap:.4rem;display:flex}.scanner-video-wrap{position:relative}.scanner-reticle{border:2px solid var(--accent);pointer-events:none;border-radius:10px;width:min(280px,70%);height:min(150px,42%);position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 0 0 9999px #00000059}.scanner-reticle-hit{border-color:#4caf50;box-shadow:0 0 0 9999px #00000059,0 0 18px #4caf50e6}.scanner-sweep{background:var(--accent);opacity:.8;height:2px;animation:1.6s ease-in-out infinite alternate scanner-sweep;position:absolute;left:6%;right:6%}@keyframes scanner-sweep{0%{top:12%}to{top:86%}}@media (prefers-reduced-motion:reduce){.scanner-sweep{animation:none;top:50%}}.scan-history{margin-top:.75rem}.scan-history-label{color:var(--text-muted);margin-bottom:.35rem;font-size:.8rem;display:block}.scan-history-chips{flex-wrap:wrap;gap:.4rem;display:flex}.scan-history-chip{border:1px solid var(--border);background:var(--surface-deep);color:var(--text);cursor:pointer;border-radius:999px;padding:.3rem .7rem;font-size:.8rem}.scan-history-chip:hover:not(:disabled){border-color:var(--accent)}.scan-card{border:1px solid var(--border);background:var(--surface-deep);border-radius:10px;align-items:flex-start;gap:.9rem;padding:.9rem;display:flex}.scan-card-added{border-color:#4caf50}.scan-card-image{object-fit:cover;border-radius:8px;flex-shrink:0;width:96px;height:96px}.scan-card-body{flex:1;min-width:0}.scan-card-body h3{margin:0 0 .25rem;font-size:1.05rem}.scan-card-meta{color:var(--text-muted);margin:0;font-size:.85rem}.scan-card-code{color:var(--text-muted);margin:.3rem 0 0;font-family:ui-monospace,monospace;font-size:.75rem}.scan-card-actions{flex-direction:column;flex-shrink:0;gap:.45rem;display:flex}@media (width<=560px){.scan-card{flex-direction:column}.scan-card-actions{flex-flow:wrap}}.app-nav{gap:.4rem;display:flex}.app-nav a{text-decoration:none}.nav-active{border-color:var(--accent);color:var(--accent)}.paint-list{flex-direction:column;gap:.45rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.paint-row{align-items:center;gap:.7rem;display:flex}.paint-swatch{border:1px solid var(--border);border-radius:6px;flex-shrink:0;width:26px;height:26px}.paint-name{flex-direction:column;flex:1;min-width:0;display:flex}.paint-brand{color:var(--text-muted);font-size:.8rem}.paint-equivalent{color:var(--accent);font-size:.8rem}.paint-owned{color:var(--text-muted);font-size:.85rem}.recipe{border-top:1px solid var(--border);margin-top:.75rem;padding-top:.75rem}.recipe-head{justify-content:space-between;align-items:center;display:flex}.recipe-head h3{margin:0;font-size:1rem}.recipe-steps{color:var(--text-muted);margin:.5rem 0 0;padding-left:1.25rem;font-size:.9rem}.recipe-form{border-top:1px solid var(--border);flex-direction:column;gap:.6rem;margin-top:1rem;padding-top:1rem;display:flex}.recipe-form h3{margin:0;font-size:1rem}.recipe-form input,.recipe-form select{border:1px solid var(--border);background:var(--surface-deep);color:var(--text);border-radius:8px;padding:.55rem .7rem;font-size:.9rem}.recipe-step-row{gap:.5rem;display:flex}.recipe-step-row input{flex:1}.photo-gallery{border-top:1px solid var(--border);margin-top:.7rem;padding-top:.7rem}.photo-grid{flex-wrap:wrap;gap:.5rem;display:flex}.photo-thumb{width:84px;height:84px;margin:0;position:relative}.photo-thumb img{object-fit:cover;border:1px solid var(--border);border-radius:8px;width:100%;height:100%}.photo-delete{color:#fff;background:#0000008c;border-radius:6px;padding:.1rem .35rem;font-size:.75rem;position:absolute;top:2px;right:2px}.photo-add{border:1px dashed var(--border);background:var(--surface-deep);width:84px;height:84px;color:var(--text-muted);cursor:pointer;border-radius:8px;font-size:.8rem}.photo-add:hover:not(:disabled){border-color:var(--accent);color:var(--text)}@media (width<=600px){.app-header{flex-direction:column;align-items:flex-start}.mini-card-row{flex-direction:column;align-items:stretch}.mini-card-actions{justify-content:space-between}}
