:root{--bg:#0d1414;--surface:#172120;--surface2:#1e2b29;--muted:#98aaa4;--text:#f1f6f1;--accent:#b6e7bd;--accentDark:#143c29;--line:#30403d;--warm:#eed6a6;--red:#f5a5a5;--shadow:0 20px 65px rgba(0,0,0,.20)}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.35;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}a{color:var(--accent)}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}.muted{color:var(--muted)}.small{font-size:13px}.micro{font-size:12px;color:var(--muted)}.footnote{color:var(--muted);font-size:12px;margin:12px 0 0}.shell{max-width:1260px;margin:0 auto;padding:24px 28px 52px}.header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:24px}.brand{display:flex;align-items:center;gap:12px}.mark{background:linear-gradient(142deg,#c8f1c8,#6fb89c);border-radius:15px;color:#163b2c;display:flex;align-items:center;justify-content:center;width:49px;height:49px;line-height:1;font-size:30px;font-weight:900;letter-spacing:-.11em}.mark span{font-weight:800;align-self:flex-end;font-size:11px;letter-spacing:-.08em;margin:0 0 8px 1px}.mark.large{width:70px;height:70px;border-radius:20px;font-size:43px;margin-bottom:22px}.mark.large span{font-size:14px;margin-bottom:12px}.brandTitle{font-size:17px;font-weight:850;letter-spacing:.02em;line-height:1.1}.brandTitle em{font-style:normal;color:var(--accent)}.brandSub{font-size:10px;color:var(--muted);letter-spacing:.16em;font-weight:700;margin-top:5px}.topActions{display:flex;gap:10px;align-items:center}.status{font-size:12px;color:#d7e4dc;display:inline-flex;gap:8px;align-items:center;border:1px solid var(--line);padding:9px 12px;border-radius:100px;white-space:nowrap}.dot{background:#d0b98c;border-radius:100%;width:7px;height:7px}.status.ok .dot{background:#a5e7c0}.status.error .dot{background:#f1a3a3}.iconButton{height:37px;width:37px;border:1px solid var(--line);border-radius:100%;background:var(--surface);color:var(--text);font-size:24px;display:grid;place-items:center;line-height:1}.overline{font-size:11px;letter-spacing:.18em;color:var(--accent);font-weight:850;margin-bottom:9px}.welcome{min-height:270px;border-radius:25px;background:radial-gradient(circle at 80% 26%,#284938 0,transparent 38%),linear-gradient(120deg,#1b2d26,#14211e 60%,#223a2c);border:1px solid #2e4e3b;display:flex;justify-content:space-between;gap:20px;padding:36px 42px;margin-bottom:25px;position:relative;overflow:hidden}.welcomeCopy{position:relative;z-index:2}.welcome h1{font-size:clamp(33px,5vw,55px);line-height:1.03;letter-spacing:-.065em;margin-bottom:14px}.welcome h1 span{color:var(--accent)}.welcome p{max-width:520px;color:#bdcfc4;font-size:14px;margin-bottom:19px}.heroTags{display:flex;gap:7px;flex-wrap:wrap}.heroTags span{font-size:11px;border:1px solid #4a7660;background:#243e31;border-radius:30px;padding:6px 10px;color:#d9efda}.heroVisual{position:relative;min-width:240px;display:grid;place-items:center}.orbit{border:1px solid rgba(182,231,189,.37);width:215px;height:215px;border-radius:100%;position:relative;display:flex;align-items:center;justify-content:center}.orbit:before{content:"";position:absolute;inset:14px;border:1px dashed rgba(182,231,189,.26);border-radius:100%}.orbitalNum{font-size:107px;color:rgba(184,239,197,.77);font-weight:900;line-height:1;letter-spacing:-.09em;margin-right:14px}.orbitalText{position:absolute;top:42px;left:40px;font-weight:850;letter-spacing:.16em;font-size:8px;line-height:1.6;color:#e5f5d3}.captionBadge{position:absolute;bottom:-3px;letter-spacing:.16em;color:var(--warm);font-size:10px;font-weight:800}.notice,.errorBanner{padding:14px 17px;border-radius:14px;margin-bottom:18px;background:#253326;border:1px solid #667752;color:#e3f5d6;font-size:13px}.errorBanner{background:#342322;border-color:#69423d;color:#f2c2bd}.nav{display:flex;gap:5px;background:#151e1d;padding:5px;border-radius:15px;border:1px solid var(--line);margin:0 0 29px;overflow:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.navItem{flex:1;border:0;background:none;color:var(--muted);border-radius:11px;padding:12px 12px;font-size:13px;font-weight:750;white-space:nowrap}.navItem.active{background:#2d4b38;color:#e6f9e9}.navIcon{margin-right:6px;font-size:18px;line-height:1;vertical-align:-1px}.screen{display:none}.screen.active{display:block}.sectionHeading{display:flex;justify-content:space-between;gap:10px;align-items:end;margin:0 0 20px}.sectionHeading h2{font-size:26px;line-height:1.18;letter-spacing:-.045em;margin:0;font-weight:800}.lastSync{color:var(--muted);font-size:12px}.kpiGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.kpi{padding:21px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}.kpi.accent{background:#c8edc7;color:#183827;border-color:#c8edc7}.kpiLabel{font-size:12px;color:var(--muted);font-weight:700}.kpi.accent .kpiLabel,.kpi.accent .kpiHint{color:#496c52}.kpiValue{font-size:38px;line-height:1.12;font-weight:850;letter-spacing:-.065em;margin:11px 0}.kpiHint{color:var(--muted);font-size:11px}.contentGrid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:19px;padding:22px;min-width:0;margin-bottom:16px}.panel h3{font-size:19px;margin:0 0 3px;letter-spacing:-.025em}.panelHead{display:flex;align-items:start;justify-content:space-between;gap:9px;margin-bottom:22px}.panelHead p{margin:0;color:var(--muted);font-size:12px}.panelHead.mini{margin:23px 0 8px;align-items:center}.panelHead.mini h3{font-size:16px}.tag{font-size:10px;letter-spacing:.07em;font-weight:800;color:var(--accent);border:1px solid #42644d;background:#253e30;padding:5px 9px;border-radius:6px;white-space:nowrap}.barChart{height:235px;display:flex;align-items:stretch;justify-content:space-between;gap:8px}.barCol{min-width:0;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px;position:relative}.barLabel{font-size:11px;color:var(--muted)}.barValue{font-size:11px;font-weight:800;color:var(--accent)}.barTrack{height:156px;width:100%;max-width:47px;border-radius:8px;background:#22312d;display:flex;align-items:flex-end;overflow:hidden}.barFill{width:100%;background:linear-gradient(#b6e7bd,#448e71);border-radius:8px 8px 0 0;min-height:0;transition:height .35s}.empty{color:var(--muted);font-size:13px;min-height:100px;display:flex;justify-content:center;align-items:center;text-align:center;width:100%;padding:22px;border:1px dashed #475752;border-radius:12px}.nextFocus{display:flex;gap:16px;align-items:center;margin:21px 0 20px}.nextBadge{background:#c7ecca;color:#1d4429;border-radius:15px;display:grid;place-items:center;min-width:76px;height:76px;font-size:36px;font-weight:850;letter-spacing:-.05em}.nextName{font-size:20px;font-weight:800;line-height:1.2;letter-spacing:-.02em}.divider{height:1px;background:var(--line);margin-bottom:18px}.miniInfo{font-size:12px;color:var(--muted)}.btn{border:1px solid var(--accent);padding:11px 16px;border-radius:10px;display:inline-flex;align-items:center;justify-content:space-between;gap:10px;font-weight:850;font-size:13px}.btn.primary{background:var(--accent);color:#163e2b}.btn.ghost{background:transparent;color:var(--accent)}.privacy{display:flex;gap:14px;align-items:center;margin-top:1px}.privacyIcon{width:38px;height:38px;flex:none;border-radius:100%;display:grid;place-items:center;background:#284c36;color:var(--accent);font-size:23px}.privacy strong{font-size:13px}.privacy p{font-size:12px;color:var(--muted);margin:2px 0 0}.weekHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.weekHeader h3{font-size:22px}.weekHeader p{margin:0}.weekNav{display:flex;gap:7px}.weekNav button{height:38px;width:38px;background:var(--surface2);border:1px solid var(--line);border-radius:10px;color:var(--text);font-size:25px}.calendarGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}.day{border:1px solid var(--line);color:var(--text);background:var(--surface2);border-radius:13px;min-height:128px;padding:10px 9px;text-align:left;display:flex;flex-direction:column;gap:6px}.dayName{color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800}.dayNum{font-size:24px;line-height:1.1;font-weight:850}.dayTitle{font-size:11px;line-height:1.3;color:#bbd2c5}.day.rest{opacity:.65}.day.selected{background:#2a4934;border:2px solid var(--accent);padding:9px 8px}.day.done:after{content:'✓';color:var(--accent);font-size:13px;font-weight:900;margin-top:auto;align-self:end}.legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:17px;color:var(--muted);font-size:11px}.legDot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:3px}.legDot.finished{background:#b6e7bd}.legDot.planned{background:#658873}.legDot.rest{background:#65746f}.selectedInfo{padding:16px 0 0;margin-top:17px;border-top:1px solid var(--line)}.selectedInfo strong{font-size:15px}.selectedInfo p{font-size:13px;color:var(--muted);margin:5px 0 0}.routineTabs{display:flex;overflow-x:auto;gap:8px;margin-bottom:17px;padding-bottom:3px;scrollbar-width:none}.routineTabs::-webkit-scrollbar{display:none}.routineTab{flex:none;min-width:58px;aspect-ratio:1;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:12px;font-size:19px;font-weight:800}.routineTab.active{color:#193d2b;background:var(--accent);border-color:var(--accent)}.routineHeader{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:21px}.routineHeader h3{font-size:24px;letter-spacing:-.04em;line-height:1.14}.pill{padding:6px 10px;color:var(--accent);border-radius:999px;background:var(--accentDark);font-size:10px;font-weight:800;white-space:nowrap}.exercise{padding:15px 0;display:grid;grid-template-columns:35px minmax(0,1fr) auto;gap:12px;border-top:1px solid var(--line);align-items:start}.exerciseNum{height:32px;width:32px;border:1px solid #406047;border-radius:9px;display:grid;place-items:center;color:var(--accent);font-size:12px;font-weight:850}.exerciseName{font-size:15px;font-weight:750;line-height:1.25}.exerciseDetails{color:var(--muted);font-size:12px;margin-top:5px}.restPill{padding:5px 8px;border-radius:7px;background:#2b4134;color:#d7f7dd;white-space:nowrap;font-size:11px;font-weight:800}.callout{font-size:12px;color:#dfefcf;border-left:3px solid #aac895;padding:12px 14px;background:#253427;border-radius:0 9px 9px 0;margin-top:22px}.lineContainer{min-height:194px;display:flex;flex-direction:column;justify-content:center}.lineContainer svg{width:100%;height:200px;display:block;overflow:visible}.selectLabel{font-size:11px;color:var(--muted);font-weight:800;display:block;margin-bottom:5px}.select{appearance:auto;color:var(--text);background:#101a19;border:1px solid #455b52;border-radius:9px;padding:10px 9px;width:100%}.recentList{display:grid}.recentRow{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.recentRow:last-child{border-bottom:0}.recentTitle{font-size:14px;font-weight:750}.recentDate{font-size:11px;color:var(--muted)}.recentTag{font-size:11px;color:var(--accent);font-weight:800;white-space:nowrap}.measureForm{display:grid;gap:16px;margin-top:18px}.measureForm label{font-size:12px;font-weight:750;color:#d5e5d9;display:flex;flex-direction:column;gap:5px}.measureForm input{min-width:0;width:100%;border:1px solid #40534b;border-radius:10px;padding:12px;background:#101b19;color:var(--text);font-size:16px;color-scheme:dark}.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.measureForm .btn{justify-content:center}.measureList{display:grid;gap:8px}.measureRow{border-top:1px solid var(--line);padding:10px 0;display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:12px}.measureRow button{color:var(--red);background:none;border:0;font-size:12px}.textButton{background:none;border:0;color:var(--accent);padding:3px 2px;font-size:12px;font-weight:800}.footer{border-top:1px solid var(--line);margin-top:30px;padding-top:21px;display:flex;flex-direction:column;gap:9px;color:var(--muted);font-size:12px}.footer>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.footer strong{color:var(--text)}.footer p{margin:0}.loginScreen{position:fixed;inset:0;z-index:10;background:radial-gradient(circle at 50% 15%,#294737,var(--bg) 50%);padding:23px;display:flex;align-items:center;justify-content:center;overflow:auto}.loginCard{width:100%;max-width:440px;background:var(--surface);border:1px solid #486047;padding:35px 31px;border-radius:26px;box-shadow:var(--shadow)}.loginCard h1{font-size:39px;line-height:1.03;letter-spacing:-.055em}.loginCard>p{font-size:14px}.loginForm{display:grid;gap:9px;margin:24px 0 18px}.loginForm label{font-size:12px;color:#cce3d1;font-weight:750}.loginForm input{background:#0f1a18;color:var(--text);padding:15px 13px;border:1px solid #496452;border-radius:10px;font-size:16px;margin-bottom:10px}.loginForm .btn{padding:14px}.error{color:var(--red);font-size:12px;min-height:14px;margin:0}.toast{position:fixed;bottom:max(25px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:#d7f5d6;color:#193823;padding:11px 17px;border-radius:13px;font-size:13px;font-weight:800;opacity:0;pointer-events:none;transition:opacity .2s;z-index:20;max-width:90vw}.toast.show{opacity:1}
@media(max-width:1000px){.kpiGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.contentGrid{grid-template-columns:1fr 1fr}.heroVisual{min-width:190px}.orbit{width:180px;height:180px}.orbitalNum{font-size:87px}}
@media(max-width:700px){.shell{padding:16px 14px calc(105px + env(safe-area-inset-bottom))}.header{margin-bottom:14px}.brandTitle{font-size:14px}.brandSub{font-size:9px}.mark{height:43px;width:43px;font-size:25px}.welcome{padding:27px 22px;min-height:225px;margin-bottom:16px}.welcome h1{font-size:38px}.welcome p{font-size:13px}.heroVisual{display:none}.kpi{padding:16px}.kpiValue{font-size:33px}.sectionHeading{align-items:start;flex-direction:column;gap:3px}.sectionHeading h2{font-size:25px}.contentGrid{grid-template-columns:1fr}.panel{padding:17px;border-radius:16px}.nav{position:fixed;z-index:9;bottom:0;left:0;right:0;background:#101b18f5;backdrop-filter:blur(15px);margin:0;padding:9px 8px calc(8px + env(safe-area-inset-bottom));border:0;border-top:1px solid #385341;border-radius:0;gap:1px;overflow:visible;box-shadow:0 -14px 35px #0003}.navItem{min-width:0;padding:7px 1px;font-size:10px;font-weight:650;display:flex;flex-direction:column;gap:2px;align-items:center}.navIcon{font-size:23px;margin:0}.status{font-size:11px;padding:7px 10px}.calendarGrid{gap:5px}.day{min-height:104px;padding:8px 4px;border-radius:9px}.day.selected{padding:7px 3px}.dayName{font-size:9px}.dayNum{font-size:20px}.dayTitle{font-size:10px;line-height:1.12}.fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.fields input{padding:10px 6px}.fields label{font-size:10px}.loginCard{padding:30px 24px}.loginCard h1{font-size:36px}}
@media(max-width:380px){.shell{padding-left:10px;padding-right:10px}.welcome h1{font-size:33px}.heroTags span{font-size:10px}.kpiLabel{font-size:11px}.kpiValue{font-size:30px}.dayTitle{font-size:9px}.brandSub{letter-spacing:.04em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
