@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
/* BMCC palette: official blue #0058A4 and orange #FF6600. */
header{border-top:4px solid #ff6600}
.reminders .primary,dialog .primary{background:#0058a4;color:white}
.reminders .primary:hover,dialog .primary:hover{background:#00447e}
.next .countdown{background:#fff;color:#00447e}
.next .tag{background:#fff0e6;color:#8c3900}
.bell svg{width:25px;height:25px}
.school{color:#0058a4!important;font-size:14px!important;font-weight:800!important}
:root{font-family:'DM Sans',sans-serif;color:#172e4c;background:#f5f8fc;font-size:16px}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}header{height:92px;max-width:1280px;padding:0 48px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce4ef}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-family:Manrope,sans-serif;font-weight:800;font-size:23px;letter-spacing:-1px}.mark{display:inline-grid;place-items:center;width:38px;height:38px;background:#0058a4;color:#ff6600;border-radius:10px;font-size:26px;letter-spacing:0}.school{font:600 12px 'DM Sans',sans-serif;letter-spacing:1px;border-left:1px solid #cbd6e5;margin-left:9px;padding-left:20px;color:#526780}.source{font-size:14px;text-decoration:none}main{max-width:1280px;margin:auto;padding:46px 48px 20px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.6px}.intro .eyebrow{color:#0058a4}h1{font-family:Manrope,sans-serif;font-size:44px;line-height:1.2;letter-spacing:-2px;margin:12px 0}.subtitle{color:#526780;line-height:1.6;margin:0}.prototype{font-size:12px;background:#e8f0fa;border-radius:20px;padding:8px 12px;color:#3d5d85}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:15px}.toolbar label{font-size:14px;font-weight:600;display:flex;align-items:center;gap:16px}select{border:1px solid #cedaea;border-radius:9px;background:white;padding:11px 32px 11px 12px;color:#172e4c;max-width:100%}.toolbar>span{font-size:13px;color:#526780}.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:30px}.next{background:#0058a4;color:white;border-radius:18px;padding:30px;min-height:300px;position:relative;overflow:hidden}.next:after{content:'Ⅱ';position:absolute;right:40px;top:30px;font:180px Manrope;color:#ffffff08;pointer-events:none}.next-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.next-top .eyebrow{color:#d5e8ff;font-size:11px}.countdown{color:#ff6600;background:#ffffff12;padding:7px 11px;border-radius:20px;font-size:12px}.next-date{color:#e0edff;font-size:15px;margin:30px 0 8px}.next h2{font:700 35px Manrope;letter-spacing:-1.3px;margin:0 0 10px}.next>p:last-of-type{color:#e0edff;font-size:15px;max-width:440px;line-height:1.6}.next-bottom{border-top:1px solid #ffffff22;display:flex;align-items:center;justify-content:space-between;margin-top:24px;padding-top:20px;gap:10px}.tag{display:inline-block;font-size:12px;font-weight:600;padding:6px 10px;border-radius:5px;background:#e6f0fc;color:#004b8c}.next .tag{background:#ff6600;color:#ffffff}.next button{background:none;border:none;color:white;font-size:14px}.list-heading{display:flex;justify-content:space-between;align-items:center;margin-top:32px}.list-heading h2{font:700 21px Manrope;letter-spacing:-.5px}.list-heading>span{font-size:13px;color:#526780}.filters{display:flex;gap:7px;flex-wrap:wrap;margin:6px 0 18px}.filters button{font-size:13px;padding:8px 12px;border:1px solid #d8e2ef;background:transparent;border-radius:20px;color:#526780}.filters button.active{background:#0058a4;color:white;border-color:#0058a4}.event{display:flex;gap:18px;align-items:center;border:1px solid #dce5f0;background:white;padding:20px;margin-bottom:10px;border-radius:12px}.date-tile{background:#edf3fb;border-radius:9px;min-width:60px;min-height:65px;text-align:center;padding:8px}.date-tile small{display:block;font-size:11px;font-weight:700;letter-spacing:1px;color:#4b6383}.date-tile b{font:700 25px Manrope}.event-body{flex:1}.event h3{font-size:16px;margin:0 0 5px;font-weight:600}.event p{font-size:13px;color:#526780;margin:0;line-height:1.5}.event .tag{font-size:11px}.tag.no-class{background:#edf0ff;color:#596496}.tag.schedule{background:#fff0dc;color:#886629}.data-note{font-size:12px;color:#526780;line-height:1.7;margin-top:20px}.reminders{background:white;border:1px solid #dce5f0;border-radius:18px;padding:26px}.bell{width:46px;height:46px;background:#e6f0fc;color:#0058a4;display:grid;place-items:center;font-size:32px;border-radius:12px;margin-bottom:25px}.reminders .eyebrow{font-size:10px;color:#526780;letter-spacing:1px}.reminders h2{font:700 27px/1.3 Manrope;letter-spacing:-.8px;margin:12px 0}.reminders>p{color:#526780;font-size:14px;line-height:1.6}.time-label{font-size:13px;display:block;margin:25px 0 10px}.reminders select{width:100%;margin-bottom:12px}.primary{background:#ff6600;color:#ffffff;border:0;border-radius:8px;padding:13px 14px;font-weight:700;font-size:14px;width:100%}.primary:hover{background:#00447e}.text-button{border:0;background:none;color:#0058a4;width:100%;padding:12px;font-size:13px}.fine{font-size:12px!important;line-height:1.6;color:#526780}.demo-note{background:#f0f5fc;padding:12px;border-radius:8px;font-size:12px;line-height:1.6;color:#526780;margin-top:20px}.saved{margin:4px 0;font-size:12px!important}.legend{padding:25px 9px}.legend h3{font-size:14px;margin:0 0 22px}.legend p{position:relative;padding-left:20px;font-size:12px;line-height:1.6;color:#526780}.legend strong{font-size:13px;color:#284a74}.dot{position:absolute;left:0;top:6px;width:7px;height:7px;border-radius:50%;background:#0058a4}.dot.no-class{background:#939fcb}.dot.schedule{background:#ff6600}footer{border-top:1px solid #dce4ef;margin-top:38px;padding-top:25px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px;color:#526780;font-size:12px}.small{font-size:17px;color:#0058a4}footer p{width:100%;font-size:11px;margin:0 0 8px}dialog{border:1px solid #dce4ef;border-radius:18px;padding:30px;max-width:500px;width:calc(100% - 32px);color:#172e4c}dialog::backdrop{background:#10284466;backdrop-filter:blur(3px)}.close{position:absolute;right:14px;top:9px;border:0;background:none;font-size:28px;color:#526780}.notification{display:flex;gap:14px;background:#edf3fb;padding:20px;border-radius:14px;margin:24px 0}.notification .mark{flex-shrink:0}.notification small{font-size:10px;letter-spacing:1px}.notification h3{font-size:17px;margin:9px 0}.notification p{font-size:14px;line-height:1.6;margin:0}.empty{padding:30px;background:white;border:1px dashed #c8d7eb;border-radius:12px;color:#526780}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #ff6600;outline-offset:4px}@media(max-width:900px){header{padding:0 24px}main{padding:30px 24px}.layout{grid-template-columns:minmax(0,1fr) 280px;gap:20px}.next{padding:24px}.event .tag{display:none}.intro{align-items:flex-start}.prototype{white-space:nowrap}}@media(max-width:700px){header{height:76px;padding:0 20px}.brand{font-size:19px}.school{display:none}.source{font-size:12px}main{padding:30px 20px}.intro{display:block}.prototype{display:inline-block;margin-top:16px}h1{font-size:36px}.subtitle{font-size:15px}.toolbar{align-items:flex-start}.toolbar label{display:block;min-width:0}.toolbar select{display:block;margin-top:8px;width:100%}.toolbar>span{display:none}.layout{grid-template-columns:1fr}.next h2{font-size:30px}.next-top{align-items:flex-start}.next-top .eyebrow{max-width:130px;line-height:1.6}.event{padding:15px;gap:14px}.filters button{font-size:12px;padding:8px 10px}.reminders{margin-top:10px}footer{align-items:flex-start;flex-direction:column}.next-bottom{flex-wrap:wrap}}

/* Readability and responsive controls */
.next .countdown{background:#ffffff;color:#002b55;font-size:1rem;font-weight:800;border:1px solid #ffffff;padding:10px 15px;white-space:nowrap;position:relative;z-index:1;box-shadow:0 2px 8px #002b5520}.next:after{display:none}.next .tag{background:#fff0e6;color:#813300;font-size:.875rem}.mark{color:white}.next-top{flex-wrap:wrap}.next-date{font-size:1rem}.next-top .eyebrow{font-size:.75rem}.layout>*,.event-body{min-width:0}.event h3,.event p{overflow-wrap:anywhere}.event p,.time-label,.filters button,.text-button,.permission-status{font-size:.875rem}.permission-status{line-height:1.6;color:#344f6e;margin:12px 0 0}.secondary{display:block;width:100%;border:1px solid #b6c9df;background:#fff;color:#00447e;border-radius:8px;padding:12px 14px;font-weight:600;font-size:.875rem;margin-top:10px}.secondary:hover{background:#edf4fc}button,select{min-height:44px}button:disabled{cursor:default;opacity:1;background:#e6edf5!important;color:#3e5570!important}button[hidden]{display:none}.reminders .eyebrow{font-size:.75rem}.fine,.demo-note,.saved{font-size:.8125rem!important}.legend p{font-size:.875rem}.legend strong{font-size:.875rem}.data-note,footer p{font-size:.8125rem;line-height:1.7}.mobile-reminder-link{display:none}footer{background:#edf3fb;border-radius:14px;padding:24px;gap:16px}footer p{max-width:760px}dialog{max-height:90dvh;overflow:auto}.close{min-width:44px}.notification{min-width:0}.notification>div{min-width:0}.time-label{margin-top:24px}.bell{margin-bottom:18px}.reminders{scroll-margin-top:20px}@media(max-width:1000px){.layout{grid-template-columns:1fr}.layout>aside{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.mobile-reminder-link{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:12px 16px;background:#0058a4;color:#fff;border-radius:9px;text-decoration:none;font-weight:600;margin-bottom:24px}.toolbar label{min-width:0}.intro{gap:18px}.event .tag{display:inline-block}}@media(max-width:600px){.layout>aside{display:block}header{height:auto;min-height:76px;flex-wrap:wrap;gap:10px;padding:16px}.source{font-size:.8125rem}main{padding:24px 16px}.intro{margin-bottom:22px}.next{padding:22px;min-height:0}.next-top .eyebrow{max-width:none;flex-basis:100%}.next .countdown{margin-top:4px}.next-date{margin-top:22px}.event{flex-wrap:wrap}.event .tag{margin-left:74px;font-size:.75rem}.event-body{flex-basis:calc(100% - 80px)}.filters button{font-size:.875rem}.toolbar label{width:100%}.toolbar select{width:100%;font-size:1rem}.reminders{padding:22px}.notification{padding:14px;gap:10px}footer{padding:20px}.intro h1{font-size:2rem;letter-spacing:-1px}.prototype{white-space:normal}}

/* Compact BMCC-first layout */
main{padding-top:28px}.intro{margin-bottom:22px}h1{font-size:38px}.next{min-height:0;padding:24px}.next-date{margin-top:20px}.next-bottom{margin-top:18px;padding-top:14px}.list-heading{margin-top:20px}.event{padding:14px;margin-bottom:8px}.reminders{padding:22px}.reminders .bell,.reminders>.eyebrow{display:none}.reminders h2{font-size:24px;margin-top:0}.preferences{margin-top:16px;border-top:1px solid #dce5f0;padding-top:14px}summary{cursor:pointer;font-size:14px;font-weight:600;line-height:1.5;padding:8px 0;min-height:44px;color:#284a74}.legend{padding:12px 6px}.demo-note{margin-top:12px}footer{margin-top:24px;padding:18px;gap:10px}.school{display:inline-block!important}@media(max-width:600px){header .brand{font-size:17px;gap:8px}.school{margin-left:2px;padding-left:10px;font-size:12px!important}.intro .subtitle{font-size:14px}.intro h1{font-size:30px;margin:8px 0}.next{padding:20px}.next-top .eyebrow{flex-basis:auto;max-width:130px}.next .countdown{font-size:14px;padding:8px 10px}.next h2{font-size:28px}.next-top{gap:8px}.toolbar{margin-bottom:16px}.mobile-reminder-link{margin-bottom:16px}.event .tag{display:none}.reminders{margin-top:0}.data-note{margin-bottom:0}}

.session-help{font-size:.8125rem;color:#526780;margin:-10px 0 20px;line-height:1.6}.warning{color:#8c3900;font-weight:600}.data-note .text-button{width:auto;padding:8px 0;display:block}.toolbar select{min-width:0}.reminders [hidden]{display:none!important}
.install-button{margin-top:10px}.install-hint{font-size:.8125rem!important;line-height:1.55!important;color:#526780!important;background:#f0f5fc;padding:10px 12px;border-radius:8px;margin:12px 0 0!important}.dialog-lead{color:#526780;line-height:1.6}.install-steps{padding-left:22px;margin:22px 0 26px}.install-steps li{padding:0 0 16px 8px;line-height:1.45}.install-steps li:last-child{padding-bottom:0}.install-steps b{display:block;color:#172e4c}.install-steps span{display:block;color:#526780;font-size:.875rem;margin-top:3px}dialog h2{font:700 25px/1.25 Manrope;letter-spacing:-.5px;margin:10px 0}.install-button:focus-visible{outline:3px solid #ff6600;outline-offset:4px}

/* Always-visible reminder settings, ahead of diagnostic tests. */
.reminders .preferences{margin:18px 0;padding:16px;background:#f0f5fc;border:1px solid #d4e1f0;border-radius:12px}
.preferences h3{font-size:1rem;line-height:1.4;margin:0;color:#173c63}
.preferences .fine{margin:5px 0 14px}
.preferences .time-label{margin:0 0 8px;line-height:1.5}
.preferences select{margin-bottom:0;font-size:1rem}
.preferences .secondary{margin-top:10px}
.preferences .text-button{padding-bottom:0;min-height:44px}
.preferences .saved:not(:empty){margin:10px 0 0;line-height:1.5}
button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #0058a4;outline-offset:3px}
