@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-vietnamese-700-normal-DYeBwlKR.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-700-normal-DhIzd8Tb.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-ext-700-normal-CwuXbfVR.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-700-normal-BIHFfxf0.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2)format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:italic;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-vietnamese-700-italic-CIM4raJp.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-700-italic-5nF77AAc.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:italic;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-ext-700-italic-CbhzQEkf.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-700-italic-BL4pfkGS.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Barlow Condensed;font-style:italic;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-italic-DjyOzRJ7.woff2)format("woff2"),url(/assets/barlow-condensed-latin-700-italic-B90Hg2GM.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:italic;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-vietnamese-800-italic-DdsBx9lY.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-800-italic-aDhyDJMT.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:italic;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-latin-ext-800-italic-BbzArEj4.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-800-italic-Ca7Cun8E.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Barlow Condensed;font-style:italic;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-latin-800-italic-Cnej2eWp.woff2)format("woff2"),url(/assets/barlow-condensed-latin-800-italic-B5BpsPSY.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:italic;font-display:swap;font-weight:900;src:url(/assets/barlow-condensed-vietnamese-900-italic-Pw11u57-.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-900-italic-BnvR5tNv.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:italic;font-display:swap;font-weight:900;src:url(/assets/barlow-condensed-latin-ext-900-italic-OCLYmYcb.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-900-italic-Cy3mWZLr.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Barlow Condensed;font-style:italic;font-display:swap;font-weight:900;src:url(/assets/barlow-condensed-latin-900-italic-BRE8F-lA.woff2)format("woff2"),url(/assets/barlow-condensed-latin-900-italic-CRRJoTIA.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f3f1f0;--backdrop:#e6e2df;--surface:#fff;--surface-2:#ece9e7;--surface-3:#e1dcd9;--ink:#141416;--text-2:#5f5a58;--text-3:#8c8684;--line:#e2ddda;--red:#da1f26;--red-press:#b9161d;--red-ink:#b3141b;--red-soft:#da1f261a;--ember:#ff6b1f;--ember-ink:#c2410c;--ember-soft:#ff6b1f21;--leaf:#2f8a45;--leaf-soft:#2f8a451f;--chrome:#c9ced6;--dark:#141416;--dark-2:#1f1f24;--dark-3:#2a2a30;--on-dark:#f4f2f1;--on-dark-2:#a9a5a6;--grad-fusion:linear-gradient(135deg, #da1f26 0%, #ff6b1f 100%);--font-display:"Barlow Condensed", "Arial Narrow", "Roboto Condensed", sans-serif;--font-body:"Instrument Sans Variable", "Instrument Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:26px;--shadow-card:0 1px 2px #1414160d, 0 8px 20px -12px #14141633;--shadow-float:0 14px 34px -14px #14141673;--tabbar-h:62px;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--gutter:max(16px, env(safe-area-inset-left,0px));--maxw:520px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;height:100%}body{background:var(--backdrop);min-height:100%;color:var(--ink);font:400 15px/1.45 var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0}#root{min-height:100dvh}button{font:inherit;color:inherit;cursor:pointer;text-align:inherit;background:0 0;border:0;margin:0;padding:0}a{color:inherit;text-decoration:none}input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:2.5px solid var(--red);outline-offset:2px;border-radius:10px}h1,h2,h3,h4,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}.app{max-width:var(--maxw);background:var(--bg);min-height:100dvh;margin:0 auto;position:relative}@media (width>=560px){.app{box-shadow:0 0 0 1px var(--line), 0 30px 80px -40px #14141659}}.display{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.004em;font-style:italic;font-weight:800;line-height:.9}.d-xl{font-size:46px;font-weight:900}.d-l{font-size:34px}.d-m{font-size:26px}.d-s{font-size:20px}.overline{font:700 11px/1.25 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--text-2)}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.small{font-size:13px}.tiny{font-size:12px}.strong{font-weight:600}.num{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:0;font-weight:700}.tnum{font-variant-numeric:tabular-nums}.red{color:var(--red-ink)}.leaf{color:var(--leaf)}.ember{color:var(--ember-ink)}.page{flex-direction:column;min-height:100dvh;display:flex}.page-body{padding:8px var(--gutter) calc(var(--tabbar-h) + var(--safe-b) + 28px);flex-direction:column;flex:1;gap:16px;display:flex}.page.no-tabs .page-body{padding-bottom:calc(var(--safe-b) + 28px)}.page-body.top{padding-top:calc(var(--safe-t) + 14px)}.topbar{z-index:20;min-height:56px;padding:calc(var(--safe-t) + 6px) var(--gutter) 6px;background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);align-items:center;gap:10px;display:flex;position:sticky;top:0}.topbar-title{min-width:0;font:650 17px/1.2 var(--font-body);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.topbar-actions{gap:8px;display:flex}.section{gap:10px;display:grid}.section-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.section-head a,.section-head button{font:600 13px/1 var(--font-body);color:var(--red-ink)}.stack{gap:10px;display:grid}.hstack{align-items:center;gap:10px;display:flex}.spacer{flex:1}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.scroll-x{scrollbar-width:none;margin:0 calc(-1 * var(--gutter));padding:2px var(--gutter);gap:8px;display:flex;overflow-x:auto}.scroll-x::-webkit-scrollbar{display:none}.tabbar{z-index:30;width:100%;max-width:var(--maxw);padding:6px 4px calc(var(--safe-b) + 6px);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);background:#fffffff0;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab{font:600 10.5px/1 var(--font-body);color:var(--text-3);flex-direction:column;align-items:center;gap:4px;padding:5px 0;transition:color .15s;display:flex}.tab svg{width:23px;height:23px}.tab.active{color:var(--red)}.card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:16px;display:block}.card.flat{box-shadow:none;border:1px solid var(--line)}.card.dark{background:var(--dark);color:var(--on-dark)}.card.dark .muted{color:var(--on-dark-2)}.card.tight{padding:12px}.tap{transition:transform .12s}.tap:active{transform:scale(.985)}.btn{background:var(--red);color:#fff;height:48px;font:700 15px/1 var(--font-body);white-space:nowrap;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:0 20px;transition:background .15s,transform .1s,opacity .15s;display:inline-flex}.btn:active{background:var(--red-press);transform:scale(.98)}.btn svg{width:18px;height:18px}.btn.block{width:100%}.btn.sm{border-radius:11px;height:36px;padding:0 14px;font-size:13px}.btn.sm svg{width:15px;height:15px}.btn.lg{border-radius:16px;height:56px;font-size:16px}.btn.secondary{background:var(--surface-2);color:var(--ink)}.btn.secondary:active{background:var(--surface-3)}.btn.dark{background:var(--ink);color:#fff}.btn.dark:active{background:#000}.btn.outline{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line);background:0 0}.btn.outline:active{background:var(--surface-2)}.btn.ghost{color:var(--red-ink);background:0 0;padding:0 8px}.btn.ghost:active{background:var(--red-soft)}.btn:disabled{opacity:.4;pointer-events:none}.icon-btn{background:var(--surface);width:40px;height:40px;color:var(--ink);box-shadow:var(--shadow-card);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.icon-btn.plain{box-shadow:none;background:0 0}.icon-btn svg{width:20px;height:20px}.count{border:2px solid var(--bg);background:var(--red);color:#fff;min-width:19px;height:19px;font:700 10px/15px var(--font-body);text-align:center;border-radius:10px;padding:0 5px;position:absolute;top:-3px;right:-3px}.chip{background:var(--surface-2);height:26px;color:var(--ink);font:600 12px/1 var(--font-body);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:0 10px;display:inline-flex}.chip svg{width:14px;height:14px}.chip.red{background:var(--red-soft);color:var(--red-ink)}.chip.leaf{background:var(--leaf-soft);color:var(--leaf)}.chip.ember{background:var(--ember-soft);color:var(--ember-ink)}.chip.dark{background:var(--ink);color:#fff}.chip.line{box-shadow:inset 0 0 0 1.5px var(--line);background:0 0}button.chip.on{background:var(--ink);color:#fff}.bar{background:var(--surface-2);border-radius:4px;height:8px;overflow:hidden}.bar.thin{height:5px}.bar>i{border-radius:inherit;background:var(--red);height:100%;transition:width .45s cubic-bezier(.2,.8,.2,1);display:block}.bar.leaf>i{background:var(--leaf)}.bar.ember>i{background:var(--grad-fusion)}.bar.dark>i{background:var(--ink)}.bar.chrome>i{background:#9aa1ab}.ring{flex:none;place-items:center;display:inline-grid;position:relative}.ring svg{transform:rotate(-90deg)}.ring-label{text-align:center;align-content:center;place-items:center;line-height:1.05;display:grid;position:absolute;inset:0}.ring .trk{fill:none;stroke:var(--surface-2)}.ring .val{fill:none;stroke-linecap:round;transition:stroke-dasharray .5s cubic-bezier(.2,.8,.2,1)}.seg{background:var(--surface-2);border-radius:14px;gap:4px;padding:4px;display:flex}.seg button{height:34px;color:var(--text-2);font:600 13px/1 var(--font-body);white-space:nowrap;border-radius:10px;flex:1;padding:0 6px}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #14141624}.list{border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-card);overflow:hidden}.row{text-align:left;align-items:center;gap:12px;width:100%;min-height:58px;padding:12px 14px;display:flex}.row+.row{border-top:1px solid var(--line)}button.row:active,a.row:active{background:var(--bg)}.row-ic{background:var(--surface-2);width:38px;height:38px;color:var(--ink);border-radius:12px;flex:none;place-items:center;display:grid}.row-ic svg{width:19px;height:19px}.row-ic.red{background:var(--red-soft);color:var(--red-ink)}.row-ic.leaf{background:var(--leaf-soft);color:var(--leaf)}.row-ic.ember{background:var(--ember-soft);color:var(--ember-ink)}.row-ic.dark{background:var(--ink);color:#fff}.row-main{flex:1;min-width:0}.row-title{font-weight:600;line-height:1.25}.row-sub{color:var(--text-2);margin-top:2px;font-size:13px}.row-right{color:var(--text-3);flex:none;align-items:center;gap:6px;font-size:13px;display:flex}.row-right svg{width:18px;height:18px}.avatar{color:#fff;font:700 14px/1 var(--font-body);background:var(--ink);border-radius:50%;flex:none;place-items:center;display:grid}.field{gap:8px;display:grid}.label{font:600 13px/1.2 var(--font-body);color:var(--text-2);justify-content:space-between;gap:8px;display:flex}.label b{color:var(--ink)}.textarea,.input{border:1.5px solid var(--line);background:var(--surface);border-radius:14px;width:100%;padding:12px 14px}.textarea{resize:vertical;min-height:96px}.textarea:focus,.input:focus{border-color:var(--ink);outline:none}.stepper{background:var(--surface-2);border-radius:16px;justify-content:space-between;align-items:center;gap:8px;padding:6px;display:flex}.stepper button{background:var(--surface);border-radius:12px;place-items:center;width:46px;height:46px;display:grid;box-shadow:0 1px 2px #14141614}.stepper button:active{transform:scale(.96)}.stepper .val{font:700 30px/1 var(--font-display);font-variant-numeric:tabular-nums}.stepper .val small{font:600 13px/1 var(--font-body);color:var(--text-2);margin-left:4px}.scale5{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.scale5 button{background:var(--surface-2);border-radius:12px;height:48px;font-weight:700}.scale5 button.on{background:var(--ink);color:#fff}.scale5-legend{color:var(--text-3);justify-content:space-between;font-size:12px;display:flex}.range{width:100%;accent-color:var(--red)}.sheet-backdrop{z-index:50;background:#14141673;justify-content:center;align-items:flex-end;animation:.2s ff-fade;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:var(--maxw);max-height:90dvh;padding:10px 18px calc(var(--safe-b) + 22px);background:var(--surface);border-radius:26px 26px 0 0;animation:.26s cubic-bezier(.2,.8,.2,1) ff-up;overflow-y:auto}.sheet-handle{background:var(--surface-3);border-radius:3px;width:42px;height:5px;margin:0 auto 14px}.sheet-title{margin-bottom:4px}.sheet .stack{margin-top:14px}.sheet.full{height:calc(100dvh - var(--safe-t) - 10px);background:var(--backdrop);max-height:none}.switch{background:var(--surface-3);border-radius:999px;flex:none;width:46px;height:28px;transition:background .2s;position:relative}.switch i{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .22s cubic-bezier(.2,.8,.2,1);position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #14141647}.switch.on{background:var(--leaf)}.switch.on i{transform:translate(18px)}.switch:focus-visible{outline:2.5px solid var(--red);outline-offset:2px}.toast{z-index:60;left:50%;bottom:calc(var(--tabbar-h) + var(--safe-b) + 16px);background:var(--ink);color:#fff;width:max-content;max-width:min(100% - 32px,480px);box-shadow:var(--shadow-float);border-radius:14px;align-items:center;gap:10px;padding:12px 16px;font-weight:600;animation:.25s ff-up;display:flex;position:fixed;transform:translate(-50%)}.toast svg{color:#5cc46e;width:18px;height:18px}.banner{border-radius:var(--r-md);background:var(--ink);color:#fff;align-items:center;gap:12px;padding:12px 14px;display:flex}.banner .muted{color:var(--on-dark-2)}.empty{text-align:center;color:var(--text-2);padding:28px 16px}@keyframes ff-up{0%{opacity:0;transform:translateY(24px)}}@keyframes ff-fade{0%{opacity:0}}@keyframes ff-pulse{0%,to{box-shadow:0 0 0 5px var(--red-soft)}50%{box-shadow:0 0 0 10px #da1f260d}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.block{display:block}.wrap{flex-wrap:wrap}.center-text{text-align:center}.inline-ic{vertical-align:-2px;width:15px;height:15px}.inline-chev{vertical-align:-3px;width:15px;height:15px;transition:transform .2s}.inline-chev.up,.pl-cues-btn svg.up{transform:rotate(180deg)}.row-title,.row-sub{display:block}.row.selected{background:var(--red-soft)}.chip.mini{vertical-align:1px;height:20px;margin-left:6px;padding:0 7px;font-size:10.5px}.overline.light{color:var(--on-dark-2)}.water{color:#2b7fd8}.tab-head{gap:4px;padding-top:6px;display:grid}.jr-head{justify-content:space-between;align-items:flex-start;gap:12px;padding-top:6px;display:flex}.jr-head h1{margin-top:4px}.streak{border:1.5px solid var(--ember);background:var(--surface);height:40px;box-shadow:var(--shadow-card);font:700 15px/1 var(--font-body);border-radius:999px;align-items:center;gap:4px;padding:0 12px 0 10px;display:inline-flex}.streak svg{width:18px;height:18px;color:var(--ember)}.phase-card{gap:14px;display:grid}.phase-week{margin-top:2px;font-size:15px}.phase-week .num{font-size:22px}.phases{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.phase{gap:6px;display:grid}.phase span{font:600 11.5px/1.2 var(--font-body);color:var(--text-3)}.phase.cur span{color:var(--red-ink)}.phase.done span{color:var(--ink)}.milestone{border-radius:var(--r-md);background:var(--bg);align-items:center;gap:10px;padding:10px 12px;display:flex}.milestone-ic{border:2px solid var(--ink);background:var(--surface);border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}.milestone-ic svg{width:17px;height:17px}.banner.tap{text-align:left;width:100%}.banner svg{flex:none;width:20px;height:20px}.today-hero{isolation:isolate;border-radius:var(--r-xl);color:var(--on-dark);box-shadow:var(--shadow-float);background:radial-gradient(120% 90% at 100% 0,#da1f268c,#0000 60%),radial-gradient(90% 80% at 0 100%,#ff6b1f40,#0000 60%),linear-gradient(160deg,#222228,#0e0e11);gap:8px;padding:20px 18px 16px;display:grid;position:relative;overflow:hidden}.today-hero .overline{color:#ffffffb8}.today-word{z-index:-1;font:italic 900 110px/.8 var(--font-display);text-transform:uppercase;color:#ffffff0f;letter-spacing:-.02em;position:absolute;top:6px;right:-10px}.today-meta{color:#ffffffbf;font-size:13.5px}.today-hero .btn{margin-top:6px}.today-link{font:600 13px/1 var(--font-body);color:#ffffffd9;text-underline-offset:3px;justify-self:center;padding:6px;text-decoration:underline}.done-card{align-items:center;gap:12px;display:flex}.done-ic{background:var(--leaf);color:#fff;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;display:grid}.done-ic svg{width:22px;height:22px}.rest-card{justify-items:start;gap:8px;display:grid}.habit{align-items:center;gap:10px;min-width:0;display:flex}.habit-text{justify-items:start;gap:1px;min-width:0;display:grid}.habit-ic{width:19px;height:19px}.habit-ic.leaf{color:var(--leaf)}.habit-val{white-space:nowrap;font-size:22px;line-height:1.05}.habit-val small{font:600 12px/1 var(--font-body);color:var(--text-2)}.habit-add{background:var(--surface-2);font:700 11.5px/1.2 var(--font-body);color:var(--ink);white-space:nowrap;border-radius:999px;margin-top:3px;padding:3px 8px}.path-week{gap:10px;display:grid}.path-label{padding-left:62px}.path{gap:10px;display:grid;position:relative}.path:before{content:"";z-index:0;background:repeating-linear-gradient(180deg, #ffffffeb 0 1.5px, transparent 1.5px 7px) left top / 6px 100% no-repeat, repeating-linear-gradient(180deg, #fffffff2 0 2px, transparent 2px 35px) left top / 11px 100% no-repeat, var(--red);border-radius:4px;width:18px;position:absolute;top:18px;bottom:18px;left:15px}.node{z-index:1;align-items:center;gap:14px;min-height:48px;display:flex;position:relative}.node-link{flex:1;align-items:center;gap:14px;min-width:0;display:flex}.node-dot{border:2.5px solid var(--line);background:var(--surface);width:48px;height:48px;color:var(--text-3);border-radius:50%;flex:none;place-items:center;display:grid}.node-dot svg{width:20px;height:20px}.node-main{flex:1;gap:1px;min-width:0;display:grid}.node-title{font-weight:600;line-height:1.25;display:block}.node-sub{color:var(--text-2);font-size:13px;display:block}.node-chev{width:18px;height:18px;color:var(--text-3);flex:none}.node.done .node-dot{border-color:var(--ink);background:var(--ink);color:#fff}.node.missed .node-dot{color:var(--text-3);border-style:dashed}.node.missed .node-title{color:var(--text-2);text-decoration:line-through;-webkit-text-decoration-color:var(--text-3);text-decoration-color:var(--text-3)}.node.assessment .node-dot{border-color:var(--ink);color:var(--ink);border-radius:14px}.node.assessment.done .node-dot{color:#fff}.node.today .node-dot{background:var(--red);color:#fff;border-color:#fff;animation:2.4s ease-in-out infinite ff-pulse}.node-card{background:var(--surface);min-width:0;box-shadow:var(--shadow-card);border-radius:18px;flex:1;gap:4px;padding:14px;display:grid}.node-card .node-title{font-size:16.5px}.node-card .btn{margin-top:8px}.phase-next{border:1.5px dashed var(--surface-3);border-radius:var(--r-md);gap:2px;margin-left:62px;padding:12px 14px;display:grid}.challenge{border-radius:var(--r-xl);background:var(--dark);color:var(--on-dark);gap:10px;padding:18px;display:grid;position:relative;overflow:hidden}.challenge .overline{color:var(--on-dark-2)}.challenge .chip.ember{color:#ff9a5c;background:#ff6b1f2e;justify-self:start}.ticks{grid-template-columns:repeat(12,1fr);gap:4px;display:grid}.ticks i{background:#ffffff1f;border-radius:4px;height:18px}.ticks i.on{background:linear-gradient(#ff6b1f,#da1f26)}.ch-n{font-size:22px}.install-card{align-items:center;gap:12px;display:flex}.install-card .spacer{gap:2px;display:grid}.install-card>svg{color:var(--text-3)}.week-strip{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.wd{background:var(--surface);box-shadow:var(--shadow-card);border-radius:14px;justify-items:center;gap:4px;padding:8px 0;display:grid}.wd span{font:600 10.5px/1 var(--font-body);color:var(--text-3);text-transform:capitalize}.wd b{font:700 17px/1 var(--font-display)}.wd i{width:22px;height:22px;font:italic 800 13px/1 var(--font-display);color:var(--text-3);background:var(--surface-2);border-radius:7px;place-items:center;display:grid}.wd.done i{background:var(--ink);color:#fff}.wd.missed i{box-shadow:inset 0 0 0 1.5px var(--text-3);background:0 0}.wd.today{background:var(--red);box-shadow:none}.wd.today span,.wd.today b{color:#fff}.wd.today i{color:#fff;background:#ffffff40}.stat{justify-items:start;gap:2px;display:grid}.stat svg{width:18px;height:18px;color:var(--red-ink);margin-bottom:4px}.stat b{font-size:24px;line-height:1}.stat span{color:var(--text-2);font-size:12px}.session-card{align-items:center;gap:14px;display:flex}.session-card .spacer{min-width:0}.session-letter{background:var(--ink);color:#fff;border-radius:14px;flex:none;place-items:center;width:46px;height:46px;font-size:26px;line-height:1;display:grid}.session-card.is-today{box-shadow:inset 0 0 0 2px var(--red), var(--shadow-card)}.session-card.is-today .session-letter{background:var(--red)}.session-hero{gap:10px;display:grid}.coach-line{align-items:center;gap:8px;display:flex}.sm-av{width:26px;height:26px;font-size:12px}.ex-list{gap:8px;display:grid}.ex-item{text-align:left;align-items:flex-start;gap:12px;width:100%;padding:14px;display:flex}.ex-item>svg{flex:none;width:20px;height:20px;margin-top:2px}.ex-n{background:var(--surface-2);border-radius:9px;flex:none;place-items:center;width:30px;height:30px;font-size:17px;display:grid}.ex-load{margin:4px 0 2px;font-weight:600}.cues{counter-reset:cue;gap:8px;padding-left:0;display:grid}.cues li{counter-increment:cue;grid-template-columns:24px minmax(0,1fr);gap:8px;font-size:14.5px;display:grid}.cues li:before{content:counter(cue);background:var(--ink);color:#fff;width:22px;height:22px;font:700 12px/1 var(--font-body);border-radius:7px;place-items:center;display:grid}.player{min-height:100dvh;color:var(--on-dark);padding-bottom:calc(var(--safe-b) + 120px);background:#0d0d10;flex-direction:column;display:flex}.player.center{text-align:center;place-content:center;gap:16px;padding:24px;display:grid}.pl-top{z-index:10;padding:calc(var(--safe-t) + 10px) var(--gutter) 10px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0d0d10eb;align-items:center;gap:12px;display:flex;position:sticky;top:0}.pl-icon{background:var(--dark-3);color:#fff;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid}.pl-icon:disabled{opacity:.3}.pl-icon svg{width:20px;height:20px}.pl-segs{flex:1;gap:4px;display:flex}.pl-segs button{background:var(--dark-3);border-radius:3px;flex:1;height:6px}.pl-segs button.ok{background:#f4f2f1}.pl-segs button.on{background:var(--red)}.pl-clock{text-align:right;min-width:52px;font-size:18px}.pl-body{padding:6px var(--gutter) 0;gap:14px;display:grid}.pl-nav{justify-content:space-between;align-items:center;display:flex}.pl-nav .overline{color:var(--on-dark-2)}.pl-title{margin-top:2px}.pl-rx{color:var(--on-dark-2);font-size:14px}.pl-media{background:repeating-linear-gradient(135deg,#ffffff09 0 10px,#0000 10px 20px),radial-gradient(90% 90% at 25% 20%,#4a2428,#141417 72%);border-radius:22px;place-items:center;height:172px;display:grid;position:relative;overflow:hidden}.pl-media-word{font:italic 900 46px/.9 var(--font-display);text-transform:uppercase;color:#ffffff14;position:absolute;top:10px;left:14px}.pl-play{background:#ffffff29;border-radius:50%;place-items:center;width:58px;height:58px;display:grid}.pl-play svg{fill:currentColor;width:24px;height:24px;margin-left:3px}.pl-media-tag{background:#00000080;border-radius:7px;padding:5px 8px;font-size:11.5px;position:absolute;bottom:10px;left:12px}.pl-cues-btn{color:#ff8a8e;justify-self:start;align-items:center;gap:6px;font-weight:600;display:inline-flex}.pl-cues-btn svg{width:16px;height:16px;transition:transform .2s}.cues.dark li{color:var(--on-dark)}.cues.dark li:before{background:var(--red)}.pl-note{background:var(--dark-2);border-radius:16px;align-items:flex-start;gap:10px;padding:12px;font-size:14px;display:flex}.sets{gap:8px;display:grid}.sets-head{font:600 11px/1.2 var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-2);grid-template-columns:52px minmax(0,1fr) minmax(0,1fr) 48px;gap:8px;padding:0 4px;display:grid}.set-row{background:var(--dark-2);border-radius:16px;grid-template-columns:52px minmax(0,1fr) minmax(0,1fr) 48px;align-items:center;gap:8px;padding:8px;display:grid}.set-row.next{box-shadow:inset 0 0 0 1.5px var(--red)}.set-row.done{background:#5cc46e1f}.set-n{justify-items:center;gap:2px;display:grid}.set-n b{font-size:20px;line-height:1}.set-n small{color:var(--on-dark-2);font-variant-numeric:tabular-nums;font-size:10.5px}.mini-stepper{background:var(--dark-3);border-radius:12px;justify-content:space-between;align-items:center;gap:2px;min-width:0;padding:3px;display:flex}.mini-stepper button{color:#fff;border-radius:9px;flex:none;place-items:center;width:30px;height:34px;display:grid}.mini-stepper button:active{background:#ffffff1a}.mini-stepper button svg{width:15px;height:15px}.mini-stepper span{white-space:nowrap;align-items:baseline;gap:2px;min-width:0;display:flex}.mini-stepper b{font-size:21px;line-height:1}.mini-stepper small{color:var(--on-dark-2);font-size:10.5px}.set-bw{color:var(--on-dark-2);text-align:center;font-size:12.5px}.set-check{background:var(--dark-3);width:48px;height:48px;color:var(--on-dark-2);border-radius:14px;place-items:center;display:grid}.set-check svg{width:22px;height:22px}.set-check[aria-pressed=true]{color:#fff;background:#2f8a45}.set-row.done .mini-stepper{opacity:.7}.pl-actions{gap:8px;margin-top:6px;display:grid}.btn.dark-2{background:var(--dark-3);color:#fff}.btn.dark-2:active{background:#33333a}.btn.ghost-dark{color:var(--on-dark-2);box-shadow:inset 0 0 0 1.5px var(--dark-3);background:0 0}.rest-panel{z-index:40;left:50%;bottom:calc(var(--safe-b) + 12px);width:calc(100% - 24px);max-width:calc(var(--maxw) - 24px);color:#fff;background:#1c1c21;border-radius:22px;align-items:center;gap:12px;padding:12px;animation:.25s ff-up;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 18px 40px -10px #000000b3,inset 0 0 0 1px #ffffff0f}.rest-panel .ring .trk{stroke:#ffffff1f}.rest-num{font-size:18px}.rest-next{color:var(--on-dark-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.rest-panel .spacer{min-width:0}.pill-btn{background:var(--dark-3);border-radius:14px;flex:none;place-items:center;min-width:44px;height:44px;padding:0 12px;font-weight:700;display:grid}.pill-btn.solid{background:var(--red)}.pill-btn svg{width:18px;height:18px}.finish-stats{margin:14px 0}.finish-stats div{background:var(--surface-2);border-radius:14px;justify-items:center;gap:2px;padding:12px 6px;display:grid}.finish-stats b{font-size:26px;line-height:1}.finish-stats span{color:var(--text-2);font-size:12px}.pr-banner{background:var(--ember-soft);color:var(--ember-ink);border-radius:14px;align-items:center;gap:10px;margin-bottom:12px;padding:12px 14px;display:flex}.pr-banner svg{flex:none;width:22px;height:22px}.feelings{gap:8px;margin-bottom:10px;display:grid}.feeling{border:1.5px solid var(--line);text-align:left;border-radius:14px;gap:2px;padding:12px 14px;display:grid}.feeling span{color:var(--text-2);font-size:13px}.feeling.on{border-color:var(--ink);background:var(--ink);color:#fff}.feeling.on span{color:var(--on-dark-2)}.day-picker{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.day-picker button{background:var(--surface);box-shadow:var(--shadow-card);border-radius:14px;justify-items:center;gap:4px;padding:8px 0 7px;display:grid}.day-picker span{font:600 10.5px/1 var(--font-body);color:var(--text-3);text-transform:capitalize}.day-picker b{font:700 17px/1 var(--font-display)}.day-picker i{background:0 0;border-radius:50%;width:5px;height:5px}.day-picker i.tr{background:var(--red)}.day-picker button.today b{color:var(--red-ink)}.day-picker button.on{background:var(--ink);box-shadow:none}.day-picker button.on span,.day-picker button.on b{color:#fff}.day-picker button.on i.tr{background:#ff8a8e}.macro-card{gap:10px;display:grid}.macro-card>.hstack{gap:16px}.macro-kcal{font-size:26px;line-height:1}.macro-bars{gap:8px;min-width:0;display:grid}.macro{gap:4px;display:grid}.macro-top{justify-content:space-between;gap:6px;font-size:13px;display:flex}.water-card{align-items:center;gap:12px;display:flex}.water-card>svg{flex:none;width:24px;height:24px}.water-card .spacer{gap:6px;min-width:0;display:grid}.meal{gap:10px;transition:opacity .2s;display:grid}.meal-head{align-items:center;gap:10px;display:flex}.meal-head .spacer{min-width:0}.meal-check{border:2px solid var(--line);width:44px;height:44px;color:var(--text-3);border-radius:50%;flex:none;place-items:center;display:grid}.meal-check svg{width:20px;height:20px}.meal-check.on{border-color:var(--leaf);background:var(--leaf);color:#fff}.meal-check:disabled{opacity:.35}.meal.done{background:color-mix(in srgb, var(--leaf) 6%, var(--surface))}.meal-items{border-top:1px solid var(--line);display:grid}.meal-item{text-align:left;border-bottom:1px solid var(--line);align-items:center;gap:10px;width:100%;padding:10px 0;display:flex}.meal-item:disabled{cursor:default}.meal-item svg{flex:none;width:17px;height:17px}.meal-items li:last-child .meal-item{border-bottom:0}.meal-tip{background:var(--bg);color:var(--text-2);border-radius:12px;padding:10px 12px}.notes-list{color:var(--text-2);gap:6px;margin-top:12px;padding-left:18px;font-size:14px;list-style:outside;display:grid}.food-art{flex:none;display:block}.dish-art{aspect-ratio:16/10;width:100%;height:100%;display:block}.meal-dish-wrap{background:var(--bg);text-align:left;border-radius:16px;gap:0;width:100%;margin-top:-4px;display:grid;overflow:hidden}.meal-dish{aspect-ratio:16/10;width:100%;max-width:100%;display:block;overflow:hidden}.meal-dish-tag{align-items:center;gap:10px;padding:10px 12px;display:flex}.meal-dish-tag>svg{width:20px;height:20px;color:var(--ember-ink);flex:none}.meal-dish-tag>svg.faint{color:var(--text-3)}.meal-dish-tag .spacer{min-width:0}.meal-dish-tag b{font-size:14.5px;line-height:1.25}.meal-dish-tag .tiny{color:var(--text-2)}.meal-item{gap:12px}.builder{gap:14px;margin-top:8px;display:grid}.slot{gap:8px;display:grid}.slot-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.slot-options{gap:8px;padding-bottom:4px}.option{border:2px solid var(--line);background:var(--surface);text-align:center;border-radius:16px;flex:none;justify-items:center;gap:4px;width:92px;padding:8px 6px;display:grid}.option.on{border-color:var(--ink);box-shadow:0 6px 14px -8px #14141673}.option-name{font:600 12px/1.2 var(--font-body);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:29px;display:-webkit-box;overflow:hidden}.option-qty{color:var(--text-2);font-size:11.5px}.builder-sum{background:var(--bg);border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.builder-diff{border-radius:999px;margin-left:auto;padding:3px 8px;font-size:12px}.builder-diff.ok{background:var(--leaf-soft);color:var(--leaf)}.builder-diff.warn{background:var(--ember-soft);color:var(--ember-ink)}.recipe-card{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:18px;align-items:stretch;gap:0;width:100%;display:flex;overflow:hidden}.recipe-card-img{flex:none;width:128px;display:block}.recipe-card-img .dish-art{aspect-ratio:auto;height:100%;min-height:96px}.recipe-card-body{flex:1;align-content:center;gap:3px;min-width:0;padding:10px 12px;display:grid}.recipe{gap:12px;margin-top:6px;display:grid}.recipe-back{justify-self:start;padding:0 8px 0 4px}.recipe-img{border-radius:18px;overflow:hidden}.recipe-macros{color:var(--text-2);flex-wrap:wrap;gap:6px 16px;font-size:13.5px;display:flex}.recipe-macros b{color:var(--ink)}.recipe-ing{gap:8px;display:grid}.recipe-ing li{align-items:center;gap:12px;display:flex}.recipe-ing .spacer{min-width:0}.recipe-steps{counter-reset:rs;gap:10px;display:grid}.recipe-steps li{counter-increment:rs;grid-template-columns:26px minmax(0,1fr);gap:10px;font-size:15px;line-height:1.5;display:grid}.recipe-steps li:before{content:counter(rs);background:var(--red);color:#fff;width:26px;height:26px;font:700 13px/1 var(--font-body);border-radius:8px;place-items:center;display:grid}.shop-row .food-art{margin-left:2px}.shop-group{margin:6px 0 8px}.shop-row{cursor:pointer}.shop-row input{width:20px;height:20px;accent-color:var(--leaf);flex:none}.shop-row:has(input:checked) .row-title{color:var(--text-3);text-decoration:line-through}.kpi-tile{gap:3px;display:grid}.kpi-tile b{font-size:24px;line-height:1}.kpi-tile b small{font:600 12px/1 var(--font-body);color:var(--text-2)}.delta{font:700 12.5px/1.2 var(--font-body);font-variant-numeric:tabular-nums;white-space:nowrap}.delta.good{color:var(--leaf)}.delta.bad{color:var(--red-ink)}.delta.flat{color:var(--text-3)}.chart{width:100%;height:auto;margin-top:10px;display:block;overflow:visible}.chart-grid{stroke:var(--line);stroke-width:1px}.chart-label{fill:var(--text-3);font:500 10px var(--font-body)}.chart-line{fill:none;stroke:var(--red);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:var(--surface);stroke:var(--red);stroke-width:2px}.chart-end{fill:var(--red);stroke:var(--surface);stroke-width:2.5px}.chart-line.draw{stroke-dasharray:1 2;animation:1.4s cubic-bezier(.6,.1,.2,1) .15s backwards ff-draw}.chart-area{animation:.8s 1s backwards ff-fade}.chart-dot,.chart-end{transform-box:fill-box;transform-origin:50%}.chart-dot{animation:.3s backwards ff-pop}.chart-end{animation:.45s cubic-bezier(.3,1.6,.5,1) 1.5s backwards ff-pop}@keyframes ff-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes ff-pop{0%{opacity:0;transform:scale(.3)}}.next-av{align-items:flex-start;gap:12px;display:flex}.next-av .spacer{gap:2px;min-width:0;display:grid}.next-av-ic{border:2.5px solid var(--ink);border-radius:14px;flex:none;place-items:center;width:44px;height:44px;display:grid}.photo-strip{scrollbar-width:none;scroll-snap-type:x mandatory;grid-auto-columns:calc(33.3333% - 5.33333px);grid-auto-flow:column;gap:8px;display:grid;overflow-x:auto}.photo-strip::-webkit-scrollbar{display:none}.photo-card{isolation:isolate;aspect-ratio:3/4;scroll-snap-align:start;background:linear-gradient(170deg,#dcd7d3,#c4beba);border-radius:16px;width:100%;padding:0;position:relative;overflow:hidden}.photo-card .body-fig,.photo-card .photo-img{z-index:-1;transition:filter .3s,transform .3s;position:absolute;inset:0}.photo-card.private .body-fig,.photo-card.private .photo-img{filter:blur(9px)saturate(.85);transform:scale(1.12)}.photo-lock{color:#fff;background:#1414168c;border-radius:50%;place-items:center;width:34px;height:34px;margin:-17px 0 0 -17px;display:grid;position:absolute;top:50%;left:50%}.photo-lock svg{width:17px;height:17px}.photo-label{color:#fff;text-align:left;background:#1414169e;border-radius:9px;gap:1px;padding:5px 7px;font-size:11px;line-height:1.2;display:grid;position:absolute;bottom:6px;left:6px;right:6px}.photo-label b{font-size:12px}.photo-img{object-fit:cover;background:var(--surface-2);width:100%;height:100%;display:block}.body-fig{width:100%;height:100%;display:block}.photo-note{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.link-btn{font:600 12px/1.2 var(--font-body);color:var(--red-ink);text-underline-offset:2px;text-decoration:underline}.compare{aspect-ratio:3/4;background:var(--surface-2);touch-action:pan-y;border-radius:18px;width:100%;max-height:62dvh;margin:0 auto;position:relative;overflow:hidden}.compare-layer{position:absolute;inset:0}.compare-layer>*{width:100%;height:100%}.compare-layer.after{clip-path:inset(0 0 0 var(--pos))}.compare-handle{top:0;bottom:0;left:var(--pos);pointer-events:none;background:#fff;width:3px;margin-left:-1.5px;position:absolute;box-shadow:0 0 0 1px #14141626}.compare-handle:after{content:"‹ ›";width:38px;height:38px;color:var(--ink);font:800 15px/1 var(--font-body);letter-spacing:.1em;box-shadow:var(--shadow-float);background:#fff;border-radius:50%;place-items:center;margin:-19px 0 0 -19px;display:grid;position:absolute;top:50%;left:50%}.compare input[type=range]{opacity:0;cursor:ew-resize;width:100%;height:100%;margin:0;position:absolute;inset:0}.compare-tag{color:#fff;font:700 11px/1 var(--font-body);pointer-events:none;background:#141416b3;border-radius:8px;padding:5px 8px;position:absolute;top:10px}.compare-tag.left{left:10px}.compare-tag.right{right:10px}.av-hero{gap:6px;display:grid}.coach-note{gap:10px;display:grid}.metric .row-main{min-width:0}.metric-val{text-align:right;min-width:84px;font-size:14px}.metric-val b{font-size:16px}.metric-delta{text-align:right;min-width:52px}.profile-head{align-items:center;gap:14px;padding-top:10px;display:flex}.profile-head .spacer{min-width:0}.plan-card{gap:6px;display:grid}.sub-hero{gap:8px;display:grid}.sub-price{align-items:baseline;gap:4px;display:flex}.sub-price .num{font-size:34px}.check-list{gap:10px;display:grid}.check-list li{grid-template-columns:22px minmax(0,1fr);gap:10px;display:grid}.check-list li:before{content:"✓";background:var(--leaf-soft);width:22px;height:22px;color:var(--leaf);font:700 12px/1 var(--font-body);border-radius:50%;place-items:center;display:grid}.next-pay .spacer{min-width:0}.mb-ref{background:var(--line);border-radius:16px;gap:1px;margin:12px 0;display:grid;overflow:hidden}.mb-ref div{background:var(--surface-2);grid-template-columns:minmax(0,1fr) auto 36px;align-items:center;gap:6px;padding:8px 8px 8px 16px;display:grid}.mb-ref span{color:var(--text-2)}.mb-ref b{font-size:24px}.mb-ref .icon-btn{width:36px;height:36px;color:var(--text-2)}.mb-ref .icon-btn svg{width:18px;height:18px}.settings-group{gap:8px;margin:14px 0;display:grid}.flat-list{box-shadow:none;background:var(--bg)}.flat-list .row{min-height:64px}.danger-btn{color:var(--red-ink);margin-top:6px}.content-card{align-items:center;gap:14px;display:flex}.content-card .spacer{gap:3px;min-width:0;display:grid}.content-cover{background:var(--surface-2);border-radius:12px;flex:none;width:112px;height:70px;overflow:hidden}.content-cover .content-art,.content-cover .dish-art{aspect-ratio:auto;width:100%;height:100%}.content-art{width:100%;height:100%;display:block}.cover-text{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.005em;font-style:italic;font-weight:900}.cover-chip{font:700 10.5px var(--font-body)}.cover-chip.strong{font-size:12px;font-weight:800}.content-hero{box-shadow:var(--shadow-card);border-radius:20px;overflow:hidden}.content-hero .content-art,.content-hero .dish-art{aspect-ratio:16/10;height:auto}.lead-p{font-size:17px;font-weight:500}.article{gap:14px;font-size:16px;line-height:1.6;display:grid}.install-hero{text-align:center;justify-items:center;gap:12px;padding:12px 0;display:grid}.install-hero img{box-shadow:var(--shadow-float);border-radius:22px}.steps-ios{counter-reset:st;gap:14px;display:grid}.steps-ios li{grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;display:grid}.steps-ios svg{width:22px;height:22px;color:var(--red-ink)}.challenge.big{gap:12px;padding:22px 18px}.rank .row.me{background:var(--red-soft)}.rank-pos{text-align:center;width:22px;color:var(--text-3);font-size:18px}.rank-count{color:var(--ink);font-size:22px}.badges{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.badge{background:var(--surface);box-shadow:var(--shadow-card);text-align:center;border-radius:18px;align-content:start;justify-items:center;gap:6px;padding:14px 8px;display:grid}.badge-ic{background:var(--surface-2);width:52px;height:52px;color:var(--text-3);border-radius:16px;place-items:center;display:grid}.badge-ic svg{width:24px;height:24px}.badge b{font-size:13.5px;line-height:1.2}.badge span{color:var(--text-2);font-size:11.5px;line-height:1.3}.badge.on .badge-ic{background:var(--grad-fusion);color:#fff}.badge:not(.on){opacity:.7}.checkin-intro{border-radius:var(--r-md);background:var(--surface);align-items:center;gap:12px;padding:12px 14px;display:flex}.checkin-form{gap:22px}.photo-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.photo-slot{aspect-ratio:3/4;border:2px dashed var(--surface-3);background:var(--surface) center / cover no-repeat;max-width:100%;color:var(--text-2);cursor:pointer;border-radius:16px;place-content:center;justify-items:center;gap:6px;font-size:12.5px;display:grid;position:relative}.photo-slot input{opacity:0;width:1px;height:1px;position:absolute}.photo-slot svg{width:24px;height:24px}.photo-slot.has{border-style:solid;border-color:var(--leaf)}.photo-slot.has span{color:#fff;background:#141416b3;border-radius:8px;padding:3px 7px;position:absolute;bottom:6px;left:6px}.photo-slot:focus-within{outline:2.5px solid var(--red);outline-offset:2px}.chat-page{background:var(--bg)}.chat-title{align-items:center;gap:10px;display:flex}.duo{display:flex}.duo .avatar+.avatar{box-shadow:0 0 0 2px var(--bg);margin-left:-10px}.chat-title b{font-size:15px}.chat-body{padding:8px var(--gutter) calc(var(--safe-b) + 128px);flex-direction:column;flex:1;gap:8px;display:flex}.day-div{text-align:center;font:700 11px/1 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin:10px 0 4px}.sys-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;align-items:center;gap:12px;margin:4px 0;padding:12px;display:flex}.sys-card .spacer{min-width:0}.msg-row{align-items:flex-end;gap:8px;margin:2px 0;display:flex}.msg-row.mine{justify-content:flex-end}.bubble{background:var(--surface);overflow-wrap:anywhere;border-radius:18px 18px 18px 6px;max-width:80%;padding:9px 12px 20px;font-size:15px;line-height:1.4;position:relative;box-shadow:0 1px 2px #1414160f}.bubble.mine{background:var(--red);color:#fff;border-radius:18px 18px 6px}.bubble .who{font:700 12px/1.2 var(--font-body);color:var(--red-ink);margin-bottom:2px;display:block}.bubble .time{opacity:.6;font-size:10.5px;position:absolute;bottom:5px;right:10px}.bubble.typing{gap:4px;padding:14px;display:flex}.bubble.typing i{background:var(--text-3);border-radius:50%;width:7px;height:7px;animation:1s ease-in-out infinite ff-dot}.bubble.typing i:nth-child(2){animation-delay:.15s}.bubble.typing i:nth-child(3){animation-delay:.3s}@keyframes ff-dot{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.bubble.media{padding-bottom:22px}.voice-wrap{gap:6px;min-width:214px;display:grid}.voice{align-items:center;gap:8px;display:flex}.vp{background:var(--ink);color:#fff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid}.vp svg{fill:currentColor;width:14px;height:14px}.vp svg.lucide-play{margin-left:2px}.bubble.mine .vp{color:var(--red);background:#fff}.wave{flex:1;align-items:center;gap:2px;height:24px;display:flex}.wave i{background:var(--text-3);opacity:.45;border-radius:2px;width:3px;transition:opacity .15s,background .15s}.wave i.on{background:var(--red);opacity:1}.bubble.mine .wave i{opacity:.45;background:#fff}.bubble.mine .wave i.on{opacity:1}.voice-more{font:600 12.5px/1.2 var(--font-body);color:var(--red-ink);justify-self:start;padding:2px 0}.bubble.mine .voice-more{color:#fff}.voice-text{background:var(--bg);color:var(--text-2);border-radius:10px;padding:8px 10px;font-size:14px;line-height:1.45;display:block}.vid{color:inherit;text-align:left;align-items:center;gap:12px;display:flex}.vid-thumb{background:radial-gradient(90% 70% at 75% 10%,#da1f26bf,#0000 70%),linear-gradient(#2a2a30,#0c0c0e);border-radius:12px;flex:none;place-items:center;width:60px;height:78px;display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 1.5px #ffffff40}.vid-thumb video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.vid-play{color:#fff;fill:#fff;filter:drop-shadow(0 1px 3px #00000080);width:24px;height:24px;position:relative}.vid-dur{font:700 10px/1 var(--font-body);color:#fff;text-shadow:0 1px 2px #0009;position:absolute;bottom:4px;right:5px}.vid-text{min-width:0}.vid-player{background:#000;border-radius:16px;width:100%;max-height:70dvh;display:block}.composer.rec{gap:8px;min-height:48px}.rec-dot{background:var(--red);border-radius:50%;flex:none;width:10px;height:10px;animation:1.1s ease-in-out infinite ff-blink}.rec-time{min-width:36px;font-weight:700}.rec-meter{align-items:center;gap:3px;height:26px;display:flex}.rec-meter i{background:var(--red);border-radius:2px;width:4px;height:26px;transition:transform 80ms linear}@keyframes ff-blink{50%{opacity:.2}}.composer-wrap{z-index:30;width:100%;max-width:var(--maxw);padding:8px 0 calc(var(--safe-b) + 10px);background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);gap:8px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.quick{padding:0 var(--gutter);margin:0}.quick .chip{background:var(--surface);height:32px}.composer{margin:0 var(--gutter);background:var(--surface);box-shadow:var(--shadow-card);border-radius:999px;align-items:center;gap:6px;padding:4px 4px 4px 6px;display:flex}.composer-input{background:0 0;border:0;flex:1;min-width:0;height:40px;padding:0 6px}.composer-input:focus{outline:none}.send-btn{background:var(--red);color:#fff;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid}.send-btn svg{width:18px;height:18px}.cvideo{gap:12px;display:grid}.cvideo-stage{isolation:isolate;aspect-ratio:16/10;background:var(--dark);color:#fff;box-shadow:var(--shadow-card);border-radius:20px;position:relative;overflow:hidden}.cvideo-bg{z-index:-1;transition:filter .5s;position:absolute;inset:0}.cvideo-bg .cover-meta{display:none}.cvideo-stage.playing .cvideo-bg{filter:brightness(.5)saturate(.9);animation:16s ease-in-out infinite alternate cv-ken}@keyframes cv-ken{to{transform:scale(1.12)translate(-2%,1.5%)}}.cvideo-3d{z-index:0;background:repeating-linear-gradient(135deg,#ffffff08 0 10px,#0000 10px 20px),radial-gradient(90% 90% at 50% 55%,#3a2226,#141417 75%);animation:.4s ff-fade;position:absolute;inset:0}.cvideo-stage.staged .cvideo-bg{opacity:0}.cvideo-stage.has-stage{aspect-ratio:4/3;background:linear-gradient(#26262c,#0c0c0e)}.cvideo-stage.has-stage .cvideo-bg{align-items:center;display:grid}.cvideo-stage.has-stage .cvideo-bg .content-art{aspect-ratio:16/10;height:auto}.cvideo-stage.staged .cvideo-3d{bottom:54px}.cvideo-stage.staged .cvideo-caption{text-align:center;-webkit-line-clamp:2;background:0 0;-webkit-box-orient:vertical;padding:0;font-size:13.5px;line-height:1.35;display:-webkit-box;bottom:7px;left:12px;right:12px;overflow:hidden}.cvideo-stage.staged .cvideo-time{top:22px;bottom:auto}.cvideo-segs{gap:4px;display:flex;position:absolute;top:10px;left:12px;right:12px}.cvideo-segs i{background:#ffffff4d;border-radius:2px;flex:1;height:3px;overflow:hidden}.cvideo-segs b{background:#fff;height:100%;display:block}.cvideo-caption{font:600 14.5px/1.38 var(--font-body);background:#0c0c0ebd;border-radius:12px;padding:9px 12px;animation:.35s cubic-bezier(.2,.8,.2,1) cv-cap;position:absolute;bottom:48px;left:14px;right:14px}@keyframes cv-cap{0%{opacity:0;transform:translateY(10px)}}.cvideo-play{color:#fff;position:absolute;inset:0}.cvideo-play:before{content:"";background:var(--red);border-radius:50%;width:58px;height:58px;margin:-29px 0 0 -29px;transition:transform .2s,opacity .2s;position:absolute;top:75%;left:81.9%;box-shadow:0 8px 20px -6px #da1f26b3}.cvideo-play svg{fill:currentColor;width:24px;height:24px;margin:-12px 0 0 -9px;transition:opacity .2s;position:absolute;top:75%;left:81.9%}.cvideo-play:active:before{transform:scale(.93)}.cvideo-stage.playing .cvideo-play:before,.cvideo-stage.playing .cvideo-play svg{opacity:0}.cvideo-play:focus-visible{outline-offset:-4px;border-radius:20px;outline:2.5px solid #fff}.cvideo-time{text-shadow:0 1px 4px #00000080;pointer-events:none;font-size:12.5px;font-weight:700;position:absolute;bottom:12px;left:14px}.cvideo-sound{color:#fff;background:#00000059;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:20px;right:8px}.cvideo-sound svg{width:18px;height:18px}.cvideo-chapters{gap:2px;display:grid}.cvideo-chapters button{width:100%;color:var(--text-2);border-radius:12px;grid-template-columns:40px minmax(0,1fr);gap:10px;padding:10px 12px;font-size:14.5px;line-height:1.45;display:grid}.cvideo-chapters .tnum{color:var(--text-3);font-weight:700}.cvideo-chapters button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-card)}.cvideo-chapters button.on .tnum{color:var(--red-ink)}.doc-sheet{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.doc-toolbar{z-index:2;background:var(--backdrop);align-items:center;gap:6px;margin:-6px -18px 0;padding:10px 18px 10px 8px;display:flex;position:sticky;top:-10px}.doc-toolbar .strong{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.doc-paper{color:#1b1b1e;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;border-radius:6px;grid-template-columns:minmax(0,1fr);gap:14px;padding:22px 20px 16px;font-size:12.5px;line-height:1.5;display:grid;box-shadow:0 1px 2px #14141614,0 18px 40px -22px #14141673}.doc-head{border-bottom:3px solid var(--red);align-items:center;gap:12px;padding-bottom:12px;display:flex}.doc-head img{border-radius:10px;width:40px;height:40px}.doc-brand{gap:2px;min-width:0;display:grid}.doc-brand b{font:italic 900 22px/1 var(--font-display);letter-spacing:.01em}.doc-brand span{color:var(--text-2);font-size:11px}.doc-title{gap:3px;display:grid}.doc-title h3{font:italic 800 21px/1.05 var(--font-display);text-transform:uppercase}.doc-title span{color:var(--text-2);font-size:11.5px}.doc-block{gap:6px;display:grid}.doc-block h4{font:700 10.5px/1.2 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--red-ink)}.doc-dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;display:grid}.doc-dl dt{color:var(--text-3);font-size:10.5px}.doc-dl dd{margin:0;font-weight:600}.doc-dl.inline{background:var(--bg);border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));padding:10px 12px}.doc-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.doc-table th{border-bottom:1.5px solid var(--ink);text-align:left;color:var(--text-2);padding:5px 6px;font-size:10.5px;font-weight:700}.doc-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:6px}.doc-table th:first-child,.doc-table td:first-child{padding-left:0}.doc-table th:last-child,.doc-table td:last-child{padding-right:0}.doc-table th:not(:first-child),.doc-table td:not(:first-child){text-align:right}.doc-table.money td:not(:first-child){white-space:nowrap}.doc-totals{font-variant-numeric:tabular-nums;justify-self:end;gap:4px;min-width:62%;display:grid}.doc-totals div{justify-content:space-between;gap:16px;display:flex}.doc-totals .grand{border-top:2px solid var(--ink);margin-top:4px;padding-top:6px;font-size:15px}.doc-fiscal{align-items:center;gap:14px;padding-top:4px;display:flex}.doc-fiscal svg{flex:none}.doc-small{color:var(--text-2);font-size:10.5px;line-height:1.45}.doc-small.block{margin-top:3px}.doc-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.doc-sign{color:var(--text-2);gap:2px;margin-top:6px;font-size:10.5px;display:grid}.doc-paper>.doc-sign{max-width:230px}.doc-sign-line{border-bottom:1px solid var(--ink);align-items:flex-end;height:46px;padding-bottom:4px;display:flex;overflow:hidden}.doc-script{transform-origin:0 100%;white-space:nowrap;color:#1f3a8a;font:italic 400 23px/1 Segoe Script,Snell Roundhand,Brush Script MT,Dancing Script,cursive;transform:rotate(-5deg)}.doc-list{gap:6px;padding-left:18px;list-style:outside;display:grid}.doc-list.numbered{list-style:decimal}.doc-foot{border-top:1px solid var(--line);color:var(--text-3);text-align:center;padding-top:10px;font-size:10px}@media print{@page{size:A4;margin:14mm}body:has(.doc-paper){background:#fff;overflow:visible!important}body:has(.doc-paper)>:not(.sheet-backdrop){display:none!important}.sheet-backdrop:has(.doc-paper){background:0 0;animation:none;display:block;position:static}.sheet:has(.doc-paper){background:0 0;border-radius:0;max-width:none;height:auto;max-height:none;padding:0;animation:none;overflow:visible}.doc-toolbar{display:none!important}.sheet:has(.doc-paper)>.sheet-handle{display:none!important}.doc-paper{box-shadow:none;border-radius:0;padding:0;font-size:10.5pt}.doc-block,.doc-table tr,.doc-sign,.doc-totals,.doc-fiscal{break-inside:avoid}}.jr-actions{flex:none;align-items:center;gap:6px;display:flex}.jr-head>div:first-child{min-width:0}.notif-head{align-items:center;gap:8px;min-height:36px;display:flex}.notif-group{gap:8px;margin:12px 0;display:grid}.notif-group li+li{border-top:1px solid var(--line)}.notif{align-items:flex-start}.notif .row-sub{line-height:1.35}.notif.unread .row-title{font-weight:700}.notif-meta{flex:none;justify-items:end;gap:8px;padding-top:2px;display:grid}.notif-dot{background:var(--red);border-radius:50%;width:9px;height:9px}.celebrate{z-index:70;padding:calc(var(--safe-t) + 24px) var(--gutter) calc(var(--safe-b) + 24px);color:#fff;background:radial-gradient(110% 60% at 50% 0,#da1f2680,#0000 65%),radial-gradient(80% 50% at 50% 100%,#ff6b1f38,#0000 70%),#0e0e10;place-items:center;animation:.25s ff-fade;display:grid;position:fixed;inset:0;overflow:hidden}.confetti{pointer-events:none;position:absolute;inset:0}.confetti i{border-radius:2px;width:8px;height:14px;animation:3s cubic-bezier(.25,.4,.5,1) both cf-fall;position:absolute;top:-24px}.confetti .cf-1{border-radius:50%;width:9px;height:9px}.confetti .cf-2{width:5px;height:18px}@keyframes cf-fall{0%{transform:translate(0,0)rotate(0)}to{transform:translate3d(var(--dx), 112vh, 0) rotate(var(--rot))}}.cel-card{text-align:center;justify-items:center;gap:14px;width:100%;max-width:400px;display:grid;position:relative}.cel-badge{background:var(--grad-fusion);border-radius:50%;place-items:center;width:96px;height:96px;animation:.7s cubic-bezier(.3,1.5,.5,1) .1s backwards cel-pop;display:grid;box-shadow:0 0 0 12px #ff6b1f24,0 0 0 26px #da1f2612,0 20px 40px -10px #da1f2699}.cel-badge svg{stroke-width:3px;width:48px;height:48px}@keyframes cel-pop{0%{opacity:0;transform:scale(.2)rotate(-30deg)}}.cel-title{font-size:58px;font-weight:900;animation:.5s .3s backwards ff-up}.cel-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;animation:.5s .4s backwards ff-up;display:grid}.cel-stats div{background:#ffffff12;border-radius:16px;gap:4px;padding:14px 6px 12px;display:grid}.cel-stats b{font-size:32px;line-height:1}.cel-stats span{color:var(--on-dark-2);font-size:12px}.cel-prs{justify-items:center;gap:8px;display:grid}.cel-prs>span{color:#f2b53a;font-weight:700;animation:.4s 1.1s backwards ff-fade}.cel-prs div{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.cel-pr{color:#ffd27a;height:32px;font:700 13px/1 var(--font-body);background:#f2b53a29;border-radius:999px;align-items:center;gap:6px;padding:0 12px;animation:.5s cubic-bezier(.3,1.6,.5,1) backwards cel-pop;display:inline-flex}.cel-pr svg{width:15px;height:15px}.cel-streak{color:var(--on-dark);align-items:center;gap:6px;font-weight:600;display:inline-flex}.cel-streak svg{width:20px;height:20px;color:var(--ember)}.cel-streak b{font-size:22px}.cel-plus{background:var(--ember);color:#fff;font:800 12px/1 var(--font-body);border-radius:8px;padding:3px 7px;animation:.5s cubic-bezier(.3,1.6,.5,1) 1.5s backwards cel-pop}.cel-card .btn{margin-top:8px;animation:.5s .8s backwards ff-up}.meal-check{transition:background .2s,border-color .2s,color .2s,transform .35s cubic-bezier(.3,1.6,.5,1)}.meal-check:active{transform:scale(.86)}.meal-check svg{transition:transform .35s cubic-bezier(.3,1.6,.5,1)}.meal-check.on svg{transform:scale(1.15)}.badge.on .badge-ic{position:relative;overflow:hidden}.badge.on .badge-ic:after{content:"";background:linear-gradient(110deg,#0000 30%,#ffffff8c 50%,#0000 70%);animation:4.5s ease-in-out infinite ff-shine;position:absolute;inset:0;transform:translate(-120%)}.badge.on:nth-child(2) .badge-ic:after{animation-delay:.6s}.badge.on:nth-child(3) .badge-ic:after{animation-delay:1.2s}.badge.on:nth-child(4) .badge-ic:after{animation-delay:1.8s}.badge.on:nth-child(5) .badge-ic:after{animation-delay:2.4s}.badge.on:nth-child(6) .badge-ic:after{animation-delay:3s}@keyframes ff-shine{0%,70%{transform:translate(-120%)}to{transform:translate(120%)}}
