:root{--font-serif:"Newsreader", "Iowan Old Style", Georgia, serif;--font-sans:"Inter", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--bg:#f4efe5;--bg-elev:#fbf8f1;--bg-sunk:#ece5d6;--ink:#1a1814;--ink-2:#4b4640;--ink-3:#837b6f;--rule:#ddd4bf;--rule-2:#c9bfa6;--accent:#8c5a2c;--accent-ink:#fbf8f1;--accent-soft:#f0e2ce;--good:#4b6e3d;--okay:#b98b2c;--bad:#a04a35;--shadow-sm:0 1px 0 #1a18140d;--shadow:0 1px 2px #1a18140f, 0 8px 24px -16px #1a18142e;--radius-sm:6px;--radius:10px;--radius-lg:14px;--pad-x:clamp(24px, 4vw, 56px);--content-max:1280px}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:15px;line-height:1.5}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;appearance:none;background:0 0;border:0;padding:0}input,textarea,select{font:inherit;color:inherit}a{color:inherit}h1,h2,h3,h4,p{margin:0}.app-shell{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}@media (width<=800px){.app-shell{grid-template-rows:auto auto 1fr auto}}.container{width:100%;max-width:var(--content-max);padding:0 var(--pad-x);margin:0 auto}.nav{border-bottom:1px solid var(--rule);background:var(--bg);z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;gap:24px;height:64px;display:flex}.brand{font-family:var(--font-serif);letter-spacing:-.01em;align-items:flex-end;font-size:26px;font-weight:500;line-height:1;display:flex}.brand-logo{object-fit:contain;object-position:bottom;width:36px;height:36px}.nav-links{flex:1;justify-content:center;gap:4px;display:flex}.nav-tabs{display:none}.nav-tab{height:46px;color:var(--ink-2);text-align:center;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;font-size:16px;font-weight:500;text-decoration:none;transition:color .12s,border-color .12s;display:flex}.nav-tab.is-active{color:var(--ink);border-bottom-color:var(--ink)}.nav-link{font-family:var(--font-sans);color:var(--ink-2);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:500;transition:background .12s,color .12s}.nav-link:hover{background:var(--bg-sunk);color:var(--ink)}.nav-link.is-active{background:var(--ink);color:var(--bg-elev)}.nav-right{align-items:center;gap:10px;display:flex}.btn{border:1px solid var(--rule-2);background:var(--bg-elev);color:var(--ink);border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:500;transition:background .12s,border-color .12s,transform 60ms;display:inline-flex}.btn:hover{border-color:var(--ink)}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--ink);color:var(--bg-elev);border-color:var(--ink)}.btn--primary:hover{background:var(--ink-2);border-color:var(--ink-2)}.btn--accent{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn--ghost{background:0 0;border-color:#0000}.btn--ghost:hover{background:var(--bg-sunk);border-color:var(--bg-sunk)}.btn--sm{padding:5px 10px;font-size:13px}.btn--lg{padding:12px 20px;font-size:15px}.btn--block{width:100%}.btn[disabled]{opacity:.4;cursor:not-allowed}.hero{padding-top:56px;padding-bottom:0}.hero:after{content:"";background:var(--rule);height:1px;margin-top:24px;display:block}.hero--gate:after{display:none}.hero-eyebrow{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px;font-size:11px}.hero-title{font-family:var(--font-serif);letter-spacing:-.02em;text-wrap:balance;margin:0 0 16px;font-size:clamp(36px,5vw,64px);font-weight:500;line-height:1.02}.hero-title em{color:var(--accent);font-style:italic}.hero-sub{color:var(--ink-2);max-width:56ch;font-size:16px}.sec-head{border-bottom:1px solid var(--rule);flex-direction:column;gap:12px;margin-bottom:20px;padding-top:32px;padding-bottom:16px;display:flex}.sec-head-top{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.sec-head-top .sec-title{line-height:1}.sec-title{font-family:var(--font-serif);letter-spacing:-.01em;margin:0;font-size:24px;font-weight:500}.sec-meta{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-size:11px}.store-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;padding:8px 0 32px;display:grid}.store-card{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius-lg);text-align:left;flex-direction:column;gap:14px;width:100%;padding:22px;transition:border-color .12s,transform .12s;display:flex;position:relative}.store-card:hover{border-color:var(--ink);transform:translateY(-1px)}.store-card-head{align-items:center;gap:12px;display:flex}.store-card-monogram{width:44px;height:44px;font-family:var(--font-serif);color:var(--ink);border:1px solid var(--rule-2);background:var(--bg-sunk);border-radius:8px;flex-shrink:0;place-items:center;font-size:20px;font-weight:500;display:grid}.store-card-logo{object-fit:cover;border:1px solid var(--rule-2);border-radius:8px;flex-shrink:0;width:44px;height:44px}.store-card-name{font-family:var(--font-serif);letter-spacing:-.01em;margin:0;font-size:22px;font-weight:500;line-height:1.15}.store-card-desc{color:var(--ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.store-card--add{border:2px dashed var(--rule-2);color:var(--ink-3);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:120px;transition:border-color .12s,color .12s;display:flex}.store-card--add:hover{border-color:var(--accent);color:var(--accent)}.store-card--add-icon{font-size:28px;line-height:1}.store-card--add-text{text-align:center;font-size:13px;line-height:1.4}.item-row--add{color:var(--ink-3);cursor:pointer;background:var(--bg-elev);text-align:left;border:none;justify-content:flex-start;align-items:center;gap:12px;width:100%;padding:16px 20px;transition:color .12s,background .12s;display:flex}.item-row--add:hover{color:var(--accent);background:var(--bg-sunk)}.item-row--add-icon{text-align:center;flex-shrink:0;width:24px;font-size:20px;line-height:1}.item-row--add-text{font-size:14px}.badge-unverified{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--rule-2);vertical-align:middle;border-radius:4px;margin-left:8px;padding:1px 5px;font-size:9px;display:inline-block}.store-card-foot{border-top:1px solid var(--rule);justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;display:flex}.store-card-stat{align-items:baseline;gap:6px;display:flex}.store-card-stat-num{font-family:var(--font-serif);font-variant-numeric:tabular-nums;font-size:22px;font-weight:500}.store-card-stat-lbl{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.search-select{width:100%;position:relative}.search-select-input-wrap{background:var(--bg-elev);border:1px solid var(--rule-2);border-radius:var(--radius-sm);align-items:center;gap:6px;height:38px;padding:0 10px 0 12px;transition:border-color .12s;display:flex}.search-select-input-wrap.is-open{border-color:var(--ink)}.search-select-input-wrap.is-disabled{opacity:.5}.search-select-input{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:14px;overflow:hidden}.search-select-input::placeholder{color:var(--ink-3)}.search-select-clear{cursor:pointer;color:var(--ink-3);background:0 0;border:0;padding:0 2px;font-size:16px;line-height:1}.search-select-clear:hover{color:var(--ink)}.search-select-arrow{color:var(--ink-3);pointer-events:none;flex-shrink:0;font-size:10px}.search-select-dropdown{background:var(--bg-elev);border:1px solid var(--rule-2);border-radius:var(--radius-sm);z-index:100;max-height:220px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 16px #0000001f}.search-select-option{text-align:left;width:100%;color:var(--ink);cursor:pointer;font-size:14px;font-family:var(--font-sans);background:0 0;border:0;padding:9px 12px;display:block}.search-select-option:hover{background:var(--bg-sunk)}.search-select-option.is-selected{color:var(--accent);font-weight:500}.search-select-empty{color:var(--ink-3);padding:10px 12px;font-size:13px}.search-wrap{background:var(--bg-elev);border:1px solid var(--rule-2);cursor:text;border-radius:999px;align-items:center;gap:10px;width:100%;max-width:420px;padding:8px 16px;transition:border-color .12s;display:flex}.search-wrap:focus-within{border-color:var(--ink)}.search-input{background:0 0;border:0;outline:0;flex:1;font-size:14px}.search-icon{color:var(--ink-3);place-items:center;display:grid}.item-list{background:var(--rule);border:1px solid var(--rule);border-radius:var(--radius-lg);flex-direction:column;gap:1px;display:flex;overflow:hidden}.item-row{background:var(--bg-elev);text-align:left;grid-template-columns:1fr auto;align-items:center;gap:8px 24px;width:100%;padding:18px 20px;transition:background .12s;display:grid}.item-row-footer{align-items:center;gap:24px;display:flex}.item-row-footer .item-row-actions{margin-left:auto}.item-row:hover{background:var(--bg-sunk)}.item-row-main{flex-direction:column;gap:3px;min-width:0;display:flex}.item-row-name{font-family:var(--font-serif);letter-spacing:-.005em;font-size:18px;font-weight:500;line-height:1.2}.item-row-desc{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.item-row-stat{text-align:center;min-width:64px}.item-row-stat-val{font-family:var(--font-serif);font-variant-numeric:tabular-nums;font-size:22px;font-weight:500;line-height:1}.item-row-stat-lbl{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;margin-top:4px;font-size:10px}.item-row-stat--you .item-row-stat-val{color:var(--accent)}.item-row-actions{align-items:center;gap:6px;display:flex}.item-row-wrap{overflow:hidden}.item-row--clickable{cursor:pointer;text-align:left;border:none;width:100%}.item-row-review-pill{background:var(--accent-soft);color:var(--accent);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;border-radius:999px;margin-left:10px;padding:2px 9px;font-size:10.5px;font-weight:500;display:inline-block}.item-row-chevron{color:var(--ink-3);margin-left:6px;font-size:14px;transition:transform .16s;display:inline-block}.item-row-chevron.is-open{color:var(--ink);transform:rotate(180deg)}.reviews-panel{border-top:1px dashed var(--rule-2);background:var(--bg-sunk);padding:4px 24px 0}.reviews-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.review-item{border-bottom:1px dashed var(--rule-2);grid-template-columns:28px 1fr;align-items:start;gap:14px;padding:16px 0;display:grid}.review-item:last-child{border-bottom:0}.reviews-list+.reviews-list{border-top:1px dashed var(--rule-2)}.review-item--mine .review-name:after{content:"you";background:var(--accent);color:var(--accent-ink);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 7px;font-size:9.5px;font-weight:500;display:inline-block}.review-item--mine .avatar{background:var(--accent-soft);color:var(--accent)}.review-body{min-width:0}.review-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:6px;display:flex}.review-name{font-family:var(--font-sans);color:var(--ink);font-size:14px;font-weight:600}.review-stars{color:var(--accent);letter-spacing:1px;font-size:11px}.review-date{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-3);font-size:11px}.review-note{font-family:var(--font-serif);color:var(--ink-2);margin:0;font-size:15px;font-style:italic;line-height:1.5}.reviews-empty{padding:14px 0 4px}.reviews-empty-title{font-family:var(--font-serif);color:var(--ink);font-size:16px;font-weight:500}.reviews-empty-sub{color:var(--ink-3);margin-top:4px;font-size:13px}.reviews-foot{border-top:1px dashed var(--rule-2);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-top:12px;padding-top:12px;font-size:11px}@media (width<=480px){.reviews-panel{padding:4px 16px 0}.review-item{grid-template-columns:24px 1fr;gap:10px;padding:14px 0}}.store-hero{border-bottom:1px solid var(--rule);padding-top:40px;padding-bottom:32px}.crumb{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:8px;margin-bottom:16px;font-size:11px;display:inline-flex}.crumb button{color:var(--ink-3)}.crumb button:hover{color:var(--ink)}.store-hero-grid{grid-template-columns:1fr auto;align-items:center;gap:32px;display:grid}.store-hero-title{align-items:center;gap:20px;margin-bottom:16px;display:flex}.store-hero-title .store-hero-name{margin-bottom:0}.store-hero-logo{object-fit:cover;border:1px solid var(--rule-2);border-radius:14px;flex-shrink:0;align-self:center;width:80px;height:80px;display:block}.store-hero-name{font-family:var(--font-serif);letter-spacing:-.025em;margin:0 0 16px;font-size:clamp(40px,6vw,72px);font-weight:500;line-height:1}.store-hero-desc{color:var(--ink-2);max-width:56ch;margin:0;font-size:16px}.store-hero-stats{gap:32px;display:flex}.store-hero-stat{text-align:right}.store-hero-stat-num{font-family:var(--font-serif);font-variant-numeric:tabular-nums;font-size:38px;font-weight:500;line-height:1}.store-hero-stat-lbl{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:6px;font-size:10px}.tabs{border-bottom:1px solid var(--rule);gap:4px;margin-bottom:24px;display:flex}.tab{font-family:var(--font-sans);color:var(--ink-3);border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 16px;font-size:14px;font-weight:500}.tab:hover{color:var(--ink)}.tab.is-active{color:var(--ink);border-bottom-color:var(--accent)}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#14120f80;place-items:center start;padding:20px;animation:.16s fade-in;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--bg-elev);border-radius:var(--radius-lg);width:100%;max-width:460px;margin:auto;padding:32px;animation:.2s cubic-bezier(.2,.8,.2,1) pop-in;box-shadow:0 30px 60px -20px #0000004d}.modal-title{font-family:var(--font-serif);letter-spacing:-.01em;margin:0 0 8px;font-size:28px;font-weight:500}.modal-sub{color:var(--ink-2);margin:0 0 24px;font-size:14px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:11px}.input,.textarea{background:var(--bg);border:1px solid var(--rule-2);border-radius:var(--radius);outline:0;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .12s}.input:focus,.textarea:focus{border-color:var(--ink)}.textarea{resize:vertical;min-height:80px}.rate-stage{text-align:center;flex-direction:column;gap:24px;display:flex}.rate-eyebrow{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-size:11px}.rate-headline{font-family:var(--font-serif);letter-spacing:-.01em;margin:0;font-size:28px;font-weight:500}.stars{align-items:center;gap:8px;line-height:1;display:inline-flex;position:relative}.stars-track,.stars-fill{font-family:var(--font-serif);letter-spacing:1px;color:var(--rule-2);-webkit-user-select:none;user-select:none}.stars-fill{color:var(--accent);white-space:nowrap;pointer-events:none;position:absolute;top:0;left:0;overflow:hidden}.stars--sm .stars-track,.stars--sm .stars-fill{letter-spacing:.5px;font-size:14px}.stars--md .stars-track,.stars--md .stars-fill{font-size:18px}.stars--lg .stars-track,.stars--lg .stars-fill{font-size:26px}.star-on{color:var(--accent);letter-spacing:1px}.star-off{color:var(--rule-2);letter-spacing:1px}.stars--sm .star-on,.stars--sm .star-off{letter-spacing:.5px;font-size:14px}.stars-num{font-family:var(--font-mono);color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:12px}.star-picker{align-items:center;gap:8px;display:inline-flex}.star-btn{font-family:var(--font-serif);color:var(--rule-2);cursor:pointer;padding:4px;font-size:40px;line-height:1;transition:color 80ms,transform 80ms}.star-picker--xl .star-btn{font-size:52px}.star-picker--lg .star-btn{font-size:40px}.star-btn:hover{transform:scale(1.08)}.star-btn.is-on{color:var(--accent)}.avatar{background:var(--bg-sunk);width:44px;height:44px;font-family:var(--font-serif);color:var(--ink-2);border:1px solid var(--rule-2);border-radius:8px;flex-shrink:0;place-items:center;font-size:18px;font-weight:500;display:grid}.avatar--sm{border-radius:6px;width:28px;height:28px;font-size:13px}.avatar--photo{object-fit:cover;display:block}.avatar-upload-wrap{cursor:pointer;display:inline-block;position:relative}.avatar-upload-overlay{opacity:0;color:#fff;pointer-events:none;background:#00000040;border-radius:8px;place-items:center;font-size:22px;transition:opacity .12s;display:grid;position:absolute;inset:0}.avatar-upload-wrap:hover .avatar-upload-overlay{opacity:1}.prof-hero{border-bottom:1px solid var(--rule);grid-template-columns:96px 1fr auto;align-items:center;gap:24px;padding-top:40px;padding-bottom:40px;display:grid}.prof-avatar .avatar{border-radius:12px;width:96px;height:96px;font-size:36px}.prof-name{font-family:var(--font-serif);letter-spacing:-.02em;margin:0 0 8px;font-size:40px;font-weight:500;line-height:1}.prof-handle{font-family:var(--font-mono);color:var(--ink-3);font-size:13px}.stat-grid{border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--bg-elev);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0;margin:24px 0;display:grid;overflow:hidden}.stat-cell{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:22px 24px}.stat-cell:last-child{border-right:0}.stat-num{font-family:var(--font-serif);font-variant-numeric:tabular-nums;font-size:36px;font-weight:500;line-height:1}.stat-lbl{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:8px;font-size:10px}.stat-sub{font-family:var(--font-sans);color:var(--ink-2);margin-top:4px;font-size:13px}.rating-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;padding:4px 0 32px;display:grid}.rating-card{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius-lg);grid-template-columns:110px 1fr;height:152px;transition:border-color .12s,transform .12s;display:grid;overflow:hidden}.rating-card:hover{border-color:var(--rule-2);transform:translateY(-1px)}.rating-card-img{object-fit:cover;width:110px;height:152px;display:block}.rating-card-img-placeholder{background:var(--bg-sunk);flex-shrink:0;justify-content:center;align-items:center;width:110px;height:152px;display:flex}.rating-card-img-placeholder img{object-fit:contain;opacity:.18;filter:grayscale();width:40px;height:40px}.rating-card-body{flex-direction:column;gap:5px;min-width:0;padding:14px 16px;display:flex;overflow:hidden}.rating-card-body .stars{align-self:flex-start}.rating-card-name{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:500;overflow:hidden}.rating-card-meta{color:var(--ink-3);font-size:12px;font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.rating-card-note{font-family:var(--font-serif);color:var(--ink-2);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin:2px 0 0;font-size:13px;font-style:italic;display:-webkit-box;overflow:hidden}.rating-card-actions{gap:6px;margin-top:auto;padding-top:4px;display:flex}.list-table{border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--bg-elev);overflow:hidden}.list-row{border-bottom:1px solid var(--rule);grid-template-columns:1fr auto auto;align-items:center;gap:20px;padding:16px 20px;display:grid}.list-row:last-child{border-bottom:0}.list-row:hover{background:var(--bg-sunk)}.list-row-main{min-width:0}.list-row-name{font-family:var(--font-serif);letter-spacing:-.005em;font-size:18px;font-weight:500;line-height:1.2}.list-row-sub{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-top:4px;font-size:11px}.list-row-note{font-family:var(--font-serif);color:var(--ink-2);margin-top:8px;font-size:14px;font-style:italic}.list-row-stars{text-align:right;flex-direction:column;align-items:flex-end;gap:4px;min-width:120px;display:flex}.list-row-stars-lbl{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:10.5px}.list-row-actions{gap:6px;display:flex}.filter-bar{flex-wrap:wrap;align-items:center;gap:14px;padding:10px 0;display:flex}.filter-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.filter-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-right:4px;font-size:11px}.chip{font-family:var(--font-sans);border:1px solid var(--rule-2);background:var(--bg-elev);color:var(--ink-2);cursor:pointer;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:500;line-height:1.4;transition:background .12s,border-color .12s,color .12s}.chip:hover{border-color:var(--ink);color:var(--ink)}.chip[data-active=true]{background:var(--ink);color:var(--bg-elev);border-color:var(--ink)}.select-wrap{background:var(--bg-elev);border:1px solid var(--rule-2);border-radius:999px;align-items:center;padding:4px 14px;transition:border-color .12s;display:inline-flex}.select-wrap:focus-within{border-color:var(--ink)}.select-input{font:inherit;color:var(--ink);cursor:pointer;appearance:none;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1L5 5L9 1' stroke='currentColor' stroke-width='1.4' stroke-linecap='round' fill='none'/></svg>") 100% no-repeat;border:0;outline:0;padding:4px 16px 4px 0;font-size:13px}.layout-2col{grid-template-columns:1fr 320px;align-items:start;gap:40px;margin-top:32px;margin-bottom:48px;display:grid}.side-card{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:22px}.side-title{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:0 0 14px;font-size:11px}.footer{border-top:1px solid var(--rule);margin-top:64px;margin-left:24px;margin-right:24px}.footer .container{color:var(--ink-3);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:16px;padding-top:32px;padding-bottom:48px;font-size:11px;display:flex}.reviews-marquee{contain:layout;cursor:grab;-webkit-user-select:none;user-select:none;width:100%;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 80px calc(100% - 80px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 80px calc(100% - 80px),#0000 100%)}.reviews-marquee-track{will-change:transform;gap:16px;display:flex;position:absolute;top:6px;left:0}.review-card{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius-lg);cursor:pointer;flex-direction:column;flex:none;gap:10px;width:360px;padding:18px 20px 16px;transition:border-color .12s,transform .12s,background .12s;display:flex}.review-card:hover{border-color:var(--rule-2);background:var(--bg)}.review-card-head{align-items:center;gap:12px;display:flex}.review-card-who{flex-direction:column;min-width:0;display:flex}.review-card-name{font-family:var(--font-sans);color:var(--ink);font-size:14px;font-weight:500;line-height:1.2}.review-card-date{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;margin-top:2px;font-size:10.5px}.review-card-reviewer{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.review-card-stars{color:var(--accent);letter-spacing:2px;margin-left:auto;font-size:13px}.review-card-note{font-family:var(--font-serif);color:var(--ink);-webkit-line-clamp:3;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;-webkit-box-orient:vertical;margin:0;font-size:15px;font-style:italic;line-height:1.45;display:-webkit-box;overflow:hidden}.review-card-img{object-fit:cover;cursor:zoom-in;border-radius:6px;width:100%;max-height:180px;margin-top:10px;display:block}.review-card-foot{border-top:1px solid var(--rule);align-items:baseline;gap:8px;min-width:0;margin-top:auto;padding-top:10px;display:flex}.review-card-foot-drink{font-family:var(--font-serif);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:500;overflow:hidden}.review-card-foot-store{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;font-size:10.5px}@media (width<=600px){.reviews-marquee{-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 40px calc(100% - 40px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 40px calc(100% - 40px),#0000 100%)}.reviews-marquee-track{gap:12px}.review-card{width:240px;padding:14px 14px 12px}.review-card-note{font-size:13px}.review-card-foot{padding-top:8px}.review-card-head{flex-direction:column;align-items:flex-start;gap:6px}.review-card-stars{margin-left:0}.sec-head-top{flex-direction:column;align-items:flex-start;gap:8px}}.empty{text-align:center;border:1px dashed var(--rule-2);border-radius:var(--radius-lg);background:var(--bg-elev);padding:64px 24px}.empty-title{font-family:var(--font-serif);margin:0 0 6px;font-size:22px;font-weight:500}.empty-sub{color:var(--ink-3);margin:0 0 16px;font-size:14px}.status-text{text-align:center;color:var(--ink-3);padding:24px 0;font-size:14px}@media (width<=800px){.nav-inner{gap:8px;height:56px}.brand{font-size:20px}.nav-links--desktop{display:none}.nav-tabs{border-bottom:1px solid var(--rule);background:var(--bg);z-index:39;height:46px;display:flex;position:sticky;top:56px}.nav-link{padding:6px 10px;font-size:13px}.layout-2col{grid-template-columns:1fr}.store-hero-grid{grid-template-columns:1fr;align-items:start;gap:20px}.store-hero-stats{justify-content:flex-start;gap:20px}.store-hero-stat{text-align:center}.store-hero-stat--right{margin-left:auto}.store-hero-stat-num{font-size:28px}.item-row{grid-template-columns:1fr;gap:10px;padding:14px 16px}.item-row-footer{gap:16px}.item-row-desc{white-space:normal}.prof-hero{grid-template-columns:64px 1fr;gap:16px;padding-top:28px;padding-bottom:28px}.prof-hero .btn{grid-column:1/-1;justify-self:start}.prof-avatar .avatar{border-radius:10px;width:64px;height:64px;font-size:26px}.prof-name{font-size:28px}.hero{padding-top:32px;padding-bottom:16px}.hero-title{font-size:32px}.modal-backdrop{place-items:flex-end center;padding:12px}.modal{border-bottom-right-radius:0;border-bottom-left-radius:0;max-height:calc(100vh - 24px);padding:20px 16px;overflow-y:auto}.stat-grid{grid-template-columns:1fr 1fr}.stat-cell{padding:18px}.stat-num{font-size:26px}.filter-bar{gap:10px}.footer{flex-direction:column;align-items:flex-start;gap:6px;padding-top:24px;padding-bottom:32px}.sec-head{flex-wrap:wrap;gap:8px;padding-top:24px}.sec-title{font-size:20px}.list-row-stars{min-width:0}.list-row{grid-template-columns:1fr auto;gap:12px;padding:14px 16px}.rating-grid{grid-template-columns:1fr}.rating-card{grid-template-columns:90px 1fr;height:130px}.rating-card-img,.rating-card-img-placeholder{width:90px;height:130px}.rating-card-body{gap:3px;padding:12px 14px}.rating-card-note{display:none}.list-row-actions{grid-column:1/-1;justify-content:flex-end}}@media (width<=480px){.nav-inner{gap:4px}.nav-right .btn span{display:none}.nav-link{padding:6px 8px;font-size:12px}.nav-right .btn{padding:6px 10px}.hero-title{font-size:26px}.hero{padding-top:24px}.hero--gate{padding-top:14px}.hero-sub{font-size:15px}.store-grid{gap:14px}.store-card{padding:18px}.store-card-name{font-size:19px}.store-hero-name{font-size:32px}.filter-bar{flex-direction:column;align-items:stretch}.filter-group{flex-wrap:wrap;width:100%}.select-wrap{justify-content:space-between;width:100%}.list-row{gap:10px;padding:12px 14px}.stat-grid{grid-template-columns:1fr}}.review-img-upload{border:2px dashed var(--rule-2);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;width:100%;min-height:96px;transition:border-color .12s;display:flex;overflow:hidden}.review-img-upload:hover{border-color:var(--accent)}.review-img-upload--filled{border-style:solid;min-height:0}.review-img-upload-placeholder{color:var(--ink-3);flex-direction:column;align-items:center;gap:4px;padding:16px;font-size:13px;display:flex}.review-img-upload-plus{color:var(--ink-2);font-size:28px;line-height:1}.review-img-upload-preview{object-fit:contain;width:100%;max-height:220px;display:block}.review-images{scrollbar-width:none;gap:8px;margin-top:10px;padding-bottom:2px;display:flex;overflow-x:auto}.review-images::-webkit-scrollbar{display:none}.review-img-thumb{object-fit:cover;cursor:zoom-in;border:1px solid var(--rule);border-radius:6px;flex-shrink:0;width:88px;height:88px;transition:opacity .12s}.review-img-thumb:hover{opacity:.85}.review-img-more{border:1px solid var(--rule);background:var(--bg-sunk);width:88px;height:88px;color:var(--ink-2);font-family:var(--font-mono);cursor:pointer;border-radius:6px;flex-shrink:0;place-items:center;font-size:13px;font-weight:500;transition:background .12s,border-color .12s;display:grid}.review-img-more:hover{background:var(--rule);border-color:var(--rule-2)}.lightbox-backdrop{z-index:200;cursor:zoom-out;background:#000000e0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-img{object-fit:contain;cursor:default;border-radius:8px;max-width:92vw;max-height:92vh}.cal-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.cal-nav{align-items:center;gap:10px;display:flex}.cal-nav-btn{width:34px;height:34px;color:var(--ink-2);background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;font-size:20px;line-height:1;transition:border-color .12s,color .12s,background .12s;display:inline-flex}.cal-nav-btn:hover{border-color:var(--rule-2);color:var(--ink);background:var(--bg)}.cal-month-label{font-family:var(--font-serif);color:var(--ink);text-align:center;min-width:168px;font-size:22px;font-weight:500}.cal-today-btn{margin-left:4px}.cal-log-btn--mobile{display:none}.cal-stats{background:var(--rule);border:1px solid var(--rule);border-radius:var(--radius-lg);grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:20px;display:grid;overflow:hidden}.cal-stat{background:var(--bg-elev);min-width:0;padding:16px 18px}.cal-stat-num{font-family:var(--font-serif);color:var(--accent);font-size:30px;font-weight:500;line-height:1}.cal-stat-num--text{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:17px;line-height:1.2;overflow:hidden}.cal-stat-lbl{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin-top:8px;font-size:10.5px}.cal-grid-wrap{border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--rule);margin-bottom:32px;overflow:hidden}.cal-weekdays{background:var(--rule);grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.cal-weekday{background:var(--bg-sunk);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:10px 12px;font-size:10.5px}.cal-grid{background:var(--rule);grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.cal-cell{background:var(--bg-elev);text-align:left;cursor:pointer;min-height:108px;font:inherit;border:0;flex-direction:column;gap:6px;padding:8px 8px 10px;transition:background .12s;display:flex}.cal-cell:hover:not(:disabled){background:var(--bg)}.cal-cell--empty{background:var(--bg-sunk);cursor:default;opacity:.5}.cal-cell-num{font-family:var(--font-mono);color:var(--ink-3);border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;display:inline-flex}.cal-cell.is-today .cal-cell-num{background:var(--accent);color:var(--accent-ink);font-weight:600}.cal-cell-logs{flex-direction:column;gap:4px;min-width:0;display:flex}.cal-chip{background:var(--accent-soft);border-radius:var(--radius-sm);align-items:center;gap:5px;min-width:0;padding:3px 7px 3px 4px;display:flex}.cal-chip-thumb{object-fit:cover;border-radius:3px;flex:none;width:16px;height:16px}.cal-chip-name{font-family:var(--font-sans);color:var(--accent);white-space:nowrap;text-overflow:ellipsis;padding-left:3px;font-size:11px;font-weight:500;overflow:hidden}.cal-chip--more{background:0 0;padding:0 4px}.cal-chip--more,.cal-chip--more .cal-chip-name{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);font-size:10px}.modal-close{width:32px;height:32px;color:var(--ink-3);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;font-size:22px;line-height:1;transition:color .12s,background .12s;display:inline-flex}.modal-close:hover{color:var(--ink);background:var(--bg-sunk)}.logday-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.logday-list{border:1px solid var(--rule);border-radius:var(--radius);flex-direction:column;margin-bottom:22px;display:flex;overflow:hidden}.logday-row{background:var(--bg-elev);border-bottom:1px solid var(--rule);align-items:center;gap:12px;padding:10px 12px;display:flex}.logday-row:last-child{border-bottom:0}.logday-row-thumb{border-radius:var(--radius-sm);background:var(--bg-sunk);flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex;overflow:hidden}.logday-row-thumb img{object-fit:cover;width:100%;height:100%}.logday-row-thumb-empty{color:var(--ink-3);font-size:18px}.logday-row-main{flex:auto;min-width:0}.logday-row-name{font-family:var(--font-serif);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:16px;line-height:1.2;overflow:hidden}.logday-row-store{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-top:3px;font-size:10.5px}.logday-row-note{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:12px;font-style:italic;overflow:hidden}.logday-form-title{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-bottom:12px;font-size:11px}.logday-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.logday-grid>*{min-width:0}.logday-optional{color:var(--ink-3);text-transform:none;letter-spacing:0;font-style:italic}.logday-photo-drop{background:var(--bg);border:1px dashed var(--rule-2);border-radius:var(--radius);width:100%;color:var(--ink-2);font-family:var(--font-sans);cursor:pointer;align-items:center;gap:10px;padding:14px 16px;font-size:14px;transition:border-color .12s,background .12s;display:flex}.logday-photo-drop:hover{border-color:var(--ink-3);background:var(--bg-elev)}.logday-photo-icon{width:24px;height:24px;color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-sm);justify-content:center;align-items:center;font-size:18px;display:inline-flex}.logday-photo-preview{align-items:center;gap:14px;display:flex}.logday-photo-preview img{object-fit:cover;border-radius:var(--radius);border:1px solid var(--rule);width:72px;height:72px}.logday-photo-clear{font-family:var(--font-mono);letter-spacing:.04em;color:var(--bad);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px}.logday-photo-clear:hover{text-decoration:underline}.logday-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}@media (width<=720px){.cal-log-btn--desktop{display:none}.cal-log-btn--mobile{display:block}.cal-stats{grid-template-columns:1fr 1fr}.cal-cell{min-height:86px;padding:6px}.cal-cell-num{width:20px;height:20px;font-size:11px}.cal-chip-name{font-size:10px}.cal-month-label{min-width:130px;font-size:18px}}@media (width<=480px){.cal-chip-name{display:none}.cal-chip{background:0 0;justify-content:center;width:20px;height:20px;padding:0}.cal-chip-thumb{border-radius:4px;width:20px;height:20px}.cal-cell-logs{flex-flow:wrap;gap:3px}.logday-grid{grid-template-columns:1fr}}
