:root{--bg: #f6efe5;--surface: rgba(255, 252, 247, .88);--surface-strong: #fff9f1;--surface-soft: rgba(255, 250, 243, .7);--surface-tint: rgba(255, 248, 236, .92);--surface-card: linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(255, 247, 235, .92));--ink: #1f2430;--muted: #5d6473;--line: rgba(31, 36, 48, .12);--line-strong: rgba(31, 36, 48, .08);--brand: #0f766e;--brand-deep: #0a4f55;--accent: #f2b544;--accent-soft: #ffe6ae;--shadow: 0 24px 70px rgba(45, 34, 19, .12);--shadow-soft: 0 18px 45px rgba(45, 34, 19, .08);--radius-control: 18px;--radius-card: 28px;--control-height: 3.2rem}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,sans-serif;color:var(--ink);background:radial-gradient(circle at top left,rgba(242,181,68,.22),transparent 28%),radial-gradient(circle at 85% 15%,rgba(15,118,110,.18),transparent 20%),linear-gradient(180deg,#fdf8f1 0%,var(--bg) 100%)}a{color:inherit}button,input,select,textarea{font:inherit}textarea{resize:vertical}.page-shell{width:min(1180px,calc(100% - 2rem));margin:0 auto;padding-bottom:4rem}.hero{padding:1.25rem 0 4rem}.subpage-header{padding:1.25rem 0 2rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0 2rem}.brand,.topbar a{color:var(--ink);text-decoration:none}.brand{font-family:Fraunces,serif;font-weight:700;font-size:1.4rem}.topbar-links,.topbar-auth{display:flex;align-items:center;gap:1.25rem;font-weight:600}.topbar-links a,.topbar-auth a,.text-link{position:relative;transition:color .16s ease,opacity .16s ease}.topbar-links a:hover,.topbar-auth a:hover,.text-link:hover{color:var(--brand-deep)}.topbar-links a:after,.topbar-auth a:after,.text-link:after{content:"";position:absolute;left:0;bottom:-.1rem;width:100%;height:2px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--brand),rgba(15,118,110,.1));transition:transform .18s ease}.topbar-links a:hover:after,.topbar-auth a:hover:after,.text-link:hover:after{transform:scaleX(1)}.text-link{text-decoration:none;font-weight:700}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:2rem;align-items:center}.eyebrow{margin:0 0 .7rem;color:var(--brand-deep);font-size:.84rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}h1,h2,h3{font-family:Fraunces,serif;margin:0}h1{font-size:clamp(2.8rem,5vw,5.4rem);line-height:.98;max-width:10ch}.subpage-title,.auth-title{max-width:12ch}.hero-text{max-width:60ch;margin:1.2rem 0 0;font-size:1.08rem;line-height:1.7;color:var(--muted)}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.8rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:var(--control-height);padding:.85rem 1.25rem;border-radius:999px;border:1px solid transparent;font-weight:800;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease;cursor:pointer}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--brand);color:#fff;box-shadow:0 12px 30px #0f766e38}.button-primary:hover{background:var(--brand-deep)}.button-secondary{background:var(--surface-strong);color:var(--ink);border-color:var(--line);box-shadow:var(--shadow-soft)}.button-secondary:hover{border-color:#0f766e33;background:#fff}.button-compact{min-height:2.7rem;padding-inline:1rem}.navbar-signup-button{padding-inline:1.35rem}.hero-stats{list-style:none;padding:0;margin:2rem 0 0;display:flex;flex-wrap:wrap;gap:1.4rem}.hero-stats li{display:grid;gap:.2rem}.hero-stats strong{font-size:1.35rem}.hero-stats span{color:var(--muted)}.hero-panel{position:relative;display:grid;gap:1rem}.hero-panel:before{content:"";position:absolute;inset:2rem 1rem auto auto;width:8rem;height:8rem;background:radial-gradient(circle,rgba(242,181,68,.4),transparent 68%);pointer-events:none}.panel-card,.resource-card,.feature-card,.share-card,.preview-card,.sidebar-card,.auth-panel{background:var(--surface);border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.panel-card{border-radius:var(--radius-card);padding:1.4rem}.panel-featured{background:linear-gradient(135deg,#0f766eeb,#0a4f55f5),var(--surface);color:#fff;padding:1.8rem}.panel-featured p{color:#ffffffd9}.panel-stack{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.panel-mini.accent{background:linear-gradient(180deg,#ffe6aee6,#fff8e9f2)}.panel-label{margin:0 0 .45rem;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.pill-row,.meta-row,.auth-highlights{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.meta-row{margin-top:auto}.pill-row span,.meta-row span,.card-badge,.card-rating,.preview-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.36rem .7rem;font-size:.82rem;font-weight:700}.pill-row span{background:#ffffff1f}.preview-section,.community-section,.share-section{padding-top:2rem}.section-heading{max-width:42rem;margin-bottom:1.5rem}.section-heading h2{font-size:clamp(2rem,3vw,3.2rem);line-height:1.06}.preview-card{border-radius:32px;padding:1.6rem;display:grid;grid-template-columns:1.2fr .8fr;gap:1.5rem;background:var(--surface-card);border:1px solid var(--line-strong)}.preview-copy p{color:var(--muted);line-height:1.65}.preview-list{display:flex;flex-wrap:wrap;align-content:flex-start;gap:.8rem;padding:.5rem 0}.preview-pill{background:#0f766e1a;color:var(--brand-deep)}.search-box input,.share-form input,.auth-form input,.lesson-meta-form input,.sidebar-section input,.lesson-image-panel input,.lesson-select{width:100%;border:1px solid var(--line);border-radius:var(--radius-control);padding:1rem 1.1rem;min-height:var(--control-height);background:#ffffffd1;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.search-box input:focus,.share-form input:focus,.auth-form input:focus,.lesson-meta-form input:focus,.sidebar-section input:focus,.lesson-image-panel input:focus,.lesson-select:focus{outline:none;border-color:#0f766e47;box-shadow:0 0 0 4px #0f766e14;background:#fff}.resource-grid,.feature-grid,.discover-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.resource-card{display:flex;flex-direction:column;border-radius:24px;padding:1.35rem;background:var(--surface-card);border:1px solid var(--line-strong);transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.resource-card:hover,.feature-card:hover{transform:translateY(-4px) rotate(-.2deg)}.resource-card-linkable{cursor:pointer}.resource-card-linkable:focus-visible{outline:3px solid rgba(15,118,110,.22);outline-offset:4px}.resource-card.hidden{display:none}.card-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.lesson-plan-quick-save{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border:1px solid rgba(15,118,110,.2);border-radius:999px;background:#0f766e14;color:var(--brand-deep);font-size:1.15rem;font-weight:800;line-height:1;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease}.lesson-plan-quick-save:hover:not(:disabled),.lesson-plan-quick-save:focus-visible:not(:disabled){transform:translateY(-1px);background:#0f766e24;border-color:#0f766e5c}.lesson-plan-quick-save.is-saved,.lesson-plan-quick-save:disabled{background:#0f766e2e;border-color:#0f766e4d;color:var(--brand-deep);cursor:default;opacity:1}.card-badge{background:#0f766e1f;color:var(--brand-deep)}.card-rating{background:#f2b5442e;color:#8a5a00;gap:.32rem}.card-rating:before{content:"★";color:#d4a017;font-size:.9em}.resource-card p,.feature-card p,.share-card p,.panel-mini p,.sidebar-card p,.auth-switch{color:var(--muted);line-height:1.65}.resource-title-link{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:color .16s ease,border-color .16s ease}.resource-title-link:hover{color:var(--brand-deep);border-color:#0a4f553d}.scheduler-user-email{color:var(--muted);font-weight:700}.empty-state{margin:1rem 0 0;color:var(--muted);font-weight:700}.hidden{display:none!important}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-card{border-radius:24px;padding:1.5rem;background:var(--surface-card);border:1px solid var(--line-strong)}.share-card{display:grid;grid-template-columns:1fr .95fr;gap:1.5rem;padding:1.6rem;border-radius:32px;background:linear-gradient(135deg,#ffffffe6,#fff7eaeb),var(--surface);border:1px solid var(--line-strong)}.share-form,.auth-form{display:grid;gap:.9rem}.share-form label,.auth-form label{display:grid;gap:.45rem;font-weight:700}.discover-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:1.5rem;align-items:start}.lesson-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:1.5rem;align-items:start}.scheduler-home{display:grid;gap:1.5rem}.scheduler-header{display:flex;align-items:end;justify-content:space-between;gap:1.5rem}.scheduler-title{max-width:12ch}.scheduler-header-actions{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;align-self:stretch;gap:.65rem;min-width:14rem}.scheduler-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:1.5rem;align-items:start}.scheduler-sidebar{display:grid;gap:1rem;position:sticky;top:1rem}.scheduler-panel,.scheduler-board{background:var(--surface-card);border:1px solid var(--line-strong);border-radius:var(--radius-card);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.scheduler-panel{padding:1.2rem}.scheduler-panel h2{font-size:1.6rem}.scheduler-subtext,.scheduler-empty{margin:.7rem 0 0;color:var(--muted);line-height:1.6}.scheduler-panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.scheduler-agenda-list{display:grid;gap:.8rem}.scheduler-agenda-item{display:grid;grid-template-columns:.7rem minmax(0,1fr);gap:.8rem;align-items:start;padding:.85rem .9rem;border-radius:20px;background:#ffffffd1;border:1px solid rgba(31,36,48,.08)}.scheduler-agenda-item h3{font-size:1rem}.scheduler-agenda-item p{margin:.25rem 0 0;color:var(--muted);line-height:1.5}.scheduler-agenda-dot{width:.7rem;height:.7rem;border-radius:999px;margin-top:.3rem}.scheduler-board{min-width:0;padding:1.1rem}.fc-event{cursor:pointer}.class-event-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:1.5rem;align-items:start}.class-event-sidebar .sidebar-scroll{max-height:calc(100vh - 4.5rem)}.class-event-main{display:grid;gap:1rem}.class-event-tabs{gap:.75rem;margin-bottom:.25rem}.class-event-tabs .nav-link{border-radius:999px;border:1px solid var(--line);color:var(--ink);background:#fffc;font-weight:800;padding:.8rem 1rem}.class-event-tabs .nav-link.active{background:var(--brand);border-color:var(--brand);color:#fff}.class-event-content .tab-pane{min-height:18rem}.class-event-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.25rem}.class-event-card{background:var(--surface-card);border:1px solid var(--line-strong);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:1.35rem}.class-event-card-head{display:flex;align-items:start;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.class-event-list{display:grid;gap:.75rem}.class-event-link{display:grid;gap:.3rem;padding:.95rem 1rem;border-radius:20px;text-decoration:none;color:var(--ink);border:1px solid rgba(31,36,48,.08);background:#ffffffd1;transition:transform .16s ease,border-color .16s ease,background-color .16s ease}.class-event-link span{color:var(--muted);line-height:1.5;font-size:.94rem}.class-event-link:hover,.class-event-link.active{transform:translateY(-1px);border-color:#0f766e33;background:#fff}.class-event-selected-list,.class-roster-list{display:grid;gap:.75rem}.class-event-selected-resource,.class-event-typeahead,.class-roster-item{padding:.9rem .95rem;border-radius:20px;border:1px solid rgba(31,36,48,.08);background:#ffffffd1}.class-resource-search-field{display:grid;gap:.45rem;font-weight:700;margin-top:1rem;margin-bottom:.75rem}.class-event-typeahead{display:grid;gap:.45rem;margin-top:.8rem}.class-event-suggestion{width:100%;display:grid;gap:.18rem;padding:.85rem .9rem;border:1px solid rgba(31,36,48,.08);border-radius:18px;background:#fff;text-align:left;transition:transform .16s ease,border-color .16s ease,background-color .16s ease}.class-event-suggestion:hover{transform:translateY(-1px);border-color:#0f766e33;background:#fffcf7fa}.resource-picker-list{display:grid;gap:.75rem;margin-top:1rem}.class-event-selected-resource{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.85rem;align-items:center}.class-event-selected-copy{display:grid;gap:.2rem}.class-event-selected-copy small,.class-event-suggestion small,.resource-view-section p,.lesson-plan-view-body{color:var(--muted);font-size:.88rem;line-height:1.6}.class-event-resource-link{color:var(--brand-deep);font-weight:800;text-decoration:none;width:fit-content;border-bottom:1px solid transparent}.class-event-resource-link:hover{border-color:#0a4f553d}.class-roster-form{display:flex;gap:.75rem;align-items:end;margin-bottom:.9rem}.class-roster-form label,.class-notes-field{display:grid;gap:.45rem;font-weight:700;flex:1}.class-notes-field textarea,.class-roster-form input,.class-resource-search-field input{width:100%;border:1px solid var(--line);border-radius:var(--radius-control);padding:1rem 1.1rem;background:#ffffffd1}.class-roster-item{grid-template-columns:minmax(0,1fr) auto;align-items:center}.lesson-plan-view-layout,.resource-view-layout,.lesson-plan-view-main{display:grid;gap:1rem}.lesson-plan-view-card,.resource-view-card{background:var(--surface-card);border:1px solid var(--line-strong);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:1.35rem}.lesson-plan-view-body>:first-child,.resource-view-section p{margin-top:0}.lesson-plan-view-body{display:grid;gap:.9rem}.lesson-plan-pdf-preview{margin:0;display:grid;gap:.65rem;padding:.9rem;border-radius:22px;background:#ffffffbd;border:1px solid rgba(31,36,48,.08)}.lesson-plan-pdf-frame{width:100%;min-height:560px;border:1px solid rgba(31,36,48,.08);border-radius:16px;background:#fff}.lesson-plan-pdf-caption{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}.lesson-plan-resource-caption{display:grid;gap:.2rem}.lesson-plan-resource-caption-title{color:var(--ink);font-size:.98rem}.lesson-plan-resource-caption-summary{color:var(--muted)}.lesson-plan-pdf-caption a{color:var(--brand-deep);font-weight:800;text-decoration:none}.lesson-plan-pdf-caption a:hover{text-decoration:underline}.lesson-plan-image-preview{display:block;width:100%;max-height:640px;object-fit:contain;border:1px solid rgba(31,36,48,.08);border-radius:16px;background:#fff}.resource-view-card{display:grid;gap:1rem}.resource-view-badges{display:flex;flex-wrap:wrap;gap:.55rem}.resource-view-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.42rem .8rem;background:#0f766e1f;color:var(--brand-deep);font-size:.82rem;font-weight:800}.resource-view-section{display:grid;gap:.45rem}.resource-view-section h2,.lesson-plan-view-card h2{font-size:1.45rem}.resource-review-section{display:grid;gap:1rem}.review-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem;color:var(--muted)}.review-summary strong{color:var(--ink);font-family:Fraunces,serif;font-size:2rem;line-height:1}.review-form{display:grid;gap:.85rem}.review-star-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.review-stars{display:inline-flex;align-items:center;gap:.2rem}.review-star{border:0;background:transparent;padding:0;color:#d9770647;font-size:2rem;line-height:1;cursor:pointer;transition:color .14s ease,transform .14s ease}.review-star:hover,.review-star:focus-visible,.review-star.is-active{color:#d4a017}.review-star:hover,.review-star:focus-visible{transform:translateY(-1px);outline:none}.review-form label{display:grid;gap:.45rem;font-weight:700}.review-form-actions{display:flex;justify-content:flex-start}.review-comment-list{display:grid;gap:.85rem}.review-comment{display:grid;gap:.45rem;padding:1rem 1.05rem;border-radius:18px;background:#ffffffc7;border:1px solid rgba(31,36,48,.08)}.review-comment-head{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:space-between;color:var(--muted);font-size:.9rem}.review-comment p{margin:0}.class-event-title{max-width:18ch}#teacherCalendar{min-height:760px}.fc{--fc-page-bg-color: transparent;--fc-neutral-bg-color: rgba(255, 255, 255, .76);--fc-border-color: rgba(31, 36, 48, .08);--fc-button-bg-color: var(--brand);--fc-button-border-color: var(--brand);--fc-button-hover-bg-color: var(--brand-deep);--fc-button-hover-border-color: var(--brand-deep);--fc-button-active-bg-color: var(--brand-deep);--fc-button-active-border-color: var(--brand-deep);--fc-event-border-color: transparent;--fc-event-text-color: white;--fc-today-bg-color: rgba(255, 230, 174, .28);font-family:Manrope,sans-serif}.fc .fc-toolbar.fc-header-toolbar{margin-bottom:1rem}.fc .fc-toolbar{gap:.75rem}.fc .fc-toolbar-chunk{display:flex;align-items:center;gap:.55rem}.fc .fc-toolbar-title{font-family:Fraunces,serif;font-size:1.45rem}.fc .fc-button{background:var(--brand)!important;border-color:var(--brand)!important;color:#fff!important;border-radius:999px;box-shadow:none;font-weight:800;text-transform:none}.fc .btn,.fc .btn-primary,.fc .fc-button-primary{background:var(--brand)!important;border-color:var(--brand)!important;color:#fff!important}.fc .fc-button:hover,.fc .fc-button:focus,.fc .fc-button:active,.fc .btn:hover,.fc .btn:focus,.fc .btn:active,.fc .btn-primary:hover,.fc .btn-primary:focus,.fc .btn-primary:active,.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background:var(--brand-deep)!important;border-color:var(--brand-deep)!important;color:#fff!important;box-shadow:none!important}.fc .fc-button:disabled{background:#0f766e61!important;border-color:#0f766e61!important;color:#ffffffe6!important}.fc .fc-prev-button,.fc .fc-next-button{min-width:3.2rem;font-size:1.25rem;line-height:1;padding-inline:.9rem}.fc .fc-daygrid-day-frame,.fc .fc-timegrid-slot{background:#ffffff8a}.fc-theme-standard td,.fc-theme-standard th,.fc-theme-standard .fc-scrollgrid{border-color:#1f243014}.fc .fc-event{border-radius:12px;padding-inline:.15rem}.fc .calendar-holiday-event{border-radius:999px;font-weight:800;opacity:.9}.fc .fc-event-main{position:relative}.calendar-class-remove{position:absolute;top:.22rem;right:.22rem;width:1.15rem;height:1.15rem;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:#ffffffeb;color:var(--ink);font-size:.95rem;font-weight:900;line-height:1;cursor:pointer;z-index:2}.calendar-class-remove:hover,.calendar-class-remove:focus-visible{background:#fff;color:#991b1b;outline:none}.calendar-event-form{display:grid;gap:.95rem}.calendar-event-form label{display:grid;gap:.45rem;font-weight:700}.calendar-event-form textarea,.calendar-event-form input{width:100%;border:1px solid var(--line);border-radius:var(--radius-control);padding:1rem 1.1rem;min-height:var(--control-height);background:#ffffffd1}.calendar-event-form select{width:100%;border:1px solid var(--line);border-radius:var(--radius-control);padding:1rem 2.9rem 1rem 1.1rem;min-height:var(--control-height);background-color:#ffffffd1}.calendar-event-form input[type=datetime-local]{min-width:0;padding-right:.9rem}.calendar-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;align-items:end}.calendar-checkbox{display:flex!important;align-items:center;gap:.65rem;min-height:var(--control-height);align-self:end;padding:0 0 .25rem;white-space:nowrap}.calendar-checkbox input{width:1rem;height:1rem;min-height:auto;padding:0;margin:0;accent-color:var(--brand)}.calendar-event-form .form-control-color{min-height:var(--control-height);padding:.55rem;max-width:100%}.calendar-modal-footer{justify-content:space-between}.calendar-repeat-section{display:grid;gap:.75rem;padding:1rem;border-radius:22px;border:1px solid var(--line);background:#ffffffb8}.calendar-repeat-days{display:grid;gap:.75rem}.calendar-repeat-grid{display:flex;flex-wrap:wrap;gap:.6rem}.calendar-repeat-day{display:inline-flex!important;align-items:center;gap:.45rem;min-height:auto;padding:.55rem .8rem;border-radius:999px;border:1px solid rgba(31,36,48,.08);background:#ffffffdb;font-weight:700}.calendar-repeat-day input{width:1rem;height:1rem;min-height:auto;margin:0;padding:0;accent-color:var(--brand)}.sidebar-card{border-radius:var(--radius-card);padding:1.25rem;position:sticky;top:1rem;max-height:calc(100vh - 2rem);background:var(--surface-card);border:1px solid var(--line-strong);overflow:hidden}.sidebar-scroll{display:grid;gap:1rem;max-height:calc(100vh - 4.5rem);overflow-y:auto;padding-right:.35rem}.sidebar-label{display:block;margin-bottom:.45rem;font-weight:800}.sidebar-section+.sidebar-section{margin-top:1.4rem;padding-top:1.15rem;border-top:1px solid rgba(31,36,48,.08)}.sidebar-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.sidebar-section-head h2,.results-title{font-size:1.5rem}.search-box+.sidebar-section-head h2,.sidebar-section .sidebar-section-head h2{font-size:1.5rem}.sidebar-section:first-child .sidebar-section-head h2{font-size:20px}.search-section-heading{padding:1rem 1rem .95rem}.checkbox-list{display:grid;gap:0}.filter-container{overflow:visible;max-height:none;padding-right:0;padding-top:.35rem;padding-left:1.8rem}.checkbox-list label{display:grid;grid-template-columns:1.1rem minmax(0,1fr);align-items:center;column-gap:.55rem;font-weight:700;line-height:1;cursor:pointer;min-height:1.2rem;padding:0}.checkbox-list input{accent-color:var(--brand);width:1rem;height:1rem;margin:0;justify-self:start}.clear-link{border:1px solid transparent;background:#ffffffb3;color:var(--brand-deep);font:inherit;font-weight:800;cursor:pointer;min-height:2.5rem;padding:.55rem .85rem;border-radius:999px;transition:background-color .16s ease,border-color .16s ease}.clear-link:hover{background:#fff;border-color:#0f766e29}.sidebar-clear{display:flex;justify-content:flex-end;margin-top:.35rem;margin-bottom:.2rem;margin-left:auto}.results-header{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.results-count{margin:0;font-weight:800;color:var(--muted)}.my-resource-tabs{gap:.75rem;margin-bottom:1.25rem}.my-resource-tabs .nav-link{border-radius:999px;border:1px solid var(--line);color:var(--ink);background:#fffc;font-weight:800;padding:.8rem 1rem}.my-resource-tabs .nav-link.active{background:var(--brand);border-color:var(--brand);color:#fff}.my-resource-content .tab-pane{min-height:12rem}.lesson-sidebar{display:grid;gap:1rem}.lesson-sidebar .sidebar-scroll{max-height:calc(100vh - 4.5rem);overflow-y:auto;overflow-x:visible}.lesson-sidebar .sidebar-section{background:linear-gradient(180deg,#ffffffc7,#fff8eee0);border:1px solid var(--line-strong);border-radius:24px;padding:0;overflow:visible}.collapsible-section+.collapsible-section{margin-top:0;padding-top:0;border-top:0}.sidebar-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.4rem;padding:1rem 1rem .95rem;border:0;background:transparent;color:var(--ink);font-family:Fraunces,serif;font-size:1.25rem;font-weight:600;text-align:left}.sidebar-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;border-radius:999px;border:1px solid rgba(31,36,48,.12);background:#fffc;color:var(--brand-deep);font-family:Manrope,sans-serif;font-size:1.05rem;line-height:1;transition:transform .16s ease}.sidebar-toggle-icon:before{content:"+"}.sidebar-toggle[aria-expanded=true] .sidebar-toggle-icon:before{content:"-"}.collapse-panel{display:grid;gap:.9rem;padding:0 1rem 1rem}.lesson-meta-form{display:grid;gap:.9rem}.lesson-meta-form label,.lesson-image-panel label,.sidebar-section label{display:grid;gap:.45rem;font-weight:700}.lesson-action{width:100%}.publish-modal{border:1px solid rgba(255,255,255,.72);border-radius:28px;background:linear-gradient(180deg,#fffffff0,#fff7ebf5),var(--surface);box-shadow:var(--shadow)}.publish-modal .modal-header,.publish-modal .modal-footer{border-color:#1f243014;padding-inline:1.4rem}.publish-modal .modal-body{padding:1.1rem 1.4rem 1.2rem}.publish-modal-copy{margin:0 0 1rem}.publish-options{display:grid;gap:.8rem}.publish-option{display:grid;grid-template-columns:1.1rem minmax(0,1fr);gap:.75rem;align-items:start;padding:1rem 1rem .95rem;border-radius:22px;border:1px solid var(--line);background:#ffffffd1;font-weight:700}.publish-option input{width:1rem;height:1rem;margin-top:.15rem;accent-color:var(--brand)}.publish-option span{display:grid;gap:.22rem}.publish-option small{color:var(--muted);font-size:.9rem;line-height:1.5}.lesson-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:3rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.2 5.5 8 10.3l4.8-4.8 1.2 1.2L8 12.7 2 6.7z' fill='%230a4f55'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 1rem center!important;background-size:1rem 1rem!important}.lesson-select.is-open{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M12.8 10.5 8 5.7l-4.8 4.8-1.2-1.2L8 3.3l6 6z' fill='%230a4f55'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 1rem center!important;background-size:1rem 1rem!important}.lesson-sidebar .button,.toolbar-button,.lesson-meta-form input,.sidebar-section input,.lesson-image-panel input{min-height:3.25rem}.lesson-sidebar .button{width:100%}#addSectionButton{margin-top:.35rem}.lesson-main{min-width:0}.lesson-canvas{display:grid;gap:1rem}.lesson-section-card{background:linear-gradient(180deg,#ffffffe6,#fff7ebeb),var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:var(--radius-card);padding:1.5rem}.lesson-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.lesson-section-actions{display:flex;align-items:center;gap:.55rem}.lesson-section-title{font-size:1.8rem}.section-toggle{min-width:2.75rem;min-height:2.75rem;padding:.6rem}.section-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;line-height:1}.section-toggle-icon:before{content:"-"}.section-toggle[aria-expanded=false] .section-toggle-icon:before{content:"+"}.editor-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.95rem}.toolbar-button{border:1px solid var(--line);background:#ffffffe0;color:var(--ink);padding:.8rem 1rem;border-radius:14px;font:inherit;font-weight:700;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background-color .16s ease}.toolbar-button:hover{transform:translateY(-1px);border-color:#0f766e42;background:#fff}.toolbar-button strong,.toolbar-button em{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;font-size:.95rem;line-height:1}.toolbar-button-upload{margin-left:auto;background:linear-gradient(180deg,#0f766e1a,#0f766e29);color:var(--brand-deep);align-items:center}.toolbar-button svg,.lesson-action svg{width:1rem;height:1rem;display:block;flex:0 0 auto;fill:currentColor;pointer-events:none}.toolbar-button-upload svg{width:1.15rem;height:1.15rem;flex:0 0 auto;display:inline-block;vertical-align:middle;transform:translateY(1px)}.toolbar-button-upload span{display:inline-flex;align-items:center;line-height:1}.rich-editor{min-height:220px;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:20px;background:#ffffffe6;line-height:1.7;font-size:1rem}.rich-editor:focus{outline:2px solid rgba(15,118,110,.18);outline-offset:2px}.rich-editor:empty:before{content:"Write this part of the lesson here, or paste an image directly into the editor.";color:#5d6473bf}.editor-image-block{margin:1rem 0;padding:.75rem;border-radius:18px;background:var(--surface-tint);border:1px solid rgba(31,36,48,.08)}.editor-image-block img{display:block;max-width:100%;border-radius:14px}.lesson-plan-file-block{margin:1rem 0;padding:0;border:0}.lesson-plan-file-card{display:grid;gap:.45rem;padding:1rem 1.05rem;border-radius:20px;background:var(--surface-tint);border:1px solid rgba(31,36,48,.08)}.lesson-plan-file-card strong{overflow-wrap:anywhere}.lesson-plan-file-badge{width:fit-content;display:inline-flex;align-items:center;border-radius:999px;padding:.36rem .7rem;background:#0f766e1f;color:var(--brand-deep);font-size:.82rem;font-weight:800}.lesson-plan-file-link{width:fit-content;display:inline-flex;align-items:center;justify-content:center;min-height:2.5rem;padding:.55rem .9rem;border-radius:999px;border:1px solid rgba(31,36,48,.08);background:#ffffffdb;color:var(--brand-deep);font-weight:800;text-decoration:none;cursor:pointer}.lesson-plan-file-link:hover{background:#fff;text-decoration:underline}.lesson-image-panel{display:grid;gap:.8rem;margin-top:1rem}.image-preview-wrap{background:var(--surface-soft);border:1px dashed var(--line);border-radius:20px;padding:.9rem}.section-image-preview{display:block;width:100%;max-height:320px;object-fit:cover;border-radius:18px;margin-top:.65rem}.remove-section-button{align-self:center;min-height:2.75rem;padding:.7rem .95rem;border-radius:999px;background:#ffffffd9;border:1px solid rgba(31,36,48,.1)}.auth-shell{width:min(1180px,calc(100% - 2rem));min-height:100vh;margin:0 auto;padding:1.25rem 0;display:grid;grid-template-columns:1fr .92fr;gap:1.25rem;align-items:stretch}.auth-panel{border-radius:32px;padding:2rem}.auth-story{background:linear-gradient(145deg,#0a4f55f5,#0f766ee0),var(--surface);color:#fff;display:flex;flex-direction:column;justify-content:center}.auth-story .brand,.auth-story .eyebrow,.auth-story .hero-text{color:#fff}.signup-story{background:linear-gradient(145deg,#78481ff0,#f2b544d6),var(--surface)}.auth-form-panel{display:flex;align-items:center;justify-content:center}.auth-form-wrap{width:min(100%,420px)}.auth-form-wrap h2{font-size:2rem;margin-bottom:1rem}.auth-form .button{width:100%}.auth-switch a{color:var(--brand-deep);font-weight:800;text-decoration:none}.form-status{min-height:1.5rem;margin:.4rem 0 0;font-weight:700}.form-status.info{color:var(--brand-deep)}.form-status.success{color:#1f7a3f}.form-status.error{color:#b42318}.sidebar-scroll{scrollbar-width:thin;scrollbar-color:rgba(15,118,110,.35) transparent}.sidebar-scroll::-webkit-scrollbar,.collapse-panel::-webkit-scrollbar{width:8px}.sidebar-scroll::-webkit-scrollbar-track,.collapse-panel::-webkit-scrollbar-track{background:transparent}.sidebar-scroll::-webkit-scrollbar-thumb,.collapse-panel::-webkit-scrollbar-thumb{background:#0f766e4d;border-radius:999px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media(max-width:960px){.hero-grid,.share-card,.preview-card,.feature-grid,.discover-layout,.lesson-layout,.class-event-layout,.scheduler-layout,.calendar-form-grid,.auth-shell{grid-template-columns:1fr}.resource-grid,.discover-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-stack{grid-template-columns:1fr}.sidebar-card{position:static;max-height:none}.scheduler-header{flex-direction:column;align-items:flex-start}.scheduler-header-actions{align-items:flex-start;min-width:0}.scheduler-sidebar{position:static}.class-roster-form,.class-event-card-head{flex-direction:column;align-items:stretch}.sidebar-scroll,.filter-container{max-height:none;overflow:visible;padding-right:0}.collapse-panel{overflow:visible}h1{max-width:12ch}}@media(max-width:640px){.page-shell,.auth-shell{width:min(100% - 1rem,100%)}.topbar{flex-direction:column;align-items:flex-start}.topbar-links,.topbar-auth{flex-wrap:wrap}.hero{padding-top:.75rem}h1{font-size:2.7rem}.resource-grid,.discover-grid,.feature-grid{grid-template-columns:1fr}.results-header{align-items:flex-start;flex-direction:column}.toolbar-button-upload{margin-left:0;width:100%}.lesson-plan-pdf-frame{min-height:420px}}
