:root{color-scheme:light dark;--bg:light-dark(#fff,#182128);--soft:light-dark(#f5f7fa,#202c36);--ink:light-dark(#243242,#eef2f6);--muted:light-dark(#536477,#b1bdcb);--border:light-dark(#dde4ec,#394955);--brand:light-dark(#245cb0,#a8c7ff);--selected:light-dark(#eaf1fc,#2b3d55);--lesson:light-dark(#edf3fb,#263a51);--exam:light-dark(#fff3db,#453725);--green:light-dark(#287047,#9cddaf);--good:light-dark(#eaf5ee,#233d31);font:14px/1.45 system-ui,sans-serif;color:var(--ink);background:var(--soft)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,select,input,textarea{color:var(--ink)}button{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:wait;opacity:.65}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--brand);outline-offset:2px}h1,h2,p{margin:0}h1{font-size:22px;font-weight:500}h2{font-size:14px;font-weight:500}small{font-size:12px}a{color:var(--brand)}[hidden]{display:none!important}.companion{max-width:1440px;min-height:100vh;background:var(--bg);margin:auto}.app-header{padding:18px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:18px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:9px;font-weight:500;margin-right:auto}.brand svg{color:var(--brand);width:24px;height:24px}.app-header label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}select,input[type=date],input[type=search],textarea{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 10px;max-width:100%}.icon-button{background:transparent;border:0;padding:8px;display:flex;align-items:center}.app-shell{display:grid;grid-template-columns:180px minmax(0,1fr)}.sidebar{background:var(--soft);border-right:1px solid var(--border);padding:18px 10px;display:flex;flex-direction:column;gap:6px}.sidebar>button{display:flex;align-items:center;gap:8px;text-align:left;border:0;background:transparent;border-radius:7px;padding:10px 8px;font-size:12px}.sidebar>button svg{flex-shrink:0}.sidebar>button.selected{background:var(--selected);color:var(--brand)}.date-picker{display:flex;flex-wrap:wrap;gap:6px;margin-top:23px;padding:0 7px}.date-picker small{width:100%;color:var(--muted)}.date-picker button{padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);font-size:12px}.date-picker button[aria-pressed=true]{background:var(--selected);color:var(--brand)}.date-picker input{width:100%;font-size:12px}.other-links{display:flex;flex-direction:column;gap:13px;margin:25px 8px;font-size:12px}.other-links a{text-decoration:none}.app-main{padding:24px;min-width:0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.muted{color:var(--muted)}.page-heading .muted{margin-top:4px}.day-status{padding:9px 12px;border-radius:7px;background:var(--soft);font-size:12px;display:flex;align-items:center;gap:7px;max-width:260px}.day-status.ready{color:var(--green);background:var(--good)}.day-columns{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(270px,1fr);gap:24px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px}.homework-panel{border-left:1px solid var(--border);padding-left:22px;min-width:0}.selection-detail{font-size:12px;margin:0 0 13px}.hw-card{border:1px solid var(--border);border-radius:9px;background:var(--bg);padding:15px;margin-bottom:16px}.hw-title{display:flex;gap:9px;align-items:center;font-weight:500;cursor:pointer}.hw-meta{color:var(--muted);font-size:11px;margin:8px 0 11px}.hw-description{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:12px}.check-row{display:flex;align-items:flex-start;gap:9px;padding:7px 0;font-size:13px;cursor:pointer;overflow-wrap:anywhere}.check-row>span{min-width:0}.check-row small{display:block;margin-top:4px}input[type=checkbox]{accent-color:var(--brand);width:18px;height:18px;flex-shrink:0;margin:1px 0 0;cursor:pointer}.done-text{text-decoration:line-through;color:var(--muted)}.progress-label{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted);margin:8px 0}.progress-track{height:4px;background:var(--soft);border-radius:5px;overflow:hidden;margin-bottom:9px}.progress-track>span{display:block;height:100%;background:var(--brand)}.link-button{background:transparent;border:0;color:var(--brand);font-size:12px;padding:7px 0}.completed-homework{padding:12px 0;border-top:1px solid var(--border);font-size:12px}.completed-homework>summary{color:var(--green);cursor:pointer;margin-bottom:13px}.empty{padding:22px 0;color:var(--muted);font-size:13px}.part-editor{margin-top:10px;border-top:1px solid var(--border);padding-top:12px}.part-editor label{font-size:12px}.part-editor textarea{display:block;width:100%;resize:vertical;margin:8px 0}.part-editor small{font-size:11px;color:var(--muted);display:block}.editor-actions{display:flex;gap:8px;margin-top:12px}.editor-actions button,.error button,.startup-error button{border:1px solid var(--border);border-radius:6px;padding:8px 12px;background:var(--bg)}.editor-actions button.primary{background:var(--brand);color:light-dark(#fff,#182128);border-color:transparent}.filters{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.filters label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}.due-heading{margin:25px 0 12px}.homework-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;align-items:start}.homework-grid .hw-card{margin:0}.preparation{border-top:1px solid var(--border);padding-top:16px;margin-top:20px}.preparation h2{margin-bottom:12px}.tag{display:inline-block;font-size:11px;padding:3px 7px;background:var(--soft);border-radius:4px}.task-row{margin-top:15px}.menu{border-top:1px solid var(--border);padding-top:18px;margin-top:18px;font-size:13px}.menu p{margin-top:10px;white-space:pre-wrap}.untimed-exam{padding:12px 0;border-top:1px solid var(--border);margin-top:15px;font-size:13px}.untimed-exam p{margin:8px 0}.error{background:var(--exam);padding:12px;border-radius:6px;margin-bottom:20px;display:flex;align-items:center;gap:15px;justify-content:space-between}.save-status{font-size:12px;color:var(--muted);margin-bottom:12px}.startup-error{max-width:500px;padding:40px 20px;margin:auto}.startup-error p{margin:18px 0}@media(min-width:1400px){.app-main{padding:30px}.day-columns{grid-template-columns:minmax(0,1.7fr) minmax(310px,1fr)}}.schedule-section .fc{--fc-border-color:var(--border);--fc-page-bg-color:var(--bg);--fc-neutral-bg-color:var(--soft);--fc-today-bg-color:transparent;--fc-monarch-background:var(--bg);--fc-monarch-foreground:var(--ink);--fc-monarch-border:var(--border);--fc-monarch-strong-border:var(--border);--fc-monarch-muted:var(--soft);--fc-monarch-muted-foreground:var(--muted);--fc-monarch-faint:var(--bg);--fc-monarch-faint-foreground:var(--muted);--fc-monarch-highlight:transparent;--fc-monarch-primary:var(--brand);--fc-monarch-primary-foreground:var(--bg);--fc-monarch-secondary:var(--soft);--fc-monarch-secondary-foreground:var(--ink);--fc-monarch-selected:var(--selected);--fc-monarch-selected-foreground:var(--ink);--fc-monarch-outline:var(--brand);font-family:inherit!important;font-size:12px!important;line-height:1.45!important}.school-slot{border-color:var(--border)}.school-slot-label{color:var(--muted);font-size:11px}.school-event{background:var(--lesson)!important;border:0!important;border-left:3px solid var(--brand)!important;border-radius:5px!important;box-shadow:none!important;color:var(--ink)!important;cursor:pointer}.school-event.school-exam{background:var(--exam)!important;border-left-color:light-dark(#ae7420,#e6b566)!important}.school-event-inner{padding:0!important;overflow:hidden}.school-cancelled{opacity:.65;text-decoration:line-through}.lesson-content{padding:5px 8px;min-width:0;color:var(--ink)}.lesson-title{display:flex;gap:8px;justify-content:space-between;font-size:12px;font-weight:500}.lesson-title>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-title small{font-size:11px;color:var(--muted);flex-shrink:0}.lesson-bottom{display:flex;flex-wrap:wrap;gap:3px 8px;justify-content:space-between;font-size:11px;font-variant-numeric:tabular-nums;margin-top:4px}.lesson-bottom>span:last-child{color:var(--brand)}.lesson-bottom>span.ready-text{color:var(--green)}.school-break{background:transparent!important;opacity:1!important;color:var(--muted);pointer-events:none}.break-label{font-size:11px;color:var(--muted);display:block;padding:4px 8px}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border);flex-direction:row;flex-wrap:wrap;padding:9px 16px;gap:8px}.date-picker{margin:0 0 0 auto;padding:0;align-items:center}.date-picker small{display:none}.date-picker input{width:145px}.other-links{flex-direction:row;flex-wrap:wrap;width:100%;margin:8px 4px 0;gap:18px}.app-main{padding:20px}.day-columns{gap:20px}}@media(max-width:650px),(max-width:1000px)and (pointer:coarse)and (hover:none){.app-header{padding:15px 16px;gap:12px}.app-header label{width:100%;order:3;justify-content:space-between}.app-header select{min-width:130px}.app-main{padding:16px}.page-heading{flex-direction:column;align-items:flex-start;gap:14px}h1{font-size:21px}.day-status{max-width:none}.day-columns{grid-template-columns:1fr;gap:26px}.homework-panel{border-left:0;border-top:1px solid var(--border);padding:20px 0 0}.date-picker{width:100%;margin:0;justify-content:flex-start}.date-picker input{flex:1;min-width:135px}.sidebar>button,.date-picker button{min-height:44px}.check-row{min-height:42px}select,input[type=search],input[type=date],textarea{font-size:16px}.date-picker input{font-size:14px}.hw-card{padding:14px}.filters label{width:100%}.homework-grid{grid-template-columns:1fr}.error{align-items:flex-start;flex-direction:column}.section-heading{flex-wrap:wrap}}.schedule-section .fc .fc-timegrid-slot{height:42px}.schedule-section .fc .fc-timegrid-slot-label-cushion{color:var(--muted);font-size:11px}.schedule-section .fc .fc-scrollgrid{border:0}.schedule-section .fc .fc-timegrid-event-harness{margin-bottom:2px}.schedule-section .fc .fc-timegrid-event .fc-event-main{padding:0}.school-event.school-lunch{background:var(--good)!important;border-left-color:var(--green)!important}.school-lunch .fc-event-main{height:100%;overflow:hidden}.lunch-content{display:block;width:100%;height:100%;text-align:left;padding:4px 8px;border:0;border-radius:3px;background:transparent;color:var(--ink);overflow:hidden}.lunch-content:focus-visible{outline-offset:-2px}.lunch-heading{display:flex;justify-content:space-between;gap:8px;font-weight:500;font-size:12px;white-space:nowrap}.lunch-heading small{font-size:10px;font-weight:400;color:var(--muted)}.lunch-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;margin-top:3px;overflow-wrap:anywhere}.menu-dialog{width:min(600px,calc(100vw - 32px));max-height:80dvh;overflow:auto;background:var(--bg);color:var(--ink);border:1px solid var(--border);border-radius:10px;padding:22px}.menu-dialog::backdrop{background:#0006}.menu-dialog .menu p{overflow-wrap:anywhere}.menu-fallback{padding-bottom:8px}.menu-items{list-style:none;margin:14px 0 0;padding:0}.menu-items li{padding:12px 10px;border-top:1px solid var(--border);border-radius:4px;overflow-wrap:anywhere}.menu-item-meta{font-size:11px;color:var(--muted);margin-bottom:5px}.menu-item-food{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px}.menu-items li.menu-ordered{background:var(--good)}.order-badge{display:inline-block;font-size:11px;font-weight:500;color:var(--green);background:var(--good);border:1px solid var(--green);border-radius:4px;padding:2px 6px}.ordered-preview{color:var(--green);font-weight:500}input.homework-checkbox[type=checkbox]{--check-size:14.4px;appearance:none;position:relative;width:var(--check-size);height:var(--check-size);border:1.6px solid light-dark(#b52e39,#ff929c);border-radius:2.4px;background:light-dark(#ededed,#414141)}input.homework-checkbox:checked{border-color:var(--green)}input.homework-checkbox:checked:after{content:"";position:absolute;left:calc(var(--check-size)*.22);top:calc(var(--check-size)*.055);width:calc(var(--check-size)*.28);height:calc(var(--check-size)*.5);border-right:1.6px solid var(--green);border-bottom:1.6px solid var(--green);transform:rotate(45deg)}input.homework-checkbox:indeterminate{border-color:light-dark(#708078,#b8c4bf);background:linear-gradient(135deg,transparent calc(50% - .5px),light-dark(#728278,#b2bdb6) calc(50% - .5px),light-dark(#728278,#b2bdb6) calc(50% + .5px),transparent calc(50% + .5px)),linear-gradient(135deg,light-dark(#d7eddf,#526e5c) 50%,light-dark(#f6dadd,#7a525b) 50%)}input.homework-checkbox:indeterminate:after{content:none}.hw-card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.hw-card-heading .hw-title{min-width:0;flex-wrap:wrap}.hw-card-heading .link-button{flex-shrink:0;padding:2px 0}.hw-complete-label{color:var(--green);font-size:11px}.hw-card.is-complete:has(.hw-card-heading button[aria-expanded=false]){padding-top:11px;padding-bottom:11px}.lesson-select{display:block;width:100%;border:0;background:transparent;padding:0;text-align:left;color:var(--ink)}.lesson-select:focus-visible{outline-offset:1px}.lesson-content{padding:3px 8px}.lesson-bottom{align-items:center;margin-top:0;flex-wrap:nowrap}.lesson-bottom>span:last-child{white-space:nowrap}.lesson-checks{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:0 4px}.lesson-check{display:flex;align-items:center;justify-content:center;width:24px;height:18px;cursor:pointer}.lesson-check input[type=checkbox]{margin:0}.lesson-check:has(input:disabled){cursor:wait}.grades-view h3{margin:0;font-size:15px;font-weight:500}.grade-search label{width:min(100%,460px)}.grade-search input{width:100%}.recent-grades{margin-bottom:28px}.grade-list{border:1px solid var(--border);border-radius:9px;overflow:hidden}.grade-row{display:flex;align-items:flex-start;gap:12px;padding:14px;border-top:1px solid var(--border);min-width:0}.grade-row:first-child{border-top:0}.grade-value{display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:38px;min-height:38px;padding:5px;border-radius:7px;background:var(--soft);color:var(--ink);font-size:18px;font-weight:500}.grade-description{min-width:0;flex:1;overflow-wrap:anywhere;font-size:13px}.grade-description strong{display:block;font-weight:500;margin-bottom:3px}.grade-description p{margin-top:4px}.grade-row time{font-size:11px;color:var(--muted);flex-shrink:0}.grade-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;font-size:11px;color:var(--muted)}.grade-tags span{padding:2px 5px;background:var(--soft);border-radius:4px}.grade-excluded .grade-value{background:var(--soft);color:var(--muted)}.grade-subjects{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;align-items:start}.grade-subject-card{border:1px solid var(--border);border-radius:9px;min-width:0;overflow:hidden}.grade-subject-card summary{list-style:none;cursor:pointer;padding:16px}.grade-subject-card summary::-webkit-details-marker{display:none}.grade-subject-card summary:focus-visible{outline:2px solid var(--brand);outline-offset:-3px}.grade-subject-heading{display:flex;justify-content:space-between;gap:16px;margin-bottom:10px;align-items:flex-start}.grade-subject-heading h3{overflow-wrap:anywhere}.grade-average{text-align:right;flex-shrink:0}.grade-average strong{font-size:24px;font-weight:500;display:block;line-height:1.1}.grade-average small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.grade-subject-card summary>.muted{font-size:11px}.grade-latest{font-size:12px;margin-top:12px}.grade-disclosure{display:block;color:var(--brand);font-size:12px;margin-top:15px}.grade-disclosure:after{content:" ▾"}.grade-subject-card details[open] .grade-disclosure:after{content:" ▴"}.grade-history{border-top:1px solid var(--border)}.grade-history .grade-row{flex-wrap:wrap}.grade-history time{margin-left:50px}.grade-calculated{padding:12px 16px;border-top:1px solid var(--border);font-size:11px}.grade-note{font-size:11px;margin-top:20px}@media(max-width:650px),(max-width:1000px)and (pointer:coarse)and (hover:none){.grade-row{flex-wrap:wrap}.grade-row time{margin-left:50px}.grade-description{flex-basis:calc(100% - 50px)}}.overall-average{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;border:1px solid var(--border);border-left:3px solid var(--green);background:var(--soft);border-radius:9px;padding:16px;margin-bottom:20px}.overall-average h2{font-size:15px}.overall-average p{font-size:12px;margin-top:4px}.overall-average>strong{font-size:30px;font-weight:500;color:var(--green)}.overall-average>small{flex-basis:100%;font-size:11px}.grade-history .grade-description{flex-basis:calc(100% - 50px)}.grade-attachments{margin-top:12px;font-size:12px}.grade-attachments>summary{color:var(--brand);cursor:pointer;padding:4px 0;list-style:revert}.grade-subject-card .grade-attachments>summary{padding:4px 0;list-style:revert}.attachment-body{padding:10px 0}.attachment-item{border:1px solid var(--border);border-radius:6px;padding:10px;margin:10px 0;min-width:0}.attachment-name{display:block;max-width:100%;text-align:left;overflow-wrap:anywhere;color:var(--brand);font-size:12px}.attachment-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}.attachment-actions button,.attachment-delete button,.attachment-note-edit button{font-size:11px}.attachment-upload{display:flex;flex-direction:column;gap:8px;margin-top:12px}.attachment-upload label,.attachment-note-edit label{display:flex;flex-direction:column;gap:5px}.attachment-upload input{width:100%;min-width:0;font-size:12px}.attachment-upload textarea,.attachment-note-edit textarea{width:100%;min-height:64px;background:var(--bg);color:var(--ink);border:1px solid var(--border);border-radius:5px;padding:7px;resize:vertical}.attachment-upload>button{align-self:flex-start}.attachment-preview{width:min(900px,calc(100vw - 24px));max-height:90dvh;overflow:auto;background:var(--bg);color:var(--ink);border:1px solid var(--border);border-radius:10px;padding:16px}.attachment-preview::backdrop{background:#0009}.attachment-preview h2{font-size:16px;overflow-wrap:anywhere;min-width:0}.attachment-preview .section-heading{gap:12px;align-items:flex-start}.attachment-preview img{display:block;max-width:100%;max-height:65dvh;object-fit:contain;margin:auto}.attachment-preview iframe{width:100%;height:60dvh;border:1px solid var(--border)}.attachment-preview p{overflow-wrap:anywhere}.attachment-preview .muted{font-size:11px}.attachment-delete{border-top:1px solid var(--border);margin-top:10px;padding-top:8px}.grade-attachments button,.attachment-preview button{border:1px solid var(--border);border-radius:6px;padding:7px 10px;background:var(--bg)}.grade-attachments .attachment-name{border:0;padding:0;background:transparent;text-decoration:underline;text-underline-offset:3px}.attachment-upload>button{background:var(--selected);color:var(--brand)}.attachment-body>p{margin-bottom:8px}.attachment-item>p{margin-top:8px}.attachment-note-edit{margin-top:10px}.attachment-note-edit button,.attachment-delete button{margin:8px 8px 0 0}.attachment-preview>p{margin:12px 0}.account-link,.current-child{font-size:12px}.logout-button{font-size:12px;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:7px 10px}.hw-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.hw-actions .postpone-button{margin-left:auto}.hw-postponed{font-size:11px;color:var(--brand);margin:8px 0}.hw-title{min-height:32px}@media(max-width:650px),(max-width:1000px)and (pointer:coarse)and (hover:none){.hw-title,.hw-actions .link-button{min-height:44px}}.date-controls{display:grid;grid-template-columns:26px 1fr 1fr 26px;gap:4px;width:100%}.date-controls button{padding:7px 2px;white-space:nowrap}.date-controls button[aria-label]{font-size:20px;line-height:1}@media(max-width:900px){.date-controls{width:auto;grid-template-columns:32px auto auto 32px}.date-controls button{padding:7px 10px}}@media(max-width:650px),(max-width:1000px)and (pointer:coarse)and (hover:none){.date-controls{grid-template-columns:44px auto auto 44px}}.message-columns{display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,2fr);gap:24px;margin-top:20px}.message-choice{width:100%;text-align:left;padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:7px;margin-bottom:8px;overflow-wrap:anywhere}.message-choice.selected{background:var(--selected)}.message-choice span,.message-choice small{display:block;margin-top:5px}.message-attachment{display:block;margin-top:8px}.help-view{max-width:850px;line-height:1.6}.help-view section{margin:24px 0}.help-view p,.help-view ol{margin-top:10px}@media(max-width:650px),(max-width:1000px)and (pointer:coarse)and (hover:none){.message-columns{grid-template-columns:1fr}}@media print{.app-header,.sidebar,.help-view button{display:none!important}.app-shell{display:block}.app-main{padding:0}.help-view{color:#000;background:#fff;max-width:none}.help-view section{break-inside:avoid}}.sync-time{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:5px}.letter-detail{border-top:1px solid var(--border);padding-top:20px;margin-top:20px}.letter-detail .hw-description{line-height:1.6}.message-columns button,.letter-detail button,.help-view button{border:1px solid var(--border);border-radius:6px;padding:9px 12px;background:var(--bg)}.other-links .link-button{text-align:left;padding:0;font-size:12px;color:inherit}.other-links .link-button.selected{color:var(--brand);font-weight:600}.public-help{padding:24px;max-width:900px;margin:auto}@media print{.public-help{padding:0}}.message-choice .message-title{display:flex;align-items:baseline;gap:9px;margin:0}.message-choice .message-subject{font-weight:400;margin:0}.message-choice.unread .message-subject{font-weight:650}.message-choice .message-unread-dot{display:block;width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:transparent;margin:0;align-self:baseline;position:relative;top:-1px}.message-choice.unread .message-unread-dot{background:#0a84ff}.message-choice .message-sender,.message-choice>small{padding-left:17px}.message-choice .message-read-status{margin:0}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.connection-guide section{scroll-margin-top:20px}.system-map{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,.4fr) minmax(0,1fr);gap:14px;align-items:stretch;margin:20px 0}.system-source,.system-destination,.mailbox-map>div{background:var(--soft);border:1px solid var(--border);border-radius:8px;padding:16px;overflow-wrap:anywhere}.system-map strong,.system-map span,.mailbox-map strong,.mailbox-map span,.mailbox-map small{display:block}.system-map strong,.mailbox-map strong{margin-bottom:7px}.system-arrow{align-self:center;text-align:center;color:var(--muted)}.system-arrow>span:first-child{font-size:26px}.system-map figcaption{grid-column:1/-1;color:var(--muted)}.mailbox-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.mailbox-map small{margin-top:12px;color:var(--muted)}.help-view h3{font-size:17px}.connection-guide{border-bottom:1px solid var(--border);padding-bottom:16px}@media(max-width:650px),(max-width:1000px)and (pointer:coarse)and (hover:none){.system-map{grid-template-columns:minmax(0,1fr)}.system-arrow>span:first-child{transform:rotate(90deg)}.mailbox-map{grid-template-columns:minmax(0,1fr)}}@media print{.system-map,.mailbox-map{break-inside:avoid}.system-source,.system-destination,.mailbox-map>div{background:transparent;color:inherit}}.help-view .guide-level{margin:30px 0;padding:0 0 24px;border-bottom:1px solid var(--border);scroll-margin-top:20px}.help-view .guide-level h2{font-size:21px;font-weight:600;margin:0 0 16px}.system-key{display:flex;flex-wrap:wrap;gap:8px 24px;color:var(--muted);margin:12px 0 18px}.system-key strong{color:var(--ink)}.guide-index{display:flex;flex-wrap:wrap;gap:8px 20px;margin:16px 0}.guide-index a{padding:6px 0}.overview-map{display:grid;grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr);gap:16px;align-items:center;margin:0}.overview-sources{display:grid;gap:12px}.guide-node,.family-island{padding:18px;background:var(--bg);border:1px solid var(--border);border-radius:10px;overflow-wrap:anywhere}.guide-node strong,.guide-node span,.guide-node small,.family-island>strong,.family-island>span{display:block}.guide-node strong{font-size:18px;margin-bottom:4px}.guide-node small{margin-top:8px;color:var(--muted)}.guide-main{border-top:3px solid var(--green);padding:24px 18px}.guide-main>strong{font-size:26px;color:var(--green)}.guide-arrow{text-align:center;color:var(--muted)}.guide-arrow>span{display:block;font-size:30px}.guide-arrow small{display:block}.overview-map figcaption,.family-islands figcaption,.family-tree figcaption{grid-column:1/-1;color:var(--muted);margin-top:8px}.family-islands{display:grid;grid-template-columns:minmax(0,1fr) 130px minmax(0,1fr);gap:16px;align-items:center;margin:0}.family-island{border-style:dashed}.family-island>strong{font-size:17px;margin-bottom:4px}.family-island>span{color:var(--muted)}.family-data{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.family-boundary{text-align:center;color:var(--muted);font-size:12px}.family-boundary>*{display:block}.family-boundary>span{font-size:40px;margin-bottom:8px}.family-tree{margin:0;display:grid;gap:12px}.family-parents{text-align:center}.tree-connector{text-align:center;font-size:24px;color:var(--muted)}.family-children{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.read-rule{margin-top:18px;padding:16px;background:var(--soft);border-radius:8px}.read-rule>strong{display:block;margin-bottom:12px}.read-rule>div{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:9px 0;border-top:1px solid var(--border)}.read-rule b{font-weight:500}.guide-details>p{color:var(--muted)}.help-view .help-detail{border-top:1px solid var(--border);padding:0;scroll-margin-top:20px}.help-detail summary{padding:15px 4px;cursor:pointer;font-weight:500;min-height:44px}.help-detail[open]>summary{color:var(--brand)}.help-detail-body{padding:0 4px 16px}.help-detail-body p{margin:10px 0}.help-detail-body li{margin:8px 0}.help-detail-body .help-detail{margin-top:14px}.help-detail-body h3{font-weight:500}.homework-key{display:flex;flex-wrap:wrap;gap:12px 24px;margin:12px 0}.homework-key>span{display:flex;align-items:center;gap:10px}.help-check{width:17px;height:17px;border:1px solid #d98383;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:12px;background:var(--soft)}.help-check.partial{background:linear-gradient(135deg,#d8edda 50%,#f2d5d5 50%)}.help-check.done{background:var(--good);color:var(--green);border-color:var(--green)}.help-blue-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#0a84ff}.help-detail summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media(max-width:650px),(max-width:1000px)and (pointer:coarse)and (hover:none){.overview-map,.family-islands{grid-template-columns:minmax(0,1fr)}.overview-sources{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.guide-arrow>span{transform:rotate(90deg)}.family-boundary>span{display:none}.family-boundary{padding:8px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.family-children{gap:10px}.guide-node,.family-island{padding:14px}.read-rule>div{grid-template-columns:1fr;gap:5px}.help-view .guide-level h2{font-size:19px}}@media(max-width:360px){.overview-sources,.family-children{grid-template-columns:minmax(0,1fr)}}@media print{.guide-index{display:none}.help-view .guide-level,.help-detail,.help-detail-body{break-inside:auto}.help-detail summary{font-weight:600;color:inherit!important}.overview-map,.family-islands,.family-tree,.read-rule{break-inside:avoid}.guide-node,.family-island{background:transparent}.system-key{color:inherit}}.sca-logo{display:inline-flex;flex-direction:column;align-items:flex-start;gap:0;background:transparent;border:0;color:var(--ink);text-decoration:none;padding:0;width:auto;margin:0;font:inherit;cursor:pointer}.sca-logo>span{font-size:27px;font-weight:750;letter-spacing:-1px;line-height:1.05}.sca-logo .logo-c{color:var(--green)}.sca-logo small{font-size:10px;letter-spacing:.04em;font-weight:400;color:var(--muted)}.profile-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;font-size:21px;color:#243242;font-weight:600;flex:0 0 34px;line-height:1}.view-identity,.signed-in-user{display:flex;align-items:center;gap:9px}.view-identity{padding:7px 10px;background:var(--soft);border-radius:8px}.view-identity strong{font-size:14px;font-weight:500}.view-identity small,.signed-in-user small{display:block;font-size:10px;color:var(--muted)}.signed-in-user{text-decoration:none;font-size:12px}.app-header .brand{display:block}.brand .sync-time{margin-top:7px}.app-header .view-identity label{width:auto;order:initial;gap:8px}.app-header .view-identity select{min-width:0}@media(max-width:650px),(max-width:1000px)and (pointer:coarse)and (hover:none){.app-header{gap:10px}.app-header .brand{flex-basis:100%}.view-identity,.signed-in-user{flex:1}.app-header .view-identity label{flex-wrap:wrap}.app-header .view-identity select{max-width:145px}}.sca-logo{flex-direction:row;align-items:center;gap:10px}.sca-logo>.logo-type{display:flex;flex-direction:column;align-items:flex-start;font-size:inherit;letter-spacing:normal}.sca-logo .logo-word{font-size:27px;font-weight:750;letter-spacing:-1px;line-height:1.05}.sca-logo>svg{flex:0 0 26px;width:26px;height:26px;color:var(--brand)}.student-heading{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.student-heading>div:first-child{min-width:0}.heading-avatar{display:flex;justify-content:center}.heading-avatar .profile-avatar{width:46px;height:46px;flex-basis:46px;font-size:28px}.student-heading .day-status{justify-self:end}@media(max-width:850px){.student-heading{grid-template-columns:minmax(0,1fr) auto}.student-heading .day-status{grid-column:1 / -1;justify-self:start}.heading-avatar{justify-self:end}}.language-picker{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:8px 16px}.language-picker select,.language-picker button{font:inherit;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--ink)}.language-picker label{font-size:13px}.public-help>.language-picker{max-width:1100px;margin:auto}@media print{.language-picker{display:none}}.app-header .language-picker{padding:0;gap:6px}.app-header .language-picker label{width:auto;order:initial}.language-picker button{cursor:pointer}.language-picker select:focus-visible,.language-picker button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.letter-views{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.letter-views button[aria-pressed=true]{background:var(--brand);color:#fff}.letter-filters{flex-wrap:wrap}.letter-filters label:first-child{flex:1;min-width:220px}.letter-columns>nav{max-height:75vh;overflow:auto;padding-right:8px}.letter-columns .letter-detail{border:0;margin:0;padding:0;scroll-margin-top:20px}.letter-group-heading{font-size:14px;color:var(--muted);margin:16px 0 8px}.letter-tags{display:flex;flex-wrap:wrap;gap:12px;border:1px solid var(--border);border-radius:6px;margin-top:16px}.letter-tags label{display:flex;align-items:center;gap:6px}.letter-tags input{width:auto}.letter-snippet{font-size:12px;color:var(--muted)}@media(max-width:650px),(max-width:1000px)and (pointer:coarse)and (hover:none){.letter-columns>nav{max-height:50vh}.letter-filters label{min-width:0}}.organization-views{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.organization-views button,.label-management button,.tag-picker-panel button,.page-heading>button{border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--ink);padding:8px 12px}.organization-views button[aria-pressed=true],.editor-actions button[aria-pressed=true]{background:var(--selected);color:var(--brand);border-color:var(--brand)}.organization-views button:hover:not(:disabled){background:var(--selected)}.label-management{margin:12px 0}.label-management summary,.tag-picker summary{cursor:pointer;color:var(--brand);padding:8px 0;width:fit-content}.label-management summary:focus-visible,.tag-picker summary:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.label-management details[open]{padding:12px;background:var(--soft);border:1px solid var(--border);border-radius:8px}.label-management .filters{flex-wrap:wrap;margin:12px 0}.label-management [role=alert]{margin-top:12px}.tag-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.tag-chip{--tag-bg:#65b0d8;--tag-ink:#14212b;display:inline-flex;align-items:center;gap:4px;border-radius:6px;background:var(--tag-bg)!important;color:var(--tag-ink)!important;border:0!important;font-size:12px;padding:4px 8px;max-width:100%;overflow-wrap:anywhere}.tag-teal{--tag-bg:#61d7c5;--tag-ink:#14212b}.tag-amber{--tag-bg:#f2cc4d;--tag-ink:#14212b}.tag-purple{--tag-bg:#7446d0;--tag-ink:#ffffff}.tag-rose{--tag-bg:#e675ad;--tag-ink:#14212b}.tag-slate{--tag-bg:#adb8c6;--tag-ink:#14212b}.tag-green{--tag-bg:#a3d65c;--tag-ink:#14212b}.tag-orange{--tag-bg:#e98b38;--tag-ink:#14212b}.tag-chip button,.message-columns .tag-chip button,.letter-detail .tag-chip button{display:inline;background:transparent;border:0;border-radius:3px;color:inherit;font-size:inherit;padding:0;text-align:left;overflow-wrap:anywhere}.tag-chip>span{display:inline;margin:0}.tag-chip .tag-remove{font-size:17px;line-height:1;padding:0 2px;margin-left:4px}.tag-editor{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;margin:14px 0}.tag-picker-panel{padding:12px;border:1px solid var(--border);background:var(--soft);border-radius:8px;min-width:240px;max-width:100%}.tag-picker-panel input{width:100%;margin:8px 0 12px}.tag-picker-panel .tag-chip{padding:6px 9px}.organized-choice{border:1px solid var(--border);border-radius:7px;margin-bottom:8px;background:var(--bg);overflow:hidden}.organized-choice.selected{background:var(--selected)}.message-columns .organized-choice .message-choice{border:0;border-radius:0;background:transparent;margin:0;padding:12px}.organized-choice>.tag-chips:has(.tag-chip){padding:0 12px 12px}.organized-choice .tag-chip{display:inline-flex;margin:0}.conversation-organization{margin:14px 0 18px;padding-bottom:16px;border-bottom:1px solid var(--border)}@media(max-width:650px),(max-width:1000px)and (pointer:coarse)and (hover:none){.tag-chip{padding:6px 9px}.tag-chip button{min-height:26px}.tag-chip .tag-remove{min-width:26px}.tag-picker-panel{min-width:0}.organization-views button{min-height:40px}}.label-management input{padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--ink);min-width:0;width:100%}.label-management .filters label{min-width:0}.label-management .filters label:nth-child(2){flex:1;max-width:300px}.label-color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:6px}.label-color-grid .label-color-option{display:flex;align-items:center;gap:7px;background:var(--tag-bg,var(--selected-bg));color:var(--tag-ink,var(--brand));border:2px solid transparent;border-radius:6px;padding:7px 9px;min-height:36px;font:inherit;text-align:left;cursor:pointer}.label-color-grid .label-color-option[aria-pressed=true]{border-color:var(--tag-ink,var(--brand))}.label-color-grid .label-color-option:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.label-color-swatch{width:12px;height:12px;border-radius:50%;background:var(--tag-bg,#65b0d8);border:1px solid var(--tag-ink,#14212b);flex-shrink:0}.label-color-grid .label-color-option:disabled{opacity:.55;cursor:default}.tag-blue{--tag-bg:#65b0d8;--tag-ink:#14212b}.tag-picker>summary{list-style:none}.tag-picker>summary::-webkit-details-marker{display:none}.mailbox-identity{display:flex;align-items:center;gap:12px;padding:10px 16px;margin:0 0 20px;background:var(--selected);border:1px solid var(--border);border-left:4px solid var(--brand);border-radius:10px;flex-wrap:wrap}.mailbox-identity .profile-avatar{width:44px;height:44px;flex-basis:44px;font-size:27px}.mailbox-owner{flex:1;min-width:160px}.mailbox-owner>small{display:block;color:var(--muted);font-size:12px;margin-bottom:3px}.mailbox-owner h2{font-size:21px;font-weight:650;line-height:1.2}.mailbox-owner p{font-size:12px;margin-top:3px}.mailbox-identity>label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}@media(max-width:650px),(max-width:1000px)and (pointer:coarse)and (hover:none){.mailbox-identity{padding:10px 12px;gap:10px}.mailbox-owner h2{font-size:21px}.mailbox-identity>label{width:100%}.mailbox-identity select{width:100%}}.report-categories{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.report-categories button{background:var(--bg);color:var(--ink);display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--border);border-radius:10px;padding:10px 14px}.report-categories button[aria-pressed=true]{background:var(--selected);color:var(--brand);border-color:var(--border)}.report-categories button span{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 6px;border-radius:20px;background:var(--selected);font-weight:700}.report-filters{align-items:end}.report-filters .report-grouping{display:flex;flex-direction:row;align-items:center;gap:8px;padding:10px 0}.report-grouping input{width:18px;height:18px;accent-color:var(--brand)}.report-subject{font-size:18px;margin:24px 0 12px}.report-chart{display:grid;max-width:760px}.report-chart button{display:grid;grid-template-columns:minmax(120px,1fr) minmax(70px,1fr) auto;gap:14px}.report-chart>button:first-child{display:flex;justify-content:space-between}.report-chart .report-category-name{display:block;background:none;border-radius:0;height:auto;padding:0;font-weight:500}.report-chart .report-bar-track{display:block;width:100%;min-width:0;height:12px;padding:0;background:var(--selected);border-radius:4px}.report-chart .report-bar{display:block;min-width:0;height:12px;padding:0;border-radius:4px;background:var(--brand)}.attendance-filters{align-items:end}.attendance-filters .report-grouping{display:flex;flex-direction:row;align-items:center;gap:8px;padding:10px 0}.attendance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.attendance-summary article{margin:0}.attendance-summary small{display:block;color:var(--muted)}.attendance-summary strong{display:block;font-size:30px;margin-top:8px}.attendance-summary strong span{font-size:15px;font-weight:400}.attendance-chart{border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:12px}.attendance-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(80px,2fr) auto;gap:16px;align-items:center;padding:14px 16px}.attendance-row+.attendance-row{border-top:1px solid var(--border)}.attendance-track{height:12px;border-radius:4px;background:var(--selected);overflow:hidden}.attendance-track span{display:block;height:100%;background:var(--brand);border-radius:4px}.attendance-value{text-align:right}.attendance-value small{display:block;color:var(--muted);margin-top:4px}@media(max-width:600px){.attendance-summary{grid-template-columns:1fr}.attendance-row{grid-template-columns:1fr auto;gap:8px}.attendance-track{grid-column:1;grid-row:2}.attendance-value{grid-column:2;grid-row:1 / span 2}.attendance-row>strong{font-size:14px}}.report-categories button:hover{background:var(--selected)}.changes-filters{margin:16px 0}.changes-timeline{margin-top:16px}.change-event{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px}.change-event time{color:var(--muted);font-size:12px}.change-event h2{font-size:16px;margin:4px 0 8px}.change-event .hw-description{margin-bottom:0}.organization-views{flex-wrap:wrap}@media(max-width:600px){.change-event{grid-template-columns:1fr;gap:8px}}.changes-filters{flex-wrap:wrap;align-items:end}.changes-filters label{min-width:120px}.change-legend{display:flex;flex-wrap:wrap;gap:16px;margin:12px 0}.change-legend>span{display:flex;align-items:center;gap:6px;font-size:12px}.change-legend i{width:12px;height:12px;border-radius:3px}.change-color.grade{background:#7446d0}.change-color.homework{background:#65b0d8}.change-color.exam{background:#e98b38}.change-color.lesson{background:#61d7c5}.weekly-changes{border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin:12px 0 20px}.weekly-change-row{display:grid;grid-template-columns:90px minmax(0,1fr) 35px;gap:8px 12px;align-items:center;padding:8px 0}.weekly-change-row time,.weekly-change-row small{font-size:12px;color:var(--muted)}.weekly-change-row small{grid-column:2 / 4}.weekly-change-row>span{text-align:right;font-weight:600}.weekly-track{display:flex;height:16px;background:var(--soft);border-radius:4px;overflow:hidden}.weekly-track span{height:100%}.hw-card.has-modification,.grade-row.has-modification,.untimed-exam.has-modification,.study-plan.has-modification{position:relative}.study-plan.has-modification .study-plan-heading{padding-right:30px}.study-plan:target{outline:2px solid var(--brand);outline-offset:2px}.hw-card.has-modification{min-height:74px}.hw-card.has-modification .hw-card-heading{padding-right:38px;min-height:28px}.grade-row.has-modification,.untimed-exam.has-modification{padding-right:60px;min-height:74px}.grade-list:has(.has-modification),.grade-subject-card:has(.has-modification){overflow:visible}.modification-ribbon{position:absolute;top:-5px;right:-5px;width:64px;height:64px;transform:scale(.36);transform-origin:top right;pointer-events:none;z-index:1;filter:drop-shadow(-2px 3px 2px #0004)}.modification-badge{border:0;color:#fff;background:linear-gradient(160deg,#fa5555,#d51b1b 65%);font-size:10px;font-weight:750;line-height:20px;letter-spacing:.02em;white-space:nowrap;cursor:pointer;pointer-events:auto}.modification-ribbon .modification-badge{position:absolute;inset:0;width:64px;height:64px;padding:0;border-top-right-radius:12px;clip-path:polygon(0 0,100% 0,100% 100%);background:radial-gradient(ellipse at 76% 12%,#ff9999a6,transparent 56%),linear-gradient(135deg,#f95858,#e52424 45%,#b70d0d)}.modification-ribbon .modification-badge span{position:absolute;top:7px;right:11px;font-size:30px;line-height:34px;font-weight:700;text-shadow:0 1px 2px #85000080}.modification-ribbon:before,.modification-ribbon:after{content:"";position:absolute;background:#830e0e;z-index:-1}.modification-ribbon:before{top:0;left:0;width:10px;height:5px;clip-path:polygon(0 0,100% 0,100% 100%)}.modification-ribbon:after{bottom:0;right:0;width:5px;height:10px;clip-path:polygon(0 0,100% 0,100% 100%)}.modification-badge:hover{filter:brightness(1.12)}.modification-badge:focus-visible{outline:3px solid #fff;outline-offset:-6px}.modification-inline{display:inline-flex;margin:3px 6px 3px 0;vertical-align:middle}.modification-inline .modification-badge{padding:1px 13px 1px 9px;clip-path:polygon(0 0,100% 0,calc(100% - 6px) 50%,100% 100%,0 100%);line-height:18px}.change-dialog{width:min(800px,94vw)}.change-comparison{margin-top:12px;min-width:0}.change-comparison h3{font-size:.9rem;margin:14px 0 6px}.comparison-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.comparison-columns>div{padding:12px;border:1px solid var(--border);border-radius:8px;min-width:0;background:var(--bg)}.comparison-columns small{font-weight:700;color:var(--muted)}.comparison-columns p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0}.comparison-after{border-left:3px solid var(--brand)!important}@media(max-width:650px),(max-width:1000px)and (pointer:coarse)and (hover:none){.comparison-columns{grid-template-columns:1fr}}span.modification-badge{cursor:default}.change-event.has-modification{padding-right:52px}.sidebar .nav-item{display:flex;align-items:center;gap:9px;text-align:left;width:100%;border:0;background:transparent;border-radius:7px;padding:10px 8px;font-size:12px;color:var(--ink)}.sidebar .nav-item svg{flex-shrink:0;color:var(--muted)}.sidebar .nav-item.selected{background:var(--selected);color:var(--brand)}.sidebar .nav-item.selected svg{color:var(--brand)}.sidebar .nav-item:hover:not(.selected){background:var(--bg)}.nav-group{display:flex;flex-direction:column;gap:5px}.timetable-picker{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.timetable-picker input{width:100%;font-size:12px;min-width:0}.timetable-picker .date-controls button,.next-school-day{border:1px solid var(--border);border-radius:6px;background:var(--bg);font-size:12px}.next-school-day{padding:8px 4px;width:100%;text-align:center}.timetable-picker button[aria-pressed=true]{background:var(--selected);color:var(--brand);border-color:var(--brand)}.nav-divider{border:0;border-top:1px solid var(--border);width:100%;margin:10px 0}.nav-help{margin-top:auto;padding-top:20px}@media(max-width:900px){.timetable-picker{width:100%;display:grid;grid-template-columns:1fr 1fr;align-items:center;margin:0}.timetable-picker .date-controls{width:100%;grid-template-columns:32px 1fr 1fr 32px}.nav-group{flex-direction:row;flex-wrap:wrap;width:100%;gap:5px}.sidebar .nav-group .nav-item{width:auto}.nav-divider{margin:4px 0}.nav-help{margin:0;padding:0;width:100%}}@media(max-width:400px){.timetable-picker{grid-template-columns:1fr}.timetable-picker .date-controls{grid-template-columns:44px 1fr 1fr 44px}}.daily-preparation{margin-bottom:18px;padding:10px 14px;border:1px solid var(--border);border-radius:9px;background:var(--soft)}.study-plan{border:1px solid var(--border);border-radius:8px;background:var(--bg);padding:12px;font-size:12px;margin:8px 0 12px;min-width:0}.study-plan .section-heading{margin-bottom:6px;align-items:flex-start}.study-plan .section-heading strong{overflow-wrap:anywhere}.study-plan .progress-track{height:6px}.study-sessions{margin-top:10px}.study-sessions summary,.preparation-overview>summary{cursor:pointer;color:var(--brand);padding:5px 0}.study-sessions>.muted{margin:8px 0}.preparation-overview{margin-top:24px}.preparation-overview .homework-grid{margin-top:12px}.preparation-dialog{width:min(540px,94vw)}.preparation-dialog form>label,.preparation-dates label{display:flex;flex-direction:column;gap:6px;margin:12px 0}.preparation-dialog input:not([type=checkbox]){width:100%;min-width:0;padding:9px;border:1px solid var(--border);border-radius:6px;background:var(--bg)}.preparation-dialog form>.check-row{flex-direction:row}.preparation-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px}.preparation-dialog .error{margin-top:12px}.upcoming-study-exam{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}@media(max-width:400px){.preparation-dates{grid-template-columns:1fr}}.study-plan-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px}.study-plan-heading h3,.homework-subtasks h3{font-size:13px;font-weight:600;margin:0;color:var(--brand)}.study-plan-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px 20px;margin-bottom:10px}.study-plan-summary strong{overflow-wrap:anywhere}.study-plan-percent{margin-left:auto}.homework-subtasks{margin:14px 0;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--soft)}.hw-card>.study-plan,.hw-card .study-plan{margin-top:16px}.school-label{display:inline-flex;flex-direction:column;min-width:0;vertical-align:middle}.school-label>small{display:block;font-size:11px;font-weight:400;line-height:1.3;color:var(--muted);margin-top:2px}.report-chart .report-category-name .school-label{background:none;height:auto;padding:0;border-radius:0;font-weight:inherit}.report-chart .report-category-name .school-label>small{background:none;height:auto;padding:0;border-radius:0}.report-chart .report-category-name .school-label>span{display:block;background:none;min-width:0;height:auto;padding:0;border-radius:0;font-weight:inherit}.daily-preparation>.section-heading{margin-bottom:8px}.daily-preparation.is-empty{display:flex;align-items:center;gap:8px 20px;flex-wrap:wrap}.daily-preparation.is-empty>.section-heading{display:contents}.daily-preparation.is-empty h2{order:0}.daily-preparation.is-empty>p{order:1;margin:0;flex:1;font-size:12px}.daily-preparation.is-empty .link-button{order:2;margin-left:auto;white-space:nowrap}@media(max-width:650px),(max-width:1000px)and (pointer:coarse)and (hover:none){.daily-preparation.is-empty>p{flex-basis:100%;order:3}}.homework-panel>.daily-preparation{padding:0 0 12px;margin:0 0 14px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:none}.homework-panel>.daily-preparation>.section-heading{gap:8px;margin-bottom:6px}.homework-panel>.daily-preparation .homework-grid{grid-template-columns:1fr;gap:6px}.daily-preparation .study-plan{padding:15px;border-radius:9px;margin:0}.daily-preparation .study-plan-heading{margin-bottom:4px}.daily-preparation .study-plan-summary{gap:4px 10px;margin-bottom:5px}.daily-preparation .study-plan .check-row{min-height:30px;margin:3px 0}.daily-preparation .study-sessions{margin-top:2px}.daily-preparation .study-sessions summary{padding:3px 0}.homework-panel>.daily-preparation.is-empty{gap:4px 12px}.homework-panel>.daily-preparation.is-empty>p{flex-basis:100%;order:3}@media(max-width:650px),(max-width:1000px)and (pointer:coarse)and (hover:none){.daily-preparation .study-plan{padding:14px}}.lesson-homework-status{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0}.lesson-homework-status .lesson-checks{flex-wrap:nowrap;flex-shrink:0}.lesson-title .school-label>small{font-size:11px;line-height:1.2;margin-top:1px}.upcoming-exams>h2,.menu-fallback>h2{font-size:18px;font-weight:650;line-height:1.3;color:var(--brand)}.upcoming-exams>h2{margin-bottom:14px}.upcoming-study-exam>strong{font-size:13px;font-weight:500}.exam-countdown{font-weight:600;color:var(--ink)}.menu-fallback{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;padding-top:12px;margin-top:14px}.menu-fallback>h2,.menu-fallback>p{margin:0}.menu-fallback>p{flex:1;font-size:12px}.menu-fallback>.link-button{margin-left:auto;white-space:nowrap}.exam-countdown-chart{width:min(100%,360px);padding:5px 9px 0;margin:7px 0 4px}.exam-countdown-track{height:5px;border-radius:4px;position:relative}.exam-countdown-fill{position:absolute;inset:0;border-radius:4px;background:linear-gradient(to right,#e45b65 0% 18%,#e9bb4a 40%,#60ae83 75% 100%)}.exam-countdown-marker{position:absolute;top:50%;width:10px;height:10px;transform:translate(-50%,-50%);background:var(--ink);border:2px solid var(--bg);border-radius:50%;box-shadow:0 0 0 1px var(--ink)}.exam-countdown-scale{position:relative;height:18px;margin-top:5px;font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.exam-countdown-scale>span{position:absolute;transform:translate(-50%)}.upcoming-exam-heading,.upcoming-exam-timing{display:flex;align-items:center;justify-content:space-between;gap:8px 20px;flex-wrap:wrap}.upcoming-exam-heading>strong{font-size:13px;font-weight:500;flex:1;min-width:0}.upcoming-exam-heading>.link-button,.upcoming-exam-heading>p{margin:0 0 0 auto;white-space:nowrap}.upcoming-exam-timing>p{margin:0;font-size:12px}.upcoming-exam-timing .exam-countdown-chart{flex:1;min-width:180px;max-width:300px;margin:0;padding-top:7px}.upcoming-exam-heading{margin-bottom:4px}.schedule-section .fc .fc-timegrid-slot.lunch-slot{height:54px}.comparison-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}.comparison-heading time{font-size:11px;color:var(--muted);margin-left:auto;font-variant-numeric:tabular-nums}.linked-homework{outline:2px solid var(--brand);outline-offset:3px;scroll-margin-top:24px}.change-event.change-event-comparison{grid-template-columns:minmax(0,1fr)}.child-header-name{display:none}.header-extras{display:contents}.mobile-menu-button,.mobile-day-picker,.mobile-view-tabs{display:none}.plans-button{padding:9px 12px;border:1px solid var(--brand);border-radius:7px;background:var(--selected);color:var(--brand);font:inherit;cursor:pointer;white-space:nowrap}.page-heading>.plans-button{margin-left:auto;border-color:var(--brand);background:var(--selected);color:var(--brand)}.study-description{margin:8px 0}.study-description p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.5}.study-description p.is-truncated{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.study-description .link-button{padding:4px 0}.preparation-dialog textarea{width:100%;box-sizing:border-box;resize:vertical;font:inherit;padding:9px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--ink)}.preparation-manager{width:min(800px,94vw)}.preparation-manager>.homework-grid{margin-top:14px}.daily-preparation>.section-heading{flex-wrap:wrap}.preparation-manager>.section-heading h2{font-size:18px}.action-button,.editor-actions button.action-button{border:1px solid var(--brand);border-radius:6px;padding:8px 12px;background:var(--selected);color:var(--brand);font:inherit;cursor:pointer}.action-button.primary,.editor-actions button.action-button.primary{background:var(--brand);color:light-dark(#fff,#182128);border-color:var(--brand)}.action-button:hover:not(:disabled){filter:brightness(.95)}.action-button:disabled{cursor:not-allowed}.page-heading.homework-heading{flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px}.homework-heading h1{margin:0}.homework-heading>.plans-button{font-size:13px;padding:8px 10px}@media(max-width:650px),(max-width:1000px)and (pointer:coarse)and (hover:none){.upcoming-exam-timing>p{flex-basis:100%}.upcoming-exam-timing .exam-countdown-chart{flex:0 0 100%;width:100%;min-width:0;max-width:none}.app-header{padding:6px 12px;gap:8px;flex-wrap:nowrap}.app-header .brand{flex-basis:auto;margin-right:auto}.app-header .sync-time,.sca-logo small,.sca-logo>svg{display:none}.app-header .view-identity.child-header-name{display:flex}.app-header .view-identity{flex:0 1 auto;padding:0;background:transparent}.app-header .view-identity label{font-size:0;gap:0}.app-header .view-identity select{font-size:14px;max-width:125px;min-height:40px}.mobile-menu-button{display:block;border:1px solid var(--border);background:var(--soft);border-radius:6px;min-width:40px;min-height:40px;font-size:22px}.header-extras,.sidebar{display:none}.mobile-menu-open .app-header{flex-wrap:wrap}.mobile-menu-open .header-extras{display:flex;flex-basis:100%;flex-wrap:wrap;align-items:center;gap:10px}.mobile-menu-open .sidebar{display:flex}.mobile-menu-open .sidebar .timetable-picker .date-controls,.mobile-menu-open .sidebar .timetable-picker>input,.mobile-menu-open .sidebar .next-school-day{display:none}.mobile-menu-open .timetable-picker{display:block}.mobile-day-picker{display:block;padding:4px 12px;border-bottom:1px solid var(--border)}.mobile-date-row{display:flex;gap:6px}.mobile-date-row button{min-height:40px;border:1px solid var(--border);border-radius:6px;background:var(--bg);padding:6px 12px}.mobile-date-row button:nth-child(2){flex:1;font-size:13px}.mobile-date-options{display:flex;flex-wrap:wrap;gap:8px;padding-top:10px}.mobile-date-options button{padding:10px;border:1px solid var(--border);border-radius:6px;background:var(--soft)}.mobile-date-options input{width:100%}.app-main{padding:8px 12px 12px}.app-main:has(.mobile-view-tabs)>.page-heading,.app-main>.day-identity{display:none}.mobile-view-tabs{display:flex;gap:2px;padding:3px;margin-bottom:6px;border:1px solid var(--brand);border-radius:8px;background:var(--selected)}.mobile-view-tabs button{flex:1;min-width:0;min-height:36px;padding:4px 10px;border:0;border-radius:5px;color:var(--brand);background:transparent;font-size:13px}.mobile-view-tabs button[aria-pressed=true]{background:var(--brand);color:light-dark(#fff,#182128)}.mobile-pending-count{font-variant-numeric:tabular-nums}.mobile-schedule>.schedule-section>.section-heading{display:none}.day-columns{gap:18px}.mobile-tasks>.schedule-section{display:none}.mobile-schedule>.homework-panel,.mobile-schedule>.mobile-upcoming{display:none}.homework-panel{border:0;padding:0}.daily-preparation.is-empty{padding:0 0 10px;background:transparent;border:0}.daily-preparation .section-heading{margin-bottom:8px}.daily-preparation .section-heading h2{font-size:15px}.completed-homework{border:1px solid var(--border);border-radius:8px;padding:10px 12px}.completed-homework summary{color:var(--muted);font-size:13px;cursor:pointer;min-height:24px}.completed-homework[open]>.hw-card{margin-top:12px}.mobile-upcoming .upcoming-exams>h2{font-size:16px;margin-bottom:8px}.mobile-upcoming>.link-button{margin-top:14px}.preparation-overview{margin-top:18px}}.required-mark{color:light-dark(#e45b65,#ff929c);font-size:.85em;font-weight:600}.plan-origin{display:inline-block;margin-left:8px;padding:2px 6px;border-radius:4px;background:var(--selected);color:var(--brand);font-size:10px;font-weight:500}.plan-origin-link{display:block;width:fit-content;font-size:12px;margin:6px 0}.linked-plan-summary{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border);font-size:12px}.linked-plan-summary>strong{color:var(--brand);font-weight:600}.linked-plan-summary>small{flex-basis:100%;font-size:11px}.linked-plan-summary>.link-button{padding:3px 0}.homework-heading-actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.manual-homework-tools{display:flex;align-items:center;gap:8px;margin:4px 0}.manual-homework-tools .plan-origin{margin-left:0}.manual-duplicate{font-size:12px;margin:10px 0;padding:8px;border-left:3px solid var(--brand);background:var(--selected)}.manual-delete{margin-top:14px;padding-top:10px;border-top:1px solid var(--border)}.manual-ribbon .modification-badge{cursor:default;background:radial-gradient(ellipse at 76% 12%,#9cddafaa,transparent 56%),linear-gradient(135deg,#60ae83,#287047 65%,#195331)}.manual-ribbon:before,.manual-ribbon:after{background:#195331}.manual-ribbon .modification-badge span{text-shadow:0 1px 2px #19533180}.preparation-dialog select{font:inherit;padding:9px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--ink)}@media(max-width:650px),(max-width:1000px)and (pointer:coarse)and (hover:none){.homework-heading-actions{margin-left:0}.homework-heading-actions button{min-height:44px}}.manual-author{font-size:11px;margin:6px 0 10px}.manual-author small{display:block;font-size:11px;margin-top:3px}.hw-card>.hw-description{margin-bottom:6px}.hw-progress-summary{font-size:12px;margin:6px 0}.card-details{margin-top:8px}.card-details>summary{color:var(--brand);font-size:12px;cursor:pointer;min-height:32px;padding:6px 0;list-style-position:inside}.card-details>summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}.card-details[open]>summary{margin-bottom:8px;border-bottom:1px solid var(--border)}.card-details .link-button{min-height:36px}.card-details>.plan-origin{margin-left:0}.study-plan-heading h3{font-size:14px;font-weight:650;margin:0;overflow-wrap:anywhere}.study-plan-summary{font-size:12px;justify-content:space-between}.study-plan>.study-description{font-size:13px}.future-session-hint{display:block;font-size:11px;margin:0 0 6px 27px}.study-plan input:disabled{cursor:not-allowed}.card-details>.muted{font-size:12px;margin:6px 0}.exam-details>.linked-plan-summary{margin-top:0;padding-top:0;border-top:0}.upcoming-exams>.link-button{margin-top:10px}@media(max-width:650px),(max-width:1000px)and (pointer:coarse)and (hover:none){.app-shell{grid-template-columns:minmax(0,1fr)}.card-details>summary,.daily-preparation .card-details>summary{min-height:44px;padding:12px 0}.card-details .link-button{min-height:44px}.mobile-menu-button,.mobile-date-row button,.mobile-date-options button{color:var(--brand);border-color:var(--brand);background:var(--selected)}.app-header .view-identity label{width:auto;order:0}.app-header .view-identity select{min-width:0}.homework-panel>.daily-preparation .study-plan .check-row{min-height:44px}.completed-homework summary{color:var(--brand)}}.homework-panel>.daily-homework+.daily-preparation{border-bottom:0;border-top:1px solid var(--border);padding:14px 0 0;margin:8px 0 0}.daily-homework-heading{gap:8px}.daily-homework-heading h2{min-width:0;flex:1}.daily-homework-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px 12px;max-width:55%}.daily-homework-actions .link-button{font-size:12px;font-weight:400;white-space:nowrap}.app-header .brand{display:flex;align-items:flex-end;gap:16px;min-width:0}.header-today{color:var(--green);font-size:13px;font-weight:600;line-height:1.2;text-align:left;white-space:nowrap}.today-compact{display:none}.header-extras .sync-time{margin:0;text-align:right;max-width:170px}@media(max-width:650px),(max-width:1000px)and (pointer:coarse)and (hover:none){.app-header .brand{gap:8px;align-items:center}.header-today{font-size:10px;line-height:1.4}.today-full{display:none}.today-compact{display:flex;flex-direction:column}.app-header .view-identity select{max-width:105px}.mobile-menu-open .header-extras .sync-time{display:block;flex-basis:100%;max-width:none;text-align:right}}
