@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-standard-normal-rJmnGBSt.woff2) format("woff2-variations");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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-standard-normal-7khWdh9v.woff2) format("woff2-variations");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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-standard-normal-DY7AcnAa.woff2) format("woff2-variations");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{--blue:#254186;--navy:#263350;--night:#161E33;--accent:#3666BB;--sky:#6B92C4;--pale:#BFCBDB;--white:#FCFCFC;--bg:#F2F5FA;--surface:#ffffff;--surface2:#EEF2F8;--fg:#263350;--muted:#5d6a85;--line:#e3e8f1;--title:#254186;--cta:#3666BB;--ctafg:#FCFCFC;--good:#2f8f5b;--warn:#b5720f;--bad:#c2413b;--display:"Archivo Variable","Arial Narrow",sans-serif;--body:"Archivo Variable",system-ui,-apple-system,sans-serif;--mono:"Archivo Variable",system-ui,sans-serif;--gx:max(16px,env(safe-area-inset-left));color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}html,body,#root{min-height:100vh;min-height:100lvh}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.45 var(--body);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 0}.app{max-width:560px;margin:0 auto;min-height:100%;min-height:100lvh;display:flex;flex-direction:column;background:var(--bg)}:root{--halo-shape:ellipse 620px 520px;--halo-stops:#2b4f93 0%,#1f3461 30%,#1a2747 52%,#161E33 76%}.top{position:sticky;top:0;z-index:5;background:radial-gradient(var(--halo-shape) at 100% 0,var(--halo-stops));color:#fcfcfc;padding:calc(10px + env(safe-area-inset-top)) var(--gx) 10px var(--gx);display:flex;align-items:center;gap:6px;min-height:calc(60px + env(safe-area-inset-top))}.top .logo{height:36px;width:auto;filter:brightness(0) invert(1)}.hbtn{width:40px;height:40px;border:0;border-radius:12px;background:#ffffff1a;color:#fcfcfc;display:grid;place-items:center;cursor:pointer;flex:none}.hbtn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.hbtn.back{width:auto;display:flex;align-items:center;gap:2px;padding:0 14px 0 6px;border-radius:999px;background:#ffffff24;font:600 15px var(--body);color:#fff}.hbtn.back svg{width:22px;height:22px;stroke-width:2.6}.hbtn.back:active{background:#ffffff3d}.top .sp{flex:1}main{flex:1;padding:18px var(--gx) 110px;display:flex;flex-direction:column;gap:14px}nav.tabs{position:fixed;left:0;right:0;bottom:0;z-index:6;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}nav.tabs .in{max-width:560px;margin:0 auto;display:grid;grid-auto-flow:column;grid-auto-columns:1fr}nav.tabs a{padding:10px 2px 12px;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--muted);font:500 11px var(--body);text-decoration:none;position:relative}nav.tabs a svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8}nav.tabs a.active{color:var(--blue)}nav.tabs a.active svg{stroke-width:2.2}nav.tabs .badge{position:absolute;top:6px;left:calc(50% + 6px);background:var(--bad);color:#fff;font:600 10px var(--body);border-radius:999px;padding:1px 5px}h1{font:800 34px/1 var(--display);font-stretch:68%;margin:0;color:var(--title);text-wrap:balance;letter-spacing:-.005em}h2{font:750 20px/1.15 var(--display);font-stretch:75%;margin:0;color:var(--title)}.eyebrow{font:500 14px var(--body);color:var(--muted)}.eyebrow:first-letter{text-transform:uppercase}.sub{color:var(--muted);margin:4px 0 0}.card{background:var(--surface);border:0;border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px #dfe5ef,0 1px 2px #2633500a}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.kpi{background:var(--surface);border-radius:16px;padding:12px;min-width:0;box-shadow:0 1px #dfe5ef}.kpi .v{font:800 26px/1.1 var(--display);font-stretch:72%;color:var(--title);font-variant-numeric:tabular-nums}.kpi .l{font-size:12px;color:var(--muted)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:12px}.pill{font:600 11px var(--body);padding:3px 8px;border-radius:999px;white-space:nowrap}.pill.good{background:color-mix(in srgb,var(--good) 16%,transparent);color:var(--good)}.pill.warn{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}.pill.bad{background:color-mix(in srgb,var(--bad) 16%,transparent);color:var(--bad)}.pill.info{background:color-mix(in srgb,var(--cta) 16%,transparent);color:var(--cta)}.avatar{width:38px;height:38px;border-radius:50%;background:var(--blue);color:#fcfcfc;display:grid;place-items:center;font:800 14px var(--display);font-stretch:80%;flex:none;letter-spacing:.02em}.list{display:flex;flex-direction:column}.li{display:flex;align-items:center;gap:12px;padding:12px 0;border:0;border-bottom:1px solid var(--line);background:none;width:100%;text-align:left;color:inherit;font:inherit;text-decoration:none;cursor:pointer}.li:last-child{border-bottom:0}.li .t{flex:1;min-width:0}.li .t b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis}.li .t small{color:var(--muted)}.btn{border:0;background:var(--cta);color:var(--ctafg);font:600 15px var(--body);padding:13px 18px;border-radius:14px;cursor:pointer;text-decoration:none;text-align:center}.btn:disabled{opacity:.5;cursor:default}.btn.ghost{background:var(--surface2);color:var(--title)}.btn.danger{background:none;color:var(--bad);padding-inline:6px}.btn.sm{padding:8px 13px;font-size:13px;border-radius:11px}.btn.full{width:100%}.link{border:0;background:none;color:var(--cta);font:600 14px var(--body);padding:0;cursor:pointer;text-decoration:none}input,select,textarea{font:inherit;font-size:16px;color:var(--fg);background:var(--surface);border:1px solid #d6deea;border-radius:11px;padding:10px 12px;width:100%;min-width:0}label.f,div.f{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted);font-weight:500}:focus-visible{outline:2px solid var(--cta);outline-offset:2px}.seg{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.seg button{border:1px solid #d6deea;background:var(--surface);color:var(--fg);font:600 13px var(--body);padding:8px 14px;border-radius:999px;cursor:pointer;white-space:nowrap}.seg button.on{background:var(--blue);border-color:var(--blue);color:#fcfcfc}.ex{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line)}.ex:last-child{border-bottom:0}.code{font:800 24px/1 var(--display);font-stretch:68%;color:var(--accent);min-width:34px}.params{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}.params input{padding:6px;text-align:center;font-family:var(--mono);font-size:13px}.params span{font-size:11px;color:var(--muted);text-align:center}.yt{display:inline-flex;align-items:center;gap:5px;font:600 12px var(--body);color:var(--cta);text-decoration:none}.x{border:0;background:none;color:var(--muted);cursor:pointer;font-size:20px;line-height:1;padding:2px 6px}.tag{font:500 12px var(--body);color:var(--muted);background:var(--surface2);padding:3px 8px;border-radius:7px;white-space:nowrap}table.sets{width:100%;border-collapse:collapse;font-size:13px}.sets th{font:600 11px var(--body);color:var(--muted);text-align:left;padding:4px}.sets td{padding:4px}.sets input{padding:6px;font-family:var(--mono);text-align:center}.chart svg{width:100%;height:auto;display:block}.chat{display:flex;flex-direction:column;gap:8px;flex:1 0 auto;min-height:calc(100dvh - 330px - env(safe-area-inset-bottom))}.chat>:first-child{margin-top:auto}.msg{max-width:82%;padding:9px 12px;border-radius:14px;font-size:14px;white-space:pre-wrap;word-wrap:break-word}.msg.me{align-self:flex-end;background:var(--cta);color:var(--ctafg);border-bottom-right-radius:4px}.msg.them{align-self:flex-start;background:var(--surface2);border-bottom-left-radius:4px}.msg time{display:block;font-size:10px;opacity:.7;margin-top:3px}.composer{position:sticky;bottom:calc(70px + env(safe-area-inset-bottom));display:flex;gap:8px;background:var(--bg);padding-block:6px}.range-row{display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-items:center}.range-row input{grid-column:1/-1;padding:0;border:0;accent-color:var(--cta);background:none}.habit{display:flex;align-items:center;gap:10px;padding:8px 0}.habit input{width:22px;height:22px;accent-color:var(--good);flex:none}.dots{display:flex;gap:4px}.dots i{width:11px;height:11px;border-radius:3px;background:var(--line)}.dots i.y{background:var(--good)}.note{font-size:13px;color:var(--muted);border-left:3px solid var(--sky);padding-left:10px;white-space:pre-wrap}.toast{position:fixed;left:50%;bottom:calc(90px + env(safe-area-inset-bottom));transform:translate(-50%);background:var(--night);color:#fcfcfc;padding:10px 16px;border-radius:10px;font-size:14px;z-index:40;max-width:90vw}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;background:#14192a8c;z-index:30;display:flex;align-items:flex-end;justify-content:center}.sheet .panel{background:var(--bg);width:100%;max-width:560px;height:85%;display:flex;flex-direction:column;gap:10px;border-radius:24px 24px 0 0;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.sheet .scroll{overflow:auto;flex:1}.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.photos img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:8px;background:var(--surface2)}.center{min-height:100%;display:grid;place-items:center;padding:24px}.login{width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px;text-align:center}.login img{width:130px;margin:0 auto}.empty{text-align:center;color:var(--muted);padding:24px 8px}.card.on{border-color:var(--cta);box-shadow:0 0 0 1px var(--cta)}button.card{font:inherit;color:inherit}td.good{color:var(--good);font-weight:600}td.bad{color:var(--bad);font-weight:600}.obj{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--line)}.obj .grow{min-width:140px}.days{display:flex;align-items:center;gap:3px}.days button{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font:600 13px var(--mono);color:var(--fg);padding:0}.days button.on{background:var(--cta);border-color:var(--cta);color:#fff}.platebox{background:var(--surface2);border-radius:10px;padding:8px 10px;display:grid;gap:6px}.plate-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.plates{display:inline-flex;align-items:center;gap:2px;padding-left:6px;border-left:3px solid var(--muted)}.plates i{display:inline-flex;align-items:center;justify-content:center;width:20px;border-radius:3px;color:#fff;font:700 8px var(--body);font-style:normal;writing-mode:vertical-rl;transform:rotate(180deg)}.card.pr{border:2px solid #E0B400;background:color-mix(in srgb,#E0B400 8%,var(--surface))}span.good{color:var(--good);font-weight:600}.msgr{display:flex;flex-direction:column;flex:1 0 auto}.msgr-head{position:sticky;top:calc(60px + env(safe-area-inset-top));z-index:4;display:flex;align-items:center;gap:10px;background:var(--bg);padding:6px 0 10px;border-bottom:1px solid var(--line);font-size:17px}.imsg{display:flex;flex-direction:column;gap:2px;flex:1 0 auto;min-height:calc(100dvh - 310px - env(safe-area-inset-bottom));padding:4px 0}.imsg>:first-child{margin-top:auto}.imsg-time{align-self:center;font:600 12px var(--body);color:var(--muted);margin:14px 0 8px}.row-msg{display:flex;align-items:flex-end;gap:6px}.row-msg.me{justify-content:flex-end}.row-msg.last{margin-bottom:8px}.row-msg .av{width:28px;flex:none}.bub{max-width:72%;padding:8px 13px;border-radius:18px;font-size:16px;line-height:1.3;white-space:pre-wrap;word-wrap:break-word}.bub.me{background:var(--cta);color:var(--ctafg)}.bub.them{background:#f0f0f2;color:#111}.bub.me:not(.first){border-top-right-radius:5px}.bub.me:not(.last){border-bottom-right-radius:5px}.bub.them:not(.first){border-top-left-radius:5px}.bub.them:not(.last){border-bottom-left-radius:5px}.seen{align-self:flex-end;margin:-4px 2px 6px}.seen .avatar{font-size:7px!important}.imsg-bar{position:sticky;bottom:calc(66px + env(safe-area-inset-bottom));display:flex;align-items:flex-end;gap:8px;background:var(--bg);padding:8px 0}.imsg-bar textarea{flex:1;resize:none;border:0;border-radius:20px;padding:9px 16px;font:16px var(--body);line-height:1.3;max-height:120px;background:#f0f0f2;color:inherit}.imsg-bar textarea:focus{outline:2px solid color-mix(in srgb,var(--cta) 40%,transparent)}.imsg-bar .send{flex:none;width:38px;height:38px;border:0;background:none;color:var(--cta);display:grid;place-items:center;cursor:pointer}.imsg-bar .send:disabled{opacity:.3}.ptr{position:fixed;top:calc(8px + env(safe-area-inset-top));left:50%;z-index:50;width:40px;height:40px;border-radius:50%;background:var(--surface);color:var(--cta);box-shadow:0 2px 10px #0000002e;display:grid;place-items:center;pointer-events:none}.ptr .spin{animation:ptrspin .7s linear infinite}@keyframes ptrspin{to{transform:rotate(360deg)}}.tut{margin-top:4px;font-family:var(--mono);color:var(--muted)}.tut.ok{color:var(--good)}.tut.off{color:var(--bad);font-weight:700}.voice{display:inline-flex;align-items:center;gap:8px;min-width:170px}.vplay{width:30px;height:30px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;background:#ffffff40;color:inherit;flex:none}.bub.them .vplay{background:var(--cta);color:var(--ctafg)}.vbar{flex:1;height:4px;border-radius:2px;background:#80808059;overflow:hidden}.vbar i{display:block;height:100%}.vtime{font:500 13px var(--body);font-variant-numeric:tabular-nums;letter-spacing:.01em;opacity:.9}.imsg-bar.rec{align-items:center;background:var(--bg)}.recdot{width:10px;height:10px;border-radius:50%;background:var(--bad);animation:recblink 1s infinite}@keyframes recblink{50%{opacity:.25}}.vcancel{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--surface);font-size:20px;cursor:pointer;color:var(--muted)}.grow{flex:1}.rectime{font:500 16px var(--body);font-variant-numeric:tabular-nums;color:var(--fg)}.rectime small{font-size:13px;color:var(--muted);font-weight:400}.reclabel{font:500 14px var(--body);color:var(--muted)}.onboard{max-width:520px;margin:0 auto;padding:calc(24px + env(safe-area-inset-top)) 16px 32px;display:flex;flex-direction:column;gap:14px;min-height:100dvh}.coach-card{display:flex;flex-direction:column;gap:10px}.cc-head{display:flex;align-items:center;gap:14px}.cc-bio p{margin:0 0 8px;line-height:1.5}.coach-card h3{margin:8px 0 0;font-size:15px}.cc-list{margin:0;padding-left:18px;line-height:1.5}.cc-list li{margin:2px 0}.cc-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.cc-links .btn{width:auto;text-decoration:none}.msgr-head .see{margin-left:auto;font-size:13px}.prof-head{display:flex;align-items:center;gap:14px}.prof-photo{position:relative;cursor:pointer;flex:none}.prof-photo .cam{position:absolute;right:-2px;bottom:-2px;background:var(--bg);border-radius:50%;width:26px;height:26px;display:grid;place-items:center;font-size:14px;box-shadow:0 1px 4px #00000026}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:15px}.kv dt{color:var(--muted)}.kv dd{margin:0}.thumbs{display:flex;flex-wrap:wrap;gap:8px}.thumbs .th{position:relative}.thumbs img{width:84px;height:110px;object-fit:cover;border-radius:10px;display:block}.thumbs .rm{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;border:0;background:#0009;color:#fff;cursor:pointer;line-height:1}.crop-frame{position:relative;overflow:hidden;border-radius:16px;background:#111;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;flex:none}.crop-frame img{position:absolute;left:0;top:0;transform-origin:0 0;max-width:none;pointer-events:none}.crop-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:0 0 0 999px #0000008c;outline:2px solid rgba(255,255,255,.85);outline-offset:-2px;pointer-events:none}.crop-sheet .panel{height:auto}.hero{position:relative;overflow:hidden;background:radial-gradient(var(--halo-shape) at 100% calc(-1 * var(--hh, 64px) + 1px),var(--halo-stops));color:#fcfcfc;margin:-19px calc(var(--gx) * -1) 0;padding:7px var(--gx) 46px}.hero:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:24px;background:var(--bg);border-radius:24px 24px 0 0}.hero .mark{position:absolute;right:calc(var(--gx) - 6px);bottom:14px;height:min(122px,calc(100% - 26px));width:auto;max-width:190px;opacity:.1;pointer-events:none}.hero-in{position:relative;display:flex;flex-direction:column;gap:4px}.hero h1{color:#fcfcfc;font-size:42px;line-height:.95}.hero .eyebrow{color:#9fb0cc}.hero .sub{color:#bfcbdb}.hero .muted{color:#9fb0cc}.hero .link{color:#bfcbdb}.hero .btn.light{background:#ffffff1f;color:#fcfcfc}.hero-ring{position:absolute;right:var(--gx);top:6px;z-index:1}.hero:has(.hero-ring) .hero-in{padding-right:86px}.hero .prof-photo .cam{background:#fcfcfc}.tempo{display:inline-flex;gap:3px;vertical-align:middle}.tempo i{font-style:normal;width:22px;height:24px;display:grid;place-items:center;border-radius:6px;background:var(--surface2);color:var(--blue);font:750 13px var(--display);font-stretch:80%}.drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#161e3300;transition:background .22s ease}.drawer.open{background:#161e3380}.drawer-p{position:absolute;top:0;right:0;bottom:0;width:min(84vw,340px);background:var(--bg);display:flex;flex-direction:column;padding:calc(12px + env(safe-area-inset-top)) 16px calc(20px + env(safe-area-inset-bottom));transform:translate(100%);transition:transform .22s ease;box-shadow:-12px 0 32px #161e332e}.drawer.open .drawer-p{transform:none}.drawer-top{display:flex;justify-content:flex-end}.drawer .me{display:flex;align-items:center;gap:14px;padding:6px 4px 18px;text-decoration:none;color:inherit;border-bottom:1px solid var(--line)}.drawer .me b{display:block;font:800 22px/1.1 var(--display);font-stretch:72%;color:var(--title)}.drawer .me span{font-size:14px;color:var(--accent);font-weight:600}.mgroup{display:flex;flex-direction:column;padding-top:8px}.mi{display:flex;align-items:center;gap:14px;padding:14px 6px;border:0;background:none;width:100%;text-align:left;font:500 16px var(--body);color:var(--fg);text-decoration:none;cursor:pointer;border-radius:12px}.mi:active{background:var(--surface2)}.mi-ic{width:24px;height:24px;display:grid;place-items:center;color:var(--blue)}.mi-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.mi.danger,.mi.danger .mi-ic{color:var(--bad)}.drawer .sp{flex:1}@media (prefers-reduced-motion:reduce){.drawer,.drawer-p{transition:none}}.plates-btn{display:inline-flex;align-items:center;gap:5px;border:0;cursor:pointer;color:var(--blue);font-weight:600;background:var(--surface2)}.plates-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.plate-card{gap:4px}.pc-load{font:800 24px var(--display);font-stretch:72%;color:var(--title)}.barbell{width:100%;max-width:340px;height:auto;align-self:center}.ch{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.ch span{font-size:13px;color:var(--muted)}.kpi .v small{font-size:15px;color:#8a96ad;font-weight:600}.kbar{height:4px;border-radius:2px;background:var(--line);margin-top:8px;overflow:hidden}.kbar i{display:block;height:100%;background:var(--accent);border-radius:2px}.todo{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #edf0f6}.todo:last-child{border-bottom:0}.todo .t{flex:1;min-width:0}.todo .t b{display:block;font-weight:600}.todo .t small{color:var(--muted);font-size:13px;display:block}.todo .t small.bad{color:var(--bad)}.todo .btn{flex:none}.tic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--surface2);color:var(--accent)}.tic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.tic.bad{background:#f7e1e0;color:var(--bad)}.tic.warn{background:#f8eedd;color:var(--warn)}.rost .t b{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.2}.wk{display:flex;gap:3px;margin-top:5px}.wk i{width:14px;height:6px;border-radius:3px;background:var(--line)}.wk i.y{background:var(--accent)}.rk{font-size:12px;color:var(--muted);text-align:right;line-height:1.3;white-space:nowrap}.st{font:600 12px var(--body);padding:3px 9px;border-radius:999px;white-space:nowrap;flex:none}.st.ok{background:#e3f3ea;color:var(--good)}.st.wa{background:#f8eedd;color:var(--warn)}.st.ri{background:#f7e1e0;color:var(--bad)}.st.mute{background:var(--surface2);color:var(--muted)}.feed{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid #edf0f6;align-items:flex-start;text-decoration:none;color:inherit}.feed:last-child{border-bottom:0}.feed .t{display:flex;flex-direction:column}.feed .t b{font-weight:600}.feed small{color:var(--muted);font-size:13px}.fdot{width:8px;height:8px;border-radius:50%;background:var(--accent);margin-top:7px;flex:none}.sets td.chk{width:44px;text-align:right}.setchk{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:40px;height:40px;border-radius:11px;border:1.5px solid #c9d3e3;background:var(--surface);color:#9aa6bb;display:grid;place-items:center;cursor:pointer;padding:0}.setchk svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.setchk.on{background:var(--good);border-color:var(--good);color:#fff}.sets tr.done td{background:#e9f5ee}.sets tr.done td:first-child{border-radius:10px 0 0 10px}.sets tr.done td:last-child{border-radius:0 10px 10px 0}.sets tr.done input{background:transparent;border-color:transparent;font-weight:700;color:var(--fg)}@media (prefers-reduced-motion:no-preference){.setchk{transition:background .15s,border-color .15s,color .15s}}input[type=date]{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:0;display:block;text-align:left;min-height:44px}input[type=date]::-webkit-date-and-time-value{text-align:left}.phase-row .t small{display:block}.tdone{width:34px;height:34px;flex:none;border-radius:50%;border:1.5px solid #c9d3e3;background:var(--surface);color:#9aa6bb;display:grid;place-items:center;cursor:pointer;padding:0}.tdone svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.tdone:hover,.tdone:active{border-color:var(--good);color:var(--good)}.superset{position:relative;display:flex;flex-direction:column;gap:8px;padding-left:14px}.superset:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:4px;border-radius:2px;background:var(--accent)}.ss-head{display:flex;flex-direction:column;gap:2px;padding:2px 2px 0}.ss-head b{font:800 18px var(--display);font-stretch:75%;color:var(--accent)}.ss-head span{font-size:13px;color:var(--muted)}.ss-item{border-left:0}.pcur{background:var(--night);color:#fff;border-radius:22px;box-shadow:0 10px 24px -14px #161e338c;overflow:hidden}.pcur-main{display:flex;flex-direction:column;gap:14px;padding:18px 18px 12px;color:#fff;text-decoration:none}.pcur-hist{display:block;padding:12px 18px 14px;border-top:1px solid rgba(255,255,255,.1);color:var(--pale);font-weight:600;font-size:14px;text-decoration:none}.pcur-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.pcur-tag{display:inline-block;font-size:12px;font-weight:600;background:#ffffff29;padding:3px 10px;border-radius:999px}.pcur h2{color:#fff;font:800 28px/1 var(--display);font-stretch:72%;margin:8px 0 4px}.pcur-sub{color:var(--pale);font-size:14px}.pcur-next{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#ffffff1a;border-radius:16px;padding:12px 14px}.pcur-next small{display:block;color:var(--pale);font-size:12px}.pcur-next b{font-size:16px}.pcur-go{background:#fff;color:var(--night);font-weight:700;padding:9px 16px;border-radius:12px;white-space:nowrap}.folder-h .fic{width:26px;height:26px;fill:var(--sky);flex:none}.folder-in{padding-left:14px;border-left:2px solid var(--line);margin:0 0 6px 12px}.folder-in .dic{width:22px;height:22px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linejoin:round;flex:none}.chev{font-size:22px;color:var(--muted);transition:transform .15s}.chev.on{transform:rotate(90deg)}.past-log{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--line);padding-top:8px}@media (prefers-reduced-motion:reduce){.chev{transition:none}}.sdate{width:44px;height:48px;border-radius:12px;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;line-height:1}.sdate b{font:800 20px var(--display);font-stretch:75%;color:var(--blue)}.sdate small{font-size:11px;color:var(--muted);margin-top:2px}table.sets.ro td{padding:6px 0}.exname{background:none;border:0;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.exname b{text-decoration:underline dotted var(--pale);text-underline-offset:4px}.swap{font-weight:600}.swr{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.swr:last-child{border-bottom:0}.swr .li{border-bottom:0;background:var(--surface)}.swr-act{position:absolute;top:0;right:0;bottom:0;border:0;background:var(--bad);color:#fff;font:600 14px var(--body);cursor:pointer}.swr-in{position:relative;background:var(--surface);touch-action:pan-y}.swr-in.anim{transition:transform .2s ease}@media (prefers-reduced-motion:reduce){.swr-in.anim{transition:none}}.del-acts{display:flex;flex-direction:column;gap:8px;margin-top:6px}.btn.del-red{background:var(--bad);color:#fff}.btn.del-txt{color:var(--bad)}select.stepsel{min-width:0;width:100%;padding:8px 2px;font-size:15px;text-align:center;text-align-last:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:none}select.stepsel:has(option:checked[value=""]){color:var(--muted)}.ck-when{gap:6px;border-left:4px solid var(--accent)}.ck-when.ok{border-left-color:#2f8f5b}.ck-when.late{border-left-color:#b5720f}.mv{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}.mv-b{border:0;background:var(--surface);color:var(--accent);font:700 17px var(--body);width:38px;height:32px;cursor:pointer}.mv-b+.mv-b{border-left:1px solid var(--line)}.mv-b:disabled{color:var(--pale);cursor:default}.mv-b:not(:disabled):active{background:var(--bg)}.pc-lab{font:600 13px var(--body);color:var(--accent);background:var(--bg);padding:3px 10px;border-radius:999px}.pc-sec{font:700 15px var(--body);color:var(--muted);margin:8px 2px 2px}.pc-warm{opacity:.8}.pc-warm .pc-lab{color:var(--muted)}.goal-ex{display:flex;flex-direction:column;gap:6px;padding:12px 0;border-top:1px solid var(--line)}.goal-t input,.goal-t select{padding:8px 4px;font-size:15px;text-align:center;min-width:0}.target-note{border-left-color:#2f8f5b}.item-opts{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:6px}.item-opts label{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.goals-sheet{display:flex;flex-direction:column;gap:10px;min-height:0;flex:1}.sheet .panel:has(.goals-sheet){height:auto;max-height:85%}.goal-ex:first-child{border-top:0}.goal-line{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:10px;width:100%;cursor:pointer;font-size:14px;font-weight:600;color:var(--accent);background:var(--surface);border:1.5px solid var(--pale);border-radius:12px;padding:10px 12px;transition:background .15s,border-color .15s}.goal-line:active{background:var(--surface2);border-color:var(--accent)}.goal-line .gl-plus{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;font-size:18px;line-height:1;flex:none}.goal-line .gl-chev{font-size:22px;line-height:1;color:var(--sky)}.goal-line.set{background:var(--surface2);border-color:transparent;color:var(--fg);font-weight:500}.goal-line .gl-txt{flex:1;min-width:0}.goal-line .gl-ico{width:20px;height:20px;flex:none;fill:none;stroke:var(--accent);stroke-width:1.8}.goal-line .gl-edit{color:var(--accent);font-weight:600;border:1.5px solid var(--pale);background:var(--surface);border-radius:999px;padding:5px 12px;font-size:13px;flex:none}.goal-line:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}.del-warn{color:var(--bad);font-weight:600}.chk-h{text-align:center}.chk-all{all:unset;cursor:pointer;font:600 12px var(--body);color:var(--accent);padding:4px 8px;border-radius:999px;border:1.5px solid var(--pale);background:var(--surface);text-transform:none;letter-spacing:0}.chk-all:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.day-pick{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:12px;width:100%;padding:16px 4px;cursor:pointer;border-bottom:1px solid var(--line)}.day-pick:last-child{border-bottom:0}.day-pick .t{flex:1;display:flex;flex-direction:column;gap:3px}.day-pick b{font-size:17px;color:var(--fg)}.day-pick small{color:var(--muted)}.day-pick .chev{font-size:24px;color:var(--sky);line-height:1}.day-pick:active{background:var(--surface2)}.day-pick:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:10px}.pv-grp{padding:6px 0;border-bottom:1px solid var(--line)}.pv-grp:last-child{border-bottom:0}.pv-grp.ss{border-left:3px solid var(--accent);padding-left:10px}.pv-ss{font:700 13px var(--body);color:var(--accent);padding-top:4px}.pv-ex{display:flex;gap:12px;align-items:flex-start;padding:8px 0}.pv-ex .t{display:flex;flex-direction:column;gap:2px}.pv-ex small{color:var(--muted)}.pv-go{position:sticky;bottom:calc(74px + env(safe-area-inset-bottom));z-index:5;padding-top:8px}.offline-bar{position:fixed;z-index:7;left:50%;transform:translate(-50%);top:calc(var(--hh,60px) + 8px);width:min(528px,calc(100% - 32px));box-shadow:0 6px 18px #161e331f;display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:12px;background:#fff6e6;color:#7a4d06;font:600 13px/1.3 var(--body);border:1px solid #f1d9a8}.offline-bar .dot{width:8px;height:8px;border-radius:50%;background:var(--warn);flex:none}.ic-heart{width:20px;height:20px;fill:none;stroke:var(--sky);stroke-width:1.9;stroke-linejoin:round;flex:none}.ic-heart.on{fill:#d9465b;stroke:#d9465b}.ic-heart.big{width:24px;height:24px}.ic-bubble{width:18px;height:18px;fill:none;stroke:var(--accent);stroke-width:1.9;stroke-linejoin:round}.coach-mark{display:flex;gap:4px;align-items:center}.coach-react{display:flex;flex-direction:column;gap:10px}.like-btn{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1.5px solid var(--pale);font:600 14px var(--body);color:var(--fg);background:var(--surface)}.like-btn.on{border-color:#f0c2ca;background:#fdf0f2;color:#b8334a}.like-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.coach-fb{border-left:4px solid var(--accent)}.coach-fb .fb-txt{margin:8px 0 0;white-space:pre-wrap}.ex-name{all:unset;cursor:pointer;font-weight:700;color:var(--fg);text-decoration:underline;text-decoration-color:var(--pale);text-decoration-thickness:2px;text-underline-offset:4px}.ex-name:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.exs{display:flex;flex-direction:column;gap:10px}.exs-h{font:800 26px/1.05 var(--display);font-stretch:68%;color:var(--title);margin:0;text-transform:none}.exs-seg{margin:4px 0 0}.exs-big{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.exs-big b{font:800 40px/1 var(--display);font-stretch:70%;color:var(--fg)}.exs-big em{font-style:normal;font-weight:700;font-size:14px}.exs-big em.up{color:var(--good)}.exs-big em.down{color:var(--muted)}.exs-curve{width:100%;height:auto;display:block}.exs-one{padding:8px 0}.exs-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.exs-kpis div{background:var(--surface2);border-radius:12px;padding:9px 10px}.exs-kpis small{display:block;color:var(--muted);font-size:11px}.exs-kpis b{font-size:16px}.exs-r{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:13px}.exs-r b{white-space:nowrap;display:flex;align-items:center;gap:6px}.exs-r span{color:var(--muted);text-align:right}.pill.sm{font-size:11px;padding:1px 7px}.exs-all{align-self:center}.done-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;overflow-y:auto;overscroll-behavior:contain;background:radial-gradient(ellipse 620px 520px at 100% 0,#2b4f93,#1f3461 30%,#1a2747,#161e33 80%),#161e33;color:#fff}.done-in{min-height:100%;width:min(520px,100%);margin:0 auto;display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:calc(48px + env(safe-area-inset-top)) var(--gx) calc(28px + env(safe-area-inset-bottom));position:relative;z-index:1}.done-in .done-card{margin:auto 0}.done-card{display:flex;flex-direction:column;gap:10px;padding:8px 0;background:none;box-shadow:none;border:0}.done-ok{width:68px;height:68px;border-radius:50%;background:var(--good);display:grid;place-items:center;margin:0 auto 4px;box-shadow:0 0 0 8px #2f8f5b2e}.done-ok svg{width:36px;height:36px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.done-card h1{text-align:center;color:#fff;font-size:44px}.done-sub{text-align:center;color:#ffffffb3;font-size:15px}.done-kpis{margin-top:14px}.done-kpis div{background:#ffffff14}.done-kpis small{color:#ffffffb3}.done-kpis b{color:#fff;font:800 26px/1.1 var(--display);font-stretch:72%}.done-kpis:has(>div:nth-child(2):last-child){grid-template-columns:repeat(2,1fr)}.done-prs{background:#ffffff14;border-radius:16px;padding:4px 14px;margin-top:6px}.done-prs .exs-r{border-top:1px solid rgba(255,255,255,.1)}.done-prs .exs-r:first-child{border-top:0}.done-prn{display:flex;align-items:center;gap:6px;color:#fff}.done-prs .exs-r b{color:#fff}.done-prs .pill.good{background:#2f8f5b4d;color:#9fe0bc}#done-offline{color:#ffffffbf}.done-btns{display:flex;flex-direction:column;gap:10px;position:relative;z-index:1}.done-btns #done-share{background:#fff;color:var(--night)}.done-btns .btn.ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.35)}.done-prs .exs-r span{color:#fff;text-align:left}.ex-acts{display:flex;gap:8px;align-items:stretch}.ex-acts .goal-line{flex:1;width:auto}.film-btn{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:64px;padding:6px 8px;border-radius:12px;border:1.5px solid var(--pale);background:var(--surface);color:var(--accent);font:600 11px var(--body)}.film-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.film-btn:disabled{opacity:.6}.film-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.videos{display:flex;flex-direction:column;gap:14px}.vid{display:flex;flex-direction:column;gap:10px}.vid-player{width:100%;max-height:70vh;border-radius:14px;background:#000;display:block}.vid-player.ph{aspect-ratio:9/16;max-height:320px;background:var(--surface2)}.vid-fb{border-left:4px solid var(--accent);padding:4px 0 4px 12px}.vid-fb p{margin:4px 0 0;white-space:pre-wrap}.vid-del{align-self:flex-start;color:var(--bad)}.ch-card{display:flex;flex-direction:column;gap:10px}.ch-eyebrow{font:700 13px var(--body);color:var(--accent)}.ch-title{margin:0;text-transform:none}.ch-desc{margin:0;color:var(--muted)}.ch-h3{margin:8px 0 0;font:700 15px var(--body);color:var(--fg);text-transform:none;letter-spacing:0}.ch-today{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;border:1.5px solid var(--pale);background:var(--surface);font:700 16px var(--body);color:var(--fg)}.ch-today .ch-box{width:30px;height:30px;border-radius:9px;border:2px solid var(--pale);display:grid;place-items:center;flex:none}.ch-today .ch-box svg{width:20px;height:20px;fill:none;stroke:transparent;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.ch-today.on{border-color:var(--good);background:#eaf6ef}.ch-today.on .ch-box{background:var(--good);border-color:var(--good)}.ch-today.on .ch-box svg{stroke:#fff}.ch-today:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ch-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.ch-d{all:unset;box-sizing:border-box;cursor:pointer;aspect-ratio:1;border-radius:10px;display:grid;place-items:center;font:600 13px var(--body);color:var(--muted);background:var(--surface2)}.ch-d.on{background:var(--good);color:#fff}.ch-d.td{box-shadow:inset 0 0 0 2px var(--accent)}.ch-d:disabled{opacity:.45;cursor:default}.ch-d:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ch-count{color:var(--muted)}.ch-count b{font:800 26px var(--display);font-stretch:72%;color:var(--fg)}.ch-board{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.ch-board li{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}.ch-board li:first-child{border-top:0}.ch-board .rk{width:26px;height:26px;border-radius:50%;background:var(--surface2);display:grid;place-items:center;font:700 13px var(--body);color:var(--muted);flex:none}.ch-board li:nth-child(1) .rk{background:var(--accent);color:#fff}.ch-board .nm{flex:1}.ch-board li.me .nm{font-weight:700;color:var(--accent)}.sch{display:flex;flex-direction:column;gap:12px;padding-bottom:18px}.sch-wk{display:flex;align-items:center;justify-content:space-between}.sch-nav{all:unset;cursor:pointer;font:700 26px/1 var(--body);color:var(--accent);padding:4px 12px;border-radius:10px}.sch-nav:focus-visible,.sch-d:focus-visible,.sch-ap:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sch-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.sch-d{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 0;border-radius:12px;color:var(--muted)}.sch-d small{font-size:11px}.sch-d b{font-size:17px;color:var(--fg)}.sch-d i{min-width:6px;height:6px;border-radius:99px;background:var(--accent);font:700 9px/6px var(--body);color:transparent;margin-top:3px}.sch-d i.no{background:transparent}.sch-d.td b{color:var(--accent)}.sch-d.on{background:var(--blue);color:#cfd8ea}.sch-d.on b{color:#fff}.sch-d.on i{background:#fff}.sch-list{display:flex;flex-direction:column}.sch-empty{padding:14px 2px}.sch-ap{all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:12px;align-items:center;width:100%;padding:12px 2px;border-top:1px solid var(--line)}.sch-list>div:first-child .sch-ap{border-top:0}.sch-t{width:58px;font-weight:700;font-size:15px;flex:none}.sch-t small{display:block;color:var(--muted);font-weight:500;font-size:12px}.sch-bar{width:4px;align-self:stretch;border-radius:4px;background:var(--accent);flex:none}.sch-bar.k-evaluation{background:var(--sky)}.sch-bar.k-suivi{background:var(--good)}.sch-n{flex:1;min-width:0}.sch-n b{display:block}.sch-n small{color:var(--muted);font-size:12px}.sch-av{width:36px;height:36px;border-radius:50%;background:var(--surface2);color:var(--blue);display:grid;place-items:center;font-weight:800;font-size:13px;flex:none}.sch-free{color:var(--muted);font-size:13px;padding:9px 2px;border-top:1px dashed var(--line)}.sch-fab{all:unset;cursor:pointer;position:fixed;z-index:6;right:max(20px,calc(50% - 280px));bottom:calc(84px + env(safe-area-inset-bottom));background:var(--accent);color:#fff;border-radius:16px;padding:14px 18px;font:700 15px var(--body);box-shadow:0 8px 20px #3666bb59}.sch-fab:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.sch-form{display:flex;flex-direction:column;gap:10px}.sch-form h2{margin:0}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{all:unset;cursor:pointer;border:1.5px solid var(--pale);border-radius:99px;padding:7px 12px;font:600 13px var(--body);color:var(--fg)}.chip.on{background:var(--blue);border-color:var(--blue);color:#fff}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sch-sw{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-weight:600}.sch-sw small{display:block;color:var(--muted);font-weight:500;font-size:12px}.sch-sw input{width:22px;height:22px;accent-color:var(--good)}.next-appt{background:var(--night);color:#fff;display:flex;flex-direction:column;gap:2px}.next-appt small{color:#ffffffb3}.na-big{font:800 34px/1.05 var(--display);font-stretch:68%;margin:6px 0 4px}.na-cal{all:unset;cursor:pointer;align-self:flex-start;margin-top:10px;background:#ffffff1f;border-radius:99px;padding:7px 13px;font:600 13px var(--body)}.na-cal:focus-visible{outline:2px solid #fff;outline-offset:2px}.bw-in{display:flex;gap:4px;align-items:stretch}.bw-in input{min-width:0;flex:1}.sign-btn{all:unset;cursor:pointer;flex:none;width:34px;border-radius:10px;border:1.5px solid var(--pale);background:var(--surface);display:grid;place-items:center;font:800 18px var(--body);color:var(--good)}.sign-btn.neg{color:var(--bad);border-color:#f0c2ca;background:#fdf0f2}.sign-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.pic-btn{all:unset;cursor:pointer;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:var(--accent);flex:none}.pic-btn svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linejoin:round;stroke-linecap:round}.pic-btn:disabled{opacity:.5}.pic-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.bub.pic{padding:3px;background:transparent!important}.pic-open{all:unset;cursor:zoom-in;display:block}.pic-open img{display:block;min-width:120px;min-height:120px;max-width:min(240px,62vw);max-height:320px;border-radius:16px;object-fit:cover;background:var(--surface2)}.pic-ph{display:block;width:180px;height:220px;border-radius:16px;background:var(--surface2)}.pic-zoom{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0a0e19f0;display:grid;place-items:center;padding:20px}.pic-zoom img{max-width:100%;max-height:100%;border-radius:8px}.pic-x{all:unset;cursor:pointer;position:absolute;top:calc(14px + env(safe-area-inset-top));right:16px;color:#fff;font-size:34px;line-height:1;width:44px;height:44px;display:grid;place-items:center}.sw-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--line)}.sw-row:first-of-type{border-top:0}.sw-row b{display:block;font-weight:600}.sw-row small{display:block;color:var(--muted);font-size:13px;margin-top:2px}.tgl{all:unset;cursor:pointer;flex:none;width:50px;height:30px;border-radius:99px;background:#d6dce7;position:relative;transition:background .18s}.tgl:after{content:"";position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:left .18s}.tgl.on{background:var(--good)}.tgl.on:after{left:23px}.tgl:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rest-bar{position:fixed;z-index:8;left:50%;transform:translate3d(-50%,0,0);-webkit-backface-visibility:hidden;bottom:calc(78px + env(safe-area-inset-bottom));width:min(528px,calc(100% - 24px));background:var(--night);color:#fff;border-radius:22px;padding:10px 12px;display:flex;align-items:center;gap:10px;box-shadow:0 14px 30px #161e3359}.rest-bar.over{background:var(--good)}.rest-ring{width:48px;height:48px;flex:none}.rest-ring circle{fill:none;stroke-width:5}.rest-ring .bg{stroke:#ffffff26}.rest-ring .fg{stroke:#6b92c4;stroke-linecap:round;transition:stroke-dashoffset .25s linear}.rest-bar.over .rest-ring .fg{stroke:#fff}.rest-txt{flex:1;min-width:0}.rest-txt small{display:block;opacity:.75;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rest-txt b{font:800 28px/1 var(--display);font-stretch:70%}.rest-b{all:unset;cursor:pointer;border:1.5px solid rgba(255,255,255,.28);border-radius:12px;padding:8px 10px;font:700 13px var(--body);color:#fff}.rest-b:focus-visible{outline:2px solid #fff}.shell{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.shell>.app{flex:1;min-height:0;max-width:none;width:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.shell>.app>.top,.shell>.app>main{width:100%;max-width:560px;margin-inline:auto;box-sizing:border-box}.shell>.app>main{padding-bottom:32px}.shell>nav.tabs{position:relative;flex:none;transform:none}.shell .pv-go{bottom:0}.ev-card h2{margin-bottom:4px}.ev-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ev-grid .ev-wide{grid-column:1/-1}@media (max-width:420px){.ev-grid{grid-template-columns:1fr}}.ev-do{display:flex;flex-direction:column;gap:4px;margin-top:12px;background:color-mix(in srgb,var(--good) 9%,var(--surface));border:1.5px solid color-mix(in srgb,var(--good) 30%,transparent);border-radius:14px;padding:12px;font:700 14px var(--body);color:var(--good)}.ev-do small{font-weight:500;color:var(--muted);font-size:12px}.ev-do textarea{background:var(--surface)}.ev-bar{display:flex;gap:10px}.ev-bar .btn{flex:1}.plan-title{all:unset;font:800 22px/1.1 var(--display);font-stretch:70%;color:var(--title);flex:1;min-width:0;border-bottom:1.5px dashed var(--pale);padding:2px 0}.plan-title:focus{border-bottom-color:var(--accent)}.plan-goal small{display:block;color:var(--muted);font-size:12px;font-weight:600}.plan-goal b{font-size:17px}.plan-intro{margin:0;font-size:15px;line-height:1.5}.plan-li{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.plan-li li{padding-left:22px;position:relative;font-size:15px;line-height:1.4}.plan-li li:before{content:"→";position:absolute;left:0;color:var(--accent);font-weight:700}.plan-why{margin:10px 0 0;font-size:13.5px;color:var(--muted);border-left:3px solid var(--pale);padding-left:10px}.auth{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;color:#fff;position:relative;background:radial-gradient(ellipse 560px 480px at 100% 0,#2b4f93,#1f3461 32%,#1a2747,#161e33 80%),#161e33;padding:calc(18px + env(safe-area-inset-top)) 24px calc(34px + env(safe-area-inset-bottom))}.auth>*{width:100%;max-width:420px;margin-inline:auto}.auth-lang{display:flex;justify-content:flex-end}.auth-lang .seg{background:#ffffff1a;border-radius:99px;padding:3px;gap:2px}.auth-lang .seg button{background:none;border:0;color:#ffffffb3;border-radius:99px}.auth-lang .seg button.on{background:#fff;color:var(--night)}.auth-brand{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px 0;text-align:center}.auth-brand img{width:132px;filter:brightness(0) invert(1)}.auth-tag{font-size:14px;color:#ffffffa6}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-form h1{font:800 46px/.95 var(--display);font-stretch:64%;color:#fff;margin:0}.auth-sub{margin:0 0 8px;color:#ffffffb8;font-size:15px}.auth-sub b{color:#fff}.auth-form input{background:#ffffff14;border:1.5px solid rgba(255,255,255,.2);border-radius:14px;padding:15px 14px;color:#fff;font-size:16px}.auth-form input::placeholder{color:#ffffff73}.auth-form input:focus{outline:none;border-color:#fff}.auth-code{font-family:var(--mono);font-size:26px!important;letter-spacing:.3em;text-align:center}.auth-btn{all:unset;box-sizing:border-box;cursor:pointer;background:#fff;color:var(--night);border-radius:14px;padding:16px;text-align:center;font:700 16px var(--body)}.auth-btn:disabled{opacity:.55;cursor:default}.auth-btn:focus-visible,.auth-link:focus-visible{outline:2px solid #fff;outline-offset:2px}.auth-msg{margin:0;background:#ffc45724;color:#ffd889;border-radius:12px;padding:10px 12px;font-size:14px}.auth-msg.bad{background:#ff786e24;color:#ffb0a8}.auth-fine{text-align:center;font-size:12px;color:#ffffff80}.auth-link{all:unset;cursor:pointer;text-align:center;color:#fffc;font:600 14px var(--body);padding:6px}.ob{max-width:520px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;gap:16px;padding:calc(18px + env(safe-area-inset-top)) 16px calc(28px + env(safe-area-inset-bottom))}.ob-top{padding:8px 6px 0}.ob-dots{display:flex;gap:6px}.ob-dots i{width:22px;height:4px;border-radius:4px;background:var(--line)}.ob-dots i.on{background:var(--accent)}.ob-hd{padding:6px 6px 0}.ob-hd h1{font:800 40px/.95 var(--display);font-stretch:64%;color:var(--title);margin:0 0 8px}.ob-hd p{margin:0;color:var(--muted)}.ob-hd.center-t{text-align:center}.ob-list,.ob-card{background:var(--surface);border-radius:20px;padding:4px 14px;box-shadow:0 4px 14px #161e330f}.ob-card{padding:14px;display:flex;flex-direction:column;gap:12px}.ob-it{display:flex;gap:14px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}.ob-it:first-child{border-top:0}.ob-it b{display:block;font-size:15px}.ob-it small{color:var(--muted);font-size:13px;line-height:1.35;display:block}.ob-ic{width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));display:grid;place-items:center;flex:none}.ob-ic svg,.ob-bell svg,.ob-photo svg{fill:none;stroke:var(--title);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.ob-ic svg{width:22px;height:22px}.ob-bell{width:120px;height:120px;border-radius:50%;margin:24px auto 0;background:color-mix(in srgb,var(--accent) 12%,var(--surface));display:grid;place-items:center}.ob-bell svg{width:52px;height:52px;stroke-width:1.7}.ob-notif{background:var(--surface);border-radius:18px;padding:12px 14px;box-shadow:0 6px 20px #0000001a;display:flex;gap:10px}.ob-app{width:36px;height:36px;border-radius:9px;background:var(--night);flex:none;display:grid;place-items:center}.ob-app img{width:26px;filter:brightness(0) invert(1)}.ob-notif small{color:var(--muted);font-size:11px;display:block}.ob-notif b{font-size:14px}.ob-notif p{margin:2px 0 0;font-size:13px}.ob-foot{margin-top:auto;display:flex;flex-direction:column;gap:6px;padding-top:8px}.ob-later{all:unset;cursor:pointer;text-align:center;color:var(--muted);font:600 14px var(--body);padding:8px}.ob-photo{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;cursor:pointer;border:1.5px solid var(--pale);border-radius:12px;padding:10px 14px;font:600 14px var(--body);color:var(--title);background:var(--surface)}.ob-photo svg{width:20px;height:20px}.ob-later:focus-visible,.ob-photo:focus-within{outline:2px solid var(--accent);outline-offset:2px}
