:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f4f2ee;--surface:#fffdf9;--line:#e3ded4;--text:#1d1b17;--muted:#6b655a;--accent:#0f6b5c;--accent-soft:#d9ece7;--warn:#9a4708;--warn-soft:#f8e6d2;--danger:#a3261f;--danger-soft:#f7ddd9;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:1.75rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--radius:12px;--radius-sm:8px;--radius-xs:4px;--gap:var(--space-4);--pad:var(--space-4);font:16px/1.5 system-ui,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#141412;--surface:#1d1c19;--line:#2e2c27;--text:#ece8df;--muted:#9a9488;--accent:#5cc4ae;--accent-soft:#1c3a34;--warn:#f0a35a;--warn-soft:#3a2a17;--danger:#ef7a70;--danger-soft:#3a1f1c}}@media (width>=640px){:root{--pad:var(--space-5)}}@media (width>=800px){:root{--gap:var(--space-6)}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}h1,h2,p,ul,figure{margin:0}h1{font-size:var(--text-lg);letter-spacing:-.01em;font-weight:650;line-height:1.2}h2{margin-bottom:var(--space-3);font-size:var(--text-sm);color:var(--muted);font-weight:600;line-height:1.4}strong{font-weight:600}.muted{color:var(--muted);font-size:var(--text-sm)}.mono{font:var(--text-xs) / 1.4 ui-monospace, monospace;color:var(--muted)}.big,.mono,.row,.badge,.chart-y,.chart-x{font-variant-numeric:tabular-nums}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}.app{min-height:100dvh}.nav{z-index:10;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;inset:auto 0 0}.nav a{justify-content:center;align-items:center;gap:var(--space-1);min-height:56px;font-size:var(--text-xs);color:var(--muted);flex-direction:column;flex:1;line-height:1.2;text-decoration:none;display:flex}.nav a[aria-current=page]{color:var(--accent);font-weight:600}.nav svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}main{padding:var(--gap);padding-bottom:calc(72px + env(safe-area-inset-bottom));max-width:1400px}@media (width>=640px){.app{grid-template-columns:76px minmax(0,1fr);display:grid}.nav{justify-content:flex-start;gap:var(--space-1);height:100dvh;padding:var(--space-3) 0;border-top:0;border-right:1px solid var(--line);flex-direction:column;position:sticky;inset:0 auto auto 0}.nav a{flex:none}main{padding-bottom:var(--gap)}}@media (width>=1100px){.app{grid-template-columns:208px minmax(0,1fr)}.nav{padding:var(--space-4) var(--space-2)}.nav a{justify-content:flex-start;gap:var(--space-3);min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);flex-direction:row}.nav a[aria-current=page]{background:var(--accent-soft)}}.nav-toggle{width:44px;min-height:44px;margin:0 auto var(--space-1);color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:none}@media (width>=640px) and (width<=1099.98px){.nav-toggle{display:flex}.app.expanded{grid-template-columns:208px minmax(0,1fr)}.app.expanded .nav{padding:var(--space-3) var(--space-2)}.app.expanded .nav-toggle{margin-left:0}.app.expanded .nav a{justify-content:flex-start;gap:var(--space-3);min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);flex-direction:row}}.top{align-items:center;gap:var(--space-2) var(--space-4);margin-bottom:var(--gap);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title actions""ask ask";display:grid}.top-title{grid-area:title;min-width:0}.top-title>div{align-items:center;gap:var(--space-2);display:flex}.top-actions{flex-wrap:wrap;grid-area:actions;justify-content:flex-end;align-items:center;display:flex}.ask{align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-area:ask;display:flex}.ask:focus-within{outline:2px solid var(--accent);outline-offset:2px}.ask input{min-width:0;height:42px;color:inherit;font:inherit;background:0 0;border:0;outline:0;flex:1}@media (width>=800px){.top{gap:var(--space-6);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"title ask actions"}.ask{max-width:480px}}.keys{gap:var(--space-1);display:flex}kbd{height:20px;padding:0 var(--space-1);border:1px solid var(--line);border-radius:var(--radius-xs);font:var(--text-xs) / 1 ui-monospace, monospace;color:var(--muted);align-items:center;display:inline-flex}@media (hover:none){.keys{display:none}}.grid{gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));align-items:start;display:grid}.widget{min-width:0;padding:var(--pad);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);scroll-margin-top:var(--gap);container-type:inline-size}@media (width>=800px){.wide{grid-column:span 2}}.list{padding:0;list-style:none}.list li{align-items:center;gap:var(--space-3);min-height:48px;padding:var(--space-2) 0;border-top:1px solid var(--line);display:flex}.list li:first-child{border-top:0}.grow{overflow-wrap:anywhere;flex:1;min-width:0}.empty{padding:var(--space-3) 0;color:var(--muted);font-size:var(--text-sm)}.empty a{color:var(--accent);font-weight:600}.badge{min-width:72px;height:24px;padding:0 var(--space-2);background:var(--line);color:var(--text);font-size:var(--text-xs);white-space:nowrap;border-radius:999px;flex:none;justify-content:center;align-items:center;font-weight:500;line-height:1;display:inline-flex}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.ok{background:var(--accent-soft);color:var(--accent)}.badge.bad{background:var(--danger-soft);color:var(--danger)}.lessons{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.lesson{gap:var(--space-1);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);align-content:start;justify-items:start;display:grid}.lesson strong{overflow-wrap:anywhere}.lesson.cancelled strong{color:var(--muted);text-decoration:line-through}.approval{padding:var(--space-3);margin-bottom:var(--space-2);border:1px solid var(--warn);border-radius:var(--radius-sm);background:var(--warn-soft)}.approval p+p{margin-top:var(--space-1)}.actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}button{min-height:44px;padding:0 var(--space-4);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;font-weight:500}button.primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}button.quiet{padding:0 var(--space-2);color:var(--muted);font-size:var(--text-sm);background:0 0;border-color:#0000}.big{font-size:var(--text-xl);letter-spacing:-.02em;font-weight:650;line-height:1.2}.row{justify-content:space-between;align-items:baseline;gap:var(--space-3);font-size:var(--text-sm);display:flex}.row>:last-child{text-align:right;overflow-wrap:anywhere}.chart{gap:var(--space-1) var(--space-2);margin:var(--space-3) 0 var(--space-4);font-size:var(--text-xs);color:var(--muted);grid-template-columns:auto minmax(0,1fr);grid-template-areas:"y plot"".x";line-height:1;display:grid}.chart-y{text-align:right;flex-direction:column;grid-area:y;justify-content:space-between;display:flex}.chart-plot{grid-area:plot;height:96px;margin:6px 6px 6px 0;position:relative}.chart-plot svg{width:100%;height:100%;display:block;overflow:visible}.chart-grid,.chart-line{fill:none;vector-effect:non-scaling-stroke}.chart-grid{stroke:var(--line);stroke-width:1px}.chart-line{stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.chart-dot{border:2px solid var(--surface);background:var(--accent);box-sizing:content-box;border-radius:50%;width:8px;height:8px;position:absolute;right:0;transform:translate(50%,-50%)}.chart-x{grid-area:x;justify-content:space-between;margin-right:6px;display:flex}.bar{height:8px;margin:var(--space-1) 0 var(--space-3);background:var(--line);border-radius:999px;overflow:hidden}.bar>i{border-radius:inherit;background:var(--accent);height:100%;display:block}.todo{align-items:center;gap:var(--space-3);cursor:pointer;flex:1;min-width:0;min-height:44px;display:flex}.todo input{width:20px;height:20px;accent-color:var(--accent);flex:none}.todo span{overflow-wrap:anywhere;min-width:0}.todo:has(input:checked) span{color:var(--muted);text-decoration:line-through}.project{gap:var(--space-1) var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.project:first-child{border-top:0}.project strong,.project .mono{overflow-wrap:anywhere;min-width:0}.project .mono{grid-column:1}.project>.muted{text-align:right;white-space:nowrap}@container (width>=520px){.project{grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) 104px auto}.project .mono{grid-column:auto}.project .badge{order:4}.project>.muted{order:3}}.page{gap:var(--gap);display:grid}.form{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));align-items:end;display:grid}.form label{gap:var(--space-1);font-size:var(--text-sm);color:var(--muted);display:grid}.full{grid-column:1/-1}.form input,.form select{width:100%;min-height:44px;padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font:inherit}.error{color:var(--danger);font-size:var(--text-sm)}.events{padding:0;list-style:none}.event{gap:var(--space-1) var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.event:first-child{border-top:0}.event-title{overflow-wrap:anywhere}.event .event-title,.event .actions{grid-column:1/-1}.event .actions{margin-top:var(--space-1)}@container (width>=640px){.event{grid-template-columns:112px minmax(0,1.6fr) minmax(0,1fr) auto auto}.event .event-title,.event .actions{grid-column:auto;margin-top:0}}summary{min-height:44px;color:var(--muted);font-size:var(--text-sm);cursor:pointer;align-items:center;display:flex}.login{max-width:none;min-height:100dvh;padding:var(--gap);place-items:center;display:grid}.login form{width:min(100%,380px)}.telegram{text-align:right;flex-basis:100%}code{padding:0 var(--space-1);border:1px solid var(--line);border-radius:var(--radius-xs);font:var(--text-sm) ui-monospace, monospace;-webkit-user-select:all;user-select:all}:root{--ease-out:cubic-bezier(.23, 1, .32, 1)}button,.nav a{transition:background-color .15s ease, border-color .15s ease, color .15s ease, transform .12s var(--ease-out)}button:active,.nav a:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){button:hover{border-color:var(--muted)}button.primary:hover{background:color-mix(in srgb, var(--accent) 86%, var(--text));border-color:#0000}button.quiet:hover{background:var(--line);color:var(--text);border-color:#0000}.nav a:hover{color:var(--text)}.nav a[aria-current=page]:hover{color:var(--accent)}}.approval,.settled{transition:opacity .2s var(--ease-out), transform .2s var(--ease-out)}@starting-style{.approval,.settled{opacity:0;transform:translateY(4px)scale(.98)}}@media (prefers-reduced-motion:reduce){button,.nav a{transition:background-color .15s,border-color .15s,color .15s}button:active,.nav a:active{transform:none}.approval,.settled{transition:opacity .2s}@starting-style{.approval,.settled{transform:none}}}.data-toggle{left:50%;bottom:calc(64px + env(safe-area-inset-bottom));z-index:20;border-radius:var(--radius-sm);background:var(--line);gap:2px;padding:2px;display:flex;position:fixed;transform:translate(-50%)}.data-toggle button{min-height:32px;padding:0 var(--space-3);color:var(--muted);font-size:var(--text-xs);white-space:nowrap;background:0 0;border:0;border-radius:6px;transition:none}.data-toggle button[aria-pressed=true]{background:var(--surface);color:var(--text)}@media (width>=640px){.data-toggle{bottom:var(--space-4)}}.approval p{overflow-wrap:anywhere}.bar.over>i{background:var(--warn)}details>.list{border-top:1px solid var(--line)}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior:none}button,summary,.nav a,.todo,.empty a{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}main{padding-top:max(var(--gap), env(safe-area-inset-top));padding-left:max(var(--gap), env(safe-area-inset-left));padding-right:max(var(--gap), env(safe-area-inset-right))}.nav{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}@media (width>=640px){.nav{padding-top:max(var(--space-3), env(safe-area-inset-top));padding-right:0}}input,select,textarea{font-size:max(16px,1rem)}.form input[type=date]{appearance:none;display:block}
