:root{font-family:system-ui,sans-serif;color:#172033;background:#f6f7fb}body{margin:0}header{background:#0f172a;color:#fff;padding:14px 5%;display:flex;justify-content:space-between;gap:16px;align-items:center}a{color:inherit;text-decoration:none}.brand{font-weight:700}nav{display:flex;gap:14px;font-size:.9rem}main{max-width:1000px;margin:auto;padding:20px}.hero{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}h1{margin:0;font-size:1.7rem}button{border:0;border-radius:10px;background:#2563eb;color:white;padding:10px 14px;cursor:pointer}.nav-buttons{display:flex;gap:6px;flex-wrap:wrap}.nav-buttons button{font-size:.8rem;padding:8px 10px}.card,.day,.event{background:white;border-radius:14px;padding:16px;margin:10px 0;box-shadow:0 2px 12px #17203312}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:16px}.day{display:block;min-height:100px}.day strong{display:block;font-size:1.05rem}.day span{color:#667085;font-size:.9rem}.timeline{border-left:3px solid #dbeafe;padding-left:14px}.event{border-left:5px solid var(--color,#2563eb)}.event[role=button]{cursor:pointer}.week-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}dialog{border:0;border-radius:14px;max-width:560px;width:calc(100% - 40px);padding:0}dialog article{padding:20px}dialog::backdrop{background:#0f172a88}@media(max-width:650px){header{display:block}nav{margin-top:10px;justify-content:space-between}.days{display:block}.day{min-height:0}.week-grid{display:block}.nav-buttons button{flex:1}}@media(prefers-color-scheme:dark){:root{color:#e5e7eb;background:#111827}.card,.day,.event{background:#1f2937}dialog{background:#1f2937}}html[data-theme=light]{color:#172033;background:#f6f7fb}html[data-theme=dark]{color:#e5e7eb;background:#111827}html[data-theme=dark] .card,html[data-theme=dark] .day,html[data-theme=dark] .event,html[data-theme=dark] dialog{background:#1f2937}
:where(.card) form{display:grid;gap:10px}:where(.card) form input:not([type=checkbox]):not([type=radio]),:where(.card) form select,:where(.card) form button{box-sizing:border-box;max-width:100%;min-height:40px}:where(.card) form input:not([type=checkbox]):not([type=radio]),:where(.card) form select{width:100%;padding:9px 10px;border:1px solid #d0d5dd;border-radius:8px;background:transparent;color:inherit}:where(.card) form label{display:flex;align-items:center;gap:8px;line-height:1.35}:where(.card) form label input[type=checkbox],:where(.card) form label input[type=radio]{flex:0 0 auto;width:18px;height:18px}:where(.card) form button{justify-self:start}:where(.card)>select{box-sizing:border-box;width:100%;min-height:40px;padding:9px 10px;border:1px solid #d0d5dd;border-radius:8px;background:transparent;color:inherit}:where(.card)>button{margin:8px 8px 0 0}.calendar-form br{display:none}@media(max-width:650px){main{padding:16px}.card{padding:14px}:where(.card) form button,:where(.card)>button{width:100%;margin-right:0}.hero h1{font-size:1.55rem}}
.merged-event summary{cursor:pointer;list-style-position:outside}.merged-event summary small{display:block;margin-top:8px;color:#667085;font-weight:400}.merged-event[open] summary{margin-bottom:12px}.merged-children{display:grid;gap:8px}.merged-child{width:100%;text-align:left;background:#eff6ff;color:#172033;border:1px solid #bfdbfe;border-radius:8px;padding:10px;white-space:normal}@media(prefers-color-scheme:dark){.merged-child{background:#1e3a5f;color:#e5e7eb}}
.revision-app{max-width:1180px;margin:0 auto;color:#263238}.revision-topbar,.revision-heading,.lesson-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.revision-topbar h1,.revision-heading h2{margin:.15rem 0 1rem;font-family:Georgia,serif}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:#65727b}.revision-layout{display:grid;grid-template-columns:260px 1fr;gap:2rem}.revision-sidebar{border-right:1px solid #d8d2c8;padding-right:1rem}.revision-sidebar h2{font:1rem Georgia,serif;margin:1.5rem .75rem .5rem}.subject-button{display:block;width:100%;text-align:left;background:transparent;border:0;border-left:3px solid transparent;padding:.65rem .75rem;color:inherit;cursor:pointer;font:inherit}.subject-button:hover,.subject-button.active{background:#ebe5d9;border-left-color:#6e8b74}.revision-main{min-width:0}.day-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.day-actions button{padding:.45rem .65rem}.revision-list,.lesson-list{display:grid;gap:.7rem}.revision-row,.lesson-card{background:#fffdf8;border:1px solid #ded8cc;box-shadow:0 2px 5px #766b5b14}.revision-row{display:flex;align-items:center;gap:.8rem;padding:.85rem 1rem;border-left:5px solid #9aa4aa;cursor:pointer}.revision-row input{width:1.1rem;height:1.1rem;accent-color:#52765b}.revision-row span{display:grid;gap:.25rem;min-width:0;flex:1}.revision-row strong,.lesson-card h3{font-family:Georgia,serif}.revision-row small,.lesson-card small{color:#69747a}.revision-row em{font-size:.8rem;font-style:normal;color:#69747a}.revision-row.late{border-left-color:#bd5b50}.revision-row.today{border-left-color:#c18b35}.revision-row.done{border-left-color:#6e8b74;opacity:.7}.lesson-form{display:grid;grid-template-columns:minmax(0,2fr) 180px minmax(0,1fr) auto;gap:.7rem;align-items:end;margin-bottom:1rem}.lesson-form label,.stack-form label{display:grid;gap:.35rem;font-weight:600}.lesson-form input,.stack-form input{width:100%;box-sizing:border-box;padding:.65rem;border:1px solid #c9c2b6;background:#fffdf8;color:inherit}.lesson-card{padding:1rem}.lesson-card h3{margin:0 0 .25rem}.danger-link{border:0;background:none;color:#a8463e;cursor:pointer}.revision-timeline{display:flex;gap:.45rem;overflow-x:auto;margin-top:1rem;padding-bottom:.2rem}.timeline-item{display:grid;gap:.15rem;min-width:4.5rem;padding:.45rem;border-left:3px solid #9aa4aa;background:#f2eee6}.timeline-item.today{border-left-color:#c18b35}.timeline-item.late{border-left-color:#bd5b50}.timeline-item.done{border-left-color:#6e8b74}.timeline-item small{font-size:.72rem}.empty-state{padding:1.5rem;background:#f2eee6;color:#69747a}.revision-message{margin:0 0 1rem;padding:.7rem 1rem;border-left:4px solid #6e8b74;background:#edf3ed}.revision-message.error{border-left-color:#bd5b50;background:#faeeee}.revision-login{max-width:420px;margin:3rem auto;background:#fffdf8;padding:2rem;border:1px solid #ded8cc}.stack-form{display:grid;gap:1rem}.stack-form button{justify-self:start}.primary,.secondary{border:1px solid #526b58;padding:.65rem 1rem;cursor:pointer}.primary{background:#526b58;color:#fff}.secondary{background:transparent;color:inherit}@media(max-width:760px){.revision-layout{display:block}.revision-sidebar{border-right:0;border-bottom:1px solid #d8d2c8;padding:0 0 1rem;margin-bottom:1.5rem}.revision-sidebar #subject-list{display:flex;overflow-x:auto;gap:.25rem}.revision-sidebar .subject-button{min-width:max-content;border-left:0;border-bottom:3px solid transparent}.revision-sidebar .subject-button.active{border-bottom-color:#6e8b74}.revision-heading{display:block}.day-actions{justify-content:flex-start;margin-bottom:1rem}.lesson-form{grid-template-columns:1fr}.revision-topbar{align-items:center}}
.day-heading{display:flex;align-items:baseline;gap:.65rem;margin-top:.25rem}.day-heading strong{font-size:1.65rem;font-weight:800;text-transform:capitalize}.day-heading span{font-size:1.1rem;color:#667085}
.light-header{align-items:flex-start}.light-header p{margin:.35rem 0 0;color:#667085}.day-date{font-size:.88rem;font-weight:500;color:#667085;margin-left:.35rem;text-transform:lowercase}
.event.non-las-audience{background:#eef0f2;box-shadow:0 2px 12px #1720330d}
