@font-face{font-family:__Outfit_410c3d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/98848575513c9742-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:__Outfit_410c3d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7b0b24f36b1a6d0b-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:__Outfit_410c3d;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98848575513c9742-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:__Outfit_410c3d;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/7b0b24f36b1a6d0b-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:__Outfit_410c3d;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/98848575513c9742-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:__Outfit_410c3d;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/7b0b24f36b1a6d0b-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:__Outfit_Fallback_410c3d;src:local("Arial");ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.00%;size-adjust:99.82%}.__className_410c3d{font-family:__Outfit_410c3d,__Outfit_Fallback_410c3d;font-style:normal}.__variable_410c3d{--font-outfit:"__Outfit_410c3d","__Outfit_Fallback_410c3d"}:root{--bg:#15120f;--surface:#1e1a16;--surface-2:#211c18;--surface-sunken:#2a241f;--accent:#ff5a36;--accent-weak:rgba(255,90,54,.16);--secondary:#e8b84b;--secondary-weak:rgba(232,184,75,.12);--text:#f2ede4;--text-soft:#cfc8be;--text-muted:#9c948a;--on-accent:#15120f;--border:hsla(39,35%,92%,.14);--border-strong:hsla(39,35%,92%,.18);--border-hair:hsla(39,35%,92%,.08);--drop-empty:hsla(39,35%,92%,.35);--heat-mild:#e8b84b;--heat-warm:#f0883a;--heat-fierce:#ff5a36;--heat-nuclear:#c42e1a;--heat-gradient:linear-gradient(90deg,#e8b84b,#ff5a36 60%,#c42e1a);--success:#57b97d;--warning:#e8b84b;--danger:#c42e1a;--font:var(--font-outfit),"Outfit",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--t-2xl:24px;--t-xl:18px;--t-lg:17px;--t-md:15px;--t-base:13px;--t-sm:12px;--t-xs:11px;--t-stat:20px;--tracking-tight:-0.3px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--r-xs:8px;--r-sm:10px;--r-md:12px;--r-lg:14px;--r-pill:999px;--theme-color:#15120f}.log-page{position:relative}.section-label{font-size:var(--t-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin:var(--s-5) 0 var(--s-2)}.field-label{display:block;font-size:var(--t-sm);color:var(--text-muted);margin-bottom:var(--s-2)}.search-box{display:flex;align-items:center;gap:var(--s-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:0 var(--s-3);height:44px;transition:border-color .15s}.search-box:focus-within{border-color:var(--accent)}.search-box-lead{display:flex;color:var(--text-muted);flex-shrink:0}.search-box-input{flex:1 1;min-width:0;background:transparent;border:none;outline:none;color:var(--text);font-size:var(--t-base);height:100%}.search-box-input::placeholder{color:var(--text-muted)}.search-box-input::-webkit-search-cancel-button,.search-box-input::-webkit-search-decoration{-webkit-appearance:none}.search-box-scan{display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--accent);padding:var(--s-1);flex-shrink:0}.scan-cta,.search-results{margin-top:var(--s-3)}.result-list{list-style:none;padding:var(--s-1) 0;overflow:hidden}.result-row{display:flex;align-items:center;gap:var(--s-3);width:100%;background:transparent;border:none;text-align:left;padding:var(--s-3) var(--s-3);color:var(--text)}.result-row:hover{background:var(--surface-2)}.result-meta{display:flex;flex-direction:column;gap:1px;flex:1 1;min-width:0}.result-name{font-size:var(--t-md);font-weight:600}.result-brand,.result-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-brand,.result-empty{font-size:var(--t-sm)}.result-empty{padding:var(--s-3)}.sauce-thumb{border-radius:var(--r-sm);object-fit:cover;flex-shrink:0;background:var(--surface-sunken)}.sauce-ph{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;isolation:isolate}.sauce-ph-drop{position:absolute;right:-14%;bottom:-16%;width:78%;height:78%;opacity:.16;z-index:-1}.sauce-ph-mono{color:var(--text);font-weight:600;font-size:clamp(var(--t-md),42%,22px);letter-spacing:-.5px;line-height:1}.sauce-ph:not(.sauce-ph-compact){container-type:inline-size}.sauce-ph-text{display:flex;flex-direction:column;gap:2px;padding:var(--s-2) var(--s-3);width:100%;min-width:0}.sauce-ph-name{color:var(--text);font-weight:600;letter-spacing:-.3px;font-size:clamp(var(--t-md),5cqw,28px);line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sauce-ph-brand{color:var(--text-soft);font-size:clamp(var(--t-xs),2.4cqw,15px);overflow:hidden;text-overflow:ellipsis}.sauce-ph-brand,.shu-pill{font-weight:500;white-space:nowrap}.shu-pill{flex-shrink:0;color:var(--secondary);background:var(--secondary-weak);padding:2px 7px;border-radius:var(--r-xs);font-size:var(--t-xs)}.add-sauce-cta{display:flex;flex-direction:column;align-items:center;gap:var(--s-2);margin-top:var(--s-4);font-size:var(--t-sm)}.compose-back,.scanner .compose-back{display:inline-flex;align-items:center;gap:var(--s-1);background:transparent;border:none;color:var(--text-muted);font-size:var(--t-sm);padding:var(--s-1) 0;margin-bottom:var(--s-3)}.compose-back:hover{color:var(--text)}.compose-sauce{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-5)}.compose-sauce-meta{flex:1 1;min-width:0}.compose-sauce-name{font-size:var(--t-lg);font-weight:600;line-height:1.25}.compose-sauce-brand{font-size:var(--t-sm)}.compose-field{margin-bottom:var(--s-5)}.compose-submit{margin-top:var(--s-4)}.compose-photo-field{margin-bottom:var(--s-4)}.compose-photo-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.compose-photo-label{display:block;cursor:pointer}.compose-photo-btn{display:inline-flex;align-items:center;gap:var(--s-2);padding:9px var(--s-3);border-radius:var(--r-md);border:1px dashed var(--border-strong);color:var(--text-muted);font-size:var(--t-sm);font-family:var(--font);cursor:pointer;transition:border-color .15s,color .15s;background:transparent}.compose-photo-label:hover .compose-photo-btn{border-color:var(--accent);color:var(--accent)}.compose-photo-preview{position:relative;display:inline-block}.compose-photo-thumb{display:block;max-width:180px;max-height:180px;width:auto;height:auto;border-radius:var(--r-md);object-fit:cover}.compose-photo-remove{position:absolute;top:-8px;right:-8px;width:22px;height:22px;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.drop-rating{display:flex;gap:8px}.drop-btn{background:transparent;border:none;padding:2px;line-height:0;border-radius:var(--r-pill)}.drop-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.drop-filled{fill:var(--accent)}.drop-empty{fill:none;stroke:var(--drop-empty);stroke-width:1.3}.heat-slider{display:flex;flex-direction:column;gap:var(--s-2)}.heat-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:var(--r-pill);outline:none;cursor:pointer}.heat-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:15px;height:15px;border-radius:var(--r-pill);background:var(--accent);border:2px solid var(--bg);cursor:pointer}.heat-range::-moz-range-thumb{width:15px;height:15px;border-radius:var(--r-pill);background:var(--accent);border:2px solid var(--bg);cursor:pointer}.heat-range:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.heat-labels{display:flex;justify-content:space-between}.heat-label{font-size:var(--t-xs);color:var(--text-muted);transition:color .15s}.heat-label.active{color:var(--accent);font-weight:600}.tag-chips{display:flex;flex-wrap:wrap;gap:var(--s-2)}.tag-chip{background:transparent;border:1px solid var(--border-strong);color:var(--text-soft);border-radius:var(--r-pill);padding:5px 11px;font-size:var(--t-xs);font-weight:500;transition:border-color .15s,color .15s,background .15s}.tag-chip.selected{border-color:var(--accent);color:var(--accent);background:var(--accent-weak)}.review-field{display:flex;flex-direction:column;gap:var(--s-2)}.review-field-head{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--t-sm)}.review-field-label{font-weight:600}.review-textarea{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);padding:var(--s-3);font-size:var(--t-base);line-height:1.5;resize:vertical;outline:none;transition:border-color .15s}.review-textarea:focus{border-color:var(--accent)}.review-field-foot{display:flex;justify-content:space-between;align-items:center}.review-count{font-size:var(--t-xs);color:var(--text-muted)}.scanner-frame{position:relative;width:100%;aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;background:var(--surface-sunken)}.scanner-region{width:100%;height:100%;object-fit:cover;display:block}.scanner-guide{position:absolute;top:50%;left:50%;width:80%;height:50%;transform:translate(-50%,-50%);border:2px solid var(--text-on-accent,#fff);border-radius:var(--r-md);box-shadow:0 0 0 100vmax rgba(0,0,0,.4);pointer-events:none}.scanner-torch{position:absolute;right:var(--s-3);bottom:var(--s-3);display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--r-full,999px);border:1px solid var(--border-strong);background:rgba(0,0,0,.5);color:#fff;cursor:pointer}.scanner-torch.is-on{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent,#fff)}.scanner-hint{text-align:center;font-size:var(--t-sm);margin-top:var(--s-3)}.log-toast{position:-webkit-sticky;position:sticky;top:var(--s-2);z-index:50;display:flex;align-items:center;gap:var(--s-2);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);margin-bottom:var(--s-3);font-size:var(--t-sm);font-weight:500;box-shadow:0 4px 18px rgba(0,0,0,.35)}.log-toast-check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--r-pill);background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:700}.log-toast-error{justify-content:space-between;border-color:var(--danger)}.log-toast-retry{background:transparent;border:none;color:var(--accent);font-weight:600;font-size:var(--t-sm)}.log-toast-queued{border-color:var(--secondary,var(--border-strong))}.log-toast-queued .log-toast-check{background:var(--secondary-weak);color:var(--secondary)}.sync-pill{display:inline-flex;align-items:center;gap:var(--s-1);margin-bottom:var(--s-3);padding:4px 10px;border-radius:var(--r-pill);font-weight:500}.sync-pill,.unsynced-badge{background:var(--secondary-weak);color:var(--secondary);font-size:var(--t-xs)}.unsynced-badge{flex-shrink:0;padding:2px 7px;border-radius:var(--r-xs);font-weight:600;white-space:nowrap}.history-count{font-size:var(--t-sm);color:var(--text-muted);margin-bottom:var(--s-4)}.history-list{list-style:none;padding:var(--s-1) 0;overflow:hidden}.history-list li+li .history-row{border-top:1px solid var(--border-hair)}.history-row{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3);color:var(--text);text-decoration:none}.history-row:hover{background:var(--surface-2)}.history-meta{display:flex;flex-direction:column;gap:3px;flex:1 1;min-width:0}.history-name{font-size:var(--t-md);font-weight:600}.history-brand,.history-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-brand{font-size:var(--t-sm)}.history-stats{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-2);margin-top:2px}.drops-readout{display:inline-flex;align-items:center;gap:1px;line-height:0}.heat-badge{text-transform:uppercase;letter-spacing:.4px;font-size:var(--t-xs);font-weight:600;padding:2px 7px;border-radius:var(--r-xs);white-space:nowrap}.heat-badge--mild{color:var(--heat-mild);background:rgba(232,184,75,.14)}.heat-badge--fierce{color:var(--heat-fierce);background:rgba(255,90,54,.14)}.heat-badge--nuclear{color:var(--heat-nuclear);background:rgba(196,46,26,.16)}.history-count-badge{font-weight:600;color:var(--text-soft);background:var(--surface-sunken);padding:2px 7px;border-radius:var(--r-xs)}.history-count-badge,.history-date{font-size:var(--t-xs);white-space:nowrap}.history-date{flex-shrink:0;align-self:flex-start}.history-more{display:block;width:100%;margin-top:var(--s-3);padding:var(--s-3);background:transparent;border:none;font-size:var(--t-sm)}.history-more,.history-more:disabled{color:var(--text-muted)}.history-empty{margin-top:var(--s-6);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--s-2)}.history-empty-lead{font-size:var(--t-md);font-weight:600}.history-empty-cta{margin-top:var(--s-3)}.stats-page .heading-xl{font-size:var(--t-xl);font-weight:600}.stats-layout{display:flex;flex-direction:column;gap:var(--s-4);margin-top:var(--s-4)}.heat-trend-card{padding:var(--s-4)}.heat-trend-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--s-3)}.heat-trend-title{font-size:var(--t-md);font-weight:500;color:var(--text);margin-bottom:2px}.heat-trend-caption,.heat-trend-delta{font-size:var(--t-xs)}.heat-trend-delta{display:flex;align-items:center;gap:3px;font-weight:600;color:var(--accent);white-space:nowrap}.heat-trend-svg{display:block;width:100%}.heat-trend-empty{padding:var(--s-5) 0 var(--s-2);font-size:var(--t-sm);text-align:center}.heat-trend-share{display:inline-flex;align-items:center;gap:var(--s-1);margin-top:var(--s-3);background:transparent;border:none;color:var(--text-muted);font-size:var(--t-xs);cursor:pointer;padding:0;transition:color .15s}.heat-trend-share:hover{color:var(--accent)}.stat-tiles-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--s-3);gap:var(--s-3)}.stat-tile{background:var(--surface);border-radius:var(--r-sm);border:1px solid var(--border);padding:11px 12px}.stat-tile-value{font-size:var(--t-stat);font-weight:600;color:var(--text);line-height:1.2;margin-bottom:2px}.stat-tile-label{font-size:var(--t-xs)}.flavor-profile{background:var(--surface);border-radius:var(--r-lg);border:1px solid var(--border);padding:var(--s-4)}.flavor-profile-title{font-size:var(--t-sm);font-weight:500;color:var(--text);margin-bottom:var(--s-3)}.flavor-profile-empty{font-size:var(--t-sm);padding:var(--s-3) 0}.flavor-profile-list{list-style:none;display:flex;flex-direction:column;gap:10px}.flavor-profile-row{display:grid;grid-template-columns:72px 1fr 36px;align-items:center;grid-gap:var(--s-2);gap:var(--s-2)}.flavor-profile-name{font-size:var(--t-xs);text-align:right}.flavor-profile-bar-track{height:6px;background:var(--surface-sunken);border-radius:var(--r-pill);overflow:hidden}.flavor-profile-bar-fill{height:100%;border-radius:var(--r-pill);background:var(--accent);transition:width .4s ease}.flavor-profile-row:first-child .flavor-profile-bar-fill{background:var(--accent)}.flavor-profile-row:nth-child(2) .flavor-profile-bar-fill{background:var(--secondary)}.flavor-profile-row:nth-child(3) .flavor-profile-bar-fill{background:var(--text-soft)}.flavor-profile-row:nth-child(n+4) .flavor-profile-bar-fill{background:var(--text-muted)}.flavor-profile-pct{font-size:var(--t-xs);text-align:right}.stats-loading{height:240px}.profile-identity{display:flex;align-items:center;gap:var(--s-3)}.profile-avatar{width:56px;height:56px;flex-shrink:0;border-radius:50%;background:var(--accent-weak,rgba(255,90,54,.16));color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:var(--t-md);font-weight:600}.profile-name{font-size:var(--t-xl);font-weight:600;color:var(--text)}.profile-at{font-size:var(--t-sm)}.profile-recent{background:var(--surface);border-radius:var(--r-lg);border:1px solid var(--border);padding:var(--s-4)}.profile-recent-title{font-size:var(--t-sm);font-weight:500;color:var(--text);margin-bottom:var(--s-3)}.profile-recent-empty{font-size:var(--t-sm);padding:var(--s-2) 0}.profile-recent-list{list-style:none;display:flex;flex-direction:column}.profile-recent-row{border-bottom:1px solid var(--border-hair,hsla(39,35%,92%,.08))}.profile-recent-row:last-child{border-bottom:none}.profile-recent-link{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);padding:10px 0;text-decoration:none}.profile-recent-name{font-size:var(--t-base);color:var(--text)}.profile-recent-brand{font-size:var(--t-xs);white-space:nowrap}.wishlist-count{font-size:var(--t-sm);color:var(--text-muted);margin-bottom:var(--s-4)}.wishlist-list{list-style:none;padding:var(--s-1) 0;overflow:hidden}.wishlist-row{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3)}.wishlist-list li+li .wishlist-row{border-top:1px solid var(--border-hair)}.wishlist-link{display:flex;align-items:center;gap:var(--s-3);flex:1 1;min-width:0;color:var(--text);text-decoration:none;border-radius:var(--r-md)}.wishlist-link:hover{background:var(--surface-2)}.wishlist-meta{display:flex;flex-direction:column;gap:1px;flex:1 1;min-width:0}.wishlist-name{font-size:var(--t-md);font-weight:600}.wishlist-brand,.wishlist-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wishlist-brand{font-size:var(--t-sm)}.wishlist-remove{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;color:var(--text-muted);font-size:18px;line-height:1;border-radius:var(--r-pill);transition:color .15s,background .15s}.wishlist-remove:hover{color:var(--danger);background:rgba(196,46,26,.1)}.wishlist-empty{margin-top:var(--s-6);text-align:center;display:flex;flex-direction:column;gap:var(--s-2)}.wtb-btn{color:var(--text-soft)}.wtb-btn--active{border-color:var(--accent);color:var(--accent)}.wtb-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:var(--r-pill);transition:background .15s}.wtb-icon:hover{background:var(--accent-weak)}.result-item{display:flex;align-items:center}.result-item .result-row{flex:1 1;min-width:0}.result-list li+li .result-item{border-top:1px solid var(--border-hair)}.log-toast-wishlist{justify-content:space-between;flex-wrap:wrap;gap:var(--s-2)}.log-toast-offer{display:flex;align-items:center;gap:var(--s-2);margin-left:auto}.log-toast-action{background:transparent;border:none;color:var(--accent);font-weight:600;font-size:var(--t-sm);padding:0}.log-toast-dismiss{background:transparent;border:none;color:var(--text-muted);font-size:var(--t-md);line-height:1;padding:0 2px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font);font-size:var(--t-base);font-weight:400;line-height:1.5;color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}#root,body{min-height:100dvh}#root{display:flex;flex-direction:column}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}input,textarea{font-family:inherit;font-size:inherit}.app-shell{display:flex;flex-direction:column;min-height:100dvh}.app-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--s-4) var(--s-4);background:var(--bg);border-bottom:1px solid var(--border-hair)}.app-wordmark{font-size:var(--t-lg);font-weight:600;color:var(--text);letter-spacing:var(--tracking-tight)}.app-wordmark span{color:var(--accent)}.app-main{flex:1 1;width:100%;max-width:480px;margin:0 auto;padding:var(--s-4);padding-bottom:calc(72px + env(safe-area-inset-bottom))}.text-muted{color:var(--text-muted)}.text-accent{color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);border:none;border-radius:var(--r-md);font-size:var(--t-base);font-weight:600;transition:opacity .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:not(:disabled):hover{opacity:.88}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border-strong)}.card{background:var(--surface);border-radius:var(--r-lg);padding:var(--s-4)}.card,.input{border:1px solid var(--border)}.input{width:100%;background:var(--surface-2);border-radius:var(--r-md);color:var(--text);padding:var(--s-3) var(--s-4);font-size:var(--t-base);outline:none;transition:border-color .15s}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--text-muted)}.text-soft{color:var(--text-soft)}.heading-xl{font-size:var(--t-xl);font-weight:600}.heading-2xl{font-size:var(--t-2xl);font-weight:600;letter-spacing:var(--tracking-tight)}.mb-2{margin-bottom:var(--s-2)}.mb-3{margin-bottom:var(--s-3)}.mb-5{margin-bottom:var(--s-5)}.mt-2{margin-top:var(--s-2)}.text-center{text-align:center}.auth-wrap,.page{padding-top:var(--s-6)}.auth-wrap{max-width:360px;margin:0 auto}.form-stack{display:flex;flex-direction:column;gap:var(--s-3)}.form-error{color:var(--danger);font-size:var(--t-sm)}.divider{margin:var(--s-5) 0;border:none;border-top:1px solid var(--border-hair)}.btn-full{width:100%}.form-help{color:var(--text-muted,#998f88);font-size:var(--t-sm);line-height:1.5}.link{color:var(--accent,#e6492d);text-decoration:none;font-weight:600}.link:hover{text-decoration:underline}.auth-links{justify-content:space-between;margin-top:var(--s-3)}.auth-links,.verify-banner{display:flex;gap:var(--s-3);font-size:var(--t-sm)}.verify-banner{align-items:center;flex-wrap:wrap;background:rgba(230,73,45,.1);border:1px solid rgba(230,73,45,.3);color:var(--text,#2a2320);border-radius:10px;padding:var(--s-3) var(--s-4);margin:var(--s-3) 0}.verify-banner p{margin:0;flex:1 1 60%}.verify-banner .btn{flex:0 0 auto}.btn-social{gap:var(--s-2)}.btn-social svg{width:18px;height:18px;flex-shrink:0}.btn-apple{background:#000;color:#fff}.btn-apple svg{fill:#fff}.btn-facebook{background:#1877f2;color:#fff}.btn-facebook svg{fill:#fff}.avatar{width:32px;height:32px;border-radius:var(--r-pill);background:var(--accent-weak);border:1.5px solid var(--accent);color:var(--accent);font-size:var(--t-sm);font-weight:700;display:flex;align-items:center;justify-content:center;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0}.avatar-img{width:100%;height:100%;object-fit:cover}.avatar-menu{position:relative}.avatar-trigger{padding:0;cursor:pointer}.avatar-menu-pop{position:absolute;top:calc(100% + var(--s-2));right:0;z-index:200;min-width:168px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-1);box-shadow:0 8px 24px rgba(0,0,0,.4)}.avatar-menu-item{display:block;width:100%;text-align:left;background:transparent;border:none;color:var(--text);font-size:var(--t-base);font-weight:500;padding:var(--s-3) var(--s-3);border-radius:var(--r-sm);cursor:pointer}.avatar-menu-item:hover{background:var(--surface-2)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--surface);border-top:1px solid var(--border-hair);padding-bottom:env(safe-area-inset-bottom);height:calc(60px + env(safe-area-inset-bottom))}.bottom-nav,.nav-tab{display:flex;align-items:center}.nav-tab{flex:1 1;flex-direction:column;justify-content:center;gap:3px;padding:var(--s-2) 0;color:var(--text-muted);font-size:var(--t-xs);font-weight:500;text-decoration:none;transition:color .15s;-webkit-tap-highlight-color:transparent}.nav-tab.active{color:var(--accent)}.nav-tab:hover:not(.active){color:var(--text-soft);text-decoration:none}.nav-tab-center{flex:1 1;flex-direction:column;gap:4px;text-decoration:none;-webkit-tap-highlight-color:transparent}.nav-tab-center,.nav-tab-center-bubble{display:flex;align-items:center;justify-content:center}.nav-tab-center-bubble{width:52px;height:34px;background:var(--accent);border-radius:var(--r-pill);color:var(--on-accent);box-shadow:0 2px 14px rgba(255,90,54,.4);transition:opacity .15s}.nav-tab-center:hover .nav-tab-center-bubble{opacity:.88}.nav-tab-center-label{font-size:var(--t-xs);font-weight:600;color:var(--accent)}.app-loading{min-height:100dvh;background:var(--bg)}.account-section{padding:var(--s-5) 0;border-top:1px solid var(--border-hair)}.account-section:first-of-type{border-top:none;padding-top:0}.account-section-title{font-size:var(--t-md);font-weight:600;color:var(--text);margin-bottom:var(--s-3)}.account-avatar-section{display:flex;align-items:center;gap:var(--s-4)}.account-avatar{width:72px;height:72px;flex-shrink:0;border-radius:var(--r-pill);background:var(--accent-weak);border:2px solid var(--accent);color:var(--accent);font-size:var(--t-xl);font-weight:700;display:flex;align-items:center;justify-content:center;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}.account-avatar-img{width:100%;height:100%;object-fit:cover}.account-avatar-controls{display:flex;flex-direction:column;gap:var(--s-2);align-items:flex-start}.account-avatar-remove{font-size:var(--t-sm);background:none;border:none;padding:0;cursor:pointer}.account-field-label{font-size:var(--t-sm);font-weight:600;color:var(--text-muted)}.account-handle-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-2);font-size:var(--t-base)}.account-hint{font-size:var(--t-sm)}.account-saved{color:var(--success)}.account-identity-list{display:flex;flex-direction:column;gap:var(--s-2)}.account-identity-row{display:flex;align-items:center;justify-content:space-between;padding:var(--s-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--t-base)}.account-identity-unlink{font-size:var(--t-sm);background:none;border:none;padding:0;cursor:pointer}.account-identity-unlink:disabled{color:var(--text-muted);cursor:not-allowed;text-decoration:none}