/* Study's quiet lavender palette, with illustration outside the reading area. */
:root{--muted:#70667f;--border:#e6dfef;--accent:#8b69bc;--accent-dark:#745299;--accent-soft:#eee7f8}
:root.dark{--muted:#c0b4d2;--border:#453b55;--accent:#bca3e5;--accent-dark:#dbc7f8;--accent-soft:#3c304f}
body{background:radial-gradient(ellipse at 78% 0%,#d7c4ee32,transparent 45%),var(--bg)}
.page-header p,.hero p,.button,.settings-card p,.project-copy p,.rail-card h3,.toc-link,.resource{font-size:13px}
.lesson-body p{font-size:16px;line-height:2}
.concept,.check-row,.quiz-option,.quiz-card h3,.lab-panel p,.lab-output,textarea{font-size:14px}
.lesson-body h2{font-size:22px}.lesson-body h3{font-size:18px}.eyebrow{font-size:11px}
.stat-label,.stat-caption,.week-number,.week-tile .small,.today-step,.today-head p,.project-meta,.rail-goal,.project-mini strong,.project-mini small,.side-footer,.page-footer,.save-status{font-size:11px}
.week-tile h3{font-size:13px}.project-copy h2{font-size:17px}
.hero{min-height:285px;background:radial-gradient(circle at 82% 35%,#e6cef888,transparent 38%),var(--surface)}
.hero::after{content:"✦";position:absolute;right:42%;top:28px;color:var(--accent);font-size:28px;opacity:.32;pointer-events:none}
.hero-art{width:43%;height:97%;inset:auto 0 0 auto;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 12px 16px #74529916)}
.hero-copy{max-width:62%}.hero h2{font-size:29px}.hero p{font-size:14px}
.avatar{width:38px;height:38px;overflow:hidden;border:1px solid var(--border);background:var(--accent-soft)}
.avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 15%;transform:scale(1.7);transform-origin:50% 17%}
.sidebar-bottom{padding-top:18px}.brand{margin-bottom:26px}.nav-item{padding-block:10px}
.side-character{margin:10px 0 12px;border:1px solid var(--border);border-radius:15px;background:linear-gradient(145deg,var(--accent-soft),var(--surface));overflow:hidden}
.side-character summary{cursor:pointer;list-style:none;padding:10px 12px;color:var(--accent-dark);font-size:11px}
.side-character summary span{float:right;font-size:10px;color:var(--muted)}
.side-character img{display:block;max-width:100%;height:145px;margin:0 auto;object-fit:contain}
.side-character p{font-size:10px;color:var(--muted);text-align:center;margin:6px 8px 12px}
.return-study{display:block;padding:8px 14px;margin-bottom:8px;font-size:12px;color:var(--accent-dark)}
.project-cover{height:168px;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,var(--accent-soft),var(--surface))!important}
.project-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:right bottom;opacity:.7;z-index:-1;transition:transform .35s ease}
.project-cover.two img,.project-cover.three img{object-fit:cover;object-position:70% 26%;opacity:.5;mask-image:linear-gradient(90deg,transparent,#000 55%)}
.project-cover b{position:relative;font-weight:600;font-size:42px;color:var(--accent-dark)!important;text-shadow:0 1px 12px var(--surface)}
.project-cover .icon{color:var(--accent-dark)!important;background:var(--surface);border-radius:12px;padding:7px}
.project-card:hover .project-cover img{transform:scale(1.035)}
.note-card{background:linear-gradient(130deg,var(--accent-soft),var(--surface));border-color:var(--border)}
.dark .button:not(.secondary):not(.ghost){color:#251a36}.dark .quiz-option input{color-scheme:dark}
textarea,input,select{scrollbar-color:var(--accent) var(--surface-soft)}
@media(max-width:1040px){.hero{min-height:280px}.hero-art{width:42%}}
@media(max-width:760px){
 .hero{min-height:305px;padding:23px}.hero-copy{max-width:76%}.hero h2{font-size:25px;max-width:220px}.hero p{font-size:13px;max-width:230px}.hero-art{width:56%;height:67%;opacity:.5;object-position:right bottom}
 .lesson-body p{font-size:15px}.page-header p{font-size:13px}.page-header h1{font-size:22px}.today-head{flex-wrap:wrap}.today-head .button{margin-left:57px}
 .save-row{flex-wrap:wrap}.score-card{flex-wrap:wrap}.stats .stat-caption{font-size:10px}.stat-number span{font-size:11px}
 .project-cover{height:185px}.project-copy h2{font-size:18px}.page-footer{gap:10px}.mobile-bottom a{font-size:10px}
 .lesson-body,.lab-panel,.quiz-card{min-width:0;overflow-wrap:anywhere}.metric-table,.data-table{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.project-cover img{transition:none}}
