: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;--radius:10px;--gap:clamp(12px, 2.2vw, 20px);font:16px/1.45 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}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}h1,h2,p,ul{margin:0}h1{letter-spacing:-.02em;font-size:1.5rem}h2{margin-bottom:12px;font-size:.95rem}.muted{color:var(--muted);font-size:.875rem}.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{min-height:56px;color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.72rem;text-decoration:none;display:flex}.nav a:hover,.nav a:focus-visible{color:var(--accent)}.nav svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}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{border-top:0;border-right:1px solid var(--line);flex-direction:column;justify-content:flex-start;gap:4px;height:100dvh;padding:12px 0;position:sticky;inset:0 auto auto 0}.nav a{flex:none}main{padding-bottom:var(--gap)}}@media (width>=1100px){.app{grid-template-columns:210px minmax(0,1fr)}.nav{padding:16px 10px}.nav a{border-radius:8px;flex-direction:row;justify-content:flex-start;gap:12px;min-height:44px;padding:0 12px;font-size:.9rem}.nav a:hover{background:var(--accent-soft)}}.nav a[aria-current=page]{color:var(--accent)}.nav-toggle{width:44px;min-height:44px;color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;margin:0 auto 4px;padding:0;display:none}@media (width>=640px) and (width<=1099.98px){.nav-toggle{display:flex}.app.expanded{grid-template-columns:210px minmax(0,1fr)}.app.expanded .nav{padding:12px 10px}.app.expanded .nav-toggle{margin-left:0}.app.expanded .nav a{border-radius:8px;flex-direction:row;justify-content:flex-start;gap:12px;min-height:44px;padding:0 12px;font-size:.9rem}}.top{margin-bottom:var(--gap);flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ask{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex:220px;align-items:center;gap:8px;min-height:44px;padding:0 12px;display:flex}.ask:focus-within{border-color:var(--accent)}.ask input{min-width:0;height:42px;color:inherit;font:inherit;background:0 0;border:0;outline:0;flex:1}kbd{color:var(--muted);border:1px solid var(--line);white-space:nowrap;border-radius:5px;padding:2px 6px;font:.72rem ui-monospace,monospace}.grid{gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));display:grid}.widget{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;scroll-margin-top:var(--gap);padding:16px;container-type:inline-size}@media (width>=800px){.wide{grid-column:span 2}}.list{padding:0;list-style:none}.list li{border-top:1px solid var(--line);align-items:center;gap:10px;min-height:44px;padding:6px 0;display:flex}.list li:first-child{border-top:0}.grow{flex:1;min-width:0}.badge{background:var(--line);color:var(--text);white-space:nowrap;border-radius:999px;flex:none;padding:2px 8px;font-size:.75rem}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.ok{background:var(--accent-soft);color:var(--accent)}.badge.bad{border:1px solid var(--danger);color:var(--danger);background:0 0}.lessons{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.lesson{border:1px solid var(--line);border-radius:8px;padding:10px 12px}.lesson strong{display:block}.lesson.cancelled strong{color:var(--muted);text-decoration:line-through}.mono{color:var(--muted);font:.8rem ui-monospace,monospace}.approval{border:1px solid var(--warn);background:var(--warn-soft);border-radius:8px;margin-bottom:8px;padding:12px}.approval p+p{margin-top:4px}.actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}button{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--text);font:inherit;cursor:pointer;border-radius:8px;padding:0 16px}button.primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}.big{letter-spacing:-.02em;font-size:1.8rem;font-weight:650}.spark{width:100%;height:56px;color:var(--accent);margin:8px 0 14px;display:block}.bar{background:var(--line);border-radius:999px;height:8px;margin:4px 0 12px;overflow:hidden}.bar>i{border-radius:inherit;background:var(--accent);height:100%;display:block}.row{justify-content:space-between;gap:8px;font-size:.875rem;display:flex}.todo{cursor:pointer;flex:1;align-items:center;gap:10px;min-height:44px;display:flex}.todo input{width:20px;height:20px;accent-color:var(--accent)}.todo:has(input:checked) span{color:var(--muted);text-decoration:line-through}.project{border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:10px 0;display:grid}.project:first-child{border-top:0}.project .mono{overflow-wrap:anywhere;grid-column:1}@container (width>=520px){.project{grid-template-columns:1.2fr 1.4fr auto auto}.project .mono{grid-column:auto}}[hidden]{display:none!important}.page{gap:var(--gap);display:grid}.form{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));align-items:end;gap:12px;display:grid}.form label{color:var(--muted);gap:4px;font-size:.875rem;display:grid}.full{grid-column:1/-1}.form input,.form select{border:1px solid var(--line);background:var(--bg);width:100%;min-height:44px;color:var(--text);font:inherit;border-radius:8px;padding:0 10px}.error{color:var(--danger);font-size:.875rem}.events{padding:0;list-style:none}.event{border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:12px 0;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:4px}@container (width>=640px){.event{grid-template-columns:110px 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);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)}.logout{margin-left:auto}
