:root{--bg: #101620;--surface: #161E2B;--surface-raised: #1E2836;--surface-lit: #26313F;--line: #2B3746;--line-strong: #5C6A7B;--text: #E9EBF0;--text-dim: #B3BFD2;--text-faint: #8F9CAF;--signal: #E8B84B;--signal-dim: #8A6E2A;--settled: #5DA096;--drop: #C4736B;--font: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-condensed: "IBM Plex Sans Condensed", var(--font);--t-display: 28px;--t-display-lh: 1.15;--t-display-w: 600;--t-lg: 20px;--t-lg-lh: 1.3;--t-lg-w: 600;--t-md: 16px;--t-md-lh: 1.45;--t-md-w: 500;--t-base: 15px;--t-base-lh: 1.55;--t-base-w: 400;--t-sm: 13px;--t-sm-lh: 1.4;--t-sm-w: 400;--t-xs: 12px;--t-xs-lh: 1.35;--t-xs-w: 500;--tracking-tight: -.011em;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 40px;--r-card: 10px;--r-input: 6px;--r-sheet: 16px;--r-pill: 999px;--card-height: 112px;--card-image: 88px;--stale-rule: 3px;--touch-min: 44px;--press: 90ms;--collapse: .18s;--assemble: .4s;--ease: cubic-bezier(.2, 0, 0, 1)}[data-theme=light]{--bg: #F2F3F6;--surface: #FFFFFF;--surface-raised: #FFFFFF;--surface-lit: #E8EBF1;--line: #DDE1E8;--line-strong: #8E95A1;--text: #161C26;--text-dim: #374354;--text-faint: #525D6C;--signal: #A67908;--signal-dim: #D9C089;--settled: #3D7A70;--drop: #A8483F}*,*:before,*:after{box-sizing:border-box}html{color-scheme:dark}[data-theme=light]{color-scheme:light}body{margin:0;font-family:var(--font);font-size:var(--t-base);line-height:var(--t-base-lh);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--signal);outline-offset:2px}@media(prefers-reduced-motion:reduce){:root{--press: 0ms;--collapse: 0ms;--assemble: 0ms}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plex-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,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:400;font-display:swap;src:url(/fonts/plex-400-latin-ext.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:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plex-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,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-display:swap;src:url(/fonts/plex-500-latin-ext.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:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plex-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,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-display:swap;src:url(/fonts/plex-600-latin-ext.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:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plex-dev-400-devanagari.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plex-dev-500-devanagari.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plex-dev-600-devanagari.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}.app{min-height:100dvh;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s4);border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:1}.topbar h1{margin:0;font-size:var(--t-display);line-height:var(--t-display-lh);font-weight:var(--t-display-w);letter-spacing:var(--tracking-tight)}.main{flex:1;padding:var(--s4)}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--s3);min-height:50dvh;color:var(--text-dim)}.empty strong{color:var(--text);font-weight:var(--t-md-w)}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:var(--touch-min);min-height:var(--touch-min);padding:var(--s2);font:inherit;font-size:var(--t-sm);color:var(--text-dim);background:transparent;border:1px solid var(--line);border-radius:var(--r-input);cursor:pointer;transition:background var(--press) var(--ease),color var(--press) var(--ease)}.icon-button:hover{color:var(--text)}.icon-button:active{background:var(--surface-lit)}.topbar__nav{display:flex;gap:var(--s2);align-items:center}a.icon-button{text-decoration:none}.capture{display:flex;flex-direction:column;gap:var(--s4);max-width:480px}.capture__preview{display:flex;gap:var(--s3);align-items:flex-start}.capture__thumb{flex:0 0 var(--card-image);width:var(--card-image);height:var(--card-image);border-radius:calc(var(--r-card) - 2px);background:var(--surface-raised)}.capture__about{min-width:0}.capture__status{margin:0;font-size:var(--t-md);line-height:var(--t-md-lh);font-weight:var(--t-md-w);color:var(--text)}.capture__host{margin:var(--s1) 0 0;font-size:var(--t-sm);line-height:var(--t-sm-lh);color:var(--text-dim)}.capture__field{display:flex;flex-direction:column;gap:var(--s1)}.capture__label{font-size:var(--t-sm);color:var(--text-dim)}.capture input,.capture textarea{width:100%;padding:var(--s2) var(--s3);font:inherit;font-size:var(--t-base);color:var(--text);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--r-input)}.capture textarea{resize:vertical;min-height:calc(var(--touch-min) + var(--s3))}.capture__save{min-height:var(--touch-min);padding:var(--s3);font:inherit;font-size:var(--t-md);font-weight:var(--t-md-w);color:var(--bg);background:var(--text);border:0;border-radius:var(--r-input);cursor:pointer;transition:opacity var(--press) var(--ease)}.capture__save:active{opacity:.85}.capture__refused{margin:0;font-size:var(--t-sm);color:var(--drop)}.capture--done{align-items:flex-start;gap:var(--s3);padding-top:var(--s6)}.capture__done{margin:0;font-size:var(--t-lg);font-weight:var(--t-lg-w);color:var(--settled)}.capture__back{color:var(--signal);font-size:var(--t-base)}.card:has(.card__hit:active){background:var(--surface-lit)}.card:has(.card__hit:focus-visible){background:var(--surface-lit)}.card__hit{position:absolute;inset:0;z-index:0;padding:0;background:none;border:0;border-radius:var(--r-card);cursor:pointer}.card__image,.card__body{position:relative;z-index:1;pointer-events:none}.card--stale:before,.card--overdue:before{content:"";position:absolute;inset:0 auto 0 0;z-index:2;width:var(--stale-rule);background:var(--signal);border-radius:var(--r-card) 0 0 var(--r-card)}.card__image--none{background:var(--surface-raised)}.card__title{margin:0;font-size:var(--t-md);line-height:var(--t-md-lh);font-weight:var(--t-md-w);color:var(--text);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere}.card__price{order:2;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.card__age{font-size:var(--t-sm);line-height:var(--t-sm-lh);color:var(--text-faint);display:flex;gap:var(--s1);align-items:baseline}.card__flag{color:var(--text-faint)}.card__review{position:relative;z-index:2;pointer-events:auto;margin-left:auto;padding:0;font:inherit;font-size:var(--t-sm);color:var(--signal);background:none;border:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.board{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}.board .card{flex-direction:column;height:auto;gap:var(--s2)}.board .card__image{flex:none;width:100%;height:auto;aspect-ratio:1}.board .card__title{-webkit-line-clamp:2;line-clamp:2;font-size:var(--t-sm)}.board .card__age,.board .card__site{display:none}@keyframes card-frame{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes card-part{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}@keyframes card-image-in{0%{opacity:0}to{opacity:1}}.card--assembling{animation:card-frame var(--assemble) var(--ease) both}.card--assembling .card__title{animation:card-part calc(var(--assemble) * .55) var(--ease) calc(var(--assemble) * .15) both}.card--assembling .card__image{animation:card-image-in calc(var(--assemble) * .6) var(--ease) calc(var(--assemble) * .3) both}.card--assembling .card__meta,.card--assembling .card__age{animation:card-part calc(var(--assemble) * .5) var(--ease) calc(var(--assemble) * .55) both}.card__image{animation:card-image-in var(--press) var(--ease)}@media(prefers-reduced-motion:reduce){.card--assembling,.card--assembling .card__title,.card--assembling .card__image,.card--assembling .card__meta,.card--assembling .card__age,.card__image{animation:none}}.shelf{display:flex;flex-direction:column;gap:var(--s3)}.shelf__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}.shelf__count{margin:0;font-size:var(--t-sm);color:var(--text-dim)}.shelf__views{display:flex;gap:var(--s1)}.shelf__view{min-height:var(--touch-min);padding:0 var(--s3);font:inherit;font-size:var(--t-sm);color:var(--text-dim);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--r-pill);cursor:pointer}.shelf__view.is-on{color:var(--text);background:var(--surface-lit);border-color:var(--line-strong)}.stack,.board{list-style:none;margin:0;padding:0}.stack>li{display:block}.empty__action{color:var(--signal);font-size:var(--t-base);min-height:var(--touch-min);display:inline-flex;align-items:center}.shelf__link{padding:0;font:inherit;font-size:var(--t-sm);color:var(--signal);background:none;border:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.settings{display:flex;flex-direction:column;gap:var(--s6);max-width:480px}.settings__section{display:flex;flex-direction:column;gap:var(--s3)}.settings__h{margin:0;font-size:var(--t-md);line-height:var(--t-md-lh);font-weight:var(--t-md-w)}.settings__note{margin:0;font-size:var(--t-sm);color:var(--text-dim);max-width:68ch}.settings__hint{font-size:var(--t-xs);color:var(--text-faint)}.settings__field{display:flex;flex-direction:column;gap:var(--s1)}.settings__label{font-size:var(--t-sm);color:var(--text-dim)}.settings input{width:100%;min-height:var(--touch-min);padding:var(--s2) var(--s3);font:inherit;font-size:var(--t-base);color:var(--text);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--r-input)}.settings__button{min-height:var(--touch-min);padding:var(--s2) var(--s4);font:inherit;font-size:var(--t-md);font-weight:var(--t-md-w);color:var(--bg);background:var(--text);border:0;border-radius:var(--r-input);cursor:pointer;align-self:flex-start}.settings__button--quiet{color:var(--text);background:var(--surface-raised);border:1px solid var(--line)}.settings__result{margin:0;font-size:var(--t-sm)}.settings__result--ok{color:var(--settled)}.settings__result--bad{color:var(--drop)}.settings__choices{display:flex;gap:var(--s2);flex-wrap:wrap}.settings__choice{min-height:var(--touch-min);padding:0 var(--s3);font:inherit;font-size:var(--t-sm);color:var(--text-dim);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--r-pill);cursor:pointer;text-transform:capitalize}.settings__choice.is-on{color:var(--text);background:var(--surface-lit);border-color:var(--line-strong)}.detail{display:flex;flex-direction:column;gap:var(--s4);max-width:520px}.detail__image{width:100%;aspect-ratio:1;max-height:320px;object-fit:contain;background:var(--surface-raised);border-radius:var(--r-card)}.detail__image--none{display:block}.detail__title{margin:0;font-size:var(--t-lg);line-height:var(--t-lg-lh);font-weight:var(--t-lg-w);letter-spacing:var(--tracking-tight);overflow-wrap:anywhere}.detail__facts{margin:0;display:flex;flex-direction:column;gap:var(--s2)}.detail__facts>div{display:flex;gap:var(--s3);justify-content:space-between}.detail__facts dt{font-size:var(--t-sm);color:var(--text-faint)}.detail__facts dd{margin:0;font-size:var(--t-sm);color:var(--text);font-variant-numeric:tabular-nums;text-align:right}.detail__overdue{color:var(--signal)}.detail__description{margin:0;max-width:68ch;font-size:var(--t-base);color:var(--text-dim)}.detail__field{display:flex;flex-direction:column;gap:var(--s1)}.detail__label{font-size:var(--t-sm);color:var(--text-dim)}.detail textarea{width:100%;padding:var(--s2) var(--s3);font:inherit;font-size:var(--t-base);color:var(--text);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--r-input);resize:vertical}.detail__actions{display:flex;gap:var(--s2);flex-wrap:wrap}.detail__action{flex:1 1 auto;min-height:var(--touch-min);padding:0 var(--s3);font:inherit;font-size:var(--t-sm);color:var(--text);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--r-input);cursor:pointer}.detail__action--bought{border-color:var(--settled);color:var(--settled)}.detail__action--drop{border-color:var(--drop);color:var(--drop)}.detail__open{color:var(--signal);font-size:var(--t-base);min-height:var(--touch-min);display:inline-flex;align-items:center}.detail__delete{align-self:flex-start;min-height:var(--touch-min);padding:0;font:inherit;font-size:var(--t-sm);color:var(--text-faint);background:none;border:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.proof{display:flex;flex-direction:column;gap:var(--s6);max-width:680px}.proof__h{margin:0 0 var(--s2);font-size:var(--t-md);line-height:var(--t-md-lh);font-weight:var(--t-md-w)}.proof__note{margin:0 0 var(--s3);max-width:68ch;font-size:var(--t-sm);line-height:var(--t-sm-lh);color:var(--text-dim)}.proof__row{display:flex;flex-wrap:wrap;gap:var(--s3)}.swatch{display:flex;flex-direction:column;gap:var(--s1)}.swatch__chip{width:88px;height:56px;border:1px solid var(--line);border-radius:var(--r-input)}.swatch__name{font-size:var(--t-xs);color:var(--text-faint)}.type-row{display:flex;align-items:baseline;gap:var(--s4);padding:var(--s2) 0;border-bottom:1px solid var(--line)}.type-row:last-child{border-bottom:0}.type-row__sample{flex:1;min-width:0}.type-row__label{font-size:var(--t-xs);color:var(--text-faint);text-align:right;max-width:40%}.proof__cards{display:flex;flex-direction:column}.card{position:relative;display:flex;gap:var(--s3);height:var(--card-height);padding:var(--s3);background:var(--surface);border-radius:var(--r-card);border-bottom:1px solid var(--line);transition:background var(--press) var(--ease)}.card:active{background:var(--surface-lit)}.card--stale:before{content:"";position:absolute;inset:0 auto 0 0;width:var(--stale-rule);background:var(--signal);border-radius:var(--r-card) 0 0 var(--r-card)}.card__image{flex:0 0 var(--card-image);width:var(--card-image);height:var(--card-image);border-radius:calc(var(--r-card) - 2px);background:var(--surface-raised);object-fit:cover}.card--stale .card__image{opacity:.88}.card--overdue .card__image{opacity:.75}.card__body{flex:1;min-width:0;display:flex;flex-direction:column}.card__title{margin:0;font-size:var(--t-md);line-height:var(--t-md-lh);font-weight:var(--t-md-w);color:var(--text);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.card__meta{margin-top:auto;display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);font-size:var(--t-sm);line-height:var(--t-sm-lh)}.card__price{order:2;color:var(--text);font-variant-numeric:tabular-nums}.card__site{order:1;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card__age{font-size:var(--t-sm);line-height:var(--t-sm-lh);color:var(--text-faint)}.card__age--overdue{color:var(--signal)}
