/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-pink-200:oklch(89.9% .061 343.231);--color-pink-900:oklch(40.8% .153 2.432);--color-slate-800:oklch(27.9% .041 260.031);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.hidden{display:none}.min-h-screen{min-height:100vh}.w-full{width:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.bg-\[\#FFF8FA\]{background-color:#fff8fa}.text-slate-800{color:var(--color-slate-800)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.selection\:bg-pink-200 ::selection{background-color:var(--color-pink-200)}.selection\:bg-pink-200::selection{background-color:var(--color-pink-200)}.selection\:text-pink-900 ::selection{color:var(--color-pink-900)}.selection\:text-pink-900::selection{color:var(--color-pink-900)}}:root{color:#342f40;--pink:#e982aa;--pink-soft:#fff0f6;--blue:#74aede;--blue-soft:#eef7ff;--lavender:#a98ad9;--lavender-soft:#f5f0ff;--cream:#fffaf2;--ink:#342f40;--muted:#766e7f;--line:#eee3ea;--surface:#ffffffeb;--shadow:0 20px 55px #58394e17, 0 2px 8px #58394e0a;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--ease-drawer:cubic-bezier(.32,.72,0,1);background:#fff9fb;font-family:Outfit,system-ui,sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:#fffafc;min-width:320px;min-height:100%}body{overscroll-behavior-y:none;background:radial-gradient(circle at 8% 4%,#fff0f7 0,#0000 26rem),radial-gradient(circle at 92% 15%,#eaf5ff 0,#0000 28rem),#fffafc;min-width:320px;min-height:100dvh;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #74aede61}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow,.kicker{color:#b05d82;letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:.4rem;font-size:.76rem;font-weight:700;display:inline-flex}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Quicksand,sans-serif}.primary-button{color:#fff;cursor:pointer;min-height:50px;transition:transform .14s var(--ease-out),box-shadow .18s ease,opacity .18s ease;background:linear-gradient(135deg,#eb86ae,#d8739b);border:0;border-radius:16px;justify-content:center;align-items:center;gap:.55rem;padding:.8rem 1.3rem;font-weight:700;display:inline-flex;box-shadow:0 10px 22px #da70993b}.primary-button:active,.icon-button:active,.reveal-button:active,.youtube-button:active,.today-button:active{transform:scale(.97)}.primary-button:disabled{opacity:.6;cursor:wait}.icon-button{border:1px solid var(--line);cursor:pointer;width:44px;height:44px;transition:transform .14s var(--ease-out),background-color .18s ease;background:#fff;border-radius:14px;place-items:center;display:grid}.login-page{min-height:100dvh;padding:calc(2rem + env(safe-area-inset-top)) calc(2rem + env(safe-area-inset-right)) calc(2rem + env(safe-area-inset-bottom)) calc(2rem + env(safe-area-inset-left));background:linear-gradient(145deg,#ffeef6a6,#eef7ffb8 50%,#f6f0ffb3);place-items:center;display:grid;position:relative;overflow:hidden}.floating-shape{filter:blur(1px);opacity:.65;border-radius:999px;position:absolute}.shape-one{background:#ffdce9;width:260px;height:260px;top:-90px;right:-50px}.shape-two{background:#dceeff;width:190px;height:190px;bottom:-60px;left:-30px}.login-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe0;border:1px solid #ffffffe6;border-radius:36px;grid-template-columns:.9fr 1.1fr;width:min(880px,100%);display:grid;position:relative;overflow:hidden;box-shadow:0 30px 85px #583a4d24}.login-art{background:linear-gradient(155deg,#fff0f7,#ecf6ff);align-items:end;min-height:500px;padding:2rem 2rem 0;display:flex}.login-art svg{transform:translateY(16px)}.login-copy{align-self:center;padding:4.2rem 4rem}.login-copy h1{margin:.65rem 0 .5rem;font-size:clamp(2.25rem,5vw,3.5rem);line-height:1.05}.login-copy>p{color:var(--muted);margin-bottom:2rem;font-size:1.08rem}.login-form label{margin:0 0 .5rem .25rem;font-size:.82rem;font-weight:700;display:block}.password-wrap{background:#fff;border:1px solid #e7dce4;border-radius:17px;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;min-height:56px;padding:0 .9rem;display:grid;box-shadow:inset 0 1px 2px #48304008}.password-wrap>svg{color:#b78ba0}.password-wrap input{width:100%;color:var(--ink);background:0 0;border:0;outline:0}.password-wrap button{color:#9d8593;cursor:pointer;background:0 0;border:0;padding:.4rem}.login-message{color:#b64f76;min-height:2rem;padding:.45rem .2rem .2rem;font-size:.9rem}.login-button{width:100%}.app-shell{min-height:100dvh;padding-bottom:env(safe-area-inset-bottom)}.topbar{height:calc(72px + env(safe-area-inset-top));z-index:30;-webkit-backdrop-filter:blur(18px);background:#fffafcd1;border-bottom:1px solid #e6d8e1b3;position:sticky;top:0}.topbar-inner{width:min(1400px,100%);height:100%;padding:env(safe-area-inset-top) calc(2rem + env(safe-area-inset-right)) 0 calc(2rem + env(safe-area-inset-left));justify-content:space-between;align-items:center;margin:auto;display:flex}.brand{align-items:center;gap:.7rem;font-family:Quicksand;font-size:1.1rem;font-weight:700;display:flex}.brand-mark{color:#d96996;background:linear-gradient(145deg,#ffe1ed,#edf6ff);border-radius:12px;place-items:center;width:35px;height:35px;display:grid}.logout-button{color:#8a7e89;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:.4rem;padding:.65rem .75rem;font-size:.86rem;transition:background-color .18s,color .18s;display:inline-flex}.app-layout{grid-template-columns:230px minmax(0,1fr);max-width:1400px;margin:auto;display:grid}.sidebar{top:calc(72px + env(safe-area-inset-top));height:calc(100vh - 72px - env(safe-area-inset-top));height:calc(100dvh - 72px - env(safe-area-inset-top));border-right:1px solid #e6d8e1ad;padding:2rem 1.25rem;position:sticky}.sidebar-label{color:#a0939f;text-transform:uppercase;letter-spacing:.08em;margin:0 .75rem 1rem;font-size:.72rem;font-weight:700}.sidebar nav{gap:.35rem;display:grid}.sidebar nav button{color:#716777;cursor:pointer;text-align:left;min-height:48px;transition:background-color .18s ease,color .18s ease,transform .14s var(--ease-out);background:0 0;border:0;border-radius:15px;align-items:center;gap:.75rem;padding:.7rem .8rem;font-weight:600;display:flex}.sidebar nav button:active{transform:scale(.98)}.sidebar nav button.active{color:#a94f78;background:linear-gradient(135deg,#ffeaf2,#f1f7ff);box-shadow:inset 0 0 0 1px #e1b1c738}.sidebar-note{border:1px solid var(--line);color:#9b7f8c;background:#fff;border-radius:18px;gap:.65rem;padding:1rem;font-size:.82rem;display:flex;position:absolute;bottom:2rem;left:1.25rem;right:1.25rem}.sidebar-note p{margin:0}.main-content{min-width:0;padding:2rem clamp(1.25rem,3vw,3.25rem) 5rem}.view{max-width:1020px;animation:view-enter .24s var(--ease-out) both;margin:auto}@keyframes view-enter{0%{opacity:0;transform:translateY(7px)}}.mobile-nav{display:none}.hero-card,.page-heading{min-height:230px;box-shadow:var(--shadow);background:linear-gradient(135deg,#ffeff6f5,#ebf6ffe6 58%,#f5efffe6);border:1px solid #ffffffe6;border-radius:32px;justify-content:space-between;align-items:center;padding:2.5rem clamp(1.5rem,4vw,3.5rem);display:flex;position:relative;overflow:hidden}.hero-card:after,.page-heading:after{content:"";border:22px solid #ffffff73;border-radius:50%;width:130px;height:130px;position:absolute;top:-55px;left:42%}.hero-card>div,.page-heading>div{z-index:2;max-width:590px;position:relative}.hero-card h1,.page-heading h1{margin:.7rem 0;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05}.hero-card p,.page-heading p{color:var(--muted);margin:0;font-size:1.05rem}.hero-cat{z-index:2;width:230px;margin:-1.2rem 0 -2.5rem;position:relative}.heading-cat{z-index:2;width:190px;margin:-1.5rem -1rem -2rem 1rem;position:relative}.cat-tail{transform-origin:168px 155px;animation:tail-sway 3.5s var(--ease-in-out) infinite alternate}.hero-cat,.loading-cat{animation:cat-bob 3.2s var(--ease-in-out) infinite alternate}@keyframes cat-bob{to{transform:translateY(-5px)}}@keyframes tail-sway{to{transform:rotate(5deg)}}.view-section{margin-top:2.4rem}.section-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.2rem;display:flex}.section-heading h2{margin:.25rem 0 0;font-size:1.65rem}.date-chip{border:1px solid var(--line);color:#746c7a;background:#fff;border-radius:13px;align-items:center;gap:.45rem;padding:.65rem .8rem;font-size:.84rem;display:inline-flex}.lesson-list{gap:1.4rem;display:grid}.lesson-card{--subject:var(--lavender);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:26px;padding:clamp(1.25rem,3vw,2rem);position:relative;overflow:hidden}.lesson-card.maths{--subject:var(--blue)}.lesson-card.literacy{--subject:var(--pink)}.lesson-card.revision{--subject:var(--lavender)}.lesson-card-accent{background:var(--subject);height:5px;position:absolute;top:0;left:0;right:0}.lesson-card>header,.lesson-card>header>div{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.lesson-card>header>div{justify-content:flex-start}.subject-badge{border-radius:999px;align-items:center;gap:.35rem;padding:.38rem .62rem;font-size:.74rem;font-weight:700;display:inline-flex}.subject-badge.maths{color:#3977a8;background:var(--blue-soft)}.subject-badge.literacy{color:#b3547c;background:var(--pink-soft)}.subject-badge.revision{color:#7453ab;background:var(--lavender-soft)}.estimated,.complete-mark{color:#807682;align-items:center;gap:.35rem;font-size:.8rem;display:inline-flex}.complete-mark{color:#4c9078;background:#eefaf5;border-radius:99px;padding:.4rem .65rem;font-weight:700}.lesson-card h2{margin:1rem 0 .55rem;font-size:clamp(1.45rem,3vw,2rem)}.lesson-description{color:var(--muted);max-width:750px;line-height:1.65}.lesson-section{border-top:1px solid #f0e7ed;margin-top:1.5rem;padding-top:1.3rem}.lesson-section h3{align-items:center;gap:.5rem;margin-bottom:.8rem;font-size:.92rem;display:flex}.lesson-section h3 svg{color:var(--subject)}.youtube-button{min-height:68px;color:var(--ink);transition:transform .14s var(--ease-out),border-color .18s ease,box-shadow .18s ease;background:linear-gradient(135deg,#fff5f8,#f6f9ff);border:1px solid #eadde5;border-radius:16px;justify-content:space-between;align-items:center;gap:.8rem;padding:.85rem 1rem;text-decoration:none;display:flex}.youtube-button span{gap:.18rem;display:grid}.youtube-button strong{font-size:.93rem}.youtube-button small{color:var(--muted)}.remember ul{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.remember li{color:#615a68;gap:.6rem;display:flex}.remember li span{color:var(--subject);padding-top:.2rem;font-size:.76rem}.paper-note{color:#8c818e;margin:-.2rem 0 .9rem;font-size:.86rem}.questions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.question{background:#fffdfd;border:1px solid #eadfe6;border-radius:17px;padding:1rem;transition:border-color .18s,background-color .18s}.question.revealed{background:#fdfaff;border-color:#dacbed}.question-number{color:#a57791;text-transform:uppercase;letter-spacing:.07em;font-size:.68rem;font-weight:800}.question>p{min-height:3rem;margin:.45rem 0 .8rem;line-height:1.45}.reveal-button{color:#8b5c80;cursor:pointer;transition:transform .14s var(--ease-out),background-color .18s ease;background:#fff0f6;border:0;border-radius:11px;align-items:center;gap:.4rem;padding:.55rem .7rem;font-size:.78rem;font-weight:700;display:inline-flex}.answer{animation:answer-enter .18s var(--ease-out) both;border-top:1px dashed #ddcde0;gap:.35rem;padding-top:.75rem;display:grid}.answer span{color:#7f5aac;text-transform:uppercase;align-items:center;gap:.35rem;font-size:.72rem;font-weight:800;display:flex}.answer strong{font-size:1.03rem}.answer p{color:var(--muted);margin:0;font-size:.83rem}.done-button{width:100%;margin-top:1.5rem}.completion-done{background:linear-gradient(135deg,#effaf5,#f8f5ff);border:1px solid #dceee6;border-radius:17px;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem;display:flex}.completion-done>div{align-items:center;gap:.75rem;display:flex}.completion-done>div>span{color:#fff;background:#76b49c;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.completion-done p{margin:0;display:grid}.completion-done small{color:#718178}.completion-done button{color:#8c7d8b;cursor:pointer;background:0 0;border:0;align-items:center;gap:.3rem;font-size:.75rem;display:inline-flex}@keyframes answer-enter{0%{opacity:0;transform:translateY(4px)}}.calendar-heading{min-height:190px}.calendar-shell{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffff0;border-radius:26px;margin-top:1.5rem;padding:clamp(.7rem,2vw,1.4rem)}.calendar-toolbar{grid-template-columns:auto 1fr auto auto;align-items:center;gap:.6rem;padding:.2rem .2rem 1rem;display:grid}.calendar-toolbar h2{text-align:center;margin:0;font-size:1.35rem}.today-button{border:1px solid var(--line);color:#a65479;cursor:pointer;min-height:42px;transition:transform .14s var(--ease-out);background:#fff5f8;border-radius:13px;padding:0 .9rem;font-weight:700}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekdays span{text-align:center;color:#978b96;text-transform:uppercase;padding:.6rem;font-size:.72rem;font-weight:700}.days{gap:5px}.days button{aspect-ratio:1.06;text-align:left;cursor:pointer;min-height:66px;transition:transform .14s var(--ease-out),border-color .18s ease,background-color .18s ease,box-shadow .18s ease;background:#fff;border:1px solid #0000;border-radius:15px;padding:.55rem;position:relative}.days button.outside{opacity:.35}.days button.has-lessons{background:#fffafd;border-color:#f0e4eb}.days button.today{box-shadow:inset 0 0 0 2px #ec8db2}.days button.selected{background:#f2f7ff;border-color:#8ab8df}.day-number{font-weight:700}.day-dots{gap:4px;display:flex;position:absolute;bottom:.55rem;left:.55rem;right:.55rem}.day-dots i,.calendar-legend i{background:var(--lavender);border-radius:50%;width:8px;height:8px}.day-dots i.maths,.calendar-legend i.maths{background:var(--blue)}.day-dots i.literacy,.calendar-legend i.literacy{background:var(--pink)}.day-dots i.revision,.calendar-legend i.revision{background:var(--lavender)}.day-complete{color:#5d9c83;position:absolute;bottom:.45rem;right:.5rem}.calendar-legend{color:#827781;flex-wrap:wrap;justify-content:center;gap:1rem;padding:1rem .2rem .2rem;font-size:.74rem;display:flex}.calendar-legend span{align-items:center;gap:.35rem;display:flex}.day-panel-backdrop{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2b212f3d;justify-content:flex-end;animation:.2s both backdrop-in;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.day-panel{width:min(620px,92vw);height:100%;animation:panel-in .28s var(--ease-drawer) both;background:#fffafc;flex-direction:column;display:flex;box-shadow:-18px 0 60px #37273429}.day-panel>header{border-bottom:1px solid var(--line);background:#ffffffe6;justify-content:space-between;align-items:center;padding:1.4rem 1.5rem;display:flex}.day-panel h2{margin:.2rem 0 0;font-size:1.4rem}.day-panel-content{flex:1;padding:1.2rem;overflow:auto}.day-panel-content .lesson-card{box-shadow:0 10px 30px #58394e12}.panel-empty{text-align:center;align-content:center;place-items:center;min-height:70vh;display:grid}.panel-cat{width:230px}.panel-empty h3{margin:-.5rem 0 .3rem;font-size:1.5rem}.panel-empty p{color:var(--muted)}@keyframes backdrop-in{0%{opacity:0}}@keyframes panel-in{0%{transform:translate(100%)}}.week-card,.completed-list{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffff0;border-radius:25px;margin-top:1.5rem;overflow:hidden}.paw-progress{background:linear-gradient(135deg,#fff2f7,#f2f7ff);justify-content:center;align-items:center;gap:1.1rem;padding:1.3rem;display:flex}.paw-progress span{color:#d8cdd5;position:relative}.paw-progress span.done{color:#d8759c}.paw-progress small{color:#fff;place-items:center;font-size:.56rem;font-weight:800;display:grid;position:absolute;top:0;right:0;bottom:0;left:0}.week-list button{cursor:pointer;text-align:left;background:#fff;border:0;border-top:1px solid #f1e8ed;grid-template-columns:auto 110px 1fr;align-items:center;gap:.85rem;width:100%;min-height:82px;padding:1rem 1.3rem;transition:background-color .18s;display:grid}.week-list button:first-child{border-top:0}.week-status{color:#b9acb7;background:#f6f2f5;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.week-status.done{color:#fff;background:#78b39d}.week-day{font-weight:700}.week-topic{align-items:center;gap:.7rem;display:flex}.completed-list button{text-align:left;cursor:pointer;background:#fff;border:0;border-top:1px solid #f1e8ed;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;width:100%;min-height:85px;padding:1rem 1.3rem;transition:background-color .18s;display:grid}.completed-list button:first-child{border-top:0}.completed-list button>span:nth-child(2){gap:.2rem;display:grid}.completed-list small{color:#938792}.completed-icon{color:#5b9e84;background:#eff9f5;border-radius:50%;place-items:center;width:37px;height:37px;display:grid}.empty-state{text-align:center;background:#ffffff9e;border:1px dashed #e7d7e1;border-radius:28px;align-content:center;place-items:center;min-height:440px;margin-top:1.5rem;padding:2rem;display:grid}.empty-state.compact{min-height:350px}.empty-cat{width:220px}.empty-state h1,.empty-state h2{margin:-.5rem 0 .4rem;font-size:1.55rem}.empty-state p{color:var(--muted);max-width:450px}.revision-chip{color:#7453ab;background:var(--lavender-soft);border-radius:999px;align-items:center;gap:.3rem;padding:.36rem .55rem;font-size:.7rem;font-weight:800;display:inline-flex}.video-list{gap:.65rem;display:grid}.youtube-button .video-step{color:#a05f80;text-transform:uppercase;letter-spacing:.06em;font-size:.66rem;font-weight:800}.warm-up{background:linear-gradient(135deg,#faf7ff,#fffafd);border:1px solid #ded2f1;border-radius:18px;margin-top:1.25rem;padding:1rem}.lesson-section.warm-up{border-top:1px solid #ded2f1}.warm-up-title{grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;margin-bottom:.75rem;display:grid}.warm-up-title>span{color:#75a;background:#ede5fb;border-radius:13px;place-items:center;width:39px;height:39px;display:grid}.warm-up-title h3{margin:.12rem 0 0;font-size:1rem}.warm-up-title small{color:#846f93;font-size:.72rem;font-weight:800}.warm-up .paper-note{margin:0 0 .8rem}.warm-up .question{background:#ffffffe0}.mastery-section,.completed-history{margin-top:2rem}.mastery-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin-bottom:1rem;display:grid}.mastery-count{border:1px solid var(--line);background:#ffffffe0;border-radius:17px;grid-template-columns:auto 1fr;align-items:center;gap:.1rem .55rem;min-height:84px;padding:.8rem;display:grid;box-shadow:0 8px 22px #58394e0a}.mastery-count svg{color:#93869a;grid-row:1/3}.mastery-count strong{align-self:end;font-size:1.25rem}.mastery-count span{color:var(--muted);align-self:start;font-size:.7rem;font-weight:700}.mastery-count.needs-review svg{color:#b56b35}.mastery-count.learning svg{color:#b45b83}.mastery-count.practising svg{color:#7554aa}.mastery-count.secure svg{color:#4f977d}.mastery-count.new svg{color:#8d929d}.mastery-list{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:22px;overflow:hidden}.mastery-list button{width:100%;min-height:76px;color:var(--ink);text-align:left;cursor:pointer;transition:background-color .18s ease,transform .14s var(--ease-out);background:#fff;border:0;border-top:1px solid #f1e8ed;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.8rem 1rem;display:grid}.mastery-list button:first-child{border-top:0}.mastery-list button:active{transform:scale(.995)}.mastery-topic{gap:.2rem;min-width:0;display:grid}.mastery-topic strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mastery-topic small{color:var(--muted);font-size:.74rem}.mastery-badge{white-space:nowrap;border-radius:999px;justify-self:end;align-items:center;gap:.32rem;padding:.42rem .58rem;font-size:.7rem;font-weight:800;display:inline-flex}.mastery-badge.new{color:#6f747d;background:#f0f2f4}.mastery-badge.learning{color:#a94f76;background:#fff0f6}.mastery-badge.practising{color:#7050a1;background:#f2edff}.mastery-badge.secure{color:#46866f;background:#ecf8f3}.mastery-badge.needs-review{color:#9a5d2e;background:#fff1dc}.catch-up-card{background:linear-gradient(135deg,#fffaf0,#fff7f9);border:1px solid #efcf9e;border-radius:22px;margin-top:1.2rem;padding:1.15rem;box-shadow:0 12px 32px #6d482a14}.catch-up-heading{align-items:flex-start;gap:.8rem;display:flex}.catch-up-heading>span{color:#a86426;background:#ffedcf;border-radius:13px;flex:none;place-items:center;width:40px;height:40px;display:grid}.catch-up-heading h2{margin:.18rem 0 .25rem;font-size:1.2rem}.catch-up-heading p,.catch-up-more{color:#817269;margin:0;font-size:.86rem}.catch-up-list{gap:.45rem;margin-top:.9rem;display:grid}.catch-up-list button{width:100%;min-height:57px;color:var(--ink);text-align:left;cursor:pointer;transition:transform .14s var(--ease-out),border-color .18s ease,background-color .18s ease;background:#ffffffd1;border:1px solid #ddbf9db3;border-radius:14px;justify-content:space-between;align-items:center;gap:.8rem;padding:.65rem .8rem;display:flex}.catch-up-list button:active{transform:scale(.99)}.catch-up-list button>span{gap:.15rem;min-width:0;display:grid}.catch-up-list small{color:#9b704b;text-transform:capitalize;font-size:.68rem;font-weight:800}.catch-up-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.catch-up-list svg{color:#a86426;flex:none}.catch-up-more{margin-top:.65rem;padding-left:3rem}@media(hover:hover)and (pointer:fine){.catch-up-list button:hover{background:#fff;border-color:#d6ad7f;transform:translateY(-1px)}.mastery-list button:hover{background:#fff9fc}}@media(max-width:850px){.mastery-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.catch-up-card{border-radius:19px;padding:.9rem}.catch-up-heading>span{width:36px;height:36px}.catch-up-heading h2{font-size:1.05rem}.catch-up-more{padding-left:0}.warm-up{padding:.85rem}.warm-up-title{grid-template-columns:auto 1fr}.warm-up-title>small{grid-column:2}.mastery-summary{grid-template-columns:repeat(2,1fr);gap:.45rem}.mastery-count{min-height:70px}.mastery-list button{grid-template-columns:1fr auto;gap:.45rem}.mastery-list .subject-badge{grid-column:1;justify-self:start}.mastery-topic{grid-area:2/1/auto/-1}.mastery-badge{grid-area:1/2}}.error-banner{color:#9d466a;background:#fff2f7;border:1px solid #f1cfdc;border-radius:15px;align-items:center;gap:.6rem;max-width:1020px;min-height:48px;margin:0 auto 1rem;padding:.7rem 1rem;display:flex}.error-banner span{flex:1}.error-banner button{color:inherit;cursor:pointer;background:0 0;border:0;font-weight:700}.celebration-backdrop{z-index:80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#2e223040;place-items:center;padding:1rem;animation:.18s both backdrop-in;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.celebration-modal{text-align:center;width:min(410px,100%);animation:modal-in .26s var(--ease-out) both;background:#fff;border:1px solid #f0dbe5;border-radius:29px;padding:1.5rem 2rem 2rem;position:relative;box-shadow:0 35px 90px #46304138}.modal-close{z-index:2;position:absolute;top:.8rem;right:.8rem}.celebration-cat{width:210px;margin:-1rem auto -1.4rem}.celebration-modal h2{margin:.6rem 0 .35rem;font-size:1.65rem}.celebration-modal p{color:var(--muted);margin-bottom:1.3rem}.celebration-modal .primary-button{width:100%}@keyframes modal-in{0%{opacity:0;transform:scale(.95)translateY(8px)}}.app-loading{min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);color:#837782;align-content:center;place-items:center;display:grid}.loading-cat{width:230px}.app-loading p{margin-top:.8rem}.paw-loader{border:3px dotted;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite paw-spin;display:inline-block}.paw-loader.large{color:#da7ba2}.paw-loader.large+p{margin-top:.75rem}@keyframes paw-spin{to{transform:rotate(360deg)}}@media(hover:hover)and (pointer:fine){.primary-button:hover{transform:translateY(-1px);box-shadow:0 13px 25px #da70994d}.icon-button:hover{background:#fff4f8}.logout-button:hover{color:#a34f75;background:#fff0f5}.sidebar nav button:hover{background:#ffeff6b3}.youtube-button:hover{border-color:#d9c2d0;box-shadow:0 7px 18px #58394e0f}.reveal-button:hover{background:#ffe7f1}.days button:hover{border-color:#d9c9d2;transform:translateY(-1px)}.week-list button:hover,.completed-list button:hover{background:#fff9fc}}@media(max-width:850px){.app-layout{grid-template-columns:1fr}.sidebar{display:none}.main-content{padding-bottom:calc(7rem + env(safe-area-inset-bottom))}.mobile-nav{z-index:40;left:calc(.75rem + env(safe-area-inset-left));right:calc(.75rem + env(safe-area-inset-right));bottom:calc(.75rem + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);background:#ffffffeb;border:1px solid #e9d8e2db;border-radius:21px;grid-template-columns:repeat(4,1fr);min-height:67px;padding:.4rem;display:grid;position:fixed;box-shadow:0 14px 40px #4b36442b}.mobile-nav button{color:#8b7e88;cursor:pointer;background:0 0;border:0;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;font-size:.66rem;display:flex}.mobile-nav button.active{color:#b1517d;background:linear-gradient(135deg,#fff0f6,#f1f7ff);font-weight:700}.topbar-inner{padding:env(safe-area-inset-top) calc(1.2rem + env(safe-area-inset-right)) 0 calc(1.2rem + env(safe-area-inset-left))}.hero-card,.page-heading{min-height:220px}.hero-cat{width:190px}.heading-cat{width:160px}.login-card{grid-template-columns:.8fr 1.2fr}.login-copy{padding:3rem 2.5rem}.login-art{padding:1rem 1rem 0}}@media(max-width:620px){.login-page{padding:calc(.8rem + env(safe-area-inset-top)) calc(.8rem + env(safe-area-inset-right)) calc(.8rem + env(safe-area-inset-bottom)) calc(.8rem + env(safe-area-inset-left));align-items:center}.login-card{border-radius:28px;grid-template-columns:1fr}.login-art{align-items:center;min-height:190px;padding:0 3.3rem}.login-art svg{max-height:220px;transform:translateY(22px)}.login-copy{background:#fffffff2;padding:1.6rem 1.3rem 1.4rem;position:relative}.login-copy h1{font-size:2.2rem}.login-copy>p{margin-bottom:1.4rem;font-size:.98rem}.topbar{height:calc(62px + env(safe-area-inset-top))}.topbar-inner{padding:env(safe-area-inset-top) calc(1rem + env(safe-area-inset-right)) 0 calc(1rem + env(safe-area-inset-left))}.logout-button span{display:none}.main-content{padding:1rem calc(.75rem + env(safe-area-inset-right)) calc(6.5rem + env(safe-area-inset-bottom)) calc(.75rem + env(safe-area-inset-left))}.hero-card,.page-heading{align-items:flex-start;min-height:280px;padding:1.5rem}.hero-card>div,.page-heading>div{width:100%}.hero-card h1,.page-heading h1{max-width:88%;font-size:2.05rem}.hero-card p,.page-heading p{max-width:88%;font-size:.95rem}.hero-cat,.heading-cat{width:150px;margin:0;position:absolute;bottom:-.25rem;right:-.1rem}.section-heading{align-items:flex-start}.date-chip{display:none}.lesson-card{border-radius:22px;padding:1.2rem 1rem}.questions{grid-template-columns:1fr}.completion-done{flex-direction:column;align-items:flex-start}.completion-done button{margin-left:3rem}.calendar-heading{min-height:240px}.calendar-shell{border-radius:21px;padding:.45rem}.calendar-toolbar{grid-template-columns:auto 1fr auto}.calendar-toolbar .today-button{grid-area:2/1/auto/-1;width:100%}.calendar-toolbar h2{font-size:1.1rem}.weekdays span{padding:.45rem .1rem;font-size:.63rem}.days{gap:2px}.days button{aspect-ratio:.9;border-radius:10px;min-height:48px;padding:.35rem}.day-number{font-size:.78rem}.day-dots{gap:2px;bottom:.35rem;left:.35rem}.day-dots i{width:6px;height:6px}.day-complete{bottom:.2rem;right:.25rem}.calendar-legend{gap:.7rem}.day-panel-backdrop{align-items:flex-end}.day-panel{border-radius:26px 26px 0 0;width:100%;height:min(88vh,850px);animation-name:sheet-in}.day-panel>header{padding:1rem}.day-panel-content{padding:.75rem}@keyframes sheet-in{0%{transform:translateY(100%)}}.page-heading{min-height:240px}.week-list button{grid-template-columns:auto 1fr}.week-day{grid-column:2}.week-topic{flex-wrap:wrap;grid-column:2}.completed-list button{grid-template-columns:auto 1fr}.completed-list .subject-badge{grid-column:2;justify-self:start}.paw-progress{gap:.7rem}.empty-state{min-height:370px}.celebration-modal{padding-inline:1.2rem}}.day-page-view{max-width:1080px}.day-desktop-page{gap:1rem;display:grid}.day-back{color:#856d7d;width:fit-content;font:inherit;cursor:pointer;transition:color .15s ease,transform .15s var(--ease-out);background:0 0;border:0;align-items:center;gap:.35rem;padding:.5rem .25rem;font-weight:700;display:inline-flex}.day-back:active{transform:scale(.97)}.day-page-card{background:linear-gradient(145deg,#fffffffa,#fff8fcfa);border:1px solid #d5beccb8;border-radius:32px;position:relative;overflow:hidden;box-shadow:0 22px 60px #4a30431a}.day-page-art{color:#b45d87;background:linear-gradient(135deg,#ffe7f1,#edf4ff);border-radius:17px;place-items:center;width:52px;height:52px;display:grid;position:absolute;top:1.8rem;right:2rem}.day-route-header{z-index:2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px)saturate(1.2);backdrop-filter:blur(18px)saturate(1.2);background:#ffffffd1;justify-content:space-between;align-items:center;gap:1rem;padding:2rem 2.2rem 1.5rem;display:flex;position:relative}.day-route-header h1{max-width:780px;margin:.25rem 0 0;font-size:clamp(1.65rem,3vw,2.3rem);line-height:1.08}.day-route-header p{color:var(--muted);margin:.45rem 0 0;font-size:.88rem}.day-desktop-page .day-route-header{padding-right:6.5rem}.day-desktop-page .ios-close{display:none}.day-route-content{padding:1.4rem 1.6rem 2rem}.day-desktop-page .day-route-content{padding:1.5rem 2rem 2.2rem}.day-desktop-page .day-agenda{max-width:760px}.day-desktop-page .day-lessons{gap:1.25rem}.ios-close{color:#6e626a;cursor:pointer;width:34px;height:34px;transition:background-color .15s ease,transform .13s var(--ease-out);background:#766a731f;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.ios-close:active{transform:scale(.9)}.ios-sheet-backdrop{z-index:100;-webkit-backdrop-filter:blur(12px)saturate(1.15);backdrop-filter:blur(12px)saturate(1.15);opacity:1;transition:opacity .19s var(--ease-out);background:#2a222a4d;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.ios-day-sheet{opacity:1;transform-origin:50% 100%;width:min(760px,100vw - 32px);height:min(90dvh,900px);transition:transform .26s var(--ease-drawer),opacity .19s ease;will-change:transform;background:#fffafcf7;border:1px solid #fffc;border-radius:30px;flex-direction:column;display:flex;overflow:hidden;transform:translateY(0)scale(1);box-shadow:0 30px 90px #26192340,inset 0 1px #ffffffd9}.ios-day-sheet:focus{outline:none}.ios-day-sheet.dragging{-webkit-user-select:none;user-select:none;transition:none}.sheet-grabber{cursor:grab;touch-action:none;background:#ffffffe6;flex:none;place-items:center;height:22px;display:grid}.sheet-grabber:active{cursor:grabbing}.sheet-grabber span{background:#4c424938;border-radius:99px;width:40px;height:5px}.ios-day-sheet .day-route-header{padding:.85rem 1.25rem 1rem}.ios-day-sheet .day-route-header h1{font-size:1.5rem}.ios-day-sheet .day-route-content{overscroll-behavior:contain;padding:1rem 1.1rem calc(1.5rem + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;flex:1;overflow:auto}@starting-style{.ios-sheet-backdrop{opacity:0}.ios-day-sheet{opacity:0;transform:translateY(28px)scale(.985)}}@media(hover:hover)and (pointer:fine){.day-back:hover{color:#af5b83;transform:translate(-2px)}.ios-close:hover{background:#766a732e}}@media(max-width:620px){.ios-sheet-backdrop{-webkit-backdrop-filter:blur(8px)saturate(1.1);backdrop-filter:blur(8px)saturate(1.1);align-items:flex-end;padding:0}.ios-day-sheet{border-width:1px 0 0;border-radius:28px 28px 0 0;width:100%;height:min(92dvh,900px)}.ios-day-sheet .day-route-header{align-items:flex-start;padding:.7rem 1rem .9rem}.ios-day-sheet .day-route-header h1{padding-right:.25rem;font-size:1.35rem}.ios-day-sheet .day-route-header p{font-size:.76rem}.ios-day-sheet .day-route-content{padding:.75rem .75rem calc(5.8rem + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.ios-sheet-backdrop{transition:opacity .12s}.ios-day-sheet{transition:opacity .12s;transform:none}@starting-style{.ios-day-sheet{opacity:0;transform:none}}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero-cat,.loading-cat,.cat-tail{animation:none}}.punishment-card{background:linear-gradient(145deg,#fffaf6,#fffdfb);border:1px solid #ead8cf;border-radius:23px;margin-top:1.5rem;padding:1.2rem;box-shadow:0 14px 35px #5c413012}.punishment-heading{align-items:flex-start;gap:.8rem;display:flex}.punishment-heading>span{color:#a86426;background:#fff0df;border-radius:14px;flex:none;place-items:center;width:42px;height:42px;display:grid}.punishment-heading h2{margin:.2rem 0;font-size:1.2rem}.punishment-heading p{color:var(--muted);margin:0;font-size:.84rem}.punishment-list{gap:.6rem;margin-top:1rem;display:grid}.punishment-list article{background:#ffffffe0;border:1px solid #eadfd8;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;min-height:82px;padding:.8rem;display:grid}.punishment-list article.completed{opacity:.72;background:#fbfaf9}.punishment-status{color:#a86426;background:#fff0df;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.punishment-list article.completed .punishment-status{color:#fff;background:#76a991}.punishment-list article>div{gap:.14rem;min-width:0;display:grid}.punishment-list small{color:#9b704b;text-transform:uppercase;letter-spacing:.05em;font-size:.64rem;font-weight:800}.punishment-list strong{font-size:.92rem}.punishment-list article.completed strong{text-decoration:line-through}.punishment-list p{color:var(--muted);margin:0;font-size:.78rem}.punishment-list em{color:#618371;font-size:.68rem;font-style:normal;font-weight:700}.punishment-list button{color:#945f33;cursor:pointer;background:#fff;border:1px solid #e2c7b5;border-radius:12px;justify-content:center;align-items:center;gap:.35rem;min-width:94px;min-height:38px;font-size:.75rem;font-weight:800;display:inline-flex}.punishment-list button:disabled{opacity:.6;cursor:wait}@media(max-width:620px){.punishment-card{border-radius:19px;padding:.9rem}.punishment-list article{grid-template-columns:auto 1fr}.punishment-list article>button{grid-column:2;justify-self:start}.punishment-heading>span{width:36px;height:36px}}.lesson-card.personal{--subject:#e0a35c;background:linear-gradient(145deg,#fffdf8,#fff9ef)}.subject-badge.personal{color:#96601f;background:#fff3dc}.calendar-overview{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(250px,1.35fr);gap:.75rem;margin-top:1.5rem;display:grid}.calendar-overview>div,.calendar-overview>button{border:1px solid var(--line);background:#ffffffe6;border-radius:19px;align-items:center;gap:.75rem;min-width:0;min-height:76px;padding:.85rem 1rem;display:flex;box-shadow:0 9px 25px #58394e0d}.overview-icon{border-radius:13px;flex:none;place-items:center;width:40px;height:40px;display:grid}.overview-icon.pink{color:#b95882;background:#fff0f6}.overview-icon.blue{color:#397caf;background:#edf7ff}.overview-icon.lavender{color:#7655aa;background:#f3edff}.calendar-overview p{min-width:0;margin:0;display:grid}.calendar-overview p strong{font-family:Quicksand;font-size:1.03rem}.calendar-overview p small{color:var(--muted);font-size:.72rem}.calendar-overview>button{color:#584f61;text-align:left;cursor:pointer;transition:transform .14s var(--ease-out),border-color .18s ease,background-color .18s ease}.calendar-overview>button:disabled{cursor:default;opacity:.65}.calendar-overview>button>span{flex:1;min-width:0;display:grid}.calendar-overview>button small{color:#ad6687;text-transform:uppercase;letter-spacing:.07em;font-size:.65rem;font-weight:800}.calendar-overview>button strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.calendar-toolbar{grid-template-columns:auto 1fr auto;padding:.4rem .25rem 1.1rem}.month-nav{gap:.4rem;display:flex}.month-title{text-align:center}.month-title span{color:#a495a0;text-transform:uppercase;letter-spacing:.09em;font-size:.65rem;font-weight:800;display:block}.calendar-toolbar .month-title h2{margin-top:.15rem}.days{align-items:stretch}.days button{aspect-ratio:auto;flex-direction:column;min-height:128px;padding:.55rem;display:flex;overflow:hidden}.day-top{align-items:center;gap:.35rem;width:100%;min-height:24px;display:flex}.today-label{color:#b8537c;text-transform:uppercase;background:#ffeaf2;border-radius:999px;padding:.18rem .38rem;font-size:.58rem;font-weight:800}.day-complete{color:#5d9c83;place-items:center;margin-left:auto;display:grid;position:static}.event-stack{gap:3px;width:100%;margin-top:.35rem;display:grid}.calendar-event{color:#5b5461;text-align:left;background:#f7f2ff;border-radius:7px;grid-template-columns:5px auto minmax(0,1fr) auto;align-items:center;gap:.3rem;min-width:0;min-height:24px;padding:.28rem .35rem;display:grid}.calendar-event.maths{background:#edf7ff}.calendar-event.literacy{background:#fff0f6}.calendar-event.personal{background:#fff3df}.calendar-event i{background:var(--lavender);border-radius:99px;width:5px;height:14px}.calendar-event.maths i{background:var(--blue)}.calendar-event.literacy i{background:var(--pink)}.calendar-event.personal i{background:#dea059}.calendar-event b{text-transform:uppercase;letter-spacing:.04em;font-size:.58rem}.calendar-event em{text-overflow:ellipsis;white-space:nowrap;color:#7e7480;min-width:0;font-size:.62rem;font-style:normal;overflow:hidden}.calendar-event.completed{opacity:.66}.calendar-event.completed em{text-decoration:line-through}.more-events{color:#8a7c87;padding-left:.35rem;font-size:.62rem;font-weight:700}.calendar-legend i.personal{background:#dea059}.day-panel{width:min(680px,94vw)}.day-panel>header p{color:var(--muted);margin:.35rem 0 0;font-size:.8rem}.day-panel-content{padding:1rem 1.2rem 1.5rem}.day-agenda{border:1px solid var(--line);background:#fff;border-radius:18px;margin-bottom:1rem;overflow:hidden}.day-agenda>div{border-top:1px solid #f2e9ee;align-items:center;gap:.7rem;min-height:58px;padding:.65rem .8rem;display:flex}.day-agenda>div:first-child{border-top:0}.day-agenda>div>span{color:#7556a6;background:#f2edff;border-radius:11px;flex:none;place-items:center;width:34px;height:34px;display:grid}.day-agenda>div>span.maths{color:#397caf;background:#edf7ff}.day-agenda>div>span.literacy{color:#b95882;background:#fff0f6}.day-agenda>div>span.personal{color:#986222;background:#fff3df}.day-agenda p{flex:1;min-width:0;margin:0;display:grid}.day-agenda small{color:#9a8d97;text-transform:uppercase;letter-spacing:.04em;font-size:.67rem}.day-agenda strong{text-overflow:ellipsis;white-space:nowrap;font-size:.83rem;overflow:hidden}.day-agenda>div>svg{color:#5d9c83}.day-lessons{gap:1rem;display:grid}@media(hover:hover)and (pointer:fine){.calendar-overview>button:not(:disabled):hover{background:#fff9fc;border-color:#dbc8d3;transform:translateY(-1px)}}@media(max-width:1150px){.calendar-overview{grid-template-columns:repeat(3,1fr)}.calendar-overview>button{grid-column:1/-1}.calendar-event em{display:none}.calendar-event{grid-template-columns:5px 1fr auto}}@media(max-width:850px){.calendar-overview{grid-template-columns:repeat(3,1fr)}.days button{min-height:105px}.calendar-event em{display:block}.calendar-event{grid-template-columns:5px auto minmax(0,1fr) auto}}@media(max-width:620px){.calendar-overview{grid-template-columns:repeat(2,1fr);gap:.45rem}.calendar-overview>div{min-height:67px;padding:.65rem}.calendar-overview>div:nth-child(3){grid-column:1/-1}.calendar-overview>button{min-height:64px;padding:.7rem .8rem}.overview-icon{width:34px;height:34px}.calendar-toolbar{grid-template-columns:auto 1fr}.calendar-toolbar .today-button{grid-area:2/1/auto/-1}.month-title{text-align:right}.days button{min-height:62px;padding:.3rem}.day-top{min-height:18px}.today-label{display:none}.event-stack{flex-wrap:wrap;gap:2px;margin-top:auto;display:flex}.calendar-event{border-radius:99px;width:8px;height:8px;min-height:8px;padding:0;display:block}.calendar-event b,.calendar-event em,.calendar-event svg,.calendar-event i{display:none}.calendar-event.maths{background:var(--blue)}.calendar-event.literacy{background:var(--pink)}.calendar-event.personal{background:#dea059}.more-events{padding:0;font-size:.54rem}.day-panel{width:100%}.day-panel-content{padding:.7rem}.day-agenda strong{font-size:.78rem}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
