:root{--cream:#faf6ef;--paper:#fffdfa;--ink:#26231f;--muted:#6d675f;--olive:#3b4d3a;--sage:#e9efe7;--clay:#bd6045;--soft:#faeee9;--gold:#c58a31;--line:#ddd5ca;--good:#2f6b43;--bad:#a64237}*{box-sizing:border-box}body{margin:0;background:#e7e2da;color:var(--ink);font-family:Inter,Arial,sans-serif}.toolbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:11px max(16px,calc((100vw - 1100px)/2));background:#26231ff7;color:#fff}.tools{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.key,.zoom,.print{height:31px;min-width:31px;border:1px solid #ffffff32;border-radius:8px;background:#ffffff12;color:#fff;font-weight:800;cursor:pointer}.print{padding:0 11px}.zoom-label{min-width:42px;text-align:center;font-size:11px}.book{width:min(900px,calc(100% - 24px));margin:28px auto 70px}.page{position:relative;min-height:1120px;margin-bottom:28px;padding:54px 58px 65px;background:var(--cream);border:1px solid var(--line);box-shadow:0 12px 38px #302a2217}.page:after{content:attr(data-page)" / 8";position:absolute;right:42px;bottom:25px;color:#978f85;font-size:11px;font-weight:700}.back{color:var(--olive);font-weight:800;text-decoration:none}.kicker{margin-top:22px;color:var(--clay);font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.title{margin:10px 0 8px;font:800 36px/1.12 'Plus Jakarta Sans';letter-spacing:-.035em}.subtitle{color:var(--muted);font-size:16px;line-height:1.55}.goal{margin:24px 0;padding:17px 19px;border-left:4px solid var(--gold);background:#fff8e9;border-radius:0 12px 12px 0;line-height:1.6}.section{margin-top:28px}.section h2{margin:0 0 15px;font:800 21px 'Plus Jakarta Sans'}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{padding:15px;border:1px solid var(--line);border-radius:13px;background:var(--paper);line-height:1.55}.card b{color:var(--olive)}.card small{display:block;margin-top:4px;color:var(--muted);font-size:12px}.note{margin:18px 0;padding:15px 17px;border-radius:12px;background:var(--sage);color:#30412f;line-height:1.6}.native{background:var(--soft);color:#713725}.formula{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:15px;background:#fff;font-weight:800}.part{padding:9px 12px;border-radius:9px;background:var(--sage);color:var(--olive)}.plus{color:var(--clay);font-size:19px}.table{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#fff}.row{display:grid;grid-template-columns:.85fr 1.05fr 1.5fr;gap:12px;padding:11px 14px;border-bottom:1px solid var(--line);align-items:center}.row:last-child{border:0}.row.head{background:var(--olive);color:#fff;font-weight:800}.practice{margin-top:22px;padding:18px;border:1px solid var(--line);border-radius:15px;background:#fff}.practice h3{margin:0 0 13px;font:800 17px 'Plus Jakarta Sans'}.q{margin-bottom:12px;line-height:1.55}.answer{width:100%;margin-top:7px;padding:10px 11px;border:1px solid #bfb7ac;border-radius:8px;font:500 15px Inter}.answer:focus{outline:3px solid #c58a3140}.answer.correct{border-color:var(--good);background:#eff8f1}.answer.incorrect{border-color:var(--bad);background:#fff0ee}.check{margin-top:7px;padding:8px 12px;border:0;border-radius:8px;background:var(--olive);color:#fff;font-weight:800;cursor:pointer}.feedback{margin-left:8px;font-size:12px;font-weight:700}.reading{padding:20px;border-left:4px solid var(--clay);border-radius:0 15px 15px 0;background:var(--soft);font:16px/1.75 Georgia,serif}.vocab{margin:16px 0;padding:15px 17px;border-left:4px solid var(--olive);border-radius:0 12px 12px 0;background:var(--sage);line-height:1.65}.prompt{min-height:145px;resize:vertical}@media(max-width:700px){.toolbar>div:first-child{display:none}.toolbar{padding:10px}.book{width:calc(100% - 12px);margin-top:12px}.page{min-height:auto;padding:34px 22px 55px}.title{font-size:29px}.grid,.grid.three{grid-template-columns:1fr}.row{grid-template-columns:1fr 1fr}.row span:last-child{grid-column:1/-1}.print{display:none}}@media print{body{background:#fff}.toolbar{display:none}.book{width:100%;margin:0}.page{width:210mm;height:297mm;min-height:297mm;margin:0;padding:15mm 16mm;box-shadow:none;border:0;page-break-after:always}.check,.feedback{display:none}.page:after{bottom:8mm}}
