:root{color-scheme:light dark;--bg:oklch(.975 0 0);--panel:oklch(.995 0 0);--soft:oklch(.945 .009 140);--ink:oklch(.23 .012 140);--muted:oklch(.44 .015 140);--line:oklch(.85 .01 140);--accent:oklch(.43 .10 140);--on:oklch(.99 0 0);font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:15px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}a{color:var(--accent);text-underline-offset:4px}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 17px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);font-weight:650;text-decoration:none;cursor:pointer;transition:background .18s,transform .18s}button:hover,.button:hover{background:var(--soft)}button:active,.button:active{transform:translateY(1px)}button:disabled{opacity:.6;cursor:wait}.primary{background:var(--accent);color:var(--on);border-color:var(--accent)}.primary:hover{background:oklch(.36 .09 140)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100dvh}aside{padding:30px 23px;border-right:1px solid var(--line);background:var(--panel)}.brand{font-size:23px;font-weight:800;letter-spacing:-.03em}.brand span{color:var(--accent)}.sub{color:var(--muted);font-size:13px;margin-top:5px}nav{display:grid;gap:8px;margin-top:45px}nav a{padding:11px 14px;text-decoration:none;color:var(--ink);border-radius:9px}nav a.active{background:var(--soft);font-weight:700}.side-note{margin-top:45px;font-size:13px;line-height:1.7;color:var(--muted)}main{max-width:1260px;width:100%;padding:32px 42px 65px;margin:auto}.top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:32px}.top p{margin:0;color:var(--muted)}h1{font-size:2.4rem;line-height:1.12;letter-spacing:-.035em;margin:12px 0 15px}h2{font-size:1.3rem;margin:0 0 16px;letter-spacing:-.02em}h3{font-size:1rem;margin:0 0 10px}p{line-height:1.7;max-width:70ch}.intro{margin-bottom:25px}.intro p{color:var(--muted);margin:0}.columns{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(275px,.8fr);gap:24px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:25px}.lesson{padding:30px;background:var(--panel);border:1px solid var(--line);border-radius:16px}.lesson h2{font-size:1.8rem;margin-bottom:10px}.tag{display:inline-block;padding:5px 9px;background:var(--soft);color:var(--accent);border-radius:6px;font-size:12px;font-weight:700}.lesson .tag{margin-bottom:20px}.step{display:flex;gap:14px;padding:17px 0;border-top:1px solid var(--line);line-height:1.6}.step b{font-size:14px;color:var(--accent)}.step p{margin:3px 0 0;color:var(--muted);font-size:14px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:19px 0 0}.timer{text-align:center;padding:25px}.clock{font-variant-numeric:tabular-nums;font-size:4rem;letter-spacing:-.05em;line-height:1.2;margin:20px 0 8px}.timer p{font-size:13px;color:var(--muted);margin:8px auto}.timer .actions{justify-content:center}.timer select{padding:8px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--ink)}.meter{height:6px;background:var(--line);border-radius:5px;overflow:hidden;margin:22px 0}.meter span{display:block;background:var(--accent);height:100%;transition:width .2s}.lower{margin-top:24px}label{display:block;font-weight:600;font-size:14px;margin-bottom:8px}textarea,input[type=password],input[type=text]{width:100%;padding:12px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:8px}textarea{min-height:125px;resize:vertical;line-height:1.6}small,.muted{color:var(--muted);line-height:1.65}small{font-size:12px}.save-line{display:flex;gap:15px;align-items:center;margin-top:12px;flex-wrap:wrap}.save-line span{font-size:13px}.status{font-size:13px;color:var(--muted)}.error{color:oklch(.47 .16 25);font-weight:600}.stats{display:flex;gap:22px;flex-wrap:wrap;padding:20px 0}.stats strong{font-size:1.4rem;display:block;font-variant-numeric:tabular-nums}.stats small{display:block}.recall details{padding:14px 0;border-top:1px solid var(--line)}summary{cursor:pointer;line-height:1.6}details p{font-size:14px;color:var(--muted)}.week{display:grid;grid-template-columns:130px 1fr;gap:22px;padding:21px 0;border-top:1px solid var(--line)}.week p{margin:6px 0;color:var(--muted);font-size:14px}.week b{font-size:14px}.lesson-row{display:grid;grid-template-columns:minmax(160px,1fr) repeat(3,90px);gap:8px;align-items:center;padding:15px 0;border-top:1px solid var(--line);font-size:14px}.lesson-row label{margin:0;text-align:center;font-size:12px;font-weight:400}.lesson-row input{accent-color:var(--accent);width:18px;height:18px}.lesson-head{font-weight:650;font-size:12px}.lesson-head span:not(:first-child){text-align:center;overflow-wrap:anywhere;min-width:0}.resources{display:grid;gap:18px}.resources a{font-weight:650}.resources p{margin:5px 0;font-size:14px;color:var(--muted)}[hidden]{display:none!important}.auth{max-width:460px;margin:12vh auto;padding:30px}.auth .panel{margin-top:26px}.auth h1{font-size:2rem}.auth form{display:grid;gap:17px}.auth p{font-size:14px;color:var(--muted)}.auth .button{width:100%}.auth label{margin:0}.auth button{width:100%}footer{margin-top:30px;font-size:12px;color:var(--muted)}@media(prefers-color-scheme:dark){:root{--bg:oklch(.17 .006 140);--panel:oklch(.215 .007 140);--soft:oklch(.27 .018 140);--ink:oklch(.95 .005 140);--muted:oklch(.75 .012 140);--line:oklch(.36 .013 140);--accent:oklch(.79 .10 140);--on:oklch(.18 .02 140)}.primary:hover{background:oklch(.85 .09 140)}.error{color:oklch(.8 .11 25)}}@media(max-width:1000px){.shell{grid-template-columns:180px minmax(0,1fr)}aside{padding:25px 15px}main{padding:26px}.columns{grid-template-columns:1fr}.timer{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10px}.timer h2,.timer>p{grid-column:1/-1}.clock{margin:5px;font-size:3rem}.timer .actions{margin:0}.meter{grid-column:1/-1;margin:5px 0}}@media(max-width:640px){.shell{display:block}aside{padding:17px 20px;border-right:0;border-bottom:1px solid var(--line)}.sub,.side-note{display:none}nav{display:flex;gap:4px;margin-top:15px;overflow:auto}nav a{font-size:13px;padding:9px;white-space:nowrap}main{padding:22px 18px}h1{font-size:2rem}.panel,.lesson{padding:20px}.lesson h2{font-size:1.5rem}.top{margin-bottom:25px}.top p{font-size:12px}.week{grid-template-columns:1fr;gap:8px}.lesson-row{grid-template-columns:minmax(95px,1fr) repeat(3,64px);font-size:12px}.lesson-row label{font-size:11px}.timer{display:block}.timer .actions{margin-top:15px}.meter{margin:20px 0}.auth{margin:5vh auto;padding:20px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
