 :root{--paper:#f8f6ef;--ink:#20382f;--muted:#52665b;--line:#d6ddd0;--accent:#2d5543;--warm:#efe8da;color:var(--ink);background:var(--paper);font-family:"Noto Sans JP",system-ui,-apple-system,"Hiragino Kaku Gothic ProN",sans-serif}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}header,main,footer{width:min(1000px,calc(100% - 40px));margin:auto}header{display:flex;justify-content:space-between;gap:20px;padding:28px 0;border-bottom:1px solid var(--line)}header a{font-size:14px}main{padding:48px 0}h1,h2,h3{font-family:inherit;line-height:1.5}h1{font-size:clamp(30px,4vw,44px);margin:12px 0}h2{font-size:26px}p{line-height:1.9}.eyebrow{font-size:12px;letter-spacing:.16em;color:var(--muted)}.intro{max-width:700px;color:var(--muted)}.notice{padding:16px 20px;background:var(--warm);border-radius:8px;font-size:13px;line-height:1.8;margin:24px 0}.panel{background:#fffdf7;border:1px solid var(--line);border-radius:14px;padding:clamp(20px,4vw,36px);box-shadow:0 8px 30px #20382f06}.status{font-size:13px;color:var(--muted)}progress{accent-color:var(--accent);width:100%;height:8px}fieldset{border:0;padding:0;margin:24px 0}legend{font-family:inherit;font-size:23px;font-weight:600;line-height:1.6;margin-bottom:16px}label.option{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:8px;cursor:pointer;margin:10px 0;line-height:1.6}label.option:has(input:checked){background:#e8eee5;border-color:var(--accent)}input[type=radio]{accent-color:var(--accent);width:18px;height:18px;flex-shrink:0}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:24px}button,.button{font:inherit;cursor:pointer;border:1px solid var(--accent);border-radius:6px;padding:12px 20px;background:var(--accent);color:white;text-decoration:none;min-height:46px;display:inline-block}button.secondary{background:transparent;color:var(--ink)}button:disabled{opacity:.45;cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #9b491f;outline-offset:4px}.error{color:#923a24;min-height:1.5em}textarea{width:100%;min-height:155px;padding:16px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:8px;font:inherit;line-height:1.8;resize:vertical}.result-card{border-top:1px solid var(--line);padding-top:16px;margin-top:24px}.lesson-layout{display:grid;grid-template-columns:240px 1fr;gap:24px}.lesson-nav{display:flex;flex-direction:column;gap:12px}.lesson-nav button{text-align:left;background:transparent;color:var(--ink)}.lesson-nav button[aria-current=true]{background:var(--accent);color:white}.lesson-nav small{display:block;margin-top:6px}.lesson-text{line-height:1.9}.sample{background:var(--warm);padding:18px;border-radius:8px;line-height:1.9}footer{border-top:1px solid var(--line);padding:24px 0;font-size:12px;color:var(--muted)}[hidden]{display:none!important}.skip{position:absolute;top:-100px}.skip:focus{top:8px;background:white;padding:12px;z-index:10}@media(max-width:700px){header{flex-wrap:wrap}main{padding-top:28px}.lesson-layout{grid-template-columns:1fr}.lesson-nav{display:grid;grid-template-columns:1fr}.actions button,.actions .button{flex-grow:1;text-align:center}h2{font-size:23px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}