/* Scoped styles: do not alter lesson text, cards or admin navigation. */
.word-practice,.exercise-admin{--ex-blue:#086a9c;--ex-ink:#203b50;--ex-muted:#536b7b;--ex-coral:#b8432d;--ex-line:#cbdfe9;box-sizing:border-box;color:var(--ex-ink);font:17px/1.65 system-ui,-apple-system,sans-serif}
.word-practice *,.exercise-admin *{box-sizing:border-box}
.word-practice{max-width:1040px;margin:64px auto 48px;border:1px solid var(--ex-line);border-radius:28px;background:linear-gradient(145deg,#f1faff,#fffaf0);padding:clamp(20px,4vw,42px);box-shadow:0 16px 45px #1746640c}
.practice-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.practice-eyebrow{color:var(--ex-coral);letter-spacing:.13em;font-size:.75rem;font-weight:800}
.practice-heading h2{font:400 clamp(1.8rem,4vw,2.65rem)/1.2 Georgia,serif;margin:10px 0 14px;color:var(--ex-ink)}
.practice-heading p{color:var(--ex-muted);margin:0;max-width:620px}
.practice-badge{flex-shrink:0;background:#fff1c8;color:#765214;border:1px solid #ead9a4;border-radius:30px;padding:9px 15px;font-size:.85rem;font-weight:750;white-space:nowrap}
.practice-intro{display:flex;gap:14px;align-items:center;margin:24px 0;padding:15px 18px;border-radius:16px;background:#ffffffb8}
.practice-intro p{font-size:.9rem;color:var(--ex-muted);margin:0}
.exercise-card{background:white;border:1px solid var(--ex-line);border-radius:22px;padding:clamp(18px,3vw,32px);box-shadow:0 7px 20px #173d5309}
.exercise-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.8rem;font-weight:750;color:var(--ex-blue);margin-bottom:12px}
.exercise-card h3{font:700 1.35rem/1.4 system-ui;margin:0 0 8px;color:var(--ex-ink)}
.exercise-instruction{font-size:.93rem;color:var(--ex-muted);margin:0 0 18px}
.exercise-translation{padding:13px 16px;border-left:3px solid #edbb4d;background:#fffbef;border-radius:0 12px 12px 0;margin:0 0 24px;color:#63532d;overflow-wrap:anywhere}
.exercise-sentence{font:400 clamp(1.4rem,3vw,1.8rem)/1.9 Georgia,serif;margin:12px 0 24px;overflow-wrap:anywhere}
.exercise-sentence input{font:600 1.1rem/1.5 system-ui;width:min(220px,100%);min-height:50px;border:2px solid #9ebfd3;border-radius:10px;padding:9px 12px;background:#f7fcff;color:var(--ex-ink);vertical-align:middle}
.exercise-answer{min-height:95px;background:#f3f9fc;border:2px dashed #aacbdd;border-radius:15px;padding:14px;display:flex;gap:9px;flex-wrap:wrap;align-content:flex-start;margin:16px 0}
.exercise-placeholder{margin:auto;color:var(--ex-muted);font-size:.93rem}
.exercise-bank{display:flex;gap:10px;flex-wrap:wrap;min-height:64px;margin:18px 0 24px}
.word-practice button,.exercise-admin button,.exercise-admin .exercise-link{font:650 .95rem/1.4 system-ui;cursor:pointer;min-height:46px;border-radius:12px;border:1px solid var(--ex-line);padding:11px 17px;background:#fff;color:var(--ex-blue);text-decoration:none}
.word-practice .exercise-token{border:1px solid #a9cbdc;box-shadow:0 3px 0 #dfedf4;background:#fff;font-size:1.02rem;overflow-wrap:anywhere;max-width:100%}
.word-practice .exercise-token:hover{background:#eaf6fd;border-color:var(--ex-blue)}
.word-practice .exercise-token:disabled{opacity:.3;box-shadow:none}
.exercise-answer .exercise-token{background:#e1f1fb;border-color:#8ebed8}
.exercise-actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:18px;border-top:1px solid #e4edf2}
.word-practice .exercise-primary,.exercise-admin .exercise-primary{background:var(--ex-blue);color:white;border-color:var(--ex-blue)}
.word-practice .exercise-secondary{color:var(--ex-coral)}
.word-practice button:disabled{opacity:.5;cursor:default}
.word-practice button:focus-visible,.word-practice input:focus-visible,.exercise-admin :is(input,select,button,a):focus-visible{outline:3px solid #d28a21;outline-offset:3px}
.exercise-feedback{padding:15px 18px;border-radius:12px;background:#fff3de;color:#755010;margin:20px 0 0;overflow-wrap:anywhere}
.exercise-feedback.is-correct{background:#eaf6ec;color:#286238;border:1px solid #bedac5}
.exercise-feedback:empty{display:none}
.exercise-progress{display:flex;align-items:center;gap:16px;font-size:.85rem;color:var(--ex-muted);margin:22px 0 0}
.exercise-progress progress{flex:1;min-width:30px;accent-color:var(--ex-blue);height:8px}
.exercise-summary{text-align:center;background:#fff;border:1px solid var(--ex-line);border-radius:22px;padding:34px 24px}
.exercise-summary h3{font:400 2rem/1.3 Georgia,serif}
.word-practice [hidden]{display:none!important}
.practice-intro [data-practice-start]{margin-top:18px;padding:14px 22px;box-shadow:0 5px 15px #086a9c20}
.exercise-help{margin:0 0 22px;border:1px solid var(--ex-line);border-radius:12px;background:#fffcf5;overflow:hidden}
.exercise-help summary{padding:13px 16px;cursor:pointer;font-size:.9rem;color:#69512c;font-weight:650}
.exercise-help summary:focus-visible{outline:3px solid #d28a21;outline-offset:-3px}
.exercise-help .exercise-translation{margin:0;border-radius:0}
.exercise-admin{max-width:1000px;margin:32px auto;padding:0 20px}
body:has(.exercise-admin){background:#f2f8fb}
.exercise-admin section,.exercise-admin .exercise-notice{padding:22px;border:1px solid var(--ex-line);border-radius:16px;background:white;margin:20px 0}
.exercise-admin label{display:block;margin:12px 0}
.exercise-admin input[type=text],.exercise-admin select{display:block;width:100%;max-width:100%;font:inherit;padding:10px;border:1px solid #a9c4d3;border-radius:10px}
.exercise-admin input[type=checkbox]{width:20px;height:20px;vertical-align:middle;margin-right:8px}
.exercise-admin h1{font:400 2.2rem/1.2 Georgia,serif}.exercise-admin h2{font-size:1.2rem}
.exercise-admin a{color:var(--ex-blue)}
.exercise-admin .exercise-source{font-size:1.2rem;color:var(--ex-ink);margin:12px 0}
@media(max-width:600px){.word-practice{border-radius:20px;margin:36px 0;padding:17px}.practice-heading{flex-direction:column;gap:14px}.practice-badge{font-size:.8rem}.exercise-card{padding:18px 15px}.exercise-actions button{flex:1 1 135px}.exercise-bank{gap:9px}.exercise-token{padding:10px 13px!important}.exercise-progress{gap:9px}.exercise-admin{padding:0 14px}}
