.platform-settings{margin-top:22px}.platform-settings>h2{margin-bottom:18px}.platform-settings label{display:grid;gap:10px}.platform-settings>p{margin:14px 0;font-size:13px;line-height:1.7}.widget-explanation{padding:15px 20px;border:1px solid #ffffffd9;border-radius:23px;background:#edf7f0aa;line-height:1.8;font-size:13px;margin:18px 0}.widget-controls{padding:8px 22px 18px;margin-bottom:24px}.widget-controls .setting-row{border:0}.widget-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.widget-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:20px 0}.widget-section-title{font-size:14px;margin:0 4px 12px;color:#416855}.widget-card{display:flex;flex-direction:column;gap:14px;width:100%;text-align:start;min-height:205px;padding:24px;border-radius:30px;background:linear-gradient(135deg,#ffffffe0,#e1f4e8a6 70%,#00a86b22);border:1px solid white;box-shadow:var(--glass-shine),0 12px 32px #144b3512;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);color:#1a4935}.widget-card h2{font-size:24px}.widget-card small{margin-top:auto;color:#496b5b;font-size:12px}.widget-card p{line-height:1.7}.widget-kicker{display:flex;align-items:center;gap:8px;font-size:12px;color:#397358}.widget-kicker .icon{width:19px;height:19px}.widget-status{align-self:flex-start;border-radius:16px;background:#00a86b17;padding:6px 12px;color:#006b44;font-size:13px}.widget-facts{display:flex;gap:18px;flex-wrap:wrap}.widget-freshness{display:flex;gap:8px;align-items:center;font-size:12px;color:#496b5b}.widget-freshness .icon{width:18px}.widget-lock{padding:24px;border-radius:32px;background:linear-gradient(130deg,#195e4930,#9ccab746);border:1px solid white;margin:24px 0}.lock-widget{display:flex;align-items:center;gap:16px;padding:17px 22px;background:#fafffb99;border:1px solid white;border-radius:24px;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px)}.lock-widget>div{display:grid;gap:6px;flex:1}.lock-widget>span{font-size:12px}.lock-widget .icon{color:#00a86b}.activity-preview{margin:24px 0}.activity-preview>.section-heading>span{font-size:12px;color:#496b5b}.activity-glass{display:grid;gap:12px;background:linear-gradient(130deg,#ffffffd4,#cce9dbaa);border:1px solid white;border-radius:32px;padding:25px;box-shadow:var(--glass-shine),0 10px 30px #144b3517;backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px)}.activity-glass>span{color:#007c4f;font-size:13px}.activity-glass h2{font-size:27px}.activity-glass progress{width:100%;height:6px;border:0;border-radius:8px;overflow:hidden;accent-color:#00a86b}.activity-glass progress::-webkit-progress-bar{background:#c7e0d2}.activity-glass progress::-webkit-progress-value{background:#00a86b;border-radius:8px}.activity-glass small{color:#496b5b}.activity-glass.stale{background:#f4f1e8d9}.widget-native-note{padding:22px 0;line-height:1.9}.widget-native-note p{margin:12px 0;max-width:720px;color:#496b5b}
/* Android retains the identity but uses tonal surfaces and a grounded navigation bar. */
html[data-platform=android]{--platform-radius:20px}html[data-platform=android] :is(.card,.widget-card,.activity-glass,.quick-item){border-radius:20px}html[data-platform=android] .sheet{border-radius:28px}html[data-platform=android] :is(.primary-button,.secondary-button,.glass-select-trigger){border-radius:22px}html[data-platform=android] .widget-card{background:linear-gradient(135deg,#eff8f2eb,#ddefe3cc)}
@media(max-width:760px){.widget-grid{grid-template-columns:1fr;gap:20px}.widget-controls{padding-inline:18px}.widget-card{padding:22px;min-height:185px}.widget-lock{padding:18px}.lock-widget{padding:15px;gap:10px;flex-wrap:wrap}.lock-widget>span{width:100%;padding-inline-start:32px}.widget-facts{gap:10px}.widget-explanation{font-size:13px}.widget-actions>button{flex:1}.widget-native-note{padding-bottom:18px}html[data-platform=android] .bottom-nav{width:100%;bottom:0;left:0;transform:none;border-radius:24px 24px 0 0;height:calc(78px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#edf6f0e8;box-shadow:0 -3px 18px #174d3514}html[data-platform=android] .bottom-nav .nav-pill{bottom:auto;height:60px;border-radius:20px;background:#b9e7d2b8}html[data-platform=android] .topbar{border-radius:0 0 20px 20px}html[data-platform=android] .sheet{border-radius:28px 28px 0 0}html[data-platform=android] .study-liquid{bottom:calc(92px + env(safe-area-inset-bottom) + var(--keyboard,0px))}}
/* Accessibility: labels, focus, contrast, size and motion are independent of color. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}button:focus-visible,[role=combobox]:focus-visible,a:focus-visible{outline:3px solid #00774b;outline-offset:3px}.glass-select-trigger[aria-invalid=true],.glass-file-trigger[aria-invalid=true]{outline:2px solid #a33428}.large-text .widget-card h2,.large-text .activity-glass h2{font-size:30px}.large-text :is(.widget-card p,.widget-card small,.widget-status,.widget-freshness,.widget-explanation,.widget-native-note p,.platform-settings p){font-size:17px}.large-text .sidebar .nav-item{font-size:16px}.high-contrast :is(.widget-card,.widget-lock,.lock-widget,.activity-glass,.widget-explanation){background:white;border-color:#185a3c;color:#163b2a}.high-contrast :is(.widget-card small,.widget-kicker,.widget-freshness,.widget-section-title,.widget-native-note p,.page-title p,.muted){color:#244c37}.high-contrast .widget-status{background:#e3f4e9;color:#004d2f;border:1px solid #185a3c}
@media(pointer:coarse),(max-width:760px){:is(.text-link,.icon-button,.glass-picker button,.secondary-nav button,.document-toolbar button){min-height:44px}.icon-button{min-width:44px}.setting-row{min-height:64px}.setting-row input{flex-shrink:0}.large-text .bottom-nav .nav-item{font-size:12px}.large-text .page-title h1{font-size:32px;overflow-wrap:anywhere}}
@media(prefers-reduced-transparency:reduce){:is(.card,.widget-card,.sheet,.glass-picker,.bottom-nav,.sidebar,.glass-piece){background:#f7fbf8!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}
@media(forced-colors:active){:is(.sidebar-glass-pill,.nav-pill,.glass-selection-track,.widget-card,.lock-widget,.activity-glass){background:Canvas;border:1px solid CanvasText;box-shadow:none}.sidebar [aria-current=page],.bottom-nav [aria-current=page]{text-decoration:underline}.toggle{appearance:auto}.glass-file-trigger,.glass-select-trigger{border:1px solid ButtonText}input[type=checkbox],input[type=radio]{appearance:auto!important}}
.high-contrast input.toggle{background:#c9d7ce!important;border:2px solid #235d40!important}.high-contrast input.toggle:checked{background:#00774b!important}.high-contrast input.toggle:before{background:#fff;top:1px;left:1px}.large-text .setting-row strong{font-size:17px}.large-text .setting-row small{font-size:15px;line-height:1.65}

/* Live operational clock; tabular digits avoid layout shifts. */
.live-clock{display:inline-flex;align-items:center;gap:9px;padding:9px 14px;border:1px solid rgba(255,255,255,.85);border-radius:99px;background:rgba(255,255,255,.65);backdrop-filter:blur(24px);color:#145b43;white-space:nowrap}
.live-clock time{font-variant-numeric:tabular-nums;font-weight:650;letter-spacing:.04em}.live-clock small{font-size:11px}.live-clock svg{width:17px;height:17px}
.live-clock{cursor:pointer;box-shadow:inset 0 1px 2px #fff,0 4px 14px #174f3614;transition:transform .22s cubic-bezier(.2,.8,.25,1.08),box-shadow .22s ease,background .22s ease}.live-clock:hover{background:rgba(255,255,255,.82);box-shadow:inset 0 1px 3px #fff,0 7px 20px #174f3622;transform:translateY(-1px)}.live-clock:active{transform:scale(.97)}
@keyframes clock-overlay-in{from{opacity:0}to{opacity:1}}@keyframes clock-surface-in{0%{opacity:0;transform:translateY(34px) scale(.76);filter:blur(14px)}58%{opacity:1;transform:translateY(-5px) scale(1.018);filter:blur(0)}78%{transform:translateY(2px) scale(.994)}100%{opacity:1;transform:none;filter:blur(0)}}
.clock-fullscreen{display:grid;place-items:center;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:clamp(18px,4vw,56px);border:0;background:transparent;color:#164b37;direction:rtl;overflow:hidden;animation:clock-overlay-in .42s ease-out both}.clock-fullscreen::backdrop{background:rgba(10,65,44,.2);backdrop-filter:blur(9px) saturate(1.15);-webkit-backdrop-filter:blur(9px) saturate(1.15);animation:clock-overlay-in .42s ease-out both}.clock-fullscreen-surface{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;width:min(1100px,100%);min-height:min(680px,82dvh);padding:clamp(22px,5vw,70px);border:1px solid #ffffffd9;border-radius:clamp(28px,5vw,58px);background:linear-gradient(145deg,#ffffffc7,#d8f2e4a6 58%,#8bd4ae70);box-shadow:inset 0 2px 4px #fff,0 30px 90px #073b2b45;backdrop-filter:blur(30px) saturate(1.35);-webkit-backdrop-filter:blur(30px) saturate(1.35);isolation:isolate;animation:clock-surface-in .62s cubic-bezier(.2,.85,.25,1.08) both}.clock-fullscreen-surface::before{content:"";position:absolute;inset:8% 12% auto;height:30%;border-radius:50%;background:#ffffff50;filter:blur(35px);pointer-events:none;z-index:-1}.clock-fullscreen-header{position:absolute;inset:clamp(22px,4vw,36px) clamp(22px,5vw,52px) auto;display:flex;align-items:flex-start;justify-content:space-between;width:calc(100% - clamp(44px,10vw,104px));direction:rtl}.clock-fullscreen-header h2{margin-top:5px;font-size:clamp(20px,3vw,32px);font-weight:650}.clock-fullscreen-header .eyebrow{color:#2b7456}.clock-fullscreen-header .icon-button{background:#ffffff86;border:1px solid #ffffffd4;color:#176042;box-shadow:inset 0 1px 2px #fff,0 5px 18px #1a593a17}.clock-fullscreen-display{position:absolute;inset:0;display:grid;place-items:center;width:auto;margin:0;padding:clamp(70px,10vh,120px) clamp(22px,5vw,70px) clamp(100px,14vh,150px);pointer-events:none}.clock-fullscreen-display time{display:block;max-width:100%;font-size:clamp(72px,min(12vw,16vh),190px);font-weight:600;letter-spacing:.045em;line-height:1;font-variant-numeric:tabular-nums;background:linear-gradient(180deg,#ffffff 0%,#dffff0 12%,#66d49a 28%,#0b754a 48%,#00603d 70%,#c1f7d7 100%);background-size:100% 145%;background-position:center 8%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:1.5px #ffffffb5;filter:drop-shadow(0 4px 2px #ffffff75) drop-shadow(0 16px 25px #1b6a4824)}.clock-fullscreen-meta{position:absolute;bottom:clamp(58px,9vh,92px);display:flex;align-items:center;gap:14px;margin:0;font-size:clamp(14px,2vw,21px);color:#376c54}.clock-fullscreen-meta span{padding-inline-start:14px;border-inline-start:1px solid #39775a55}.clock-fullscreen-hint{position:absolute;bottom:clamp(22px,4vh,42px);margin:0;font-size:clamp(11px,1.5vw,15px);color:#4b7b64;text-align:center}.clock-fullscreen:focus-visible{outline:none}
@media(max-width:760px){.clock-fullscreen{padding:12px}.clock-fullscreen-surface{width:100%;min-height:min(520px,78dvh);border-radius:30px;padding:22px}.clock-fullscreen-header{inset:22px;width:calc(100% - 44px)}.clock-fullscreen-display{padding:clamp(42px,9vh,80px) 18px clamp(94px,17vh,120px)}.clock-fullscreen-display time{font-size:clamp(58px,18vw,128px);letter-spacing:.025em}.clock-fullscreen-meta{flex-direction:column;gap:7px;bottom:62px}.clock-fullscreen-meta span{padding-inline-start:0;border-inline-start:0}.clock-fullscreen-hint{padding-inline:20px;bottom:20px}.header-actions>.live-clock{display:inline-flex;padding:6px 8px;gap:5px;font-size:11px}.header-actions>.live-clock small{display:none}.header-actions>.live-clock svg{width:15px;height:15px}}
@media(max-width:380px){.header-actions>.live-clock{padding-inline:5px}.header-actions>.live-clock time{font-size:10px}.clock-fullscreen-display time{font-size:clamp(48px,17vw,86px)}}
@media(prefers-reduced-motion:reduce){.live-clock{transition:none}.clock-fullscreen,.clock-fullscreen::backdrop,.clock-fullscreen-surface{animation:none}.clock-fullscreen::backdrop{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}}
.school-unavailable{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:230px;padding:30px}.school-unavailable>svg{width:30px;height:30px;color:#00a86b}.school-unavailable h2,.school-unavailable p{margin:0}.school-unavailable p{max-width:490px;line-height:1.7}
@media(max-width:700px){.header-actions>.live-clock{display:none}.page-title>.live-clock{align-self:flex-start}.schedule-controls{flex-wrap:wrap}.quick-grid .module-button{display:flex;flex-direction:column;gap:9px;text-align:center}.quick-grid .module-button small{font-size:11px;color:#63796e}}

.day-picker{grid-template-columns:repeat(7,minmax(0,1fr));max-width:none;margin-bottom:20px}.week-grid{grid-template-columns:repeat(7,minmax(155px,1fr))}
