:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3eee8;--bg-glow:#f3eee8;--surface:#fff;--surface-2:#f6f2ed;--border:#e9e2da;--text:#171513;--text-2:#7b736b;--accent:#171513;--accent-strong:#000;--accent-soft:#efe9e2;--on-accent:#fff;--good:#34c759;--good-soft:#e4f6e8;--ink:#171513;--on-ink:#fff;--danger:#d1453b;--warn:#c2700a;--warn-soft:#fbefd9;--ring-start:#4cd97b;--ring-end:#2bb35a;--ring-track:#efe9e2;--banner-start:#171513;--banner-end:#2b2724;--on-banner:#fff;--protein:#e8609c;--carbs:#5568f0;--fat:#a56cf0;--water-start:#7aa7f7;--water-end:#4f7ff0;--neutral-fill:#a39a90;--chart-bar:#171513;--grid:#ece5dd;--tile-breakfast:#f6f2ed;--tile-lunch:#f6f2ed;--tile-dinner:#f6f2ed;--tile-snack:#f6f2ed;--tile-water:#f6f2ed;--tile-weight:#f6f2ed;--shadow:0 1px 2px #281e1408, 0 6px 20px #281e140a;--shadow-float:0 10px 30px #281e141f;--radius:22px;--mono:ui-monospace, "SF Mono", "JetBrains Mono", "Roboto Mono", Menlo, Consolas, monospace;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Segoe UI,Roboto,system-ui,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#121110;--bg-glow:#121110;--surface:#1c1a18;--surface-2:#262320;--border:#322e2a;--text:#f3eee8;--text-2:#a49b91;--accent:#f3eee8;--accent-strong:#fff;--accent-soft:#2b2723;--on-accent:#121110;--good:#3ddc6b;--good-soft:#17301f;--ink:#f3eee8;--on-ink:#121110;--danger:#f0675c;--warn:#f2b84b;--warn-soft:#3a2a10;--ring-track:#2b2723;--banner-start:#f3eee8;--banner-end:#e4ddd5;--on-banner:#121110;--protein:#f07aae;--carbs:#7a89f5;--fat:#bb8cf5;--neutral-fill:#8a8178;--chart-bar:#f3eee8;--grid:#2c2925;--tile-breakfast:#262320;--tile-lunch:#262320;--tile-dinner:#262320;--tile-snack:#262320;--tile-water:#262320;--tile-weight:#262320;--shadow:none;--shadow-float:0 10px 30px #00000080}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0}body{background:radial-gradient(120% 340px at 50% -60px, var(--bg-glow), transparent 70%) no-repeat, var(--bg);min-height:100dvh}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}.icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.app{max-width:560px;min-height:100dvh;margin:0 auto}.content{padding:0 16px calc(120px + env(safe-area-inset-bottom))}.page{padding-top:calc(20px + env(safe-area-inset-top));flex-direction:column;gap:14px;display:flex}.tabbar{left:50%;bottom:calc(12px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border);width:min(528px,100% - 24px);box-shadow:var(--shadow-float);z-index:10;border-radius:28px;grid-template-columns:repeat(5,1fr);align-items:center;padding:8px 6px;display:grid;position:fixed;transform:translate(-50%)}.tab{white-space:nowrap;min-width:0;color:var(--text-2);background:0 0;border:0;border-radius:14px;flex-direction:column;align-items:center;gap:3px;padding:6px 0;font-size:12px;font-weight:500;display:flex;position:relative}.tab svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.tab.active{color:var(--accent);font-weight:700}.tab-scan{background:linear-gradient(140deg, var(--banner-start), var(--banner-end));width:64px;height:64px;color:var(--on-banner);border:0;border-radius:22px;justify-self:center;place-items:center;margin-top:-34px;display:grid;box-shadow:0 10px 24px #17151340}.tab-scan .icon{stroke-width:2.2px;width:30px;height:30px}.tab-scan:active{transform:scale(.95)}h1{letter-spacing:-.02em;margin:0;font-size:28px;font-weight:650;line-height:1.15}.title{margin:0;font-size:17px;font-weight:700}.page-head p{margin:4px 0 0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:12px;padding:18px;display:flex}.muted{color:var(--text-2)}.card>p{margin:0}.small{font-size:13px}.center{text-align:center}.label{color:var(--text-2);text-transform:uppercase;letter-spacing:.06em;margin:4px 0 0;font-size:12px;font-weight:700}.row{align-items:center;display:flex}.between{justify-content:space-between;gap:12px}.gap{gap:8px}.wrap{flex-wrap:wrap}.grow{flex:1}.spacer{width:96px}.stack{flex-direction:column;gap:6px;display:flex}.error{color:var(--danger);margin:0}.text-warn{color:var(--warn)}.btn{white-space:nowrap;border:1px solid var(--border);background:var(--surface-2);border-radius:14px;padding:12px 16px;font-weight:650}.btn.danger{color:var(--danger)}.link{color:var(--accent);text-align:left;background:0 0;border:0;padding:6px 0;font-weight:650}.icon-btn{background:var(--surface-2);border:0;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:18px;line-height:1;display:grid}.badge{border-radius:6px;margin-left:6px;padding:1px 6px;font-size:11px;display:inline-block}.badge.warn{background:var(--warn-soft);color:var(--warn)}input,select{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;width:100%;min-width:0;padding:11px 12px}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}.segmented{background:var(--surface-2);border-radius:14px;gap:2px;padding:4px;display:flex}.segmented button{color:var(--text-2);background:0 0;border:0;border-radius:10px;flex:1;padding:8px 4px;font-size:14px}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-weight:650}.field-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field-grid label{color:var(--text-2);flex-direction:column;gap:4px;font-size:13px;display:flex}.field-grid .span-2{grid-column:span 2}.hello{justify-content:space-between;align-items:center;gap:12px;padding-top:8px;display:flex}.hello-text{min-width:0}.hello h1{font-size:clamp(21px,6.2vw,28px)}.hello-date{color:var(--text-2);cursor:pointer;margin-bottom:4px;font-size:15px;display:inline-block;position:relative}.hello-date input{opacity:0;cursor:pointer;border:0;padding:0;position:absolute;inset:0}.avatar{color:#fff;background:linear-gradient(140deg,#22c55e,#15803d);border:0;border-radius:50%;flex-shrink:0;place-items:center;width:52px;height:52px;font-size:20px;font-weight:650;display:grid;box-shadow:0 6px 16px #16a34a4d}.avatar.large{width:88px;height:88px;font-size:36px}.week{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.week-day{color:var(--text);background:0 0;border:0;border-radius:18px;flex-direction:column;align-items:center;gap:4px;padding:10px 0 8px;display:flex}.week-day:disabled{opacity:1;color:var(--text)}.week-dow{color:var(--text-2);font-size:13px}.week-num{font-size:19px;font-weight:750}.week-dot{border-radius:50%;width:6px;height:6px}.week-dot.on{background:var(--accent)}.week-day.selected{background:var(--ink);color:var(--on-ink)}.week-day.selected .week-dow{color:color-mix(in srgb, var(--on-ink) 70%, transparent)}.save-warning{background:var(--warn-soft);color:var(--warn);border-radius:16px;margin:0;padding:12px 14px;font-size:14px}.backup-banner{border:1px solid var(--border);background:var(--surface);text-align:left;color:var(--text-2);border-radius:16px;align-items:center;gap:10px;padding:12px 14px;font-size:14px;display:flex}.backup-banner strong{color:var(--text)}.summary{flex-direction:row;justify-content:space-between;align-items:center;gap:8px;padding:20px}.ring{flex-shrink:0;width:176px;height:176px;position:relative}.ring-track{fill:none;stroke:var(--ring-track)}.ring-value{fill:none;stroke:url(#ring-grad);transition:stroke-dashoffset .5s}.ring-value.over{stroke:var(--warn)}.ring-label{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring-label strong{letter-spacing:-.03em;font-size:40px;font-weight:650;line-height:1.05}.ring-label span{color:var(--text-2);font-size:14px}.summary-stats{flex-direction:column;gap:14px;min-width:0;display:flex}.kpi{text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:flex}.kpi-icon{background:var(--surface-2);border-radius:14px;flex-shrink:0;place-items:center;width:46px;height:46px;font-size:20px;display:grid}.kpi-text{flex-direction:column;min-width:0;display:flex}.kpi-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);font-size:11px;font-weight:700}.kpi-text strong{letter-spacing:-.01em;font-size:22px;font-weight:650}.macro-row{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.macro-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:22px;flex-direction:column;gap:8px;min-width:0;padding:14px;display:flex}.macro-label{color:var(--text-2);font-size:14px;font-weight:600}.macro-value strong{font-size:24px;font-weight:650}.macro-value small{color:var(--text-2);margin-left:2px;font-size:14px}.nbar{flex-direction:column;gap:4px;display:flex}.nbar-head{justify-content:space-between;font-size:14px;display:flex}.nbar-track{background:var(--surface-2);border-radius:3px;height:6px;overflow:hidden}.nbar-fill{border-radius:3px;height:100%;transition:width .4s}.scan-banner{border-radius:var(--radius);text-align:left;color:var(--on-banner);background:linear-gradient(100deg, var(--banner-start), var(--banner-end));box-shadow:none;border:0;align-items:center;gap:14px;padding:16px;display:flex}.scan-banner:active{transform:scale(.99)}.scan-banner-icon{background:#ffffff40;border-radius:18px;flex-shrink:0;place-items:center;width:56px;height:56px;display:grid}.scan-banner-text{flex-direction:column;flex:1;gap:2px;display:flex}.scan-banner-text strong{font-size:18px;font-weight:650}.scan-banner-text span{opacity:.85;font-size:14px}.scan-banner-go{color:#fff;background:#0f1a12;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:20px;font-weight:700;display:grid}.section-head{justify-content:space-between;align-items:center;margin-top:6px;display:flex}.section-head h2{letter-spacing:-.01em;margin:0;font-size:20px;font-weight:650}.meal{gap:0;padding:16px 18px}.meal-head{align-items:center;gap:14px;display:flex}.tile{border-radius:16px;flex-shrink:0;place-items:center;width:52px;height:52px;font-size:26px;display:grid}.tile-breakfast{background:var(--tile-breakfast)}.tile-lunch{background:var(--tile-lunch)}.tile-dinner{background:var(--tile-dinner)}.tile-snack{background:var(--tile-snack)}.tile-water{background:var(--tile-water)}.meal-title{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.meal-title h3{margin:0;font-size:18px;font-weight:750}.meal-title .muted{font-size:14px}.plus-btn{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border:0;border-radius:14px;flex-shrink:0;font-size:26px;font-weight:500;line-height:1}.entry{border:0;border-top:1px solid var(--border);text-align:left;background:0 0;align-items:center;gap:12px;width:100%;padding:12px 0;display:flex}.meal-head+.entry{margin-top:12px}.entry:last-child{padding-bottom:2px}.thumb{object-fit:cover;border-radius:12px;flex-shrink:0;width:40px;height:40px}.entry-main{flex-direction:column;flex:1;min-width:0;display:flex}.entry-name{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:650;overflow:hidden}.entry-kcal{font-variant-numeric:tabular-nums;font-size:17px;font-weight:750}.water{grid-template-columns:repeat(8,1fr);gap:8px;margin-top:14px;display:grid}.glass{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;height:44px;padding:0}.glass.full{background:linear-gradient(180deg, var(--water-start), var(--water-end));border-color:#0000}.more{gap:10px}.more summary{cursor:pointer;color:var(--text-2);font-weight:600}.more[open] summary{margin-bottom:4px}.password-field{position:relative}.password-field input{padding-right:64px}.password-toggle{color:var(--accent);background:0 0;border:0;padding:8px;font-size:14px;font-weight:650;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.account-who{flex-direction:column;gap:2px;min-width:0;display:flex}.sync-dot{background:var(--text-2);border-radius:50%;flex-shrink:0;width:10px;height:10px}.sync-dot.ok{background:var(--accent)}.sync-dot.wait{background:var(--fat)}.sync-dot.bad{background:var(--danger)}.profile-hero{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:12px 0 4px;display:flex}.profile-hero p{margin:0}.reminder-list{flex-direction:column;gap:8px;display:flex}.reminder-row{align-items:center;gap:12px;display:flex}.reminder-row input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent);flex-shrink:0}.reminder-name{flex:1;font-weight:600}.reminder-row input[type=time]{width:148px}.reminder-row input[type=time]:disabled{opacity:.4}.sheet-backdrop{z-index:20;background:#0006;justify-content:center;align-items:flex-end;animation:.15s fade;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-width:560px;max-height:88dvh;padding:18px 18px calc(18px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;flex-direction:column;gap:12px;animation:.2s slide;display:flex;overflow-y:auto}.sheet-head{background:var(--surface);z-index:1;padding:4px 0;position:sticky;top:-18px}.sheet-photo{object-fit:cover;border-radius:16px;width:100%;max-height:160px}.search{font-size:16px}.consent-list{flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.food-list .entry:first-child{border-top:0}@keyframes fade{0%{opacity:0}}@keyframes slide{0%{transform:translateY(40px)}}.list{gap:0}.item-editor{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:12px 0;display:flex}.item-row{align-items:flex-start;gap:12px;display:flex}.item-main{flex:1;min-width:0}.item-name{background:0 0;border:0;padding:0;font-size:16px;font-weight:650}.item-name:focus{border-bottom:2px solid var(--accent);border-radius:0;outline:none}.item-kcal,.big-kcal{flex-direction:column;align-items:flex-end;display:flex}.item-kcal strong{font-size:18px}.big-kcal strong{font-size:32px;font-weight:650;line-height:1}.item-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stepper{background:var(--surface-2);border-radius:12px;align-items:center;display:flex}.stepper button{background:0 0;border:0;width:34px;height:34px;font-size:18px}.stepper span{text-align:center;font-variant-numeric:tabular-nums;min-width:42px;font-weight:650}.macro-chips{color:var(--text-2);flex:1;gap:8px;display:flex}.chip:before{content:"";border-radius:2px;width:8px;height:8px;margin-right:4px;display:inline-block}.chip.protein:before{background:var(--protein)}.chip.carbs:before{background:var(--carbs)}.chip.fat:before{background:var(--fat)}.note{margin:0}.capture{gap:14px}.viewfinder{aspect-ratio:3/4;background:#000;border-radius:28px;place-items:center;width:100%;max-height:60dvh;display:grid;position:relative;overflow:hidden}.viewfinder video{object-fit:cover;width:100%;height:100%}.viewfinder-empty{color:#fff;text-align:center;padding:24px}.viewfinder-empty .muted{color:#c7c7c7}.frame{pointer-events:none;border:2px dashed #ffffffb3;border-radius:28px;position:absolute;inset:12%}.close-btn{color:#fff;background:#00000080;border:0;border-radius:50%;width:38px;height:38px;position:absolute;top:14px;left:14px}.capture-actions{justify-content:space-between;align-items:center;display:flex}.capture-actions .btn{white-space:nowrap;min-width:96px}.shutter{border:5px solid var(--accent);background:var(--surface);width:74px;height:74px;box-shadow:inset 0 0 0 4px var(--surface), inset 0 0 0 40px var(--accent-soft);border-radius:50%}.shutter:active{transform:scale(.94)}.photo-wrap{border-radius:28px;position:relative;overflow:hidden}.photo{object-fit:cover;width:100%;max-height:42dvh;display:block}.photo-overlay{color:#fff;background:#00000073;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-weight:650;display:flex;position:absolute;inset:0}.spinner{border:4px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sticky-actions{bottom:calc(96px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) 70%, transparent);gap:8px;padding:8px 0;display:flex;position:sticky}.stat-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stat{gap:2px}.stat strong{font-size:28px;font-weight:650}.chart-wrap{position:relative}.chart{touch-action:manipulation;width:100%;height:auto;display:block}.chart .grid{stroke:var(--grid);stroke-width:1px}.chart .axis{fill:var(--text-2);font-size:10px}.chart .bar{fill:var(--chart-bar)}.chart .bar.hover{fill:color-mix(in srgb, var(--chart-bar) 75%, var(--text))}.chart .goal-line{stroke:var(--text-2);stroke-width:1.5px;stroke-dasharray:4 3}.tooltip{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-float);border-radius:14px;flex-direction:column;padding:8px 12px;font-size:14px;display:flex;position:absolute;top:0;right:0}.split{border-radius:4px;gap:2px;height:14px;display:flex;overflow:hidden}.legend{flex-direction:column;gap:4px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.legend i{border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.table th,.table td{text-align:right;border-bottom:1px solid var(--border);padding:8px 4px}.table th:first-child,.table td:first-child{text-align:left}.table th{color:var(--text-2);font-weight:650}.table tbody tr{cursor:pointer}.disclaimer{padding:0 12px}@media (width<=370px){.ring,.ring svg{width:148px;height:148px}.ring-label strong{font-size:32px}.kpi-icon{width:40px;height:40px}}:lang(ko){word-break:keep-all}.barcode{flex-direction:column;gap:12px;display:flex}.barcode-view{aspect-ratio:4/3;background:#111;border-radius:20px;place-items:center;display:grid;position:relative;overflow:hidden}.barcode-view video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.barcode-frame{border:3px solid #ffffffe6;border-radius:14px;position:absolute;inset:32% 12%;box-shadow:0 0 0 999px #00000059}.barcode-frame:after{content:"";background:var(--accent,#22c55e);height:2px;animation:1.6s ease-in-out infinite alternate barcode-sweep;position:absolute;top:50%;left:6%;right:6%}@keyframes barcode-sweep{0%{transform:translateY(-28px)}to{transform:translateY(28px)}}@media (prefers-reduced-motion:reduce){.barcode-frame:after{animation:none}}.barcode form input{min-width:0}.barcode-problem p{margin-top:0}.barcode-note{margin:0 0 8px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tiny{font-size:12px}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.back-link{margin-bottom:4px;display:block}.center-page{place-items:center;min-height:60dvh;display:grid}.spinner.dark{border-color:var(--surface-2);border-top-color:var(--accent)}.center-spinner{border-width:3px;width:28px;height:28px;margin:16px auto}.center-row{justify-content:center}.community-intro{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.community-emoji{margin:0;font-size:44px}.tab-badge,.badge-count{background:var(--danger);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:1;display:inline-grid}.badge-count{margin-left:6px}.tab-badge{position:absolute;top:0;left:calc(50% + 6px)}.input-prefix{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;align-items:center;gap:6px;padding-left:12px;display:flex}.input-prefix span{color:var(--text-2);font-weight:650}.input-prefix input{background:0 0;border:0;padding-left:0}.rules{background:var(--surface-2);border-radius:14px;padding:12px 14px}.rules p{margin:0 0 6px}.rules ul{gap:4px;margin:0;padding-left:18px;display:grid}.check{align-items:flex-start;gap:10px;display:flex}.check input{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0;margin:1px 0 0}.c-avatar{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.c-avatar.md{width:40px;height:40px;font-size:17px}.c-avatar.sm{width:30px;height:30px;font-size:13px}.person-row{align-items:center;gap:12px;min-width:0;padding:8px 0;display:flex}.person-name{flex-direction:column;flex:1;min-width:0;display:flex}.person-name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.person-actions{align-items:center;gap:6px;display:flex}.small-btn{border-radius:12px;padding:8px 12px;font-size:14px}.feed-head{justify-content:space-between;align-items:center}.chips{gap:8px;display:flex;overflow-x:auto}.chip-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-2);white-space:nowrap;border-radius:999px;padding:7px 14px;font-weight:600}.chip-btn.active{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.composer-open{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;flex-direction:row;align-items:center;gap:12px;display:flex}.composer-open .muted{flex:1}.composer-photo{font-size:20px}.post{flex-direction:column;gap:10px;padding:14px 16px;display:flex}.post-head{align-items:center;gap:10px;display:flex}.post-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.45}.post-image{aspect-ratio:4/3;object-fit:cover;background:var(--surface-2);width:calc(100% + 32px);margin:0 -16px;display:block}.day-summary{background:var(--accent-soft);border-radius:14px;flex-direction:column;gap:2px;padding:10px 12px;font-weight:650;display:flex}.post-actions{border-top:1px solid var(--border);gap:4px;padding-top:8px;display:flex}.post-action{color:var(--text-2);text-align:left;background:0 0;border:0;border-radius:10px;min-width:56px;padding:6px 10px;font-weight:650}.post-action:disabled{opacity:1}.post-action.liked{color:var(--danger)}.comments{flex-direction:column;gap:10px;margin:12px 0;display:flex}.comment{align-items:flex-start;gap:8px;display:flex}.comment-bubble{background:var(--surface-2);border-radius:16px;min-width:0;padding:8px 12px}.comment-bubble p{white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0}.comment-bubble .link{margin-left:10px;padding:0}.comment-form,.chat-form{background:var(--surface);padding-top:8px;position:sticky;bottom:0}.comment-form input,.chat-form input{min-width:0}.composer-text{resize:vertical;border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);font:inherit;border-radius:14px;padding:12px}.composer-preview{position:relative}.composer-preview img{object-fit:cover;border-radius:14px;width:100%;max-height:260px;display:block}.composer-preview .icon-btn{position:absolute;top:8px;right:8px}.conversation{color:inherit;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;min-width:0;padding:10px 0;display:flex}.conversation-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.chat{min-height:calc(100dvh - 140px)}.chat-head{z-index:2;background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding-bottom:6px;display:flex;position:sticky;top:0}.chat-head .person-row{flex:1}.chat-log{flex-direction:column;flex:1;gap:6px;display:flex}.chat-day{text-align:center;margin:10px 0 4px}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:18px;flex-direction:column;gap:2px;max-width:78%;margin-bottom:2px;padding:8px 12px;display:flex}.bubble.mine{background:var(--accent);color:var(--on-accent);border-bottom-right-radius:6px;margin-left:auto}.bubble.theirs{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:6px}.bubble-time{opacity:.7;align-self:flex-end;font-size:11px}.chat-form{background:var(--bg);bottom:calc(96px + env(safe-area-inset-bottom));padding-bottom:8px}.goals-link{justify-content:space-between;align-items:center;display:flex}.gap-sm{align-items:center;gap:8px}.notify-prompt{gap:10px}.notify-prompt p{margin:0}.notify-prompt .row{justify-content:flex-end}img.c-avatar{object-fit:cover;background:var(--surface-2)}.c-avatar.lg{width:84px;height:84px;font-size:34px}.edit-avatar{align-items:center;gap:16px;display:flex}.edit-avatar .stack{flex:1}img.avatar{object-fit:cover}.avatar{overflow:hidden}.avatar-photo{object-fit:cover;width:100%;height:100%;display:block}.cropper-wrap{align-items:center}.cropper{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;background:#111;border-radius:20px;place-items:center;display:grid;position:relative;overflow:hidden}.cropper:active{cursor:grabbing}.cropper:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.cropper img{transform-origin:0 0;pointer-events:none;max-width:none;position:absolute;top:0;left:0}.cropper-mask{pointer-events:none;border:2px solid #ffffffe6;border-radius:50%;position:absolute;inset:0;box-shadow:0 0 0 999px #00000080}.cropper-zoom{width:100%;max-width:320px;color:var(--text-2);align-items:center;gap:12px;font-size:20px;display:flex}.cropper-zoom input{accent-color:var(--accent);background:0 0;border:0;flex:1;padding:0}.cropper-wrap>.row{width:100%}.tile-weight{background:var(--tile-weight)}.weight-input{justify-content:center;align-items:center;gap:16px;display:flex}.icon-btn.big{width:48px;height:48px;font-size:24px}.weight-value{align-items:baseline;gap:6px;display:flex}.weight-value input{text-align:center;font-variant-numeric:tabular-nums;width:130px;padding:8px;font-size:34px;font-weight:650}.weight-value span{color:var(--text-2);font-size:18px;font-weight:650}.center-items{align-items:center}.weight-card{gap:14px}.weight-stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.weight-stats div{flex-direction:column;gap:2px;min-width:0;display:flex}.weight-stats strong{font-variant-numeric:tabular-nums;font-size:20px;font-weight:650}.weight-stats small{color:var(--text-2);font-size:12px;font-weight:600}.chart .weight-line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart .weight-dot{fill:var(--accent);stroke:var(--surface);stroke-width:2px}.chart .weight-dot.hover{fill:var(--accent-strong)}.chart .crosshair{stroke:var(--text-2);stroke-width:1px}.weight-chart{cursor:crosshair;touch-action:pan-y}.weight-goal p{margin:0}.weight-goal{flex-direction:column;gap:2px;display:flex}.weight-history summary{cursor:pointer;color:var(--accent);font-weight:650}.weight-history .table td:last-child{text-align:right}.weight-history tr{cursor:pointer}.score-ring .score-track{fill:none;stroke:var(--ring-track);stroke-width:6px}.score-ring .score-fill{fill:none;stroke-width:6px;stroke-linecap:round}.score-ring .score-text{fill:var(--text);font-weight:650}.tier-great .score-fill,.tier-good .score-fill{stroke:var(--accent)}.health-card p{margin:2px 0 0}.health-card .label{margin:0}.health-chip{vertical-align:1px;background:var(--surface-2);color:var(--text);white-space:nowrap;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:12px;font-weight:700;display:inline-block}.health-chip.tier-great,.health-chip.tier-good{background:var(--accent-soft)}.day-score{align-items:center;gap:10px;margin:-4px 0 0;display:flex}.report-card{gap:12px}.report-head{align-items:center;gap:14px;display:flex}.report-head>div{flex-direction:column;gap:2px;display:flex}.report-headline{font-size:18px;line-height:1.25}.report-summary{margin:0;line-height:1.5}.report-list .label,.report-idea .label{margin:0 0 4px}.report-list ul{gap:4px;margin:0;padding-left:20px;line-height:1.45;display:grid}.report-idea{background:var(--accent-soft);border-radius:14px;padding:10px 12px}.report-idea p{margin:0}.small-spinner{border-width:3px;width:20px;height:20px}.splash{place-content:center;justify-items:center;gap:20px;min-height:100dvh;display:grid}.auth-screen{min-height:100dvh;padding:calc(32px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));justify-content:center;display:flex}.auth-inner{flex-direction:column;gap:18px;width:100%;max-width:420px;display:flex}.auth-brand{text-align:center;flex-direction:column;align-items:center;gap:6px;margin-bottom:8px;display:flex}.auth-brand h1{font-size:32px}.auth-brand p{margin:0}.auth-logo{width:72px;height:72px;box-shadow:var(--shadow-float);border-radius:20px}.social-buttons{gap:10px}.social-btn{background:var(--surface);width:100%;color:var(--text);border:1px solid var(--border);justify-content:center;align-items:center;gap:10px;padding:14px 16px;font-size:16px;display:flex}.social-btn svg{flex-shrink:0;width:20px;height:20px}.social-apple{color:#fff;background:#000;border-color:#000}:root[data-theme=dark] .social-apple{color:#000;background:#fff;border-color:#fff}.social-facebook{color:#fff;background:#1877f2;border-color:#1877f2}.auth-divider{color:var(--text-2);align-items:center;gap:12px;font-size:13px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-form{gap:12px}.auth-form .link.center{align-self:center}.auth-footer{flex-direction:column;align-items:center;gap:10px;margin-top:auto;padding-top:12px;display:flex}.auth-language{width:auto;color:var(--text-2);background:0 0;border:0;padding:6px;font-size:14px}.onboarding{max-width:520px;min-height:100dvh;padding:calc(14px + env(safe-area-inset-top)) 20px calc(20px + env(safe-area-inset-bottom));flex-direction:column;gap:18px;margin:0 auto;display:flex}.onb-top{align-items:center;gap:12px;display:flex}.icon-btn-spacer{flex-shrink:0;width:36px}.onb-progress{background:var(--surface-2);border-radius:3px;flex:1;height:6px;overflow:hidden}.onb-progress div{background:var(--accent);border-radius:3px;height:100%;transition:width .25s}.onb-body{flex:1}.onb-question h1{font-size:26px}.onb-question>p{margin:8px 0 0}.onb-fields{gap:14px;margin-top:22px}.onb-big-input{padding:16px;font-size:22px}.onb-choices{flex-direction:column;gap:10px;display:flex}.onb-choice{text-align:left;border:2px solid var(--border);background:var(--surface);color:var(--text);font:inherit;border-radius:18px;align-items:center;gap:14px;padding:14px 16px;display:flex}.onb-choice>span:last-child{flex-direction:column;gap:2px;display:flex}.onb-choice.active{border-color:var(--accent);background:var(--accent-soft)}.onb-choice-icon{text-align:center;width:36px;font-size:26px}.onb-number{align-items:baseline;gap:10px;display:flex}.onb-number input{font-variant-numeric:tabular-nums;padding:12px 16px;font-size:30px;font-weight:650}.onb-number span{color:var(--text-2);min-width:36px;font-size:18px;font-weight:650}.onb-result{background:var(--accent-soft);border-radius:24px;flex-direction:column;align-items:center;padding:22px;display:flex}.onb-kcal{font-size:52px;font-weight:650;line-height:1.1}.onb-macros{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.onb-macros>span{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;align-items:center;padding:12px 6px;display:flex}.onb-macros strong{font-size:20px}.onb-next{width:100%;padding:16px;font-size:17px}.hello-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.streak-chip{color:#9a3412;font-variant-numeric:tabular-nums;background:#fff1e0;border:0;border-radius:999px;padding:8px 12px;font-size:16px;font-weight:650}:root[data-theme=dark] .streak-chip{color:#fdba74;background:#3b2412}.streak-chip.at-risk{box-shadow:inset 0 0 0 2px #fb923c}.streak-chip.cold{background:var(--surface-2);color:var(--text-2)}.streak-hero{background:#fff7ed;border-radius:20px;align-items:center;gap:14px;padding:14px 16px;display:flex}:root[data-theme=dark] .streak-hero{background:#2a1a0e}.streak-hero>div{flex-direction:column;gap:2px;display:flex}.streak-hero strong{font-size:22px}.streak-flame{font-size:40px}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:10px;display:grid}.badge-tile{text-align:center;border:1px solid var(--border);background:var(--surface);border-radius:18px;flex-direction:column;align-items:center;gap:3px;padding:12px 8px;display:flex}.badge-icon{font-size:32px;line-height:1.1}.badge-tile.locked .badge-icon{filter:grayscale();opacity:.45}.badge-progress{background:var(--surface-2);border-radius:3px;width:100%;height:5px;margin-top:4px;overflow:hidden}.badge-progress div{background:var(--accent);border-radius:3px;height:100%}.badge-done{color:var(--accent-strong);margin-top:2px;font-weight:700}.celebrate{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.celebrate p{margin:2px 0 0}.celebrate-icons{gap:8px;font-size:64px;animation:.45s ease-out pop;display:flex}@keyframes pop{0%{opacity:0;transform:scale(.4)}70%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.celebrate-icons{animation:none}}.celebrate .btn{width:100%}.coach-banner{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;flex-direction:row;align-items:center;gap:12px;padding:14px 16px;display:flex}.coach-banner-text{flex-direction:column;flex:1;gap:2px;display:flex}.coach-avatar{background:var(--accent-soft);border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:24px;display:grid}.coach{min-height:calc(100dvh - 120px)}.coach-head{z-index:2;background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:4px 0 8px;display:flex;position:sticky;top:0}.coach-title{flex-direction:column;flex:1;display:flex}.coach-log{flex-direction:column;flex:1;gap:10px;display:flex}.coach-bubble{overflow-wrap:anywhere;border-radius:20px;max-width:86%;padding:10px 14px;line-height:1.5}.coach-bubble p{white-space:pre-wrap;margin:0}.coach-bubble p+p,.coach-bubble p+ul,.coach-bubble p+ol,.coach-bubble ul+p,.coach-bubble ol+p{margin-top:8px}.coach-bubble ul,.coach-bubble ol{gap:4px;margin:0;padding-left:20px;display:grid}.coach-bubble.mine{background:var(--accent);color:var(--on-accent);border-bottom-right-radius:6px;margin-left:auto}.coach-bubble.theirs{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:6px}.coach-bubble.failed{opacity:.6}.coach-suggestions{flex-wrap:wrap;gap:8px;display:flex}.coach-suggestions .chip-btn{white-space:normal;text-align:left;font-weight:600}.coach-error{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.coach-error p{margin:0}.coach-form{bottom:calc(96px + env(safe-area-inset-bottom));background:var(--bg);align-items:flex-end;gap:8px;padding:8px 0;display:flex;position:sticky}.coach-form textarea{resize:none;field-sizing:content;border:1px solid var(--border);background:var(--surface-2);min-width:0;max-height:140px;color:var(--text);font:inherit;border-radius:20px;flex:1;padding:11px 14px}.coach-send{border-radius:20px}.coach-note{margin:-6px 0 0}.typing-dots{gap:4px;padding:4px 0;display:inline-flex}.typing-dots i{background:var(--text-2);border-radius:50%;width:7px;height:7px;animation:1s ease-in-out infinite typing}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}@keyframes typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.typing-dots i{animation:none}}.plan{gap:12px}.plan-summary h2{margin:0}.plan-summary .link{align-self:flex-start}.plan-days{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.plan-days .chip-btn{flex-shrink:0}.plan-total{flex-direction:column;gap:4px;display:flex}.plan-total strong{font-size:1.6rem}.plan-total .btn{align-self:flex-start;margin-top:6px}.plan-meal{flex-direction:column;gap:6px;display:flex}.plan-meal h3{margin:0;font-size:1.05rem}.plan-meal p{margin:0}.plan-meal .btn{align-self:flex-start}.plan-kcal{white-space:nowrap}.plan-tips{gap:6px;margin:0;padding-left:18px;display:grid}.plan-shop{flex-direction:column;gap:10px;display:flex}.plan-shop h2{margin:0}.plan-item{align-items:center}.plan-item-name{flex:1}.plan-item.done .plan-item-name{color:var(--muted);text-decoration:line-through}.plan-writing{align-items:center;gap:8px;margin:0;display:flex}.plan textarea{resize:vertical;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;border-radius:14px;padding:11px 14px}.plan textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.describe{z-index:60;background:var(--bg);padding:0 16px calc(24px + env(safe-area-inset-bottom));position:fixed;inset:0;overflow-y:auto}.describe-page{max-width:560px;margin:0 auto}.describe .sticky-actions{bottom:0}.describe textarea{resize:vertical;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;border-radius:14px;padding:11px 14px}.describe textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.describe-mic.listening{color:#fff;background:var(--danger);border-color:#0000;animation:1.2s ease-in-out infinite mic-pulse}@keyframes mic-pulse{50%{opacity:.75}}.describe-open{align-self:center}.add-ways .btn{flex:1}.settings-group{flex-direction:column;gap:6px;display:flex}.settings-heading{letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);margin:4px 4px 0;font-size:.78rem;font-weight:700}.settings-list{gap:0;padding:4px 0}.settings-row{width:100%;min-height:56px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:10px 16px;text-decoration:none;display:flex}.settings-row+.settings-row{border-top:1px solid var(--border)}.settings-row:active{background:var(--surface-2)}.settings-icon{background:var(--surface-2);border-radius:10px;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:18px;display:grid}.settings-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.settings-text .small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-value{text-overflow:ellipsis;white-space:nowrap;text-align:right;flex-shrink:0;max-width:45%;overflow:hidden}.settings-badges{gap:2px;font-size:18px;display:flex}.settings-chev{color:var(--text-2);font-size:20px;line-height:1}.settings-sheet>.card{box-shadow:none;background:0 0;border:0;padding:0}.settings-sheet .account-who>.title{display:none}.choice-list{flex-direction:column;display:flex}.choice{border:0;border-bottom:1px solid var(--border);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;padding:14px 4px;display:flex}.choice:last-child{border-bottom:0}.choice.active{color:var(--accent);font-weight:700}.lb-me .row{align-items:center}.lb-flame{font-size:38px;line-height:1}.lb-me-text{flex-direction:column;display:flex}.lb-me-text strong{font-size:1.3rem}.lb-public>span{flex-direction:column;gap:2px;display:flex}.lb-list{gap:0;margin:0;padding:6px 0;list-style:none}.lb-row{align-items:center;gap:10px;padding:10px 16px;display:flex}.lb-row+.lb-row{border-top:1px solid var(--border)}.lb-rank{text-align:center;width:28px;color:var(--text-2);flex-shrink:0;font-size:1.05rem;font-weight:700}.lb-row .person-name{flex-direction:column;flex:1;min-width:0;display:flex}.lb-row .person-name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lb-you{color:var(--accent);font-weight:400}.lb-days{white-space:nowrap;font-weight:700}.lb-open{align-self:stretch}body{background:var(--bg);-webkit-font-smoothing:antialiased}.ic{vertical-align:-.18em;flex-shrink:0}h1{letter-spacing:-.035em;font-weight:600}.title{letter-spacing:-.01em;font-weight:600}.label,.kpi-label,.settings-heading{letter-spacing:.1em;color:var(--text-2);font-size:11px;font-weight:600}.label{align-items:center;gap:6px;display:flex}.hello-date,.kpi-text strong,.ring-label strong,.macro-value strong,.entry-kcal,.big-kcal strong,.plan-total strong,.plan-kcal,.lb-days,.lb-rank,.streak-chip,.score-dot,.health-chip,.badge-tile .tiny:last-child{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.hello-date{letter-spacing:0;text-transform:none;font-size:13px}.hello h1{font-weight:600}.ring-label strong{font-size:38px;font-weight:500}.kpi-text strong,.macro-value strong{font-weight:500}.card,.macro-card{border-radius:var(--radius);border-color:var(--border)}.btn{background:var(--surface);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-weight:600;display:inline-flex}.btn.primary{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.link{color:var(--text);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--text) 30%, transparent);text-decoration-color:color-mix(in srgb, var(--text) 30%, transparent);align-items:center;gap:6px;display:inline-flex}a{color:var(--text)}.icon-btn{background:var(--surface);border:1px solid var(--border);color:var(--text)}.plus-btn{place-items:center;display:grid}.segmented{background:color-mix(in srgb, var(--text) 6%, transparent)}.segmented button{justify-content:center;align-items:center;gap:6px;display:inline-flex}.segmented button.active,.tab.active{color:var(--text);font-weight:600}.tab-scan,.scan-banner{background:var(--ink);color:var(--on-ink)}.scan-banner-icon{background:color-mix(in srgb, var(--on-ink) 14%, transparent)}.scan-banner-go{background:var(--on-ink);color:var(--ink)}.kpi-icon,.tile,.settings-icon,.coach-avatar,.onb-choice-icon{color:var(--text)}.kpi-icon{background:var(--surface-2);border-radius:12px;width:40px;height:40px}.coach-avatar{background:var(--surface-2)}.week-day.selected .week-dot.on{background:var(--good)}.streak-chip .ic{color:#f26a1b}.streak-chip.cold .ic{color:var(--text-2)}.score-dot{color:#121110;background:var(--good);border-radius:50%;flex-shrink:0;place-items:center;width:56px;height:56px;font-size:24px;font-weight:500;display:grid}.score-dot.tier-good{background:#a6e05b}.score-dot.tier-fair{background:#f4c74c}.score-dot.tier-poor{background:#f39a6b}.health-card{flex-direction:row;align-items:center;gap:16px}.health-chip{color:#121110;background:var(--good);border:0;border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:600;display:inline-grid}.health-chip.tier-good{background:#a6e05b}.health-chip.tier-fair{background:#f4c74c}.health-chip.tier-poor{background:#f39a6b}.badge-icon{background:var(--surface-2);width:46px;height:46px;color:var(--text);filter:none;border-radius:50%;place-items:center;margin:0 auto;display:grid}.badge-tile.earned{background:var(--surface);border-color:var(--border)}.badge-tile.earned .badge-icon{background:var(--ink);color:var(--on-ink)}.badge-tile.locked .badge-icon{color:var(--text-2);opacity:1;filter:none}.badge-done{color:var(--text);align-items:center;gap:4px;display:inline-flex}.celebrate-icons span{background:var(--ink);width:64px;height:64px;color:var(--on-ink);border-radius:50%;place-items:center;display:inline-grid}.post-action{align-items:center;gap:6px;display:inline-flex}.post-action.liked .ic{color:#e8476b;fill:currentColor}.lb-flame,.lb-days .ic{color:#f26a1b}.lb-days.muted .ic{color:var(--text-2)}.lb-rank.top{color:#121110;border-radius:50%;place-items:center;width:26px;height:26px;font-size:13px;display:grid}.lb-rank.top-1{background:#f4c74c}.lb-rank.top-2{background:#d9d4cd}.lb-rank.top-3{background:#e6a877}.lb-row.me{background:var(--surface-2)}.lb-you{color:var(--text-2)}.choice.active{color:var(--text)}.settings-chev{color:var(--text-2)}.describe-hint{align-items:flex-start;gap:8px;display:flex}.describe-mic.listening{background:var(--danger);color:#fff}input,select,textarea{border-radius:14px}input:focus,select:focus,textarea:focus{outline-color:var(--text)}.avatar{background:var(--ink);color:var(--on-ink);box-shadow:none;font-weight:600}.streak-chip,:root[data-theme=dark] .streak-chip{background:var(--surface);border:1px solid var(--border);color:var(--text);align-items:center;gap:4px;font-weight:600;display:inline-flex}.tier-great .score-fill{stroke:var(--good)}.tier-good .score-fill{stroke:#8fd14f}.tier-fair .score-fill{stroke:#e9b53b}.tier-poor .score-fill{stroke:#ef8a55}.score-ring .score-text{font-family:var(--mono);font-weight:500}h1,h2,h3,strong{letter-spacing:-.01em}.streak-hero,:root[data-theme=dark] .streak-hero{background:var(--surface-2)}.streak-hero .ic{color:#f26a1b}.stat strong,.weight-stats strong{font-family:var(--mono);letter-spacing:-.03em;font-weight:500}.premium{flex-direction:column;gap:18px;display:flex}.premium-hero{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.premium-hero h2{letter-spacing:-.02em;margin:4px 0 0;font-size:22px;font-weight:600}.premium-hero p{margin:0}.premium-mark{background:var(--ink);width:56px;height:56px;color:var(--on-ink);border-radius:50%;place-items:center;display:grid}.premium-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.premium-list li{align-items:center;gap:12px;padding:10px 0;display:flex}.premium-list li+li{border-top:1px solid var(--border)}.premium-list li>span:nth-child(2){flex:1}.premium-icon{background:var(--surface-2);border-radius:10px;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.premium-check{color:var(--good)}.premium-price{text-align:center;font-family:var(--mono);margin:0;font-size:20px}.premium-cta .btn{width:100%;text-decoration:none}.premium-lock{text-align:center;align-items:center}.premium-lock p{margin:0}.premium-lock .premium-mark{width:48px;height:48px}.premium-tag{vertical-align:middle;background:var(--ink);color:var(--on-ink);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;margin-left:4px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-block}.free-left{border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:13px;font-family:var(--mono);border-radius:999px;align-self:center;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.free-left.empty{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent)}.sheet-backdrop{z-index:80}.free-left{font-family:inherit}.premium-periods{grid-template-columns:1fr 1fr;gap:10px;display:grid}.premium-period{border:1.5px solid var(--border);background:var(--surface);color:var(--text);text-align:left;border-radius:18px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;display:flex;position:relative}.premium-period span:first-child{color:var(--text-2);font-size:13px}.premium-period strong{font-family:var(--mono);letter-spacing:-.02em;font-size:18px;font-weight:500}.premium-period.active{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.premium-save{background:var(--good);color:#121110;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:600;position:absolute;top:-9px;right:10px}.premium-legal a{color:var(--text-2)}.center-spinner{margin:8px auto}.auth-legal a{color:var(--text-2)}
