:root{font-family:system-ui,-apple-system,"Segoe UI","Meiryo",sans-serif;color:#253c32;background:#f7f7ef;line-height:1.85;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:#24583e;text-underline-offset:4px}button,input{font:inherit}button,.button,summary,.option{min-height:44px}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border:1px solid #a6b5a1;border-radius:12px;background:#fff;color:#253c32;text-decoration:none;cursor:pointer;line-height:1.6;text-align:center}button:hover,.button:hover{background:#edf3e8}button:disabled{opacity:.65;cursor:default}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #216bb5;outline-offset:4px}h1:focus{outline:none}.primary{background:#2e6047!important;color:white!important;border-color:#2e6047;font-weight:700}.danger{color:#843121;border-color:#843121}.skip{position:absolute;top:-100px;left:12px;background:white;padding:12px;z-index:5}.skip:focus{top:8px}header{background:#fff;border-bottom:1px solid #dde3d4}.header{max-width:1000px;display:flex;justify-content:space-between;align-items:center;gap:12px;margin:auto;padding:16px 24px}.brand{font-size:19px;font-weight:800;text-decoration:none;min-height:44px;display:flex;align-items:center;gap:6px}.brand span{color:#e1b34b;font-size:12px}.private{font-size:11px;border:1px solid #c0cbb8;border-radius:6px;padding:3px 7px}main,footer{max-width:880px;margin:auto;padding:30px 24px}footer{font-size:12px;color:#526348;border-top:1px solid #d4dec9;margin-top:36px}p{margin:0 0 16px}h1{font-size:clamp(28px,4.5vw,43px);line-height:1.45;letter-spacing:.02em;margin:0 0 18px}h2{font-size:21px;margin:0 0 15px;line-height:1.5}h3{font-size:18px;line-height:1.6;margin:5px 0 12px}.eyebrow{font-size:13px;font-weight:750;color:#54653c;letter-spacing:.05em;margin-bottom:8px}.hero{text-align:center;padding:18px 0 25px}.chick{display:block;font-size:68px;line-height:1.5;margin:0 auto 14px}.lead{font-size:18px;font-weight:600}.resume,.panel,.question-bubble,.example,.remember,.graduation{background:white;border:1px solid #d6dfc9;border-radius:18px;padding:24px;margin:24px 0}.resume{background:#edf2e5}.progress-box{margin-bottom:14px}.progress-box strong{display:block;font-size:19px}progress{display:block;width:100%;height:14px;accent-color:#4a7253;margin-top:10px}.lesson-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lesson-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;background:white;border:1px solid #d6dfc9;border-radius:14px;padding:20px;text-decoration:none;min-width:0}.lesson-card:hover{border-color:#527440;background:#f2f5e9}.lesson-status{font-size:13px;color:#516044}.back{display:inline-flex;align-items:center;min-height:44px;margin-bottom:18px}.page-heading{margin-bottom:26px}.question-bubble{background:#fff3d4;border-color:#ead9ab}.reading{padding:8px 0}.reading p{line-height:2.15;font-size:18px;max-width:42em}.example{background:#f0f2e8}.remember{background:#edf3e8}ul{padding-left:24px;margin:0}li{padding:6px 0}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-size:18px;font-weight:650;margin-bottom:18px;width:100%}fieldset button{display:flex;width:100%;text-align:left;justify-content:flex-start;margin:10px 0;white-space:normal}fieldset button[aria-pressed=true]{border:2px solid #356344;background:#edf3e8}.feedback{background:#f0f4e9;border-left:4px solid #537146;padding:16px;margin-top:18px}.feedback p{margin:8px 0 0}.completion{display:grid;gap:14px;padding:8px 0 20px}.completion p:empty{display:none}.connections{padding:22px 0;border-top:1px solid #d6dfc9}.connections p{font-size:14px;background:#edece2;padding:12px;border-radius:8px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.option{display:flex;align-items:flex-start;gap:12px;border:1px solid #a6b5a1;border-radius:12px;padding:16px;margin:12px 0;cursor:pointer}.option:has(input:checked){border:2px solid #356344;background:#edf3e8}.option input{accent-color:#356344;margin-top:7px;flex:0 0 auto;width:18px;height:18px}.small{font-size:13px;color:#526348}.graduation{text-align:center;background:#fff4d5;padding:32px 24px}.score{font-size:21px;font-weight:750}.review{background:white;border:1px solid #d6dfc9;border-radius:12px;padding:12px 18px;margin:12px 0}summary{cursor:pointer;padding:10px 0;font-weight:650}.review p{margin-top:14px}.warning{background:#fff1ce;padding:16px;border:1px solid #967a35;border-radius:12px;font-size:14px}dialog{max-width:480px;width:calc(100% - 32px);border:1px solid #a8b59c;border-radius:18px;padding:24px;color:#253c32}dialog::backdrop{background:#16271b80}@media(max-width:600px){main,footer{padding:24px 16px}.header{padding:10px 16px}.brand{font-size:16px}.private{font-size:10px}.lesson-grid{grid-template-columns:minmax(0,1fr)}.lesson-card{padding:16px}.hero{padding-top:4px}.chick{font-size:56px}.lead{font-size:16px}.resume,.panel,.question-bubble,.example,.remember,.graduation{padding:18px}.reading p{font-size:17px;line-height:2.1}.actions>*{flex:1}h2{font-size:20px}.option{padding:13px}.score{font-size:18px}}@media(prefers-reduced-motion:no-preference){.graduation .chick{animation:celebrate .65s ease-out 1}@keyframes celebrate{0%{transform:translateY(8px)}50%{transform:translateY(-6px)}100%{transform:translateY(0)}}}
/* 2026-09-27: lesson overview in the initial HTML (app.js replaces main when it mounts). */
.lesson-overview{padding-left:1.2em}.lesson-overview>li{margin:0 0 16px}.lesson-overview h3{margin:0 0 4px}.lesson-overview ul{margin:6px 0 0}
