:root{color-scheme:light;--paper:#fffcf7;--ink:#212b27;--forest:#174c3c;--muted:#52615a;--line:#d9dfd4;--plum:#674180;--light-plum:#f4eff7;--mint:#e7f1e8}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:1rem/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}h1,h2,h3,p,ul,ol{margin:0}a{color:inherit}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}[hidden]{display:none!important}a:focus-visible,button:focus-visible,input:focus-visible,.option:has(input:focus-visible){outline:3px solid #8562a7;outline-offset:4px}h3:focus{outline:none}.frame{width:min(100% - 48px,1080px);margin-inline:auto}.skip{position:absolute;left:-999px;z-index:2;background:white;padding:8px}.skip:focus{left:12px;top:8px}.mast{border-bottom:1px solid var(--line)}.mast-inner,.brand,nav,.section-head,.hero-meta,.exercise-meta,.footer-inner{display:flex;align-items:center}.mast-inner{min-height:78px;justify-content:space-between;gap:18px}.brand{text-decoration:none;gap:11px;line-height:1}.brand strong{font-size:1.23rem;color:var(--forest);font-weight:850;letter-spacing:.055em}.brand-name{display:block;font-size:.76rem;font-weight:600;margin-top:5px}.brand-symbol{width:36px;height:39px;display:flex;align-items:flex-end;gap:3px;transform:rotate(-7deg)}.brand-symbol i{width:9px;border-radius:3px 3px 1px 1px;background:#337557;height:30px}.brand-symbol i:nth-child(2){background:#93b5a0;height:35px}.brand-symbol i:nth-child(3){background:#74528a;height:25px}nav{gap:26px;font-size:.9rem;font-weight:650}nav a{text-decoration:none;padding:10px 0}nav a:hover,.guide-link:hover{text-decoration:underline;text-underline-offset:4px}
.hero{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(30px,8vw,110px);align-items:center;padding-block:clamp(40px,6vw,79px)}.eyebrow,.category,.cover-top,.cover-foot span,.section-no{font-weight:750;letter-spacing:.1em;text-transform:uppercase;font-size:.73rem}.eyebrow{color:var(--forest);display:flex;align-items:center;gap:11px;flex-wrap:wrap}.tiny-line{width:31px;height:3px;background:var(--plum);display:inline-block}h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(4rem,7.2vw,6.5rem);font-weight:500;letter-spacing:-.065em;line-height:.88;margin:24px 0 22px}h1 em{color:var(--forest);font-weight:400}.hero-lead{max-width:37rem;color:var(--muted);font-size:clamp(1.03rem,1.45vw,1.2rem);line-height:1.55;margin-bottom:23px}.button{display:inline-flex;align-items:center;justify-content:center;column-gap:16px;border:0;border-radius:8px;min-height:48px;padding:11px 18px;text-decoration:none;font-size:.98rem;font-weight:690;line-height:1.45;text-align:center}.button span{font-size:1.2em}.primary{color:white;background:var(--forest)}.primary:hover{background:#0f3c2d}.ink{background:var(--plum);color:white}.ink:hover{background:#4c3063}.button:disabled{cursor:default;background:#dfe4de;color:#58625b}.hero-meta{gap:10px;color:var(--muted);font-size:.83rem;margin-top:11px}.hero-meta b{font-weight:650}
.cover-stage{position:relative;isolation:isolate;display:grid;place-items:center;min-height:320px;background:#e8eee2;border-radius:24px;overflow:hidden}.ruled{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 35px,#becdb83d 35px 36px)}.cover{position:relative;transform:rotate(3deg);margin:25px;width:min(69%,252px);padding:12px;border-radius:5px 13px 13px 5px;background:var(--forest);color:#fff;box-shadow:4px 4px 0 #f1eddb,6px 6px 0 #b9c6ae,12px 16px 22px #23443028}.cover:before{content:"";position:absolute;left:7px;width:1px;top:5px;bottom:5px;background:#ffffff40}.cover-top,.cover-foot{padding:0 8px}.cover-top{color:#d5e7d5;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.62rem}.cover-top b{border:1px solid #87ac93;border-radius:100%;padding:1px 5px;letter-spacing:0}.cover-image{max-width:169px;margin:7px auto 9px}.cover img{width:100%;height:auto;display:block;border-radius:7px}.cover-foot{border-top:1px solid #80a38a;padding-top:7px}.cover-foot span{display:block;font-size:.53rem;letter-spacing:.075em;color:#d1e6d4}.cover-foot strong{display:block;font:500 1.8rem/1.15 Georgia,serif}
.practice-wrap{background:#edf2ec;border-block:1px solid var(--line);padding:clamp(33px,5vw,60px) 0;scroll-margin-top:16px}.section-head{gap:11px;margin-bottom:10px}.section-no{padding:2px 8px;border:1px solid #adc1b2;border-radius:3px;letter-spacing:.04em;font-size:.68rem;color:#315643}.divider-dot{color:#818b84}h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;color:var(--forest);letter-spacing:-.045em;font-size:clamp(2.1rem,4vw,3.4rem);line-height:1.12}.practice-card{margin-top:22px;padding:clamp(20px,3vw,34px);border:1px solid #c9d7cb;border-radius:14px;background:white}.intro-copy,.reference p,.review p{color:var(--muted)}.intro-copy{max-width:68ch}.topics{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none;margin:17px 0 22px}.topics li{padding:4px 11px;border-radius:20px;background:var(--light-plum);color:#593d70;font-size:.84rem;font-weight:600}.topics li:nth-child(2){background:#eaf3f9;color:#29546a}.topics li:nth-child(3){background:#e7f3e9;color:#2c6146}
.exercise-meta{justify-content:space-between;gap:10px;color:var(--muted);font-size:.88rem;font-weight:650;margin-bottom:15px}.steps{display:flex;gap:4px}.steps i{height:5px;width:25px;border-radius:3px;background:#dfe3de}.steps i.done{background:var(--forest)}.category{color:var(--plum);margin-bottom:7px}.practice-card h3{font:600 clamp(1.22rem,2vw,1.57rem)/1.35 system-ui,sans-serif;letter-spacing:-.02em;color:var(--ink);max-width:67ch;overflow-wrap:break-word}.practice-card fieldset{min-width:0;border:0;padding:0;margin:18px 0 0}.practice-card legend{font-weight:650;font-size:.9rem;margin-bottom:9px;color:var(--muted);padding:0}.option{--opt:#f4eff8;--edge:#c7b8d4;display:flex;align-items:center;gap:11px;position:relative;padding:12px 15px;border:1px solid var(--edge);border-radius:9px;cursor:pointer;min-height:48px;margin:0 0 8px;background:var(--opt);line-height:1.45}.option.b{--opt:#edf5fb;--edge:#b5cddd}.option.c{--opt:#edf6ee;--edge:#b7d4bf}.option input{position:absolute;opacity:0;width:1px;height:1px}.option .letter{display:grid;place-items:center;width:27px;height:27px;border:1px solid var(--edge);border-radius:50%;background:#fff;flex:none;font-size:.83rem;font-weight:750}.option:has(input:checked){box-shadow:inset 0 0 0 2px var(--ink)}.option:has(input:checked) .letter{color:#fff;background:var(--ink);border-color:var(--ink)}.option:has(input:disabled){cursor:default}.feedback{margin-top:15px;padding:12px 15px;background:var(--mint);border-left:3px solid #46815a;border-radius:0 5px 5px 0}.feedback.retry{background:#fff3e3;border-color:#a8652a}.feedback strong{display:block;margin-bottom:3px}.exercise-actions{margin-top:17px}.review{margin:16px 0 22px;padding-left:1.6rem}.review li+li{margin-top:12px}.review p{max-width:68ch}.review b{color:var(--ink)}.review small{display:block;font-size:.91rem}
.reference{padding-block:clamp(32px,5vw,62px);scroll-margin-top:20px}.reference-inner{display:flex;gap:30px;align-items:center;justify-content:space-between}.reference h2{font-size:clamp(1.8rem,3vw,2.6rem)}.reference-inner p{max-width:68ch;margin-top:9px}.guide-link{flex:none;display:block;text-decoration:none;font-weight:700;color:var(--forest);padding:11px 0}.guide-link span{margin-left:6px}.guide-link small{display:block;font-weight:500;font-size:.76rem;color:var(--muted);margin-top:1px}footer{background:var(--forest);color:#f7fbf6}.footer-inner{padding:22px 0;align-items:center;justify-content:space-between;gap:22px}.footer-inner strong{font-size:1.02rem}.footer-inner p{font-size:.82rem;color:#d8e8dc}.footer-inner>p{max-width:34ch}
@media(max-width:720px){.frame{width:min(100% - 32px,650px)}.mast-inner{min-height:65px}.hero{grid-template-columns:1fr .6fr;gap:17px}.cover-stage{min-height:220px;border-radius:15px}.cover{width:82%;margin:11px;padding:9px}.cover-top{font-size:.51rem}.cover-image{max-width:135px}.cover-foot span{font-size:.45rem}.cover-foot strong{font-size:1.25rem}.reference-inner{display:block}.guide-link{margin-top:11px}.eyebrow{gap:7px}.section-head .eyebrow{display:block}.divider-dot{margin:0 3px}}
@media(max-width:520px){nav{font-size:.81rem;gap:13px}.brand-symbol{width:26px;height:32px;gap:2px}.brand-symbol i{width:7px;height:23px}.brand-symbol i:nth-child(2){height:29px}.brand-symbol i:nth-child(3){height:19px}.brand{gap:7px}.brand strong{font-size:1.02rem}.brand-name{font-size:.62rem}.hero{grid-template-columns:1fr;position:relative;gap:0;padding:32px 0}.hero-copy{display:grid;grid-template-columns:minmax(0,1fr) 90px;column-gap:8px}.hero-copy>.eyebrow,.hero-lead,.hero-meta{grid-column:1/-1}.hero-copy h1{font-size:clamp(3.15rem,12vw,4.25rem);margin:16px 0 21px}.hero-copy>.button{grid-column:1/-1;justify-self:start}.cover-stage{position:absolute;top:67px;right:2px;width:85px;min-height:0;overflow:visible;background:none}.ruled,.cover-top,.cover-foot,.cover:before{display:none}.cover{width:100%;padding:5px;margin:0;border-radius:7px}.cover-image{margin:0}.cover img{border-radius:4px}.hero-lead{margin-bottom:16px}.hero-meta{font-size:.78rem}.practice-card{margin-top:16px}.section-head{align-items:flex-start}.section-head .eyebrow{margin-top:1px}.footer-inner{align-items:flex-start;flex-direction:column;gap:9px}}
@media(max-width:365px){.brand-symbol{display:none}.frame{width:calc(100% - 28px)}nav{gap:10px}.hero-copy{grid-template-columns:minmax(0,1fr) 63px}.cover-stage{width:58px;top:76px}.practice-card{padding:16px}.button{padding-inline:12px}.eyebrow{font-size:.65rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
