*{box-sizing:border-box}body{margin:0;background:#f4f8f7;color:#173c34;font-family:system-ui,sans-serif;line-height:1.65}header,main,footer{max-width:1080px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}a{color:#0b6659}h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.15}h2{margin-top:32px}.eyebrow,small{letter-spacing:.08em;font-weight:700;color:#0b6659}.note{font-size:.9rem;color:#526c63}.levels{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:32px 0}.levels>*{border:1px solid #bed8ce;border-radius:20px;padding:22px;background:white;text-align:left;color:inherit;font:inherit}.levels button{cursor:pointer}.levels [aria-pressed=true]{border:2px solid #0b6659;background:#e4f2ed}.levels strong,.levels span{display:block;margin-top:8px}.upcoming{opacity:.7}.units{display:grid;gap:20px}.unit{background:white;border:1px solid #d2e2db;border-radius:20px;padding:24px}.unit summary{font-weight:700;font-size:1.25rem;cursor:pointer}.unit .goal{color:#526c63}.unit h3{margin-top:24px}.patterns{display:grid;gap:12px}.pattern{border-left:3px solid #0b6659;padding-left:14px}.pattern span{display:block;color:#526c63}.dialogue{background:#f3f8f5;border-radius:12px;padding:16px}.dialogue p{margin:8px 0}.reading{line-height:1.9}fieldset{border:1px solid #d2e2db;border-radius:12px;margin:16px 0}label{display:block;margin:8px 0;cursor:pointer}button.action{border:0;background:#0b6659;color:white;border-radius:12px;padding:12px 18px;font:inherit;cursor:pointer}.result{font-weight:600}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #db9c29;outline-offset:4px}[hidden]{display:none!important}@media(max-width:700px){.levels{grid-template-columns:1fr}header,main,footer{padding:18px}.unit{padding:18px}}

#beginner-test input[type=text]{display:block;width:100%;max-width:540px;margin-top:8px;padding:12px;border:1px solid #9ebeb0;border-radius:10px;font:inherit}#beginner-test audio{display:block;width:100%;max-width:500px;margin:12px 0}#beginner-test h4{font-size:1.3rem;margin:32px 0 12px}
.unit textarea{display:block;width:100%;margin:10px 0;padding:14px;border:1px solid #9ebeb0;border-radius:12px;font:inherit;resize:vertical;min-height:160px}.listening-clip{padding:12px 0;border-bottom:1px solid #d2e2db}.listening-clip audio{width:100%;max-width:500px}.listening-clip details{margin:10px 0}.listening-clip summary{font-size:1rem}#intermediate-test input[type=text]{display:block;width:100%;max-width:540px;padding:12px;border:1px solid #9ebeb0;border-radius:10px;font:inherit}#intermediate-test audio{display:block;width:100%;max-width:500px;margin:12px 0}#intermediate-test h4{font-size:1.3rem;margin-top:32px}

.unit dl{display:grid;grid-template-columns:minmax(100px,1fr) 2fr;gap:8px}.unit dt{font-weight:700}.unit dd{margin:0;color:#526c63}

.unit-resources{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.unit-resources a{padding:8px 12px;background:#eef6f1;border-radius:10px;color:#0b6659}

.exam-clock{position:sticky;top:0;z-index:5;background:#fff5d9;color:#493600;border:2px solid #b8860b;border-radius:12px;padding:12px 16px;font-weight:700;font-variant-numeric:tabular-nums;}

.speaking-test{margin-top:28px;padding:20px;border:2px solid #b8d3c5;border-radius:16px;background:#f6fbf8}.speaking-test select{display:block;padding:10px;min-width:140px;margin:8px 0}.speaking-test audio{max-width:100%;display:block;margin:12px 0}.speaking-test a{display:inline-block;margin:10px 0}.speaking-test textarea{box-sizing:border-box;width:100%;}

.course-audio{display:block;margin:8px 0 14px;font-size:.9rem;font-weight:400}.course-audio button{padding:8px 13px;border:1px solid #aac6b8;border-radius:10px;background:#eef7f1;color:#164b3d;cursor:pointer;font:inherit}.course-audio button:disabled{opacity:.65;cursor:wait}.course-audio-status{display:block;color:#546b60;margin-top:5px}.course-audio audio{display:block;width:100%;max-width:480px;margin-top:8px}.course-audio-speed{display:inline-flex;gap:7px;align-items:center;margin-top:6px}.course-audio-speed select{padding:5px;border:1px solid #aac6b8;border-radius:6px;background:white;font:inherit}

.performance-guide,.skill-profile,.performance-task{margin:20px 0;padding:20px;border:1px solid #aac6b8;border-radius:16px;background:#fff}.performance-guide summary,.performance-task summary{cursor:pointer;font-weight:700}.performance-task textarea{display:block;width:100%;min-height:100px;padding:12px;border:1px solid #9ebeb0;border-radius:10px;font:inherit;resize:vertical}.performance-task select{display:block;padding:10px;font:inherit;max-width:100%}.performance-task button{margin:6px 10px 6px 0;padding:10px 14px;border:1px solid #aac6b8;border-radius:10px;background:#eef7f1;color:#164b3d;font:inherit;cursor:pointer}.performance-task audio{display:block;width:100%;max-width:540px}.performance-task button:disabled{opacity:.6;cursor:default}.performance-guide a{overflow-wrap:anywhere}.performance-task :focus-visible{outline:3px solid #db9c29;outline-offset:3px}

.course-directory{padding:20px;border:1px solid #bed8ce;border-radius:16px;background:#fff}.course-directory>details{margin:16px 0}.course-directory summary,.primary-lesson>summary{font-weight:700;cursor:pointer}.course-directory li p{margin:2px 0 12px;color:#526c63}.lesson-content{margin:16px 0;padding:16px;border:1px solid #d2e2db;border-radius:12px}.lesson-content>details{margin:16px 0}.lesson-content h5{font-size:1rem;margin:22px 0 8px}.native-flashcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px;margin:16px 0}.native-flashcard{padding:14px;border:1px solid #bed8ce;border-radius:12px;background:#f4f8f7}.native-flashcard summary{font-weight:700;cursor:pointer}.lesson-content .translation{color:#526c63;margin-top:-8px}.primary-lesson .unit-resources a{font-size:.9rem}
.book-core figure{margin:1rem 0}.book-core figure img{display:block;width:100%;max-width:760px;max-height:410px;object-fit:contain;height:auto;border-radius:12px;margin:auto}.book-core h4,.book-reviews h4{margin-top:1.4rem}.book-core .native-flashcards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.book-workbook{margin:1.2rem 0;padding:1rem;border:1px solid #c7d7d1;border-radius:12px}.book-workbook>summary{cursor:pointer;font-weight:700}.book-draft{display:block;margin:1rem 0}.book-draft textarea{display:block;width:100%;box-sizing:border-box}.sentence-parts{font-size:1.1rem;line-height:1.9}.clause-0{background:#e3eff8}.clause-1{background:#ddf0e9}.clause-2{background:#fff0bc}.book-reviews{margin:2rem 0}.rubric-scroll{overflow-x:auto}.rubric-scroll table{border-collapse:collapse;width:100%;min-width:640px}.rubric-scroll th,.rubric-scroll td{border:1px solid #d9d9d9;padding:.7rem;vertical-align:top}.rubric-scroll th{background:#e9f0f4}.book-core [data-book-audio]{display:block;margin:.4rem 0}

.vocabulary-entry{padding:24px;margin:20px 0;border:2px solid #b8d4c7;border-radius:20px;background:#eef7f2}.restored-topic{border:1px solid #bed8ce;border-radius:16px;overflow:hidden}.restored-topic .topiclink{border:0;width:100%}.restored-activities{display:flex;flex-wrap:wrap;gap:10px;padding:16px}.restored-activities a,.lesson-activities a{padding:10px;border:1px solid #bed8ce;border-radius:9px}.native-flashcard-wrap{border:1px solid #bed8ce;border-radius:12px;padding:8px}.native-flashcard-wrap [data-vocab-audio]{display:block;padding:8px}.lesson-activities{margin:16px 0;padding:16px;background:#eef7f2;border-radius:12px}

.vocabulary-audio{display:flex;flex-direction:column;gap:8px;min-width:0;max-width:100%}.vocabulary-native-player,.lesson-recorded-player{display:block;width:100%;min-width:0;max-width:340px;margin:8px 0}.vocabulary-audio small{max-width:340px}

/* The lesson title is the disclosure control for Elementary units. */
#beginner-links>.primary-lesson>summary{list-style:none;position:relative;padding-right:28px}
#beginner-links>.primary-lesson>summary::-webkit-details-marker{display:none}
#beginner-links>.primary-lesson>summary::after{content:"+";position:absolute;right:0;top:0;font-size:1.4rem;color:#0b6659}
#beginner-links>.primary-lesson[open]>summary::after{content:"−"}
#beginner-links>.primary-lesson>summary h3{display:inline;margin:0;font-size:1.25rem}
