:root{--bg: #f5f5f7;--surface: #ffffff;--surface-2: #f0f0f2;--fg: #111111;--muted: #8a8a8e;--line: #e3e3e6;--accent: #111111;--on-accent: #ffffff;--sale: #c8102e;--photo: #ecebe8;--shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 6px 20px rgba(0, 0, 0, .06);--bar: rgba(250, 250, 250, .86);--radius: 22px;--radius-s: 12px;--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif;--display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Arial, sans-serif;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #000000;--surface: #1c1c1e;--surface-2: #2c2c2e;--fg: #f5f5f7;--muted: #98989d;--line: #38383a;--accent: #f5f5f7;--on-accent: #000000;--sale: #ff6961;--photo: #2a2a2c;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 6px 20px rgba(0, 0, 0, .4);--bar: rgba(22, 22, 24, .86);color-scheme:dark}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}html{font:-apple-system-body;font-family:var(--font)}body{margin:0;background:var(--bg);color:var(--fg);font-size:17px;line-height:1.4;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{min-height:100%;display:flex;flex-direction:column}.screen{flex:1;padding:calc(var(--safe-top) + 12px) 16px calc(var(--safe-bottom) + 100px);max-width:640px;width:100%;margin:0 auto}.large-title{font-family:var(--display);font-size:34px;line-height:1.1;font-weight:700;letter-spacing:-.02em;margin:8px 0 4px;text-wrap:balance}.subtitle{color:var(--muted);margin:0 0 20px;font-size:16px}.section-label{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:28px 16px 8px}.footnote{font-size:13px;color:var(--muted);margin:8px 16px 0}.group{background:var(--surface);border-radius:var(--radius-s);overflow:hidden}.row{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 16px;position:relative;width:100%;background:none;border:0;text-align:left}.row+.row:before{content:"";position:absolute;top:0;left:16px;right:0;border-top:.5px solid var(--line)}.row .label{flex:1;min-width:0}.row .value{color:var(--muted);text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:55%}.row input,.row select{border:0;background:none;text-align:right;color:var(--muted);min-width:0;flex:1;padding:6px 0;outline:none}.row input:focus{color:var(--fg)}.row .chev{color:var(--muted);width:14px;height:14px;flex:none}button.row{cursor:pointer}button.row:active{background:var(--surface-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 22px;border-radius:14px;border:0;background:var(--accent);color:var(--on-accent);font-weight:600;cursor:pointer;width:100%;transition:transform .12s ease,opacity .12s}.btn:active{transform:scale(.98);opacity:.9}.btn.secondary{background:var(--surface-2);color:var(--fg)}.btn.plain{background:none;color:var(--fg);min-height:44px;width:auto;padding:0 8px;font-weight:500}.btn.danger{background:none;color:var(--sale)}.btn:disabled{opacity:.4}.icon-btn{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:0;background:var(--surface);color:var(--fg);cursor:pointer;box-shadow:var(--shadow)}.icon-btn svg{width:22px;height:22px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:15px;transition:background .15s,color .15s}.chip[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.chip .dot{width:12px;height:12px;border-radius:50%;border:1px solid rgba(128,128,128,.35)}.chip .x{width:14px;height:14px;opacity:.6}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--surface-2);border-radius:10px;padding:2px;gap:2px}.segmented button{border:0;background:none;min-height:34px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.segmented button[aria-pressed=true]{background:var(--surface);box-shadow:0 1px 3px #0000001f}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;justify-content:space-around;padding:6px 8px calc(var(--safe-bottom) + 6px);background:var(--bar);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:.5px solid var(--line)}.tab{flex:1;display:grid;justify-items:center;gap:2px;padding:6px 0;font-size:10px;font-weight:500;color:var(--muted);background:none;border:0;cursor:pointer;max-width:100px}.tab svg{width:26px;height:26px}.tab[aria-current=page]{color:var(--accent)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{background:var(--surface);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);border:0;padding:0;text-align:left;cursor:pointer;display:flex;flex-direction:column}.card .photo{aspect-ratio:4 / 5;background:var(--photo);position:relative;overflow:hidden}.card .photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.card .photo .tag{position:absolute;left:8px;top:8px;background:var(--sale);color:#fff;font-size:12px;font-weight:700;padding:3px 8px;border-radius:999px}.card .photo .gone{position:absolute;left:8px;bottom:8px;background:#0009;color:#fff;font-size:12px;padding:3px 8px;border-radius:999px}.card .meta{padding:10px 12px 12px;display:grid;gap:2px;min-width:0}.card .store{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card .title{font-size:14px;font-weight:500;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.price{display:flex;gap:6px;align-items:baseline;font-variant-numeric:tabular-nums;flex-wrap:wrap}.price b{font-size:15px}.price b.sale{color:var(--sale)}.price s{font-size:13px;color:var(--muted)}.ph{width:100%;height:100%;display:grid;place-items:center;color:var(--muted)}.ph svg{width:32px;height:32px;opacity:.5}.sheet-backdrop{position:fixed;inset:0;background:#00000059;z-index:40;animation:fade .2s ease}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;background:var(--bg);border-radius:16px 16px 0 0;max-height:92%;overflow:auto;padding:8px 16px calc(var(--safe-bottom) + 24px);animation:up .32s cubic-bezier(.2,.9,.3,1);max-width:640px;margin:0 auto}.sheet .grabber{width:36px;height:5px;border-radius:3px;background:var(--line);margin:0 auto 8px}.sheet-head{display:flex;align-items:center;justify-content:space-between;min-height:44px;position:sticky;top:-8px;background:var(--bg);z-index:1}.sheet-head h2{font-size:17px;margin:0;font-weight:600}.page{position:fixed;inset:0;z-index:30;background:var(--bg);overflow:auto;animation:slide .32s cubic-bezier(.2,.9,.3,1)}.nav{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:calc(var(--safe-top) + 4px) 8px 4px;background:var(--bar);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);min-height:52px}.nav h2{font-size:17px;font-weight:600;margin:0;position:absolute;left:50%;transform:translate(-50%);white-space:nowrap}.progress{display:flex;gap:4px;margin:4px 0 18px}.progress span{flex:1;height:3px;border-radius:2px;background:var(--line);transition:background .3s}.progress span.on{background:var(--accent)}.step{animation:stepin .35s cubic-bezier(.2,.9,.3,1)}.bottom-bar{position:fixed;left:0;right:0;bottom:0;z-index:10;padding:12px 16px calc(var(--safe-bottom) + 12px);background:linear-gradient(to top,var(--bg) 70%,transparent)}.bottom-bar .inner{max-width:640px;margin:0 auto;display:grid;gap:4px}.hero{display:grid;gap:12px;padding-top:12vh}.hero .mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;border-radius:var(--radius);overflow:hidden}.hero .mosaic div{aspect-ratio:3 / 4;background:var(--photo)}.hero .mosaic img{width:100%;height:100%;object-fit:cover}.empty{text-align:center;padding:18vh 24px 0;display:grid;gap:10px;justify-items:center}.empty .glyph{width:64px;height:64px;border-radius:20px;background:var(--surface);display:grid;place-items:center;box-shadow:var(--shadow)}.empty .glyph svg{width:30px;height:30px}.empty h2{font-family:var(--display);font-size:22px;margin:6px 0 0}.empty p{color:var(--muted);margin:0;max-width:34ch}.slider{width:100%;accent-color:var(--accent)}.big-number{font-family:var(--display);font-size:44px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stack{display:grid;gap:12px}.card-pad{background:var(--surface);border-radius:var(--radius-s);padding:16px}.tabs-inline{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin:0 -16px;padding-left:16px;padding-right:16px;scrollbar-width:none}.tabs-inline::-webkit-scrollbar{display:none}.tabs-inline .chip{flex:none}.toast{position:fixed;left:50%;bottom:calc(var(--safe-bottom) + 96px);transform:translate(-50%);background:var(--accent);color:var(--on-accent);padding:10px 18px;border-radius:999px;font-size:15px;z-index:60;animation:fade .2s ease}.shots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.shots .shot{position:relative;aspect-ratio:9 / 16;border-radius:10px;overflow:hidden;background:var(--photo)}.shots .shot img{width:100%;height:100%;object-fit:cover}.shots .shot button{position:absolute;top:4px;right:4px;width:28px;height:28px;border-radius:50%;border:0;background:#0000008c;color:#fff;display:grid;place-items:center}.shots .shot button svg{width:14px;height:14px}.add-shot{aspect-ratio:9 / 16;border-radius:10px;border:1.5px dashed var(--line);display:grid;place-items:center;color:var(--muted);cursor:pointer;text-align:center;font-size:13px;padding:8px}.add-shot svg{width:26px;height:26px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@keyframes fade{0%{opacity:0}}@keyframes up{0%{transform:translateY(100%)}}@keyframes slide{0%{transform:translate(100%)}}@keyframes stepin{0%{opacity:0;transform:translate(24px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.status-pill{min-height:32px;min-width:96px;padding:0 12px;border-radius:999px;border:0;background:var(--surface-2);color:var(--muted);font-size:14px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:4px;cursor:pointer}.status-pill.favourite{color:var(--fg)}.status-pill.hidden{text-decoration:line-through}.screen.onboarding{padding-bottom:calc(var(--safe-bottom) + 150px)}.swipe-screen{display:flex;flex-direction:column;min-height:100dvh;padding-bottom:calc(var(--safe-bottom) + 84px)}.swipe-head{display:flex;align-items:baseline;justify-content:space-between}.swipe-head .count{color:var(--muted);font-size:15px;font-variant-numeric:tabular-nums}.notice{font-size:14px;background:var(--surface);border-radius:10px;padding:8px 12px;margin:4px 0 8px;color:var(--muted)}.deck{position:relative;flex:1;min-height:380px;margin-top:8px}.swipe-card{position:absolute;inset:0;margin:0 auto;width:var(--card-w, 100%);max-width:100%;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab;will-change:transform}.swipe-card.behind{transform:scale(.95) translateY(10px);opacity:.7;transition:transform .25s ease,opacity .25s;pointer-events:none}.swipe-card.skeleton{background:var(--surface-2);animation:pulse 1.4s ease-in-out infinite}.sc-photo{position:relative;flex:1;min-height:0;background:var(--photo)}.sc-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%;pointer-events:none;-webkit-user-drag:none}.sc-photo .tag{position:absolute;left:14px;top:14px;background:var(--sale);color:#fff;font-size:14px;font-weight:700;padding:5px 11px;border-radius:999px}.stamp{position:absolute;top:18px;font-size:22px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:4px 12px;border:3px solid;border-radius:10px;background:#ffffffd9;pointer-events:none}.stamp.save{right:18px;color:#111;transform:rotate(8deg)}.stamp.skip{right:18px;color:#8a8a8e;transform:rotate(-8deg)}.sc-meta{padding:14px 16px 16px;display:grid;gap:2px}.sc-meta .store{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.sc-title{font-size:18px;font-weight:600;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sc-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:2px}.sc-row .price b{font-size:18px}.sc-row .why{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.swipe-actions{display:flex;justify-content:center;align-items:center;gap:28px;padding:16px 0 4px}.round{width:64px;height:64px;border-radius:50%;border:0;display:grid;place-items:center;background:var(--surface);color:var(--fg);box-shadow:var(--shadow);cursor:pointer;transition:transform .12s ease}.round:active{transform:scale(.92)}.round svg{width:28px;height:28px}.round.small{width:48px;height:48px;color:var(--muted)}.round.small svg{width:22px;height:22px}.round.save{background:var(--accent);color:var(--on-accent)}.round.skip{color:var(--muted)}.round:disabled{opacity:.35}.detail-photo{aspect-ratio:4 / 5;border-radius:16px;overflow:hidden;background:var(--photo)}.detail-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}@keyframes pulse{50%{opacity:.6}}.gallery{position:relative;width:100%;height:100%}.gallery>.ph{width:100%;height:100%}.gallery .layer{position:absolute;inset:0;opacity:0}.gallery .layer.on{opacity:1}.gallery .layer img{width:100%;height:100%;object-fit:cover;object-position:center 30%}.gallery .bars{position:absolute;top:8px;left:10px;right:10px;display:flex;gap:4px;z-index:2;pointer-events:none}.gallery .bars span{flex:1;height:3px;border-radius:2px;background:#ffffff73;box-shadow:0 0 2px #00000040}.gallery .bars span.on{background:#fff}.gallery .zone{position:absolute;top:0;bottom:0;width:50%;border:0;background:transparent;z-index:1;cursor:pointer;padding:0}.gallery .zone.prev{left:0}.gallery .zone.next{right:0}.gallery .zone:disabled{cursor:default}.sc-photo .tag{z-index:3;top:20px}.sc-photo .stamp{z-index:3}.description{font-size:15px;line-height:1.5}.description p{margin:0 0 8px}.description p:last-child{margin-bottom:0}.description .desc-label{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.off-note{font-size:13px;color:var(--sale);font-weight:600}.sc-more{font-size:13px;color:var(--muted)}.store-group{margin-top:22px}.store-head{display:flex;align-items:center;justify-content:space-between;margin:0 4px 6px 16px}.store-head h2{font-size:20px;font-weight:700;margin:0;letter-spacing:-.01em}.saved-row{align-items:center}.saved-row .thumb{width:64px;height:80px;border-radius:10px;overflow:hidden;background:var(--photo);flex:none}.saved-row .thumb img{width:100%;height:100%;object-fit:cover;object-position:center top}.saved-row .label{display:grid;gap:2px}.saved-title{font-size:15px;font-weight:500;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.saved-row+.row:before,.total-row:before{left:92px}.total-row:before{left:16px!important}.total-row .total{font-weight:700;font-variant-numeric:tabular-nums;text-align:right;display:grid}.total-row .saving{font-size:13px;font-weight:500;color:var(--sale)}.title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.title-row .icon-btn{margin-top:8px}.thumb-letter{width:100%;height:100%;display:grid;place-items:center;font-family:var(--display);font-size:26px;font-weight:600;color:var(--muted)}.watch-meta{font-size:13px;color:var(--muted)}.pill{flex:none;font-size:13px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--surface-2);color:var(--fg)}.sale-pill{background:var(--sale);color:#fff}.buy-note{margin:8px 0 0;font-size:15px;font-weight:600;color:var(--sale)}.deck-switch{margin:4px -16px 0}.deck-row .label{display:grid;gap:2px}.deck-name{font-weight:600}.chip.static{cursor:default;background:var(--surface-2);border-color:transparent}input[type=date]{min-height:32px}.head-right{display:inline-flex;align-items:center;gap:12px}.swipe-head{align-items:center}.qa-photo{display:grid;gap:8px;justify-items:center}.qa-photo img{max-height:220px;border-radius:14px;object-fit:contain;background:var(--photo)}.qa-photo label.btn{cursor:pointer}
