
:root{font-family:Inter,Segoe UI,sans-serif;color:#172841;background:#f0f3f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}select{max-width:100%;padding:10px;border:1px solid #cbd5e2;border-radius:9px;background:white;color:#172841}.sound-row{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:16px}.sound-row label{grid-column:1/-1;margin:0}.capability{padding:15px;background:#edf2f8;border-radius:10px;line-height:1.6;font-size:14px}button{cursor:pointer;border:1px solid #cbd5e2;background:white;color:#172841;padding:12px 18px;border-radius:10px;font-weight:600}button:hover{filter:brightness(.95)}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #3993c7;outline-offset:3px}button.primary{background:#a4efce;border-color:#a4efce;color:#142e2c}header{max-width:1220px;margin:auto;padding:27px 28px;display:flex;justify-content:space-between;align-items:center}.brand{font-size:23px;font-weight:750;letter-spacing:-1px}.brand span{color:#168562}header small{font-size:14px;color:#53657d}main{max-width:1220px;margin:auto;padding:0 28px 40px}.layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(350px,.9fr);gap:24px}.focus{background:#132440;color:#fff;padding:34px;border-radius:22px;position:sticky;top:24px}.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:2px;color:#a4efce;font-weight:650}h1{font-size:32px;line-height:1.2;letter-spacing:-.8px;margin:20px 0 10px}p{line-height:1.55}.muted{color:#aebed4}.timer{font-size:clamp(44px,6vw,76px);font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-3px;margin:26px 0 4px}.timer-label{color:#aebed4;font-size:14px}.bar{height:5px;background:#34455f;border-radius:5px;margin:25px 0;overflow:hidden}.bar div{height:100%;background:#a4efce;transition:width 1s}.next{padding:18px 0 26px;border-top:1px solid #36465e}.next span{display:block;font-size:13px;color:#aebed4;margin-bottom:7px}.actions{display:flex;flex-wrap:wrap;gap:10px}.actions .action-link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 18px;border:1px solid #cbd5e2;border-radius:10px;background:white;color:#172841;font-weight:600;text-decoration:none}.actions .action-link:hover{filter:brightness(.95)}.actions .action-link:focus-visible{outline:3px solid #3993c7;outline-offset:3px}.focus button:not(.primary){background:#243953;color:white;border-color:#4b5d77}.note{font-size:14px;color:#aebed4;margin:20px 0 0}.settings{padding:24px;background:white;border-radius:18px;margin-top:20px}.settings h2,.schedule h2{font-size:20px;margin:0 0 16px;letter-spacing:-.4px}.settings label{display:flex;align-items:center;gap:10px;font-size:15px;margin:16px 0}.settings input[type=checkbox]{width:18px;height:18px;accent-color:#1b8467}.settings p{font-size:14px;color:#53657d}.schedule{background:white;border-radius:22px;padding:26px}.schedule-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.schedule-head p{margin:0;color:#66758a;font-size:14px}.schedule-head h2{margin-bottom:6px}.date{margin:20px 0;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px}input[type=date]{border:1px solid #d4dde8;padding:9px;border-radius:8px;min-width:0;color:#172841}.row{display:grid;grid-template-columns:88px 1fr;gap:13px;border-top:1px solid #e8edf3;padding:17px 10px;border-radius:5px}.row.current{background:#e9f8f1;border-left:3px solid #218260}.row.past{opacity:.55}.time{font-size:14px;color:#53657d;font-variant-numeric:tabular-nums}.task{font-size:15px;line-height:1.4;font-weight:600}.target{font-size:13px;color:#62748b;margin-top:4px}.tag{font-size:12px;color:#1a795d;font-weight:700;margin-top:5px}.footer{font-size:13px;color:#66758a;margin-top:20px}dialog{border:0;border-radius:18px;padding:28px;width:min(650px,94vw);color:#172841;box-shadow:0 30px 100px #0005}dialog::backdrop{background:#10203699}dialog h2{margin:0 0 12px}textarea{width:100%;min-height:260px;padding:13px;border:1px solid #bdc9d9;border-radius:9px;font-size:14px;line-height:1.6;margin:10px 0 15px}dialog p{color:#52647e}#error{color:#b32632;font-size:14px}#alarmModal{text-align:center;max-width:450px}#alarmModal h2{font-size:28px}.bell{font-size:40px;margin:10px}#status{font-size:14px;min-height:20px;color:#a4efce}.hidden{display:none}@media(max-width:800px){.layout{grid-template-columns:1fr}.focus{position:static}header,main{padding-left:18px;padding-right:18px}.focus{padding:26px}.schedule{padding:20px}header small{max-width:120px;text-align:right}.timer{font-size:64px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

:root{font-size:16px}body{line-height:1.5}button,input,select{min-height:46px}button:disabled{opacity:.5;cursor:default}.eyebrow,.timer-label,.next span,.note,.time,.target,.footer,.settings p,.settings label,.date,.schedule-head p,#status{font-size:1rem}.task{font-size:1.125rem}.focus{position:static}header{gap:16px;flex-wrap:wrap}header small{font-size:1rem;max-width:none!important}.timer{font-size:clamp(2.2rem,7vw,4.5rem);letter-spacing:-1px;overflow-wrap:anywhere}.settings{margin:0}.settings summary{font-size:1.2rem;font-weight:700;cursor:pointer;padding:6px}.settings-body{margin-top:20px}.schedule-head{flex-wrap:wrap}.row{grid-template-columns:minmax(100px,.35fr) minmax(0,1fr)}.row-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.row.past{opacity:1}.task,.target{overflow-wrap:anywhere}.tag{font-size:.9rem}.done-row .task{text-decoration:line-through}.row-actions button{padding:8px 12px;font-size:1rem}.repeat-days{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:12px 0}.repeat-days label{display:flex;gap:7px;align-items:center;padding:8px;border:1px solid #bdc9d9;border-radius:8px}.repeat-days input{min-height:24px;width:22px;height:22px}.field{display:block;margin:16px 0;font-size:1rem}.field input,.field select{display:block;width:100%;padding:10px;border:1px solid #9aabc0;border-radius:8px;color:#172841;background:white}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.empty{padding:24px 4px;color:#43556e}.error{color:#a51e29}.date{flex-wrap:wrap}.next strong{overflow-wrap:anywhere}dialog .actions{margin-top:18px}.layout{align-items:start}.muted,.timer-label,.next span,.note{color:#d0daea}.settings p,.time,.target,.footer,.schedule-head p{color:#43556e}@media(max-width:450px){.form-grid{grid-template-columns:1fr}.focus,.schedule{padding:20px}.row{grid-template-columns:1fr}.timer{font-size:2.8rem}.date input{width:100%}}
html[dir="rtl"]{font-family:"Segoe UI",Tahoma,Arial,sans-serif}html[dir="rtl"] .row.current{border-left:0;border-right:3px solid #218260}.timer,.time,input[type="time"]{direction:ltr;unicode-bidi:isolate}header select{max-width:180px}header label{margin-inline-start:auto}html[dir="rtl"] .brand{direction:ltr}button{white-space:normal}#previewRows{max-height:50vh;overflow:auto}
:root{font-size:100%}.skip-link{position:fixed;inset-inline-start:12px;top:-100px;padding:12px;background:#fff;color:#132440;z-index:9999}.skip-link:focus{top:12px}a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #1676a8;outline-offset:3px}dialog{max-height:90dvh;overflow:auto}button,select,input{max-width:100%}.layout>*{min-width:0}.field input{min-width:0}p,h1,h2,h3,label{overflow-wrap:anywhere}h1{font-size:2rem}.timer{font-size:clamp(2rem,8vw,4.5rem)}@media(max-width:600px){.sound-row,.form-grid{grid-template-columns:1fr}.settings{padding:8px}.date{align-items:stretch}.actions>button{flex:1 1 150px}}

.settings-dialog-header{position:sticky;top:-28px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;background:white;padding:12px 0;margin-bottom:12px}.settings-dialog-header h2{margin:0}#closeSettingsTop{font-size:28px;line-height:1;min-width:46px;padding:8px}
.guide-links{display:flex;flex-wrap:wrap;gap:14px;margin:32px 0}.guide-links a{color:#16684f;padding:8px}body.focus-view{background:#132440}body.focus-view header,body.focus-view .schedule,body.focus-view .guide-links,body.focus-view .focus>*:not(h1):not(.timer){display:none}body.focus-view .layout{display:block}body.focus-view .focus{min-height:90dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}body.focus-view h1{font-size:clamp(2rem,6vw,5rem)}body.focus-view #timer{font-size:clamp(4rem,15vw,12rem)}#exitFocus{position:fixed;top:16px;right:16px;z-index:100;display:none}body.focus-view #exitFocus{display:block}.view-switch{display:flex;gap:4px}.view-switch [aria-pressed=true]{background:#a4efce;border-color:#168562}.grid-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.grid-nav label{flex:1}.grid-scroll{height:600px;max-height:70dvh;overflow:auto;position:relative;border:1px solid #bdc9d9;border-radius:12px}.grid-canvas{height:2880px;position:relative;margin:0 8px 0 0}.grid-hour{position:absolute;left:0;right:0;height:120px;border-top:1px solid #d4dde8;font-size:12px;padding-left:4px}.grid-block{position:absolute;left:82px;right:6px;width:calc(100% - 88px);min-height:0;padding:2px 8px;text-align:start;overflow:hidden;border:1px solid #6b8dba;background:#edf3fb;border-radius:6px;font-size:14px;line-height:1.35;z-index:1}.grid-block span,.grid-block strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid-block.is-break{background:#f4f0e7;border-color:#98866a}.grid-block.is-current{background:#dcf6e9;border:2px solid #168562}.grid-block.is-done{background:#eef1f3;border-color:#798591}.grid-block.is-done strong{text-decoration:line-through}.grid-block.is-overdue{border-style:dashed}.grid-block:focus-visible{z-index:4;outline:3px solid #12639c}.grid-now{position:absolute;left:0;right:0;border-top:2px solid #b32332;color:#a31a29;font-size:11px;font-weight:700;z-index:3;pointer-events:none}.grid-now[hidden],#gridPanel[hidden],#rows[hidden]{display:none}.community{margin-top:32px;padding:24px;background:white;border-radius:18px}.community-comment{border-top:1px solid #cbd5e2;padding:20px 0;overflow-wrap:anywhere}.community [hidden]{display:none!important}body.focus-view .community{display:none}
.welcome{margin:0 0 24px;padding:22px 26px;background:#e3f3ec;border-radius:18px;display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);gap:28px;align-items:center}.welcome h2{font-size:clamp(1.4rem,3vw,1.9rem);margin:0 0 8px;letter-spacing:-.5px}.welcome p{max-width:760px;margin:0 0 12px}.welcome a,.resources a{color:#145f49}.exam-countdown-card{background:#fff;border:1px solid #c7ded4;border-radius:16px;padding:18px 20px}.exam-countdown-card h3{margin:0 0 12px;font-size:1.2rem}.exam-countdown-card label{display:block;font-weight:600;margin-bottom:6px}.exam-countdown-card input{width:100%;margin-bottom:10px}.exam-countdown-card #homeExamResult{font-weight:700;margin:2px 0 8px}.quick-steps{display:flex;flex-wrap:wrap;gap:12px 36px;padding-inline-start:22px;margin:12px 0}.resources{margin-top:32px;padding:24px;background:white;border-radius:18px}.resources h2{margin-top:0}.resources .guide-links{margin:12px 0}.community h2{margin-top:0}.community textarea{min-height:120px}body.has-tasks .quick-steps{display:none}body.has-tasks .welcome{padding:16px 22px}body.has-tasks .welcome h2{font-size:1.3rem}body.has-tasks .welcome p{margin-bottom:6px}body.empty-schedule .focus .timer,body.empty-schedule .focus .timer-label,body.empty-schedule .focus .bar,body.empty-schedule .focus .next,body.empty-schedule .focus .actions,body.empty-schedule .focus #status,body.empty-schedule .focus .note{display:none}body.empty-schedule .focus{padding:26px}body.empty-schedule .focus h1{font-size:1.5rem;margin-top:12px}.empty{margin:0;padding:20px 0}.empty strong{display:block;margin-bottom:8px}body.focus-view .welcome,body.focus-view .resources{display:none}@media(max-width:800px){.welcome{grid-template-columns:1fr}.exam-countdown-card{width:auto}body.empty-schedule .schedule{grid-row:1}.quick-steps{display:block}.quick-steps li{margin:6px 0}.welcome{padding:20px}.view-switch{width:100%}.view-switch button{flex:1}}
.community button{background:#a4efce;border-color:#a4efce;color:#142e2c}.community button:hover{background:#92e6c0;border-color:#92e6c0}.community button:disabled{background:#dce5e1;border-color:#dce5e1;color:#7a8782;cursor:not-allowed;filter:none}.community details>summary{color:#168562;font-weight:700;cursor:pointer}.community details>summary:hover{text-decoration:underline}
/* Focus View compatibility: the circular timer wrapper must remain visible. */
body.focus-view .focus>.chime-focus-timer-wrap{display:grid!important}

/* Focus View: hide the dashboard exam countdown card after it is moved into the Today signature header. */
body.today-dashboard-preview.focus-view .today-exam{display:none!important}

/* StudyTick Community — compact product-community layout */
.community{margin-top:32px;padding:0!important;background:transparent!important;border-radius:0!important}
.community-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 22px;background:var(--sc-accent-soft,#e3f3ec);border:1px solid var(--sc-border,#d7e4df);border-radius:18px}
.community-hero h2{margin:0 0 5px!important;font-size:clamp(1.35rem,2vw,1.75rem);letter-spacing:-.025em}
.community-hero p{margin:0;max-width:760px}.community-hero-note{margin-top:4px!important;font-size:.86rem;color:var(--sc-muted,#61706b)}
.community-load{flex:0 0 auto}.community-message{min-height:0;margin:10px 4px;color:var(--sc-muted,#61706b)}
.community-layout{display:grid;grid-template-columns:minmax(300px,35%) minmax(0,65%);gap:18px;align-items:start;margin-top:16px}
.community-sidebar{display:grid;gap:14px}.community-main{min-width:0}
.community-card{background:var(--sc-surface,#fff);border:1px solid var(--sc-border,#dce5e1);border-radius:16px;padding:18px;box-shadow:0 5px 18px rgba(20,46,44,.045)}
.community-card h3,.community-main h3{margin:0;font-size:1rem}.community-card-head,.community-toolbar,.community-toolbar-title,.auth-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
.rating-meta,.comment-count{font-size:.76rem;color:var(--sc-muted,#61706b)}.comment-count{padding:4px 8px;border-radius:999px;background:var(--sc-surface-soft,#edf3f1);white-space:nowrap}
.rating-overview{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:center;margin:14px 0 12px}
.rating-score strong{display:block;font-size:3rem;line-height:1;letter-spacing:-.06em}.average-stars{margin-top:8px;color:#168562;font-size:1.15rem;letter-spacing:2px}
.rating-distribution{display:grid;gap:6px}.rating-row{display:grid;grid-template-columns:24px 1fr 36px;gap:7px;align-items:center;font-size:.72rem;color:var(--sc-muted,#61706b)}
.rating-track{height:7px;border-radius:999px;background:var(--sc-surface-soft,#e8eeeb);overflow:hidden}.rating-fill{display:block;height:100%;border-radius:inherit;background:#168562}
.your-rating{padding-top:13px;border-top:1px solid var(--sc-border,#dce5e1)}.your-rating>label{display:block;font-weight:700;font-size:.82rem;margin-bottom:5px}
.star-picker{display:flex;gap:2px;margin:0 0 10px}.community .star-picker button{border:0!important;background:transparent!important;color:#b5bfbb!important;padding:2px 3px;font-size:1.55rem;line-height:1;box-shadow:none}
.community .star-picker button.is-selected,.community .star-picker button:hover{color:#168562!important;transform:none}
.community-primary{width:100%}.community .community-secondary{background:var(--sc-surface-soft,#edf3f1)!important;border-color:var(--sc-border,#dce5e1)!important;color:var(--sc-text,#142e2c)!important}
.feedback-composer h3{margin-bottom:12px}.feedback-composer textarea{min-height:86px!important;resize:vertical}.community-helper{font-size:.75rem;line-height:1.45;color:var(--sc-muted,#61706b);margin:7px 0 10px}
.community-auth{padding:0;overflow:hidden}.community-auth>summary{padding:14px 16px;list-style:none;cursor:pointer;font-weight:700;font-size:.86rem}.community-auth>summary::-webkit-details-marker{display:none}.community-auth>summary:after{content:"+";float:right;font-size:1.1rem}.community-auth[open]>summary:after{content:"−"}
.auth-inner{padding:0 16px 16px;border-top:1px solid var(--sc-border,#dce5e1)}.auth-inner h3{margin:14px 0 10px}.auth-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.auth-actions{margin-top:10px}
.auth-actions,.auth-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.auth-actions button,.auth-links button{width:100%;min-width:0;min-height:48px}
.auth-links{margin-top:10px}.community .auth-links button{padding:10px 12px!important;background:var(--sc-surface-soft,#edf3f1)!important;border:1px solid var(--sc-border,#dce5e1)!important;border-radius:12px!important;color:var(--sc-link,#168562)!important;text-decoration:none;font-size:.78rem;white-space:normal;line-height:1.2}
.signout-button{width:100%}.community-toolbar{padding:2px 2px 10px}.community-toolbar-title{justify-content:flex-start}.community-sort{display:flex;align-items:center;gap:7px;font-size:.78rem;color:var(--sc-muted,#61706b)}.community-sort select{width:auto;min-width:112px}
.community-feed{display:grid;gap:10px}.community-comment{border:1px solid var(--sc-border,#dce5e1)!important;border-radius:15px;padding:14px 16px!important;background:var(--sc-surface,#fff);box-shadow:0 4px 14px rgba(20,46,44,.035);overflow-wrap:anywhere}
.comment-head{display:flex;gap:11px;align-items:center}.comment-avatar{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;font-size:.76rem;font-weight:800;background:#dff3ea;color:#126d53}
.comment-meta{min-width:0;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.comment-meta strong{font-size:.9rem}.comment-date{margin:0!important;font-size:.7rem;color:var(--sc-muted,#61706b)}
.comment-body{margin:9px 0 10px 49px!important;line-height:1.5;font-size:.86rem;white-space:pre-wrap}.comment-actions{margin-left:49px;display:flex;align-items:center;gap:8px}
.community .comment-action{width:auto!important;padding:6px 10px!important;background:var(--sc-surface-soft,#edf3f1)!important;border-color:var(--sc-border,#dce5e1)!important;color:var(--sc-text,#142e2c)!important;font-size:.74rem}
.community .report-action{margin-left:auto;background:transparent!important;border-color:transparent!important;color:var(--sc-muted,#61706b)!important}
.community-pagination{margin-top:12px}.community-admin{margin-top:14px}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
html[data-theme="dark"] .community-hero{background:var(--sc-accent-soft);border-color:var(--sc-border)}html[data-theme="dark"] .community-card,html[data-theme="dark"] .community-comment{background:var(--sc-surface);border-color:var(--sc-border)}
@media(max-width:900px){.community-layout{grid-template-columns:1fr}.community-sidebar{grid-template-columns:1fr 1fr}.community-auth,.signout-button{grid-column:1/-1}.community-main{grid-column:1/-1}}
@media(max-width:640px){.community{margin-top:20px}.community-hero{padding:16px;align-items:flex-start;flex-direction:column;gap:10px}.community-load{width:100%}.community-layout{gap:12px;margin-top:12px}.community-sidebar{grid-template-columns:1fr}.community-auth,.signout-button{grid-column:auto}.community-card{padding:15px}.rating-overview{grid-template-columns:104px 1fr;gap:12px}.rating-score strong{font-size:2.55rem}.community-toolbar{align-items:flex-end;gap:8px}.community-toolbar-title{display:block}.comment-count{display:inline-block;margin-top:4px}.community-sort{flex-direction:column;align-items:flex-start;gap:3px}.community-sort select{min-width:105px}.comment-body,.comment-actions{margin-left:0!important}.comment-actions{flex-wrap:wrap}.auth-fields{grid-template-columns:1fr}.star-picker{justify-content:flex-start}.community .star-picker button{min-width:40px;min-height:40px}.community-pagination{display:grid;grid-template-columns:1fr 1fr}.community-pagination button{min-width:0}}


/* StudyTick intentional light/dark theme system */
html[data-theme="light"]{color-scheme:light;--sc-bg:#f6f3ed;--sc-surface:#fffdf8;--sc-surface-soft:#f1eee7;--sc-surface-raised:#fffaf3;--sc-text:#1f2b33;--sc-muted:#5f6b68;--sc-border:#d8d4ca;--sc-control-border:#89928d;--sc-accent:#a4efce;--sc-accent-hover:#92e6c0;--sc-accent-strong:#168562;--sc-link:#145f49;--sc-accent-soft:#e3f3ec;--sc-focus:#1d2b3b;--sc-focus-soft:#2b3a4c;--sc-focus-border:#526174;--sc-focus-text:#f7faf8;--sc-focus-muted:#d0daea;--sc-danger:#a51e29;--sc-shadow:0 18px 50px rgba(54,48,39,.08)}
html[data-theme="dark"]{color-scheme:dark;--sc-bg:#171a1d;--sc-surface:#202428;--sc-surface-soft:#262b30;--sc-surface-raised:#2b3035;--sc-text:#eef2ef;--sc-muted:#aab5b0;--sc-border:#465058;--sc-control-border:#65717a;--sc-accent:#a4efce;--sc-accent-hover:#92e6c0;--sc-accent-strong:#78d5b1;--sc-link:#78d5b1;--sc-accent-soft:#263a33;--sc-focus:#1d2b33;--sc-focus-soft:#293943;--sc-focus-border:#657784;--sc-focus-text:#f2f6f3;--sc-focus-muted:#aab9b5;--sc-danger:#f0b4b8;--sc-shadow:0 20px 60px rgba(0,0,0,.22)}
html[data-theme],html[data-theme] body{background:var(--sc-bg);color:var(--sc-text)}
html[data-theme] body{transition:background-color .18s ease,color .18s ease}
html[data-theme] header small,html[data-theme] .settings p,html[data-theme] .schedule-head p,html[data-theme] .time,html[data-theme] .target,html[data-theme] .footer,html[data-theme] .empty,html[data-theme] dialog p{color:var(--sc-muted)}
html[data-theme] .brand span{color:var(--sc-accent-strong)}
html[data-theme] a,html[data-theme] .welcome a,html[data-theme] .resources a,html[data-theme] .guide-links a,html[data-theme] .community details>summary{color:var(--sc-link)}
html[data-theme] button,html[data-theme] select,html[data-theme] input,html[data-theme] textarea,html[data-theme] .actions .action-link{background:var(--sc-surface-raised);color:var(--sc-text);border-color:var(--sc-control-border)}
html[data-theme] input::placeholder,html[data-theme] textarea::placeholder{color:var(--sc-muted);opacity:.82}
html[data-theme] button.primary,html[data-theme] .community button,html[data-theme] .view-switch [aria-pressed=true]{background:var(--sc-accent);border-color:var(--sc-accent);color:#172841}
html[data-theme] button.primary:hover,html[data-theme] .community button:hover{background:var(--sc-accent-hover);border-color:var(--sc-accent-hover)}
html[data-theme] button:focus-visible,html[data-theme] input:focus-visible,html[data-theme] textarea:focus-visible,html[data-theme] select:focus-visible,html[data-theme] a:focus-visible,html[data-theme] summary:focus-visible{outline-color:var(--sc-accent-strong)!important}
html[data-theme] .settings,html[data-theme] .schedule,html[data-theme] .community,html[data-theme] .resources,html[data-theme] article,html[data-theme] .card,html[data-theme] .panel{background:var(--sc-surface);color:var(--sc-text);border-color:var(--sc-border)}
html[data-theme] .welcome{background:var(--sc-accent-soft);color:var(--sc-text)}
html[data-theme] .exam-countdown-card{background:var(--sc-surface-raised);color:var(--sc-text);border-color:var(--sc-border)}
html[data-theme] .capability,html[data-theme] .restart-dialog-note{background:var(--sc-surface-soft);color:var(--sc-text)}
html[data-theme] .row{border-top-color:var(--sc-border)}
html[data-theme] .row.current{background:var(--sc-accent-soft);border-left-color:var(--sc-accent-strong)}
html[data-theme][dir="rtl"] .row.current{border-right-color:var(--sc-accent-strong)}
html[data-theme] .tag{color:var(--sc-link)}
html[data-theme] .repeat-days label{border-color:var(--sc-control-border)}
html[data-theme] dialog{background:var(--sc-surface-raised);color:var(--sc-text);box-shadow:var(--sc-shadow)}
html[data-theme] dialog::backdrop{background:rgba(12,17,20,.66)}
html[data-theme] .settings-dialog-header{background:var(--sc-surface-raised)}
html[data-theme] .skip-link{background:var(--sc-surface-raised);color:var(--sc-text);border-color:var(--sc-accent-strong)}
html[data-theme] .grid-scroll{border-color:var(--sc-control-border);background:var(--sc-surface)}
html[data-theme] .grid-hour{border-top-color:var(--sc-border);color:var(--sc-muted)}
html[data-theme="light"] .grid-block{background:#edf3f1;border-color:#77958a;color:var(--sc-text)}
html[data-theme="light"] .grid-block.is-break{background:#f2ede3;border-color:#93836b}
html[data-theme="light"] .grid-block.is-current{background:#dff3ea;border-color:#168562}
html[data-theme="light"] .grid-block.is-done{background:#ecebe7;border-color:#8c938f}
html[data-theme="dark"] .grid-block{background:#29323b;border-color:#657784;color:var(--sc-text)}
html[data-theme="dark"] .grid-block.is-break{background:#332f29;border-color:#887b68;color:var(--sc-text)}
html[data-theme="dark"] .grid-block.is-current{background:#263a33;border-color:#78d5b1;color:var(--sc-text)}
html[data-theme="dark"] .grid-block.is-done{background:#292d31;border-color:#65717a;color:var(--sc-muted)}
html[data-theme] .grid-now{border-top-color:var(--sc-danger);color:var(--sc-danger)}
html[data-theme] .community-comment{border-top-color:var(--sc-border)}
html[data-theme] .community button:disabled{background:var(--sc-surface-soft);border-color:var(--sc-border);color:var(--sc-muted)}
html[data-theme] .demo-banner{background:var(--sc-accent-soft);border-color:var(--sc-accent-strong);color:var(--sc-text)}
html[data-theme] .restart-strip{background:var(--sc-accent-soft);border-color:var(--sc-border);color:var(--sc-text)}
html[data-theme] .restart-strip p,html[data-theme] .restart-day-note{color:var(--sc-muted)}
html[data-theme] .restart-strip .restart-primary{background:var(--sc-accent-soft);border-color:var(--sc-accent-strong);color:var(--sc-text)}
html[data-theme] .restart-strip.is-restarted{background:var(--sc-surface-soft);border-color:var(--sc-border)}
html[data-theme] .grid-block.is-overdue{border-color:var(--sc-control-border)!important;background:var(--sc-surface-soft)!important;color:var(--sc-muted)!important}
html[data-theme] .focus,html[data-theme] body.focus-view{background:var(--sc-focus);color:var(--sc-focus-text)}
html[data-theme] .focus .eyebrow,html[data-theme] #status{color:var(--sc-accent)}
html[data-theme] .focus .muted,html[data-theme] .focus .timer-label,html[data-theme] .focus .next span,html[data-theme] .focus .note{color:var(--sc-focus-muted)}
html[data-theme] .focus .bar{background:var(--sc-focus-soft)}
html[data-theme] .focus .bar div{background:var(--sc-accent)}
html[data-theme] .focus .next{border-top-color:var(--sc-focus-border)}
html[data-theme] .focus button:not(.primary){background:var(--sc-focus-soft);color:var(--sc-focus-text);border-color:var(--sc-focus-border)}
html[data-theme] .focus-sounds{background:rgba(255,255,255,.055);border-color:var(--sc-focus-border)}
html[data-theme] .focus-sounds-row select{background:var(--sc-focus-soft)!important;color:var(--sc-focus-text)!important;border-color:var(--sc-focus-border)!important}
html[data-theme] .focus-sounds-status,html[data-theme] .brain-dump-label{color:var(--sc-focus-muted)}
html[data-theme] .brain-dump-input{background:rgba(255,255,255,.065);color:var(--sc-focus-text);border-color:var(--sc-focus-border)}
html[data-theme] .brain-dump-input::placeholder{color:var(--sc-focus-muted)}
html[data-theme] .brain-dump-input:focus{border-color:var(--sc-accent);outline-color:var(--sc-accent)}
html[data-theme] .brain-dump-park{background:var(--sc-focus-soft)!important;border-color:var(--sc-focus-border)!important;color:var(--sc-focus-text)!important}
html[data-theme] .brain-dump-status{color:var(--sc-accent)}
html[data-theme] .brain-dump-review{background:var(--sc-surface-raised)!important;color:var(--sc-text)!important;border-color:var(--sc-control-border)!important}
html[data-theme] .brain-dump-item{background:var(--sc-surface-soft);border-color:var(--sc-border)}
html[data-theme] .brain-dump-item-meta{color:var(--sc-muted)}
html[data-theme] .error,html[data-theme] #error{color:var(--sc-danger)}
html[data-theme] .appearance-setting{padding:0 0 18px;margin:0 0 20px;border-bottom:1px solid var(--sc-border)}
html[data-theme] .appearance-setting h3{margin-top:0}
html[data-theme="dark"] input[type="date"]::-webkit-calendar-picker-indicator,html[data-theme="dark"] input[type="time"]::-webkit-calendar-picker-indicator{filter:invert(.85)}
@media(prefers-reduced-motion:reduce){html[data-theme] body{transition:none}}
@media(forced-colors:active){html[data-theme] button,html[data-theme] input,html[data-theme] select,html[data-theme] textarea{forced-color-adjust:auto}}

/* Restrained semantic timetable colors: meaning, not subject decoration. */
html[data-theme="light"] .kind-task{--kind-bg:#e7f6ef;--kind-border:#69ad90;--kind-accent:#168562}
html[data-theme="light"] .kind-break{--kind-bg:#eef3e8;--kind-border:#8da17a;--kind-accent:#627b50}
html[data-theme="light"] .kind-exercise{--kind-bg:#eaf0f5;--kind-border:#8298a8;--kind-accent:#526f84}
html[data-theme="light"] .kind-appointment{--kind-bg:#f1ecef;--kind-border:#9a8791;--kind-accent:#765f6b}
html[data-theme="light"] .kind-other{--kind-bg:#f1eee7;--kind-border:#9a9589;--kind-accent:#6c6a63}
html[data-theme="dark"] .kind-task{--kind-bg:#263a33;--kind-border:#78c7a6;--kind-accent:#a4efce}
html[data-theme="dark"] .kind-break{--kind-bg:#2d3529;--kind-border:#81956f;--kind-accent:#b7caa4}
html[data-theme="dark"] .kind-exercise{--kind-bg:#29333b;--kind-border:#71899a;--kind-accent:#aac2d3}
html[data-theme="dark"] .kind-appointment{--kind-bg:#342f38;--kind-border:#8e7a88;--kind-accent:#c6b1be}
html[data-theme="dark"] .kind-other{--kind-bg:#303033;--kind-border:#72777a;--kind-accent:#c0c5c4}
html[data-theme] .row[class*="kind-"]{background:var(--kind-bg);border-inline-start:3px solid var(--kind-border)}
html[data-theme] .row.current{background:var(--kind-bg);border-inline-start:4px solid var(--kind-accent);box-shadow:inset 0 0 0 1px var(--kind-border)}
html[data-theme] .row.done-row{background:var(--sc-surface-soft);border-inline-start-color:var(--sc-border);opacity:.72}
html[data-theme] .row[class*="kind-"] .tag{color:var(--kind-accent)}
html[data-theme] .grid-block[class*="kind-"]{background:var(--kind-bg);border-color:var(--kind-border);border-inline-start:4px solid var(--kind-border);color:var(--sc-text)}
html[data-theme] .grid-block[class*="kind-"].is-current{background:var(--kind-bg);border-color:var(--kind-accent);border-inline-start-color:var(--kind-accent);box-shadow:inset 0 0 0 1px var(--kind-accent)}
html[data-theme] .grid-block[class*="kind-"].is-done{background:var(--sc-surface-soft);border-color:var(--sc-border);border-inline-start-color:var(--sc-border);color:var(--sc-muted);opacity:.76}
html[data-theme] .grid-block[class*="kind-"].is-overdue{background:var(--sc-surface-soft)!important;border-color:var(--sc-control-border)!important;border-inline-start-color:var(--sc-control-border)!important;color:var(--sc-muted)!important}
html[data-theme="light"] body[data-current-kind="task"],html[data-theme="dark"] body[data-current-kind="task"]{--current-kind-accent:#a4efce}
html[data-theme="light"] body[data-current-kind="break"],html[data-theme="dark"] body[data-current-kind="break"]{--current-kind-accent:#b7caa4}
html[data-theme="light"] body[data-current-kind="exercise"],html[data-theme="dark"] body[data-current-kind="exercise"]{--current-kind-accent:#aac2d3}
html[data-theme="light"] body[data-current-kind="appointment"],html[data-theme="dark"] body[data-current-kind="appointment"]{--current-kind-accent:#c6b1be}
html[data-theme="light"] body[data-current-kind="other"],html[data-theme="dark"] body[data-current-kind="other"]{--current-kind-accent:#c0c5c4}
html[data-theme] body[data-current-kind]:not([data-current-kind=""]) .focus .eyebrow{color:var(--current-kind-accent)}
html[data-theme] body[data-current-kind]:not([data-current-kind=""]) .focus .bar div{background:var(--current-kind-accent)}


/* Preview: unified soft mint button language based on the original Low Stimulation control */
html[data-theme="light"]{
  --sc-button-bg:#e3f1eb;
  --sc-button-bg-hover:#d8ebe3;
  --sc-button-border:#8fb8a7;
  --sc-button-text:#174c3a;
}
html[data-theme="dark"]{
  --sc-button-bg:#263a33;
  --sc-button-bg-hover:#2d443b;
  --sc-button-border:#5f9d84;
  --sc-button-text:#d7f2e6;
}
html[data-theme] button,
html[data-theme] .actions .action-link,
html[data-theme] .view-switch button,
html[data-theme] .community button,
html[data-theme] .focus button,
html[data-theme] #exitFocus{
  background:var(--sc-button-bg)!important;
  border:1px solid var(--sc-button-border)!important;
  color:var(--sc-button-text)!important;
  border-radius:10px!important;
  box-shadow:none!important;
}
html[data-theme] button:hover,
html[data-theme] .actions .action-link:hover,
html[data-theme] .view-switch button:hover,
html[data-theme] .community button:hover,
html[data-theme] .focus button:hover,
html[data-theme] #exitFocus:hover{
  background:var(--sc-button-bg-hover)!important;
  border-color:var(--sc-button-border)!important;
  color:var(--sc-button-text)!important;
  filter:none!important;
}
html[data-theme] button.primary,
html[data-theme] .community button,
html[data-theme] .view-switch [aria-pressed="true"],
html[data-theme] .restart-strip .restart-primary{
  background:var(--sc-button-bg)!important;
  border-color:var(--sc-button-border)!important;
  color:var(--sc-button-text)!important;
}
html[data-theme] button:disabled,
html[data-theme] .community button:disabled{
  background:var(--sc-surface-soft)!important;
  border-color:var(--sc-border)!important;
  color:var(--sc-muted)!important;
  opacity:.68;
}
html[data-theme="light"] .low-stim-toggle{
  background:#f7faf8!important;
  border-color:#b9c8c1!important;
  color:#21483b!important;
}
html[data-theme="light"] .low-stim-toggle[aria-pressed="true"]{
  background:#e3f1eb!important;
  border-color:#8fb8a7!important;
  color:#174c3a!important;
}
html[data-theme="light"] .low-stim-toggle .low-stim-dot{display:block!important;background:#8b99a8!important}
html[data-theme="light"] .low-stim-toggle[aria-pressed="true"] .low-stim-dot{background:#31876a!important}
html[data-theme="dark"] .low-stim-toggle{
  background:#252e2a!important;
  border-color:#536b61!important;
  color:#d7e7df!important;
}
html[data-theme="dark"] .low-stim-toggle[aria-pressed="true"]{
  background:#263a33!important;
  border-color:#5f9d84!important;
  color:#d7f2e6!important;
}
html[data-theme="dark"] .low-stim-toggle .low-stim-dot{display:block!important;background:#81958c!important}
html[data-theme="dark"] .low-stim-toggle[aria-pressed="true"] .low-stim-dot{background:#78d5b1!important}

/* Focus View: keep exam countdown on Today, hide it only during distraction-free focus */
body.focus-view .today-exam,body.focus-view .exam-countdown-card{display:none!important}


/* Preview refinement: Exam Countdown keeps the same compact header footprint in setup and saved states. */
html[data-theme] .today-exam{
  height:122px!important;
  min-height:122px!important;
  max-height:122px!important;
  box-sizing:border-box!important;
}
html[data-theme] .today-exam.is-exam-setup{
  display:block!important;
  padding:15px 16px!important;
}
html[data-theme] .today-exam.is-exam-setup .chime-exam-ring{display:none!important}
html[data-theme] .today-exam.is-exam-setup h3{
  display:block!important;
  margin:0 0 8px!important;
  font-size:.70rem!important;
  line-height:1.1!important;
}
html[data-theme] .today-exam.is-exam-setup .exam-setup-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;
  gap:6px!important;
  align-items:end!important;
  margin:0!important;
}
html[data-theme] .today-exam.is-exam-setup .exam-field{min-width:0!important}
html[data-theme] .today-exam.is-exam-setup .exam-field label{
  display:block!important;
  margin:0 0 3px!important;
  font-size:.70rem!important;
  line-height:1.1!important;
  font-weight:650!important;
  white-space:nowrap!important;
}
html[data-theme] .today-exam.is-exam-setup .exam-field input{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:34px!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:6px 8px!important;
  border-radius:8px!important;
  font-size:.78rem!important;
}
html[data-theme] .today-exam.is-exam-setup .exam-save{
  width:auto!important;
  height:34px!important;
  align-self:end!important;
  justify-self:end!important;
  margin:0!important;
  padding:6px 10px!important;
  white-space:nowrap!important;
  font-size:.76rem!important;
}
html[data-theme] .today-exam.is-exam-setup #homeExamResult{
  display:none!important;
}
@media(max-width:480px){
  html[data-theme] .today-exam{
    height:122px!important;
    min-height:122px!important;
    max-height:122px!important;
  }
  html[data-theme] .today-exam.is-exam-setup{padding:13px 11px!important}
  html[data-theme] .today-exam.is-exam-setup .exam-setup-form{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;
    gap:5px!important;
  }
  html[data-theme] .today-exam.is-exam-setup .exam-field label{font-size:.64rem!important}
  html[data-theme] .today-exam.is-exam-setup .exam-field input{
    height:34px!important;
    min-height:34px!important;
    padding:5px 6px!important;
    font-size:.72rem!important;
  }
  html[data-theme] .today-exam.is-exam-setup .exam-save{
    height:34px!important;
    padding:5px 7px!important;
    font-size:.69rem!important;
  }
}


/* Exam Countdown saved-state fix: keep the approved 122px card and fully remove setup controls after Save. */
html[data-theme] .exam-countdown-card .exam-setup-form[hidden]{display:none!important}
html[data-theme] .today-exam.is-exam-configured{
  display:grid!important;
  grid-template-columns:76px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:16px!important;
  row-gap:0!important;
  align-content:center!important;
  align-items:center!important;
  height:122px!important;
  min-height:122px!important;
  max-height:122px!important;
  padding:16px 22px!important;
  overflow:hidden!important;
}
html[data-theme] .today-exam.is-exam-configured h3{display:none!important}
html[data-theme] .today-exam.is-exam-configured .chime-exam-ring{
  display:grid!important;grid-column:1!important;grid-row:1 / 3!important;align-self:center!important
}
html[data-theme] .today-exam.is-exam-configured #homeExamResult{
  display:block!important;grid-column:2!important;grid-row:1!important;align-self:end!important;min-width:0!important;margin:0!important
}
html[data-theme] .today-exam.is-exam-configured .exam-countdown-main{
  margin:0 0 3px!important;font-size:1.02rem!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important
}
html[data-theme] .today-exam.is-exam-configured .exam-countdown-date{
  margin:0!important;font-size:.80rem!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important
}
html[data-theme] .today-exam.is-exam-configured .exam-edit{
  display:inline-block!important;grid-column:2!important;grid-row:2!important;justify-self:start!important;align-self:start!important;
  width:auto!important;min-width:0!important;min-height:0!important;height:auto!important;margin:5px 0 0!important;padding:0!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important
}
html[data-theme] .today-exam.is-exam-configured .exam-edit[hidden]{display:none!important}
@media(max-width:480px){
  html[data-theme] .today-exam.is-exam-configured{grid-template-columns:64px minmax(0,1fr)!important;column-gap:11px!important;padding:13px 14px!important}
  html[data-theme] .today-exam.is-exam-configured .chime-exam-ring{--ring-size:58px!important}
  html[data-theme] .today-exam.is-exam-configured .exam-countdown-main{font-size:.92rem!important}
  html[data-theme] .today-exam.is-exam-configured .exam-countdown-date{font-size:.72rem!important}
}


/* Mobile audit 2026-10-07: narrow-screen reflow, touch targets, and safe areas. */
@media(max-width:480px){
  /* Keep the approved compact 122px exam card without squeezing 3 controls into one row. */
  html[data-theme] .today-exam.is-exam-setup{
    height:122px!important;
    min-height:122px!important;
    max-height:122px!important;
    padding:9px 11px!important;
    overflow:hidden!important;
  }
  html[data-theme] .today-exam.is-exam-setup h3{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
  }
  html[data-theme] .today-exam.is-exam-setup .exam-setup-form{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-template-rows:auto 34px!important;
    gap:5px 7px!important;
    align-items:end!important;
    width:100%!important;
    height:auto!important;
    margin:0!important;
  }
  html[data-theme] .today-exam.is-exam-setup .exam-field{
    min-width:0!important;
    overflow:hidden!important;
  }
  html[data-theme] .today-exam.is-exam-setup .exam-field label{
    display:block!important;
    margin:0 0 2px!important;
    font-size:.68rem!important;
    line-height:1.1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  html[data-theme] .today-exam.is-exam-setup .exam-field input{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:34px!important;
    min-height:34px!important;
    margin:0!important;
    padding:4px 6px!important;
    font-size:16px!important;
    line-height:1!important;
    box-sizing:border-box!important;
  }
  html[data-theme] .today-exam.is-exam-setup .exam-save{
    grid-column:1 / -1!important;
    width:100%!important;
    min-width:0!important;
    height:34px!important;
    min-height:34px!important;
    margin:0!important;
    padding:5px 10px!important;
    font-size:.78rem!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  /* Saved countdown remains compact but Edit is a usable touch target. */
  html[data-theme] .today-exam.is-exam-configured .exam-edit{
    min-width:44px!important;
    min-height:30px!important;
    height:30px!important;
    margin:2px 0 0!important;
    padding:5px 8px!important;
    line-height:20px!important;
    text-align:center!important;
  }

  /* Phone dialogs and long secondary actions should not create cramped rows. */
  html[data-theme] dialog .actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  html[data-theme] dialog .actions > button,
  html[data-theme] dialog .actions > .action-link{
    width:100%!important;
    min-width:0!important;
  }

  /* Brain-dump metadata can wrap rather than forcing horizontal overflow. */
  html[data-theme] .brain-dump-item-meta{
    flex-wrap:wrap!important;
    align-items:flex-start!important;
  }

  /* Respect notches/home indicators for fixed Focus and undo controls. */
  html[data-theme] #exitFocus{
    top:max(12px,env(safe-area-inset-top,0px))!important;
    right:max(12px,env(safe-area-inset-right,0px))!important;
  }
  html[data-theme] .planning-undo{
    bottom:max(14px,env(safe-area-inset-bottom,0px))!important;
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
  }
  html[data-theme] body.focus-view .focus{
    min-height:100dvh!important;
    padding-top:calc(68px + env(safe-area-inset-top,0px))!important;
    padding-bottom:calc(22px + env(safe-area-inset-bottom,0px))!important;
  }
}


/* Mobile exam setup symmetry: equal field columns and identical controls. */
@media(max-width:480px){
  html[data-theme] .today-exam.is-exam-setup .exam-setup-form{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  html[data-theme] .today-exam.is-exam-setup .exam-field{
    width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;
  }
  html[data-theme] .today-exam.is-exam-setup .exam-field input,
  html[data-theme] .today-exam.is-exam-setup #homeExamDate{
    width:100%!important;min-width:0!important;max-width:none!important;
    height:34px!important;min-height:34px!important;box-sizing:border-box!important;
    -webkit-appearance:none;appearance:none;
  }
  html[data-theme] .today-exam.is-exam-setup input[type="date"]::-webkit-date-and-time-value{text-align:left}
}

/* Compact StudyTick settings system */
#settingsDialog.settings-dialog-modern{width:min(620px,calc(100vw - 24px));max-width:620px;max-height:calc(100dvh - 24px);padding:0;overflow:hidden;border:1px solid var(--sc-border);border-radius:14px}
#settingsDialog .settings-dialog-header{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;border-bottom:1px solid var(--sc-border)}
#settingsDialog .settings-dialog-header h2{margin:0;font-size:1.18rem;letter-spacing:-.02em}
#settingsDialog #closeSettingsTop{width:36px;min-width:36px;height:36px;min-height:36px;padding:0;border:0;background:transparent;font-size:1.45rem;line-height:1;color:var(--sc-muted)}
#settingsDialog .settings-modern-body{max-height:calc(100dvh - 142px);overflow:auto;padding:0 20px;margin:0;background:var(--sc-surface-raised)}
#settingsDialog .settings-group{padding:19px 0;border-bottom:1px solid var(--sc-border)}
#settingsDialog .settings-group:last-child{border-bottom:0}
#settingsDialog .settings-group h3{margin:0 0 14px;font-size:.76rem;line-height:1.2;letter-spacing:.1em;text-transform:uppercase;color:var(--sc-muted);font-weight:750}
#settingsDialog .settings-control+.settings-control{margin-top:16px}
#settingsDialog .settings-control-label{display:block;margin:0 0 8px;font-size:.92rem;font-weight:650;color:var(--sc-text)}
#settingsDialog .settings-helper{margin:7px 0 0;font-size:.79rem;line-height:1.45;color:var(--sc-muted)}
#settingsDialog .settings-segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:3px;border:1px solid var(--sc-border);border-radius:10px;background:var(--sc-surface-soft);gap:3px}
#settingsDialog .settings-segmented-two{grid-template-columns:repeat(2,minmax(0,1fr))}
#settingsDialog .settings-segmented button{min-height:38px;padding:7px 10px;border:0;border-radius:7px;background:transparent;color:var(--sc-muted);font-size:.84rem;font-weight:600;box-shadow:none}
#settingsDialog .settings-segmented button[aria-pressed="true"]{background:var(--sc-surface-raised);color:var(--sc-text);box-shadow:inset 0 0 0 1px var(--sc-control-border)}
#settingsDialog .settings-theme-segmented button{display:flex;align-items:center;justify-content:center;gap:6px}
#settingsDialog .theme-choice-icon{font-size:.95rem}
#settingsDialog .settings-day-pills{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:12px 0 4px;padding:0;border:0}
#settingsDialog .settings-day-pills label{position:relative;display:block;margin:0;padding:0;border:0;background:transparent}
#settingsDialog .settings-day-pills input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}
#settingsDialog .settings-day-pills label span{display:flex;align-items:center;justify-content:center;min-height:38px;padding:6px 4px;border:1px solid var(--sc-control-border);border-radius:9px;background:var(--sc-surface-raised);color:var(--sc-text);font-size:.78rem;font-weight:600;cursor:pointer}
#settingsDialog .settings-day-pills label:has(input:checked) span{background:var(--sc-accent-soft);border-color:var(--sc-accent-strong);color:var(--sc-text)}
#settingsDialog .settings-day-pills label:has(input:focus-visible) span{outline:3px solid var(--sc-accent-strong);outline-offset:2px}
#settingsDialog .settings-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
#settingsDialog .settings-sound-head,#settingsDialog .settings-sound-row{display:grid;grid-template-columns:62px minmax(0,1fr) 46px;gap:8px;align-items:center}
#settingsDialog .settings-sound-head{margin-bottom:6px;color:var(--sc-muted);font-size:.72rem}
#settingsDialog .settings-sound-head span:last-child{text-align:center}
#settingsDialog .settings-sound-row{margin:0 0 8px}
#settingsDialog .settings-sound-row label{margin:0;font-size:.86rem;font-weight:650}
#settingsDialog .settings-sound-row select{width:100%;min-width:0;min-height:40px;padding:7px 30px 7px 10px;border-radius:9px;font-size:.84rem}
#settingsDialog .settings-icon-button{width:42px;min-width:42px;height:40px;min-height:40px;padding:0;border-radius:9px;background:var(--sc-surface-raised);color:var(--sc-link);font-size:.82rem;font-weight:500}
#settingsDialog .settings-range{display:grid;grid-template-columns:62px minmax(0,1fr);gap:8px;align-items:center;margin:13px 0 0;font-size:.86rem;font-weight:650}
#settingsDialog .settings-range input{width:100%;min-height:28px;margin:0}
#settingsDialog .settings-toggle-list{display:grid;gap:10px}
#settingsDialog .settings-toggle{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;margin:0;font-size:.86rem;cursor:pointer}
#settingsDialog .settings-toggle input{position:absolute;opacity:0;pointer-events:none}
#settingsDialog .settings-toggle-ui{position:relative;width:36px;height:21px;border:1px solid var(--sc-control-border);border-radius:999px;background:var(--sc-surface-soft);transition:.15s ease}
#settingsDialog .settings-toggle-ui::after{content:"";position:absolute;top:3px;left:3px;width:13px;height:13px;border-radius:50%;background:var(--sc-muted);transition:.15s ease}
#settingsDialog .settings-toggle input:checked+.settings-toggle-ui{background:var(--sc-accent-soft);border-color:var(--sc-accent-strong)}
#settingsDialog .settings-toggle input:checked+.settings-toggle-ui::after{transform:translateX(15px);background:var(--sc-accent-strong)}
html[dir="rtl"] #settingsDialog .settings-toggle-ui::after{left:auto;right:3px}
html[dir="rtl"] #settingsDialog .settings-toggle input:checked+.settings-toggle-ui::after{transform:translateX(-15px)}
#settingsDialog .settings-toggle input:focus-visible+.settings-toggle-ui{outline:3px solid var(--sc-accent-strong);outline-offset:2px}
#settingsDialog .settings-indent{margin-left:48px}
html[dir="rtl"] #settingsDialog .settings-indent{margin-left:0;margin-right:48px}
#settingsDialog .settings-secondary-action{min-height:40px;margin-top:12px;padding:8px 12px;border-radius:9px;background:var(--sc-surface-raised);font-size:.82rem;font-weight:550}
#settingsDialog .settings-live-status:empty{display:none}
#settingsDialog .settings-data-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
#settingsDialog .settings-data-actions button{width:100%;min-height:40px;padding:8px 12px;border-radius:9px;background:var(--sc-surface-raised);font-size:.84rem;font-weight:550}
#settingsDialog .settings-modern-footer{position:sticky;bottom:0;z-index:3;display:flex;justify-content:flex-end;padding:12px 20px;border-top:1px solid var(--sc-border);background:var(--sc-surface-raised)}
#settingsDialog .settings-modern-footer button{min-height:40px;padding:8px 16px;border-radius:9px;background:var(--sc-surface-raised);font-size:.84rem;font-weight:600}
.settings-confirm-dialog{width:min(420px,calc(100vw - 24px));padding:22px;border:1px solid var(--sc-border);border-radius:14px}
.settings-confirm-dialog h2{font-size:1.08rem}
.settings-confirm-actions{justify-content:flex-end}
@media(max-width:560px){
 #settingsDialog.settings-dialog-modern{width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px);margin:8px auto!important}
 #settingsDialog .settings-dialog-header{padding:14px 15px}
 #settingsDialog .settings-modern-body{max-height:calc(100dvh - 128px);padding:0 15px}
 #settingsDialog .settings-group{padding:16px 0}
 #settingsDialog .settings-day-pills{grid-template-columns:repeat(4,minmax(0,1fr))}
 #settingsDialog .settings-sound-head{display:none}
 #settingsDialog .settings-sound-row{grid-template-columns:58px minmax(0,1fr) 42px}
 #settingsDialog .settings-range{grid-template-columns:58px minmax(0,1fr)}
 #settingsDialog .settings-modern-footer{padding:10px 15px}
}
@media(max-width:360px){
 #settingsDialog .settings-segmented{grid-template-columns:1fr}
 #settingsDialog .settings-segmented-two{grid-template-columns:1fr 1fr}
 #settingsDialog .settings-day-pills{grid-template-columns:repeat(3,minmax(0,1fr))}
 #settingsDialog .settings-sound-row{grid-template-columns:1fr 42px}
 #settingsDialog .settings-sound-row label{grid-column:1/-1}
 #settingsDialog .settings-range{grid-template-columns:1fr}
}

/* Active time format is distinctly colored; inactive stays neutral. */
html[data-theme] #settingsDialog #timeFormatSegment button[aria-pressed="false"]{background:var(--sc-surface-raised)!important;border:1px solid transparent!important;color:var(--sc-muted)!important;box-shadow:none!important}
html[data-theme] #settingsDialog #timeFormatSegment button[aria-pressed="false"]:hover{background:var(--sc-surface-soft)!important;color:var(--sc-text)!important}
html[data-theme="light"] #settingsDialog #timeFormatSegment button[aria-pressed="true"]{background:#236b53!important;border:1px solid #236b53!important;color:#fff!important;box-shadow:none!important}
html[data-theme="dark"] #settingsDialog #timeFormatSegment button[aria-pressed="true"]{background:#8adcb8!important;border:1px solid #8adcb8!important;color:#173c2d!important;box-shadow:none!important}

/* Header controls: match the Focus view button in both themes. */
html[data-theme] header .group-timer-nav,
html[data-theme] header #focusView,
html[data-theme] header #lowStimulationToggle,
html[data-theme] header #openSettings {
  background:var(--sc-button-bg)!important;
  border:1px solid var(--sc-button-border)!important;
  color:var(--sc-button-text)!important;
  border-radius:10px!important;
  box-shadow:none!important;
}
html[data-theme] header .group-timer-nav:hover,
html[data-theme] header #focusView:hover,
html[data-theme] header #lowStimulationToggle:hover,
html[data-theme] header #openSettings:hover {
  background:var(--sc-button-bg-hover)!important;
  border-color:var(--sc-button-border)!important;
  color:var(--sc-button-text)!important;
  filter:none!important;
}
html[data-theme] header .group-timer-nav:focus-visible,
html[data-theme] header #focusView:focus-visible,
html[data-theme] header #lowStimulationToggle:focus-visible,
html[data-theme] header #openSettings:focus-visible {
  outline:2px solid var(--sc-accent-strong)!important;
  outline-offset:2px;
}

/* Focus view: show only the current-task timer. Keep Today/Timetable data intact. */
html[data-theme] body.today-dashboard-preview.focus-view .today-signature-head,
html[data-theme] body.today-dashboard-preview.focus-view .today-progress-card,
html[data-theme] body.today-dashboard-preview.focus-view .today-timeline-card,
html[data-theme] body.today-dashboard-preview.focus-view .today-manage-heading,
html[data-theme] body.today-dashboard-preview.focus-view .today-exam,
html[data-theme] body.today-dashboard-preview.focus-view .exam-countdown-card,
html[data-theme] body.today-dashboard-preview.focus-view .welcome-exam-only,
html[data-theme] body.today-dashboard-preview.focus-view .layout {
  display: none !important;
}
html[data-theme] body.today-dashboard-preview.focus-view .today-signature {
  grid-template-columns: minmax(0,1fr);
  gap: 0;
}

/* Prevent completion controls from widening narrow phone layouts. */
@media(max-width:480px){
  .today-dashboard-preview .today-timeline-item .today-timeline-actions{min-width:0;max-width:100%;width:100%;flex-direction:column;align-items:flex-start}
  .today-dashboard-preview .today-timeline-item .today-complete-btn{white-space:normal;max-width:100%;overflow-wrap:anywhere;text-align:left}
}


.welcome-exam-only{grid-template-columns:minmax(240px,320px);justify-content:end}@media(max-width:800px){.welcome-exam-only{grid-template-columns:1fr}}

/* StudyTick community pagination + official replies */
.community-pagination{display:flex!important;justify-content:flex-end!important;gap:8px!important;margin-top:14px!important}
.community-pagination[hidden]{display:none!important}
.community .community-pagination button{width:auto!important;min-width:0!important;min-height:36px!important;padding:7px 12px!important;border:1px solid var(--sc-border,#dce5e1)!important;border-radius:8px!important;background:var(--sc-surface,#fff)!important;color:var(--sc-text,#142e2c)!important;font-size:.78rem!important;font-weight:650!important;box-shadow:none!important}
.community .community-pagination button:hover{background:var(--sc-surface-soft,#edf3f1)!important;border-color:var(--sc-control-border,#89928d)!important}
.community .community-pagination button[hidden]{display:none!important}
.official-reply{margin:10px 0 10px 49px;padding:11px 13px;border-left:3px solid var(--sc-accent-strong,#168562);border-radius:0 10px 10px 0;background:var(--sc-accent-soft,#e3f3ec)}
.official-reply-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.official-reply-head strong{font-size:.82rem}
.official-badge{padding:2px 6px;border-radius:999px;background:var(--sc-surface,#fff);border:1px solid var(--sc-border,#dce5e1);font-size:.64rem;font-weight:700;color:var(--sc-accent-strong,#168562)}
.official-reply-date{font-size:.66rem;color:var(--sc-muted,#61706b)}.official-reply-body{margin:6px 0 0!important;font-size:.84rem;line-height:1.5;white-space:pre-wrap}
.community .official-reply-action{color:var(--sc-accent-strong,#168562)!important;font-weight:700!important}
.official-reply-composer{margin:10px 0 0 49px;padding:12px;border:1px solid var(--sc-border,#dce5e1);border-radius:10px;background:var(--sc-surface-soft,#edf3f1)}
.official-reply-composer label{display:block;font-size:.76rem;font-weight:700}.official-reply-composer textarea{display:block;width:100%;min-height:78px;margin-top:7px;resize:vertical}
.official-reply-controls{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}
.community .official-reply-controls button{width:auto!important;min-height:36px!important;padding:7px 11px!important;border-radius:8px!important}
.community .official-reply-cancel{background:var(--sc-surface,#fff)!important;border:1px solid var(--sc-border,#dce5e1)!important;color:var(--sc-text,#142e2c)!important}
.community .official-reply-publish{background:var(--sc-accent,#a4efce)!important;border:1px solid var(--sc-accent,#a4efce)!important;color:#142e2c!important}
@media(max-width:600px){.official-reply,.official-reply-composer{margin-left:0}.community-pagination{justify-content:stretch!important}.community .community-pagination button{flex:1}}


@media(max-width:450px){.schedule .row{grid-template-columns:minmax(0,1fr)}.schedule .row>*{min-width:0}.schedule .row .row-actions{grid-column:1/-1}}

.group-timer-nav{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 13px;text-decoration:none;color:#315d48;background:#f5faf7;border:1px solid #d8e3dc;border-radius:8px;font-size:13px;font-weight:650;white-space:nowrap}.group-timer-nav:hover{background:#eaf5ed}@media(max-width:680px){.group-timer-nav{padding:9px 10px;font-size:12px}header{flex-wrap:wrap}}

.studytick-help{margin-top:28px;padding:25px 28px;border:1px solid var(--sc-border,#dde2dc);border-radius:18px;background:var(--sc-surface,#fffdf8);color:var(--sc-text,#1f2b33)}.studytick-help-heading h2{font-size:1.25rem;letter-spacing:-.025em;margin:0 0 4px}.studytick-help-heading p{font-size:.91rem;color:var(--sc-muted,#64716c);margin:0}.studytick-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 36px;margin-top:20px;padding-top:21px;border-top:1px solid var(--sc-border,#dde2dc)}.studytick-help-group{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:9px}.studytick-help-group h3{font-size:.96rem;font-weight:700;margin:0 0 3px;color:inherit}.studytick-help-group a{display:inline-block;font-size:.92rem;color:var(--sc-link,#17674f);text-decoration:none;line-height:1.45}.studytick-help-group a:hover{text-decoration:underline}.studytick-help-group a:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:3px}.studytick-help-placeholder{font-size:.9rem;line-height:1.45;color:var(--sc-muted,#64716c)}.studytick-help-placeholder small{font-size:.75rem;opacity:.8;margin-left:4px}@media(max-width:600px){.studytick-help{margin-top:18px;padding:20px 18px;border-radius:14px}.studytick-help-grid{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:16px;padding-top:17px}.studytick-help-group{gap:10px}.studytick-help-group a{min-height:32px;padding:4px 0}}@media(min-width:601px) and (max-width:760px){.studytick-help-grid{gap:20px}}

/* Safari and Edge layout parity; mobile links. StudyTick preview. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-wrap:break-word}
a,button,[role="button"]{touch-action:manipulation}
.layout,.layout>*,.schedule,.focus,.studytick-help,.studytick-help-group,.group-timer-page .group-copy{min-width:0}
.grid-scroll,#previewRows,dialog{-webkit-overflow-scrolling:touch}
@supports(-webkit-touch-callout:none){button,.actions .action-link,.group-timer-page .group-outline{-webkit-appearance:none;appearance:none}input[type="date"],input[type="time"]{min-height:46px}body.focus-view .focus{min-height:90vh;min-height:90dvh}}
@media(max-width:800px){
 body{max-width:100%;overflow-x:hidden;overflow-x:clip}
 header,main{max-width:100%;min-width:0}
 header{gap:10px 12px;align-items:center}
 header .brand{flex:1 1 165px;min-width:0}
 header small{flex:0 1 auto;text-align:end}
 header label[for="language"]{margin-inline-start:0}
 header #language{flex:1 1 130px;min-width:0;max-width:100%}
 header .group-timer-nav,header #focusView,header #openSettings,header #lowStimulationToggle{min-height:44px;flex:1 1 105px;justify-content:center;text-align:center;white-space:normal}
 .layout{grid-template-columns:minmax(0,1fr)}
 .focus,.schedule,.community,.resources{width:100%;min-width:0}
 .actions .action-link,.schedule .actions a{min-height:44px;overflow-wrap:anywhere}
 .date>*{min-width:0}
}
@media(max-width:600px){
 header,main{padding-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right))}
 main{padding-bottom:calc(36px + env(safe-area-inset-bottom))}
 header .brand{font-size:22px}
 header small{font-size:13px}
 input,select,textarea{font-size:16px}
 .studytick-help-group{align-items:stretch;gap:7px}
 .studytick-help-group a{display:flex;align-items:center;min-height:44px;width:100%;padding:9px 11px;border:1px solid var(--sc-border,#dde2dc);border-radius:9px;text-decoration:none;line-height:1.35}
 .studytick-help-group a:active{background:var(--sc-accent-soft,#e3f3ec)}
 .group-timer-page .group-header{padding-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right))}
 .group-timer-page .group-wrap{padding-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right));padding-bottom:calc(50px + env(safe-area-inset-bottom))}
 .group-timer-page .group-copy{display:flex;flex-direction:column;gap:10px}
 .group-timer-page .group-copy input{width:100%;min-width:0;font-size:16px;min-height:48px}
 .group-timer-page .group-copy button,.group-timer-page #groupShare{width:100%;min-height:48px}
 .group-timer-page .group-back{min-height:44px;display:inline-flex;align-items:center}
}


body.today-dashboard-preview{background:#f4f6f9}.today-dashboard-preview main{max-width:1180px}.today-dashboard-preview .today-signature{display:grid;gap:18px}.today-signature-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:20px;align-items:stretch}.today-intro{padding:18px 4px;display:flex;flex-direction:column;justify-content:center}.today-kicker{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:750;color:#168562;margin-bottom:8px}.today-greeting{font-size:clamp(2rem,4vw,3.25rem);letter-spacing:-1.7px;margin:0;color:#132440}.today-date{margin:8px 0 0;color:#62748b;font-size:1.02rem}.today-exam{margin:0;border:1px solid #dbe5e0;background:#fff;box-shadow:0 8px 28px rgba(23,40,65,.05);padding:20px 22px}.today-exam h3{font-size:.78rem!important;letter-spacing:.1em;text-transform:uppercase;color:#62748b;margin-bottom:10px!important}.today-exam label,.today-exam input{display:none!important}.today-exam .exam-countdown-main{font-size:1.25rem;margin:0 0 5px;color:#132440}.today-exam .exam-countdown-date{font-size:.9rem}.today-dashboard-preview .focus{position:static;padding:30px 32px;border-radius:20px;box-shadow:0 14px 38px rgba(19,36,64,.12)}.today-dashboard-preview .focus .eyebrow{font-size:.76rem}.today-dashboard-preview .focus h1{font-size:clamp(1.8rem,4vw,2.8rem);margin:12px 0 7px}.today-dashboard-preview .focus .timer{font-size:clamp(3rem,7vw,5.3rem);margin:18px 0 2px}.today-dashboard-preview .focus .bar{margin:18px 0}.today-dashboard-preview .focus .next{padding:15px 0 18px}.today-progress-card,.today-timeline-card{background:#fff;border:1px solid #e0e6ed;border-radius:18px;padding:21px 24px;box-shadow:0 5px 18px rgba(23,40,65,.035)}.today-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}.today-section-label{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;font-weight:750;color:#62748b;margin-bottom:5px}.today-section-heading strong{font-size:1.08rem;color:#172841}.today-progress-percent{font-size:1.25rem;font-weight:750;color:#168562;font-variant-numeric:tabular-nums}.today-progress-track{height:7px;border-radius:99px;background:#edf1f5;overflow:hidden;margin:16px 0 9px}.today-progress-track>div{height:100%;width:0;background:#62bd9e;border-radius:inherit;transition:width .35s ease}.today-progress-meta{font-size:.88rem;color:#66758a}.today-timeline-card{padding-bottom:10px}.today-timeline-list{margin-top:13px}.today-timeline-item{display:grid;grid-template-columns:100px 18px minmax(0,1fr) auto;gap:11px;align-items:start;min-height:62px}.today-timeline-time{font-size:.85rem;color:#62748b;font-variant-numeric:tabular-nums;padding-top:4px}.today-timeline-rail{position:relative;height:100%}.today-timeline-rail:before{content:"";position:absolute;top:0;bottom:0;left:8px;width:1px;background:#dce3eb}.today-timeline-dot{position:absolute;top:7px;left:4px;width:9px;height:9px;border-radius:50%;background:#b4c0ce;border:2px solid #fff;box-shadow:0 0 0 1px #b4c0ce}.today-timeline-item.is-current .today-timeline-dot{background:#168562;box-shadow:0 0 0 2px #bce8d8}.today-timeline-item.is-done .today-timeline-dot{background:#7b899a}.today-timeline-body{padding:0 0 17px}.today-timeline-task{font-weight:680;color:#172841}.today-timeline-target{font-size:.84rem;color:#718095;margin-top:2px}.today-timeline-status{font-size:.76rem;font-weight:700;color:#68788c;background:#f2f5f8;border-radius:99px;padding:5px 9px;white-space:nowrap}.today-timeline-item.is-current .today-timeline-status{color:#11634c;background:#e7f7f1}.today-timeline-item.is-done{opacity:.62}.today-timeline-item.is-done .today-timeline-task{text-decoration:line-through}.today-timeline-empty{padding:16px 0 24px;color:#66758a}.today-timeline-empty button{margin-top:10px}.today-manage-heading{padding:20px 3px 0}.today-manage-heading span{font-weight:750;color:#172841}.today-manage-heading p{margin:4px 0 0;color:#718095;font-size:.9rem}.today-dashboard-preview .layout{display:block;margin-top:10px}.today-dashboard-preview .schedule{border:1px solid #e0e6ed;box-shadow:none}.today-dashboard-preview .resources,.today-dashboard-preview .community{opacity:.96}.today-dashboard-preview .restart-strip{margin-top:0}.today-dashboard-preview header{max-width:1180px;padding-bottom:20px}.today-dashboard-preview header small{order:2}body.today-dashboard-preview.focus-view .today-signature-head,body.today-dashboard-preview.focus-view .today-progress-card,body.today-dashboard-preview.focus-view .today-timeline-card,body.today-dashboard-preview.focus-view .today-manage-heading{display:none!important}@media(max-width:800px){.today-signature-head{grid-template-columns:1fr}.today-intro{padding:5px 2px}.today-exam{padding:17px 18px}.today-dashboard-preview .focus{padding:25px 22px}.today-progress-card,.today-timeline-card{padding:18px}.today-timeline-item{grid-template-columns:82px 16px minmax(0,1fr);gap:8px}.today-timeline-status{grid-column:3;margin-top:-12px;justify-self:start;margin-bottom:12px}.today-timeline-rail:before{left:7px}.today-timeline-dot{left:3px}.today-dashboard-preview header #clock{display:none}}@media(max-width:480px){.today-dashboard-preview main{padding-left:14px;padding-right:14px}.today-dashboard-preview header{padding-left:14px;padding-right:14px}.today-greeting{font-size:2.05rem}.today-dashboard-preview .focus .actions button{flex:1 1 100%}.today-timeline-item{grid-template-columns:70px 14px minmax(0,1fr)}}

/* Match Today dashboard colors to the timetable's restrained semantic palette. */
html[data-theme] .today-progress-card{
  background:color-mix(in srgb,var(--sc-accent-soft) 30%,var(--sc-surface))!important;
  border-color:color-mix(in srgb,var(--sc-accent-strong) 24%,var(--sc-border))!important;
}
html[data-theme] .today-progress-card .today-section-label,
html[data-theme] .today-progress-card .today-progress-meta{color:var(--sc-muted)!important}
html[data-theme] .today-progress-card .today-progress-summary{color:var(--sc-text)!important}
html[data-theme] .today-timeline-card{
  background:color-mix(in srgb,var(--sc-surface-soft) 36%,var(--sc-surface))!important;
  border-color:var(--sc-border)!important;
}
html[data-theme] .today-timeline-item[class*="kind-"] .today-timeline-body{
  background:color-mix(in srgb,var(--kind-bg,var(--sc-surface-soft)) 78%,var(--sc-surface))!important;
  border:1px solid color-mix(in srgb,var(--kind-border,var(--sc-border)) 42%,transparent);
  border-inline-start:3px solid color-mix(in srgb,var(--kind-accent,var(--kind-border,var(--sc-accent-strong))) 72%,transparent);
  border-radius:11px;
  padding:9px 12px 10px;
  margin:0 0 10px;
}
html[data-theme] .today-timeline-item.is-current .today-timeline-body{
  background:color-mix(in srgb,var(--kind-bg,var(--sc-accent-soft)) 68%,var(--sc-surface))!important;
  border-color:var(--kind-accent,var(--sc-accent-strong));
  border-inline-start:4px solid var(--kind-accent,var(--sc-accent-strong));
  box-shadow:0 5px 16px color-mix(in srgb,var(--kind-accent,var(--sc-accent-strong)) 10%,transparent);
}
html[data-theme] .today-timeline-item.is-overdue:not(.is-current) .today-timeline-body{
  background:color-mix(in srgb,var(--sc-surface-soft) 76%,var(--sc-surface))!important;
  border-color:color-mix(in srgb,var(--sc-border) 72%,transparent);
  border-inline-start-color:color-mix(in srgb,var(--sc-muted) 46%,transparent);
  opacity:.72;
}
html[data-theme] .today-timeline-item.is-done .today-timeline-body{
  background:color-mix(in srgb,var(--sc-surface-soft) 70%,var(--sc-surface))!important;
  border-color:color-mix(in srgb,var(--sc-border) 60%,transparent);
  border-inline-start-color:color-mix(in srgb,var(--sc-border) 72%,transparent);
}
html[data-theme] .today-timeline-item[class*="kind-"] .today-timeline-status{
  background:color-mix(in srgb,var(--kind-bg,var(--sc-surface-soft)) 72%,var(--sc-surface))!important;
  color:var(--kind-accent,var(--sc-muted))!important;
}
html[data-theme] .today-timeline-item.is-current .today-timeline-status{
  background:color-mix(in srgb,var(--kind-bg,var(--sc-accent-soft)) 82%,var(--sc-surface))!important;
  color:var(--kind-accent,var(--sc-accent-strong))!important;
}
html[data-theme] .today-timeline-item.is-overdue:not(.is-current) .today-timeline-status{
  background:var(--sc-surface-soft)!important;color:var(--sc-muted)!important;
}

/* Timeline completion control: use the existing finish() state and timetable palette. */
.today-timeline-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px;min-width:max-content}
html[data-theme] .today-complete-btn{
  appearance:none;border:1px solid color-mix(in srgb,var(--kind-border,var(--sc-border)) 62%,transparent);
  border-radius:999px;padding:6px 10px;background:color-mix(in srgb,var(--kind-bg,var(--sc-accent-soft)) 74%,var(--sc-surface));
  color:var(--kind-accent,var(--sc-accent-strong));font:inherit;font-size:.76rem;font-weight:730;line-height:1.2;
  cursor:pointer;white-space:nowrap;box-shadow:none;transition:background .14s ease,border-color .14s ease,transform .14s ease;
}
html[data-theme] .today-complete-btn:hover{background:color-mix(in srgb,var(--kind-bg,var(--sc-accent-soft)) 90%,var(--sc-surface));border-color:var(--kind-accent,var(--sc-accent-strong));transform:translateY(-1px)}
html[data-theme] .today-complete-btn:focus-visible{outline:2px solid var(--kind-accent,var(--sc-accent-strong));outline-offset:2px}
@media(max-width:800px){
  .today-timeline-actions{grid-column:3;align-items:flex-start;flex-direction:row;flex-wrap:wrap;margin-top:-12px;margin-bottom:12px}
  .today-timeline-actions .today-timeline-status{grid-column:auto;margin:0;justify-self:auto}
}

html[data-theme] .today-undo-btn{
  appearance:none;border:1px solid color-mix(in srgb,var(--sc-border) 82%,transparent);
  border-radius:999px;padding:6px 10px;background:var(--sc-surface);
  color:var(--sc-muted);font:inherit;font-size:.76rem;font-weight:730;line-height:1.2;
  cursor:pointer;white-space:nowrap;box-shadow:none;transition:background .14s ease,border-color .14s ease,transform .14s ease;
}
html[data-theme] .today-undo-btn:hover{background:var(--sc-surface-soft);border-color:color-mix(in srgb,var(--sc-muted) 52%,var(--sc-border));transform:translateY(-1px)}
html[data-theme] .today-undo-btn:focus-visible{outline:2px solid var(--sc-accent-strong);outline-offset:2px}

/* Collapsible Your timetable section. */
.today-dashboard-preview .schedule .timetable-toggle{
  margin-inline-start:auto;align-self:flex-start;min-height:38px;padding:7px 12px;border-radius:999px;
  font-size:.78rem;font-weight:730;color:var(--sc-muted);background:var(--sc-surface-soft);border:1px solid var(--sc-border);
}
.today-dashboard-preview .schedule .timetable-toggle:hover{color:var(--sc-text);border-color:color-mix(in srgb,var(--sc-accent-strong) 38%,var(--sc-border));background:color-mix(in srgb,var(--sc-accent-soft) 36%,var(--sc-surface))}
.today-dashboard-preview .schedule.timetable-collapsed{padding-bottom:20px}
.today-dashboard-preview .schedule.timetable-collapsed>:not(.schedule-head){display:none!important}
@media(max-width:480px){
  .today-dashboard-preview .schedule .schedule-head{align-items:center}
  .today-dashboard-preview .schedule .timetable-toggle{width:auto;flex:0 0 auto}
}

/* Optional Daily / Weekly timetable mode. */
.schedule-mode-switch{display:flex;gap:4px;padding:0;border:0;border-radius:0;background:transparent;margin-inline-start:auto}
.schedule-mode-switch button{width:92px;min-width:92px;min-height:46px;padding:12px 18px;border:1px solid var(--sc-button-border)!important;border-radius:10px!important;background:var(--sc-button-bg)!important;color:var(--sc-button-text)!important;font-size:1rem;font-weight:600;line-height:1.35}
.schedule-mode-switch button[aria-pressed="true"]{background:var(--sc-button-bg)!important;border-color:var(--sc-button-border)!important;color:var(--sc-button-text)!important;box-shadow:none!important}
.schedule-head .view-switch button{min-height:46px;padding-top:12px;padding-bottom:12px;line-height:1.35}
.weekly-tools{display:flex;align-items:center;gap:10px;margin:16px 0 4px;padding:10px;border:1px solid var(--sc-border);border-radius:14px;background:color-mix(in srgb,var(--sc-surface-soft) 58%,var(--sc-surface))}
.weekly-day-strip{display:grid;grid-template-columns:repeat(7,minmax(72px,1fr));gap:6px;flex:1}
.weekly-day-strip button{min-height:40px;padding:7px 8px;border-radius:10px;font-size:.78rem;color:var(--sc-muted);background:var(--sc-surface);border:1px solid var(--sc-border)}
.weekly-day-strip button.is-selected{color:var(--sc-text);background:color-mix(in srgb,var(--sc-accent-soft) 88%,var(--sc-surface));border-color:var(--sc-accent-strong);font-weight:800;box-shadow:0 0 0 2px color-mix(in srgb,var(--sc-accent-strong) 12%,transparent)}
.weekly-agenda-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:10px 0 4px;padding:14px 16px;border:1px solid var(--sc-border);border-radius:14px;background:color-mix(in srgb,var(--sc-surface) 92%,var(--sc-accent-soft))}
.weekly-agenda-info{display:grid;gap:3px;min-width:0}.weekly-agenda-info strong{font-size:1rem;color:var(--sc-text)}.weekly-agenda-info span{font-size:.82rem;color:var(--sc-muted)}
.weekly-agenda-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.weekly-add-task,.weekly-copy-day{white-space:nowrap;min-height:40px;padding:7px 11px;border-radius:10px}
.weekly-copy-source{display:grid;gap:6px;margin:14px 0 4px;font-weight:700;color:var(--sc-text)}
.weekly-copy-source select{min-height:44px;padding:8px 11px;border:1px solid var(--sc-border);border-radius:10px;background:var(--sc-surface);color:var(--sc-text);font:inherit}
.weekly-copy-empty{margin:8px 0 0;color:var(--sc-muted);font-size:.88rem}
.weekly-copy-day:not(:disabled){cursor:pointer;color:var(--sc-button-text);opacity:1}
.weekly-copy-targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:0;padding:0;margin:14px 0}
.weekly-copy-targets label{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid var(--sc-border);border-radius:10px}
body.weekly-schedule-mode #repeatDays,body.weekly-schedule-mode #repeatDays+ p{opacity:.45;pointer-events:none}
@media(max-width:800px){
 .schedule-mode-switch{order:2;margin-inline-start:0}
 .weekly-tools{display:block}
 .weekly-day-strip{display:flex;overflow-x:auto;scrollbar-width:thin;padding:2px 1px 5px;scroll-snap-type:x proximity}
 .weekly-day-strip button{flex:0 0 auto;min-width:78px;scroll-snap-align:center}
 .weekly-agenda-head{align-items:flex-start}
}
@media(max-width:560px){
 .weekly-agenda-head{display:grid;grid-template-columns:1fr}
 .weekly-agenda-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
 .weekly-agenda-actions button{width:100%;min-width:0}
}
@media(max-width:480px){
 .weekly-copy-targets{grid-template-columns:1fr}
}

/* Clear hierarchy: management actions belong to Manage your timetable; timetable controls stay with Your timetable. */
.today-manage-heading{
  padding:22px 24px 24px;
  background:var(--sc-surface);
  border:1px solid var(--sc-border);
  border-radius:18px;
  box-shadow:none;
}
.today-manage-heading>span{display:block;font-size:1.08rem;font-weight:750;color:var(--sc-text)}
.today-manage-heading>p{margin-top:7px!important}
.today-manage-heading .today-manage-actions{
  display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;
}
.today-manage-heading .today-manage-actions>*{
  min-height:46px;
}
.today-dashboard-preview .schedule{margin-top:14px}
.today-dashboard-preview .schedule>.schedule-head{
  align-items:center;
  padding-bottom:2px;
}
.today-dashboard-preview .schedule>.schedule-head>div:first-child{flex:1 1 auto}
.today-dashboard-preview .schedule>.schedule-head .timetable-toggle{
  margin-inline-start:auto;
  flex:0 0 auto;
}
.timetable-controls-row{
  display:flex;align-items:center;justify-content:flex-start;gap:12px;flex-wrap:wrap;
  margin:16px 0 4px;padding-top:14px;border-top:1px solid var(--sc-border);
}
.timetable-controls-row .schedule-mode-switch{margin-inline-start:0}
.timetable-controls-row .view-switch{margin-inline-start:0}
@media(max-width:800px){
  .today-manage-heading{padding:18px}
  .today-manage-heading .today-manage-actions{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
  }
  .today-manage-heading .today-manage-actions>*{width:100%;min-width:0;text-align:center;white-space:normal}
  .timetable-controls-row{display:grid;grid-template-columns:1fr;gap:8px}
  .timetable-controls-row .schedule-mode-switch,
  .timetable-controls-row .view-switch{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .timetable-controls-row .schedule-mode-switch button{width:100%;min-width:0}
}
@media(max-width:420px){
  .today-manage-heading .today-manage-actions{grid-template-columns:1fr}
}



/* Approved Your timetable planner redesign */
.today-dashboard-preview .schedule{padding:24px!important;border-radius:18px!important;overflow:visible}
.today-dashboard-preview .schedule>.schedule-head{padding-bottom:2px}
.today-dashboard-preview .schedule>.schedule-head h2{font-size:1.32rem;margin-bottom:5px}
.today-dashboard-preview .timetable-controls-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin:16px 0 12px!important;padding:14px 0 0!important;border-top:1px solid var(--sc-border)!important}
.today-dashboard-preview .schedule-mode-switch,.today-dashboard-preview .schedule>.timetable-controls-row .view-switch{display:grid!important;grid-template-columns:1fr 1fr!important;gap:4px!important;padding:3px!important;border:1px solid var(--sc-border)!important;border-radius:11px!important;background:var(--sc-surface-soft)!important;width:auto!important}
.today-dashboard-preview .schedule-mode-switch button,.today-dashboard-preview .schedule>.timetable-controls-row .view-switch button{min-width:104px!important;width:auto!important;min-height:42px!important;padding:9px 15px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:var(--sc-text)!important;box-shadow:none!important}
.today-dashboard-preview .schedule-mode-switch button[aria-pressed="true"],.today-dashboard-preview .schedule>.timetable-controls-row .view-switch button[aria-pressed="true"]{background:var(--sc-accent-strong)!important;color:var(--sc-surface-raised)!important}
.today-dashboard-preview .weekly-tools{margin:0 0 12px!important;padding:0!important;border:0!important}
.today-dashboard-preview .weekly-day-strip{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:8px!important;overflow:visible!important}
.today-dashboard-preview .weekly-day-strip button{display:grid!important;place-items:center!important;gap:3px!important;min-width:0!important;min-height:72px!important;padding:10px 7px!important;border:1px solid var(--sc-border)!important;border-radius:11px!important;background:var(--sc-surface)!important;color:var(--sc-text)!important;box-shadow:none!important}
.today-dashboard-preview .weekly-day-strip button.is-selected{background:color-mix(in srgb,var(--sc-accent-soft) 78%,var(--sc-surface))!important;border-color:var(--sc-accent-strong)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sc-accent-strong) 22%,transparent)!important}
.weekly-day-name{display:block;font-size:.9rem;font-weight:800;line-height:1.15}.weekly-day-meta{display:block;font-size:.76rem;font-weight:600;color:var(--sc-muted);line-height:1.2;font-variant-numeric:tabular-nums}.weekly-day-strip button.is-selected .weekly-day-meta{color:var(--sc-accent-strong)}
.today-dashboard-preview .weekly-agenda-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin:14px -24px 0!important;padding:17px 24px 14px!important;border:0!important;border-top:1px solid var(--sc-border)!important;border-radius:0!important;background:transparent!important}
.weekly-agenda-info{display:grid!important;gap:2px!important}.weekly-agenda-info strong{font-size:1.35rem!important;letter-spacing:-.3px}.weekly-agenda-info span{font-size:.84rem!important;color:var(--sc-muted)!important}
.weekly-agenda-actions{display:flex!important;gap:8px!important}.weekly-agenda-actions button{min-height:42px!important;padding:9px 14px!important;border-radius:9px!important}.weekly-add-task{background:var(--sc-accent-strong)!important;border-color:var(--sc-accent-strong)!important;color:var(--sc-surface-raised)!important}
.today-dashboard-preview #rows{position:relative;margin-top:2px}
.today-dashboard-preview #rows>.row{display:grid!important;grid-template-columns:88px minmax(0,1fr)!important;gap:12px!important;align-items:stretch!important;padding:0!important;margin:0 0 9px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;opacity:1!important}
.today-dashboard-preview #rows>.row>.time{padding:13px 0 0!important;font-size:.79rem!important;color:var(--sc-muted)!important;line-height:1.25!important;text-align:start!important}
.planner-card{min-width:0;display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:64px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--kind-border,var(--sc-border)) 34%,var(--sc-border));border-radius:10px;background:color-mix(in srgb,var(--kind-bg,var(--sc-surface-soft)) 86%,var(--sc-surface));position:relative}
.row.current .planner-card{border-color:var(--kind-accent,var(--sc-accent-strong));box-shadow:inset 4px 0 0 var(--kind-accent,var(--sc-accent-strong))}html[dir="rtl"] .row.current .planner-card{box-shadow:inset -4px 0 0 var(--kind-accent,var(--sc-accent-strong))}
.row.overdue:not(.current):not(.done-row) .planner-card{background:var(--sc-surface-soft);border-color:var(--sc-border);opacity:.72}.row.done-row .planner-card{background:var(--sc-surface-soft);border-color:var(--sc-border);opacity:.68}
.planner-complete{width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;padding:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:var(--sc-surface)!important;border:1.5px solid var(--kind-border,var(--sc-control-border))!important;color:var(--kind-accent,var(--sc-accent-strong))!important;font-weight:800!important}
.done-row .planner-complete{background:var(--kind-accent,var(--sc-accent-strong))!important;color:var(--sc-surface-raised)!important;border-color:var(--kind-accent,var(--sc-accent-strong))!important}
.planner-body{min-width:0;display:grid;grid-template-columns:minmax(150px,1.3fr) minmax(100px,.8fr) auto;gap:12px;align-items:center}.planner-main{min-width:0}.planner-main .task{font-size:.98rem!important;line-height:1.25!important}.planner-main .planner-time{margin-top:3px;font-size:.78rem;color:var(--sc-muted);font-variant-numeric:tabular-nums}
.planner-goal{min-width:0;font-size:.8rem;color:var(--sc-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planner-kind{justify-self:start;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--kind-bg,var(--sc-surface-soft)) 64%,var(--sc-surface));color:var(--kind-accent,var(--sc-text));font-size:.74rem;font-weight:750;white-space:nowrap}.planner-status{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--kind-accent,var(--sc-accent-strong))}
.planner-actions{display:flex!important;align-items:center!important;gap:3px!important;grid-column:auto!important;flex-wrap:nowrap!important}.planner-actions button{min-width:34px!important;width:34px!important;min-height:34px!important;height:34px!important;padding:0!important;border:0!important;border-radius:8px!important;background:transparent!important;color:var(--sc-text)!important;font-size:1.05rem!important;line-height:1!important}.planner-actions button:hover{background:color-mix(in srgb,var(--sc-surface-soft) 75%,transparent)!important}
.planner-now-line{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;align-items:center;margin:1px 0 9px;color:var(--sc-danger);font-size:.74rem;font-weight:800;font-variant-numeric:tabular-nums}.planner-now-line span:last-child{position:relative;height:1px;border-top:1.5px dashed var(--sc-danger)}.planner-now-line span:last-child:before{content:"";position:absolute;left:-4px;top:-5px;width:9px;height:9px;border-radius:50%;background:var(--sc-danger)}.planner-now-line b{position:absolute;right:0;transform:translateY(-50%);padding:2px 8px;border-radius:999px;background:var(--sc-danger);color:white;font-size:.66rem;letter-spacing:.04em}
.planner-add-another{width:calc(100% - 100px)!important;margin:4px 0 2px 100px!important;min-height:42px!important;border:1px dashed var(--sc-control-border)!important;border-radius:10px!important;background:transparent!important;color:var(--sc-button-text)!important;font-weight:700!important}
.weekly-day-empty{margin:6px 0!important;padding:24px!important;border:1px dashed var(--sc-control-border)!important;border-radius:12px!important;text-align:center}.weekly-day-empty p{margin:0 0 12px!important;color:var(--sc-muted)!important}
@media(max-width:900px){.planner-body{grid-template-columns:minmax(120px,1fr) minmax(90px,.65fr) auto}.today-dashboard-preview .weekly-day-strip{display:flex!important;overflow-x:auto!important;scroll-snap-type:x proximity;padding-bottom:4px!important}.today-dashboard-preview .weekly-day-strip button{flex:0 0 104px!important;scroll-snap-align:center}}
@media(max-width:700px){.today-dashboard-preview .timetable-controls-row{display:grid!important;grid-template-columns:1fr!important}.today-dashboard-preview .schedule-mode-switch,.today-dashboard-preview .schedule>.timetable-controls-row .view-switch{width:100%!important}.today-dashboard-preview .schedule-mode-switch button,.today-dashboard-preview .schedule>.timetable-controls-row .view-switch button{min-width:0!important;width:100%!important}.today-dashboard-preview .weekly-agenda-head{align-items:flex-start!important}.planner-body{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px}.planner-goal{grid-column:1/2}.planner-kind{grid-column:2/3;grid-row:1/3}}
@media(max-width:520px){.today-dashboard-preview .schedule{padding:16px!important}.today-dashboard-preview .weekly-agenda-head{margin:12px -16px 0!important;padding:15px 16px 12px!important;display:grid!important;grid-template-columns:1fr!important}.weekly-agenda-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%}.today-dashboard-preview #rows>.row{grid-template-columns:64px minmax(0,1fr)!important;gap:7px!important}.today-dashboard-preview #rows>.row>.time{font-size:.7rem!important}.planner-card{grid-template-columns:30px minmax(0,1fr);gap:8px;padding:9px}.planner-complete{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important}.planner-body{grid-template-columns:1fr!important;gap:3px}.planner-kind{grid-column:1!important;grid-row:auto!important;justify-self:start}.planner-goal{grid-column:1!important}.planner-actions{grid-column:1/-1!important;justify-self:end!important;margin-top:-34px}.planner-main{padding-right:72px}.planner-now-line{grid-template-columns:64px minmax(0,1fr);gap:7px}.planner-add-another{width:calc(100% - 71px)!important;margin-left:71px!important}}



.low-stim-toggle{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:9px 13px;border-color:#b9c8c1;background:#f7faf8;color:#21483b}.low-stim-toggle[aria-pressed="true"]{background:#e3f1eb;border-color:#8fb8a7;color:#174c3a}.low-stim-toggle .low-stim-dot{width:8px;height:8px;border-radius:50%;background:#8b99a8}.low-stim-toggle[aria-pressed="true"] .low-stim-dot{background:#31876a}
.low-stim-caption{display:none;font-size:.82rem;color:#718095;margin:8px 0 0}
body.low-stimulation{background:#f7f7f4!important}
body.low-stimulation *,body.low-stimulation *::before,body.low-stimulation *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
body.low-stimulation header{padding-top:18px;padding-bottom:15px}
body.low-stimulation header #clock,body.low-stimulation header label[for="language"],body.low-stimulation header #language,body.low-stimulation header #openSettings{display:none!important}
body.low-stimulation .today-signature{gap:13px}
body.low-stimulation .today-signature-head{grid-template-columns:minmax(0,1fr) auto;gap:14px}
body.low-stimulation .today-intro{padding:8px 2px}
body.low-stimulation .today-kicker{display:none}
body.low-stimulation .today-greeting{font-size:clamp(1.55rem,3vw,2.15rem);letter-spacing:-.8px}
body.low-stimulation .today-date{font-size:.9rem;margin-top:4px}
body.low-stimulation .today-exam{min-width:250px;padding:14px 17px;box-shadow:none;border-color:#e1e4df;background:#fbfbf8}
body.low-stimulation .today-exam h3{display:none}
body.low-stimulation .today-exam .exam-countdown-main{font-size:1rem}
body.low-stimulation .today-exam .exam-countdown-date{font-size:.8rem;color:#748078}
body.low-stimulation .focus{box-shadow:none!important;padding:27px 30px!important;background:#1b2a3c!important}
body.low-stimulation .focus .eyebrow{opacity:.8}
body.low-stimulation .focus h1{font-size:clamp(1.65rem,3.5vw,2.35rem)!important}
body.low-stimulation .focus .timer{font-size:clamp(3rem,7vw,4.8rem)!important}
body.low-stimulation .focus .next,body.low-stimulation .focus .note{display:none!important}
body.low-stimulation .focus .actions button:not(.primary):not(#done){display:none!important}
body.low-stimulation .focus .actions .action-link{display:none!important}
body.low-stimulation .focus .bar{opacity:.72}
body.low-stimulation .today-progress-card{display:none!important}
body.low-stimulation .today-timeline-card{box-shadow:none;border-color:#e3e6e1;padding-top:18px}
body.low-stimulation .today-timeline-card .today-section-heading{align-items:start}
body.low-stimulation .today-timeline-card .today-timeline-summary{display:none}
body.low-stimulation .today-timeline-card .low-stim-caption{display:block}
body.low-stimulation .today-timeline-item{display:none!important}
body.low-stimulation .today-timeline-item.low-stim-visible{display:grid!important}
body.low-stimulation .today-timeline-item.low-stim-visible.is-done{display:none!important}
body.low-stimulation .today-timeline-status{background:transparent;padding:3px 0;color:#6b776f}
body.low-stimulation .today-timeline-item.is-current .today-timeline-status{background:transparent;color:#176a50}
body.low-stimulation .today-manage-heading,body.low-stimulation .layout,body.low-stimulation .resources,body.low-stimulation .community,body.low-stimulation .guide-links{display:none!important}
body.low-stimulation .restart-strip{box-shadow:none}
body.low-stimulation .planning-undo{box-shadow:none}
body.low-stimulation .brand{font-size:20px}
body.low-stimulation .brand::first-letter{color:transparent}
body.low-stimulation .today-timeline-dot{box-shadow:none}
@media(max-width:800px){body.low-stimulation .today-signature-head{grid-template-columns:1fr}body.low-stimulation .today-exam{min-width:0}body.low-stimulation header #focusView{display:none!important}.low-stim-toggle{margin-inline-start:auto}}
@media(prefers-reduced-motion:reduce){.low-stim-toggle{transition:none!important}}



:root{--chime-accent:var(--sc-accent-strong,#168562);--chime-mint:var(--sc-accent,#a4efce);--chime-track:var(--sc-border,#dbe4df)}
.chime-ring{--ring-size:72px;width:var(--ring-size);height:var(--ring-size);position:relative;display:inline-grid;place-items:center;flex:0 0 auto}.chime-ring svg{width:100%;height:100%;overflow:visible}.chime-ring-track,.chime-ring-progress{fill:none;stroke-width:5.5;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50px 50px}.chime-ring-track{stroke:var(--chime-track);stroke-dasharray:232.225 31.668}.chime-ring-progress{stroke:var(--chime-accent);stroke-dasharray:0 263.893;transition:stroke-dasharray .35s ease}.chime-ring-marker{fill:var(--chime-accent);stroke:var(--sc-surface,#fff);stroke-width:2}.chime-ring-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center;line-height:1.02;color:var(--sc-text,#172841);font-variant-numeric:tabular-nums}.chime-ring-value{font-weight:780;letter-spacing:-.04em}.chime-ring-center small{display:block;margin-top:3px;font-size:.55rem;text-transform:uppercase;letter-spacing:.08em;color:var(--sc-muted,#68788c);font-weight:700}
.brand.chime-brand{color:#212c31!important}.brand.chime-brand .chime-brand-word{color:#212c31!important}.brand.chime-brand .chime-brand-word>span{color:#168562!important}.chime-brand-mark .chime-ring-track{stroke:#212c31!important;opacity:.28}.chime-brand-mark .chime-ring-progress{stroke:#212c31!important}.chime-brand-mark .chime-ring-marker{fill:#168562!important;stroke:var(--sc-bg,#f6f3ed)!important}.brand.chime-brand{display:flex;align-items:center;gap:9px;letter-spacing:-.8px}.chime-brand-mark{--ring-size:29px}.chime-brand-mark .chime-ring-track,.chime-brand-mark .chime-ring-progress{stroke-width:7}.chime-brand-mark .chime-ring-center{display:none}.chime-brand-word{white-space:nowrap}.chime-brand-word span{color:var(--chime-accent)}
.today-exam.chime-exam{display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px;align-items:center}.chime-exam-ring{--ring-size:68px}.chime-exam-ring .chime-ring-value{font-size:1.18rem}.chime-exam-ring .chime-ring-progress{display:none}.chime-exam-ring .chime-ring-track{stroke:var(--chime-accent);opacity:.42}.today-exam.chime-exam h3{grid-column:1/-1;margin-bottom:0!important}.today-exam.chime-exam .exam-countdown-main{margin-top:0}
.today-dashboard-preview .focus.chime-focus-card{overflow:hidden}.chime-focus-timer-wrap{width:min(260px,72vw);height:min(260px,72vw);position:relative;display:grid;place-items:center;margin:17px 0 20px}.chime-focus-ring{position:absolute;inset:0;width:100%;height:100%}.chime-focus-ring .chime-ring-track,.chime-focus-ring .chime-ring-progress{stroke-width:3.8}.chime-focus-ring .chime-ring-track{stroke:rgba(255,255,255,.16)}.chime-focus-ring .chime-ring-progress{stroke:var(--chime-mint)}.chime-focus-ring .chime-ring-marker{fill:var(--chime-mint);stroke:var(--sc-focus,#132440);stroke-width:2.5}.chime-focus-timer-center{position:relative;z-index:1;text-align:center;padding:0 28px}.today-dashboard-preview .focus .chime-focus-timer-center .timer{font-size:clamp(2.35rem,5vw,3.7rem)!important;letter-spacing:-2px;margin:0!important;line-height:1.05}.today-dashboard-preview .focus .chime-focus-timer-center .timer-label{margin-top:9px}.today-dashboard-preview .focus.chime-focus-card>.bar{display:none!important}
.today-progress-card.chime-progress-card .today-section-heading{align-items:center}.chime-daily-ring{--ring-size:66px}.chime-daily-ring .chime-ring-value{font-size:.94rem}.today-progress-card.chime-progress-card>.today-progress-track{display:none}.today-progress-card.chime-progress-card .today-progress-meta{margin-top:12px}.today-progress-card.chime-progress-card .today-progress-percent{display:none}
.today-timeline-dot{width:13px!important;height:13px!important;left:2px!important;top:5px!important;background:var(--sc-surface,#fff)!important;border:2px solid #aeb9b4!important;box-shadow:none!important}.today-timeline-item.is-current .today-timeline-dot{border-color:var(--chime-accent)!important;background:var(--sc-surface,#fff)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--chime-accent) 18%,transparent)!important}.today-timeline-item.is-current .today-timeline-dot:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:var(--chime-accent);inset:2px}.today-timeline-item.is-done .today-timeline-dot{border-color:var(--chime-accent)!important;background:var(--chime-accent)!important}.today-timeline-item.is-done .today-timeline-dot:after{content:"";position:absolute;width:5px;height:3px;border-left:1.7px solid white;border-bottom:1.7px solid white;transform:rotate(-45deg);left:2px;top:2px}.today-timeline-rail:before{left:8px!important}.done-row .task:before{content:"✓";display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;margin-inline-end:7px;background:var(--chime-accent);color:white;font-size:11px;text-decoration:none;vertical-align:-1px}
html[data-theme="dark"] .chime-ring-marker{stroke:var(--sc-surface,#202428)}html[data-theme="dark"] .chime-focus-ring .chime-ring-marker{stroke:var(--sc-focus,#1d2b33)}
body.low-stimulation .chime-ring-progress{transition:none!important}body.low-stimulation .chime-daily-ring{display:none!important}body.low-stimulation .chime-focus-timer-wrap{width:min(230px,68vw);height:min(230px,68vw);margin-top:14px}body.low-stimulation .today-exam.chime-exam{grid-template-columns:60px minmax(0,1fr)}body.low-stimulation .chime-exam-ring{--ring-size:56px}
@media(max-width:800px){.today-exam.chime-exam{grid-template-columns:64px minmax(0,1fr)}.chime-exam-ring{--ring-size:58px}.chime-focus-timer-wrap{margin-inline:auto}.chime-daily-ring{--ring-size:58px}}@media(prefers-reduced-motion:reduce){.chime-ring-progress{transition:none!important}}

/* Mobile-only full width timetable fix (StudyTick) */
@media(max-width:700px){
.today-dashboard-preview .schedule,.today-dashboard-preview #rows{width:100%;min-width:0;max-width:100%}
.today-dashboard-preview #rows>.row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;min-width:0!important;max-width:100%!important;gap:5px!important;margin-bottom:14px!important}
.today-dashboard-preview #rows>.row>.time{min-width:0!important;padding:0 2px!important;font-size:.8rem!important;white-space:normal!important;overflow-wrap:normal!important}
.today-dashboard-preview #rows>.row>.planner-card{display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;grid-template-areas:"check content" "actions actions"!important;width:100%!important;max-width:100%!important;min-width:0!important;gap:8px 10px!important;padding:12px!important;align-items:start!important}
.today-dashboard-preview .planner-complete{grid-area:check;margin-top:2px}
.today-dashboard-preview .planner-body{grid-area:content;width:100%;min-width:0;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:6px!important}
.today-dashboard-preview .planner-main{min-width:0;max-width:100%;padding-right:0!important}
.today-dashboard-preview .planner-main .task{overflow-wrap:break-word!important;word-break:normal!important;white-space:normal!important;line-height:1.4!important}
.today-dashboard-preview .planner-time{white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important}
.today-dashboard-preview .planner-goal{max-width:100%;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:break-word!important}
.today-dashboard-preview .planner-kind{grid-column:auto!important;grid-row:auto!important}
.today-dashboard-preview .planner-actions{grid-area:actions!important;grid-column:auto!important;width:100%!important;display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:6px!important;margin:0!important;padding-top:5px!important;border-top:1px solid var(--sc-border,#d8d4ca)}
.today-dashboard-preview .planner-actions button{width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important}
.today-dashboard-preview .planner-now-line{grid-template-columns:minmax(0,1fr)!important;gap:4px!important}
.today-dashboard-preview .planner-add-another{width:100%!important;margin:6px 0!important}
}
@media(max-width:480px){
.today-dashboard-preview .today-timeline-item .today-timeline-actions{min-width:0;max-width:100%;width:100%;flex-direction:column;align-items:flex-start}
.today-dashboard-preview .today-timeline-item .today-complete-btn{white-space:normal;max-width:100%;overflow-wrap:anywhere;text-align:left}
}
/* Multilingual text safety: native scripts, RTL layouts, and narrow screens */
html[dir="rtl"] body{direction:rtl}
html[dir="rtl"] header .brand,html[dir="rtl"] .timer,html[dir="rtl"] .time,html[dir="rtl"] input[type="time"],html[dir="rtl"] #clock{direction:ltr;unicode-bidi:isolate}
html[dir="rtl"] input:not([type="time"]),html[dir="rtl"] textarea{text-align:start}
html[lang^="pa-Guru"]{font-family:system-ui,"Noto Sans Gurmukhi",sans-serif}
html[lang^="ja"]{font-family:system-ui,"Noto Sans JP",sans-serif}
html[lang^="ko"]{font-family:system-ui,"Noto Sans KR",sans-serif}
#language{min-width:0}
header,header>*{max-width:100%}

/* Mobile header repair 2026-10-10: contain navigation on narrow Safari/Chrome screens. */
@media(max-width:800px){
html[data-theme] body.today-dashboard-preview>header{
box-sizing:border-box!important;position:relative!important;top:auto!important;
width:100%!important;max-width:100%!important;min-width:0!important;
height:auto!important;min-height:0!important;margin:0 auto 10px!important;
padding:12px max(12px,env(safe-area-inset-left)) 12px max(12px,env(safe-area-inset-right))!important;
display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
align-items:center!important;gap:8px!important;overflow:visible!important}
html[data-theme] body.today-dashboard-preview>header>*{
box-sizing:border-box!important;min-width:0!important;max-width:100%!important;
margin:0!important;position:static!important;transform:none!important}
html[data-theme] body.today-dashboard-preview>header .brand{
grid-column:1!important;grid-row:1!important;justify-self:start!important;
width:auto!important;white-space:nowrap!important}
html[data-theme] body.today-dashboard-preview>header #clock{
grid-column:2!important;grid-row:1!important;justify-self:end!important;
text-align:right!important;font-size:12px!important}
html[data-theme] body.today-dashboard-preview>header label[for="language"]{display:none!important}
html[data-theme] body.today-dashboard-preview>header #language{
width:100%!important;grid-column:1/-1!important;min-height:42px!important}
html[data-theme] body.today-dashboard-preview>header :is(button,a.group-timer-nav){
width:100%!important;min-width:0!important;max-width:100%!important;
min-height:42px!important;height:auto!important;white-space:normal!important;
overflow-wrap:anywhere!important;line-height:1.3!important;
padding:9px 7px!important;text-align:center!important}
html[data-theme] body.today-dashboard-preview>main{
width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
}
