:root{--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--r-sm:6px;--r-md:12px;--r-lg:20px;--r-pill:999px;--f-display:"Oswald", "Arial Narrow", sans-serif;--f-body:"Work Sans", system-ui, sans-serif;--bg:#0e1526;--sky1:#0b1122;--sky2:#141a33;--sky3:#20182a;--glow:#b4461e88;--glow2:#4a1f2a55;--surface:#172038;--surface2:#202a46;--line:#2e3a5c;--text:#f4e9d8;--muted:#a9afc4;--save:#ff8a3d;--saveink:#1e0b02;--pass:#7c93e0;--passtext:#a9baf2;--brass:#e8b860;--brassink:#1a1306;--patch:#141b30;--illf:#56628a;--ill2:var(--surface2);--chipline:#3e4a70;--shadow:#000a;--stars:1;--topo-file:url(../topo-dusk.svg);--product-stage:#f7f4ee;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dusk]){--bg:#fbf3ea;--sky1:#dce7f0;--sky2:#f6e6da;--sky3:#fbd9b8;--glow:#ffb36b66;--glow2:#ffe2c455;--surface:#fffaf4;--surface2:#f2e6d8;--line:#e2d2bf;--text:#1e2436;--muted:#5a6072;--save:#c8470e;--saveink:#fff;--pass:#3d5ba8;--passtext:#2f4a93;--brass:#9a6a12;--brassink:#fff;--patch:#fffaf4;--illf:#8d9bb8;--chipline:#cdb9a2;--shadow:#7a4a2033;--stars:0;--topo-file:url(../topo-dawn.svg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=dawn]{--bg:#fbf3ea;--sky1:#dce7f0;--sky2:#f6e6da;--sky3:#fbd9b8;--glow:#ffb36b66;--glow2:#ffe2c455;--surface:#fffaf4;--surface2:#f2e6d8;--line:#e2d2bf;--text:#1e2436;--muted:#5a6072;--save:#c8470e;--saveink:#fff;--pass:#3d5ba8;--passtext:#2f4a93;--brass:#9a6a12;--brassink:#fff;--patch:#fffaf4;--illf:#8d9bb8;--chipline:#cdb9a2;--shadow:#7a4a2033;--stars:0;--topo-file:url(../topo-dawn.svg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dusk]{--stars:1;--topo-file:url(../topo-dusk.svg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box;margin:0}html,body{min-height:100%}body{font-family:var(--f-body);color:var(--text);background:#070a13;transition:background .3s}#app{justify-content:center;min-height:100vh;display:flex}.app-shell{background:var(--topo-file) left top / 100% 844px no-repeat, radial-gradient(120% 50% at 50% 108%, var(--glow), var(--glow2) 40%, transparent 70%), linear-gradient(var(--sky1), var(--sky2) 60%, var(--sky3));flex-direction:column;width:100%;max-width:430px;min-height:100dvh;display:flex;position:relative;overflow:hidden}.app-shell:before{content:"";pointer-events:none;opacity:var(--stars);background-image:radial-gradient(1px 1px at 20% 30%,#fff9 50%,#0000),radial-gradient(1px 1px at 70% 15%,#fff8 50%,#0000),radial-gradient(1.5px 1.5px at 85% 45%,#fffa 50%,#0000),radial-gradient(1px 1px at 40% 10%,#fff7 50%,#0000),radial-gradient(1px 1px at 55%,#fff6 50%,#0000);position:absolute;inset:0 0 70%}.top{z-index:2;padding:max(env(safe-area-inset-top), 12px) var(--s5) var(--s3);justify-content:space-between;align-items:center;gap:var(--s3);display:flex;position:relative}.wm{font:700 22px/1 var(--f-display);letter-spacing:.02em;color:var(--text)}.patch{background:var(--patch);border:2px solid var(--brass);box-shadow:inset 0 0 0 3px var(--patch), inset 0 0 0 4.5px color-mix(in srgb, var(--brass) 55%, transparent);border-radius:999px;padding:8px 14px;display:inline-block}.patch b{color:var(--save);font-weight:700}.header-actions{gap:var(--s2);align-items:center;display:flex}.icon-btn{border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line);width:40px;height:40px;color:var(--text);cursor:pointer;font:inherit;place-items:center;display:grid;position:relative}.icon-btn svg{stroke:currentColor;fill:none;stroke-width:2.2px;stroke-linecap:round;width:18px;height:18px}.icon-btn .badge{background:var(--save);color:var(--saveink);font:700 11px var(--f-body);border-radius:var(--r-pill);text-align:center;min-width:18px;padding:1px 6px;position:absolute;top:-4px;right:-4px}.filters{z-index:2;gap:var(--s2);padding:0 var(--s5) var(--s3);scrollbar-width:none;display:flex;position:relative;overflow-x:auto}.filters::-webkit-scrollbar{display:none}.chip{font:600 12px var(--f-body);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--r-pill);border:1px dashed var(--chipline);color:var(--muted);white-space:nowrap;cursor:pointer;font-family:var(--f-body);background:0 0;padding:6px 12px}.chip.on{background:var(--brass);border:1px solid var(--brass);color:var(--brassink)}:root[data-theme=dawn] .chip:not(.on){background:#fffaf4d9}@media (prefers-color-scheme:light){:root:not([data-theme=dusk]) .chip:not(.on){background:#fffaf4d9}}.deck-view{z-index:1;flex-direction:column;flex:1;min-height:0;display:flex}.deck-wrap{min-height:0;margin:0 var(--s4);flex:1;position:relative}.deck{position:absolute;inset:0}.card{background:var(--surface);border-radius:var(--r-lg);border:1px solid var(--line);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;will-change:transform;box-shadow:0 16px 40px var(--shadow), 0 0 60px #ff8a3d14;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.card.under{opacity:.6;pointer-events:none;transform:scale(.95)translateY(14px)}.card-img{background:var(--product-stage);flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.card-img [data-product-slot]{z-index:0;width:100%;min-height:0;padding:var(--s3);box-sizing:border-box;background:var(--product-stage);flex:1;justify-content:center;align-items:center;display:flex;position:relative}.product-frame{width:100%;height:100%;padding:var(--s3);box-sizing:border-box;background:var(--product-stage);border-radius:var(--r-sm);justify-content:center;align-items:center;display:flex}.product-frame--thumb{width:100%;height:100%;padding:4px}.product-photo{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.product-fallback{width:72%;fill:var(--illf);margin:auto;display:block}.thumb [data-product-slot]{justify-content:center;align-items:center;width:100%;height:100%;padding:4px;display:flex}.card-img .cat,.card-img .off{z-index:1}.cat{left:var(--s4);top:var(--s4);position:absolute}.cat .chip{background:var(--surface);border:1px dashed var(--brass);color:var(--brass)}.off{right:var(--s4);top:var(--s4);background:var(--save);color:var(--saveink);font:700 20px/1 var(--f-display);border-radius:var(--r-sm);outline:2px solid var(--save);outline-offset:2px;border:2px dashed #0003;padding:6px 10px;position:absolute;transform:rotate(-6deg)}.sample-tag{left:var(--s4);bottom:var(--s3);font:500 11px var(--f-body);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;position:absolute}.card-body{padding:var(--s4) var(--s5);flex-shrink:0}.ret{font:500 12px var(--f-display);letter-spacing:.18em;text-transform:uppercase;color:var(--brass)}.title{font:600 20px/1.25 var(--f-body);margin:6px 0 var(--s3)}.prices{align-items:baseline;gap:var(--s3);display:flex}.sale{font:700 50px/1 var(--f-display);letter-spacing:-.01em}.was{font:500 20px var(--f-display);color:var(--muted);text-decoration:line-through}.unit{font:500 13px var(--f-body);color:var(--muted);margin-top:6px}.tap{font:500 12px var(--f-body);color:var(--muted);margin-top:var(--s3)}.stamp{font:700 50px/1 var(--f-display);letter-spacing:.06em;border-radius:var(--r-sm);opacity:0;pointer-events:none;background:var(--surface);border:7px double;padding:4px 14px;position:absolute;top:40px}.stamp.save{color:var(--save);left:24px;transform:rotate(-14deg)}.stamp.pass{color:var(--pass);right:24px;transform:rotate(14deg)}.wash{pointer-events:none;opacity:0;position:absolute;inset:0}.wash.save{background:linear-gradient(90deg,#0000,#ff8a3d55)}.wash.pass{background:linear-gradient(270deg,#0000,#7c93e055)}.actions{z-index:2;justify-content:center;align-items:center;gap:var(--s5);padding:var(--s5) 0 calc(40px + env(safe-area-inset-bottom));flex-shrink:0;display:flex;position:relative}.act{border-radius:var(--r-pill);background:var(--surface);cursor:pointer;font:inherit;color:inherit;border:2px solid;place-items:center;display:grid}.act svg{stroke:currentColor;fill:none;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:26px;height:26px}.act.pass{border-color:var(--pass);width:64px;height:64px;color:var(--passtext)}.act.buy{border-color:var(--line);width:52px;height:52px;color:var(--text)}.act.save{background:var(--save);border-color:var(--save);width:64px;height:64px;color:var(--saveink);box-shadow:0 0 24px #ff8a3d66}.saved-panel{z-index:1;flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.sum{padding:0 var(--s5) var(--s3);justify-content:space-between;align-items:baseline;gap:var(--s3);display:flex}.sum h2{font:700 26px/1 var(--f-display);text-transform:uppercase;letter-spacing:.06em}.sum span{color:var(--muted);text-align:right;font-size:14px}.list{padding:0 var(--s4) var(--s3);flex:1;overflow:auto}.row{gap:var(--s3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s3);margin-bottom:var(--s2);align-items:center;display:flex}.thumb{border-radius:var(--r-sm);background:var(--product-stage);flex:none;justify-content:center;align-items:center;width:68px;height:68px;display:flex;overflow:hidden}.thumb svg{width:80%}.rmeta{flex:1;min-width:0}.rmeta .ret{font-size:10px}.rmeta .t{font:600 14px/1.3 var(--f-body);white-space:nowrap;text-overflow:ellipsis;margin:2px 0 4px;overflow:hidden}.rp{gap:var(--s2);flex-wrap:wrap;align-items:baseline;display:flex}.rp b{font:700 22px/1 var(--f-display)}.rp s{color:var(--muted);font:600 14px var(--f-display)}.rp em{font:700 13px var(--f-display);color:var(--save);border:1.5px solid var(--save);border-radius:3px;padding:0 4px;font-style:normal;display:inline-block;transform:rotate(-4deg)}.go{background:var(--save);color:var(--saveink);font:600 14px var(--f-display);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--r-sm);cursor:pointer;border:none;flex:none;padding:10px 12px;text-decoration:none}.footnote{color:var(--muted);text-align:center;padding:var(--s3) var(--s5) var(--s2);font-size:12px}.tabbar{z-index:2;border-top:1px solid var(--line);padding:10px 0 calc(28px + env(safe-area-inset-bottom));font:600 11px var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--surface);justify-content:space-around;display:flex;position:relative}.tabbar button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:8px 16px}.tabbar button.on{color:var(--save)}.hidden{display:none!important}.empty-state{text-align:center;padding:var(--s6) var(--s5);color:var(--muted)}.empty-state p{margin-top:var(--s3);font-size:14px}@media (width>=701px){body{background:#ede3d6}:root[data-theme=dusk] body,:root:not([data-theme=dawn]):not([data-theme=dusk]) body{background:#070a13}.app-shell{min-height:calc(100vh - 48px);box-shadow:0 0 0 10px var(--line), 0 30px 60px var(--shadow);border-radius:44px;margin:24px 0}}
