@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-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:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-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:Figtree Fallback;src:local("Arial");ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.00%;size-adjust:100.72%}.__className_2ca027{font-family:Figtree,Figtree Fallback;font-style:normal}.__variable_2ca027{--font-sans:"Figtree","Figtree Fallback"}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/7088c2b12ccac062-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:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/665e920483964785-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:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/5611c55482296524-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:Newsreader Fallback;src:local("Times New Roman");ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.00%;size-adjust:105.48%}.__className_64b714{font-family:Newsreader,Newsreader Fallback;font-style:normal}.__variable_64b714{--font-serif:"Newsreader","Newsreader Fallback"}@font-face{font-family:Playfair Display;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/91dd84da0368f013-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/14fabb277533b80b-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:Playfair Display;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/5fa2fb870c394901-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:Playfair Display;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/240a8885a8fa3121-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:Playfair Display Fallback;src:local("Times New Roman");ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:111.26%}.__className_bf998b{font-family:Playfair Display,Playfair Display Fallback;font-weight:700;font-style:italic}.__variable_bf998b{--font-display:"Playfair Display","Playfair Display Fallback"}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64418ffc17e50301-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:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/0e96d314a90a6138-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:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba43ea3467e29870-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:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7ea2ab4a8ad1f81-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:DM Mono Fallback;src:local("Arial");ascent-override:73.71%;descent-override:23.03%;line-gap-override:0.00%;size-adjust:134.59%}.__className_9ef920{font-family:DM Mono,DM Mono Fallback;font-style:normal}.__variable_9ef920{--font-mono:"DM Mono","DM Mono Fallback"}:root{color-scheme:light;--ink:#1a1a18;--ink-rgb:26,26,24;--muted:#6b6b62;--line:rgba(26,26,24,0.1);--paper:#fafaf8;--surface:#ffffff;--surface-sunken:#f0efe9;--blush-tint:#f2dfe2;--blush-border:rgba(157,92,104,0.35);--danger:#c0392b;--danger-tint:rgba(192,57,43,0.1);--danger-border:rgba(192,57,43,0.35);--landing-nav-h:64px;--content-max:1040px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:48px;--space-10:64px;--radius-sm:2px;--radius-md:4px;--radius-lg:6px;--radius-xl:10px;--radius-full:999px;--shadow-xs:0 1px 2px rgba(var(--ink-rgb),0.04);--shadow-sm:0 2px 8px rgba(var(--ink-rgb),0.06);--shadow-md:0 8px 24px rgba(var(--ink-rgb),0.1);--shadow-lg:0 16px 48px rgba(var(--ink-rgb),0.16);--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-black:900;--text-xs:11px;--text-sm:12px;--text-md:13px;--text-lg:14px;--text-xl:16px;--text-2xl:20px;--text-display-sm:24px;--text-display-md:30px;--text-display-lg:clamp(56px,9vw,104px)}*{box-sizing:border-box}body,html{overflow-x:hidden}body{margin:0;min-height:100vh;overflow-wrap:break-word;background:var(--paper);color:var(--ink);font-family:var(--font-sans),ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.sidebar{display:flex;flex-direction:column;gap:var(--space-6);border-right:1px solid var(--line);background:var(--surface);padding:0;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;gap:14px;align-items:center;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--line)}.avatar{display:grid;place-items:center;flex:0 0 auto;width:32px;height:32px;border-radius:var(--radius-full);background:var(--blush-tint);color:var(--ink);font-size:12px;font-weight:700}img.avatar,img.product-visual,img.social-avatar{object-fit:cover}.avatar.large{width:56px;height:56px;font-size:20px}.avatar.medium{width:44px;height:44px;font-size:16px}.brand h1,.surface h3,.topbar h2{margin:0;letter-spacing:0}.brand h1{font-family:var(--font-display),Georgia,serif;font-style:italic;font-size:var(--text-2xl);font-weight:var(--weight-bold)}.privacy-panel p,.product-row p,.ranking-owner p,.review-card p,.topbar p,.user-card p{margin:3px 0 0;color:var(--muted);line-height:1.45}.nav{display:grid;grid-gap:2px;gap:2px;padding:0 var(--space-3)}.btn,.nav-button,.profile-link,.segmented button{border:1px solid transparent;background:transparent;color:var(--ink)}.nav-button{display:flex;align-items:center;gap:10px;min-height:40px;border-radius:var(--radius-sm);padding:0 12px;text-align:left;font-size:var(--text-lg);color:var(--muted);transition:background .15s ease,color .15s ease}.nav-button:hover{color:var(--ink);background:rgba(var(--ink-rgb),.04)}.nav-button.active{border-color:transparent;background:var(--surface-sunken);color:var(--ink);font-weight:var(--weight-medium)}.privacy-panel,.surface{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.privacy-panel{margin-top:auto;padding:16px}.sidebar-footer{margin-top:auto;padding:var(--space-3);border-top:1px solid var(--line);display:grid;grid-gap:2px;gap:2px}.sidebar-signout{display:flex;align-items:center;gap:8px;border:none;background:transparent;padding:8px;border-radius:var(--radius-sm);color:var(--muted);font-size:var(--text-sm)}.sidebar-signout:hover{color:var(--ink);background:var(--surface-sunken)}.filter-row,.panel-heading,.product-row,.ranking-owner,.row-card,.section-title{display:flex;align-items:center}.panel-heading{gap:8px;font-weight:700}.main{width:100%;max-width:calc(var(--content-max) + 2 * var(--space-8));margin-inline:auto;padding:var(--space-7) var(--space-8);overflow:hidden}.topbar{justify-content:space-between;gap:18px;margin-bottom:var(--space-6)}.topbar,.topbar-heading{display:flex;align-items:flex-end}.topbar-heading{gap:12px}.eyebrow{color:var(--muted);font-size:var(--text-sm)}.eyebrow,.topbar h2{font-weight:var(--weight-regular)}.topbar h2{font-family:var(--font-serif),Georgia,serif;font-size:var(--text-display-sm)}.content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-5);gap:var(--space-5)}.content-grid.two{margin-top:18px}.surface{padding:18px}.surface.wide{max-width:var(--content-max)}.routine-panel{display:flex;flex-direction:column;align-items:center}.shelf-controls{display:grid;grid-gap:14px;gap:14px;margin-bottom:18px}.shelf-control-row,.shelf-item-actions{display:flex;align-items:center}.shelf-control-row{gap:10px}.shelf-control-row select:first-child{flex:1 1 360px}.section-title{justify-content:space-between;gap:14px;margin-bottom:16px}.section-title span{border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--muted);padding:3px 7px;font-family:var(--font-mono),"Courier New",monospace;font-size:var(--text-xs);font-weight:var(--weight-medium)}.shelf-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:var(--space-6);gap:0}.shelf-tabs button{display:flex;align-items:center;gap:6px;padding:10px 16px;margin-bottom:-1px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:var(--text-lg)}.shelf-tabs button.active{border-bottom-color:var(--ink);color:var(--ink);font-weight:var(--weight-medium)}.shelf-tabs button .count-pill{font-family:var(--font-mono),"Courier New",monospace;font-size:10px;border-radius:var(--radius-sm);padding:1px 5px;background:var(--surface-sunken);color:var(--muted);line-height:1.4}.shelf-tabs button.active .count-pill{background:var(--ink);color:var(--paper)}.row-card{justify-content:space-between;gap:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:14px;transition:border-color .15s ease}.row-card:hover{border-color:rgba(var(--ink-rgb),.2)}.product-stack,.rank-list,.review-list,.shelf-list,.timeline,.user-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:8px;gap:8px}.shelf-item-actions{flex:0 0 auto;gap:8px}.follow-requests{display:grid;grid-gap:8px;gap:8px;margin:var(--space-4) 0;grid-template-columns:minmax(0,1fr)}.modal-body .follow-list,.modal-body .follow-requests,.modal-body .search-field{margin:0}.follow-requests .follow-request-identity{flex:1 1 55%}.follow-requests h4{margin:0;font-size:var(--text-sm);color:var(--muted)}.follow-request-identity{display:flex;align-items:center;gap:10px;min-width:0}.follow-request-actions{display:flex;align-items:center;flex:0 0 auto;gap:8px;margin-left:auto}.shelf-item-actions select{min-width:116px;font-size:var(--text-sm);min-height:32px}.product-row{min-width:0;gap:12px}.product-row>div{min-width:0}.product-row strong{display:block;font-size:var(--text-lg);font-weight:var(--weight-medium);line-height:1.3;overflow-wrap:anywhere}.product-row p{font-size:var(--text-sm)}.product-picker-list{display:grid;grid-gap:4px;gap:4px;max-height:280px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius-md);padding:6px}.product-picker-row{display:flex;align-items:center;gap:12px;width:100%;min-width:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;padding:8px;text-align:left;color:var(--ink)}.product-picker-row.selected,.product-picker-row:hover{background:var(--surface-sunken)}.product-picker-row.selected{border-color:var(--line)}.product-picker-row div{flex:1 1;min-width:0}.product-picker-row strong{display:block;font-size:var(--text-lg);font-weight:var(--weight-medium)}.product-picker-row p,.product-picker-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-picker-row p{margin:2px 0 0;font-size:var(--text-sm);color:var(--muted)}.picker-selected-note{margin:0;font-size:var(--text-sm);color:var(--muted)}.product-visual{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-sunken);color:rgba(var(--ink-rgb),.5);font-family:var(--font-mono),"Courier New",monospace;font-size:var(--text-xs);font-weight:var(--weight-medium)}.product-visual.large{width:72px;height:72px;font-size:var(--text-md);border-radius:var(--radius-md)}.product-detail-header{display:flex;align-items:flex-start;flex-wrap:wrap;gap:var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid var(--line);margin-bottom:var(--space-5)}.product-detail-copy{flex:1 1 200px;min-width:0}.product-detail-header h2{margin:4px 0 8px;font-family:var(--font-serif),Georgia,serif;font-size:var(--text-display-sm);font-weight:var(--weight-regular);letter-spacing:-.02em;line-height:1.15}.product-detail-header .score-badge.large{margin-left:auto;font-size:var(--text-2xl);padding:8px 14px}.product-shelf-control{display:flex;align-items:flex-end;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-5)}.product-shelf-status{display:flex;flex-direction:column;gap:4px;font-size:var(--text-sm);color:var(--muted)}.product-shelf-status select{min-width:140px;min-height:40px}.category-chip{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--radius-sm);background:transparent;color:var(--muted);padding:4px 9px;font-family:var(--font-mono),"Courier New",monospace;font-size:var(--text-xs);letter-spacing:-.01em;white-space:nowrap;flex:0 0 auto}.category-chip.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.category-strip{display:flex;justify-content:safe center;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:var(--space-5)}.tag-chip{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--radius-sm);background:transparent;color:var(--muted);padding:4px 8px;font-family:var(--font-mono),"Courier New",monospace;font-size:var(--text-xs)}.tag-chip.active{color:#fff}.tag-chip.active,.tag-chip.active.all{background:var(--ink);border-color:var(--ink)}.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-5)}.filter-row{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:18px}.search-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:var(--space-5)}.search-tabs button{flex:1 1;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 8px;background:transparent;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--muted);font-size:var(--text-lg);font-weight:var(--weight-medium)}.search-tabs button.active{color:var(--ink);border-bottom-color:var(--ink)}.search-tabs button svg{width:18px;height:18px}.search-field{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:0 14px;margin-bottom:18px}.search-field svg{width:18px;height:18px;color:var(--muted);flex:0 0 auto}.search-field input{flex:1 1 auto;min-width:0;border:0;background:transparent;padding:12px 0;min-height:44px}.search-field input:focus{outline:none}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius-md);padding:3px;background:var(--surface-sunken);width:-moz-fit-content;width:fit-content}.segmented button{min-height:32px;padding:0 14px;border-radius:var(--radius-sm);font-size:var(--text-md);color:var(--muted)}.segmented button.active{background:var(--surface);color:var(--ink);font-weight:var(--weight-medium);box-shadow:var(--shadow-xs);border-color:var(--line)}input,select,textarea{min-height:38px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);padding:0 12px;font-size:var(--text-lg)}input,textarea{min-width:min(420px,100%)}.rank-row{justify-content:flex-start;gap:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:14px}.rank-row .rank-num{font-family:var(--font-mono),"Courier New",monospace;font-weight:var(--weight-bold);font-size:var(--text-display-sm);color:rgba(var(--ink-rgb),.25);width:32px;text-align:center;flex:0 0 auto;line-height:1}.rank-row .product-row{flex:1 1 auto;min-width:0}.rank-score{display:flex;align-items:center;gap:var(--space-3);flex:0 0 auto;margin-left:auto}.rank-review-count{font-size:var(--text-sm);color:var(--muted);white-space:nowrap}.score-badge{font-family:var(--font-mono),"Courier New",monospace;font-size:var(--text-lg);font-weight:var(--weight-medium);background:var(--blush-tint);color:var(--ink);border:1px solid var(--blush-border);padding:4px 8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex:0 0 auto}.btn,.score-badge{display:inline-flex;align-items:center;border-radius:var(--radius-sm)}.btn{justify-content:center;gap:8px;width:auto;min-width:100px;min-height:38px;padding:0 16px;font-size:var(--text-lg);font-weight:var(--weight-medium);white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease}.btn-secondary{border-color:var(--line);background:var(--surface)}.btn-secondary:hover:not(:disabled){color:var(--ink);border-color:rgba(var(--ink-rgb),.3)}.btn-primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-primary:hover:not(:disabled){background:rgba(var(--ink-rgb),.88)}.btn-accent{background:var(--ink);color:#fff;border-color:var(--ink)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:rgba(192,57,43,.88)}.danger-zone{display:grid;grid-gap:10px;gap:10px;margin-top:8px;padding:14px;border:1px solid var(--danger-border);border-radius:var(--radius-md);background:var(--danger-tint)}.danger-zone p{margin:0;font-size:var(--text-md)}.btn-fit,.danger-zone .btn{width:-moz-fit-content;width:fit-content}.btn-fit{min-width:0;margin-top:var(--space-5)}.btn-icon{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:var(--radius-full);background:transparent;color:var(--muted)}.btn-icon:hover{color:var(--ink);background:var(--surface-sunken)}.btn-icon svg{width:16px;height:16px}button:disabled{cursor:not-allowed;opacity:.5}.fab{position:fixed;right:var(--space-6);bottom:var(--space-6);width:48px;height:48px;border-radius:var(--radius-full);background:var(--ink);color:var(--paper);display:grid;place-items:center;border:none;box-shadow:var(--shadow-lg);z-index:10}.fab:hover{background:rgba(var(--ink-rgb),.88)}.fab svg{width:20px;height:20px}.ranking-owner{gap:12px;margin:18px 0 12px}.ranking-owner:first-of-type{margin-top:0}.step{display:grid;grid-template-columns:32px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;position:relative}.step-actions{display:flex;align-items:center;gap:4px;flex:0 0 auto}.drag-handle{cursor:-webkit-grab;cursor:grab;touch-action:none}.drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.rank-row.dragging,.step.dragging{opacity:.5}.rank-row.drag-over,.step.drag-over .product-row{border-color:var(--ink);background:var(--surface-sunken)}.step>span{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-full);border:2px solid var(--line);background:var(--surface);color:var(--muted);font-family:var(--font-mono),"Courier New",monospace;font-size:var(--text-sm);font-weight:var(--weight-medium);z-index:1}.timeline{gap:0}.step:not(:last-child){padding-bottom:12px}.step:not(:last-child):before{content:"";position:absolute;left:15px;top:32px;bottom:0;width:1px;background:var(--line)}.step .product-row{border:1px solid var(--line);border-radius:var(--radius-md);padding:12px;background:var(--surface)}.user-grid{display:grid;grid-gap:8px;gap:8px}.user-card{border:1px solid var(--line);border-radius:var(--radius-md);padding:12px 14px;display:flex;align-items:center;gap:12px;transition:border-color .15s ease,box-shadow .15s ease}.user-card:hover{border-color:rgba(var(--ink-rgb),.2);box-shadow:var(--shadow-xs)}.user-card-body{flex:1 1 auto;min-width:0}.user-card-name{display:flex;align-items:center;gap:6px;min-width:0}.user-card-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.user-card-name svg{width:12px;height:12px;color:var(--muted);flex-shrink:0}.profile-link{display:flex;align-items:center;gap:12px;flex:1 1 auto;min-width:0;padding:0;text-align:left}.profile-link small{display:block;color:var(--muted);margin-top:3px}.badge-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.badge-row span{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-sunken);padding:3px 7px;color:var(--muted);font-family:var(--font-mono),"Courier New",monospace;font-size:var(--text-xs)}.review-card{display:grid;grid-gap:8px;gap:8px;border:1px solid var(--line);border-radius:var(--radius-md);padding:14px}.review-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.review-card p{font-size:var(--text-lg);color:var(--ink);line-height:1.5;margin:0}.review-card-head .review-card-author{font-size:var(--text-sm);color:var(--muted);margin:0}.review-author-link{color:inherit;text-decoration:none}.review-author-link:hover{text-decoration:underline}.review-panel-heading{margin-bottom:var(--space-4)}.review-card-footer,.review-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.review-card-image{width:100%;max-width:320px;max-height:320px;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--line)}.review-image-upload{display:grid;grid-gap:8px;gap:8px}.review-image-label{color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:.04em}.review-image-preview{width:100%;max-width:240px;max-height:240px;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--line)}.review-image-buttons{display:flex;flex-wrap:wrap;gap:8px}.review-image-buttons .btn{width:-moz-fit-content;width:fit-content}.review-date{font-family:var(--font-mono),"Courier New",monospace;font-size:var(--text-xs);color:var(--muted)}.locked{display:grid;justify-items:center;grid-gap:8px;gap:8px;max-width:420px;margin:40px auto 0;padding:48px 32px;border:none;background:transparent;text-align:center}.locked svg{width:30px;height:30px;color:rgba(var(--ink-rgb),.28);margin-bottom:6px}.social-profile{min-height:calc(100vh - 60px);margin:calc(-1 * var(--space-7)) calc(-1 * var(--space-8));padding:0 0 80px;background:var(--paper);color:var(--ink)}.social-profile-inner{width:min(760px,100%);margin:0 auto}.social-profile-header{display:flex;align-items:flex-start;flex-wrap:wrap;gap:var(--space-5);padding:var(--space-6) var(--space-7);border-bottom:1px solid var(--line)}.social-profile-meta{flex:1 1 200px;min-width:0}.social-avatar{display:grid;place-items:center;width:56px;height:56px;border:none;border-radius:var(--radius-full);background:var(--blush-tint);color:var(--ink);font-family:var(--font-sans),sans-serif;font-size:var(--text-xl);font-weight:var(--weight-medium);flex:0 0 auto}img.social-avatar{display:block;padding:0}.social-title-row{display:flex;align-items:center;gap:8px}.social-title-row h3{margin:0;color:var(--ink);font-family:var(--font-serif),Georgia,serif;font-size:var(--text-2xl);font-weight:var(--weight-regular);letter-spacing:0;line-height:1.2}.social-title-row svg{width:13px;height:13px;color:var(--muted)}.social-bio,.social-name{margin:2px 0 0;color:var(--muted);line-height:1.5;font-size:var(--text-lg)}.social-bio{color:var(--ink);opacity:.8;margin-top:8px}.social-name{font-size:var(--text-lg)}.social-stats{display:flex;flex-wrap:wrap;gap:18px;margin-top:10px;color:var(--muted);font-size:var(--text-md)}.social-stats strong{color:var(--ink);font-family:var(--font-mono),"Courier New",monospace;font-weight:var(--weight-medium)}.stat-link{border:none;background:none;padding:0;font:inherit;color:inherit;cursor:pointer}.stat-link:hover{text-decoration:underline}.follow-list{display:grid;grid-gap:8px;gap:8px;margin-top:var(--space-3)}.follow-list .row-card{justify-content:flex-start}.follow-list .row-card:hover{border-color:rgba(var(--ink-rgb),.2);box-shadow:var(--shadow-xs)}.follow-list-meta{min-width:0}.follow-list-name{display:flex;align-items:center;gap:6px;min-width:0}.follow-list-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.follow-list-name svg{width:12px;height:12px;color:var(--muted);flex-shrink:0}.follow-list-meta small{display:block;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.social-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.social-badges span{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--muted);padding:3px 7px;font-family:var(--font-mono),"Courier New",monospace;font-size:var(--text-xs)}.social-actions{display:flex;flex:0 0 auto;gap:8px}.social-actions .btn{min-width:0;min-height:0;padding:6px 12px;font-size:var(--text-md)}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;overflow-y:auto;background:rgba(var(--ink-rgb),.2);padding:24px}.edit-profile-modal{width:min(420px,100%);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);padding:0}.edit-avatar-row,.modal-actions,.modal-heading{display:flex;align-items:center}.modal-heading{justify-content:space-between;gap:18px;padding:var(--space-5);border-bottom:1px solid var(--line)}.modal-heading h3{margin:0;font-family:var(--font-serif),Georgia,serif;font-size:var(--text-2xl);font-weight:var(--weight-regular);letter-spacing:0;line-height:1}.full-span{grid-column:1/-1}textarea{min-height:72px;resize:vertical}.modal-actions{justify-content:stretch;gap:8px;padding:var(--space-5);border-top:1px solid var(--line)}.modal-actions .btn{flex:1 1;width:auto;min-width:0}.modal-body{display:grid;grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-5)}.modal-note{margin:0;padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-sunken);color:var(--muted);font-size:var(--text-md);line-height:1.5}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.avatar-upload{display:flex;align-items:center;gap:14px}.avatar-upload-controls{display:grid;grid-gap:6px;gap:6px}.avatar-upload-buttons{display:flex;flex-wrap:wrap;gap:8px}.avatar-upload-buttons .btn{width:-moz-fit-content;width:fit-content}.form-grid label,.modal-body label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:.04em}.social-tabs{display:flex;justify-content:center;padding:0 var(--space-7);border-bottom:1px solid var(--line);color:var(--muted)}.social-tabs button{border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:transparent;padding:12px 10px;color:inherit;font-size:var(--text-lg);white-space:nowrap}.social-tabs button.active{color:var(--ink);font-weight:var(--weight-medium);border-bottom-color:var(--ink)}.profile-tab-panel{max-width:100%;margin:0;padding:var(--space-6) var(--space-7)}.product-description{padding:var(--space-5) var(--space-7);border-bottom:1px solid var(--line)}.product-description h4{margin:0 0 var(--space-4)}.product-description p{margin:0;max-width:62ch;color:var(--muted)}.profile-status-group{margin-bottom:var(--space-5)}.profile-status-group h4{margin:0 0 8px;font-family:var(--font-mono),"Courier New",monospace;font-size:var(--text-xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.shelf-grid{display:grid;grid-gap:8px;gap:8px;padding:var(--space-6) var(--space-7)}.product-tile{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:14px}.product-tile-copy{display:grid;grid-gap:2px;gap:2px;flex:1 1;min-width:0}.product-tile-copy small,.product-tile-copy span,.product-tile-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-tile-copy strong{color:var(--ink);font-size:var(--text-lg);font-weight:var(--weight-medium)}.product-tile-copy span{color:var(--muted);font-size:var(--text-sm)}.product-tile-copy small{flex:0 0 auto}.empty-state{border:none;border-radius:var(--radius-md);padding:var(--space-9) var(--space-5);color:var(--muted);text-align:center;font-size:var(--text-lg)}.empty-state.wide{max-width:100%;margin:0;padding:var(--space-10) var(--space-5)}.loading-screen{display:grid;min-height:100vh;place-items:center;padding:24px;font-family:var(--font-mono),"Courier New",monospace;color:var(--muted)}.landing-page{position:relative;min-height:100vh;background:var(--paper);color:var(--ink);overflow-x:hidden}.landing-nav{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:center;width:100%;height:var(--landing-nav-h);padding:0 clamp(16px,4vw,40px);background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.landing-wordmark{color:var(--ink);font-family:var(--font-display),Georgia,serif;font-style:italic;font-size:clamp(21px,3vw,27px);font-weight:var(--weight-bold);letter-spacing:0;line-height:1}.landing-stack{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;max-width:46ch;margin:0 auto;padding:0 clamp(16px,5vw,32px)}.landing-eyebrow{font-size:var(--text-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.landing-eyebrow,.landing-title{margin:0;font-weight:var(--weight-regular)}.landing-title{font-family:var(--font-serif),Georgia,serif;font-size:clamp(26px,3.6vw,34px);letter-spacing:-.02em;line-height:1.15;text-wrap:balance}.landing-desc{max-width:40ch;margin:0;color:var(--muted);font-size:var(--text-md);line-height:1.6;text-wrap:pretty}.landing-fineprint{margin:0;font-size:var(--text-xs);letter-spacing:.02em;color:var(--muted)}.landing-login{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:6px;min-height:48px;border:none;border-radius:0;background:var(--ink);color:var(--paper);padding:0 26px;font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:.01em;cursor:pointer;transition:opacity .2s ease}.landing-login:hover{opacity:.85}.landing-note{max-width:46ch;margin:6px 0 0;border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--ink);padding:8px 12px;font-size:var(--text-sm)}.landing-demo-frame{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);width:min(92vw,460px);margin:0}.landing-demo-label{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:center;text-wrap:balance}.landing-demo{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);text-align:left}.landing-panel.tinted .landing-demo{background:var(--paper)}.landing-demo button{cursor:default}.landing-demo .shelf-tabs{justify-content:center}.landing-demo .segmented{align-self:center}.landing-demo-grip{margin-left:auto;flex:0 0 auto;align-self:center;color:var(--muted)}.landing-demo-grip svg{display:block;width:16px;height:16px}@media (max-width:560px){.landing-demo{padding:var(--space-3)}.landing-demo .rank-row,.landing-demo .row-card{flex-wrap:nowrap}.landing-demo .shelf-tabs{flex-wrap:wrap}.landing-demo .shelf-tabs button{padding:10px;font-size:var(--text-md)}}.landing-hero{justify-content:center;min-height:calc(100vh - var(--landing-nav-h));min-height:calc(100dvh - var(--landing-nav-h));padding:clamp(40px,7vh,88px) 0}.landing-hero,.landing-panel{display:flex;flex-direction:column;align-items:center}.landing-panel{gap:clamp(26px,4vh,40px);padding:clamp(56px,9vh,104px) 0}.landing-panel.tinted{background:var(--surface-sunken)}.landing-close{display:flex;flex-direction:column;align-items:center;gap:18px;padding:clamp(64px,11vh,128px) clamp(16px,5vw,32px);border-top:1px solid var(--line);text-align:center}.landing-reveal{opacity:0;transform:translateY(18px);transition:opacity .9s cubic-bezier(.22,.61,.36,1),transform .9s cubic-bezier(.22,.61,.36,1)}.landing-reveal.is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.landing-reveal{opacity:1;transform:none;transition:none}}.chip-toggle{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);padding:6px 10px;font-family:var(--font-mono),"Courier New",monospace;font-size:var(--text-xs)}.chip-toggle.selected{border-color:var(--ink);background:var(--surface-sunken);color:var(--ink)}.form-error{color:var(--danger)}.form-error,.onboarding-note{margin:14px 0 0;font-size:var(--text-md)}.onboarding-note{max-width:680px;color:var(--muted);line-height:1.5}.error-panel{display:grid;grid-gap:12px;gap:12px;max-width:460px}.error-panel h1,.error-panel p{margin:0}.error-panel h1{font-family:var(--font-serif),Georgia,serif;font-weight:var(--weight-regular);font-size:var(--text-2xl)}.error-panel p{color:var(--muted);line-height:1.45}.bottom-nav{display:none}@media (max-width:860px){.shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sidebar{position:-webkit-sticky;position:sticky;top:0;z-index:15;height:auto;overflow-y:visible;flex-direction:row;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);border-right:none}.brand{padding:0;border-bottom:none}.nav,.privacy-panel{display:none}.sidebar-footer{margin-top:0;padding:0;border-top:none}.sidebar-signout{padding:6px}.sidebar-signout span{display:none}.main{padding:var(--space-5);padding-bottom:88px}.social-profile{margin:calc(-1 * var(--space-5));margin-bottom:0}.product-description,.profile-tab-panel,.shelf-grid,.social-profile-header,.social-tabs{padding-left:var(--space-5);padding-right:var(--space-5)}.content-grid,.form-grid,.user-grid{grid-template-columns:minmax(0,1fr)}.topbar h2{font-size:var(--text-2xl)}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--line);z-index:20}.bottom-nav a{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 0 10px;border:none;background:transparent;color:var(--muted);font-size:10px}.bottom-nav a.active{color:var(--ink)}.bottom-nav a svg{width:18px;height:18px}.fab{bottom:calc(64px + var(--space-4))}}@media (max-width:560px){.landing-nav{padding:0 16px}.rank-row,.row-card,.user-card{flex-wrap:wrap}.user-card .btn{margin-left:auto}.step{grid-template-columns:32px minmax(0,1fr)}.step .step-actions{grid-column:2;justify-content:flex-end}.segmented{width:100%}.segmented button{flex:1 1}}