/* Shared illustrated cream-and-sage theme, matching the approved visual direction. */
:root{--ytm-cream:#faf8f0;--ytm-forest:#174b39;--ytm-line:#d5dcd0;--ytm-gold:#efbd57;--forest:#174b39;--sage:#829b87}
body{background:#faf8f0 url('illustrated-doodles.svg') repeat;background-size:640px 660px;color:#193c30;font-family:'DM Sans',Arial,sans-serif}
.ytm-teacher,.ytm-student,.ytm-main,.ytm-teacher-main{background:transparent}
h1,h2,h3,.ytm-brand,.rec-topic{color:#0f3529;letter-spacing:-.035em}
.ytm-main h1,.ytm-teacher-main h1{font-size:clamp(36px,4.8vw,58px);font-weight:650;line-height:1.12}
.ytm-main p,.ytm-teacher-main p{line-height:1.55}
.ytm-header{background:transparent;border:0;padding:28px 32px 12px}.ytm-brand{display:flex;align-items:center;gap:12px;font-family:'Fraunces',Georgia,serif;font-size:29px;line-height:1.02;letter-spacing:-1px}.ytm-brand .notebook-art{width:53px;height:61px;flex-shrink:0;color:#b89d59}.ytm-brand .gold{stroke:#d8a42b}
.notebook-art{width:90px;height:90px;flex-shrink:0;color:#829b87}.notebook-art .gold{stroke:#e7aa30}.art-book,.art-notes{color:#426d59}
.ytm-main{max-width:920px;padding:34px 28px 45px}.home-illustrated{max-width:790px;margin:auto}.home-illustrated .ytm-greeting{margin:16px 0 32px}.ytm-greeting p{font-size:23px;color:#626660;margin-top:12px}
.notebook-card,.ytm-card,.panel,.feedback-card,.content-card,.v9-level{background:#fffdf8;border:1px solid #d1d9cb;border-radius:18px;box-shadow:0 2px 8px #173e2b03}.notebook-card{padding:26px;margin-bottom:20px}
.home-last{padding:28px 32px}.last-class-label{display:inline-block;background:#e8ede3;border-radius:22px;padding:8px 17px;color:#345b38;font-size:17px;font-weight:600}.home-last-content{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px}.home-last-content>div{min-width:0;flex:1}.home-last h2{font-size:clamp(29px,4vw,43px);line-height:1.15;margin:0 0 18px}.home-last .art-chat{width:118px;height:118px}.where-label{font-family:inherit!important;font-size:17px;font-weight:600;letter-spacing:0;color:#646760}.home-stopped{color:#646760;font-size:19px;line-height:1.5}.progress-label{color:#646760;margin:20px 0 8px}.home-progress{appearance:none;display:block;width:100%;height:18px;border:0;border-radius:12px;overflow:hidden;background:#e4eadf}.home-progress::-webkit-progress-bar{background:#e4eadf}.home-progress::-webkit-progress-value{background:#1c533f;border-radius:12px}.home-progress::-moz-progress-bar{background:#1c533f;border-radius:12px}.progress-caption{color:#656b60;margin:8px 0 18px}.home-continue{width:100%;font-size:19px;padding:14px}
.btn{border-radius:10px;box-shadow:none;font-weight:500}.btn-primary{background:#194d3b;border-color:#194d3b}.btn-ghost{border-color:#c5cec0;background:#fffdf6}.home-homework{display:flex;gap:20px;align-items:center}.home-homework>div{flex:1;min-width:0}.home-eyebrow{font-size:17px;color:#6a6e65;margin:0 0 5px}.home-homework h2{font-size:28px;line-height:1.18;margin:5px 0 12px}.written-homework{font-family:'Fraunces',Georgia,serif;font-size:25px;font-weight:550;line-height:1.35}.with-written{margin-top:18px;padding-top:16px;border-top:1px solid #d8dfd0}.home-mustard{background:#efbd57;border:1px solid #efbd57;color:#123c2d;padding:11px 22px;font-weight:600}.home-homework p{color:#646a61}.home-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:16px}.home-shortcut{display:flex;align-items:center;gap:12px;text-align:left;color:inherit;cursor:pointer;width:100%;padding:22px 16px;min-width:0}.home-shortcut .notebook-art{width:65px;height:75px}.home-shortcut>span:nth-child(2){min-width:0;flex:1}.home-shortcut strong{display:block;font-family:'Fraunces',Georgia,serif;font-size:25px;font-weight:600;letter-spacing:-.04em;margin-bottom:8px}.home-shortcut span span{font-size:15px;color:#666d63;line-height:1.5;display:block}.shortcut-arrow{font-size:32px;color:#849382}.home-feedback{display:flex;align-items:center;gap:14px;padding:20px}.home-feedback .notebook-art{width:70px;height:70px}.home-feedback>div{flex:1;min-width:0}.home-feedback h2{font-size:24px;margin:0 0 5px}.home-feedback p{margin:0;color:#626a60;font-size:15px}.home-feedback .btn{background:#e9eee3;color:#245231;border:0;white-space:nowrap}
.ytm-sidebar{background:#faf8f0d9;border-right:1px solid #dce1d3;padding:30px 22px}.ytm-sidebar .ytm-brand{font-size:27px;max-width:none;margin-bottom:36px}.ytm-sidebar nav button{border-radius:15px;font-size:15px;padding:14px 17px}.ytm-sidebar nav button[aria-current]{background:#e4eadc;color:#234f39}.ytm-teacher-main{max-width:1400px;padding:30px 38px}.v9-student{padding:14px 22px;background:#fffdf8f5;margin-bottom:14px}.v9-student>summary{font-size:17px;padding:9px 0}.v9-student>summary>strong{font-family:'Fraunces',Georgia,serif;font-size:25px;margin-right:12px}.v9-student .ytm-section-head{margin:10px 0 14px}.v9-student .ytm-section-head>div{display:flex;gap:8px;flex-wrap:wrap}.v11-preparation{display:block;margin:14px 0}.v11-planning,.v11-last{padding:12px 16px;margin:8px 0;background:#fcfbf5;border-radius:12px}.v11-preparation h3{font-family:inherit!important;font-size:16px;letter-spacing:0;font-weight:500}.v11-preparation h4{letter-spacing:0}.v11-preparation>details[open]{padding:17px}.v9-class{border-width:1px;border-radius:13px}.v9-class>summary{padding:13px 18px;gap:14px}.v9-class>summary strong{font-family:'Fraunces',Georgia,serif;font-size:19px}.v9-class.log-completed{background:#e0efdc;border-color:#99b99a}.v9-class.log-missed{background:#f9d9d4;border-color:#c5867b}.v9-class.log-pending{background:#ffe7c8;border-color:#d8a468}.v9-class.log-planned{background:#e9efed;border-color:#aabfb8}.v9-class.log-review{background:#fff0cc;border-color:#cfba84}.v9-badge.log-review{background:#ffe8a8;border-color:#cfba84}.ws-class .input{background:#fffef9;border-color:#cad1c5}.ws-class label{font-weight:500;line-height:1.5}.v10-pending{border-top:1px solid #d1d9cb;padding:16px 22px}.v10-pending>summary h2{font-family:inherit;font-size:18px;font-weight:500;letter-spacing:0}.v10-week-controls{gap:12px}.v10-review-filter{padding-top:9px}.v10-week-toolbar{margin:20px 0}.v13-month-controls{margin-top:14px}.ytm-progress{accent-color:#245c40}.note-month{background:#fffdf7;border:1px solid #d4dccc;border-radius:14px;margin:12px 0;overflow:hidden}.note-month>summary{cursor:pointer;padding:18px 20px;font-family:'Fraunces',Georgia,serif;font-size:23px;color:#234733}.month-count{font:13px 'DM Sans',Arial,sans-serif;color:#65765f;margin-left:15px;white-space:nowrap}.note-month-content{padding:0 16px 10px}.note-month-content .feedback-card{margin-top:12px}.ytm-student-nav{background:#faf8f0ee}.ytm-student-nav button[aria-current]{background:transparent;border-color:#ddb347}.ytm-account-bar{background:#faf8f0b0!important;padding:5px 20px!important;min-height:0;justify-content:flex-end}.ytm-account-bar .btn{min-height:30px;font-size:12px;padding:5px 10px}.ytm-account-bar .ytm-save{font-size:12px;margin-right:auto}
@media(min-width:901px){.ytm-teacher{grid-template-columns:240px minmax(0,1fr)}.ytm-student .ytm-header{max-width:1180px;margin:auto}.ytm-student-nav button{font-size:14px}.ytm-main:has(.home-illustrated){max-width:850px}}
@media(max-width:700px){body{background-size:550px 567px}.ytm-header{padding:25px 21px 6px}.ytm-brand{font-size:26px;gap:8px}.ytm-brand .notebook-art{width:47px;height:55px}.ytm-main{padding:24px 18px 105px}.home-illustrated .ytm-greeting{margin:18px 0 26px}.home-illustrated .ytm-greeting h1{font-size:38px}.ytm-greeting p{font-size:20px}.notebook-card{border-radius:17px;margin-bottom:16px}.home-last{padding:22px}.home-last-content{gap:9px;margin-top:20px}.home-last .art-chat{width:76px;height:83px}.home-last h2{font-size:30px}.home-stopped{font-size:17px}.last-class-label{font-size:15px}.home-homework{padding:20px 16px;gap:13px}.home-homework .notebook-art{width:67px;height:76px}.home-homework h2{font-size:25px}.written-homework{font-size:23px}.home-shortcuts{gap:12px}.home-shortcut{padding:17px 10px;gap:5px;flex-wrap:wrap}.home-shortcut .notebook-art{width:45px;height:55px}.home-shortcut strong{font-size:21px}.home-shortcut span span{font-size:13px}.home-shortcut .shortcut-arrow{display:none}.home-feedback{padding:16px 12px;gap:9px;flex-wrap:wrap}.home-feedback .notebook-art{width:54px;height:58px}.home-feedback h2{font-size:21px}.home-feedback p{font-size:14px}.home-feedback .btn{margin-left:auto;font-size:14px}.ytm-student-nav{padding-top:8px}.ytm-student-nav svg{width:24px;height:24px}.ytm-student-nav button[aria-current]{border-bottom:3px solid #dbad3b;border-radius:0}.ytm-sidebar{padding:20px;background:#faf8f0bb}.ytm-sidebar .ytm-brand{margin-bottom:18px}.ytm-teacher-main{padding:22px 14px}.v9-student{padding:12px 14px}.v9-student>summary>strong{font-size:23px}.v9-class>summary{padding:13px 12px}.ytm-teacher-main h1{font-size:40px}.v10-week-controls .btn{font-size:12px}.v11-next-heading{font-size:18px}.note-month>summary{font-size:21px;padding:16px}.note-month-content{padding:0 10px 10px}}

/* v19: restore contrast and give the illustrated theme consistent proportions. */
:root{--ytm-cream:#faf6ec;--ytm-forest:#194c3c;--ytm-gold:#e8b84f}
body{background-color:var(--ytm-cream);background-size:340px 351px}
.ytm-teacher{max-width:1600px}
.ytm-sidebar{background:#194c3c;border-right:0;color:#fff8e9;--nav-icon-fill:#194c3c}
.ytm-sidebar .ytm-brand{display:flex;max-width:none;align-items:center;color:#fff8e9;font-size:25px;gap:10px;margin:6px 0 35px}
.ytm-sidebar .ytm-brand .notebook-art{width:43px;height:49px;color:#e7bf69}
.ytm-sidebar nav button{color:#fff8e9;min-height:52px;padding:10px 12px;font-weight:500;border:1px solid transparent;gap:12px}
.ytm-sidebar nav button[aria-current]{background:#345f4d;color:#fff8e9;border-color:#60836b;--nav-icon-fill:#345f4d}
.ytm-sidebar nav button:hover{background:#2b5947}
.ytm-sidebar .ytm-signout{color:#fff8e9;border-color:#72947d;min-height:42px}
.nav-illustration .gold{stroke:#bd9136}.ytm-sidebar .nav-illustration .gold{stroke:#efc96d}
.ytm-sidebar nav .nav-illustration{width:29px;height:29px}
.ytm-student-nav .nav-illustration{width:32px;height:32px;color:#426852}
.ytm-student-nav button{border-radius:12px;padding:10px 14px;min-height:48px}
.ytm-student-nav button[aria-current]{background:#e8eddf;border-color:#c89e43;color:#194c3c}
.ytm-student .ytm-header{border-bottom:1px solid #dedfcd;padding-top:22px;padding-bottom:20px}
.ytm-main h1,.ytm-teacher-main h1{font-size:clamp(34px,3.5vw,48px)}
.home-illustrated .ytm-greeting{margin:6px 0 26px}
.notebook-card,.ytm-card,.panel,.feedback-card,.content-card,.v9-level,.v9-student{background:#fffdf7;box-shadow:0 3px 12px #28473005;border-color:#d7ddcd}
.btn{min-height:42px;padding:10px 16px;border-radius:12px;font-weight:600;transition:background .15s,box-shadow .15s}
.btn-primary{background:#194c3c;color:#fffaf0;border:1px solid #194c3c;box-shadow:0 2px 0 #103b2c12}
.btn-primary:hover{background:#245c47}
.btn-ghost{background:#f3f4e9;color:#254d3b;border:1px solid #d3dcc8}
.btn-ghost:hover{background:#e9eedf}
button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #b88620;outline-offset:3px}
.home-mustard{background:#e8b84f;border-color:#d7a742;color:#183f30}
.home-feedback .btn{background:#e8eddc}
.v9-student{padding:16px 22px;margin-bottom:18px;border-radius:18px}
.v9-student .ytm-section-head>div{gap:8px}
.v9-student .ytm-section-head .btn{font-size:13px;min-height:40px;padding:9px 13px}
.v11-preparation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0;align-items:start}
.v11-preparation>details,.v11-preparation>details[open]{margin:0;padding:0;border-radius:13px;overflow:hidden;border:1px solid #d4decb;background:#f3f5eb}
.v11-preparation>.v11-last{background:#edf2e9}
.v11-preparation>details>summary,.v11-preparation>details[open]>summary{display:flex;align-items:center;gap:10px;padding:12px 14px;min-height:60px;list-style:none;margin:0;cursor:pointer}
.v11-preparation>details>summary::-webkit-details-marker{display:none}
.v11-preparation>details>summary::after{content:'⌄';margin-left:auto;flex-shrink:0;font-size:21px;color:#52765a;transition:transform .15s}
.v11-preparation>details[open]>summary::after{transform:rotate(180deg)}
.v11-preparation>details[open]>summary{border-bottom:1px solid #d7dfcc;margin-bottom:12px}
.v11-preparation>details>summary h3{font-family:'Fraunces',Georgia,serif!important;font-size:19px;font-weight:550;line-height:1.4;letter-spacing:-.02em}
.prep-art{display:flex;flex-shrink:0}.prep-art .notebook-art{width:31px;height:34px}
.v11-preparation>details>:not(summary){margin-left:16px;margin-right:16px}
.v11-preparation>details>:last-child:not(summary){margin-bottom:16px}
.v11-note-count{font-size:11px;font-weight:500;padding:3px 7px;margin-left:4px;background:#efe4bd;color:#655021}
.v10-week-controls{gap:10px}.v10-week-controls .btn{font-size:14px}
.v13-month-controls .btn{min-height:38px;padding:8px 12px;font-size:13px}
.v9-class>summary strong{line-height:1.35;overflow-wrap:anywhere}
.ytm-teacher-main>.ytm-card{padding:24px}
.note-month>summary{font-size:22px;padding:16px 20px}
@media(min-width:1100px){.ytm-teacher{grid-template-columns:236px minmax(0,1fr)}.ytm-teacher-main{padding:32px;max-width:1260px;margin:0 auto}}
@media(max-width:1000px) and (min-width:701px){.ytm-sidebar{padding:24px 12px}.ytm-sidebar .ytm-brand{font-size:21px;gap:5px}.ytm-sidebar .ytm-brand .notebook-art{width:32px}.ytm-sidebar nav button{font-size:13px;padding:10px 6px;gap:8px}.v11-preparation{grid-template-columns:1fr}}
@media(max-width:700px){
 body{background-size:290px 299px}
 .ytm-sidebar{background:#194c3c;padding:18px;color:#fff8e9}
 .ytm-sidebar .ytm-brand{font-size:24px;margin:0 0 18px}
 .ytm-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .ytm-sidebar nav button{font-size:13px;min-height:44px;padding:8px 10px}
 .ytm-sidebar .ytm-signout{margin-top:14px}
 .ytm-teacher-main{padding:24px 12px}
 .ytm-teacher-main h1{font-size:35px}
 .ytm-main{padding:25px 16px calc(110px + env(safe-area-inset-bottom))}
 .ytm-student .ytm-header{padding:18px 20px}
 .ytm-student-nav{background:#fffaf0;border-color:#d5ddc9;padding:8px 4px calc(6px + env(safe-area-inset-bottom))}
 .ytm-student-nav button{padding:6px 2px;border-bottom:0;border-radius:12px;min-height:60px;font-size:12px}
 .ytm-student-nav button[aria-current]{border-bottom:0;background:#e8eddf;border-radius:12px}
 .ytm-student-nav .nav-illustration{width:28px;height:28px}
 .home-illustrated .ytm-greeting h1{font-size:35px}
 .home-shortcuts{grid-template-columns:1fr}
 .home-shortcut{padding:18px;gap:16px;flex-wrap:nowrap}
 .home-shortcut .notebook-art{width:52px;height:58px}
 .home-shortcut strong{font-size:23px;margin-bottom:5px}
 .home-shortcut span span{font-size:14px}
 .home-shortcut .shortcut-arrow{display:block}
 .home-feedback{padding:18px;gap:12px}
 .home-feedback .btn{margin-top:8px;min-height:44px}
 .v9-student{padding:12px;margin-bottom:14px}
 .v11-preparation{grid-template-columns:1fr;gap:8px}
 .v11-preparation>details>summary{min-height:56px;padding:10px 12px}
 .v9-student .ytm-section-head>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
 .v9-student .ytm-section-head .btn{min-height:44px;font-size:12px;padding:8px}
 .v10-week-controls .btn{font-size:12px;min-height:44px}
 .v13-month-controls{gap:6px;flex-wrap:wrap}
 .v13-month-controls .btn{min-height:44px}
 .note-month>summary{font-size:20px;padding:14px}
 .ytm-teacher-main>.ytm-card{padding:16px}
}
@media(prefers-reduced-motion:reduce){.btn,.v11-preparation>details>summary::after{transition:none}}
@media(min-width:701px){.ytm-teacher{min-height:100vh}}
@media(max-width:700px){.home-feedback>div{flex:1 1 calc(100% - 78px)}.home-feedback .btn{width:100%;margin:4px 0 0}.v9-class>summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.v9-class>summary strong{flex:1 1 100%;order:3;text-align:left}}
.ytm-main h1,.ytm-main h2,.ytm-teacher-main h1,.ytm-teacher-main h2{font-family:'Fraunces',Georgia,serif}
