@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-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:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-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:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-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:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-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:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-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:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-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:Bricolage Grotesque Fallback;src:local("Arial");ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.00%;size-adjust:105.43%}.__className_206af9{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.__variable_206af9{--font-bricolage:"Bricolage Grotesque","Bricolage Grotesque Fallback"}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/adb45196eddef626-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d0ba92e140f0dc-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:Instrument Sans Fallback;src:local("Arial");ascent-override:94.42%;descent-override:24.33%;line-gap-override:0.00%;size-adjust:102.74%}.__className_3d9088{font-family:Instrument Sans,Instrument Sans Fallback;font-style:normal}.__variable_3d9088{--font-instrument:"Instrument Sans","Instrument Sans Fallback"}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ae822095a172cc5c-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:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/3c70c5716f1730b3-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/fc727f226c737876-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:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/77fb5eec12c66d49-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:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/281dae1e814de8c6-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/806de4d605d3ad01-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:Space Mono Fallback;src:local("Arial");ascent-override:81.58%;descent-override:26.30%;line-gap-override:0.00%;size-adjust:137.28%}.__className_e8b655{font-family:Space Mono,Space Mono Fallback;font-style:normal}.__variable_e8b655{--font-space-mono:"Space Mono","Space Mono Fallback"}:root{--paper:#f3ede0;--carton:#e9e0cc;--label:#fbf8f1;--ink:#221e19;--red:#c8412b;--tag:#f2c94c;--ink-grey:#6b6358;--ink-soft:#4e473e;--line:#cfc3aa;--line-soft:#d8cdb6;--note:#fbf0c6;--shelf:#cdbf9f;--placeholder:#8a8174;--dashed:#b9ac90;--font-display:var(--font-bricolage),"Bricolage Grotesque",system-ui,sans-serif;--font-ui:var(--font-instrument),"Instrument Sans",system-ui,sans-serif;--font-mono:var(--font-space-mono),"Space Mono",ui-monospace,monospace;color-scheme:light}*,:after,:before{box-sizing:border-box}body,html{margin:0;background:var(--paper)}body{min-height:100dvh;background-color:var(--paper);background-image:radial-gradient(rgba(34,30,25,.07) 1px,transparent 0);background-size:14px 14px;font-family:var(--font-ui);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}body.no-scroll{overflow:hidden}a{color:var(--red)}a:hover,button{color:var(--ink)}button{font-family:var(--font-ui);cursor:pointer}button:disabled{cursor:default;opacity:.55}:focus-visible{outline:3px solid var(--tag);outline-offset:2px}input::placeholder,textarea::placeholder{color:var(--placeholder)}input[type=search]::-webkit-search-cancel-button{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.mono-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-grey)}.page-home{max-width:1240px;margin:0 auto;padding:12px 12px calc(100px + env(safe-area-inset-bottom))}.logo-mark{position:relative;flex:none;width:26px;height:30px}.logo-mark .logo-card{position:absolute;left:6px;top:2px;width:15px;height:22px;background:var(--red);border:2px solid var(--ink);border-radius:2px;transform:rotate(-8deg)}.logo-mark .logo-shelf{position:absolute;left:0;right:0;bottom:2px;height:3px;background:var(--ink);border-radius:1px}.logo-mark.small{width:22px;height:26px}.logo-mark.small .logo-card{left:5px;width:13px;height:19px}.wordmark{font-family:var(--font-display);font-weight:800;letter-spacing:-.03em;line-height:1}html:not([data-intro-closed]) .intro-closed,html[data-intro-closed] .intro-open{display:none}.intro{position:relative;display:flex;gap:12px;align-items:flex-start;background:var(--label);border:1.5px solid var(--ink);border-radius:6px;box-shadow:3px 3px 0 var(--ink);padding:12px 8px 12px 12px}.intro .logo-mark{margin-top:1px}.intro-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:6px}.intro-body .wordmark{font-size:24px}.intro-body p{margin:0;font-size:14px;line-height:1.38;color:var(--ink-soft);max-width:520px;text-wrap:pretty}.btn-howto{align-self:flex-start;margin-top:2px;height:34px;padding:0 12px;border:1.5px solid var(--ink);border-radius:17px;background:var(--tag);font-weight:600;font-size:13px}.btn-x{width:40px;height:40px;flex:none;border:none;background:transparent;font-size:22px;line-height:1;border-radius:4px}.intro .btn-x{margin-top:-4px}.btn-x:hover{background:#e9e0cc}.topbar{justify-content:space-between;gap:12px;padding:0 2px}.topbar,.topbar-brand{display:flex;align-items:center}.topbar-brand{gap:8px}.topbar-brand .wordmark{font-size:21px}.btn-info{width:40px;height:40px;border:1.5px solid var(--ink);border-radius:50%;background:var(--label);font-family:var(--font-display);font-weight:800;font-size:17px;box-shadow:2px 2px 0 var(--ink)}.search{position:relative;margin-top:12px}.search-glass{left:16px;top:17px;width:12px;height:12px;border:2px solid var(--ink);border-radius:50%}.search-glass,.search-handle{position:absolute;pointer-events:none}.search-handle{left:28px;top:31px;width:7px;height:2.5px;background:var(--ink);transform:rotate(45deg);transform-origin:left center}.search input{width:100%;height:52px;padding:0 46px 0 44px;border:1.5px solid var(--ink);border-radius:6px;background:var(--label);font-family:var(--font-ui);font-weight:500;font-size:17px;color:var(--ink);outline:none;box-shadow:inset 0 2px 0 rgba(34,30,25,.06);-webkit-appearance:none;-moz-appearance:none;appearance:none}.search input:focus{box-shadow:0 0 0 3px var(--tag)}.search-clear{position:absolute;right:4px;top:4px;width:44px;height:44px;border:none;background:transparent;font-size:20px;color:var(--ink-grey)}.chips-bar{display:flex;align-items:flex-start;margin:10px -12px 0}.chips{display:flex;flex:1 1;min-width:0;gap:6px;overflow-x:auto;scrollbar-width:none;padding:0 12px 3px}.chips::-webkit-scrollbar{display:none}.chip{flex:none;height:40px;padding:0 12px 0 14px;display:flex;align-items:center;gap:6px;border:1.5px solid var(--ink);border-radius:20px;background:var(--label);font-weight:600;font-size:14px;white-space:nowrap}.chip[data-state=open]{background:var(--tag)}.chip[data-state=active]{background:var(--ink);color:var(--paper)}.chip-arrow{font-size:10px;opacity:.8}.chips-reset{flex:none;width:40px;height:40px;margin:0 12px 0 4px;display:grid;place-items:center;border:1.5px solid var(--ink);border-radius:50%;background:var(--red);color:var(--paper);font:600 24px/1 var(--font-ui)}.chips-reset:active{transform:translateY(1px)}.filter-panel{margin-top:8px;background:var(--label);border:1.5px solid var(--ink);border-radius:6px;padding:10px;box-shadow:3px 3px 0 rgba(34,30,25,.18)}.filter-panel .mono-label{font-size:10.5px;letter-spacing:.08em;margin:0 2px 8px}.filter-options{display:flex;flex-wrap:wrap;gap:6px}.filter-option{min-height:40px;padding:0 12px;border:1.5px solid var(--line);border-radius:4px;background:var(--label);font-weight:500;font-size:14px}.filter-option[aria-pressed=true]{border-color:var(--ink);background:var(--tag)}.count-row{display:flex;align-items:baseline;justify-content:space-between;margin:14px 2px 8px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(max(158px,calc((100% - 56px) / 5)),1fr));grid-gap:14px 10px;gap:14px 10px}.shelf-card{position:relative;display:flex;flex-direction:column;height:100%;background:var(--label);border:1.5px solid var(--line-soft);border-radius:6px;box-shadow:0 1px 0 var(--line-soft),0 8px 16px -10px rgba(34,30,25,.35);transition:box-shadow .15s,border-color .15s}.shelf-card[data-selected=true]{border-color:var(--ink);box-shadow:3px 3px 0 var(--ink)}.shelf-photo{position:relative;display:block;width:100%;border:0;padding:12px 14px 0;cursor:pointer;background-color:var(--carton);background-image:radial-gradient(rgba(34,30,25,.09) 1px,transparent 0);background-size:9px 9px;border-radius:5px 5px 0 0;text-align:left;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.shelf-board{height:8px;margin:0 -14px;background:var(--shelf);border-top:2px solid var(--ink)}.in-selection-tag{position:absolute;top:7px;left:7px;background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:.06em;padding:3px 6px;border-radius:3px}.price-tag{position:absolute;right:8px;bottom:-12px;transform:rotate(-3deg);display:flex;align-items:center;gap:5px;background:var(--tag);border:1.5px solid var(--ink);border-radius:3px;padding:3px 7px 3px 5px;box-shadow:1px 2px 0 rgba(34,30,25,.35)}.price-tag-hole{width:5px;height:5px;border-radius:50%;background:var(--carton);border:1px solid var(--ink)}.price-tag span{font-family:var(--font-mono);font-weight:700;font-size:13px;letter-spacing:-.02em;white-space:nowrap}.shelf-info{display:flex;flex-direction:column;gap:5px;padding:16px 10px 10px;flex:1 1}.shelf-name{border:0;background:none;padding:0;text-align:left;font-family:var(--font-display);font-weight:700;font-size:16px;line-height:1.15;letter-spacing:-.01em;text-wrap:pretty}.shelf-meta{font-family:var(--font-mono);font-size:11px;line-height:1.35;color:var(--ink-grey)}.mini-tags{display:flex;gap:4px;flex-wrap:wrap}.mini-tag{font-family:var(--font-mono);font-size:10.5px;font-weight:700;border:1px solid var(--line);border-radius:3px;padding:1px 5px;background:var(--paper)}.shelf-note{font-size:12px;line-height:1.35;color:var(--ink-grey);font-style:italic;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.shelf-spacer{flex:1 1;min-height:4px}.btn-select{height:44px;width:100%;border:1.5px solid var(--ink);border-radius:4px;background:var(--label);font-weight:600;font-size:14px}.btn-select:hover{background:var(--tag)}.btn-select:active{transform:translateY(1px)}.btn-select[aria-pressed=true]{background:var(--ink);color:var(--paper)}.card-photo{position:relative;aspect-ratio:63/88;width:100%;border-radius:5px}.card-photo img{object-fit:contain;border-radius:5px;filter:drop-shadow(0 1px 0 rgba(34,30,25,.25)) drop-shadow(0 5px 5px rgba(34,30,25,.28))}.card-photo.placeholder{display:flex;align-items:flex-end;justify-content:center;padding-bottom:10px;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.22) 0 5px,transparent 5px 11px);box-shadow:inset 0 0 0 4px rgba(255,251,240,.45),0 1px 0 rgba(34,30,25,.25),0 6px 10px -6px rgba(34,30,25,.5)}.card-photo.placeholder span{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;color:rgba(34,30,25,.55);background:rgba(251,248,241,.6);padding:1px 4px;border-radius:2px}.empty-box{margin:24px auto;max-width:320px;text-align:center;padding:24px 16px;border:1.5px dashed var(--dashed);border-radius:6px}.empty-title{font-family:var(--font-display);font-weight:700;font-size:19px}.empty-box p,.empty-text{margin:6px 0 14px;font-size:14px;color:var(--ink-grey)}.btn-plain{height:44px;padding:0 16px;border:1.5px solid var(--ink);border-radius:4px;background:var(--label);font-weight:600;font-size:14px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--ink)}.btn-plain.yellow{background:var(--tag)}.selection-bar-wrap{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:0 10px calc(10px + env(safe-area-inset-bottom));display:flex;justify-content:center;pointer-events:none}.selection-bar{pointer-events:auto;width:100%;max-width:560px;height:58px;display:flex;align-items:center;gap:10px;padding:0 6px 0 7px;border:1.5px solid var(--ink);border-radius:6px;background:var(--label);box-shadow:3px 3px 0 var(--ink);text-decoration:none;text-align:left}.selection-bar,.selection-bar:hover{color:var(--ink)}.bar-count{flex:none;min-width:40px;height:40px;padding:0 6px;display:flex;align-items:center;justify-content:center;background:var(--tag);border:1.5px solid var(--ink);border-radius:4px;font-family:var(--font-mono);font-weight:700;font-size:17px}.bar-text{flex:1 1;min-width:0;display:flex;align-items:baseline;gap:6px;white-space:nowrap;overflow:hidden;font-size:15px}.bar-text .muted{color:var(--ink-grey)}.bar-text .total{font-family:var(--font-mono);font-weight:700}.bar-arrow{flex:none;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--red);color:var(--label);border-radius:4px;font-size:20px;font-weight:700}.page-selection{max-width:640px;margin:0 auto;padding:10px 12px calc(40px + env(safe-area-inset-bottom))}.btn-back{height:44px;padding:0 6px;border:none;background:transparent;font-weight:600;font-size:15px;display:inline-flex;align-items:center;gap:8px;text-decoration:none}.btn-back,.btn-back:hover{color:var(--ink)}.receipt{margin-top:6px;background:var(--label);border:1.5px solid var(--ink);border-radius:6px;box-shadow:4px 4px 0 var(--ink);padding:18px 16px}.receipt-head{display:flex;justify-content:space-between;align-items:baseline;font-size:10.5px;letter-spacing:.08em}.receipt h1{margin:6px 0 12px;font-family:var(--font-display);font-weight:800;font-size:30px;line-height:1;letter-spacing:-.03em}.dash-top{border-top:1.5px dashed var(--ink)}.sel-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line)}.sel-thumb{width:50px;flex:none;padding:0;border:0;background:none}.sel-thumb .card-photo.placeholder{border-radius:3px;box-shadow:inset 0 0 0 2.5px rgba(255,251,240,.45),0 2px 5px -2px rgba(34,30,25,.5)}.sel-thumb .card-photo.placeholder span{display:none}.sel-main{flex:1 1;min-width:0}.sel-name{font-family:var(--font-display);font-weight:700;font-size:16px;line-height:1.15}.sel-meta{margin-top:3px;font-size:11px;line-height:1.4;color:var(--ink-grey)}.sel-meta,.sel-price{font-family:var(--font-mono)}.sel-price{font-weight:700;font-size:14px;white-space:nowrap}.btn-remove{width:40px;height:40px;flex:none;border:1.5px solid var(--line);border-radius:4px;background:transparent;color:var(--ink-grey);font-size:19px}.btn-remove:hover{border-color:var(--red);color:var(--red)}.total-row{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;padding-top:12px;border-top:3px double var(--ink);font-family:var(--font-mono);font-weight:700}.total-row .lbl{font-size:13px;letter-spacing:.1em}.total-row .val{font-size:26px;letter-spacing:-.03em}.btn-copy{margin-top:16px;width:100%;height:56px;border:1.5px solid var(--ink);border-radius:5px;background:var(--red);color:var(--label);font-weight:700;font-size:17px;box-shadow:3px 3px 0 var(--ink)}.btn-copy:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.btn-copy[data-copied=true]{background:var(--ink)}.receipt-hint{margin:12px 2px 0;font-size:13px;line-height:1.45;color:var(--ink-grey);text-wrap:pretty}.copy-fallback{margin-top:12px;padding:10px 12px;border:1.5px dashed var(--red);border-radius:4px;font-size:13px;color:var(--ink-soft)}.copy-fallback textarea{margin-top:8px;width:100%;min-height:140px;font-family:var(--font-mono);font-size:12px;border:1px solid var(--line);border-radius:3px;background:var(--paper);padding:8px}.detail{position:fixed;inset:0;z-index:20;overflow-y:auto;overscroll-behavior:contain;background-color:var(--paper);background-image:radial-gradient(rgba(34,30,25,.07) 1px,transparent 0);background-size:14px 14px}.detail-bar{position:-webkit-sticky;position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:calc(6px + env(safe-area-inset-top)) 8px 6px;background:var(--paper);border-bottom:1px solid #d6cbb4}.detail-bar .btn-back{padding:0 8px}.detail-bar .mono-label{padding-right:8px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-body{max-width:980px;margin:0 auto;padding:14px 14px calc(110px + env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;gap:22px 32px;align-items:flex-start}.detail-media{flex:1 1 300px;max-width:460px;margin:0 auto;width:100%}.detail-stage{position:relative;display:block;width:100%;border:1px solid #d6cbb4;cursor:zoom-in;padding:22px 34px 0;background-color:var(--carton);background-image:radial-gradient(rgba(34,30,25,.09) 1px,transparent 0);background-size:9px 9px;border-radius:6px 6px 0 0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.detail-stage .card-photo.placeholder{border-radius:10px;box-shadow:inset 0 0 0 8px rgba(255,251,240,.45),0 1px 0 rgba(34,30,25,.25),0 14px 20px -12px rgba(34,30,25,.55)}.detail-stage .card-photo img{filter:drop-shadow(0 1px 0 rgba(34,30,25,.25)) drop-shadow(0 10px 10px rgba(34,30,25,.3))}.detail-stage .card-photo.placeholder span{font-size:11px}.detail-board{height:12px;margin:0 -34px;background:var(--shelf);border-top:2.5px solid var(--ink)}.zoom-badge{position:absolute;top:8px;right:8px;display:flex;align-items:center;gap:5px;background:var(--label);border:1.5px solid var(--ink);border-radius:14px;padding:4px 10px;font-family:var(--font-mono);font-size:10.5px;font-weight:700}.side-switch{display:flex;gap:6px;margin-top:10px}.side-switch .filter-option{flex:1 1}.detail-info{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:14px}.detail-kicker{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}.detail-info h1{margin:4px 0 0;font-family:var(--font-display);font-weight:800;font-size:36px;line-height:1;letter-spacing:-.03em}.detail-price{align-self:flex-start;transform:rotate(-2deg);display:flex;align-items:center;gap:8px;background:var(--tag);border:1.5px solid var(--ink);border-radius:4px;padding:6px 12px 6px 9px;box-shadow:2px 3px 0 rgba(34,30,25,.35)}.detail-price .hole{width:8px;height:8px;border-radius:50%;background:var(--paper);border:1.5px solid var(--ink)}.detail-price span{font-family:var(--font-mono);font-weight:700;font-size:22px;letter-spacing:-.03em}.spec-grid{display:grid;grid-template-columns:max-content 1fr;border-top:1.5px dashed var(--ink);margin:0}.spec-grid dt{padding:9px 16px 9px 0}.spec-grid dd,.spec-grid dt{border-bottom:1px dashed var(--line)}.spec-grid dd{margin:0;padding:8px 0;font-size:15px}.note-slip{background:var(--note);border:1px solid #e2d08f;border-radius:2px;padding:10px 12px 12px;transform:rotate(-.6deg);box-shadow:0 4px 8px -6px rgba(34,30,25,.4)}.note-slip .mono-label{font-size:10.5px;letter-spacing:.08em}.note-slip div+div{margin-top:4px;font-size:15px;line-height:1.45}.btn-add-big{height:54px;width:100%;border:1.5px solid var(--ink);border-radius:5px;background:var(--tag);font-weight:700;font-size:16px;box-shadow:3px 3px 0 var(--ink)}.btn-add-big:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.in-selection-row{display:flex;gap:8px}.in-selection-pill{flex:1 1;display:flex;align-items:center;justify-content:center;background:var(--ink);color:var(--paper);font-weight:700;font-size:16px}.btn-remove-big,.in-selection-pill{height:54px;border:1.5px solid var(--ink);border-radius:5px}.btn-remove-big{padding:0 16px;background:var(--label);font-weight:600;font-size:15px}.lightbox{position:fixed;inset:0;z-index:40;background:#17140f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:16px;container-type:size}.lightbox-close{position:absolute;top:calc(10px + env(safe-area-inset-top));right:10px;height:44px;padding:0 14px;border:1.5px solid var(--paper);border-radius:22px;background:transparent;color:var(--paper);font-weight:600;font-size:14px;z-index:1}.lightbox-frame{position:relative;width:min(92cqw,calc(80cqh * .716));aspect-ratio:63/88}.lightbox-frame img{object-fit:contain}.lightbox-caption{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:#b9ae9c;text-transform:uppercase;text-align:center}.lightbox-sides{display:flex;gap:8px}.lightbox-sides button{height:36px;padding:0 12px;border:1.5px solid #6b6358;border-radius:18px;background:transparent;color:var(--paper);font-size:13px;font-weight:600}.lightbox-sides button[aria-pressed=true]{border-color:var(--paper);background:var(--paper);color:var(--ink)}.info-backdrop{position:fixed;inset:0;z-index:35;background:rgba(34,30,25,.5);display:flex;align-items:center;justify-content:center;padding:16px}.info-sheet{width:100%;max-width:420px;max-height:100%;overflow-y:auto;background:var(--label);border:1.5px solid var(--ink);border-radius:8px;box-shadow:5px 5px 0 var(--ink);padding:18px}.info-head{display:flex;justify-content:space-between;align-items:center}.info-kicker{font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.1em;color:var(--red)}.info-head .btn-x{margin:-8px -8px 0 0}.info-sheet h2{margin:0 0 16px;font-family:var(--font-display);font-weight:800;font-size:28px;line-height:1;letter-spacing:-.03em}.info-steps{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none}.info-steps li{display:flex;gap:12px}.step-num{flex:none;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--tag);border:1.5px solid var(--ink);border-radius:4px;font-family:var(--font-mono);font-weight:700}.step-title{font-weight:700;font-size:15px}.step-text{margin-top:2px;font-size:14px}.info-note,.step-text{line-height:1.4;color:var(--ink-soft)}.info-note{margin-top:16px;padding:10px 12px;border:1.5px dashed var(--dashed);border-radius:4px;font-size:13px}.btn-dark{margin-top:16px;width:100%;height:50px;border:1.5px solid var(--ink);border-radius:5px;background:var(--ink);color:var(--paper);font-weight:700;font-size:16px}.skeleton{border-radius:6px;border:1.5px solid var(--line-soft);background:var(--label);aspect-ratio:158/340;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.admin{max-width:1100px;margin:0 auto;padding:12px 12px 60px}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.admin h1{margin:0;font-family:var(--font-display);font-weight:800;font-size:28px;letter-spacing:-.03em}.admin-panel{background:var(--label);border:1.5px solid var(--ink);border-radius:6px;box-shadow:3px 3px 0 var(--ink);padding:16px}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th{text-align:left;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-grey);font-weight:400;padding:6px 8px;border-bottom:1.5px dashed var(--ink)}.admin-table td{padding:8px;border-bottom:1px dashed var(--line);vertical-align:middle}.admin-table a{color:var(--ink);font-weight:600}.table-scroll{overflow-x:auto}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:12px;gap:12px}.field{display:flex;flex-direction:column;gap:4px}.field.wide{grid-column:1/-1}.field .mono-label,.field label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-grey)}.field input,.field select,.field textarea{height:44px;padding:0 10px;border:1.5px solid var(--ink);border-radius:4px;background:var(--label);font-family:var(--font-ui);font-size:15px;color:var(--ink)}.field textarea{height:auto;min-height:80px;padding:8px 10px}.field .hint{font-size:12px;color:var(--ink-grey)}.image-slot{display:flex;gap:12px;align-items:flex-start}.image-slot .card-photo{width:110px;flex:none}.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.btn-primary{padding:0 18px;border:1.5px solid var(--ink);border-radius:5px;background:var(--tag);box-shadow:3px 3px 0 var(--ink);text-decoration:none;color:var(--ink);display:inline-flex;align-items:center}.btn-danger,.btn-primary{height:48px;font-weight:700;font-size:15px}.btn-danger{padding:0 16px;border:1.5px solid var(--red);border-radius:5px;background:var(--label);color:var(--red)}.btn-danger.solid{background:var(--red);color:var(--label)}.btn-danger.small{height:34px;padding:0 12px;font-size:13px}.row-confirm{display:inline-flex;align-items:center;gap:8px}.row-confirm .btn-plain{height:34px;font-size:13px}.row-confirm-error{color:var(--red);font-size:12px}.alert{margin:12px 0;padding:10px 12px;border:1.5px solid var(--red);border-radius:4px;background:#fbe9e4;font-size:14px}.alert.ok{border-color:var(--ink);background:var(--note)}.confirm-box{margin-top:14px;padding:12px;border:1.5px dashed var(--red);border-radius:4px}.btn-secondary{height:40px;padding:0 16px;border:1.5px solid var(--ink);border-radius:5px;background:var(--label);color:var(--ink);font:600 14px var(--font-ui);cursor:pointer}.btn-secondary:hover:not(:disabled){background:var(--carton)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary.small{height:34px;padding:0 12px;font-size:13px}.image-upload-confirm{padding:12px;border:1px solid var(--line);border-radius:5px;background:var(--label)}.row-confirm-error,.upload-error{color:var(--red);font-size:12px;display:block}.list-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:14px}.list-tools .tool{display:flex;flex-direction:column;gap:4px;min-width:0}.list-tools .tool.grow{flex:1 1 200px}.list-tools input,.list-tools select{height:40px;padding:0 10px;border:1.5px solid var(--ink);border-radius:5px;background:var(--label);color:var(--ink);font:500 14px var(--font-ui);width:100%}.list-count{margin:0 0 10px}.list-meta{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:10px}.list-meta,.list-meta-actions{display:flex;align-items:center}.list-meta-actions{gap:6px}.view-toggle{display:inline-flex;border:1.5px solid var(--ink);border-radius:5px;overflow:hidden}.view-toggle button{height:34px;padding:0 12px;border:0;background:var(--label);color:var(--ink);font:600 13px var(--font-ui);cursor:pointer}.view-toggle button+button{border-left:1.5px solid var(--ink)}.view-toggle button[aria-pressed=true]{background:var(--ink);color:var(--label)}.admin-table td:first-child,.admin-table th:first-child{padding-right:0}.admin-table input[type=checkbox],.gallery-check input{width:20px;height:20px;accent-color:var(--red)}.admin-table tr.row-selected td{background:var(--note)}.admin-gallery{list-style:none;margin:0 0 90px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:14px;gap:14px}.gallery-item{position:relative}.gallery-item.selected .card-photo{outline:3px solid var(--red);outline-offset:2px}.gallery-link{display:flex;flex-direction:column;gap:4px;color:var(--ink);text-decoration:none}.gallery-name{font:700 14px var(--font-ui)}.gallery-meta{font:500 12px var(--font-ui);color:var(--ink-grey)}.gallery-price{font:700 13px var(--font-mono)}.gallery-check{position:absolute;top:6px;left:6px;z-index:2;display:grid;place-items:center;width:44px;height:44px;cursor:pointer}.gallery-check input{background:var(--label)}.bulk-bar{position:-webkit-sticky;position:sticky;bottom:12px;z-index:20;margin-top:14px;padding:12px 14px;background:var(--label);border:1.5px solid var(--ink);border-radius:6px;box-shadow:0 6px 0 var(--ink);flex-direction:column}.bulk-bar,.bulk-head{display:flex;gap:10px}.bulk-actions,.bulk-form,.bulk-head{flex-wrap:wrap;align-items:center}.bulk-actions,.bulk-form{display:flex;gap:8px}.bulk-link{display:inline-flex;align-items:center;text-decoration:none}.bulk-form input:not([type=checkbox]),.bulk-form select{height:40px;padding:0 10px;border:1.5px solid var(--ink);border-radius:5px;background:var(--paper);color:var(--ink);font:500 14px var(--font-ui);width:150px}.bulk-check{display:inline-flex;align-items:center;gap:6px;font:500 13px var(--font-ui)}.stat-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px;margin-bottom:16px}.stat-tile{display:flex;flex-direction:column;gap:4px;padding:14px;background:var(--label);border:1.5px solid var(--ink);border-radius:6px}.stat-tile strong{font:800 26px var(--font-display);letter-spacing:-.03em}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:14px;gap:14px}.stat-panel{padding:14px}.stat-panel h2{margin:0 0 10px;font:800 18px var(--font-display);letter-spacing:-.02em}.stat-wide{grid-column:1/-1}.stat-bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.stat-bar-head{display:flex;justify-content:space-between;gap:8px;font:500 14px var(--font-ui)}.stat-num{font:700 13px var(--font-mono);white-space:nowrap}.stat-bar{height:8px;margin-top:4px;background:var(--carton);border-radius:4px;overflow:hidden}.stat-bar span{display:block;height:100%;background:var(--red)}.stat-top{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:6px}.stat-top li{padding-left:4px}.stat-top li>*{margin-right:10px}.crop-editor{display:flex;flex-direction:column;gap:10px;max-width:520px}.crop-hint,.crop-status{margin:0}.crop-stage{width:100%;background:var(--ink);border-radius:5px;overflow:hidden;min-height:80px}.crop-canvas{display:block;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;cursor:crosshair}.crop-loading{color:var(--label);padding:24px 12px;margin:0;text-align:center}.crop-tools{display:flex;flex-wrap:wrap;gap:8px}.crop-tools .btn-secondary{min-height:44px}.crop-preview{display:flex;align-items:flex-end;gap:10px}.crop-preview img{width:120px;height:auto;border-radius:4px;border:1px solid var(--line)}.crop-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.price-range{margin-top:12px;padding-top:10px;border-top:1px dashed var(--dashed)}.price-range-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.price-range-row input{width:104px;height:40px;padding:0 10px;border:1.5px solid var(--ink);border-radius:4px;background:var(--paper);color:var(--ink);font:500 16px var(--font-ui)}.price-range-row .filter-option:disabled{opacity:.45}.set-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:22px 2px 10px;padding-bottom:6px;border-bottom:1.5px solid var(--ink);font:800 20px var(--font-display);letter-spacing:-.02em}.set-heading .mono-label{margin:0}.admin-table tr.set-row td{background:var(--carton);font:800 14px var(--font-display);padding-top:10px;padding-bottom:10px}.reserved-tag{position:absolute;top:7px;left:7px;background:var(--red);color:var(--paper);font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:.06em;padding:3px 6px;border-radius:3px}.shelf-card[data-reserved] .shelf-photo img{filter:saturate(.55)}.btn-select:disabled{opacity:.6;cursor:default}.reserved-note{padding:12px 14px;border:1.5px solid var(--red);border-radius:6px;background:var(--label);color:var(--red);font-weight:700}.reserved-badge{display:inline-block;margin-left:8px;padding:2px 7px;border:1.5px solid var(--red);border-radius:10px;color:var(--red);font:700 11px var(--font-ui);vertical-align:middle}.row-actions{display:inline-flex;align-items:center;gap:6px}.offline-badge{display:inline-block;margin-left:8px;padding:2px 7px;border:1.5px solid var(--ink-grey);border-radius:10px;color:var(--ink-grey);font:700 11px var(--font-ui);vertical-align:middle}.admin-table tr.row-offline td:not(:last-child){opacity:.55}.gallery-item.offline .gallery-link{opacity:.5}.copy-preview-label{margin:18px 2px 6px}.copy-preview{margin:0;padding:12px 14px;max-height:260px;overflow:auto;background:var(--paper);border:1.5px dashed var(--dashed);border-radius:4px;font:500 13px/1.5 var(--font-mono);color:var(--ink);white-space:pre-wrap;word-break:break-word}.mini-tag-rarity{background:var(--tag);border-color:var(--ink)}.mini-tag-variant{background:var(--label);border-color:var(--red);color:var(--red)}.page-home .set-heading{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:var(--paper);padding-top:8px}.filter-done{margin-top:10px;width:100%;background:var(--ink);color:var(--paper);border-color:var(--ink);font-weight:700}