/* Mieli: white, deep green, pale green, with small warm accents. */
:root{--green:#176644;--line:#dbe7df;--mieli-ink:#193c30;--mieli-soft:#eef7ef;--mieli-gold:#916b20;--mieli-pink:#96385e;background:#fff;color:var(--mieli-ink);color-scheme:light}
html,body{background:#fff}
body{padding-top:env(safe-area-inset-top)}
body>header{position:sticky;top:0;z-index:30;background:#fffffff5;border-top:3px solid #b5d7b4;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.header-inner{max-width:950px;padding:16px 24px;gap:15px}
.brand{font-size:1.6rem;letter-spacing:-.045em;color:#193c30}
.brand .monogram{width:51px;height:51px;display:block;object-fit:contain;border-radius:50%;background:#fff;box-shadow:0 3px 9px #143b3014}
.brand small{color:#52665b;letter-spacing:0;font-size:.8rem;margin-top:3px}
#menu-toggle{border-color:#d5e3d9;background:#f5faf6;color:var(--green);min-width:46px}
.help-link{color:#176644;background:#eef7ef;border:1px solid #cce0d0;padding:10px 14px;border-radius:11px;min-height:44px;text-decoration:none;font-size:.85rem}
.toolbar{max-width:950px;padding:0 24px 13px}
.toolbar>a{color:var(--green);font-size:.9rem;font-weight:700}
.toolbar select{border-color:#d6e3d9;color:#234c3a;border-radius:10px;min-height:43px}
#menu-panel{padding:8px 24px 18px;max-height:50dvh;overflow:auto}
#menu-panel a{background:#f3f8f3;color:#24533d;border:1px solid #deebe0;border-radius:10px}
#menu-panel a[aria-current=page]{background:var(--green);color:#fff;border-color:var(--green)}
main{max-width:900px;padding:35px 24px 15px}
h1{font-size:clamp(2rem,5vw,3.1rem);letter-spacing:-.045em;line-height:1.12;color:#193c30}
h2{color:#234e38;letter-spacing:-.025em}
h3{color:#294c3a}
.lead{font-size:1.05rem;line-height:1.8;color:#56685e;max-width:640px}
.muted,.small{color:#52665b}
a{color:var(--green)}
button{background:#fff;border-color:#cadfce;color:#24533d;border-radius:11px;font-weight:680}
button:hover{background:#f0f7f1}
button.primary,button[aria-pressed=true],button[aria-selected=true]{background:var(--green);color:#fff;border-color:var(--green)}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:var(--mieli-gold);outline-offset:3px}
.levels{gap:12px;margin:15px 0 25px}
.levels button{min-height:60px;box-shadow:0 3px 12px #173b2a05}
.task-grid{gap:10px}
.task-grid button{background:#f5faf6;border:1px solid #dcebdd;min-height:60px;padding:14px 16px}
.task-grid button:hover{background:#e9f5e9}
.task-grid button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}
.card,.exercise-card{background:#fff;border-color:var(--line);border-radius:19px;box-shadow:0 7px 24px #193c3005;padding:clamp(19px,3vw,28px);margin:24px 0}
.exercise-card{border-top-color:#74b475;border-top-width:4px}
.exercise-card>h2{color:#176644}
.eyebrow{color:#527047;font-size:.77rem;letter-spacing:.12em}
details{background:#f5faf5;border-color:#deeadc;border-radius:12px;padding:13px 16px}
summary{color:#33583d;line-height:1.6}
textarea,input:not([type=checkbox]):not([type=radio]):not([type=file]),select{background:#fff;border-color:#cadbce;border-radius:11px;color:#193c30}
textarea{min-height:110px;line-height:1.75}
.week-day select,#pause-length{border-color:#cadbce;color:#193c30}
.week-grid{gap:16px}
.week-day{border-top:3px solid #b1cfab}
.week-day h2{font-size:1.2rem}
.week-save{position:sticky;bottom:12px;z-index:10;background:#ffffffed;border:1px solid #d9e5dc;border-radius:13px;padding:12px;box-shadow:0 4px 18px #143b3010;backdrop-filter:blur(10px)}
.week-save button{width:100%}
.timer-card{background:#f5f9f1;border-color:#dce7cf}
.timer-clock{color:#176644;font-weight:750}
.feelings{gap:10px}
.feelings button{background:#fbf5f7;border-color:#e8d4dd;color:#79415b}
.feelings button[aria-pressed=true]{background:#96385e;border-color:#96385e;color:white}
.message{background:#faf5e7;border-left-color:#c8a55a;color:#53462c;border-radius:0 10px 10px 0}
.quick-links a{border-color:#d7e7d8;background:#f8fbf6;color:#24533d;border-radius:12px}
.check input{accent-color:var(--green)}
.emergency{background:#fff8f6;border-color:#995041;color:#87382e}
button[data-erase],button.danger{color:#87382e;border-color:#d9b0a9;background:#fff9f7}
.family-links a{background:#fff;border-color:#d5e4d9;color:#24533d;border-radius:10px}
.family-links a[aria-current=page]{background:#176644;border-color:#176644;color:white}
.family-menu-links{border-color:var(--line)}
.family-menu-links a:hover{background:#f0f7f1}
.family-bottom{padding-bottom:calc(48px + env(safe-area-inset-bottom));max-width:900px}
#family-subjects{max-width:900px!important;margin:0 auto!important;padding:16px 24px 0!important}
.family-directory{background:#fff;color:#193c30}
.family-directory main{padding-bottom:60px}
.family-card{border-color:var(--line);box-shadow:0 5px 22px #193c3005}
#status{color:#24533d;max-width:900px;padding-left:24px;padding-right:24px}
#warning{background:#fff6e4;color:#6d481c;max-width:850px;border:1px solid #ead3aa}
footer{max-width:900px;color:#617064;border-color:var(--line);padding:25px 24px}
footer p{font-size:.82rem;line-height:1.8}
@media(max-width:600px){
 .header-inner{padding:12px 16px;gap:9px}
 .brand{font-size:1.3rem}
 .brand .monogram{width:43px;height:43px}
 .help-link{padding:9px 11px;font-size:.78rem;max-width:114px}
 .toolbar{padding:0 16px 12px;gap:10px}
 .toolbar select{max-width:175px;font-size:.9rem}
 #menu-panel{padding:6px 16px 15px}
 main{padding:27px 17px 12px}
 h1{font-size:2.25rem}
 .lead{font-size:1rem}
 .card,.exercise-card{padding:20px;border-radius:16px}
 .task-grid button{padding:12px;font-size:.9rem}
 .levels button{min-height:54px}
 .week-save{bottom:calc(10px + env(safe-area-inset-bottom))}
 #family-subjects{padding:13px 17px 0!important;gap:7px}
 #family-subjects a{font-size:.85rem;padding:9px 11px}
 footer{padding:24px 17px}
 .family-bottom{padding-left:17px;padding-right:17px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
