@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Fallback;src:local("Arial");ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.00%;size-adjust:101.17%}.__className_4eeef7{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.__variable_4eeef7{--font-sans:"IBM Plex Sans","IBM Plex Sans Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_9f0762{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_9f0762{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--bg:#f3f2ee;--surface:#ffffff;--border:#e2e0da;--border-input:#d6d3cc;--border-dashed:#c9c6be;--text:#15171c;--text-muted:#5a5f6a;--primary:#1f4fd1;--primary-hover:#163a9e;--primary-soft:#e3eafb;--primary-soft-2:#d4dcf5;--success:#17663f;--success-soft:#d6eedf;--warning:#b4530a;--warning-text:#6e3204;--warning-text-2:#8a3f05;--warning-soft:#fff1e3;--warning-border:#f2d3b3;--danger:#b42318;--danger-soft:#fdecea;--danger-border:#f3c5c0;--discount:#a11d68;--discount-strong:#7a1450;--discount-soft:#fbe7f1;--discount-border:#f2c6dd;--scan-accent:#ff8a3d;--dark-bg:#0e0f12;--dark-surface:#24262c;--dark-text-muted:#b8bcc6;--fs-hero:40px;--fs-total:30px;--fs-stepper:20px;--fs-title:26px;--fs-primary:17px;--fs-strong:16px;--fs-body:15px;--fs-secondary:14px;--fs-caption:13px;--fs-label:12px;--sp-2:2px;--sp-4:4px;--sp-6:6px;--sp-8:8px;--sp-10:10px;--sp-12:12px;--sp-14:14px;--sp-16:16px;--sp-20:20px;--sp-24:24px;--sp-28:28px;--radius-badge:6px;--radius-control:12px;--radius-primary:14px;--radius-card:16px}*{box-sizing:border-box;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans),"Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased}.screen{max-width:480px;min-height:100dvh;margin:0 auto;display:flex;flex-direction:column;padding:var(--sp-20);gap:var(--sp-14)}.mono{font-family:var(--font-mono),monospace;font-size:12px;color:var(--text-muted)}.title{font-size:var(--fs-title);font-weight:700;letter-spacing:-.02em}.muted{font-size:var(--fs-secondary)}.label,.muted{color:var(--text-muted)}.label{font-size:var(--fs-label);letter-spacing:.06em;text-transform:uppercase}.field,.label{font-weight:600}.field{display:flex;flex-direction:column;gap:6px;font-size:14px}.input{height:52px;padding:0 14px;border:1px solid var(--border-input);border-radius:var(--radius-control);background:var(--surface);font:inherit;font-size:16px;font-weight:400;color:var(--text);outline-color:var(--primary)}.btn-primary{height:56px;border:0;border-radius:var(--radius-primary);background:var(--primary);color:var(--surface);font:inherit;font-size:17px;font-weight:600;cursor:pointer}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:disabled{opacity:.5;cursor:default}.btn-secondary{height:44px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-control);font:inherit;font-size:14px;font-weight:600;color:var(--text);cursor:pointer}.btn-secondary,.card{background:var(--surface)}.card{border:1px solid var(--border);border-radius:var(--radius-card);padding:16px}.empty{background:var(--surface);border:1px dashed var(--border-dashed);border-radius:var(--radius-card);padding:28px 20px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.error{background:var(--danger-soft);color:var(--danger);border-radius:var(--radius-control);padding:10px 14px;font-size:14px;font-weight:600}.checkbox{display:flex;align-items:center;gap:10px;min-height:44px;font-size:15px}.checkbox input{width:20px;height:20px;accent-color:var(--primary)}.row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-8)}.stack{gap:var(--sp-14)}.stack,.stack-tight{display:flex;flex-direction:column}.stack-tight{gap:var(--sp-2)}.center{justify-content:center}.text-center{text-align:center}.empty-title{font-size:var(--fs-strong);font-weight:600}.icon-btn{width:44px;height:44px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);display:flex;align-items:center;justify-content:center;color:var(--text);cursor:pointer}.menu{position:relative}.menu-panel{position:absolute;right:0;top:52px;min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);padding:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-4);z-index:10}.menu-item{min-height:44px;padding:0 var(--sp-12);border:0;border-radius:var(--radius-badge);background:transparent;font:inherit;font-size:var(--fs-body);text-align:left;color:var(--text);cursor:pointer}.menu-item:hover{background:var(--bg)}.pill{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--sp-6);padding:var(--sp-6) var(--sp-10);border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:var(--fs-label);font-weight:500}.dot{width:8px;height:8px;border-radius:50%}.search-link{display:flex;align-items:center;height:48px;color:var(--text-muted);text-decoration:none;font-size:var(--fs-body)}.search-input{flex:1 1;min-width:0;height:48px}.stack-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--sp-10)}.product-row{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-12);padding:var(--sp-12)}.product-name{font-size:var(--fs-strong);font-weight:600}.color-name{font-size:var(--fs-secondary);font-weight:500;color:var(--text-muted)}.price{font-size:var(--fs-strong);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.dot-success{background:var(--success)}.dot-warning{background:var(--warning)}.dot-primary{background:var(--primary)}.grow{flex:1 1;min-width:0}.btn-text{border:0;background:transparent;color:var(--primary)}.btn-danger,.btn-text{height:44px;padding:0 var(--sp-14);font:inherit;font-size:var(--fs-secondary);font-weight:600;cursor:pointer}.btn-danger{border:1px solid var(--danger-border);border-radius:var(--radius-control);background:var(--danger-soft);color:var(--danger)}.btn-secondary:disabled{opacity:.5;cursor:default}.thumb{width:64px;height:64px;flex-shrink:0;border-radius:var(--radius-control);background:var(--primary-soft);display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:var(--fs-title);font-weight:700;color:var(--primary)}.thumb img{width:100%;height:100%;object-fit:cover}.cart-line{display:flex;flex-direction:column;gap:var(--sp-10);padding:var(--sp-12)}.cart-line-main{display:flex;gap:var(--sp-12);align-items:center}.cart-line-main .price{align-self:flex-start}.stepper{display:flex;align-items:center;gap:var(--sp-4)}.stepper button{width:44px;height:44px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg);font-size:var(--fs-stepper);color:var(--text);cursor:pointer}.stepper span{width:44px;text-align:center;font-size:var(--fs-primary);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.product-actions{display:flex;flex-direction:column;align-items:flex-end;gap:var(--sp-6)}.in-cart{font-size:var(--fs-label);font-weight:600;color:var(--success)}.bottom-bar{position:-webkit-sticky;position:sticky;bottom:0;margin:auto calc(-1 * var(--sp-20)) calc(-1 * var(--sp-20));padding:var(--sp-16) var(--sp-20) var(--sp-28);background:var(--surface);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--sp-12)}.total{font-size:var(--fs-total);font-weight:700;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.empty-icon{color:var(--text-muted)}.scan-feedback{font-size:var(--fs-caption);font-weight:600}.scan-added{color:var(--success)}.scan-error{color:var(--danger)}.dark{background:var(--dark-bg)}.dark,.dark .card{color:var(--surface)}.dark .card{background:var(--dark-surface);border-color:var(--dark-surface)}.dark-muted{font-size:var(--fs-secondary)}.dark .mono,.dark-muted{color:var(--dark-text-muted)}.dark-btn{background:var(--dark-surface);border-color:var(--dark-surface);color:var(--surface)}.icon-spacer{width:44px}.screen.dark{height:100dvh;gap:var(--sp-12)}.camera-frame,.screen.dark{min-height:0;overflow:hidden}.camera-frame{position:relative;flex:1 1;border-radius:var(--radius-card);background:var(--dark-surface);border:3px solid transparent;transition:border-color .2s}.camera-frame-added{border-color:var(--success)}.camera-view,.camera-view video{width:100%;height:100%}.camera-view video{display:block;object-fit:cover}.camera-note{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--dark-text-muted)}.laser{position:absolute;left:24px;right:24px;top:50%;height:2px;background:var(--scan-accent)}.chips{display:flex;gap:var(--sp-8);justify-content:center}.chip{padding:var(--sp-6) var(--sp-12);border-radius:999px;background:var(--dark-surface);font-size:var(--fs-label);font-weight:500}.scan-result-slot{min-height:92px;display:flex;flex-direction:column;justify-content:center}.ready-note{text-align:center;color:var(--dark-text-muted);font-size:var(--fs-body);font-weight:600}.scan-result{animation:scan-pop .2s ease-out,scan-fade .4s ease-in calc(var(--show-ms) - .4s) forwards}@keyframes scan-pop{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scan-fade{to{opacity:0}}.added-banner{gap:var(--sp-10);padding:var(--sp-12);border-radius:var(--radius-card);background:var(--success);color:var(--surface)}.added-banner,.success-check{display:flex;align-items:center}.success-check{width:40px;height:40px;flex-shrink:0;border-radius:50%;background:var(--surface);color:var(--success);justify-content:center}.success-check-lg{width:52px;height:52px}.success-meta{font-family:var(--font-mono),monospace;font-size:var(--fs-label);color:var(--success-soft)}.added-banner .thumb{width:48px;height:48px}.added-title{font-size:var(--fs-primary);font-weight:700}.added-name{font-size:var(--fs-secondary);font-weight:600}.undo-btn{height:44px;padding:0 var(--sp-12);border:1px solid var(--success-soft);border-radius:var(--radius-control);background:transparent;font:inherit;font-size:var(--fs-secondary);font-weight:600;color:var(--surface);cursor:pointer}.cooldown{display:flex;flex-direction:column;gap:var(--sp-6)}.cooldown-track{height:4px;border-radius:2px;background:var(--dark-surface);overflow:hidden}.cooldown-fill{height:4px;background:var(--scan-accent)}.done-btn{text-decoration:none}.done-btn,.scan-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0}.scan-btn{width:48px;height:48px;border-radius:var(--radius-control);background:var(--text);color:var(--surface)}.price-row{display:flex;align-items:center;gap:var(--sp-6);flex-wrap:wrap;font-size:var(--fs-caption)}.badge-discount{padding:var(--sp-2) var(--sp-6);border-radius:var(--radius-badge);border:1px solid var(--discount-border);background:var(--discount-soft);color:var(--discount-strong);font-size:var(--fs-label);font-weight:700}.price-was{color:var(--text-muted);text-decoration:line-through}.price-now{font-weight:600;color:var(--text)}.discount-line{font-size:var(--fs-secondary);font-weight:600;color:var(--discount);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.btn-link{display:flex;align-items:center;justify-content:center;text-decoration:none}.tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.summary-line{display:flex;align-items:flex-start;gap:var(--sp-12);padding:var(--sp-12)}.summary-amount{display:flex;flex-direction:column;align-items:flex-end;gap:var(--sp-4)}.summary-qty{font-size:var(--fs-secondary);font-weight:600;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.notice-warning{background:var(--warning-soft);border:1px solid var(--warning-border);color:var(--warning-text);border-radius:var(--radius-control);padding:var(--sp-10) var(--sp-14);font-size:var(--fs-secondary);font-weight:600}.hero-amount{font-size:var(--fs-hero);font-weight:700;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.qr-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--sp-20);display:flex;flex-direction:column;align-items:center;gap:var(--sp-12)}.qr-image{image-rendering:pixelated}.qr-expired,.qr-image{width:230px;height:230px}.qr-expired{display:flex;flex-direction:column;align-items:center;gap:var(--sp-8);text-align:center}.qr-expired,.waiting{justify-content:center}.waiting{gap:var(--sp-12);font-size:var(--fs-secondary);font-weight:600}.spinner{width:24px;height:24px;border-radius:50%;border:3px solid var(--primary);border-right-color:var(--primary-soft-2);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.qr-card .pill{align-self:center}.paid-header{margin:calc(-1 * var(--sp-20)) calc(-1 * var(--sp-20)) 0;padding:var(--sp-28) var(--sp-20) var(--sp-24);background:var(--success);color:var(--surface);display:flex;flex-direction:column;align-items:center;gap:var(--sp-8);text-align:center}.paid-title{font-size:var(--fs-primary);font-weight:700}.receipt-line{font-size:var(--fs-secondary);align-items:flex-start}.receipt-badge{margin-left:var(--sp-6)}.receipt-total{font-size:var(--fs-strong);font-weight:700;border-top:1px solid var(--border);padding-top:var(--sp-8)}.pills{justify-content:flex-start;flex-wrap:wrap}.pill-warning{background:var(--warning-soft);border-color:var(--warning-border);color:var(--warning-text);text-decoration:none}.btn-wide{width:100%;height:48px}.sheet-backdrop{position:fixed;inset:0;background:color-mix(in srgb,var(--text) 45%,transparent);display:flex;align-items:flex-end;justify-content:center;z-index:20}.sheet{width:100%;max-width:480px;background:var(--surface);border-radius:var(--radius-card) var(--radius-card) 0 0;padding:var(--sp-20) var(--sp-20) var(--sp-28);display:flex;flex-direction:column;align-items:center;gap:var(--sp-14)}