@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/poppins-devanagari-300-normal-D7nrgzLr.woff2) format("woff2"),url(/assets/poppins-devanagari-300-normal-5EpgE5P1.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/poppins-latin-ext-300-normal-Cirz0Guu.woff2) format("woff2"),url(/assets/poppins-latin-ext-300-normal-nf6F73WS.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/poppins-latin-300-normal-Dku2WoCh.woff2) format("woff2"),url(/assets/poppins-latin-300-normal-DCNuMXUj.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-devanagari-400-normal-CJDn6rn8.woff2) format("woff2"),url(/assets/poppins-devanagari-400-normal-CqVvlrh5.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-ext-400-normal-by3JarPu.woff2) format("woff2"),url(/assets/poppins-latin-ext-400-normal-DaBSavcJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-400-normal-cpxAROuN.woff2) format("woff2"),url(/assets/poppins-latin-400-normal-BOb3E3N0.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-devanagari-500-normal-BIdkeU1p.woff2) format("woff2"),url(/assets/poppins-devanagari-500-normal-DMPDjHtT.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-ext-500-normal-CK-6C4Hw.woff2) format("woff2"),url(/assets/poppins-latin-ext-500-normal-CgAe2rWW.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-500-normal-C8OXljZJ.woff2) format("woff2"),url(/assets/poppins-latin-500-normal-DGXqpDMm.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-devanagari-600-normal-STEjXBNN.woff2) format("woff2"),url(/assets/poppins-devanagari-600-normal-ClASKHrr.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-ext-600-normal-CAhIAdZj.woff2) format("woff2"),url(/assets/poppins-latin-ext-600-normal-Df5ffKXP.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-600-normal-zEkxB9Mr.woff2) format("woff2"),url(/assets/poppins-latin-600-normal-BJdTmd5m.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-devanagari-700-normal-O-jipLrW.woff2) format("woff2"),url(/assets/poppins-devanagari-700-normal-fHs-vx92.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-ext-700-normal-cby-RkWa.woff2) format("woff2"),url(/assets/poppins-latin-ext-700-normal-DctTR6Tg.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-700-normal-Qrb0O0WB.woff2) format("woff2"),url(/assets/poppins-latin-700-normal-BVuQR_eA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #0A0C0F;--surface: #111417;--surface-2: #171B20;--surface-3: #1F242B;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .16);--ink: #F2F4F7;--ink-2: #A7AEB8;--ink-3: #6B7380;--accent: #9BD1FF;--accent-ink: #0A0C0F;--accent-soft: rgba(155, 209, 255, .1);--cta: #F2F4F7;--cta-ink: #0A0C0F;--good: #7FD1A8;--warn: #E3B86A;--bad: #EF8A8A;--pr: #F0C96B;--chart-1: #4F8FD0;--chart-2: #D8713F;--blur: saturate(140%) blur(16px);--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--tab-h: 60px;color-scheme:dark}:root[data-theme=light]{--bg: #F6F6F4;--surface: #FFFFFF;--surface-2: #F1F1EE;--surface-3: #E7E7E2;--line: rgba(0, 0, 0, .08);--line-strong: rgba(0, 0, 0, .16);--ink: #121417;--ink-2: #5B6270;--ink-3: #8B919C;--accent: #1C5FA8;--accent-ink: #FFFFFF;--accent-soft: rgba(28, 95, 168, .1);--cta: #121417;--cta-ink: #FFFFFF;--good: #1F8A55;--warn: #A8781C;--bad: #B8403E;--pr: #9A7612;--chart-1: #2B6CB0;--chart-2: #C9562A;color-scheme:light}.type-force,.type-moteur,.type-ext,.type-repos,.type-skill{--type: var(--accent)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Poppins,Segoe UI,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:none}h1,h2,h3,h4{margin:0;line-height:1.2;text-wrap:balance;font-weight:500;letter-spacing:-.01em}p{margin:0}button{font:inherit;color:inherit}input,select,textarea{font:inherit;color:inherit;min-width:0;max-width:100%}.grid-2>*,.grid-3>*,.btn-row>*,.set>*,.numfield-row>*,.morning-edit>*{min-width:0}a{color:var(--accent)}.mono{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}.muted{color:var(--ink-2)}.small{font-size:13px}.eyebrow{font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:var(--accent-soft)}.app{display:flex;flex-direction:column;min-height:100%}.topbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);padding:calc(14px + env(safe-area-inset-top,0px)) 20px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar h1{font-size:24px;font-weight:500;letter-spacing:-.02em}.topbar .sub{font-size:12.5px;color:var(--ink-3);margin-top:3px}.topbar-actions{display:flex;gap:6px;padding-bottom:2px}main.screen{flex:1;padding:8px 20px calc(var(--tab-h) + 28px + env(safe-area-inset-bottom,0px));display:grid;gap:14px;align-content:start;max-width:720px;width:100%;margin-inline:auto}main.screen.has-timer{padding-bottom:calc(var(--tab-h) + 104px + env(safe-area-inset-bottom,0px))}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;justify-content:center;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}.tabbar-inner{display:flex;width:100%;max-width:720px}.tabbar button{flex:1;background:none;border:0;height:var(--tab-h);display:grid;justify-items:center;align-content:center;gap:4px;color:var(--ink-3);font-size:10px;font-weight:500;letter-spacing:.04em;cursor:pointer;transition:color .15s}.tabbar button.on{color:var(--ink)}.tabbar button .icon{width:22px;height:22px}.tabbar button .icon path{stroke-width:1.6}.icon-btn{background:transparent;border:1px solid var(--line);color:var(--ink-2);width:38px;height:38px;border-radius:50%;display:inline-grid;place-items:center;cursor:pointer;transition:border-color .15s,color .15s}.icon-btn:hover{color:var(--ink);border-color:var(--line-strong)}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn.accent{background:var(--cta);color:var(--cta-ink);border-color:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 18px;border-radius:999px;border:1px solid var(--line-strong);background:transparent;color:var(--ink);font-weight:500;font-size:14.5px;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,opacity .15s}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.4;cursor:default}.btn.primary{background:var(--cta);color:var(--cta-ink);border-color:transparent}.btn.primary:hover{background:var(--cta);opacity:.92}.btn.danger{color:var(--bad);border-color:var(--line)}.btn.ghost{border-color:transparent;color:var(--ink-2)}.btn.block{width:100%;white-space:normal}.btn.sm{min-height:38px;padding:0 14px;font-size:13.5px}.btn.xs{min-height:32px;padding:0 12px;font-size:12.5px;font-weight:500;border-color:var(--line)}.btn-row{display:flex;gap:8px;flex-wrap:wrap}.btn-row>.btn{flex:1}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;display:grid;gap:14px}.card.flat{background:transparent}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-head>div{min-width:0}.card-head h2{font-size:18px}.card-head h3{font-size:15px}.chips{display:flex;flex-wrap:wrap;gap:4px 0;align-items:center}.chip{font-size:12.5px;color:var(--ink-3)}.chips .chip{white-space:nowrap}.chips .chip+.chip:before{content:"·";margin:0 6px;color:var(--ink-3);opacity:.7}.spec .sep{margin:0 6px;color:var(--ink-3);opacity:.7;font-size:12.5px}.chip.hot{color:var(--ink-2);font-weight:500}.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;border-radius:999px;padding:4px 10px;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line);white-space:nowrap}.pill.good{color:var(--good)}.pill.warn{color:var(--warn)}.pill.bad{color:var(--bad)}.pill.pr{color:var(--pr)}.pill.accent{color:var(--accent);background:var(--accent-soft);border-color:transparent}.list{display:grid}.row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row .title{font-weight:500}.row .sub{font-size:12.5px;color:var(--ink-2)}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px}.stats.four{grid-template-columns:repeat(4,1fr)}@media (max-width: 560px){.stats.four{grid-template-columns:repeat(2,1fr)}}.stat{padding:12px 0;border-top:1px solid var(--line);display:grid;gap:4px;min-width:0}.stat-k{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);font-weight:500}.stat-v{font-size:24px;font-weight:300;line-height:1.1;letter-spacing:-.02em;display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;font-family:Poppins,sans-serif;font-variant-numeric:tabular-nums}.stat-v small{font-size:11.5px;font-weight:500;color:var(--ink-3);letter-spacing:0}.stat-s{font-size:12px;color:var(--ink-2)}.stat.good .stat-v{color:var(--good)}.stat.bad .stat-v{color:var(--bad)}.stat.accent .stat-v{color:var(--ink)}.field{display:grid;gap:6px}.field label,.numfield label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.input,.field input[type=text],.field input[type=email],.field input[type=password],.field input[type=date],.field select,.field textarea{width:100%;min-height:46px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);color:var(--ink);padding:8px 14px;transition:border-color .15s}.field input:focus,.field select:focus,.field textarea:focus,.input:focus{border-color:var(--line-strong);outline:none}.field textarea{min-height:84px;resize:vertical}.field select{-moz-appearance:none;appearance:none;-webkit-appearance:none}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.numfield{display:grid;gap:6px;min-width:0}.numfield-row{display:grid;grid-template-columns:44px 1fr 44px;gap:6px}.numfield.compact .numfield-row{grid-template-columns:34px 1fr 34px}.numfield .step{border:1px solid var(--line);background:transparent;border-radius:var(--r-sm);font-size:20px;font-weight:300;line-height:1;cursor:pointer;color:var(--ink-2);min-height:46px}.numfield .step:hover{background:var(--surface-2);color:var(--ink)}.numfield.compact .step{min-height:40px;font-size:18px}.numfield-input{position:relative}.numfield-input input{width:100%;height:100%;min-height:46px;text-align:center;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font-family:Poppins,sans-serif;font-variant-numeric:tabular-nums;font-size:18px;font-weight:400;padding:0 10px}.numfield-input input:focus{border-color:var(--line-strong);outline:none}.numfield.compact .numfield-input input{min-height:40px;font-size:16px}.numfield-input .suffix{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--ink-3)}.segmented{display:flex;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px}.segmented button{flex:1;border:0;background:transparent;border-radius:999px;min-height:34px;font-size:13px;font-weight:500;color:var(--ink-3);cursor:pointer;white-space:nowrap;transition:color .15s,background .15s}.segmented button.on{background:var(--surface-3);color:var(--ink)}.segmented{position:relative}.segmented button{position:relative;z-index:1}.segmented.has-ind button.on{background:transparent}.seg-ind{position:absolute;top:3px;bottom:3px;left:0;border-radius:999px;background:var(--surface-3);transition:transform .28s var(--ease-out),width .28s var(--ease-out)}.segmented button{padding:0 6px;min-width:0}.segmented.tight button{font-size:12.5px;padding:0 4px;letter-spacing:-.01em}.check{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:14px}.check input{width:18px;height:18px;accent-color:var(--ink)}.daystrip{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-inline:-20px;padding:4px 20px;align-items:center}.daystrip::-webkit-scrollbar{display:none}.daystrip button{flex:0 0 auto;min-width:54px;border:1px solid var(--line);background:transparent;color:var(--ink-3);border-radius:var(--r-md);padding:8px 6px 7px;display:grid;justify-items:center;gap:1px;line-height:1.2;cursor:pointer;position:relative;transition:background .15s,color .15s,border-color .15s}.daystrip button .d{font-size:10px;font-weight:600;letter-spacing:.1em}.daystrip button .n{font-size:17px;font-weight:400;color:var(--ink);font-variant-numeric:tabular-nums}.daystrip button .t{font-size:9.5px;white-space:nowrap;color:var(--ink-3);max-width:60px;overflow:hidden;text-overflow:ellipsis}.daystrip button.on{background:var(--cta);border-color:transparent;color:var(--cta-ink)}.daystrip button.on .n,.daystrip button.on .t{color:var(--cta-ink)}.daystrip button.today:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent)}.daystrip button.on.today:after{background:var(--cta-ink)}.daystrip button.done:not(.on){border-color:var(--line-strong)}.daystrip button.done:not(.on) .n{color:var(--good)}.daystrip .icon-btn{width:34px;height:34px;flex:0 0 auto;border-color:transparent}.session .s-day{font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}.session h2{font-size:22px;font-weight:500;letter-spacing:-.02em}.goal{color:var(--ink-2);font-size:14px}.blk{display:grid}.blk>h3{font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding:20px 0 4px;display:flex;justify-content:space-between;gap:8px;align-items:baseline}.blk>h3 .t{text-transform:none;letter-spacing:0;font-weight:400;font-size:11.5px}.ex{border-top:1px solid var(--line)}.ex-row{display:grid;grid-template-columns:24px 1fr auto;gap:12px;align-items:start;padding:13px 0}.ex-row.ro{grid-template-columns:1fr auto}.ex-tools{display:flex;align-items:center;gap:0;margin-top:1px}.ex-tools .tip-btn{color:var(--ink-3)}.ex-row .box{width:22px;height:22px;margin-top:2px;border-radius:50%;border:1.5px solid var(--line-strong);background:transparent;display:grid;place-items:center;cursor:pointer;color:var(--cta-ink);transition:background .15s,border-color .15s}.ex-row .box.on{background:var(--cta);border-color:var(--cta)}.ex-row .box .icon{width:14px;height:14px}.ex-main{display:grid;gap:4px;min-width:0;cursor:pointer}.ex-main .name{font-weight:500;font-size:15px;line-height:1.3}.ex.done .ex-main .name{color:var(--ink-3);text-decoration:line-through;text-decoration-color:var(--ink-3)}.ex-main .spec{display:flex;flex-wrap:wrap;align-items:center}.ex-main .cue{font-size:13px;color:var(--ink-2)}.s-head .meta,.card .meta{font-size:13px;color:var(--ink-3);margin-top:2px}.count{text-align:right}.ex-main .last{font-size:12.5px;color:var(--ink-3);display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ex-main .last b{color:var(--ink-2);font-weight:500;font-family:IBM Plex Mono,ui-monospace,monospace}.ex-toggle{background:none;border:0;color:var(--ink-3);cursor:pointer;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;transition:transform .15s,color .15s}.ex-toggle.open{transform:rotate(90deg);color:var(--ink)}.ex-body{padding:0 0 0 36px;display:grid;grid-template-rows:1fr;animation:unfold .28s var(--ease-out)}.ex-body-in{min-height:0;overflow:hidden;display:grid;gap:12px;padding-bottom:16px}@media (max-width: 420px){.ex-body{padding-left:0}}.sets{display:grid;gap:8px}.sets .last{font-size:12.5px;color:var(--ink-3)}.sets .last b{color:var(--ink-2);font-weight:500;font-family:IBM Plex Mono,ui-monospace,monospace}.set{display:grid;grid-template-columns:22px 1fr 1fr 64px 42px;gap:6px;align-items:center}.set .idx{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;color:var(--ink-3);text-align:center}.set.done .idx{color:var(--good)}.set-in{position:relative}.set-in input{width:100%;min-height:42px;text-align:center;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font-family:Poppins,sans-serif;font-variant-numeric:tabular-nums;font-size:16px;font-weight:400;padding:0 18px 0 6px}.set-in input:focus{border-color:var(--line-strong);outline:none}.set-in input::placeholder{color:var(--ink-3);font-size:12.5px}.set-in .suffix{position:absolute;right:7px;top:50%;transform:translateY(-50%);font-size:10px;color:var(--ink-3);pointer-events:none}.set.done .set-in input{color:var(--good);border-color:transparent;background:color-mix(in srgb,var(--good) 8%,transparent)}.set .rpe{min-height:42px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font-family:Poppins,sans-serif;font-variant-numeric:tabular-nums;font-weight:400;text-align:center;padding:0 6px}.set .ok{min-height:42px;border-radius:50%;border:1.5px solid var(--line-strong);background:transparent;color:var(--ink-3);display:grid;place-items:center;cursor:pointer;transition:background .15s,color .15s}.set.done .ok{background:var(--cta);color:var(--cta-ink);border-color:transparent}.quick{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.set-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:2px}.sets-foot{padding-top:2px}.accent-text{color:var(--accent);font-weight:500}.plates{font-size:12.5px;color:var(--ink-3)}.plates b{font-family:IBM Plex Mono,ui-monospace,monospace;color:var(--ink-2);font-weight:500}.pr-flash{display:inline-flex;align-items:center;gap:6px;color:var(--pr);font-weight:600;font-size:12.5px;letter-spacing:.04em}.mini{margin-top:6px;padding:14px 16px;border-radius:var(--r-md);background:var(--surface-2);display:grid;gap:4px}.mini h3{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.mini p{font-size:14px;color:var(--ink-2)}.timerbar{position:fixed;left:16px;right:16px;bottom:calc(var(--tab-h) + 12px + env(safe-area-inset-bottom,0px));z-index:25;background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--line-strong);border-radius:999px;padding:8px 8px 8px 18px;display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;max-width:688px;margin-inline:auto}.timerbar .time{font-family:Poppins,sans-serif;font-variant-numeric:tabular-nums;font-size:26px;font-weight:300;line-height:1;letter-spacing:-.02em}.timerbar .time.over{color:var(--good)}.timerbar .bar{height:3px;background:var(--line);border-radius:2px;overflow:hidden}.timerbar .bar i{display:block;height:100%;background:var(--accent);transition:width .25s linear}.timerbar .lbl{font-size:11px;color:var(--ink-3);margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timerbar .btn.sm{min-height:36px}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0000008c;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--surface);width:100%;max-width:720px;max-height:92vh;border-radius:24px 24px 0 0;border:1px solid var(--line);border-bottom:0;display:flex;flex-direction:column;animation:up .28s var(--ease-out)}@keyframes up{0%{transform:translateY(32px);opacity:.4}to{transform:none;opacity:1}}@media (prefers-reduced-motion: reduce){.sheet{animation:none}}.sheet-handle{width:36px;height:4px;border-radius:2px;background:var(--line-strong);margin:10px auto 0}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:12px 20px 8px}.sheet-head h2{font-size:18px}.sheet-body{padding:6px 20px 18px;overflow-y:auto;display:grid;gap:12px}.sheet-foot{padding:12px 20px calc(16px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);display:flex;gap:8px}.sheet-foot .btn{flex:1}.chart{position:relative;width:100%;touch-action:pan-y}.chart svg{display:block;width:100%}.chart .grid{stroke:var(--line);stroke-width:1}.chart .tick{fill:var(--ink-3);font-size:10.5px;font-family:IBM Plex Mono,ui-monospace,monospace}.chart .refline{stroke:var(--ink-3);stroke-width:1;stroke-dasharray:3 5}.chart .line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart .dot{stroke:var(--surface);stroke-width:2}.chart .dot.ring{stroke-width:2.5}.chart .cursor{stroke:var(--ink-3);stroke-width:1;stroke-dasharray:2 4}.chart-tip{position:absolute;top:4px;background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 10px;font-size:12px;pointer-events:none;display:grid;gap:2px;min-width:124px}.chart-tip-x{color:var(--ink-3);font-family:IBM Plex Mono,ui-monospace,monospace}.chart-tip-row{display:flex;align-items:center;gap:6px}.chart-tip-row i,.legend i{width:8px;height:8px;border-radius:50%;display:inline-block}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--ink-2);padding-top:8px}.legend span{display:inline-flex;align-items:center;gap:6px}.chart-empty{color:var(--ink-3);font-size:13.5px;padding:22px 0;text-align:center}.toasts{position:fixed;left:0;right:0;bottom:calc(var(--tab-h) + 86px + env(safe-area-inset-bottom,0px));z-index:60;display:grid;justify-items:center;gap:6px;pointer-events:none}.toast{background:var(--cta);color:var(--cta-ink);padding:9px 16px;border-radius:999px;font-size:13px;font-weight:500;animation:toast-life 2.6s var(--ease-out) both}.toast.pr{background:var(--pr);color:#1a1200}.toast.bad{background:var(--bad);color:#fff}.empty{display:grid;justify-items:center;gap:6px;text-align:center;color:var(--ink-2);padding:22px 8px}.empty .icon{color:var(--ink-3)}.empty strong{font-weight:500;color:var(--ink)}.empty p{font-size:13px;max-width:40ch}.banner{background:var(--accent-soft);color:var(--accent);border-radius:var(--r-sm);padding:9px 12px;font-size:13px;display:flex;gap:8px;align-items:center}.banner.warn{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}.divider{height:1px;background:var(--line)}.inline-actions{display:flex;gap:8px;align-items:center;flex:0 0 auto}.kv{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.kv:last-child{border-bottom:0}.kv .k{font-size:14px}.kv .v{font-family:IBM Plex Mono,ui-monospace,monospace;font-weight:500;font-size:13.5px;color:var(--ink-2)}.week-row{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:-6px}.wday{display:grid;justify-items:center;gap:6px;background:none;border:0;padding:4px 0;cursor:pointer;color:var(--ink-3);border-radius:var(--r-sm)}.wday .wd-l{font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.wday .wd-s{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line-strong);display:grid;place-items:center;color:var(--cta-ink);transition:background .15s,border-color .15s}.wday.done .wd-s{background:var(--cta);border-color:var(--cta)}.wday.rest .wd-s{border-style:dashed;border-color:var(--line);color:var(--ink-3)}.wday .wd-c{width:6px;height:6px;border-radius:50%;background:var(--line-strong);transition:background .15s,transform .15s}.wday.counted .wd-c{background:var(--accent);transform:scale(1.3)}.wday:hover{background:var(--surface-2)}.export-row{align-items:center}.export-row .btn.ghost{flex:1}.export-row .icon-btn{flex:0 0 auto}.pilot-target{display:flex;align-items:center;justify-content:space-between;gap:12px}.pilot-kcal{font-size:15px;color:var(--ink-2)}.pilot-kcal .num{font-size:30px;font-weight:300;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}.pilot .stats{margin-top:-4px}.pilot .btn-row .btn.ghost{flex:0 0 auto}.pilot .btn-row .btn{white-space:normal}.verdict b{font-weight:600;color:var(--ink)}.verdict{border-left:2px solid var(--ink-3);padding:10px 14px;font-size:14px;color:var(--ink-2)}.verdict.warn{border-color:var(--warn);color:var(--ink)}.verdict.good{border-color:var(--good);color:var(--ink)}.verdict.bad{border-color:var(--bad);color:var(--ink)}.table{width:100%;border-collapse:collapse;font-size:13.5px}.table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);font-weight:600;padding:6px 6px 8px 0;border-bottom:1px solid var(--line)}.table td{padding:9px 6px 9px 0;border-bottom:1px solid var(--line);vertical-align:top}.table tr:last-child td{border-bottom:0}.table .num{font-family:IBM Plex Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;text-align:right}.table th.num{text-align:right}.table-wrap{overflow-x:auto}.shop-item{display:grid;grid-template-columns:22px 1fr auto 28px;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.shop-item:last-child{border-bottom:0}.shop-item .box{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line-strong);background:transparent;display:grid;place-items:center;cursor:pointer;color:var(--cta-ink);transition:background .15s}.shop-item .box.on{background:var(--cta);border-color:var(--cta)}.shop-item .box .icon{width:14px;height:14px}.shop-item.done .name{text-decoration:line-through;color:var(--ink-3)}.shop-item .qty{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12.5px;color:var(--ink-2);white-space:nowrap}.shop-item .del{background:none;border:0;color:var(--ink-3);cursor:pointer;padding:4px}.shop-add{display:grid;grid-template-columns:minmax(0,1fr) 84px 42px;gap:6px;align-items:center}.shop-add input{min-height:42px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);color:var(--ink);padding:0 12px}.shop-add input:focus{border-color:var(--line-strong);outline:none}.recipe{display:grid;gap:10px}.recipe .ings{font-size:13px;color:var(--ink-2)}.recipe .method{font-size:13.5px;color:var(--ink-2);border-left:2px solid var(--line-strong);padding-left:12px}.login{min-height:100%;display:grid;place-items:center;padding:28px 20px calc(28px + env(safe-area-inset-bottom,0px))}.login .card{width:100%;max-width:400px;gap:18px}.login .logo{display:grid;gap:10px;justify-items:start}.login .logo img{width:44px;height:44px;border-radius:12px}.login h1{font-size:28px;font-weight:500;letter-spacing:-.02em}.login .err{color:var(--bad);font-size:13.5px}.or{display:flex;align-items:center;gap:12px;color:var(--ink-3);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}.acc{border-top:1px solid var(--line)}.acc>button{width:100%;background:none;border:0;text-align:left;padding:13px 0;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;cursor:pointer}.acc>button .t{font-weight:500}.acc>button .s{font-size:12.5px;color:var(--ink-3)}.acc .acc-body{display:grid;grid-template-rows:1fr;animation:unfold .3s var(--ease-out)}.acc .acc-body-in{min-height:0;overflow:hidden;display:grid;gap:8px;padding-bottom:14px}.acc .acc-body p{font-size:14px;color:var(--ink-2)}.phase{display:grid;gap:6px;padding:14px 0;border-top:1px solid var(--line)}.phase .when{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;color:var(--ink-3)}.phase h3{font-size:16px}.phase p{font-size:14px;color:var(--ink-2)}.phase .target{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px;font-weight:500;color:var(--ink)}.phase.current{border-top-color:var(--accent)}.phase.current h3:after{content:"en cours";font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-left:10px;font-weight:600;vertical-align:middle}.icon.flip{transform:scaleX(-1)}.icon.rot{transform:rotate(-90deg)}.tip-btn{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;border:0;background:transparent;color:var(--ink-3);cursor:pointer;vertical-align:middle;margin-left:2px;transition:color .15s,background .15s}.tip-btn:hover,.tip-btn.on{color:var(--ink);background:var(--surface-3)}h2 .tip-btn{position:relative;top:-2px}.tip-bubble{position:fixed;z-index:70;background:var(--surface-3);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:12px 14px;font-size:13.5px;line-height:1.5;box-shadow:0 12px 32px #00000059;animation:fade .12s ease-out}.tip-title{font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}.tip-text{color:var(--ink-2)}@keyframes fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch-track{width:44px;height:26px;border-radius:999px;background:var(--surface-3);border:1px solid var(--line-strong);position:relative;transition:background .15s,border-color .15s;flex:0 0 auto}.switch-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--ink-2);transition:transform .18s,background .15s}.switch input:checked+.switch-track{background:var(--cta);border-color:var(--cta)}.switch input:checked+.switch-track .switch-thumb{transform:translate(18px);background:var(--cta-ink)}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}.switch-label{font-size:14px}.card.compact{padding:14px 16px;gap:10px}.kv.flush{border:0;padding:0}.kv .k{display:inline-flex;align-items:center;gap:2px}.morning-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.morning-text{font-size:15px;display:flex;align-items:baseline;flex-wrap:wrap;gap:0 4px}.morning-text .num{font-size:26px;font-weight:300;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.delta{font-size:12.5px;font-weight:500;margin-left:6px;font-variant-numeric:tabular-nums;color:var(--ink-3)}.delta.good{color:var(--good)}.delta.bad{color:var(--bad)}.num{font-variant-numeric:tabular-nums}.morning-edit{display:grid;grid-template-columns:48px 1fr 48px;gap:8px;align-items:stretch}.morning-edit .step{border:1px solid var(--line);background:transparent;border-radius:var(--r-md);font-size:22px;font-weight:300;color:var(--ink-2);cursor:pointer}.morning-input{position:relative}.morning-input input{width:100%;height:100%;min-height:56px;text-align:center;border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface-2);color:var(--ink);font-size:28px;font-weight:300;letter-spacing:-.02em;font-variant-numeric:tabular-nums;padding:0 36px 0 12px}.morning-input input:focus{outline:none;border-color:var(--accent)}.morning-input span{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--ink-3)}.progress{height:3px;background:var(--line);border-radius:2px;overflow:hidden}.progress span{display:block;height:100%;background:var(--cta);transition:width .25s}.progress.thin span{background:var(--accent)}.banner .grow,.quick .grow{flex:1}.banner.good{background:color-mix(in srgb,var(--good) 10%,transparent);color:var(--good)}.banner-x{background:none;border:0;color:inherit;opacity:.7;cursor:pointer;display:grid;place-items:center;padding:2px}.offline{margin-left:6px;color:var(--warn)}.sets-target{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink);font-weight:500;padding:8px 10px;border-radius:var(--r-sm);background:var(--surface-2)}.sets-target.up{color:var(--good)}.sets-target.down,.sets-target.deload{color:var(--warn)}.sets-target.start,.sets-target.reps,.sets-target.hold{color:var(--ink-2)}.sets-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.5px;color:var(--ink-3);align-items:center}.sets-meta b{color:var(--ink-2);font-weight:500;font-family:IBM Plex Mono,ui-monospace,monospace}.sets-meta .pill{padding:2px 8px;font-size:11.5px}.rem{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.rem:last-child{border-bottom:0}.rem-main{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.rem-label{font-size:14px;display:inline-flex;align-items:center;gap:2px}.rem-time{min-height:36px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);color:var(--ink);padding:0 8px;font-variant-numeric:tabular-nums;width:118px;text-align:center}.rem-time:disabled{opacity:.35}.devices{margin-top:4px}.dev{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.dev:last-of-type{border-bottom:0}.dev-main{display:grid;gap:2px;min-width:0}.dev-t{font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.devices>.btn{margin-top:10px}.row.staples{grid-template-columns:auto 1fr auto}.row.pick{grid-template-columns:1fr auto;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;padding:12px 2px}.row.pick:last-child{border-bottom:0}.row.pick.on .title{color:var(--ink)}.row.pick:not(.on) .title{color:var(--ink-2)}.row.pick:active{background:var(--surface-2)}.row-label{display:inline-flex;align-items:center;gap:2px;margin-bottom:8px}.acc.accent>button .t{color:var(--accent)}.acc-goal{font-size:14px;color:var(--ink-2);padding-bottom:4px}.timer-mid{min-width:0}.ex-body .numfield-row{grid-template-columns:36px 1fr 36px}.ex-body .numfield .step{min-height:42px;font-size:18px}.ex-body .numfield-input input{min-height:42px;font-size:16px;padding:0 6px}.row-actions{display:flex;gap:6px;align-items:center;flex:0 0 auto}.btn.grow{flex:2}.slots{display:grid;gap:8px}.slots-head{display:flex;align-items:center;justify-content:space-between}.slots-head .eyebrow{display:inline-flex;align-items:center;gap:2px}.slots-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.slot{position:relative;display:grid;gap:4px;justify-items:center;min-width:0}.slot img,.slot-add{width:100%;aspect-ratio:3 / 4;border-radius:var(--r-md);object-fit:cover;display:block;cursor:pointer}.slot-add{border:1px dashed var(--line-strong);background:var(--surface-2);color:var(--ink-3);display:grid;place-items:center;transition:color .15s,border-color .15s,background .15s}.slot-add:hover{color:var(--ink);border-color:var(--ink-3)}.slot-add:disabled{opacity:.5;cursor:default}.slot img{border:1px solid var(--line)}.slot-x{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;border:0;background:#0a0c0fb3;color:#fff;display:grid;place-items:center;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.slot-label{font-size:11px;color:var(--ink-3);letter-spacing:.04em}.slots.compact .slot img,.slots.compact .slot-add{aspect-ratio:1;max-height:96px}.slots.compact .slots-row{max-width:320px}.photo-row{display:grid;grid-template-columns:92px 1fr;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.photo-row:last-child{border-bottom:0}.photo-meta{display:grid;gap:2px;min-width:0}.photo-meta b{font-weight:500;font-size:14px}.photo-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.photo-thumbs img,.thumb-empty{width:100%;aspect-ratio:3 / 4;border-radius:var(--r-sm);object-fit:cover;display:block;border:1px solid var(--line);cursor:pointer}.thumb-empty{border-style:dashed;background:var(--surface-2);cursor:default}.compare{display:grid;grid-template-columns:1fr 1fr;gap:10px}.compare figure{margin:0;display:grid;gap:8px;min-width:0}.compare img{width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:var(--r-md);border:1px solid var(--line);display:block;cursor:zoom-in}.compare figcaption select{width:100%;min-height:40px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);color:var(--ink);padding:0 10px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12.5px}.photo-full{width:100%;max-height:70vh;object-fit:contain;border-radius:var(--r-md);display:block;background:#000}.gif-box{position:relative;justify-self:center;width:300px;max-width:100%;height:300px;border-radius:var(--r-md);overflow:hidden;background:#fff;border:1px solid var(--line)}@media (max-width: 340px){.gif-box{height:260px}}.gif-box img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .25s}.gif-box.ready img{opacity:1}.gif-box.error,.gif-box.none{background:var(--surface-2)}.gif-skel{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,var(--surface-2) 30%,var(--surface-3) 50%,var(--surface-2) 70%);background-size:200% 100%;animation:shimmer 1.2s infinite linear}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.gif-skel{animation:none}}.gif-off{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:8px;color:var(--ink-3);font-size:12.5px;text-align:center;padding:16px}.fiche-meta{display:grid;gap:8px}.muscle-chips{display:flex;flex-wrap:wrap;gap:6px}.fiche-note{display:flex;gap:6px;align-items:flex-start}.fiche-note .icon{flex:0 0 auto;margin-top:2px}.fiche-block{display:grid;gap:8px}.fiche-steps{margin:0;padding-left:20px;display:grid;gap:6px;font-size:14px;line-height:1.5}.fiche-steps li::marker{color:var(--ink-3);font-weight:600}.fiche-steps.en{font-size:13px;color:var(--ink-2)}.fiche-cue{font-size:13.5px;color:var(--ink-2);line-height:1.5}.fiche-credit{text-align:center;padding-top:4px}.fiche-credit a{color:var(--ink-2)}.icon.flip{transform:rotate(180deg)}.icon.muted{color:var(--ink-3)}.search-row{display:grid;grid-template-columns:minmax(0,1fr) 128px;gap:8px}.search-box{display:flex;align-items:center;gap:8px;min-width:0;min-height:44px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);padding:0 12px 0 14px;color:var(--ink-3)}.search-box:focus-within{border-color:var(--line-strong);color:var(--ink-2)}.search-box input{flex:1;width:0;min-width:0;border:0;background:transparent;color:var(--ink);font-size:14.5px;padding:0}.search-box input:focus{outline:none}.search-box input::-webkit-search-cancel-button{display:none}.filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.filters select,.search-row select{min-height:44px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);color:var(--ink);padding:0 10px;font-size:13.5px;min-width:0}.filters select{width:100%}@media (max-width: 400px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filters select:first-child{grid-column:1 / -1}}.lib-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.lib-row:last-child{border-bottom:0}.lib-row.single{width:100%;background:none;border-left:0;border-right:0;border-top:0;color:inherit;text-align:left;cursor:pointer;font:inherit}.lib-main{display:grid;gap:2px;min-width:0;background:none;border:0;color:inherit;text-align:left;padding:0;cursor:pointer;font:inherit}.lib-main .name{font-weight:500;font-size:14.5px}.icon-btn.sm{width:34px;height:34px}.swap-tag{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--accent);font-weight:500}.swap-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding-top:10px}.swap-row .small{display:inline-flex;align-items:center;gap:5px}.swap-row .btn{white-space:normal}.bars{display:grid;gap:8px}.bar-row{display:grid;grid-template-columns:128px minmax(0,1fr) 36px;gap:10px;align-items:center;font-size:13px}.bar-label{color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track{height:8px;border-radius:4px;background:var(--surface-3);overflow:hidden}.bar-track i{display:block;height:100%;border-radius:4px;background:var(--accent);min-width:4px}.bar-val{text-align:right;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12.5px;color:var(--ink-2)}@media (max-width: 380px){.bar-row{grid-template-columns:104px minmax(0,1fr) 32px}}.sheet.tall{height:92vh;height:92dvh}.sheet.tall .sheet-body{flex:1;min-height:0;align-content:start}:root{--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1)}.screen-enter{display:grid;gap:14px;align-content:start;margin-inline:-20px;padding-inline:20px;animation:screen-in .3s var(--ease-out) backwards}.screen-enter>*{animation:rise .45s var(--ease-out) backwards}.screen-enter>:nth-child(2){animation-delay:40ms}.screen-enter>:nth-child(3){animation-delay:80ms}.screen-enter>:nth-child(4){animation-delay:.12s}.screen-enter>:nth-child(5){animation-delay:.16s}.screen-enter>:nth-child(n+6){animation-delay:.2s}@keyframes screen-in{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@keyframes pop{0%{transform:scale(.6)}60%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes unfold{0%{grid-template-rows:0fr;opacity:0}to{grid-template-rows:1fr;opacity:1}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes down{to{transform:translateY(100%);opacity:.6}}@keyframes toast-life{0%{opacity:0;transform:translateY(8px) scale(.96)}8%,86%{opacity:1;transform:none}to{opacity:0;transform:translateY(6px)}}@keyframes grow{0%{transform:scaleX(0)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes pulse{50%{opacity:.5}}.btn,.icon-btn,.tabbar button .icon,.daystrip button,.ex-row .box,.set .ok,.wday,.step,.tip-btn,.acc>button,.lib-row.single,.lib-main,.shop-item .box,.ex-toggle,.slot-add,.quick .btn{transition-property:transform,background-color,color,border-color,opacity,box-shadow;transition-duration:.18s;transition-timing-function:var(--ease-out)}.btn:active,.icon-btn:active,.daystrip button:active,.wday:active,.set .ok:active,.ex-row .box:active,.step:active,.lib-row.single:active,.slot-add:active,.shop-item .box:active{transform:scale(.96)}.tabbar button:active .icon{transform:scale(.9)}.tabbar button .icon{transition:transform .3s var(--ease-spring),color .15s}.tabbar button.on .icon{transform:translateY(-2px)}.ex-row .box.on .icon,.set.done .ok .icon,.wday.done .wd-s .icon,.wday.counted .wd-c{animation:pop .32s var(--ease-spring)}.ex.done .ex-main .name{transition:color .3s var(--ease-out),text-decoration-color .3s}.set .set-in input,.set .rpe{transition:background-color .25s var(--ease-out),border-color .25s,color .25s}.pr-flash{animation:pop .4s var(--ease-spring)}.morning-text .num{display:inline-block;animation:pop .35s var(--ease-spring)}.banner{animation:rise .35s var(--ease-out) backwards}.sheet-backdrop{animation:fade-in .2s var(--ease-out)}.sheet-backdrop.closing{animation:fade-out .18s var(--ease-out) forwards;pointer-events:none}.sheet.closing{animation:down .18s var(--ease-out) forwards}.timerbar{animation:up .28s var(--ease-out)}.timerbar .time.soon{animation:pulse .8s ease-in-out infinite}.bar-track i{transform-origin:left;animation:grow .6s var(--ease-out) backwards}.chart .line{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1s var(--ease-out) .1s forwards}.chart .dot:not(.ring){animation:fade-in .4s var(--ease-out) .7s both}.list>.lib-row,.list>.photo-row,.list>.row{animation:rise .35s var(--ease-out) backwards}.list>:nth-child(1){animation-delay:0ms}.list>:nth-child(2){animation-delay:25ms}.list>:nth-child(3){animation-delay:50ms}.list>:nth-child(4){animation-delay:75ms}.list>:nth-child(5){animation-delay:.1s}.list>:nth-child(6){animation-delay:125ms}.list>:nth-child(7){animation-delay:.15s}.list>:nth-child(8){animation-delay:175ms}.list>:nth-child(9){animation-delay:.2s}.list>:nth-child(n+10){animation-delay:225ms}.acc>button .icon{transition:transform .28s var(--ease-out)}.gif-box img{transition:opacity .35s var(--ease-out)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}}.ex-row .box.off{border-color:var(--line);color:var(--ink-3);background:transparent}.ex.skip .ex-main .name{color:var(--ink-3)}.ex.skip .ex-main .spec{opacity:.6}.finish-review{display:grid;gap:10px}.fin-row{grid-template-columns:minmax(0,1fr) auto}.fin-row .title{font-size:14px}.btn.xs.primary{background:var(--cta);color:var(--cta-ink);border-color:transparent}.plan-form{display:grid;gap:12px}.plan-form .numfield-row{grid-template-columns:44px minmax(0,1fr) 44px}.plan{display:grid;gap:12px;padding-top:4px;border-top:1px solid var(--line)}.plan-total{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.plan-total .num{font-size:24px;font-weight:300;letter-spacing:-.02em}.plan-pick{min-height:38px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);padding:0 10px;font-size:12.5px;max-width:150px}.plan-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.plan-tips{margin:0;padding-left:18px;display:grid;gap:4px;font-size:13px;color:var(--ink-2)}.key-row{grid-template-columns:minmax(0,1fr) 38px 38px}.key-row input{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px}.spinner{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .8s linear infinite;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}.checkin{display:grid;gap:6px}.checkin-row{display:flex;align-items:center;gap:10px}.checkin-row .k{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);width:62px;flex:0 0 auto}.chips-pick{display:flex;gap:6px;flex-wrap:wrap}.chip-btn{border:1px solid var(--line);background:transparent;color:var(--ink-2);border-radius:999px;padding:0 11px;min-height:28px;font:inherit;font-size:12.5px;cursor:pointer;transition:background .15s var(--ease-out),color .15s var(--ease-out),border-color .15s var(--ease-out)}.chip-btn.on{background:var(--cta);color:var(--cta-ink);border-color:transparent}.chip-btn:active{transform:scale(.97)}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-h{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);text-align:center;padding-bottom:2px}.cal-d{display:grid;justify-items:center;gap:3px;background:none;border:1px solid transparent;border-radius:var(--r-sm);padding:6px 0 5px;cursor:pointer;color:var(--ink-2);font:inherit;transition:background .15s var(--ease-out)}.cal-d .n{font-size:14px;font-variant-numeric:tabular-nums;line-height:1}.cal-d .m{display:flex;gap:3px;height:6px}.cal-d .m i{width:6px;height:6px;border-radius:50%;background:transparent}.cal-d .m i.s{background:var(--ink)}.cal-d .m i.c{background:var(--accent)}.cal-d.has{color:var(--ink)}.cal-d.today{border-color:var(--line-strong)}.cal-d.sel{background:var(--surface-2);color:var(--ink)}.cal-d.future{opacity:.35}.cal-d:active{transform:scale(.96)}.jr{padding:10px 0;border-bottom:1px solid var(--line);display:grid;gap:3px}.jr:last-child{border-bottom:0}.jr-t{font-weight:500;font-size:14.5px}
