@font-face{font-family:'Ilmdosh Korean';src:url('fonts/noto-sans-kr.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--ko-ink:#213d49;--ko-muted:#526b75;--ko-line:#b9cdd0;--ko-paper:#fff;--ko-teal:#176e66;--ko-soft:#edf6f3;--ko-purple:#6147a1}
body.ko-course{margin:0;background:#f4f7f7;color:var(--ko-ink);font:1rem/1.75 system-ui,-apple-system,'Ilmdosh Korean',sans-serif}
.ko-course *{box-sizing:border-box}.ko-course [hidden]{display:none!important}.ko-course [lang=ko]{font-family:'Ilmdosh Korean',sans-serif;word-break:keep-all;overflow-wrap:anywhere;letter-spacing:0;line-height:1.9}
.ko-course .ko-main{max-width:none;width:100%;padding:28px clamp(18px,3vw,52px) 80px;margin:0 auto;min-width:0}
.ko-main :is(h1,h2,h3){color:var(--ko-ink);background:none;-webkit-text-fill-color:currentColor;line-height:1.25;letter-spacing:-.025em;margin:0 0 18px;font-weight:800}
.ko-main h1{font-size:clamp(2rem,3.2vw,3.5rem)}.ko-main h2{font-size:clamp(1.35rem,2vw,1.85rem)}.ko-main h3{font-size:1.25rem}.ko-main p{margin:0 0 16px}.ko-main p:last-child{margin-bottom:0}
.ko-main a{color:var(--ko-teal)}.ko-main button,.ko-main input,.ko-main select,.ko-main textarea{font:inherit}.ko-main button,.ko-main summary,.ko-main select{cursor:pointer}
.ko-main :focus-visible,.ko-skip:focus{outline:3px solid #b5446a;outline-offset:4px}.ko-main button:disabled{opacity:.5;cursor:not-allowed}
.ko-fallback{padding:16px 24px;border-bottom:2px solid var(--ko-teal);display:flex;gap:24px;background:white}.ilmdosh-subject .ko-fallback{display:none}.ko-skip{position:absolute;top:0;left:20px;transform:translateY(-120%);z-index:1000;background:white;padding:10px}.ko-skip:focus{transform:translateY(0)}
.ko-path{display:flex;gap:8px 22px;flex-wrap:wrap;padding:0 0 24px;font-size:.85rem;font-weight:750}.ko-path a{min-height:38px;display:flex;align-items:center;text-decoration:none;border-bottom:2px solid transparent}.ko-path a:hover{border-color:var(--ko-teal)}
.ko-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:40px;background:linear-gradient(130deg,#e8f3ef,#faf4e9);border:1px solid #a5c8c0;border-radius:28px;padding:clamp(24px,3vw,48px)}
.ko-hero h1{font-size:clamp(2.1rem,3.2vw,3.6rem);line-height:1.25}.ko-hero h1 em{font-style:normal;color:var(--ko-teal)}.ko-hero>div>p:not(.ko-eyebrow){font-size:1.1rem;max-width:50ch}.ko-main .ko-eyebrow{font-size:.74rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:var(--ko-teal);margin-bottom:14px}
.ko-main .ko-photo{margin:24px 0 32px;border-radius:20px;overflow:hidden;background:#eef3f1;border:1px solid var(--ko-line)}.ko-photo img{display:block;width:100%;height:auto;max-height:480px;object-fit:cover}.ko-photo figcaption{padding:8px 16px;font-size:.7rem;color:var(--ko-muted)}.ko-main .ko-photo-hero{margin:0;transform:rotate(1deg);box-shadow:0 16px 32px #254d3e16}.ko-photo-hero img{aspect-ratio:1.15;max-height:540px;object-fit:cover}
.ko-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:24px 0}.ko-main .ko-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border:2px solid var(--ko-teal);border-radius:12px;background:var(--ko-teal);color:#fff;-webkit-text-fill-color:currentColor;text-decoration:none;font-weight:750;line-height:1.45;box-shadow:0 4px 10px #176e6612}.ko-main .ko-button:hover:not(:disabled){background:#0e5953}.ko-main .ko-secondary{background:white;color:var(--ko-teal)}.ko-main .ko-secondary:hover{background:var(--ko-soft)}
.ko-stats{display:flex;gap:22px;flex-wrap:wrap;margin-top:28px}.ko-stats span{font-size:.8rem;color:var(--ko-muted)}.ko-stats b{display:block;font-size:1.65rem;color:var(--ko-ink);line-height:1.2}.ko-section{margin-top:48px}.ko-book-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.ko-main .ko-book-card{display:flex;flex-direction:column;align-items:flex-start;position:relative;border:2px solid #a59dc5;border-radius:24px;padding:30px;color:#2e224b;background:#eee9fc;text-decoration:none;overflow:hidden;transition:transform .15s,box-shadow .15s;box-shadow:0 5px 0 #dad4eb}
.ko-main .ko-book-muloqot{background:#e4f2ed;border-color:#89b6a7;color:#164b40;box-shadow:0 5px 0 #cedfd8}.ko-book-card:hover,.ko-resource-card:hover{transform:translateY(-3px);box-shadow:0 12px 25px #244c5319}.ko-book-index{font-size:.75rem;font-weight:850;letter-spacing:.12em}.ko-book-mark{font-size:2.3rem!important;line-height:1.3!important;font-weight:800;margin:20px 0 24px;background:#fff9;padding:14px 20px;border-radius:16px;max-width:100%}.ko-book-card h3,.ko-book-card h2{color:inherit}.ko-book-card>b{margin-top:26px;border-top:1px solid #29455533;padding-top:16px;width:100%}.ko-book-card>p{flex:1}.ko-book-card>span:not(.ko-book-mark){font-size:.82rem}
.ko-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ko-main .ko-resource-card{border:1.5px solid #a9c0c4;border-radius:20px;padding:26px;text-decoration:none;background:white;color:var(--ko-ink);transition:transform .15s}.ko-resource-card svg{width:48px;height:48px;color:var(--ko-teal);margin-bottom:18px}.ko-resource-card p{color:var(--ko-muted);font-size:.95rem}.ko-resource-card>span{font-weight:750;color:var(--ko-teal)}
.ko-main .ko-panel{background:white;border:1.5px solid var(--ko-line);border-radius:20px;padding:clamp(20px,2.5vw,36px);margin:24px 0;box-shadow:0 3px 0 #dce7e755;min-width:0}.ko-panel>p,.ko-panel>aside{max-width:95ch}.ko-main .ko-roadmap{background:#fff9ed;border-color:#d0bb87}.ko-continue{display:flex;align-items:center;justify-content:space-between;gap:24px}.ko-continue progress{accent-color:var(--ko-teal);width:min(100%,400px);height:12px}
.ko-book-heading{padding:36px;border:1.5px solid #ada2cd;border-radius:24px;background:#eee9fc;margin-bottom:32px}.ko-book-heading>p[lang=ko]{font-size:1.5rem}.ko-lessons-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ko-main .ko-lesson-card{display:flex;align-items:center;gap:16px;padding:22px;border:1.5px solid #b1c6cb;border-radius:16px;text-decoration:none;background:white;color:var(--ko-ink);min-width:0}.ko-lesson-card:hover{border-color:var(--ko-teal);background:#f2f9f6}.ko-lesson-card>div{flex:1;min-width:0}.ko-lesson-card strong{display:block;font-size:1.05rem;line-height:1.4}.ko-lesson-card [lang=ko]{display:block;color:var(--ko-purple);font-size:.9rem;margin:5px 0}.ko-lesson-card small{display:block;color:var(--ko-muted)}.ko-lesson-number{padding:8px 12px;border-radius:12px;background:#e8f3ef;color:var(--ko-teal);font-size:1.2rem;font-weight:800}.ko-done{font-weight:900;color:#18754c}.ko-lesson-card.is-done{border-color:#7cad8f}
.ko-lesson-head{margin:14px 0 30px;padding:24px 0;border-bottom:2px solid var(--ko-line)}.ko-korean-title{font-size:1.5rem;color:var(--ko-purple)}.ko-goal{font-size:1.1rem;max-width:75ch}.ko-visual{border-radius:18px;background:#f0f5fc;border:1px solid #bdccdf;padding:22px;margin:28px 0}.ko-visual-row{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;margin:10px 0}.ko-cell{padding:12px 18px;background:#fff;border:1px solid #c4d0e0;border-radius:12px;text-align:center;min-width:60px;flex:1;overflow-wrap:anywhere}.ko-cell [lang=ko]{font-size:1.1rem}.ko-visual-blocks .ko-cell [lang=ko]{font-size:2.15rem}.ko-visual-blocks .ko-cell:last-child{background:#dcefe6;border-color:#80b7a0}.ko-join{font-size:1.3rem;color:#6f7d95}.ko-visual-tiles,.ko-visual-numbers,.ko-visual-calendar,.ko-visual-weather{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.ko-visual-tiles .ko-visual-row,.ko-visual-numbers .ko-visual-row,.ko-visual-calendar .ko-visual-row,.ko-visual-weather .ko-visual-row{display:flex;flex-direction:column;gap:4px;background:white;border:1px solid #c4d0e0;border-radius:14px;padding:12px;margin:0}.ko-visual-tiles .ko-cell,.ko-visual-numbers .ko-cell,.ko-visual-calendar .ko-cell,.ko-visual-weather .ko-cell{border:0;padding:4px;background:transparent}.ko-visual-tiles .ko-cell:first-child [lang=ko],.ko-visual-numbers .ko-cell:first-child [lang=ko]{font-size:1.8rem;font-weight:750;color:var(--ko-purple)}.ko-visual-sentence .ko-cell:nth-child(3n+1){background:#e6e0fa}.ko-visual-sentence .ko-cell:nth-child(3n+2){background:#fff0cb}.ko-visual-sentence .ko-cell:nth-child(3n){background:#dcefe6}.ko-visual-head{font-weight:750;text-align:center;margin-bottom:16px}
.ko-words{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ko-word{display:flex;align-items:center;gap:12px;padding:18px 14px;border:1px solid #c5d6d5;border-radius:15px;background:#f6faf8;min-width:0}.ko-word>div{flex:1;min-width:0}.ko-word [lang=ko]{font-size:1.25rem;font-weight:700;color:#1f5b51}.ko-word p{font-size:.8rem;color:var(--ko-muted);margin:4px 0 0}.ko-word-icon{width:36px;flex:0 0 36px;color:#438277}.ko-word-icon svg{display:block;width:100%;height:auto}.ko-main .ko-speak,.ko-flash-actions button{min-width:40px;min-height:44px;border:1px solid #b9cdd0;border-radius:10px;background:white;color:var(--ko-teal);font-size:1.25rem;padding:5px}.ko-audio-note,.ko-hint{font-size:.8rem;color:var(--ko-muted);margin-top:16px!important}
.ko-examples{display:grid;gap:14px}.ko-examples>div{border-left:4px solid #b6a4e2;background:#f7f4fe;padding:16px 22px;border-radius:0 12px 12px 0}.ko-examples [lang=ko]{font-size:1.3rem;font-weight:600}.ko-examples p{margin:6px 0 0;color:var(--ko-muted)}.ko-dialogue{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px;padding:22px;background:#edf5f3;border-radius:16px}.ko-dialogue>div{padding:16px;border:1px solid #b8cfca;background:#fff;border-radius:15px}.ko-dialogue>div:nth-child(even){background:#e1eee8}.ko-dialogue strong{display:block;font-size:.78rem;color:var(--ko-teal)}.ko-dialogue [lang=ko]{display:block;font-size:1.2rem;margin:8px 0}.ko-dialogue p{font-size:.9rem}.ko-reading{margin:24px 0;padding:24px;border:1px dashed #809f98;border-radius:14px}.ko-reading [lang=ko]{display:block;font-size:1.2rem}.ko-reading small{display:block;color:var(--ko-muted)}.ko-note{border-left:4px solid #c39337;background:#fff8e8;border-radius:0 12px 12px 0;padding:18px 22px;margin:24px 0 0;font-size:.9rem}
.ko-quiz fieldset{min-width:0;padding:20px 0 24px;border:0;border-bottom:1px solid #d5e1e3;margin:0 0 20px}.ko-quiz legend{font-weight:750;padding:0 0 12px}.ko-choice{display:flex;gap:12px;align-items:center;min-height:52px;padding:12px 16px;border:1px solid #b9cbd0;background:#f9fbfb;border-radius:12px;margin:10px 0;cursor:pointer}.ko-choice:has(input:checked){background:#e4f3ed;border-color:#267665;box-shadow:inset 0 0 0 1px #267665}.ko-choice input{accent-color:var(--ko-teal);width:19px;height:19px;flex:0 0 19px}.ko-feedback{padding:14px;background:#fff6df;border-radius:10px;border:1px solid #dbc68f}.ko-quiz [data-result=correct] .ko-feedback{background:#e6f5ec;border-color:#8fbe9d}.ko-writing-label{display:block;font-weight:750;margin:20px 0 8px}.ko-main textarea{width:100%;resize:vertical;padding:16px;border:1.5px solid #9fb9c0;border-radius:12px;background:#fcfdfd;color:var(--ko-ink);font-family:'Ilmdosh Korean',system-ui,sans-serif}.ko-main details{margin-top:20px;border:1px solid #bac9d0;border-radius:12px;padding:16px;background:#f4f7fa}.ko-main summary{font-weight:700;min-height:30px}.ko-main details p{margin-top:16px}.ko-completion{padding:24px;text-align:center;background:#e8f4ed;border:1px solid #98bcaa;border-radius:20px;margin-top:24px}.ko-completion p{margin-top:14px}.ko-prev-next{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:30px 0}.ko-prev-next a{padding:14px 0;font-weight:750;text-decoration:none;max-width:46%}
.ko-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ko-main label>select,.ko-main label>input:not([type=checkbox],[type=radio]){display:block;width:100%;margin-top:8px;padding:10px 12px;min-height:46px;border:1px solid #9db8bc;border-radius:10px;background:white;color:var(--ko-ink)}.ko-form-grid label{font-size:.8rem;font-weight:750}.ko-builder{border:1px solid #c9bce5;padding:24px;border-radius:16px;background:#faf8ff;margin-top:28px}.ko-block-output{text-align:center;margin:20px 0}.ko-block-output output{display:block;font-size:6rem!important;font-weight:600;line-height:1.45!important;width:160px;margin:0 auto;background:linear-gradient(90deg,transparent 49.7%,#d9d0e8 50%,transparent 50.3%),linear-gradient(transparent 49.7%,#d9d0e8 50%,transparent 50.3%),white;border:2px solid #a99bc0;border-radius:14px}.ko-block-output p{margin:12px}.ko-block-output .ko-speak{font-size:.9rem}
.ko-clock-tool{display:grid;grid-template-columns:minmax(140px,230px) 1fr;gap:28px;align-items:center;background:#fff8e9;border:1px solid #d8c8a3;border-radius:16px;padding:24px;margin-top:20px}.ko-clock-tool svg{width:100%;fill:white;stroke:#315263;stroke-width:3}.ko-clock-tool text{stroke:none;fill:#315263;text-anchor:middle;font:18px system-ui}.ko-clock-tool line{stroke-width:5;stroke-linecap:round}.ko-clock-tool [data-minute-hand]{stroke:#c45a3b;stroke-width:3}.ko-clock-pin{fill:#315263}.ko-clock-tool output{display:block;font-weight:750;margin-top:18px}.ko-main input[type=range]{padding:0!important;accent-color:var(--ko-teal)}.ko-room-tool{text-align:center;padding:20px;border:1px solid #9cbbb4;border-radius:16px;background:#eff7f2}.ko-room-tool svg{max-width:400px;width:100%;stroke:#53766b;fill:#e4b782;stroke-width:3}.ko-room-tool circle{fill:#bd5b85;stroke:#9b3463}.ko-segments{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.ko-segments button{border:1px solid #9db4af;border-radius:10px;background:#fff;color:var(--ko-ink);padding:10px 14px;min-height:44px}.ko-segments button[aria-pressed=true]{background:var(--ko-teal);color:white}.ko-room-tool p[lang=ko]{font-size:1.25rem;margin-top:18px}
.ko-vocab-controls{display:grid;grid-template-columns:2fr 1fr 1fr;gap:22px;align-items:center;margin-bottom:22px}.ko-check{display:flex;gap:10px;align-items:center}.ko-check input{width:20px;height:20px;accent-color:var(--ko-teal)}.ko-flashcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;margin-top:24px}.ko-flashcard{display:flex;flex-direction:column;align-items:center;text-align:center;border:1.5px solid #aabdc7;border-radius:18px;padding:18px;background:#f7f9fd}.ko-flash-actions{display:flex;width:100%;justify-content:space-between;margin-bottom:20px}.ko-flashcard h2{font-size:1.65rem;margin:6px 0 20px}.ko-main .ko-reveal{border:1px solid #9a8ab6;border-radius:10px;padding:10px 16px;background:#efe8fc;color:#513a7d;min-height:44px}.ko-flashcard>p{margin:20px 0}.ko-flashcard>a{font-size:.8rem;margin-top:auto;padding-top:22px}.ko-canvas-wrap{width:min(100%,400px);aspect-ratio:1;position:relative;border:2px solid #91aaa7;border-radius:16px;margin:24px auto;background:linear-gradient(90deg,transparent 49.7%,#c5d5d2 50%,transparent 50.3%),linear-gradient(transparent 49.7%,#c5d5d2 50%,transparent 50.3%),#fff}.ko-canvas-wrap canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.ko-canvas-wrap>span{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(140px,22vw,280px);color:#d8e2df;user-select:none;pointer-events:none}
.ko-footer{display:flex;gap:18px;flex-wrap:wrap;justify-content:space-between;border-top:1px solid var(--ko-line);margin-top:48px;padding-top:24px;font-size:.75rem;color:var(--ko-muted)}.ko-print-lesson{margin-top:64px}.ko-print .ko-main{max-width:1100px}.ko-print .ko-writing-lines{height:150px;background:repeating-linear-gradient(transparent,transparent 29px,#c5cfd4 30px)}.ko-answer-key{margin-top:60px}.ko-answer-key section{margin:32px 0}.ko-print .ko-photo img{max-height:380px}
@media(min-width:1800px){.ko-main .ko-hero{gap:56px}.ko-main .ko-panel{padding:40px}.ko-main .ko-photo:not(.ko-photo-hero){max-width:100%;display:grid;grid-template-columns:1fr auto}.ko-photo:not(.ko-photo-hero) figcaption{writing-mode:vertical-rl;padding:16px 8px}}
@media(max-width:1050px){.ko-hero{grid-template-columns:1fr;gap:26px}.ko-hero .ko-photo-hero img{aspect-ratio:1.8;max-height:350px}.ko-words{grid-template-columns:repeat(2,minmax(0,1fr))}.ko-resource-grid{grid-template-columns:1fr}.ko-resource-card{display:grid;grid-template-columns:48px 1fr;gap:6px 20px}.ko-resource-card svg{grid-row:1/4;margin:0}.ko-resource-card h3{margin:0}.ko-resource-card p{margin:0}.ko-vocab-controls{grid-template-columns:1fr 1fr}.ko-check{grid-column:1/-1}}
@media(max-width:650px){.ko-course .ko-main{padding:18px 16px 90px}.ko-path{gap:4px 16px;font-size:.75rem;padding-bottom:12px}.ko-hero{padding:24px;border-radius:20px}.ko-hero h1{font-size:2.15rem}.ko-book-grid,.ko-lessons-grid{grid-template-columns:1fr}.ko-main .ko-book-card{padding:24px}.ko-main .ko-panel{padding:22px 18px;border-radius:16px}.ko-book-heading{padding:24px}.ko-words{grid-template-columns:1fr}.ko-word{padding:14px}.ko-visual{padding:14px}.ko-visual-row{gap:7px}.ko-cell{padding:8px;min-width:40px}.ko-cell [lang=ko]{font-size:.95rem}.ko-visual-blocks .ko-cell [lang=ko]{font-size:1.6rem}.ko-visual-arrows .ko-cell{flex-basis:100%}.ko-visual-arrows .ko-join{transform:rotate(90deg)}.ko-dialogue{padding:14px;grid-template-columns:1fr}.ko-dialogue>div:nth-child(odd){margin-right:16px}.ko-dialogue>div:nth-child(even){margin-left:16px}.ko-continue{align-items:stretch;flex-direction:column}.ko-form-grid{gap:9px;grid-template-columns:1fr}.ko-form-grid label{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:8px}.ko-form-grid select{margin-top:0!important}.ko-builder{padding:16px}.ko-clock-tool{grid-template-columns:1fr;padding:18px}.ko-clock-tool svg{max-width:210px;justify-self:center}.ko-vocab-controls{grid-template-columns:1fr}.ko-check{grid-column:auto}.ko-flashcards{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.ko-prev-next a{max-width:100%}.ko-main .ko-photo{border-radius:14px}.ko-photo img{max-height:300px}.ko-section{margin-top:32px}.ko-main .ko-button{padding:10px 16px}.ko-lesson-head{padding:14px 0}.ko-lesson-head h1{font-size:1.85rem}}
.ko-main .ko-book-card{--book-accent:#6d55bd;background:linear-gradient(135deg,color-mix(in srgb,var(--book-accent) 86%,#fff),var(--book-accent));color:#fff;border:2px solid color-mix(in srgb,var(--book-accent) 70%,#142c39);box-shadow:0 5px 0 color-mix(in srgb,var(--book-accent) 25%,#e9eff1);padding:26px}
.ko-course .ko-main .ko-book-card :is(h2,h3){color:#fff;-webkit-text-fill-color:#fff}
.ko-book-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.ko-book-top{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;margin-bottom:22px}.ko-book-top .ko-book-mark{margin:0;font-size:1.7rem!important;padding:10px 16px;background:#fff;color:var(--book-accent);box-shadow:0 5px 0 #00000013}.ko-book-card>progress{width:100%;height:8px;margin:14px 0 0;accent-color:#fff;border:0;border-radius:20px;overflow:hidden}.ko-book-card>progress::-webkit-progress-bar{background:#ffffff50}.ko-book-card>progress::-webkit-progress-value{background:white}.ko-book-card>b{border-top-color:#ffffff60;margin-top:20px}.ko-main .ko-book-heading{--book-accent:#6d55bd;border:2px solid color-mix(in srgb,var(--book-accent) 60%,white);border-top:6px solid var(--book-accent);background:linear-gradient(125deg,color-mix(in srgb,var(--book-accent) 12%,white),#fff);box-shadow:0 5px 0 #dde7e850}
.ko-book-heading>p[lang=ko]{color:var(--book-accent)}.ko-lesson-jumps{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 24px}.ko-lesson-jumps a{padding:9px 14px;border:1.5px solid #9cbdb5;border-radius:30px;background:#e9f4ef;text-decoration:none;font-size:.82rem;font-weight:750;min-height:44px;display:flex;align-items:center}.ko-main section[id]{scroll-margin-top:120px}.ko-reading>[data-translation]{margin-bottom:18px}.ko-play-intro label{display:block;max-width:540px;font-weight:700}.ko-play-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.ko-play-layout>.ko-panel{margin-top:0}.ko-match-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}.ko-match-columns h3{font-size:.85rem;margin-bottom:12px}.ko-match-columns [data-match-ko],.ko-match-columns [data-match-uz]{display:grid;gap:10px}.ko-match-columns button{width:100%;min-height:70px;border:2px solid #b3c8cc;background:#f5f9fb;color:var(--ko-ink);border-radius:14px;padding:10px;font-size:.94rem;overflow-wrap:anywhere}.ko-match-columns [data-match-ko] button{background:#f0ebfb;border-color:#b8a6d5;font-size:1.12rem}.ko-match-columns button[aria-pressed=true]{background:#dcefe7;border-color:#1b6f60;box-shadow:0 0 0 2px #1b6f6030}.ko-match-columns button.is-matched:disabled{opacity:1;background:#e3f3e7;border-color:#4e9564;color:#245a34}.ko-game-status{min-height:3.5em;font-weight:650;color:#245e54;padding:14px 16px;background:#edf6f0;border-radius:12px;margin:20px 0!important}.ko-sentence-answer,.ko-sentence-bank{display:flex;gap:10px;flex-wrap:wrap;min-height:84px;padding:18px;border-radius:16px;margin:18px 0}.ko-sentence-answer{border:2px dashed #9a83bf;background:#faf7ff}.ko-sentence-bank{border:1px solid #b6cdd0;background:#eef5f7}.ko-sentence-answer button,.ko-sentence-bank button{border:1.5px solid #9d8bb9;border-radius:11px;background:#fff;color:#433464;padding:8px 13px;min-height:48px;box-shadow:0 3px 0 #d6cde7;font-size:1.05rem}.ko-sentence-bank button:disabled{opacity:.3;box-shadow:none}.ko-sentence-answer button{background:#e8dff7}.ko-main [data-sentence-model]{padding:16px;border-left:4px solid #8b6cae;background:#f4eefb}.ko-sentence-prompt{font-size:1.2rem}.ko-main .ko-progress-hero{display:flex;align-items:center;gap:32px;background:linear-gradient(120deg,#e7f4ed,#f5f0ff);border-color:#8bad9f}.ko-progress-orbit{--progress:0%;flex:0 0 180px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,#fff 59%,transparent 60%),conic-gradient(#207568 var(--progress),#d4dfdf 0);display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:0 6px 18px #30585012}.ko-progress-orbit strong{font-size:2.5rem;line-height:1.3}.ko-progress-orbit>span{font-size:.8rem}.ko-result-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.ko-result-stat{display:flex;flex-direction:column;padding:22px;background:#fff;border:1.5px solid #a7bfc4;border-radius:16px}.ko-result-stat strong{font-size:1.9rem;color:var(--ko-teal)}.ko-result-stat span{font-size:.85rem;color:var(--ko-muted)}.ko-achievements{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px}.ko-achievement{padding:24px;border:2px solid #c0cdd0;border-radius:20px;background:#fff}.ko-achievement h3{font-size:1.12rem}.ko-achievement p{font-size:.85rem}.ko-achievement-mark{display:inline-flex;align-items:center;justify-content:center;min-width:60px;height:60px;font-size:1.4rem;font-weight:800;background:color-mix(in srgb,var(--book-accent) 12%,white);color:var(--book-accent);border-radius:18px;padding:8px;margin-bottom:20px}.ko-achievement.is-earned{border-color:var(--book-accent);background:color-mix(in srgb,var(--book-accent) 5%,white)}.ko-achievement.is-earned .ko-achievement-mark{background:var(--book-accent);color:white}.ko-achievement progress{width:100%;height:9px;accent-color:var(--book-accent);margin-bottom:14px}.ko-achievement>a{display:block;font-weight:700;font-size:.85rem}.ko-saved-writing{white-space:pre-wrap;overflow-wrap:anywhere}.ko-main .ko-result-next{max-width:100%}
@media(min-width:1700px){.ko-book-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1200px){.ko-play-layout{grid-template-columns:1fr}}
@media(max-width:650px){.ko-book-grid{grid-template-columns:1fr}.ko-main .ko-progress-hero{flex-direction:column;align-items:stretch}.ko-progress-orbit{align-self:center;flex-basis:160px;width:160px;height:160px}.ko-result-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ko-result-stat{padding:16px}.ko-match-columns{gap:10px}.ko-match-columns button{min-height:78px;padding:8px;font-size:.8rem}.ko-match-columns [data-match-ko] button{font-size:1rem}.ko-sentence-answer,.ko-sentence-bank{padding:12px;gap:8px}.ko-main .ko-book-card{padding:24px}.ko-lesson-jumps{gap:6px}.ko-lesson-jumps a{font-size:.73rem;padding:8px 11px}.ko-course .ko-path{gap:4px 14px}.ko-progress-hero .ko-button{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){.ko-main *{transition:none!important;scroll-behavior:auto!important}}
.ko-print .ko-print-cover .ko-photo{width:100%;margin:24px 0 0}.ko-print .ko-print-cover .ko-photo img{max-height:420px}
@media print{.ko-print-lesson section[id$="-yozamiz"]{break-inside:avoid-page}.ko-main .ko-eyebrow{break-after:avoid}.ko-writing-lines{break-inside:avoid-page}}
@media print{.ko-print .ko-print-cover{padding:14mm 9mm!important;min-height:230mm;justify-content:center}.ko-print .ko-print-cover .ko-photo img{height:88mm!important;max-height:88mm!important}.ko-print-cover h1{font-size:28pt}}
@media print{@page{size:A4;margin:18mm 16mm}html{filter:none!important;font-size:10pt!important}body.ko-course{background:white!important;color:#18323d!important;margin:0!important;padding:0!important}.ko-course .ko-main{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}.ko-course :is(.ko-fallback,.ko-path,.ko-skip,.ko-footer,.ko-speak,.ko-audio-note,.ko-main button,.ilmdosh-section-shell,.ilmdosh-wide-rail,.ilmdosh-context-toggle,.ilmdosh-resize-handle,.ilmdosh-zoom,.calculator-fab,.tool-fab){display:none!important}.ko-book-heading{break-after:page;min-height:220mm;padding:35mm 10mm!important;display:flex;flex-direction:column;justify-content:center}.ko-print-lesson,.ko-answer-key{break-before:page}.ko-print-lesson{margin-top:0}.ko-print-lesson .ko-lesson-head{margin-top:0}.ko-main h1{font-size:28pt}.ko-main h2{font-size:17pt}.ko-main h3{font-size:13pt}.ko-main .ko-panel{margin:12px 0;padding:18px;border:1px solid #96afb7;box-shadow:none}.ko-main .ko-photo{max-width:100%;display:block!important;break-inside:avoid;margin:12px 0}.ko-print .ko-photo img{height:70mm;max-height:70mm;object-fit:cover}.ko-photo figcaption{writing-mode:horizontal-tb!important;font-size:7pt;padding:5px}.ko-main :is(.ko-word,.ko-visual-row,.ko-examples>div,.ko-dialogue>div,fieldset,.ko-answer-key section){break-inside:avoid}.ko-main :is(h1,h2,h3,legend){break-after:avoid}.ko-words{grid-template-columns:repeat(2,minmax(0,1fr))}.ko-word{padding:10px}.ko-word [lang=ko]{font-size:12pt}.ko-visual{padding:12px;margin:12px 0;break-inside:avoid}.ko-visual-blocks .ko-cell [lang=ko]{font-size:22pt}.ko-cell{padding:8px}.ko-choice{padding:7px 10px;min-height:0}.ko-quiz fieldset{padding:8px 0;margin:8px 0}.ko-print .ko-writing-lines{height:30mm}.ko-main [lang=ko]{line-height:1.65}.ko-main a{text-decoration:none;color:inherit}.ko-book-heading,.ko-cell,.ko-examples,.ko-visual,.ko-word,.ko-choice{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* Readings stay next to their Korean word, with a separate readable Latin line. */
.ko-course .ko-pronounced{display:inline-flex;flex-direction:column;vertical-align:middle;align-items:flex-start;max-width:100%;line-height:1.45;margin:.12em .08em .2em 0;letter-spacing:0;text-transform:none}
.ko-course .ko-pronounced>.ko-script{display:block;font-size:inherit;line-height:1.55;overflow-wrap:anywhere}
.ko-course .ko-pronounced>.ko-reading-hint{display:block!important;font:500 .78rem/1.4 system-ui,sans-serif!important;letter-spacing:.01em;text-transform:none;color:#315f70;-webkit-text-fill-color:currentColor;overflow-wrap:anywhere;white-space:normal;margin:0!important;padding:0!important;max-width:100%}
.ko-course .ko-word .ko-pronounced{font-size:1.25rem}.ko-course .ko-cell .ko-pronounced{align-items:center}.ko-course .ko-book-mark{height:auto;min-height:60px}.ko-course .ko-book-card .ko-reading-hint{color:inherit}
.ko-course .ko-pronunciation-key{display:flex;gap:10px 22px;flex-wrap:wrap;align-items:center;border:1.5px solid #a6c6c2;border-left:5px solid #297b73;border-radius:14px;padding:14px 20px;background:#eef7f4;margin:0 0 24px;font-size:.8rem;line-height:1.65}
.ko-pronunciation-key>strong{color:#176e66}.ko-pronunciation-key>p{flex:1 1 280px;margin:0}.ko-pronunciation-key>a{font-weight:700}
.ko-course .ko-builder-reading{font:700 1rem/1.6 system-ui,sans-serif;color:#315f70;text-align:center;margin:12px 0}
.ko-letter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:16px}
.ko-letter-card{border:1.5px solid #a8bcc9;border-radius:16px;padding:20px;background:linear-gradient(145deg,#f1ebff,#f5fbf9)}
.ko-letter-card>strong{display:block;font-size:2rem;color:#58448c}.ko-letter-card>p{margin:12px 0 0;font-size:.9rem}.ko-sound-rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:22px}.ko-sound-rules article{padding:20px;border:1px solid #b8cdd3;border-radius:14px;background:#f4f9fa}.ko-sound-rules h3{font-size:1.1rem}
.ko-main .ko-achievement-mark{height:auto;min-height:60px}.ko-main .ko-flashcard h2 .ko-pronounced,.ko-main [data-match-ko] .ko-pronounced{align-items:center}.ko-main .ko-flashcard h2{width:100%}
@media(max-width:650px){.ko-course .ko-pronounced>.ko-reading-hint{font-size:.76rem!important}.ko-course .ko-pronunciation-key{padding:12px 15px;gap:6px}.ko-pronunciation-key>p{flex-basis:100%}.ko-main .ko-match-columns button{min-height:94px}.ko-course .ko-cell .ko-pronounced{font-size:1rem}.ko-main .ko-book-mark{font-size:1.3rem!important}.ko-course .ko-visual-row{flex-wrap:wrap}}
@media print{.ko-course .ko-pronounced{break-inside:avoid;vertical-align:middle}.ko-course .ko-pronounced>.ko-reading-hint{font-size:7.5pt!important;color:#304f60!important}.ko-course .ko-pronunciation-key{display:none}.ko-main .ko-reading{break-inside:auto}.ko-main .ko-reading>p{break-inside:avoid}.ko-main .ko-visual{break-inside:auto}.ko-print .ko-answer-key section{break-inside:auto}.ko-answer-key li{break-inside:avoid}.ko-main .ko-letter-card{break-inside:avoid}}
