@font-face{font-family:Manrope;src:url('/fonts/manrope-cyrillic.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap;unicode-range:U+0400-052F}@font-face{font-family:Manrope;src:url('/fonts/manrope-latin.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap;unicode-range:U+0000-024F}
:root{--paper:#101012;--card:#202023;--ink:#f6f3f1;--muted:#9e9ca2;--line:#343337;--accent:#e54555;--accent-text:#ff9ba5;color:var(--ink);background:var(--paper);font:14px Manrope,Arial,sans-serif;color-scheme:dark;font-synthesis:none}*{box-sizing:border-box;min-width:0}[hidden]{display:none!important}body{margin:0}main{max-width:760px;margin:auto;padding:24px 28px calc(140px + env(safe-area-inset-bottom));min-height:100dvh}button,input,select{font:inherit;color:inherit}button{min-height:44px;padding:11px 16px;border:1px solid var(--line);border-radius:13px;background:var(--card);font-weight:700;cursor:pointer;transition:background .15s,transform .15s}button:hover:not(:disabled){background:#353034}button:active:not(:disabled){transform:scale(.98)}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #ff9ba5;outline-offset:3px}svg{width:24px;height:24px;flex-shrink:0}header,.section-heading,.day-heading,.form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}header{margin-bottom:30px;min-height:44px}.brand{font-size:17px;font-weight:800;letter-spacing:-.7px;text-decoration:none;color:var(--ink)}.brand::before{content:'';display:inline-block;width:8px;height:8px;background:var(--accent);border-radius:50%;margin-right:9px}.quiet{background:transparent;border-color:transparent;color:var(--muted)}#settings-open{width:44px;padding:10px;background:#202023;border:1px solid #2c2c30;border-radius:50%}#settings-open svg{width:21px;height:21px}h1,h2,h3,p{margin:0}h1{font-size:40px;letter-spacing:-1.9px;line-height:1.15;font-weight:800}h2{font-size:24px;letter-spacing:-1px}h3{font-size:19px;letter-spacing:-.6px}.day-heading{position:relative}.date-caption{font-size:12px;color:var(--muted);margin-top:8px}.date-label{display:flex;align-items:center;justify-content:flex-end;position:relative;width:44px;height:44px;border:1px solid var(--line);background:#202023;border-radius:14px;color:#ccc8cd}.date-label svg{position:absolute;left:10px;pointer-events:none}.date-label input{position:absolute;inset:0;width:44px;height:44px;padding:0;margin:0;opacity:0;cursor:pointer}.date-label:focus-within{outline:3px solid var(--accent-text)}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:25px 0 17px}.week-day{padding:10px 0 12px;min-height:78px;border-color:transparent;background:#1d1d20;border-radius:18px;display:flex;flex-direction:column;align-items:center;gap:9px;color:var(--muted);font-size:11px;font-weight:500}.week-day strong{font-size:17px;font-weight:750;color:#e7e2e6}.week-day[aria-pressed=true]{background:var(--accent);color:#fff;box-shadow:0 5px 17px #e5455528}.week-day[aria-pressed=true] strong{color:#fff}.mode-trigger{display:flex;align-items:center;gap:4px;min-height:44px;margin:0 0 15px;border:0;background:transparent;color:var(--muted);font-size:11px;font-weight:500;padding:8px 0;max-width:100%;text-align:left}.mode-trigger::after{content:'⌄';font-size:18px;margin-left:7px;color:#d3cdd3}.mode-trigger #mode-label{color:#d4ced3}.day-summary{display:flex;justify-content:space-between;align-items:center;gap:22px;background:linear-gradient(110deg,#2b2327,#242225);border:1px solid #3b3035;border-radius:20px;padding:18px 20px;margin-bottom:26px}.summary-eyebrow{display:block;color:#c3afb5;font-size:10px;font-weight:600;margin-bottom:6px}#day-progress-label{font-size:15px;font-weight:750;letter-spacing:-.3px}.progress-track{width:30%;max-width:160px}progress{appearance:none;display:block;width:100%;height:5px;border:0;border-radius:10px;overflow:hidden;background:#44353b}progress::-webkit-progress-bar{background:#44353b;border-radius:10px}progress::-webkit-progress-value{background:var(--accent);border-radius:10px}progress::-moz-progress-bar{background:var(--accent)}.list-heading{font-size:14px;font-weight:750;margin-bottom:13px;letter-spacing:-.2px}.task-list{display:grid;gap:10px}.task{padding:11px;border:1px solid #333135;border-radius:19px;background:linear-gradient(125deg,#252528,#202023);box-shadow:0 4px 12px #00000015}.task.important{background:linear-gradient(115deg,#36252b,#282125);border-color:#54313b}.task-top{display:flex;align-items:flex-start;gap:8px}.complete{flex-shrink:0;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;position:relative;font-size:17px;color:#fff;margin-top:3px}.complete::before{content:'';position:absolute;inset:10px;border:1.5px solid #79717b;border-radius:50%}.important .complete::before{border-color:#d5818d}.complete:hover:not(:disabled){background:#ffffff07}.done .complete{color:#f8a3ad}.done .complete::before{border-color:#c05a68}.task-open{display:block;flex:1;border:0;box-shadow:none;padding:7px 3px;min-height:52px;background:transparent;text-align:left;border-radius:8px;font-weight:400;line-height:1.5}.task-open:hover:not(:disabled){background:#ffffff04}.task-title{display:block;font-size:14px;font-weight:650;overflow-wrap:anywhere}.task-meta{display:block;font-size:10px;color:#aaa1aa;margin-top:6px;line-height:1.6}.task-meta.due{color:#e9a3ae}.done .task-title{text-decoration:line-through;color:#9a9199}.empty{padding:29px 15px 31px;min-height:162px;border:1px dashed #363338;border-radius:20px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:#19191b}.empty svg{color:#a47d87;width:30px;height:30px;margin-bottom:4px}.empty strong{font-size:14px;font-weight:650}.empty span{font-size:11px;color:var(--muted)}.empty.small{min-height:68px;padding:22px 10px;font-size:11px;border:0;background:transparent}.muted{color:var(--muted);font-size:11px;line-height:1.6}#plan-estimate{margin:17px 3px 0}.obligations{border:1px solid #6a3c47;background:#2b2025;border-radius:16px;padding:4px 15px;margin-top:17px}.obligations summary{color:#f5bdc6}.obligations ul{padding-left:19px;color:#e8d9df;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.all-tasks>.section-heading{margin:5px 0 13px}.all-tasks h1{font-size:35px}details summary{min-height:44px;padding:12px 0;cursor:pointer;font-size:12px;color:var(--muted)}#task-filters{margin-bottom:17px}.filters{display:flex;gap:10px;padding:8px 0}.filters label{flex:1}.category-grid{display:grid;gap:23px}.category>.section-heading{padding:17px 18px;border:1px solid #4b303a;border-radius:20px;background:linear-gradient(125deg,#49303a,#30242b);margin-bottom:10px}.category:nth-child(2)>.section-heading{background:linear-gradient(125deg,#323034,#272629);border-color:#414045}.category-caption{display:flex;align-items:center;gap:12px}.category-icon{width:39px;height:39px;border-radius:13px;background:#ffffff09;display:grid;place-items:center;color:#e6acb9}.category:nth-child(2) .category-icon{color:#c7b9bd}.category-count{font-size:23px;font-weight:700;color:#eac3cd}.category:nth-child(2) .category-count{color:#d0c6cb}#completed{margin-top:24px}#completed summary{border-top:1px solid var(--line);padding-top:18px}.bottom-dock{position:fixed;z-index:10;bottom:calc(14px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(440px,calc(100% - 32px));height:78px;padding:8px 13px;background:#242326;border:1px solid #3c383e;box-shadow:0 12px 40px #0009;border-radius:25px;display:flex;align-items:center;gap:15px}.view-tabs{display:grid;grid-template-columns:1fr 1fr;flex:1;gap:4px}.view-tabs button{background:transparent;border:0;min-height:60px;border-radius:17px;padding:6px 9px;color:#a49ca5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:10px;font-weight:600}.view-tabs svg{width:22px;height:22px}.view-tabs button[aria-pressed=true]{background:#39282f;color:#ff9ba5}.view-tabs button[aria-pressed=true] svg{stroke:#f36a7a}#add-main{flex-shrink:0;width:56px;height:56px;min-height:56px;background:var(--accent);color:#fff;border:1px solid #f36b78;border-radius:19px;padding:0;box-shadow:0 5px 14px #e5455522}#add-main span{font-size:31px;line-height:1;font-weight:400}#add-main:hover{background:#f15b6a}.undo{position:fixed;z-index:12;bottom:calc(106px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(440px,calc(100% - 32px));background:#3b3035;border:1px solid #73505a;border-radius:16px;display:flex;align-items:center;justify-content:space-between;padding:7px 13px;gap:10px;box-shadow:0 8px 30px #0008;font-size:11px}.text-button{background:transparent;border:0;color:var(--accent-text);font-size:12px}.wide{width:100%}.orange,.green{background:var(--accent);color:white;border-color:#ed6473}.orange:hover:not(:disabled),.green:hover:not(:disabled){background:#ed5969}footer{font-size:9px;color:#777079;text-align:center;margin-top:32px}.error{font-size:12px;line-height:1.6;padding:12px 15px;background:#40232d;color:#ffbec7;border:1px solid #71404d;border-radius:13px;margin-bottom:14px;overflow-wrap:anywhere}dialog{color:var(--ink);background:#202023;border:1px solid #423b43;border-radius:26px;width:min(480px,calc(100% - 30px));max-height:calc(100dvh - 40px);padding:25px;box-shadow:0 20px 100px #000b;overflow:auto}dialog::backdrop{background:#000a;backdrop-filter:blur(5px)}dialog .section-heading{margin-bottom:23px}dialog .section-heading .quiet{padding:8px;width:44px;font-size:20px}dialog p{font-size:12px;line-height:1.7;color:#bbb1ba;margin-bottom:14px}label{display:block;font-size:11px;font-weight:600;color:#c4bbc4}input:not([type=checkbox]),select{display:block;width:100%;max-width:100%;min-width:0;min-height:48px;margin:8px 0 18px;padding:12px 14px;border:1px solid #403a42;background:#29272c;border-radius:13px;outline-offset:2px}input[type=date]{appearance:none;min-inline-size:0}input[type=checkbox]{width:19px;height:19px;accent-color:var(--accent);margin:0;flex-shrink:0}.check{min-height:44px;display:flex;align-items:center;gap:10px}.task-options{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px 0;margin:8px 0}.duration summary{display:flex;justify-content:space-between}.duration summary span{color:#c2b7c2}.duration{margin-bottom:8px}.form-actions{gap:10px;margin-top:18px}.form-actions button{flex:1;font-size:12px}.form-actions .quiet{border-color:#454049}#edit-actions{margin-top:15px;border-top:1px solid var(--line);padding-top:8px}#delete-task{color:#d39aa3}.import-label{margin-top:20px}.mode-options{display:grid;gap:9px}.mode-options button{text-align:left;font-size:12px;min-height:50px}.mode-options button[aria-pressed=true]{background:#402831;border-color:#9d5365}.mode-options #replan{margin-top:12px}.mode-options #all-done{color:#dbb5c0}#confirm-list{font-size:12px;line-height:1.7;overflow-wrap:anywhere}#confirm-title{margin-bottom:15px}
@media(min-width:800px){main{padding-top:32px}.category-grid{grid-template-columns:1fr 1fr;align-items:start}.week-strip{gap:12px}.week-day{min-height:84px}.day-summary{padding:21px 24px}.task{padding:14px}.day-summary .progress-track{width:35%}}
@media(max-width:600px){main{padding:18px 22px calc(138px + env(safe-area-inset-bottom))}header{margin-bottom:27px}h1{font-size:37px}.week-strip{gap:6px}.week-day{min-height:76px;border-radius:17px}.day-summary{padding:17px 18px}.all-tasks h1{font-size:32px}dialog{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:none;max-height:calc(100dvh - 16px);border-radius:28px 28px 0 0;padding:26px 22px calc(24px + env(safe-area-inset-bottom));border-bottom:0}dialog::before{content:'';display:block;background:#5c535e;width:34px;height:4px;border-radius:5px;margin:-13px auto 23px}dialog h2{font-size:25px}}
@media(max-width:350px){main{padding-left:16px;padding-right:16px}h1{font-size:34px}.week-strip{gap:4px}.week-day{border-radius:14px;font-size:10px}.week-day strong{font-size:16px}.mode-trigger{font-size:10px}.day-summary{padding:16px 14px;gap:12px}#day-progress-label{font-size:14px}.task{padding:9px}.task-title{font-size:13px}.task-meta{font-size:9px}.bottom-dock{width:calc(100% - 24px)}.empty span{font-size:10px}dialog{padding-left:18px;padding-right:18px}.form-actions button{padding:12px 9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.classes-panel{background:#1c1b1f;border:1px solid #353036;border-radius:19px;margin:0 0 20px;padding:0 16px 14px}.classes-panel>summary{display:flex;justify-content:space-between;gap:10px;min-height:52px;align-items:center;font-size:13px;color:var(--ink);list-style:none}.classes-panel>summary::after{content:"⌄";color:var(--muted)}#classes-end{margin-left:auto;font-size:11px;color:var(--muted)}.classes-panel:not([open]){padding-bottom:0}.lesson-row{display:flex;gap:12px;padding:12px 0;border-top:1px solid #332c32}.lesson-time{flex-shrink:0;font-size:10px;color:var(--accent-text);padding-top:2px;font-variant-numeric:tabular-nums}.lesson-title{font-size:12px;line-height:1.5;font-weight:650}.lesson-meta{font-size:10px;color:var(--muted);line-height:1.6;margin-top:3px}.schedule-status,.schedule-source{font-size:9px;color:var(--muted);line-height:1.7}.schedule-status.stale{color:#e3aa8b}.schedule-source{display:inline-block;margin-top:6px}.time-plan-note{font-size:10px;color:var(--muted);line-height:1.6;margin:-4px 0 12px}.task-slot{font-size:11px;font-weight:700;letter-spacing:.4px;color:var(--accent-text);margin:1px 0 5px 10px}.task-slot.unplaced{font-size:10px;color:var(--muted);letter-spacing:0}.schedule-notice{font-size:11px;line-height:1.7;color:#e3b0b6;background:#302128;border-radius:10px;padding:10px;margin:0 0 12px;overflow-wrap:anywhere}.planning-form{display:grid;gap:10px;margin-bottom:25px}.planning-form label{font-size:11px;color:var(--muted)}.planning-form input[type=time]{width:100%;min-width:0;min-inline-size:0;max-width:100%;min-height:46px}.planning-form button{margin-top:8px}.data-heading{margin-top:18px}
@media(max-width:350px){.lesson-row{gap:8px}.lesson-time{font-size:9px}.classes-panel{padding-left:12px;padding-right:12px}}

#classes-panel{margin-top:24px;margin-bottom:0}
