:root{font-family:Inter,Manrope,system-ui,-apple-system,sans-serif;color:#1d241f;background:#f2f1eb;font-synthesis:none;--ink:#1d241f;--green:#183f34;--green-2:#2c6352;--lime:#d7ee78;--paper:#fffefa;--line:#dedfd7;--muted:#737b74;--blue:#dce7ff;--orange:#ffe0b9}*{box-sizing:border-box}html,body,#root{min-height:100%;overscroll-behavior-y:none}body{margin:0;min-width:320px;background:#f2f1eb}button,input,select{font:inherit}.app{max-width:760px;margin:0 auto;min-height:100vh;padding-bottom:90px}header{height:68px;padding:17px 20px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:25px;font-weight:850;letter-spacing:-1.2px}.brand span{color:#92ad2e}.avatar{width:36px;height:36px;border:1px solid #d1d4cc;border-radius:50%;display:grid;place-items:center;color:#475149}.avatar svg{width:20px}.hero{padding:23px 20px 18px}.eyebrow{margin:0 0 7px;text-transform:uppercase;letter-spacing:.13em;color:#71813d;font-size:10px;font-weight:850}.hero h1{margin:0 0 16px;font-size:34px;line-height:1.05;letter-spacing:-1.6px}.hero>p:not(.eyebrow,.notice){color:var(--muted);font-size:13px;margin:-6px 0 17px}.daySwitch{display:inline-flex;padding:3px;background:#e1e2dc;border-radius:10px}.daySwitch button{border:0;background:transparent;color:#697069;border-radius:8px;padding:8px 14px;font-size:12px;font-weight:750}.daySwitch button.active{background:var(--paper);color:var(--green);box-shadow:0 2px 8px #24362912}.notice{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#e6edc9;color:#3e4e26;font-size:12px}.notice.error{background:#fae7df;color:#843c28}.taskSection{padding:4px 20px 26px}.taskCounter{display:flex;justify-content:space-between;margin-bottom:10px;color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.05em}.taskList{display:grid;gap:8px}.taskCard{display:grid;grid-template-columns:28px 1fr 32px;align-items:center;gap:11px;background:var(--paper);padding:15px 12px;border:1px solid #e5e5dc;border-radius:15px}.taskCheck{width:25px;height:25px;padding:0;border:1.5px solid #b8bdb5;border-radius:50%;background:transparent;display:grid;place-items:center;color:var(--green)}.taskCheck svg{width:14px}.taskCard.done{background:#f5f8e9;border-color:#cddc91}.taskCard.done .taskCheck{background:var(--lime);border-color:#b7cf51}.taskCard.done .taskText b{text-decoration:line-through;color:#7f857d}.taskText b{display:block;font-size:14px;line-height:1.35}.taskText span{display:flex;align-items:center;gap:5px;margin-top:5px;color:var(--muted);font-size:10px}.taskText i{width:7px;height:7px;border-radius:50%;background:#bbb}.taskText i.work{background:#6f99ea}.taskText i.devops{background:#99b73d}.taskText i.gym{background:#dc9138}.taskText i.personal{background:#8d948c}.deleteTask{width:32px;height:32px;border:0;background:transparent;color:#a2a7a0;display:grid;place-items:center}.deleteTask svg{width:16px}.empty{min-height:210px;border:1px dashed #c7cac1;border-radius:16px;display:grid;place-content:center;justify-items:center;text-align:center;padding:25px;color:var(--muted)}.empty svg{width:27px;color:#91a33d;margin-bottom:9px}.empty b{color:#323933;font-size:15px}.empty span{max-width:290px;margin-top:6px;font-size:11px;line-height:1.5}.addTask{margin-top:12px;background:var(--paper);padding:12px;border:1px solid #e3e4dc;border-radius:15px}.addTask>input{width:100%;border:0;border-bottom:1px solid #e4e5de;background:transparent;padding:5px 3px 12px;outline:none;font-size:14px}.addOptions{display:grid;grid-template-columns:1fr 90px auto;gap:7px;margin-top:10px}.addOptions select{min-width:0;border:1px solid #dfe1d8;border-radius:9px;background:#f6f5f0;padding:8px;color:#485049;font-size:11px}.addOptions button{border:0;border-radius:9px;background:var(--green);color:#fff;padding:8px 11px;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:4px}.addOptions button svg{width:14px}.stats{padding:4px 20px;display:grid;gap:9px}.stats article{display:flex;gap:13px;background:var(--paper);border:1px solid #e3e4dc;border-radius:15px;padding:15px}.statIcon{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;flex:none;background:#e5e6df}.statIcon svg{width:20px}.statIcon.work{background:var(--blue);color:#3e64a8}.statIcon.devops{background:#e5efba;color:#637a21}.statIcon.gym{background:var(--orange);color:#9b5a16}.statBody{min-width:0;flex:1}.statBody>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:12px}.statBody>div span{color:var(--muted)}.bar{height:6px;border-radius:5px;background:#e7e8e1;margin-top:11px;overflow:hidden}.bar i{display:block;height:100%;background:var(--green-2);border-radius:5px}.statBody small{display:block;margin-top:6px;color:var(--muted);font-size:9px}.trainingHero{padding-bottom:10px}.profileChips{display:flex;gap:6px}.profileChips span{padding:6px 9px;border-radius:9px;background:#e3e5dc;color:#536057;font-size:10px;font-weight:800}.cycleSummary{margin:0 20px 16px;padding:17px;border-radius:18px;background:var(--green);color:#fff}.cycleSummary>div:first-child{display:grid;grid-template-columns:1fr auto;align-items:end}.cycleSummary small{color:#bdd0c9;text-transform:uppercase;letter-spacing:.08em;font-size:8px}.cycleSummary strong{font-size:20px;grid-row:2}.cycleSummary>div:first-child span{grid-column:2;grid-row:2;color:#dce7e3;font-size:10px}.cycleGauge{height:7px;background:#ffffff20;border-radius:5px;overflow:hidden;margin:13px 0}.cycleGauge i{display:block;height:100%;border-radius:5px;background:var(--lime)}.cycleSummary p{margin:8px 0 0;display:flex;align-items:center;gap:7px;color:#d7e1de;font-size:10px}.cycleSummary p svg{width:14px;color:var(--lime)}.trainingError{margin:0 20px 12px}.weekPicker{display:flex;gap:7px;padding:0 20px 12px;overflow-x:auto;scrollbar-width:none}.weekPicker::-webkit-scrollbar{display:none}.weekPicker button{min-width:57px;border:1px solid #dfe1d8;background:var(--paper);border-radius:12px;padding:8px 7px;color:#7c847e;display:grid;justify-items:center}.weekPicker button small{font-size:7px;white-space:nowrap;max-width:48px;overflow:hidden;text-overflow:ellipsis}.weekPicker button b{font-size:18px;color:#384039}.weekPicker button span{font-size:8px}.weekPicker button.active{background:var(--lime);border-color:#bdd35a;color:var(--green)}.weekOverview{margin:0 20px 10px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.weekOverview small{font-size:9px;color:#7d857f;text-transform:uppercase;letter-spacing:.06em}.weekOverview h2{font-size:17px;margin:3px 0 0}.weekMetrics{display:flex;gap:5px}.weekMetrics span{min-width:46px;padding:6px;border-radius:9px;background:#e5e6df;color:#6f7771;text-align:center;font-size:7px;text-transform:uppercase}.weekMetrics b{display:block;color:#29312b;font-size:10px}.trainingSessions{padding:0 20px;display:grid;gap:11px}.workoutCard{background:var(--paper);border:1px solid #e1e2da;border-radius:17px;overflow:hidden}.workoutCard.completed{border-color:#bfd068;box-shadow:inset 3px 0 #c4da61}.workoutCard>header{height:auto;padding:14px;align-items:flex-start;gap:10px;border-bottom:1px solid #ecece5}.workoutCard>header small{font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:#778179}.workoutCard h3{font-size:17px;margin:3px 0 1px}.workoutCard header p{font-size:9px;color:#808780;margin:0}.workoutDone{border:0;border-radius:9px;background:var(--green);color:#fff;padding:8px 9px;font-size:9px;font-weight:800;display:flex;align-items:center;gap:4px}.workoutDone svg{width:13px}.workoutCard.completed .workoutDone{background:var(--lime);color:var(--green)}.exerciseTable{width:100%}.exerciseHead,.exerciseRow{display:grid;grid-template-columns:minmax(0,1fr) 72px 62px;gap:7px;align-items:center}.exerciseHead{padding:8px 14px;background:#f2f2ec;color:#8a918b;font-size:7px;text-transform:uppercase;letter-spacing:.05em}.exerciseRow{padding:10px 14px;border-top:1px solid #efefe9;font-size:9px}.exerciseRow>span:first-child{min-width:0}.exerciseRow b{display:block;font-size:10px}.exerciseRow small{display:block;color:#858d86;font-size:7px;line-height:1.35;margin-top:2px}.exerciseRow>span:nth-child(2){font-weight:750}.exerciseRow strong{text-align:right;font-size:9px}.workoutCard>footer{height:auto;padding:9px 14px;background:#f7f7f2;justify-content:flex-start;gap:7px}.workoutCard>footer span{padding:4px 7px;border-radius:7px;background:#e7e8e0;color:#59615b;font-size:8px}.effort{display:flex;align-items:center;gap:5px;padding:10px 14px;border-top:1px solid #e6e7df}.effort span{margin-right:auto;font-size:9px;color:#687169}.effort button{width:26px;height:26px;border:1px solid #d4d7cd;border-radius:8px;background:#fff;color:#5f675f;font-size:9px}.effort button.active{background:var(--green);border-color:var(--green);color:#fff}.trainingRules{margin:16px 20px 28px;padding:15px;border:1px solid #dfe1d8;border-radius:16px;background:#ebece5}.trainingRules>header{height:auto;padding:0 0 10px;justify-content:flex-start;gap:9px}.trainingRules header svg{width:19px;color:#6e8232}.trainingRules header small{text-transform:uppercase;letter-spacing:.08em;color:#818a82;font-size:7px}.trainingRules h2{font-size:14px;margin:2px 0}.trainingRules>p{font-size:9px;line-height:1.45;color:#606960;margin:6px 0;padding-left:13px;position:relative}.trainingRules>p:before{content:"";position:absolute;left:1px;top:5px;width:5px;height:5px;border-radius:50%;background:#a7bc4d}.trainingRules>a{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:10px;border-radius:10px;background:var(--paper);color:var(--green);font-size:9px;font-weight:800;text-decoration:none}.trainingRules>a svg{width:13px}.trainingRules>small{display:block;margin-top:8px;color:#838a84;font-size:7px;line-height:1.4}.linuxHero{padding-bottom:6px}.linuxProgress{margin:0 20px 24px;padding:17px;background:var(--green);color:#fff;border-radius:17px;display:flex;align-items:center;gap:14px}.progressRing{--progress:0deg;width:68px;height:68px;flex:none;border-radius:50%;background:conic-gradient(var(--lime) var(--progress),#ffffff20 0);display:grid;place-items:center;position:relative}.progressRing:after{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border-radius:50%;background:var(--green)}.progressRing b{position:relative;z-index:1;font-size:16px}.linuxProgress>div:last-child{display:grid;gap:2px}.linuxProgress span,.linuxProgress small{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#bdcec8}.linuxProgress strong{font-size:21px}.treeError{margin:0 20px 15px}.roadmap{padding:0 20px 28px}.roadmapGroup{display:grid;grid-template-columns:32px 1fr;gap:10px;position:relative}.branch{display:flex;flex-direction:column;align-items:center}.branch span{width:29px;height:29px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:9px;font-weight:850;z-index:1}.branch i{width:2px;flex:1;background:#c8cdc4}.roadmapGroup:last-child .branch i{display:none}.groupCard{margin-bottom:14px;background:var(--paper);border:1px solid #e0e2d9;border-radius:15px;padding:14px}.groupCard>header{height:auto;padding:0 0 11px;border-bottom:1px solid #ecece6}.groupCard>header>div{min-width:0}.groupCard header small{display:block;text-transform:uppercase;letter-spacing:.1em;color:#8b958d;font-size:8px;font-weight:800}.groupCard h2{font-size:15px;margin:3px 0 0;letter-spacing:-.2px}.groupCard header>b{font-size:11px;color:#71813d;background:#edf2d8;padding:5px 7px;border-radius:8px}.skillGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-top:11px}.skillGrid button{border:1px solid #e0e2da;background:#f7f6f1;color:#4d554f;border-radius:10px;padding:8px;text-align:left;font-size:10px;line-height:1.3;display:flex;align-items:center;gap:7px}.skillGrid button>span{width:19px;height:19px;border-radius:50%;background:#e2e4dd;display:grid;place-items:center;flex:none}.skillGrid button svg{width:11px}.skillGrid button.completed{background:#edf4d2;border-color:#c9da81;color:#334123}.skillGrid button.completed>span{background:var(--lime);color:var(--green)}.center{min-height:100vh;display:grid;place-content:center;text-align:center;padding:20px}.center p{color:var(--muted)}.pulse{animation:pulse 1.3s infinite}@keyframes pulse{50%{opacity:.35}}nav{position:fixed;z-index:10;left:50%;bottom:0;transform:translate(-50%);width:min(760px,100%);height:76px;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid #e0e1da;background:#fbfaf6ed;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);display:grid;grid-template-columns:repeat(4,1fr)}nav button{border:0;background:transparent;color:#858b84;display:grid;place-content:center;gap:2px}nav button svg{width:20px;margin:auto}nav small{font-size:9px}nav button.active{color:var(--green);font-weight:850}@media(max-width:430px){.hero h1{font-size:31px}.addOptions{grid-template-columns:1fr 82px}.addOptions button{grid-column:1/-1}.skillGrid{grid-template-columns:1fr}.roadmap{padding-left:15px;padding-right:15px}.roadmapGroup{grid-template-columns:29px 1fr;gap:7px}.groupCard{padding:12px}.linuxProgress{margin-left:15px;margin-right:15px}.weekOverview{align-items:flex-start;flex-direction:column}.weekMetrics{width:100%}.weekMetrics span{flex:1}.exerciseHead,.exerciseRow{grid-template-columns:minmax(0,1fr) 65px 57px}.exerciseRow{padding-left:11px;padding-right:11px}}
