:root{--ink:#132b27;--ink-soft:#4d625e;--paper:#f4f2e9;--panel:#fffdf7;--line:#d9ddd2;--sage:#dce8df;--green:#1f6f5b;--amber:#d58d36;--amber-pale:#fff0d3;--blue:#557da1;--coral:#cf725f;--purple:#816b9b;--shadow:0 14px 35px #1e362f12}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--ink);font-synthesis:none;background:#c7d0c8;font-family:Avenir Next,Avenir,Segoe UI,system-ui,sans-serif}.dashboard-shell{background:radial-gradient(circle at 9% 4%,#ffffffb8,#0000 28%),#c7d0c8;place-items:center;min-height:100vh;padding:1.8vh 1.5vw;display:grid}.dashboard{background:var(--paper);border:1px solid #18362e1f;border-radius:30px;grid-template-rows:190px minmax(0,1fr) 68px;width:min(100%,1920px);height:min(96.4vh,1080px);min-height:700px;display:grid;overflow:hidden;box-shadow:0 26px 70px #20373138}.topbar{border-bottom:1px solid var(--line);background:#fffdf7bf;grid-template-columns:1.15fr .78fr 1fr;align-items:stretch;display:grid}.date-block{grid-template-rows:auto 1fr;grid-template-columns:auto 1fr;align-items:end;column-gap:18px;padding:28px 34px 24px 42px;display:grid}.family-label{color:var(--green);letter-spacing:.06em;text-transform:uppercase;grid-column:1/-1;align-self:start;align-items:center;gap:12px;font-size:17px;font-weight:800;display:flex}.preview-badge{background:var(--amber-pale);color:#89551f;border-radius:999px;padding:5px 9px;font-size:.72em;line-height:1;text-decoration:none}.preview-badge:focus-visible{outline:3px solid var(--green);outline-offset:2px}.date-block h1{letter-spacing:-.045em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(54px,4.2vw,78px);font-weight:500;line-height:.95}.full-date{color:var(--ink-soft);white-space:nowrap;font-size:clamp(22px,1.75vw,31px);font-weight:650}.date-details{white-space:nowrap;align-items:baseline;gap:18px;padding-bottom:6px;display:flex}.dashboard-clock{color:var(--green);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:clamp(19px,1.45vw,26px);font-weight:800}.washing-card{border-left:1px solid var(--line);border-right:1px solid var(--line);grid-template-columns:1fr auto;align-content:center;gap:2px 18px;margin:22px 0;padding:15px 28px;display:grid}.section-eyebrow{color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;font-size:14px;font-weight:850;line-height:1.2}.washing-card .section-eyebrow{grid-column:1/-1;margin-bottom:7px}.washing-line{align-items:center;gap:10px;font-size:29px;display:flex}.status-dot{background:var(--amber);border-radius:50%;width:15px;height:15px;box-shadow:0 0 0 6px #d58d3626}.washing-card--great .status-dot{background:#3f936a}.washing-card--poor .status-dot{background:#c95e50}.washing-detail{color:var(--ink-soft);font-size:17px;font-weight:600}.recommendation{background:var(--amber-pale);color:#89551f;letter-spacing:.05em;border-radius:999px;grid-area:2/2/4;align-self:center;padding:8px 12px;font-size:14px;font-weight:900}.weather-card{grid-template-columns:auto auto 1fr;align-items:center;gap:14px;padding:24px 40px 24px 28px;display:grid}.weather-icon{filter:saturate(.85);font-size:clamp(46px,3.4vw,66px)}.temperature{letter-spacing:-.06em;font-family:Georgia,serif;font-size:clamp(52px,4vw,72px)}.weather-copy{flex-direction:column;gap:4px;font-size:18px;line-height:1.15;display:flex}.weather-copy span{color:var(--ink-soft);font-size:16px;font-weight:600}.content-grid{grid-template-rows:minmax(0,1fr) 310px;grid-template-columns:minmax(0,1.45fr) minmax(360px,.75fr);gap:20px;min-height:0;padding:22px 26px;display:grid}.panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px}.section-heading-row{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.section-heading-row h2,.todo-title-strip h2{letter-spacing:-.035em;margin:3px 0 0;font-family:Georgia,Times New Roman,serif;font-size:38px;font-weight:500;line-height:1}.schedule-card{min-height:0;padding:24px 28px 18px}.event-count{background:var(--sage);color:var(--green);border-radius:999px;padding:7px 12px;font-size:14px;font-weight:800}.timeline{margin-top:16px}.timeline-row{grid-template-columns:74px 18px 1fr;gap:14px;min-height:72px;display:grid}.timeline-row time{color:var(--green);font-variant-numeric:tabular-nums;padding-top:4px;font-size:19px;font-weight:850}.timeline-marker{background:var(--green);width:11px;height:11px;box-shadow:0 0 0 5px var(--sage);border-radius:50%;margin-top:8px;position:relative}.timeline-marker:after{content:"";background:var(--line);width:1px;height:49px;position:absolute;top:15px;left:5px}.timeline-row:last-child .timeline-marker:after{display:none}.timeline-copy{grid-template-columns:auto 1fr;align-content:start;column-gap:10px;padding-bottom:10px;display:grid}.event-people{font-size:21px;font-weight:850}.event-title{padding-top:2px;font-size:19px;font-weight:600}.event-meta{color:var(--ink-soft);grid-column:1/-1;margin-top:3px;font-size:15px;font-weight:600}.empty-state{color:var(--ink-soft);font-size:20px}.household-column{grid-template-rows:minmax(0,1fr) 105px;gap:20px;min-height:0;display:grid}.mabel-card{padding:22px 24px 18px}.compact-heading h2{font-size:34px}.coverage{white-space:nowrap;border-radius:999px;padding:7px 11px;font-size:13px;font-weight:850}.coverage--complete{color:#246746;background:#dcecdf}.coverage--gap{background:var(--amber-pale);color:#8c541d}.walks{gap:10px;margin-top:16px;display:grid}.walk-row{background:#f1f4ed;border-radius:14px;grid-template-columns:39px 1fr;align-items:center;gap:12px;padding:10px 12px;display:grid}.walk-row--missing{background:var(--amber-pale);color:#754517}.walk-icon{width:34px;height:34px;color:var(--green);background:#fff;border-radius:50%;place-items:center;font-size:19px;font-weight:900;display:grid;box-shadow:0 3px 10px #1c3c3214}.walk-period{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:850}.walk-assignment{margin-top:1px;font-size:18px}.walk-warning{margin-top:1px;font-size:17px;font-weight:850}.dinner-card{background:var(--ink);color:#fffdf7;border-color:var(--ink);grid-template-columns:48px 1fr;align-items:center;gap:14px;padding:17px 23px;display:grid}.dinner-icon{background:#ffffff1a;border-radius:14px;place-items:center;width:44px;height:44px;font-size:24px;display:grid}.dinner-card .section-eyebrow{color:#b7c9c3}.dinner-card h2{margin:2px 0 0;font-family:Georgia,serif;font-size:27px;font-weight:500}.todo-section{grid-column:1/-1;grid-template-columns:200px 1fr;display:grid;overflow:hidden}.todo-title-strip{background:var(--sage);align-items:center;padding:22px;display:flex}.todo-title-strip h2{font-size:32px}.todo-hint{color:var(--ink-soft);margin-top:9px;font-size:13px;font-weight:700;line-height:1.25}.todo-sync{color:var(--green);margin-top:5px;font-size:11px;font-weight:800;line-height:1.2}.todo-sync--local-only{color:#89551f}.todo-grid{grid-template-columns:.72fr .82fr 1.23fr 1.23fr;min-width:0;display:grid}.person-column{border-left:1px solid var(--line);padding:20px 22px}.person-column h3{text-transform:uppercase;letter-spacing:.07em;align-items:center;gap:10px;margin:0 0 15px;font-size:20px;display:flex}.todo-count{color:var(--ink-soft);letter-spacing:0;margin-left:auto;font-size:13px;font-weight:850}.person-dot{background:var(--green);border-radius:50%;width:11px;height:11px}.person-dot--hannah{background:var(--coral)}.person-dot--thea{background:var(--purple)}.person-dot--juno{background:var(--blue)}.person-column ul{gap:12px;margin:0;padding:0;list-style:none;display:grid}.person-column li{min-width:0;font-size:18px;font-weight:650;line-height:1.15}.person-column .todo-list--compact{row-gap:7px}.person-column .todo-list--dense{columns:2;column-gap:16px;display:block}.todo-list--compact li{min-width:0;font-size:17px}.todo-list--dense li{break-inside:avoid-column;margin-bottom:7px}.todo-button{width:100%;min-width:0;color:inherit;font:inherit;font-weight:inherit;line-height:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:flex-start;gap:10px;margin:-4px;padding:4px;transition:background-color .12s,color .12s,opacity .12s;display:flex}.todo-button:disabled{cursor:default}.todo-button:not(:disabled):hover{background:#1f6f5b14}.todo-button:focus-visible{outline:3px solid var(--green);outline-offset:2px;background:#1f6f5b1a}.checkbox{color:#fff;background:#fff;border:2px solid #90a49e;border-radius:5px;flex:0 0 20px;place-items:center;width:20px;height:20px;margin-top:0;font-size:14px;font-weight:950;line-height:1;display:grid}.todo-button--completed{color:#75847f}.todo-button--completed .checkbox{border-color:var(--green);background:var(--green)}.todo-button--completed .todo-label{text-decoration:line-through;text-decoration-thickness:2px}.todo-empty{color:var(--ink-soft)}.tomorrow-strip{border-top:1px solid var(--line);color:var(--ink-soft);background:#e8ebe2;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;padding:0 36px 0 42px;font-size:17px;font-weight:650;display:grid}.tomorrow-strip strong{color:var(--ink);letter-spacing:.1em;text-transform:uppercase;font-size:15px}.tomorrow-summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tomorrow-weather{color:var(--ink);font-size:18px;font-weight:800}.tomorrow-actions{white-space:nowrap;align-items:center;gap:20px;display:flex}.school-lunch-link{background:var(--panel);color:var(--green);border-radius:999px;padding:9px 13px;font-size:14px;font-weight:850;text-decoration:none}.school-lunch-link:hover{background:var(--sage)}.school-lunch-link:focus-visible{outline:3px solid var(--green);outline-offset:2px}.maths-dashboard-link{color:#145b49;background:#e0f2e7;border:1px solid #1f6f5b2e}.maths-dashboard-link:hover{background:#cfebda}.disney-dashboard-link{color:#66438d;background:#f2eaff;border:1px solid #6f4d9933}.disney-dashboard-link:hover{background:#e8d9fb}.calendar-dashboard-link{color:#365f82;background:#e6eef5;border:1px solid #557da13d}.calendar-dashboard-link:hover{background:#d8e6f1}.plans-dashboard-link{color:#355f58;background:#edf1ec;border:1px solid #3e605b33}.plans-dashboard-link:hover{background:#dde7e1}.dancing-dashboard-link{color:#69547e;background:#eee8f4;border:1px solid #816b9b38}.dancing-dashboard-link:hover{background:#e2d8ec}.buses-dashboard-link{color:#7b4a13;background:#fff0d3;border:1px solid #d58d3647}.buses-dashboard-link>span{color:#272215;background:#efb94e;border-radius:5px;place-items:center;min-width:24px;height:21px;padding-inline:4px;font-size:10px;line-height:1;display:inline-grid}.buses-dashboard-link:hover{background:#f9e3b8}.dancing-shell{background:radial-gradient(circle at 12% 3%,#ffffffb8,#0000 29%),radial-gradient(circle at 92% 88%,#644b7e2e,#0000 32%),linear-gradient(145deg,#a9b8ae,#c9d0c6 50%,#a99caf);place-items:center;min-height:100vh;padding:18px;display:grid;overflow:hidden}.dancing-page{background:#f5f2e8;border:1px solid #30273929;border-radius:30px;grid-template-rows:82px minmax(0,1fr) 76px;width:min(100%,1820px);height:min(900px,100vh - 36px);min-height:700px;display:grid;position:relative;overflow:hidden;box-shadow:0 28px 78px #261f2d3d}.dancing-page a{-webkit-tap-highlight-color:transparent}.dancing-page a:focus-visible{outline-offset:3px;outline:4px solid #74558d}.dancing-header{background:#fffdf7d1;border-bottom:1px solid #d8d7cd;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:12px 28px;display:grid}.dancing-back,.dancing-edit-link{color:#654e78;border-radius:999px;align-items:center;width:fit-content;min-height:46px;padding:11px 15px;font-size:15px;font-weight:850;text-decoration:none;display:inline-flex}.dancing-back:hover,.dancing-edit-link:hover{background:#eee8f4}.dancing-edit-link{background:#f2edf6;border:1px solid #69547e33;justify-self:end}.dancing-heading{align-items:center;gap:12px;display:flex}.dancing-heading>span{color:#674c7c;background:#e8ddf0;border-radius:50%;place-items:center;width:47px;height:47px;font-family:Georgia,serif;font-size:25px;display:grid}.dancing-heading>div{line-height:1;display:grid}.dancing-heading small{color:#806f8c;letter-spacing:.13em;text-transform:uppercase;font-size:10px;font-weight:900}.dancing-heading strong{margin-top:3px;font-family:Georgia,Times New Roman,serif;font-size:29px;font-weight:500}.dancing-saved{z-index:2;color:#246746;background:#dcecdf;border-radius:999px;padding:9px 16px;font-size:14px;font-weight:850;position:absolute;top:96px;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #1f4a361f}.dancing-note-card{background:#fffdf7;border:1px solid #d8d7cd;border-radius:24px;grid-template-columns:260px minmax(0,1fr);min-height:0;margin:24px 30px 18px;display:grid;overflow:hidden;box-shadow:0 15px 38px #2c263214}.dancing-note-meta{background:#f0eaf3;border-right:1px solid #ddd7e2;flex-direction:column;justify-content:space-between;gap:24px;padding:34px 28px;display:flex}.dancing-note-meta span{color:#745d84;letter-spacing:.1em;text-transform:uppercase;font-size:13px;font-weight:900}.dancing-note-meta h1{letter-spacing:-.025em;margin:10px 0 0;font-family:Georgia,Times New Roman,serif;font-size:34px;font-weight:500;line-height:1.12}.dancing-note-weekday{color:#fff;letter-spacing:.08em;text-transform:uppercase;background:#735889;border-radius:50%;place-items:center;width:84px;height:84px;font-size:22px;font-weight:900;display:grid;box-shadow:0 10px 26px #4b325e2e}.dancing-note-copy{color:#1f302d;white-space:pre-wrap;min-height:0;padding:40px 52px 48px;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,2.05vw,38px);line-height:1.5;overflow:auto}.dancing-page--saved .dancing-note-copy{padding-top:68px}.dancing-note-navigation{grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:10px 30px 18px;display:grid}.dancing-note-navigation>a,.dancing-note-navigation>span{color:#654e78;background:#fffdf7;border:1px solid #d2c9d9;border-radius:14px;align-items:center;min-height:48px;padding:12px 18px;font-size:15px;font-weight:850;text-decoration:none;display:inline-flex}.dancing-note-navigation>a:last-child,.dancing-note-navigation>span:last-child{justify-self:end}.dancing-note-navigation>span[aria-disabled=true]{opacity:.36}.dancing-note-navigation>div{color:#756d77;align-items:baseline;gap:5px;font-size:13px;display:flex}.dancing-note-navigation>div strong{color:#413648;font-size:19px}.dancing-empty-state{text-align:center;grid-row:2/4;place-content:center;justify-items:center;padding:50px;display:grid}.dancing-empty-state>span{color:#674c7c;background:#e9dff0;border-radius:50%;place-items:center;width:100px;height:100px;font-family:Georgia,serif;font-size:50px;display:grid}.dancing-empty-state h1{letter-spacing:-.035em;margin:25px 0 8px;font-family:Georgia,Times New Roman,serif;font-size:56px;font-weight:500}.dancing-empty-state p{color:#66736f;margin:0;font-size:19px;font-weight:650}.dancing-empty-state a{color:#fff;background:#684e7c;border-radius:14px;margin-top:25px;padding:14px 20px;font-weight:850;text-decoration:none}.dancing-editor-shell{background:radial-gradient(circle at 10% 0,#fffc,#0000 30%),#d5d8cf;min-height:100vh;padding:28px 18px}.dancing-editor-page{background:#fffdf7;border:1px solid #30273926;border-radius:26px;width:min(100%,820px);margin:0 auto;overflow:hidden;box-shadow:0 22px 60px #261f2d29}.dancing-editor-page>header{background:#f3efe5;border-bottom:1px solid #dfddd4;justify-content:space-between;align-items:center;padding:16px 22px;display:flex}.dancing-editor-page>header a{color:#654e78;font-weight:850;text-decoration:none}.dancing-editor-page>header span{color:#786e78;letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:900}.dancing-editor-intro{align-items:center;gap:18px;padding:28px 34px 20px;display:flex}.dancing-editor-intro>span{color:#674c7c;background:#e9dff0;border-radius:50%;flex:0 0 64px;place-items:center;width:64px;height:64px;font-family:Georgia,serif;font-size:34px;display:grid}.dancing-editor-intro p{color:#725d80;letter-spacing:.08em;text-transform:uppercase;margin:0 0 3px;font-size:12px;font-weight:900}.dancing-editor-intro h1{letter-spacing:-.035em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(35px,6vw,50px);font-weight:500}.dancing-editor-error{color:#873e31;background:#fff0ec;border:1px solid #e7bcb4;border-radius:12px;margin:0 34px 18px;padding:12px 15px;font-weight:750}.dancing-editor-form{grid-template-columns:1fr 1fr;gap:20px;padding:10px 34px 36px;display:grid}.dancing-editor-form label{align-content:start;display:grid}.dancing-editor-form label>span{font-size:16px;font-weight:850}.dancing-editor-form label>small{color:#69746f;margin:3px 0 8px;font-size:13px}.dancing-editor-form input,.dancing-editor-form textarea{color:#1d322d;width:100%;font:inherit;background:#fff;border:1px solid #bfc7c0;border-radius:12px;font-size:17px}.dancing-editor-form input{min-height:50px;padding:11px 13px}.dancing-editor-form textarea{resize:vertical;min-height:300px;padding:15px;line-height:1.5}.dancing-editor-form input:focus,.dancing-editor-form textarea:focus{border-color:#705386;outline:3px solid #70538633}.dancing-editor-notes{grid-column:1/-1}.dancing-editor-form button{color:#fff;cursor:pointer;min-height:54px;font:inherit;background:#654e78;border:0;border-radius:14px;align-self:end;font-size:16px;font-weight:900}.dancing-editor-form button:hover{background:#563f69}.dancing-editor-form button:focus-visible{outline-offset:3px;outline:4px solid #bca4cd}@media (min-width:801px) and (max-height:800px){.dancing-shell{padding:10px}.dancing-page{grid-template-rows:70px minmax(0,1fr) 64px;min-height:calc(100vh - 20px)}.dancing-header{padding-block:8px}.dancing-note-card{grid-template-columns:225px minmax(0,1fr);margin:16px 22px 12px}.dancing-note-meta{padding:24px 22px}.dancing-note-meta h1{font-size:29px}.dancing-note-weekday{width:68px;height:68px;font-size:18px}.dancing-note-copy{padding:28px 38px 36px;font-size:clamp(25px,1.9vw,32px)}.dancing-page--saved .dancing-note-copy{padding-top:54px}.dancing-note-navigation{padding:7px 22px 11px}}@media (max-width:800px){.dancing-shell{place-items:start;padding:0;overflow:auto}.dancing-page{border:0;border-radius:0;grid-template-rows:auto 1fr auto;height:auto;min-height:100vh;overflow:visible}.dancing-header{grid-template-columns:1fr auto;padding:10px 13px}.dancing-heading{grid-area:1/2}.dancing-heading>span{width:39px;height:39px;font-size:21px}.dancing-heading strong{font-size:21px}.dancing-edit-link{grid-area:2/1/auto/-1;justify-self:center}.dancing-note-card{grid-template-columns:1fr;margin:14px;overflow:visible}.dancing-note-meta{border-bottom:1px solid #ddd7e2;border-right:0;flex-direction:row;align-items:center;padding:22px}.dancing-note-meta h1{font-size:29px}.dancing-note-weekday{width:64px;height:64px;font-size:17px}.dancing-note-copy{padding:28px 24px 36px;font-size:25px;overflow:visible}.dancing-note-navigation{grid-template-columns:1fr 1fr;padding:8px 14px 18px}.dancing-note-navigation>div{display:none}.dancing-note-navigation>a,.dancing-note-navigation>span{font-size:13px}.dancing-empty-state{min-height:calc(100vh - 120px);padding:35px 22px}.dancing-empty-state h1{font-size:43px}.dancing-editor-shell{padding:0}.dancing-editor-page{border:0;border-radius:0;min-height:100vh}.dancing-editor-intro{padding:24px 20px 16px}.dancing-editor-intro>span{flex-basis:54px;width:54px;height:54px;font-size:28px}.dancing-editor-form{grid-template-columns:1fr;padding:10px 20px 30px}.dancing-editor-notes{grid-column:1}.dancing-editor-form textarea{min-height:260px}}.bus-shell{background:radial-gradient(circle at 10% 2%,#ffffffbd,#0000 28%),linear-gradient(145deg,#9eafa8,#c3ccc4 50%,#8da29b);place-items:center;min-height:100vh;padding:18px;display:grid;overflow:hidden}.bus-page{background:#f5f2e8;border:1px solid #132b2729;border-radius:30px;grid-template-rows:84px minmax(0,1fr);width:min(100%,1820px);height:min(900px,100vh - 36px);min-height:700px;display:grid;overflow:hidden;box-shadow:0 28px 78px #19302a3d}.bus-page button,.bus-page a{-webkit-tap-highlight-color:transparent}.bus-page button:focus-visible,.bus-page a:focus-visible{outline-offset:3px;outline:4px solid #b4600e}.bus-page-header{background:#fffdf7d1;border-bottom:1px solid #d4dbd2;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:14px 30px;display:grid}.bus-back{width:fit-content;min-height:46px;color:var(--green);border-radius:999px;align-items:center;padding:11px 15px;font-size:15px;font-weight:850;text-decoration:none;display:inline-flex}.bus-back:hover{background:var(--sage)}.bus-page-title{color:var(--ink);align-items:center;gap:11px;font-family:Georgia,Times New Roman,serif;font-size:31px;display:flex}.bus-page-title>span{color:#54a27f;filter:drop-shadow(0 0 7px #54a27f66);font-family:inherit;font-size:14px}.bus-stop-label{color:#536760;background:#eef2ec;border:1px solid #d6ddd3;border-radius:999px;justify-self:end;padding:9px 13px;font-size:13px;font-weight:850}.bus-page-content{grid-template-rows:auto minmax(0,1fr) auto;gap:22px;min-height:0;padding:28px 32px 24px;display:grid}.bus-board-heading{justify-content:space-between;align-items:center;gap:28px;display:flex}.bus-eyebrow{color:var(--green);letter-spacing:.14em;text-transform:uppercase;font-size:13px;font-weight:900}.bus-board-heading h2,.bus-message-card h2,.bus-loading h2{letter-spacing:-.045em;margin:3px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(43px,3.4vw,61px);font-weight:500;line-height:1}.bus-direction-badge{color:#255f4e;background:#e7f0ea;border:1px solid #cbdcd2;border-radius:16px;align-items:center;gap:13px;min-width:245px;padding:11px 17px;display:flex}.bus-direction-badge>span{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:38px;height:38px;font-size:22px;font-weight:900;display:grid}.bus-direction-badge div{gap:1px;display:grid}.bus-direction-badge small{color:#57736b;letter-spacing:.11em;text-transform:uppercase;font-size:10px;font-weight:900}.bus-direction-badge strong{font-size:17px}.bus-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;min-height:0;display:grid}.bus-service-card{background:#fffdf7;border:1px solid #cdd8d1;border-radius:24px;grid-template-rows:105px minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden;box-shadow:0 16px 38px #1e362f17}.bus-service-card>header{color:#fff;background:#173e34;align-items:center;gap:17px;padding:16px 22px;display:flex}.bus-service-card--express>header{color:#fff8df;background:#3d351f}.bus-route-number{color:#211e16;font-variant-numeric:tabular-nums;letter-spacing:-.045em;background:#f1be51;border-radius:13px;place-items:center;min-width:94px;height:67px;padding-inline:10px;font-size:43px;font-weight:950;line-height:1;display:grid;box-shadow:inset 0 -3px #5b3c0024}.bus-service-card>header>div:last-child{gap:3px;display:grid}.bus-service-card>header span{color:#ffffffa8;letter-spacing:.11em;text-transform:uppercase;font-size:11px;font-weight:900}.bus-service-card>header strong{font-family:Georgia,serif;font-size:26px;font-weight:500}.bus-departure-list{grid-template-rows:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.bus-departure-row{border-top:1px solid #e1e5dc;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;min-width:0;padding:14px 21px;display:grid}.bus-departure-row:first-child{background:#f5f8f2;border-top:0}.bus-destination{gap:5px;min-width:0;display:grid}.bus-destination strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:clamp(19px,1.45vw,25px);line-height:1.1;overflow:hidden}.bus-destination span{color:var(--green);font-size:12px;font-weight:850}.bus-departure-time{justify-items:end;min-width:118px;line-height:1;display:grid}.bus-departure-time strong{color:var(--green);letter-spacing:-.045em;white-space:nowrap;font-family:Georgia,Times New Roman,serif;font-size:clamp(38px,3.1vw,55px);font-weight:500}.bus-service-card--express .bus-departure-time strong{color:#986220}.bus-departure-time time{color:#6d7d78;font-variant-numeric:tabular-nums;margin-top:4px;font-size:13px;font-weight:850}.bus-no-departures{color:#687872;justify-content:center;align-items:center;gap:19px;padding:35px;display:flex}.bus-no-departures>span{background:#edf0e9;border-radius:50%;place-items:center;width:62px;height:62px;font-size:31px;display:grid}.bus-no-departures strong{color:var(--ink);font-size:23px}.bus-no-departures p{margin:5px 0 0;font-size:15px;font-weight:650}.bus-board-footer{color:#5d6f69;align-items:center;gap:22px;min-height:60px;display:flex}.bus-update-status{align-items:center;gap:12px;margin-right:auto;display:flex}.bus-update-status>div{gap:2px;display:grid}.bus-update-status strong{color:var(--ink);font-size:14px}.bus-update-status span{font-size:12px;font-weight:700}.bus-live-dot{background:#4b9675;border-radius:50%;width:13px;height:13px;box-shadow:0 0 0 6px #4b967521}.bus-live-dot--error{background:var(--coral);box-shadow:0 0 0 6px #cf725f21}.bus-board-footer>a{color:var(--green);font-size:12px;font-weight:850}.bus-refresh-button,.bus-message-card button{background:var(--green);color:#fff;min-height:46px;font:inherit;cursor:pointer;border:0;border-radius:13px;padding:11px 17px;font-size:14px;font-weight:900}.bus-refresh-button:hover,.bus-message-card button:hover{background:#185b4a}.bus-message-card,.bus-loading{grid-row:1/-1;place-self:center}.bus-message-card{width:min(780px,100%);box-shadow:var(--shadow);background:#fffdf7;border:1px solid #d4ddd4;border-radius:24px;grid-template-columns:76px 1fr;align-items:center;gap:25px;padding:42px;display:grid}.bus-message-icon{background:var(--amber-pale);color:#89551f;border-radius:22px;place-items:center;width:76px;height:76px;font-size:35px;font-weight:950;display:grid}.bus-message-card h2{font-size:clamp(37px,3vw,51px)}.bus-message-card p,.bus-loading p{color:var(--ink-soft);margin:12px 0 0;font-size:18px;font-weight:650}.bus-message-card code{background:#edf0e9;border-radius:5px;padding:2px 6px;font-size:.9em}.bus-message-card button{margin-top:20px}.bus-loading{text-align:center}.bus-loading-wheel{color:var(--green);font-size:74px;line-height:1;animation:1.4s linear infinite bus-loading-spin;display:block}@keyframes bus-loading-spin{to{transform:rotate(360deg)}}@media (min-width:801px) and (max-height:800px){.bus-shell{padding:10px}.bus-page{grid-template-rows:72px minmax(0,1fr);height:calc(100vh - 20px);min-height:0}.bus-page-content{gap:15px;padding:20px 26px 16px}.bus-board-heading h2{font-size:45px}.bus-direction-badge{padding-block:8px}.bus-service-card{grid-template-rows:88px minmax(0,1fr)}.bus-service-card>header{padding:11px 18px}.bus-route-number{min-width:82px;height:59px;font-size:38px}.bus-departure-row{padding-block:9px}.bus-board-footer{min-height:50px}}@media (max-width:800px){.bus-shell{place-items:start;padding:0;overflow:auto}.bus-page{border:0;border-radius:0;grid-template-rows:auto 1fr;height:auto;min-height:100vh;overflow:visible}.bus-page-header{grid-template-columns:1fr auto;padding:12px 14px}.bus-page-title{font-size:24px}.bus-stop-label{grid-column:1/-1;justify-self:center}.bus-page-content{padding:24px 15px;display:block}.bus-board-heading{flex-direction:column;align-items:flex-start}.bus-board-heading h2{font-size:45px}.bus-direction-badge{width:100%;min-width:0;margin-top:18px}.bus-service-grid{grid-template-columns:1fr;margin-top:18px}.bus-service-card{min-height:470px}.bus-board-footer{flex-wrap:wrap;align-items:flex-start;margin-top:22px}.bus-update-status{width:100%}.bus-message-card{grid-template-columns:58px 1fr;margin-top:50px;padding:28px 22px}.bus-message-icon{border-radius:17px;width:58px;height:58px;font-size:27px}.bus-message-card h2{font-size:34px}.bus-loading{margin-top:110px}}@media (prefers-reduced-motion:reduce){.bus-loading-wheel{animation:none}}.calendar-shell{background:radial-gradient(circle at 12% 5%,#ffffffb3,#0000 27%),linear-gradient(145deg,#9eafa8,#bdc8c0 48%,#91a69f);place-items:center;min-height:100vh;padding:18px;display:grid;overflow:hidden}.calendar-page{background:#f6f3e9;border:1px solid #132b2729;border-radius:30px;grid-template-rows:98px 54px 34px minmax(0,1fr);width:min(100%,1820px);height:min(900px,100vh - 36px);min-height:700px;display:grid;position:relative;overflow:hidden;box-shadow:0 28px 78px #19302a3d}.calendar-page a{-webkit-tap-highlight-color:transparent}.calendar-page a:focus-visible{outline-offset:3px;outline:4px solid #a95808}.calendar-header{background:#fffdf7c7;border-bottom:1px solid #d7ddd5;grid-template-columns:1fr auto 1fr;align-items:center;gap:26px;padding:14px 30px;display:grid}.calendar-back{width:fit-content;min-height:44px;color:var(--green);border-radius:999px;align-items:center;padding:11px 15px;font-size:15px;font-weight:850;text-decoration:none;display:inline-flex}.calendar-back:hover{background:var(--sage)}.calendar-heading{text-align:center}.calendar-eyebrow{color:var(--green);letter-spacing:.15em;text-transform:uppercase;font-size:12px;font-weight:900}.calendar-heading h1{letter-spacing:-.045em;margin:2px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,3.2vw,58px);font-weight:500;line-height:.95}.calendar-scope{color:#2b6453;white-space:nowrap;background:#edf4ef;border:1px solid #cddbd2;border-radius:999px;justify-self:end;align-items:center;gap:9px;min-height:42px;padding:10px 14px;font-size:13px;font-weight:850;display:flex}.calendar-scope span{color:#4b9675;font-size:11px}.calendar-page--unavailable .calendar-scope{color:#89551f;background:#fff0d3;border-color:#e4c08b}.calendar-page--unavailable .calendar-scope span{color:#cf725f}.calendar-navigation{background:#e8ebe2;border-bottom:1px solid #d7ddd5;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:0 30px;display:grid}.calendar-navigation a{color:#38564e;border-radius:12px;align-items:center;width:fit-content;min-height:38px;padding:9px 13px;font-size:14px;font-weight:850;text-decoration:none;display:inline-flex}.calendar-navigation a:hover{background:#ffffffb8}.calendar-navigation a:last-child{justify-self:end}.calendar-navigation .calendar-today-link{color:var(--green);background:#fffdf7;border:1px solid #1f6f5b29;justify-self:center}.calendar-weekdays{color:#f5f1e6;background:#203d35;border-bottom:1px solid #cdd5cd;grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekdays span{letter-spacing:.11em;text-transform:uppercase;border-left:1px solid #ffffff1a;place-items:center;font-size:11px;font-weight:900;display:grid}.calendar-weekdays span:first-child{border-left:0}.calendar-grid{background:#cfd7cf;grid-template-rows:repeat(6,minmax(0,1fr));grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;min-height:0;display:grid}.calendar-day{background:#fffdf7;grid-template-rows:auto minmax(0,1fr);align-content:start;min-width:0;min-height:0;padding:7px 9px 6px;display:grid;overflow:hidden}.calendar-day--weekend{background:#f4f3ea}.calendar-day--outside{color:#64746f;background:#e9ebe4}.calendar-day--today{z-index:1;box-shadow:inset 0 0 0 3px var(--green);background:#edf5ee;position:relative}.calendar-day-number{justify-content:space-between;align-items:center;gap:8px;min-height:24px;display:flex}.calendar-day-number time{border-radius:50%;place-items:center;width:27px;height:27px;font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:700;display:grid}.calendar-day--today .calendar-day-number time{background:var(--green);color:#fff}.calendar-day-number span{color:var(--green);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:900}.calendar-day-events{align-content:start;gap:4px;min-height:0;padding-top:5px;display:grid}.calendar-event{border-left:4px solid var(--blue);color:#26475f;background:#e8f0f6;border-radius:6px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;min-width:0;min-height:27px;padding:4px 7px;display:grid;overflow:hidden}.calendar-event time{color:#496d86;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10px;font-weight:900}.calendar-event span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:800;overflow:hidden}.calendar-day-events>a{width:fit-content;color:var(--green);border-radius:5px;padding:2px 5px;font-size:11px;font-weight:900;text-decoration:none}.calendar-day-events>a:hover{background:var(--sage)}.calendar-panel-backdrop{z-index:5;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#132b2761;position:absolute;inset:0}.calendar-day-panel{z-index:6;background:#fffdf7;border:1px solid #132b272e;border-radius:24px;width:min(620px,44%);padding:28px;position:absolute;top:18px;bottom:18px;right:18px;overflow:hidden;box-shadow:0 28px 70px #132b2757}.calendar-day-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:21px;display:flex}.calendar-day-panel h2{letter-spacing:-.035em;margin:4px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(32px,2.4vw,43px);font-weight:500;line-height:1.06}.calendar-panel-close{min-height:42px;color:var(--green);white-space:nowrap;background:#e8ebe2;border-radius:999px;align-items:center;padding:10px 13px;font-size:13px;font-weight:900;text-decoration:none;display:inline-flex}.calendar-panel-close:hover{background:var(--sage)}.calendar-day-agenda{align-content:start;gap:12px;max-height:calc(100% - 98px);padding-top:18px;display:grid;overflow:auto}.calendar-day-agenda article{border:1px solid #d9e3e8;border-left:6px solid var(--blue);background:#f1f6f9;border-radius:14px;grid-template-columns:74px minmax(0,1fr);gap:15px;padding:15px 17px;display:grid}.calendar-day-agenda article>time{color:#3c6a89;font-variant-numeric:tabular-nums;padding-top:2px;font-size:14px;font-weight:900}.calendar-day-agenda h3{color:var(--ink);margin:0;font-size:20px;line-height:1.15}.calendar-day-agenda p{color:var(--ink-soft);margin:5px 0 0;font-size:14px;font-weight:650}@media (min-width:801px) and (max-height:800px){.calendar-shell{padding:10px}.calendar-page{border-radius:24px;grid-template-rows:84px 48px 28px minmax(0,1fr);height:calc(100vh - 20px);min-height:0}.calendar-header{padding:9px 22px}.calendar-heading h1{font-size:42px}.calendar-back{min-height:40px;padding-block:9px}.calendar-scope{min-height:38px;padding-block:8px}.calendar-navigation{padding-inline:22px}.calendar-navigation a{min-height:34px;padding-block:7px}.calendar-weekdays span{font-size:10px}.calendar-day{padding:5px 7px 4px}.calendar-day-number{min-height:21px}.calendar-day-number time{width:23px;height:23px;font-size:16px}.calendar-day-events{gap:2px;padding-top:3px}.calendar-event{min-height:23px;padding-block:2px}.calendar-event span{font-size:11px}.calendar-day-panel{inset-block:12px;padding:22px;right:12px}}@media (max-width:800px){.calendar-shell{place-items:start;padding:0;overflow:auto}.calendar-page{border:0;border-radius:0;width:1050px;height:760px;min-height:760px}.calendar-day-panel{width:min(620px,100vw - 24px)}}.maths-shell{--maths-navy:#142748;--maths-blue:#3e79c7;--maths-coral:#ee705d;--maths-cream:#fbf5e7;--maths-green:#2c8b72;--maths-lime:#d7e869;--maths-purple:#7659ad;background:radial-gradient(circle at 9% 13%,#d7e869db,#0000 18%),radial-gradient(circle at 91% 88%,#ee705dd1,#0000 21%),linear-gradient(145deg,#3e79c7,#7659ad);place-items:center;min-height:100vh;padding:18px;display:grid;position:relative;overflow:hidden}.maths-shell:before,.maths-shell:after{color:#ffffff2e;pointer-events:none;font-family:Georgia,Times New Roman,serif;font-weight:700;position:absolute}.maths-shell:before{content:"×  +  8  =";letter-spacing:.18em;font-size:clamp(48px,6vw,100px);top:3vh;right:3vw;transform:rotate(8deg)}.maths-shell:after{content:"2  5  10  ×";letter-spacing:.14em;font-size:clamp(40px,5vw,82px);bottom:1vh;left:2vw;transform:rotate(-7deg)}.maths-page{z-index:1;background:var(--maths-cream);border:1px solid #1427482e;border-radius:36px;grid-template-rows:76px minmax(0,1fr);width:min(100%,1600px);min-height:min(900px,100vh - 36px);display:grid;position:relative;overflow:hidden;box-shadow:0 28px 80px #14194057}.maths-page button,.maths-page a{-webkit-tap-highlight-color:transparent}.maths-page button:focus-visible,.maths-back:focus-visible{outline:5px solid var(--maths-lime);outline-offset:4px}.maths-header{background:var(--maths-navy);color:#fff;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:0 34px;display:grid}.maths-back{color:#eef4ff;border-radius:999px;align-items:center;width:fit-content;min-height:46px;padding:10px 14px;font-size:15px;font-weight:800;text-decoration:none;display:inline-flex}.maths-back:hover{background:#ffffff1a}.maths-brand{align-items:center;gap:11px;font-size:22px;display:flex}.maths-brand>span{background:var(--maths-lime);width:42px;height:42px;color:var(--maths-navy);border-radius:13px;place-items:center;font-family:Georgia,serif;font-size:31px;font-weight:700;display:grid}.maths-brand strong{letter-spacing:-.015em}.maths-session-label{color:#dbe8ff;letter-spacing:.08em;text-transform:uppercase;border:1px solid #ffffff2b;border-radius:999px;justify-self:end;padding:9px 14px;font-size:13px;font-weight:850}.maths-game{min-height:0}.maths-stage{min-height:100%;padding:42px 64px;position:relative;overflow:hidden}.maths-stage:after{content:"";pointer-events:none;border:55px solid #3e79c714;border-radius:50%;width:320px;height:320px;position:absolute;bottom:-190px;right:-175px}.maths-stage-heading{z-index:1;text-align:center;position:relative}.maths-stage-heading--row{text-align:left;justify-content:space-between;align-items:center;gap:28px;display:flex}.maths-eyebrow{color:var(--maths-green);letter-spacing:.16em;text-transform:uppercase;font-size:14px;font-weight:900}.maths-stage-heading h1,.maths-score-copy h1{color:var(--maths-navy);letter-spacing:-.045em;margin:5px 0 10px;font-family:Georgia,Times New Roman,serif;font-size:clamp(52px,4.3vw,72px);font-weight:500;line-height:1}.maths-stage-heading p{color:#58667c;margin:0;font-size:20px;font-weight:650}.maths-player-grid{z-index:1;grid-template-columns:repeat(2,1fr);gap:30px;max-width:1200px;margin:46px auto 0;display:grid;position:relative}.maths-player-card{color:#fff;text-align:left;cursor:pointer;border:0;border-radius:32px;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;min-height:320px;padding:42px;transition:transform .15s,box-shadow .15s;display:grid;box-shadow:0 20px 45px #1829482e}.maths-player-card:hover{transform:translateY(-5px);box-shadow:0 25px 52px #1829483d}.maths-player-card--juno{background:linear-gradient(145deg,#397bc4,#285f9f)}.maths-player-card--thea{background:linear-gradient(145deg,#8869bd,#67499c)}.maths-player-initial,.maths-player-badge>span{background:#ffffff2e;border-radius:50%;place-items:center;font-family:Georgia,serif;font-weight:700;display:grid}.maths-player-initial{width:118px;height:118px;font-size:66px}.maths-player-copy{gap:10px;display:grid}.maths-player-copy strong{font-family:Georgia,serif;font-size:clamp(48px,4vw,68px);font-weight:500}.maths-player-copy small{color:#ffffffd1;font-size:18px;font-weight:750}.maths-card-arrow{font-size:46px}.maths-text-button,.maths-exit-button{color:var(--maths-green);font:inherit;cursor:pointer;background:0 0;border:0;font-size:15px;font-weight:850}.maths-text-button{border-radius:10px;margin:-8px 0 18px -12px;padding:8px 12px}.maths-player-badge{color:#fff;border-radius:999px;align-items:center;gap:10px;padding:9px 16px 9px 9px;font-size:17px;display:flex}.maths-player-badge--juno{background:var(--maths-blue)}.maths-player-badge--thea{background:var(--maths-purple)}.maths-player-badge>span{width:38px;height:38px;font-size:20px}.maths-table-grid{z-index:1;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:34px;display:grid;position:relative}.maths-table-grid--short{grid-template-columns:repeat(3,1fr);max-width:1050px;margin-inline:auto}.maths-table-button{min-height:180px;color:var(--maths-navy);cursor:pointer;background:#fff;border:2px solid #d9dfd9;border-radius:25px;grid-template-rows:1fr auto;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;padding:20px;transition:border-color .14s,transform .14s,box-shadow .14s;display:grid;box-shadow:0 10px 25px #14274812}.maths-table-button:hover{border-color:var(--maths-blue);transform:translateY(-3px);box-shadow:0 15px 28px #1427481f}.maths-table-button>span{color:var(--maths-coral);align-self:center;font-family:Georgia,serif;font-size:42px}.maths-table-button strong{letter-spacing:-.05em;justify-self:start;font-family:Georgia,serif;font-size:76px;font-weight:500}.maths-table-button small{color:#68758b;letter-spacing:.06em;text-transform:uppercase;grid-column:1/-1;font-size:13px;font-weight:850}.maths-table-hint{color:#657287;text-align:center;margin:22px 0 0;font-size:16px;font-weight:750}.maths-game-bar{grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;display:grid}.maths-game-bar .maths-player-badge{justify-self:start}.maths-exit-button{border-radius:10px;justify-self:end;padding:10px 12px}.maths-progress{color:var(--maths-navy);justify-items:center;gap:8px;display:grid}.maths-progress>strong{font-size:17px}.maths-progress-dots{gap:9px;display:flex}.maths-progress-dots span{background:#d8ddd8;border-radius:999px;width:46px;height:8px}.maths-progress-dots .is-complete{background:var(--maths-green)}.maths-progress-dots .is-current{background:var(--maths-coral);box-shadow:0 0 0 4px #ee705d21}.maths-question-layout{grid-template-columns:minmax(430px,.85fr) minmax(570px,1.15fr);align-items:center;gap:36px;height:calc(100% - 58px);min-height:0;padding-top:34px;display:grid}.maths-question-card{background:radial-gradient(circle at 15% 15%, #d7e8693d, transparent 30%), var(--maths-navy);color:#fff;border-radius:32px;align-content:center;justify-items:center;min-height:490px;padding:36px;display:grid;box-shadow:0 20px 42px #1427482e}.maths-question-card .maths-eyebrow{color:var(--maths-lime)}.maths-question-card h1{letter-spacing:-.055em;align-items:baseline;gap:13px;margin:32px 0 24px;font-family:Georgia,Times New Roman,serif;font-size:clamp(68px,6vw,104px);font-weight:500;line-height:1;display:flex}.maths-question-card h1 span:nth-child(2),.maths-question-card h1 span:nth-child(4){color:var(--maths-lime);font-size:.62em}.maths-question-mark{color:#ff9f81}.maths-question-card p{color:#bdc9da;margin:0;font-size:18px;font-weight:750}.maths-answer-area{gap:18px;display:grid}.maths-answer-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.maths-answer-button{min-height:170px;color:var(--maths-navy);cursor:pointer;background:#fff;border:3px solid #d8dfdb;border-radius:28px;font-family:Georgia,Times New Roman,serif;font-size:clamp(54px,4.7vw,82px);font-weight:500;transition:transform .12s,border-color .12s,background .12s;box-shadow:0 11px 25px #14274814}.maths-answer-button:hover{border-color:var(--maths-blue);transform:translateY(-3px)}.maths-answer-button.is-correct{border-color:var(--maths-green);color:#17624f;background:#dff3e8}.maths-answer-button.is-wrong{border-color:var(--maths-coral);color:#a63e31;background:#fde3dd}.maths-feedback{border-radius:24px;justify-content:space-between;align-items:center;gap:18px;min-height:92px;padding:14px 18px 14px 24px;display:flex}.maths-feedback--waiting{background:#eee9dc;justify-content:center;gap:16px}.maths-feedback--waiting span{color:#8a928c;background:#ddd8cb;border-radius:50%;place-items:center;width:34px;height:34px;font-size:13px;font-weight:850;display:grid}.maths-feedback--correct{color:#145b49;background:#dff3e8}.maths-feedback--wrong{color:#8d3328;background:#fde3dd}.maths-feedback>div{gap:4px;display:grid}.maths-feedback>div strong{font-size:22px}.maths-feedback>div span{font-size:16px;font-weight:750}.maths-feedback button,.maths-complete-actions button{background:var(--maths-navy);color:#fff;min-height:54px;font:inherit;cursor:pointer;white-space:nowrap;border:0;border-radius:15px;padding:13px 20px;font-size:16px;font-weight:850}.maths-feedback .maths-next-button{justify-content:space-between;align-items:center;gap:15px;min-width:255px;padding:9px 11px 9px 18px;display:flex}.maths-next-copy{text-align:left;gap:2px;display:grid}.maths-next-copy strong{font-size:16px}.maths-next-copy small{color:#ffffffb3;letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:800}.maths-countdown{flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid;position:relative}.maths-countdown svg{width:42px;height:42px;position:absolute;inset:0;overflow:visible;transform:rotate(-90deg)}.maths-countdown circle{fill:none;stroke-width:4px}.maths-countdown-track{stroke:#fff3}.maths-countdown-progress{stroke:var(--maths-lime);stroke-dasharray:100;stroke-dashoffset:0;stroke-linecap:round;animation:8s linear forwards maths-countdown-ring}.maths-countdown>span{z-index:1;font-size:19px;line-height:1;position:relative}@keyframes maths-countdown-ring{to{stroke-dashoffset:100px}}@media (prefers-reduced-motion:reduce){.maths-countdown-progress{animation:none}}.maths-stage--complete{grid-template-rows:1fr auto;grid-template-columns:auto 1fr;align-items:center;column-gap:64px;display:grid}.maths-celebration{color:var(--maths-coral);letter-spacing:.5em;font-size:50px;position:absolute;top:48px;right:7%;transform:rotate(8deg)}.maths-celebration span{color:var(--maths-lime);font-size:1.4em}.maths-score-ring{border:24px solid var(--maths-lime);background:var(--maths-navy);color:#fff;border-radius:50%;place-content:center;justify-items:center;width:330px;height:330px;margin-left:60px;display:grid;box-shadow:0 22px 45px #14274833,inset 0 0 0 8px #ffffff14}.maths-score-ring strong{font-family:Georgia,serif;font-size:130px;font-weight:500;line-height:.8}.maths-score-ring span{color:#dbe4f1;margin-top:14px;font-size:19px;font-weight:800}.maths-score-copy{max-width:730px}.maths-score-copy h1{margin-block:10px 18px;font-size:clamp(55px,5vw,86px)}.maths-score-copy p{color:#667286;font-size:16px;font-weight:700}.maths-stars{gap:10px;display:flex}.maths-stars span{color:#d8d6cb;font-size:46px}.maths-stars .is-earned{color:#f0b649;text-shadow:0 4px 10px #f0b64940}.maths-complete-actions{background:#ece7d9;border-radius:24px;grid-column:1/-1;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex}.maths-complete-actions button{color:var(--maths-navy);background:#fff;border:2px solid #d8dacf}.maths-complete-actions .maths-primary-action{border-color:var(--maths-navy);background:var(--maths-navy);color:#fff}@media (min-width:1101px) and (max-width:1600px){.tomorrow-actions{gap:10px}.school-lunch-link{padding-inline:11px;font-size:13px}}@media (min-width:801px) and (max-height:800px){.maths-shell{padding:12px}.maths-page{grid-template-rows:64px minmax(0,1fr);min-height:calc(100vh - 24px)}.maths-stage{padding:26px 42px}.maths-stage-heading h1{font-size:52px}.maths-player-grid{gap:22px;margin-top:24px}.maths-player-card{min-height:245px;padding:30px}.maths-player-initial{width:92px;height:92px;font-size:50px}.maths-player-copy strong{font-size:50px}.maths-table-grid{gap:12px;margin-top:20px}.maths-table-button{min-height:132px;padding:13px}.maths-table-button strong{font-size:58px}.maths-table-button>span{font-size:32px}.maths-table-hint{margin-top:12px}.maths-question-layout{gap:24px;height:calc(100% - 52px);padding-top:20px}.maths-question-card{min-height:405px;padding:26px}.maths-answer-button{min-height:135px}.maths-answer-area,.maths-answer-grid{gap:12px}.maths-feedback{min-height:82px}.maths-score-ring{border-width:18px;width:260px;height:260px;margin-left:45px}.maths-score-ring strong{font-size:98px}.maths-complete-actions{padding:14px}}@media (max-width:800px){.maths-shell{place-items:start;padding:0;overflow:auto}.maths-page{border:0;border-radius:0;grid-template-rows:auto 1fr;min-height:100vh;overflow:visible}.maths-header{grid-template-columns:1fr auto;padding:12px 14px}.maths-brand{grid-area:1/2;font-size:18px}.maths-brand>span{width:36px;height:36px;font-size:27px}.maths-session-label{grid-column:1/-1;justify-self:center}.maths-stage{padding:34px 18px;overflow:visible}.maths-stage-heading h1,.maths-score-copy h1{font-size:45px}.maths-stage-heading p{font-size:17px}.maths-player-grid{grid-template-columns:1fr;gap:18px;margin-top:28px}.maths-player-card{border-radius:24px;gap:18px;min-height:180px;padding:24px}.maths-player-initial{width:78px;height:78px;font-size:44px}.maths-player-copy strong{font-size:42px}.maths-stage-heading--row{align-items:flex-start}.maths-player-badge{padding-right:10px}.maths-player-badge strong{display:none}.maths-table-grid,.maths-table-grid--short{grid-template-columns:repeat(2,1fr);gap:12px}.maths-table-button{min-height:140px;padding:14px}.maths-table-button strong{font-size:58px}.maths-game-bar{grid-template-columns:1fr 1fr}.maths-progress{grid-area:2/1/auto/-1}.maths-exit-button{grid-area:1/2}.maths-progress-dots span{width:38px}.maths-question-layout{grid-template-columns:1fr;gap:18px;height:auto;padding-top:28px}.maths-question-card{min-height:250px;padding:24px}.maths-question-card h1{gap:8px;margin-block:24px 16px;font-size:clamp(52px,16vw,70px)}.maths-answer-button{min-height:105px;font-size:48px}.maths-feedback{flex-direction:column;align-items:stretch}.maths-feedback button{width:100%}.maths-feedback .maths-next-button{min-width:0}.maths-stage--complete{text-align:center;grid-template-rows:auto auto auto;grid-template-columns:1fr;gap:26px}.maths-score-ring{border-width:17px;width:230px;height:230px;margin:0 auto}.maths-score-ring strong{font-size:88px}.maths-stars{justify-content:center}.maths-complete-actions{flex-direction:column;grid-column:1}.maths-complete-actions button{width:100%}}.disney-shell{color:#fff9dd;background:radial-gradient(circle at 50% 112%,#975cdbb3,#0000 42%),radial-gradient(circle at 16% 12%,#4d5dc78c,#0000 28%),linear-gradient(145deg,#080b34 0%,#171250 48%,#32186d 100%);place-items:center;min-height:100vh;padding:18px;display:grid;position:relative;overflow:hidden}.disney-shell:before{content:"";opacity:.52;pointer-events:none;background-image:radial-gradient(circle,#fff8cc 0 1.5px,#0000 2px),radial-gradient(circle,#e8d9ff 0 1px,#0000 1.5px);background-position:8px 14px,40px 52px;background-size:78px 78px,111px 111px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 86%);mask-image:linear-gradient(#000,#0000 86%)}.disney-shell:after{content:"";pointer-events:none;border:2px solid #ffe89424;border-radius:50%;width:52vw;height:52vw;position:absolute;bottom:-38vw;left:-27vw;box-shadow:0 0 0 7vw #ffe89408,0 0 0 14vw #ffe89406}.disney-page{z-index:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(135deg,#ffffff17,#0000 37%),#0a0934b5;border:1px solid #ffefad54;border-radius:38px;grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,1600px);min-height:min(900px,100vh - 36px);padding:34px 44px 38px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff21,0 32px 90px #00000061}.disney-header{justify-content:space-between;align-items:center;gap:20px;min-height:52px;display:flex}.disney-back{color:#fff9dd;background:#ffffff12;border:1px solid #ffefad40;border-radius:999px;align-items:center;min-height:48px;padding:11px 16px;font-size:16px;font-weight:800;text-decoration:none;display:inline-flex}.disney-back:hover{background:#ffffff24}.disney-back:focus-visible{outline-offset:4px;outline:4px solid #f7d469}.disney-wish{color:#f8dd88;letter-spacing:.02em;font-family:Georgia,Times New Roman,serif;font-size:20px;font-style:italic}.disney-wish span{margin-right:7px;font-style:normal;display:inline-block}.disney-content{grid-template-columns:minmax(540px,.92fr) minmax(490px,1.08fr);align-items:center;gap:16px;min-height:0;display:grid}.disney-copy{z-index:2;padding:16px 0 24px 34px;position:relative}.disney-eyebrow{color:#f8dd88;letter-spacing:.18em;text-transform:uppercase;font-size:clamp(15px,1.1vw,19px);font-weight:850}.disney-copy h1{color:#f9dc7c;letter-spacing:-.07em;text-shadow:0 5px #6c3e98,0 13px 32px #00000059;width:fit-content;margin:6px 0 4px;font-family:Georgia,Times New Roman,serif;font-size:clamp(92px,9vw,154px);font-style:italic;font-weight:500;line-height:.92;transform:rotate(-2deg)}.disney-intro{color:#e8e3ff;margin:8px 0 24px;font-family:Georgia,Times New Roman,serif;font-size:clamp(20px,1.55vw,27px);line-height:1.3}.disney-countdown{background:linear-gradient(115deg,#ffe38026,#9963d324);border:1px solid #ffeb9d5c;border-radius:26px;align-items:baseline;gap:20px;width:fit-content;min-width:390px;padding:16px 30px 18px;display:flex;box-shadow:inset 0 1px #ffffff1f,0 17px 40px #0003}.disney-countdown strong{color:#fff2ae;letter-spacing:-.055em;white-space:nowrap;font-family:Georgia,Times New Roman,serif;font-size:clamp(64px,5.7vw,98px);font-weight:500;line-height:.85}.disney-countdown span{color:#fff9e5;max-width:190px;font-size:clamp(18px,1.35vw,24px);font-weight:800;line-height:1.12}.disney-message{color:#cfc3f1;margin:16px 0 0 30px;font-size:17px;font-weight:700}.disney-art{place-items:center;min-width:0;height:100%;min-height:430px;display:grid;position:relative}.disney-art:before{content:"";aspect-ratio:1;filter:blur(4px);background:radial-gradient(circle,#ffde752e,#0000 68%);border-radius:50%;width:72%;position:absolute}.disney-castle{filter:drop-shadow(0 25px 26px #00000052);width:min(100%,710px);max-height:100%;overflow:visible}.disney-star-trail{fill:none;stroke:#f5d877;stroke-width:4px;stroke-linecap:round;stroke-dasharray:3 15;opacity:.75}.disney-sparkles{filter:drop-shadow(0 0 8px #fff3a7)}.disney-trip-details{background:#0507286e;border:1px solid #ffefad3d;border-radius:24px;grid-template-columns:1fr auto 1.1fr 1fr;align-items:center;gap:25px;min-height:112px;padding:20px 26px;display:grid}.disney-date-block{gap:5px;display:grid}.disney-date-block span,.disney-duration span{color:#bfb5e2;letter-spacing:.1em;text-transform:uppercase;font-size:13px;font-weight:850}.disney-date-block time{color:#fff8dc;font-family:Georgia,Times New Roman,serif;font-size:clamp(20px,1.55vw,27px)}.disney-date-block--end{text-align:right}.disney-mouse-mark{color:#2c1a65;background:#f6d572;border-radius:50%;place-items:center;width:63px;height:63px;display:grid;position:relative;box-shadow:0 0 25px #f6d5723d}.disney-mouse-mark span{background:#f6d572;border-radius:50%;width:28px;height:28px;position:absolute;top:-11px}.disney-mouse-mark span:first-child{left:-4px}.disney-mouse-mark span:nth-child(2){right:-4px}.disney-mouse-mark strong{z-index:1;font-family:Georgia,serif;font-size:29px;position:relative}.disney-duration{text-align:center;gap:5px;display:grid}.disney-duration strong{color:#f8dd88;font-family:Georgia,Times New Roman,serif;font-size:clamp(23px,1.75vw,31px);font-weight:500}@media (min-width:801px) and (max-height:800px){.disney-shell{padding:12px}.disney-page{min-height:calc(100vh - 24px);padding:22px 34px 26px}.disney-header{min-height:44px}.disney-content{grid-template-columns:minmax(470px,.92fr) minmax(420px,1.08fr)}.disney-copy{padding:8px 0 12px 24px}.disney-copy h1{font-size:clamp(76px,8.2vw,118px)}.disney-intro{margin:5px 0 14px}.disney-countdown{padding:12px 24px 14px}.disney-countdown strong{font-size:clamp(58px,5.2vw,78px)}.disney-message{margin-top:10px}.disney-art{min-height:335px}.disney-trip-details{min-height:92px;padding:14px 22px}}@media (max-width:800px){.disney-shell{place-items:start;padding:0;overflow:auto}.disney-page{border:0;border-radius:0;grid-template-rows:auto auto auto;min-height:100vh;padding:20px 18px 26px}.disney-wish{font-size:16px}.disney-content{grid-template-columns:1fr}.disney-copy{text-align:center;padding:40px 4px 0}.disney-copy h1{margin-inline:auto;font-size:clamp(82px,27vw,126px)}.disney-intro{font-size:20px}.disney-countdown{justify-content:center;width:100%;min-width:0;padding-inline:18px}.disney-countdown strong{font-size:clamp(58px,19vw,86px)}.disney-countdown span{text-align:left;max-width:145px;font-size:18px}.disney-message{margin-left:0}.disney-art{height:auto;min-height:280px}.disney-trip-details{text-align:center;grid-template-columns:1fr;gap:18px}.disney-date-block--end{text-align:center}.disney-mouse-mark{margin:8px auto 0}}.lunch-shell{background:radial-gradient(circle at 9% 4%,#ffffffb8,#0000 28%),#c7d0c8;place-items:center;min-height:100vh;padding:32px;display:grid}.lunch-page{background:var(--paper);border:1px solid #18362e1f;border-radius:30px;grid-template-rows:auto auto 1fr auto;gap:26px;width:min(100%,1500px);min-height:min(900px,100vh - 64px);padding:42px;display:grid;box-shadow:0 26px 70px #20373138}.lunch-header{gap:24px;display:grid}.lunch-back{width:fit-content;color:var(--green);font-size:17px;font-weight:850;text-decoration:none}.lunch-back:hover{text-decoration:underline}.lunch-back:focus-visible,.lunch-navigation a:focus-visible,.lunch-sources a:focus-visible{outline:3px solid var(--green);outline-offset:4px}.lunch-title-row{justify-content:space-between;align-items:end;gap:24px;display:flex}.lunch-title-row h1{letter-spacing:-.045em;margin:8px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(46px,5vw,76px);font-weight:500;line-height:1}.lunch-week{background:var(--sage);color:var(--green);white-space:nowrap;border-radius:999px;padding:10px 16px;font-size:16px;font-weight:850}.lunch-navigation{border:1px solid var(--line);background:var(--panel);border-radius:18px;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:10px;display:grid}.lunch-navigation a{min-height:48px;color:var(--ink);border-radius:12px;align-items:center;padding:12px 16px;font-size:16px;font-weight:800;text-decoration:none;display:flex}.lunch-navigation a:last-child{text-align:right;justify-content:flex-end}.lunch-navigation a:hover{background:var(--sage)}.lunch-navigation .lunch-current{background:var(--ink);color:var(--panel)}.lunch-options{grid-template-columns:repeat(2,1fr);gap:22px;display:grid}.lunch-option{border:1px solid var(--line);background:var(--panel);min-height:220px;box-shadow:var(--shadow);border-radius:22px;grid-template-columns:58px 1fr;align-items:start;gap:22px;padding:28px;display:grid}.lunch-option--main1{border-top:7px solid var(--green)}.lunch-option--main2{border-top:7px solid var(--amber)}.lunch-option--sandwiches{border-top:7px solid var(--blue)}.lunch-option--dessert{border-top:7px solid var(--purple)}.lunch-option-marker{background:var(--sage);width:58px;height:58px;color:var(--green);border-radius:18px;place-items:center;font-family:Georgia,serif;font-size:28px;font-weight:700;display:grid}.lunch-option h2,.lunch-unavailable h2{margin:3px 0 14px;font-family:Georgia,serif;font-size:30px;font-weight:500}.lunch-option p,.lunch-unavailable p{color:var(--ink-soft);margin:0;font-size:clamp(20px,1.65vw,27px);font-weight:650;line-height:1.3}.lunch-unavailable{grid-template-columns:58px 1fr;align-items:center;gap:24px;padding:42px;display:grid}.lunch-footer{background:var(--sage);border-radius:20px;grid-template-columns:1fr auto auto;align-items:center;gap:34px;padding:22px 26px;display:grid}.lunch-footer p{color:var(--ink-soft);margin:6px 0 0;font-weight:700}.lunch-legend,.lunch-sources{align-items:center;gap:14px;display:flex}.lunch-legend span{white-space:nowrap}.lunch-legend strong{color:var(--green)}.lunch-sources a{color:var(--green);white-space:nowrap;font-weight:800}@media (min-width:801px) and (max-height:1000px){.lunch-shell{padding:18px}.lunch-page{gap:16px;min-height:calc(100vh - 36px);padding:26px 34px}.lunch-header{gap:12px}.lunch-title-row h1{margin-top:4px;font-size:clamp(44px,4vw,62px)}.lunch-navigation{padding:7px}.lunch-navigation a{min-height:42px;padding-block:9px}.lunch-options{gap:16px}.lunch-option{min-height:190px;padding:22px 24px}.lunch-option h2{margin-bottom:9px}.lunch-option p{font-size:clamp(19px,1.45vw,23px)}.lunch-footer{padding:15px 22px}}@media (max-width:800px){.lunch-shell{place-items:start;padding:0}.lunch-page{border:0;border-radius:0;gap:20px;min-height:100vh;padding:24px 18px}.lunch-title-row{flex-direction:column;align-items:start}.lunch-title-row h1{font-size:44px}.lunch-navigation{grid-template-columns:1fr 1fr}.lunch-navigation .lunch-current{grid-area:1/1/auto/-1;justify-content:center}.lunch-options{grid-template-columns:1fr}.lunch-option{grid-template-columns:48px 1fr;gap:16px;min-height:0;padding:22px}.lunch-option-marker{border-radius:14px;width:48px;height:48px;font-size:24px}.lunch-option h2,.lunch-unavailable h2{font-size:26px}.lunch-option p,.lunch-unavailable p{font-size:19px}.lunch-unavailable{grid-template-columns:48px 1fr;padding:24px}.lunch-footer{grid-template-columns:1fr;gap:18px}.lunch-legend,.lunch-sources{flex-wrap:wrap}}@media (min-height:821px) and (max-height:1023px) and (min-width:1101px){.content-grid{grid-template-rows:minmax(0,1fr) 270px}.household-column{grid-template-rows:minmax(0,1fr) 74px;gap:12px}.mabel-card{padding:16px 20px 14px}.walks{gap:8px;margin-top:10px}.walk-row{padding:8px 10px}.dinner-card{padding-block:8px}.schedule-card--dense{padding-block:18px 12px;overflow:hidden}.schedule-card--dense .section-heading-row h2{font-size:34px}.schedule-card--dense .timeline{margin-top:8px}.schedule-card--dense .timeline-row{min-height:48px}.schedule-card--dense .timeline-marker:after{height:29px}.schedule-card--dense .event-people{font-size:18px}.schedule-card--dense .event-title{font-size:16px}.schedule-card--dense .event-meta{margin-top:1px;font-size:13px}.schedule-card--dense .timeline-copy{padding-bottom:5px}.person-column{padding:14px 16px}.person-column h3{margin-bottom:10px}.person-column ul{gap:8px}.person-column .todo-list--compact{row-gap:3px}.todo-list--dense li{margin-bottom:3px}.todo-list--packed li{margin-bottom:2px;font-size:15px}}@media (max-height:820px) and (min-width:1101px){.dashboard{grid-template-rows:130px minmax(0,1fr) 48px}.date-block{padding:14px 26px 14px 34px}.family-label{font-size:12px}.date-block h1{font-size:clamp(46px,4.2vw,58px)}.full-date{font-size:21px}.date-details{gap:14px}.dashboard-clock{font-size:18px}.washing-card{margin-block:14px;padding:8px 27px}.washing-card .section-eyebrow{margin-bottom:3px}.washing-line{font-size:23px}.weather-card{padding-block:13px}.weather-icon{font-size:42px}.temperature{font-size:52px}.content-grid{grid-template-rows:minmax(0,1fr) 240px;gap:14px 20px;padding:16px 26px}.schedule-card{padding:18px 28px 12px;overflow:hidden}.section-heading-row h2{font-size:34px}.timeline{margin-top:10px}.timeline-row{min-height:38px}.timeline-marker:after{height:19px}.timeline-row time{font-size:17px}.event-people{font-size:19px}.event-title{font-size:17px}.event-meta{display:none}.household-column{grid-template-rows:minmax(0,1fr) 74px;gap:12px}.mabel-card{padding:11px 18px;overflow:hidden}.mabel-card .section-eyebrow{display:none}.compact-heading h2{margin-top:0;font-size:25px}.coverage{padding:5px 9px;font-size:11px}.walks{gap:5px;margin-top:6px}.walk-row{grid-template-columns:30px 1fr;gap:8px;padding:4px 8px}.walk-icon{width:26px;height:26px;font-size:15px}.walk-period{font-size:10px}.walk-assignment{font-size:14px}.dinner-card{padding-block:8px}.todo-section{grid-template-columns:200px 1fr}.todo-grid{grid-template-columns:.45fr .55fr 1.5fr 1.5fr}.todo-title-strip h2{font-size:28px}.todo-hint{font-size:11px}.person-column{padding:15px 14px}.person-column h3{margin-bottom:10px;font-size:17px}.person-column ul{gap:8px}.person-column li{font-size:15px}.todo-button{border-radius:6px;gap:7px;margin:-2px;padding:2px}.person-column .todo-list--compact{row-gap:4px}.person-column .todo-list--dense{column-gap:9px}.todo-list--compact li{font-size:14px}.todo-list--dense li{margin-bottom:4px}.todo-list--packed li{margin-bottom:2px;font-size:13px}.checkbox{border-width:1.5px;flex-basis:17px;width:17px;height:17px;font-size:12px}.tomorrow-strip{font-size:15px}}@media (max-width:1100px){.dashboard-shell{place-items:start;padding:0}.dashboard{border-radius:0;grid-template-rows:auto auto auto;height:auto;min-height:100vh;overflow:visible}.topbar{grid-template-columns:1fr 1fr}.date-block{border-bottom:1px solid var(--line);grid-column:1/-1}.content-grid{grid-template-rows:auto;grid-template-columns:1fr}.schedule-card,.household-column,.todo-section{grid-column:1}.household-column{grid-template-rows:auto;grid-template-columns:1fr 1fr}.todo-section{grid-template-columns:1fr}.todo-title-strip{min-height:110px}.todo-grid{grid-template-columns:repeat(2,1fr)}.person-column:nth-child(3),.person-column:nth-child(4){border-top:1px solid var(--line)}}@media (max-width:650px){.topbar{grid-template-columns:1fr}.washing-card{border:0;border-bottom:1px solid var(--line);margin:0 22px}.weather-card{padding-inline:28px}.content-grid{padding:14px}.household-column,.todo-grid{grid-template-columns:1fr}.person-column{border-top:1px solid var(--line)}.tomorrow-strip{grid-template-columns:1fr auto;padding:18px 22px}.tomorrow-strip>span:nth-child(2){grid-area:2/1/auto/-1}.tomorrow-actions{flex-direction:column;align-self:start;align-items:flex-end;gap:8px}}
