:root{color:#17211c;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f6f1e8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100dvh;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #d98b2b6b}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.login-shell{color:#fffaf2;background:radial-gradient(circle at 30% 18%,#d98b2b2e,#0000 28%),#17211c;place-items:center;min-height:100dvh;padding:22px;display:grid}.login-panel{background:#ffffff12;border:1px solid #ffffff29;border-radius:8px;gap:16px;width:min(100%,430px);padding:26px;display:grid}.login-panel h1{font-size:36px}.login-panel label{color:#fffaf2c7;gap:7px;font-size:13px;font-weight:800;display:grid}.login-panel input{color:#fffaf2;background:#ffffff14;border:1px solid #ffffff2e;border-radius:8px;width:100%;min-height:46px;padding:0 12px}.app-shell{background:linear-gradient(90deg,#23352d0f 1px,#0000 1px) 0 0/44px 44px,linear-gradient(#f6f1e8,#eee3d3);grid-template-columns:minmax(340px,.92fr) minmax(420px,1.08fr);gap:0;min-height:100dvh;display:grid}.capture-pane{min-height:100dvh;padding:max(22px, env(safe-area-inset-top)) 24px max(24px, env(safe-area-inset-bottom));color:#f8f3eb;background:#17211c;position:sticky;top:0;overflow-y:auto}.capture-pane:before{content:"";pointer-events:none;background:radial-gradient(circle at 24% 12%,#d98b2b2e,#0000 27%),linear-gradient(#ffffff0d,#0000 36%);position:absolute;inset:0}.capture-pane>*{position:relative}.top-line,.library-head,.product-title-row,.meta-row,.tag-row,.action-row,.selection-bar,.cutout-preview{align-items:center;display:flex}.top-line,.library-head,.product-title-row,.selection-bar,.cutout-preview{justify-content:space-between;gap:16px}.kicker{color:#d98b2b;margin:0 0 6px;font-size:12px;font-weight:800}h1,h2,h3,p{margin-top:0}h1{color:#fffaf2;text-wrap:balance;max-width:540px;margin-bottom:0;font-size:clamp(30px,5vw,58px);line-height:.98}h2{text-wrap:balance;margin-bottom:0;font-size:clamp(28px,4vw,44px);line-height:1}h3{text-wrap:balance;margin:2px 0 0;font-size:20px;line-height:1.15}.status-pill,.add-button,.ghost-icon,.product-title-row button{border:1px solid #ffffff29;justify-content:center;align-items:center;display:inline-flex}.status-pill{color:#fffaf2;white-space:nowrap;background:#ffffff14;border-radius:999px;gap:8px;min-width:118px;min-height:38px;padding:0 12px;font-size:13px}.spin{animation:.9s linear infinite spin}.scanner{background:#101713;border:1px solid #ffffff2e;border-radius:8px;min-height:clamp(360px,100dvh - 330px,620px);margin-top:24px;position:relative;overflow:hidden}.scanner img{width:100%;height:100%;min-height:inherit;object-fit:contain;display:block}.scanner.has-image{background-color:#0d120f;background-image:linear-gradient(90deg,#ffffff0d 1px,#0000 1px),linear-gradient(#ffffff0d 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}.empty-camera{min-height:inherit;text-align:center;align-content:center;place-items:center;gap:10px;padding:28px;display:grid}.empty-camera svg{color:#e6a64b}.empty-camera p{color:#fffaf2;text-wrap:balance;margin-bottom:0;font-size:20px;font-weight:800}.empty-camera span{color:#fffaf2ad;text-wrap:pretty;max-width:340px;font-size:14px;line-height:1.55}.detection-layer{position:absolute;inset:0}.detection-box{color:#fffaf2;background:#d98b2b14;border:2px solid #e6a64b;border-radius:8px;min-width:92px;min-height:72px;padding:0;animation:.18s ease-out both pop-in;position:absolute;box-shadow:inset 0 0 0 1px #17211c80}.detection-box:before,.detection-box:after{content:"";border-style:solid;border-color:#fffaf2;width:18px;height:18px;position:absolute}.detection-box:before{border-width:3px 0 0 3px;top:-4px;left:-4px}.detection-box:after{border-width:0 3px 3px 0;bottom:-4px;right:-4px}.detection-box.selected{background:#d98b2b2e}.detection-box span{white-space:nowrap;text-overflow:ellipsis;background:#0d120fdb;border-radius:6px;align-items:center;gap:6px;max-width:calc(100% - 16px);padding:6px 8px;font-size:12px;font-weight:800;display:inline-flex;position:absolute;bottom:8px;left:8px;overflow:hidden}.detection-box small{color:#e6a64b;font-size:11px}.scan-line{background:#e6a64b;height:2px;animation:1.2s ease-in-out infinite scan;position:absolute;top:0;left:0;right:0}.inline-error{color:#fff2df;background:#9e4e266b;border-radius:8px;min-height:34px;margin:12px 0 0;padding:9px 11px;font-size:13px;line-height:1.35}.action-row{gap:10px;margin-top:18px}.primary-action,.ghost-action,.cutout-preview button,.empty-library button{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:48px;font-weight:800;display:inline-flex}.primary-action{color:#17211c;background:#e6a64b;border:0;flex:1}.primary-action.wide{width:100%;margin-top:4px}.ghost-action,.cutout-preview button,.empty-library button{color:#fffaf2;background:#ffffff14;border:1px solid #ffffff2e}.ghost-action{min-width:112px}.selection-bar{background:#ffffff12;border:1px solid #ffffff24;border-radius:8px;margin-top:14px;padding:14px}.selection-bar p{margin-bottom:3px;font-weight:800}.selection-bar span{color:#fffaf2b3;font-size:13px}.ghost-icon,.add-button,.product-title-row button{width:42px;height:42px;color:inherit;background:0 0;border-radius:8px;flex:none}.editor{gap:12px;margin-top:16px;display:grid}.cutout-preview{background:#ffffff12;border:1px solid #ffffff24;border-radius:8px;padding:10px}.cutout-preview img{object-fit:contain;background:#f6f1e8;border-radius:8px;width:80px;height:96px}.cutout-preview button{min-height:38px;padding:0 12px}.editor label{color:#fffaf2b8;gap:6px;font-size:13px;font-weight:800;display:grid}.editor input,.editor textarea{color:#fffaf2;background:#ffffff12;border:1px solid #ffffff2e;border-radius:8px;width:100%;font-size:15px}.editor input{min-height:42px;padding:0 11px}.editor textarea{resize:vertical;padding:10px 11px;line-height:1.45}.library-pane{padding:max(28px, env(safe-area-inset-top)) clamp(18px, 4vw, 46px) max(30px, env(safe-area-inset-bottom));overflow:hidden}.library-head{color:#17211c}.library-head .kicker{color:#8d5f28}.add-button{color:#17211c;background:#fffaf2;border-color:#17211c2e}.search-row{background:#fffaf2b8;border:1px solid #17211c1f;border-radius:8px;align-items:center;gap:10px;min-height:46px;margin-top:24px;padding:0 14px;display:flex}.search-row input{color:#17211c;background:0 0;border:0;outline:0;width:100%;min-width:0}.category-tabs{gap:8px;margin:14px 0 22px;padding-bottom:2px;display:flex;overflow-x:auto}.category-tabs button{color:#4b574f;background:#fffaf2b3;border:1px solid #17211c21;border-radius:999px;flex:none;min-height:34px;padding:0 12px;font-size:13px;font-weight:800}.category-tabs button.active{color:#fffaf2;background:#23352d}.item-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;display:grid}.product-card{background:#fffaf2c7;border:1px solid #17211c1f;border-radius:8px;grid-template-columns:118px minmax(0,1fr);gap:14px;padding:14px;display:grid}.product-image{aspect-ratio:4/5;background:#ede1cf;border:0;border-radius:8px;place-items:center;width:100%;padding:0;display:grid;overflow:hidden}.product-image img{object-fit:contain;width:100%;height:100%}.product-image:active img{transform:scale(.985)}.product-copy{min-width:0}.product-title-row{align-items:flex-start}.product-title-row p{color:#8d5f28;margin-bottom:0;font-size:12px;font-weight:800}.product-title-row button{color:#6a4a35;border-color:#17211c1a;width:34px;height:34px}.summary,.note,.cue,.sync-state{color:#4e5c53;text-wrap:pretty;font-size:13px;line-height:1.45}.summary{margin:10px 0}.sync-state{color:#7d5d27;background:#f0dfbf;border-radius:999px;width:fit-content;margin:8px 0 0;padding:4px 8px;font-weight:800}.sync-state.failed{color:#8b3e28;background:#f3d1c3}.note,.cue{align-items:flex-start;gap:6px;margin:0 0 8px;display:flex}.note svg,.cue svg,.meta-row svg,.tag-row svg{flex:none;margin-top:1px}.cue{color:#2e4639;font-weight:700}.meta-row{color:#69756e;justify-content:space-between;gap:10px;font-size:12px}.meta-row span:first-child,.tag-row{align-items:center;gap:6px;display:flex}.tag-row{color:#69756e;flex-wrap:wrap;margin-top:10px;font-size:12px}.tag-row span{color:#2e4639;background:#efe4d4;border-radius:999px;min-height:24px;padding:4px 8px;font-weight:800}.empty-library{color:#5d6b63;background:#fffaf27a;border:1px dashed #17211c38;border-radius:8px;align-content:center;place-items:center;gap:10px;min-height:260px;display:grid}.empty-library p{margin-bottom:0;font-weight:800}.empty-library button{color:#17211c;border-color:#17211c29;min-height:36px;padding:0 12px}.image-viewer{z-index:20;padding:max(18px, env(safe-area-inset-top)) 16px max(18px, env(safe-area-inset-bottom));background:#0e1210e0;place-items:center;display:grid;position:fixed;inset:0}.image-viewer-content{background:#fffaf2;border-radius:8px;gap:12px;width:min(100%,760px);max-height:calc(100dvh - 36px);padding:12px;display:grid;position:relative}.image-viewer-content img{object-fit:contain;background:#ede1cf;border-radius:8px;width:100%;max-height:calc(100dvh - 148px)}.image-viewer-content p{color:#8d5f28;margin-bottom:2px;font-size:13px;font-weight:800}.image-viewer-content h3{color:#17211c}.viewer-close{color:#17211c;background:#fffaf2eb;border:1px solid #17211c24;border-radius:8px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex;position:absolute;top:20px;right:20px}.confirm-overlay{z-index:24;padding:max(18px, env(safe-area-inset-top)) 16px max(18px, env(safe-area-inset-bottom));background:#0e1210b8;place-items:center;display:grid;position:fixed;inset:0}.confirm-dialog{background:#fffaf2;border-radius:8px;gap:12px;width:min(100%,390px);padding:18px;display:grid}.confirm-dialog h2{color:#17211c;margin:0;font-size:24px}.confirm-dialog p{color:#4e5c53;margin:0;line-height:1.45}.confirm-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:4px;display:grid}.ghost-confirm,.danger-confirm{border-radius:8px;min-height:46px;font-weight:800}.ghost-confirm{color:#17211c;background:#fffaf2;border:1px solid #17211c29}.danger-confirm{color:#fffaf2;background:#9c3f2b;border:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pop-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes scan{0%,to{opacity:.32;transform:translateY(0)}50%{opacity:.95;transform:translateY(560px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@media (width<=980px){.app-shell{display:block}.capture-pane{min-height:auto;position:relative}.scanner{min-height:min(68dvh,560px)}}@media (width<=620px){.capture-pane,.library-pane{padding-left:14px;padding-right:14px}.top-line{display:grid}.status-pill{width:fit-content}h1{font-size:36px}.scanner{min-height:430px}.product-card{grid-template-columns:96px minmax(0,1fr);gap:12px}.product-title-row{gap:8px}h3{font-size:17px}}
