@import"https://fonts.googleapis.com/css2?family=Comfortaa:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Onest:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@1,600&display=swap";:root{font-family:Onest,Arial,sans-serif;color:#1c3038;background:#f5f7f8;font-synthesis:none;--ink:#1c3038;--muted:#74838c;--line:#e4e9ec;--surface:#ffffff;--teal:#118c7e;--teal-deep:#0b615d;--mint:#81e3c3;--violet:#786ce4;--coral:#eb866d}*{box-sizing:border-box}html{scrollbar-width:thin;scrollbar-color:#c9d7d2 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{border:1px solid transparent;border-radius:999px;background:#d0ddd8;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#9db8ad;background-clip:padding-box}body{margin:0;min-width:320px;background:#f5f7f8}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}button:hover:not(:disabled){transform:translateY(-1px)}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #5bc7ad;outline-offset:2px}main{min-height:100vh;padding:24px 28px 72px;background:#f5f7f8;color:var(--ink)}.shell{max-width:1440px;margin:0 auto}header,.date,.controls{display:flex;align-items:center;justify-content:space-between;gap:12px}header.site-header{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;min-height:132px;margin:0 0 18px;padding:21px 24px;border:1px solid #e2ece8;border-radius:22px;color:#203c36;background:linear-gradient(112deg,#f2faf6,#f7fafb 55%,#f4f6fc);box-shadow:0 10px 28px #18382d08}.site-header .brand-copy{position:relative;z-index:2;display:grid;gap:4px}.site-header .brand-copy>small{color:#68857d;font-size:10px;font-weight:800;letter-spacing:.14em}.site-header .brand-copy>small span{padding:0 4px;color:#d99c64}.site-header h1{margin:3px 0 0;color:#203c36;font-family:Comfortaa,Onest,sans-serif;font-size:32px;font-weight:700;letter-spacing:-.065em;line-height:1.05}.brand-caption{margin-top:3px;color:#778a83;font-size:12px;font-weight:500;letter-spacing:.015em}.site-header .controls{position:relative;z-index:2;align-self:flex-start}.site-header .controls button{display:grid;place-items:center;width:43px;height:43px;padding:9px;border:1px solid #e1e9e6;border-radius:14px;background:#ffffffc9;color:#57746b}.site-header .controls button:hover{background:#fff;border-color:#c9ddd5}.site-header .controls svg{width:21px;height:21px}.dark header.site-header{border-color:#304941;background:linear-gradient(112deg,#1d352f,#1e303a 56%,#2a2c3b);box-shadow:0 10px 28px #0002}.dark .site-header .brand-copy>small,.dark .brand-caption{color:#9eb6ad}.dark .site-header h1{color:#e8f3ef}.dark .site-header .controls button{border-color:#385249;background:#263c35;color:#c4e1d5}.notice{margin:0 0 14px;padding:12px 16px;border:1px solid #f0dbb7;border-radius:14px;background:#fff8eb;color:#765b32;font-size:13px;line-height:1.5}.date{min-height:92px;margin-top:0;padding:18px 22px;border:1px solid #e5eaed;border-radius:21px;background:var(--surface);box-shadow:0 7px 26px #17394708}.date p{margin:0 0 5px;color:#1e353d;font-size:23px;font-weight:750;letter-spacing:-.045em;text-transform:capitalize}.date>div:first-child>span{color:#73858c;font-size:12px;font-weight:600}.date .controls{flex-wrap:wrap;gap:8px}.date .controls button,.date .controls input{height:42px;padding:0 13px;border:1px solid #e3e9eb;border-radius:13px;background:#fbfcfc;color:#38505a;font-size:13px;font-weight:650}.date .controls button{min-width:42px;padding:0;font-size:20px}.date .controls .today-button{min-width:82px;padding:0 13px;background:#e7f6ed;border-color:#d2ebdb;color:#36815b;font-size:12px}.date .controls button:hover,.date .controls input:hover{border-color:#b8d8d0;background:#f6fbf9}.date .controls .today-button:hover{background:#dcf2e4}.date input{font:inherit}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 14px}.actions button,.primary{border:1px solid #0d8275;border-radius:13px;background:#0d8275;color:#fff;font-size:13px;font-weight:750;box-shadow:0 5px 13px #0d82751f}.actions button{min-height:42px;padding:0 16px}.actions button:hover,.primary:hover{background:#096f65;box-shadow:0 8px 18px #0d82752c}.primary{min-height:43px;padding:10px 16px}.week{display:grid;gap:18px}.week section{min-width:0}.week h2{margin:0 0 15px;font-size:15px;text-transform:capitalize}.week-grid{grid-template-columns:64px repeat(6,minmax(0,1fr));gap:0;min-height:704px;overflow-x:auto;border:1px solid #e2e8eb;border-radius:22px;background:#fff;box-shadow:0 8px 28px #18374608}.time-axis{color:#98a6ac;font-size:10px;font-weight:650}.axis-heading{height:52px;padding:21px 0 0}.axis-hour{height:60px;padding:0}.time-axis .axis-heading,.time-axis .axis-hour{text-align:center}.week-grid section{position:relative;min-width:0;border-left:1px solid #e8edef;background:linear-gradient(180deg,#fff,#fdfefe)}.week-grid h2{position:relative;z-index:2;display:flex;align-items:center;gap:4px;height:52px;margin:0;padding:0 8px;color:#53656d;font-size:11px;font-weight:750;line-height:1.25;text-transform:capitalize}.week-grid h2 .day-heading-text{min-width:0;flex:1}.week-grid .cards{position:relative;display:block;height:660px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 59px,#edf1f2 59px,#edf1f2 60px)}.week-grid section.is-today{background:linear-gradient(180deg,#f0faf3,#f9fcfa)}.week-grid section.is-today .cards{background:repeating-linear-gradient(to bottom,transparent 0,transparent 59px,#e3eee7 59px,#e3eee7 60px)}.week-grid h2 .today-badge{display:inline-flex;align-items:center;flex:none;margin-left:auto;padding:3px 6px;border:1px solid #c9e8d1;border-radius:999px;background:#e0f4e5;color:#398252;font-size:8px;font-weight:800;line-height:1;text-transform:none;white-space:nowrap}.cards{display:grid;gap:9px}.lesson{width:100%;min-width:0;padding:14px;text-align:left;border:1px solid #e4e8ee;border-radius:15px;background:#efedff;color:#283341;box-shadow:0 2px 8px #29304b08}.lesson time{display:inline-flex;align-items:center;min-height:19px;margin-bottom:5px;padding:2px 6px;border-radius:6px;background:#ffffffa8;color:#5350a7;font-family:Manrope,sans-serif;font-size:11px;font-weight:800;white-space:nowrap}.lesson h3{margin:0;color:#222d3a;font-family:Manrope,sans-serif;font-size:14px;font-weight:750;letter-spacing:-.025em;line-height:1.32}.lesson p{margin:5px 0 0;color:#687581;font-family:Manrope,sans-serif;font-size:11px;font-weight:550;line-height:1.4}.lesson p:empty{display:none}.week-grid .lesson{position:absolute;top:var(--lesson-start);left:5px;width:calc(100% - 10px);height:var(--lesson-height);min-height:0;overflow:hidden;padding:8px;border:1px solid #e2e4f0;border-radius:11px;background:#eeecff;box-shadow:0 2px 7px #26264a0c}.week-grid .lesson:hover{z-index:3;box-shadow:0 7px 18px #3d47721c}.week-grid .lesson time{display:block;min-height:0;margin:0 0 4px;padding:0;background:transparent;color:#6258b0;font-size:10px;line-height:1.2}.week-grid .lesson h3{font-size:12px;line-height:1.25}.week-grid .lesson p{margin-top:3px;color:#687685;font-size:10px;line-height:1.22}.week-grid .lesson.lecture{border-color:#d5e9df;background:#e0f6ed}.week-grid .lesson.lecture time{color:#16816c}.week-grid .lesson.practice{border-color:#e2e0f2;background:#eeecff}.week-grid .lesson.practice time{color:#6459b3}.week-grid .lesson.remote{border-color:#f1dfd8;background:#fff0e9}.week-grid .lesson.remote time{color:#bb624b}.week-grid .lesson.cancelled{opacity:.52;text-decoration:line-through}.week-grid .lesson h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.week-grid .lesson p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.week-grid .lesson-topic-preview{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-top:5px!important;color:#667580!important;font-size:10px!important;line-height:1.25!important}.lesson-badges{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px}.lesson-badges span{display:inline-flex;align-items:center;min-height:17px;padding:2px 5px;border:1px solid #ffffff9c;border-radius:6px;background:#ffffffb5;color:#566378;font-size:9px;font-weight:800;line-height:1}.empty{padding:18px 5px;color:#a1adb2;font-size:11px;text-align:center}.time-axis .axis-heading,.time-axis .axis-hour{-webkit-user-select:none;user-select:none}.dark{--ink:#e8f0f3;--muted:#a2b2b9;--line:#344750;--surface:#1b2b34;background:#121e25;color:#e8f0f3}.dark main{background:#121e25;color:var(--ink)}.dark .date{border-color:#31444d;background:#1b2b34;box-shadow:none}.dark .date p{color:#e8f1f4}.dark .date>div:first-child>span{color:#a5b5bb}.dark .date .controls button,.dark .date .controls input{border-color:#354850;background:#22343d;color:#dbe7eb}.dark .date .controls .today-button{border-color:#335747;background:#244437;color:#b7e5c6}.dark .actions button,.dark .primary{border-color:#168d7f;background:#168d7f}.dark .week-grid{border-color:#344750;background:#1b2b34;box-shadow:none}.dark .week-grid section{border-color:#35474e;background:linear-gradient(180deg,#1d2d35,#1a2931)}.dark .week-grid h2{color:#c1cdd1}.dark .week-grid .cards{background:repeating-linear-gradient(to bottom,transparent 0,transparent 59px,#33434a 59px,#33434a 60px)}.dark .week-grid section.is-today{background:linear-gradient(180deg,#203c30,#1d302b)}.dark .week-grid section.is-today .cards{background:repeating-linear-gradient(to bottom,transparent 0,transparent 59px,#30473a 59px,#30473a 60px)}.dark .week-grid h2 .today-badge{border-color:#3a6349;background:#2c4b37;color:#b7e5c6}.dark .week-grid .lesson.practice{border-color:#4b476a;background:#33314d}.dark .week-grid .lesson.practice time{color:#c5bcff}.dark .week-grid .lesson.lecture{border-color:#356756;background:#25473e}.dark .week-grid .lesson.lecture time{color:#9de8cf}.dark .week-grid .lesson.remote{border-color:#704d47;background:#4a3434}.dark .week-grid .lesson.remote time{color:#ffc0aa}.dark .week-grid .lesson h3{color:#f0f4f6}.dark .week-grid .lesson p,.dark .week-grid .lesson-topic-preview{color:#bdc9ce!important}.dark .lesson-badges span{border-color:#ffffff1c;background:#18262c;color:#cad4d8}.dark .notice{border-color:#65543a;background:#30291e;color:#f2dda9}.dark .empty{color:#83949c}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:18px;background:#10232ac2;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.dialog{width:min(760px,100%);max-height:92vh;overflow:auto;padding:26px;border:1px solid var(--line);border-radius:26px;background:var(--surface);color:var(--ink);box-shadow:0 28px 90px #0c202b40}.lesson-dialog{display:flex;flex-direction:column;width:min(820px,100%);max-height:min(92vh,920px);overflow:hidden;padding:0;border:1px solid #dce7e7;border-radius:27px;background:var(--surface);box-shadow:0 32px 100px #071c2b55}.lesson-modal-header{position:relative;flex:none;padding:25px 28px 20px;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 95% 0%,#a6edda55,transparent 38%),linear-gradient(120deg,#edf8f4,#f4f5fb 70%,#fff3ed)}.lesson-modal-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.lesson-modal-tags{display:flex;flex-wrap:wrap;gap:7px}.lesson-type-tag,.lesson-remote-tag,.lesson-cancelled-tag{display:inline-flex;align-items:center;min-height:25px;padding:5px 9px;border-radius:999px;background:#e5f3ed;color:#28755e;font-size:10px;font-weight:800}.lesson-type-tag.is-lecture{background:#e9e7ff;color:#5f53b2}.lesson-remote-tag{background:#fff0e9;color:#b65f48}.lesson-cancelled-tag{background:#eef0f1;color:#68747a}.lesson-close,.icon-button{display:grid;place-items:center;width:35px;height:35px;padding:0;border:1px solid #dae4e5;border-radius:12px;background:#ffffffb0;color:#64757d;font-size:22px;line-height:1}.lesson-modal-header h2{max-width:690px;margin:0;color:#1c353b;font-size:27px;font-weight:800;letter-spacing:-.045em;line-height:1.18}.lesson-title-input{width:100%;padding:0;border:0;border-bottom:1px solid #b9d1ca;border-radius:0;background:transparent;color:#1c353b;font-size:27px;font-weight:800;letter-spacing:-.045em}.lesson-date-line{margin:9px 0 0;color:#71838a;font-size:12px;font-weight:600;text-transform:capitalize}.lesson-date-line span{padding:0 5px;color:#e18e74}.lesson-modal-content{display:flex;flex:1;flex-direction:column;gap:13px;overflow:auto;padding:18px 22px 24px;overscroll-behavior:contain}.lesson-facts{display:grid;gap:10px}.lesson-edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lesson-edit-field{display:block;margin:0!important;color:var(--muted);font-size:10px!important;font-weight:750!important}.lesson-edit-field>span{display:block;margin-bottom:5px}.lesson-edit-field input,.lesson-time-inputs input,.lesson-fact-copy input,.lesson-format-field input,.attendance-edit input{width:100%;min-width:0;margin:0;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:13px}.lesson-time-inputs{display:flex;align-items:center;gap:7px}.lesson-time-inputs i{color:var(--muted);font-style:normal}.lesson-facts-card{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 94%,#e7f1ef)}.lesson-fact-row{display:flex;align-items:center;gap:10px;min-width:0}.lesson-fact-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:12px;background:#dff3eb;color:#258a71}.lesson-fact-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.person-fact-icon{background:#eae9ff;color:#7064c8}.lesson-fact-copy{display:grid;gap:4px;min-width:0;flex:1}.lesson-fact-copy>span{color:var(--muted);font-size:9px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.lesson-fact-copy>strong{overflow-wrap:anywhere;color:var(--ink);font-size:12px;font-weight:650}.lesson-info-card{padding:17px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.lesson-section-heading{display:flex;align-items:center;gap:10px;margin-bottom:12px}.lesson-section-icon{display:grid;place-items:center;flex:none;width:37px;height:37px;border-radius:13px;background:#e2f4ed;color:#168a73}.lesson-section-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.homework-icon{background:#fff0e9;color:#c8735b;font-size:18px}.material-icon{background:#eeecff;color:#7062c5;font-size:17px}.lesson-section-heading h3{margin:0;color:var(--ink);font-size:14px;font-weight:800;letter-spacing:-.02em}.lesson-section-heading p{margin:3px 0 0;color:var(--muted);font-size:10px}.lesson-section-eyebrow{margin-bottom:7px;color:#238a72;font-size:9px;font-weight:850;letter-spacing:.12em}.topic-sparkle{padding-right:4px;color:#eb8a70}.lesson-topic-text,.lesson-homework-text{margin:0;color:var(--ink);font-family:Manrope,sans-serif;font-size:14px;font-weight:550;line-height:1.65;white-space:pre-wrap}.lesson-topic-text{color:#38534b}.lesson-topic-editor,.lesson-homework-card textarea{display:block;width:100%;min-height:90px;resize:vertical;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-family:Manrope,sans-serif;font-size:14px;line-height:1.6}.lesson-topic-source,.lesson-note{margin:8px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.lesson-meeting-card{background:linear-gradient(130deg,#fff,#f5fbf9)}.meeting-links,.materials-list{display:grid;gap:8px}.meeting-link{display:flex;align-items:center;gap:11px;min-width:0;padding:11px 12px;border:1px solid #d6ebe3;border-radius:14px;background:#f7fcf9;color:inherit;text-decoration:none;transition:background .15s,border-color .15s,transform .15s}.meeting-link:hover{transform:translateY(-1px);border-color:#9ed6c1;background:#ebf8f1}.meeting-link-icon{display:grid;place-items:center;flex:none;width:35px;height:35px;border-radius:12px;background:#dff3e9;color:#16826d}.meeting-link-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.meeting-link-copy{display:grid;gap:3px;min-width:0}.meeting-link-copy strong{font-size:12px;font-weight:800}.meeting-link-copy small{color:#7b8e87;font-size:10px}.meeting-link-arrow{margin-left:auto;color:#118a76;font-size:19px}.meeting-empty,.materials-empty{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.meeting-editor{display:grid;gap:8px;margin-top:13px}.meeting-edit-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 35px;align-items:end;gap:8px;padding:10px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 94%,#e7f1ef)}.meeting-edit-row label,.lesson-format-field{display:block;margin:0!important;color:var(--muted);font-size:10px!important;font-weight:750!important}.meeting-edit-row input,.lesson-format-field input{width:100%;min-width:0;margin-top:5px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:12px}.remove-link{border-color:#f0d8d2;background:#fff7f4;color:#b76555}.attendance-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px 15px;border:1px solid #dcebe0;border-radius:16px;background:linear-gradient(110deg,#f0faf3,#f8fcf8)}.attendance-card-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#e0f3e5;color:#43845b;font-size:17px;font-weight:850}.attendance-card-copy{display:grid;gap:3px;min-width:0}.attendance-card-copy strong{font-size:13px;font-weight:800}.attendance-card-copy span{color:var(--muted);font-size:11px}.attendance-card>a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 12px;border:1px solid #cce4d2;border-radius:11px;background:#fff;color:#317b50;font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s}.attendance-card>a:hover{border-color:#9fceaa;background:#f5fbf6}.lesson-homework-card textarea{min-height:110px}.material-file-picker{display:none!important}.material-dropzone{display:flex;align-items:center;gap:12px;margin-top:14px;padding:13px 14px;border:1px dashed #b9d9cd;border-radius:16px;background:linear-gradient(110deg,#f0faf5,#f7f9ff);transition:border-color .16s,background .16s,box-shadow .16s}.material-dropzone.is-dragging{border-color:#39a984;background:#e8f8ef;box-shadow:0 0 0 3px #39a98418}.material-upload-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:13px;background:#dff3e9;color:#2b876b}.material-upload-icon svg{display:block;width:19px;height:19px}.material-drop-copy{display:grid;gap:3px;min-width:0;flex:1}.material-drop-copy strong{color:var(--ink);font-size:13px;font-weight:800}.material-drop-copy span{color:var(--muted);font-size:11px;line-height:1.4}.attach-files-button,.secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 12px;border:1px solid #cfe0d9;border-radius:11px;background:#fff;color:#28785f;font-size:12px;font-weight:800;white-space:nowrap}.attach-files-button:hover:not(:disabled),.secondary-action:hover{border-color:#9acbb5;background:#f4fbf7}.attach-files-button:disabled{cursor:wait;opacity:.68}.attach-files-button svg{display:block;width:16px;height:16px;flex:none}.material-hint{margin:8px 2px 0;color:var(--muted);font-size:10px;line-height:1.5}.lesson-material{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:9px;border:1px solid var(--line);border-radius:14px;background:#fbfcfc}.material-content{display:grid;gap:8px;min-width:0;flex:1}.material-preview-link{display:block;width:max-content;max-width:100%}.material-preview{display:block;width:min(100%,260px);max-height:180px;object-fit:cover;border-radius:11px;background:#eef1f3}.material-file-link{display:flex;align-items:center;gap:10px;min-width:0;width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);text-decoration:none;transition:border-color .15s,background .15s,transform .15s}.material-file-link:hover{transform:translateY(-1px);border-color:#afd5c3;background:#f7fcf8}.material-file-type{display:grid;place-items:center;flex:none;width:38px;height:42px;border-radius:10px;background:#e4f4e9;color:#39845f;font-size:9px;font-weight:900;letter-spacing:.03em}.material-file-type.is-pdf{background:#fff0ec;color:#bd604e}.material-file-copy{display:grid;gap:3px;min-width:0;flex:1}.material-file-copy strong{overflow:hidden;color:var(--ink);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.material-file-copy small{color:var(--muted);font-size:10px}.material-file-arrow{flex:none;color:var(--teal);font-size:16px}.material-link{color:var(--teal);font-size:12px;font-weight:750;overflow-wrap:anywhere}.text-action{padding:5px 8px;border:0;border-radius:8px;background:transparent;color:#aa5a50;font-size:11px;font-weight:750}.text-action:hover{background:#fff0ec}.lesson-edit-extras{display:flex;align-items:center;gap:14px;padding:0 2px}.lesson-format-field{flex:1}.lesson-format-field input{margin-top:6px}.lesson-cancel-field{display:flex;align-items:center;gap:8px;margin:0;color:var(--muted);font-size:12px;font-weight:650}.lesson-cancel-field input{width:17px;height:17px;accent-color:#ec8870}.lesson-footer-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:3px}.lesson-footer-actions .primary{margin-right:auto}.lesson-history{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 94%,#ecf2f0)}.history-entry{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:10px;background:var(--surface);color:var(--muted);font-size:10px;line-height:1.55}.history-entry strong{color:var(--ink);font-size:11px}.history-empty{margin:0;padding:6px;color:var(--muted);font-size:11px}.dark .lesson-dialog{border-color:#374c56}.dark .lesson-modal-header{border-color:var(--line);background:radial-gradient(ellipse at 95% 0%,#42a58b2b,transparent 38%),linear-gradient(120deg,#203933,#22333e 70%,#382d31)}.dark .lesson-modal-header h2,.dark .lesson-title-input{color:#e7f2ef}.dark .lesson-date-line{color:#aabbbd}.dark .lesson-info-card,.dark .lesson-facts-card,.dark .meeting-edit-row,.dark .lesson-history{background:#1e3038;border-color:#344a52}.dark .lesson-meeting-card{background:linear-gradient(130deg,#1b2b34,#1d3535)}.dark .lesson-fact-icon{background:#25483e;color:#9de1c7}.dark .person-fact-icon{background:#33334d;color:#c2baff}.dark .lesson-section-icon{background:#24463b;color:#9be2c5}.dark .homework-icon{background:#493431;color:#ffc2ad}.dark .material-icon{background:#35334f;color:#c4bbff}.dark .lesson-section-heading h3,.dark .lesson-fact-copy>strong,.dark .lesson-topic-text,.dark .lesson-homework-text{color:var(--ink)}.dark .lesson-section-eyebrow{color:#8edbbd}.dark .lesson-close,.dark .icon-button{border-color:#40545c;background:#263a42;color:#c3d1d5}.dark .lesson-type-tag{background:#25483d;color:#a7e2ca}.dark .lesson-type-tag.is-lecture{background:#373551;color:#ccc4ff}.dark .lesson-remote-tag{background:#503932;color:#ffc1aa}.dark .lesson-cancelled-tag{background:#39464b;color:#c7d0d3}.dark .meeting-link{border-color:#37554a;background:#223a33;color:var(--ink)}.dark .meeting-link:hover{border-color:#4e826c;background:#29483c}.dark .meeting-link-icon{background:#294b3e;color:#a2e4c9}.dark .attendance-card{border-color:#365744;background:linear-gradient(110deg,#203b2d,#1d302b)}.dark .attendance-card-icon{background:#2c4c36;color:#bde7c4}.dark .attendance-card>a{border-color:#42634a;background:#293f31;color:#c8e7cd}.dark .attendance-card>a:hover{background:#304c38}.dark .material-dropzone{border-color:#426554;background:linear-gradient(110deg,#1d352d,#202f3c)}.dark .material-dropzone.is-dragging{border-color:#5ab890;background:#254437}.dark .material-upload-icon{background:#294a3b;color:#a5e2c2}.dark .attach-files-button,.dark .secondary-action{border-color:#405e50;background:#263c33;color:#c3e5d2}.dark .attach-files-button:hover:not(:disabled),.dark .secondary-action:hover{background:#2e4a3c}.dark .lesson-material,.dark .material-file-link{border-color:#344a52;background:#1d3038}.dark .material-file-link:hover{border-color:#527b67;background:#263e34}.dark .material-file-type{background:#2b4938;color:#b8e5c5}.dark .material-file-type.is-pdf{background:#503638;color:#f4beb1}.dark .text-action{color:#f0a99b}.dark .text-action:hover{background:#493331}.dark .history-entry{background:#18272e}.dark .lesson-topic-editor,.dark .lesson-homework-card textarea,.dark .lesson-fact-copy input,.dark .lesson-edit-field input,.dark .lesson-time-inputs input,.dark .lesson-format-field input{border-color:#40545c;background:#182930;color:var(--ink)}@media(max-width:1000px){main{padding:18px 18px 58px}header.site-header{min-height:132px;padding:21px 24px}.week-grid{grid-template-columns:58px repeat(6,minmax(150px,1fr))}}@media(max-width:760px){header.site-header{min-height:118px;margin-bottom:15px;padding:18px 19px;border-radius:20px}.site-header h1{font-size:28px}.date{align-items:flex-start;flex-direction:column;gap:15px;padding:17px 18px;border-radius:18px}.date p{font-size:21px}.date .controls{width:100%;justify-content:flex-start;flex-wrap:wrap;gap:8px}.date .controls input{max-width:165px}.actions{margin:13px 0 8px}.week-grid{display:grid;grid-template-columns:1fr;gap:0;min-height:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.time-axis{display:none}.week-grid section,.week-grid section.is-today{padding:16px 0;border:0;border-bottom:1px solid #e2e8ea;background:transparent}.week-grid section:first-child{padding-top:5px}.week-grid section:last-child{border-bottom:0}.week-grid section.is-today{margin:2px -10px;padding:14px 10px;border:1px solid #dcefe1;border-radius:18px;background:#eff9f2}.week-grid h2{height:auto;margin:0 0 10px;padding:0;color:#586b73;font-size:14px}.week-grid .cards{display:grid;gap:8px;height:auto;background:none}.week-grid section.is-today .cards{background:none}.week-grid .lesson{position:relative;top:auto;left:auto;width:100%;height:auto;min-height:0;display:flex;align-items:flex-start;gap:12px;overflow:visible;padding:12px 13px;border:1px solid #e5e8ee;border-radius:14px}.week-grid .lesson time{display:block;flex:none;min-width:79px;margin:2px 0 0;padding:0;background:none;color:#6459b3;font-size:11px}.week-grid .lesson>div{min-width:0;flex:1}.week-grid .lesson h3{font-size:14px;line-height:1.35}.week-grid .lesson p{font-size:11px}.week-grid .lesson.practice{border-color:#e2e0f2;background:#f0eeff}.week-grid .lesson.lecture{border-color:#d5e9df;background:#e7f7f0}.week-grid .lesson.remote{border-color:#f1dfd8;background:#fff2ec}.week-grid .lesson-topic-preview{font-size:10px!important}.dark .week-grid section,.dark .week-grid section.is-today{border-color:#344750;background:transparent}.dark .week-grid section.is-today{border-color:#365744;background:#20392d}.dark .week-grid .lesson{border-color:#354750}.dark .week-grid .lesson.practice{border-color:#4b476a;background:#33314d}.dark .week-grid .lesson.lecture{border-color:#356756;background:#25473e}.dark .week-grid .lesson.remote{border-color:#704d47;background:#4a3434}}@media(max-width:520px){main{padding:13px 13px 42px}header.site-header{min-height:112px;padding:16px 15px;border-radius:18px}.site-header .brand-copy>small{font-size:8px;letter-spacing:.12em}.site-header h1{font-size:25px}.brand-caption{font-size:10px}.site-header .controls button{width:38px;height:38px;border-radius:13px}.week-grid h2{font-size:13px;gap:5px}.week-grid h2 .today-badge{padding:3px 5px;font-size:8px}.date{padding:15px;border-radius:16px}.date p{font-size:19px}.date .controls{gap:6px}.date .controls button,.date .controls input{height:40px}.date .controls input{max-width:142px;padding:0 8px;font-size:12px}.date .controls .today-button{min-width:72px;padding:0 8px}.week-grid section.is-today{margin-right:-5px;margin-left:-5px;padding-right:8px;padding-left:8px}.week-grid .lesson{gap:8px;padding:11px}.week-grid .lesson time{min-width:70px;font-size:10px}.week-grid .lesson h3{font-size:13px}.week-grid .lesson p{font-size:10px}.lesson-dialog{width:100%;max-height:94dvh;border-radius:23px 23px 0 0;border-bottom:0}.overlay{align-items:flex-end;padding:0}.lesson-modal-header{padding:19px 17px 15px}.lesson-modal-topline{margin-bottom:11px}.lesson-modal-header h2,.lesson-title-input{font-size:21px}.lesson-date-line{font-size:11px}.lesson-modal-content{gap:10px;padding:13px 12px max(18px,env(safe-area-inset-bottom))}.lesson-info-card{padding:14px;border-radius:16px}.lesson-facts-card{grid-template-columns:1fr;gap:0;padding:4px 12px}.lesson-fact-row{min-height:57px;padding:8px 0}.lesson-fact-row+.lesson-fact-row{border-top:1px solid var(--line)}.lesson-edit-fields{grid-template-columns:1fr}.lesson-time-inputs{max-width:250px}.meeting-edit-row{grid-template-columns:minmax(0,1fr) 34px}.meeting-edit-row label:nth-child(2){grid-column:1}.meeting-edit-row .remove-link{grid-column:2;grid-row:1 / span 2}.attendance-card{grid-template-columns:34px minmax(0,1fr);gap:9px;padding:12px}.attendance-card>a{grid-column:1/-1;width:100%}.material-dropzone{display:grid;grid-template-columns:36px minmax(0,1fr);gap:9px;padding:11px}.material-upload-icon{width:34px;height:34px;border-radius:11px}.material-drop-copy strong{font-size:12px}.material-drop-copy span{font-size:10px}.attach-files-button{grid-column:1/-1;width:100%;min-height:40px}.lesson-edit-extras{align-items:stretch;flex-direction:column;gap:8px}.lesson-footer-actions{display:grid;grid-template-columns:1fr}.lesson-footer-actions .primary{margin-right:0}.lesson-footer-actions button{min-height:42px}.history-entry{align-items:flex-start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}header.site-header{min-height:174px;justify-content:center;text-align:center;background:radial-gradient(ellipse at 50% 120%,#dcefe7 0%,transparent 60%),#f7faf8}.site-header .brand-copy{justify-items:center;gap:8px}.site-header .brand-copy>small{font-size:10px;letter-spacing:.2em;color:#638079}.site-header .brand-copy>small span{color:#a5bbb2}.site-header h1{font-family:Playfair Display,Georgia,serif;font-style:italic;font-size:clamp(36px,4.2vw,56px);font-weight:600;letter-spacing:-.045em;line-height:1;color:#244c41}.brand-caption{display:flex;align-items:center;gap:8px;margin:0;color:#768c82;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.brand-caption span{color:#b2c7bb}.site-header .controls{position:absolute;right:22px;top:22px}.dark header.site-header{background:radial-gradient(ellipse at 50% 120%,#284c3f 0%,transparent 60%),#1c302c}.dark .site-header h1{color:#e0f1e6}.date{gap:20px;min-height:100px;padding:19px 22px;border-radius:20px}.date>div:first-child{display:flex;flex-direction:column-reverse;gap:6px}.date>div:first-child>span{color:#18856f;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.date p{margin:0;font-size:22px;letter-spacing:-.035em}.date .controls{gap:7px}.date .controls button,.date .controls input{border-radius:12px}.date .controls button:not(.today-button){background:#f3f7f5;color:#41685c}.dark .date>div:first-child>span{color:#9de3c7}.dark .date .controls button:not(.today-button){background:#263d36;color:#c4e6d7}@media(max-width:760px){header.site-header{min-height:150px;padding:20px 55px}.site-header h1{font-size:40px}.site-header .controls{right:15px;top:15px}.date{gap:15px;padding:17px}.date p{font-size:20px}}@media(max-width:520px){header.site-header{min-height:140px;padding:18px 44px}.site-header .brand-copy>small{font-size:8px;letter-spacing:.14em}.site-header h1{font-size:34px}.brand-caption{font-size:9px;gap:5px}.site-header .controls{right:12px;top:12px}.date{padding:15px}.date p{font-size:18px}.date .controls{display:grid;grid-template-columns:40px 40px minmax(70px,1fr) minmax(125px,1.4fr);width:100%}.date .controls input{width:100%;max-width:none}.date .controls .today-button{min-width:0}}.date{border-color:#e2ece8;background:radial-gradient(ellipse at 20% 120%,#e4f3eb 0%,transparent 58%),#f7faf8;box-shadow:0 10px 28px #18382d08}.date p{font-family:Playfair Display,Georgia,serif;font-style:italic;font-weight:600;color:#244c41}.date>div:first-child>span{color:#638079;letter-spacing:.16em}.dark .date{border-color:#304941;background:radial-gradient(ellipse at 20% 120%,#284c3f 0%,transparent 60%),#1c302c}.dark .date p{color:#e0f1e6}.week-grid .lesson,.dark .week-grid .lesson{border:0}@media(min-width:761px){.week-grid .lesson{container-type:size}.week-grid .lesson h3{-webkit-line-clamp:3;overflow-wrap:anywhere}@container (max-height: 85px){.week-grid .lesson h3{-webkit-line-clamp:2}.week-grid .lesson p,.week-grid .lesson-badges{display:none!important}}@container (max-height: 57px){.week-grid .lesson h3{-webkit-line-clamp:1}}}@media(max-width:760px){.week-grid .lesson h3{display:block;overflow:visible;overflow-wrap:anywhere;-webkit-line-clamp:unset}}
