@import url('https://fonts.googleapis.com/css2?family=Onest:wght@400;500;600;700;800&family=Noto+Sans+KR:wght@400;700;900&display=swap');
:root{--blue:#93651b;--ink:#17263d;--muted:#626b76;--paper:#faf8f2;--line:#e5dfd2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:#fff;font:15px/1.65 Onest,'Segoe UI',sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #aa7826;outline-offset:5px}button:disabled{opacity:.5;cursor:default}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.16;letter-spacing:-.045em}h2{font-size:clamp(32px,4vw,53px);font-weight:800}.header{max-width:1440px;margin:auto;padding:27px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:12px;font-size:19px;letter-spacing:-.04em;font-weight:800;white-space:nowrap}.brand small{display:block;font-size:8px;letter-spacing:.18em;font-weight:600;color:var(--muted)}.brand-mark{color:var(--blue);font-size:31px;letter-spacing:-.22em;padding-right:5px}.brand-mark span{color:#b1832d}.header nav{display:flex;gap:28px;font-size:13px;font-weight:700}.nav-cta{border-bottom:1px solid var(--ink);padding:8px 0;font-size:13px;font-weight:800}.nav-cta span{margin-left:18px}.hero{max-width:1440px;margin:12px auto 55px;padding:0 5%;display:grid;grid-template-columns:1.05fr 1fr;gap:45px;align-items:stretch}.hero-copy{padding:36px 0 0}.eyebrow{color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.13em}.signal{display:inline-block;width:6px;height:6px;background:var(--blue);border-radius:50%;margin-right:8px}.hero h1{font-size:clamp(55px,6vw,88px);line-height:1.06;font-weight:800;margin:24px 0;letter-spacing:-.065em}.hero h1 em{color:var(--blue);font-style:normal}.hero-description{color:var(--muted);font-size:14px;line-height:1.9}.hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin:29px 0 37px}.button{border:1px solid var(--line);padding:14px 20px;display:inline-flex;align-items:center;justify-content:center;gap:20px;border-radius:6px;font-size:13px;font-weight:800;transition:transform .18s,background .18s}.button:hover{transform:translateY(-2px)}.primary{background:var(--blue);color:white;border-color:var(--blue)}.outline{background:transparent}.outline:hover{background:#faf2de}.play{font-size:10px;border:1px solid var(--line);border-radius:50%;width:22px;height:22px;display:grid;place-items:center}.hero-facts{display:flex;border-top:1px solid var(--line);padding-top:20px;gap:32px}.hero-facts>span{font-size:10px;color:var(--muted);display:flex;flex-direction:column;gap:3px}.hero-facts strong{font-size:25px;font-weight:800;color:var(--ink);letter-spacing:-.04em}.hero-facts>span:last-child strong{font-size:18px;line-height:41px;font-family:'Noto Sans KR',sans-serif}.hero-image{position:relative;isolation:isolate;border-radius:5px 5px 75px 5px;overflow:hidden;min-height:550px;background:#dfeafb}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#13233822 20%,#15254500 40%,#152545b5);z-index:-1}.hero-image>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:52% center;z-index:-2}.image-label{position:absolute;top:25px;left:25px;right:25px;color:white;font-size:10px;font-weight:700;letter-spacing:.16em;display:flex;justify-content:space-between}.hangul-stamp{position:absolute;right:22px;top:73px;color:white;font:900 67px/1 'Noto Sans KR',sans-serif;writing-mode:vertical-rl;opacity:.92}.image-caption{position:absolute;bottom:45px;left:30px;color:white}.image-caption small{font-size:9px;letter-spacing:.17em}.image-caption p{font-size:27px;font-weight:700;line-height:1.35;margin-top:12px;letter-spacing:-.04em}.image-credit{position:absolute;bottom:12px;left:30px;font-size:8px;color:#e1e8f5}.word-ribbon{background:var(--blue);color:white;display:flex;align-items:center;justify-content:space-around;gap:25px;padding:18px 4%;overflow:hidden;white-space:nowrap;font-size:15px;font-weight:800;letter-spacing:.08em}.word-ribbon i{font-style:normal;opacity:.55}.section,.study-section{max-width:1440px;margin:auto;padding:84px 5%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:35px}.section-heading h2{margin-top:15px}.section-heading>p{font-size:13px;line-height:1.9;color:var(--muted);max-width:410px}.level-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.level-card{padding:25px 28px 29px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;background:white;transition:background .2s;position:relative}.level-card:hover{background:#fbf6e9}.level-top{display:flex;justify-content:space-between;align-items:center}.level-number{font-size:44px;font-weight:500;color:#d9cba8;letter-spacing:-.06em}.level-tag{font-size:10px;color:var(--blue);background:#f8f0dc;padding:4px 8px;border-radius:3px}.level-card h3{font-size:20px;margin:13px 0 9px}.level-card p{font-size:12px;color:var(--muted);max-width:230px;min-height:40px}.level-bottom{margin-top:22px;display:flex;justify-content:space-between;font-size:10px;font-weight:700}.level-bottom b{color:var(--blue);font-size:20px;line-height:1}.study-section{background:var(--paper);max-width:none;padding-left:max(5%,calc((100vw - 1296px)/2));padding-right:max(5%,calc((100vw - 1296px)/2))}.progress-box{width:210px;text-align:right}.progress-box>span{font-size:26px;font-weight:800}.progress-box small{display:block;color:var(--muted);font-size:10px}progress{display:block;width:100%;height:5px;margin-top:10px;accent-color:var(--blue)}.catalog-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.filters{display:flex;gap:6px;flex-wrap:wrap}.filters button{border:1px solid var(--line);background:white;padding:9px 13px;border-radius:4px;font-size:11px;font-weight:700}.filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.search{display:flex;align-items:center;background:white;border:1px solid var(--line);border-radius:5px;padding:0 12px;gap:10px}.search span{font-size:25px}.search input{border:0;background:none;outline-offset:0;padding:11px 0;width:210px;font-size:12px}.catalog-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px;margin:23px 0 14px}.lesson-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.lesson-card{border:1px solid var(--line);background:white;border-radius:7px;text-align:left;padding:23px;display:flex;flex-direction:column;min-height:170px;transition:box-shadow .2s,transform .2s}.lesson-card:hover{box-shadow:0 8px 20px #17263d0a;transform:translateY(-3px)}.lesson-card .code{font-size:10px;letter-spacing:.08em;color:var(--blue);font-weight:800}.lesson-card h3{font-size:16px;line-height:1.5;letter-spacing:-.025em;margin:12px 0 20px}.lesson-card .card-bottom{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-top:auto}.lesson-card .read{color:var(--blue)}.load-more{margin:26px auto 0;display:flex}.load-more[hidden]{display:none}.content-note{font-size:11px;color:var(--muted);margin-top:25px}.empty{padding:35px 0;color:var(--muted);grid-column:1/-1}.approach{display:grid;grid-template-columns:1fr 1fr;gap:70px}.approach h2{margin:17px 0 22px}.approach>div>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.9}.text-link{font-size:12px;font-weight:800;color:var(--blue);display:inline-block;margin-top:25px;border-bottom:1px solid}.steps{list-style:none;padding:0;margin:0}.steps li{display:flex;gap:26px;padding:28px 0;border-top:1px solid var(--line)}.steps li>span{color:var(--blue);font-size:12px;font-weight:800;line-height:30px}.steps h3{font-size:23px;margin-bottom:10px}.steps p{font-size:13px;color:var(--muted)}.closing{background:var(--blue);color:white;text-align:center;padding:65px 20px 70px;position:relative;overflow:hidden}.closing>span{font-family:'Noto Sans KR',sans-serif;font-size:12px;letter-spacing:.2em;opacity:.7}.closing h2{margin:20px 0 28px;font-size:52px}.white{color:var(--blue);background:white;border-color:white}footer{padding:30px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px}footer p,footer>a:last-child{font-size:11px;color:var(--muted)}.skip{position:absolute;top:-100px;background:var(--ink);color:white;padding:12px;z-index:20}.skip:focus{top:0}dialog{padding:0;border:0;border-radius:12px;box-shadow:0 30px 100px #101d3650;max-height:90vh;width:min(900px,94vw);color:var(--ink)}dialog::backdrop{background:#0b1939ad;backdrop-filter:blur(5px)}.reader-top{display:flex;align-items:center;justify-content:space-between;background:#faf6eb;padding:15px 25px;position:sticky;top:0;z-index:2;border-bottom:1px solid var(--line)}.reader-top>span{font-size:12px;font-weight:800;color:var(--blue)}.icon-button{border:0;background:transparent;padding:7px;font-size:18px}.reader-content{padding:35px 40px}.reader-content>h1{font-size:32px;line-height:1.35;margin:12px 0}.reader-note{padding:15px;background:#faf2df;font-size:13px;margin:25px 0}.reader-content h2{font-size:23px;margin:32px 0 18px;line-height:1.35}.reader-content h3{font-size:18px;margin:25px 0 12px}.reader-content p,.reader-content li{font-size:14px;line-height:1.9;margin:12px 0}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px;margin:20px 0}td,th{padding:12px;border:1px solid var(--line);text-align:left;min-width:90px}th{background:#faf4e5}blockquote{border-left:3px solid var(--blue);padding:15px 20px;margin:20px 0;background:var(--paper);font:18px/1.8 'Noto Sans KR',sans-serif}.answer{border:1px solid var(--line);padding:16px 20px;margin:20px 0;border-radius:5px}.answer summary{cursor:pointer;color:var(--blue);font-weight:800}.reader-bottom{display:flex;gap:12px;margin-top:35px;flex-wrap:wrap}.storage-note{color:var(--muted);font-size:11px!important}#intro-dialog{width:min(850px,94vw)}#intro-dialog h2{font-size:18px;letter-spacing:-.02em}#intro-dialog video{display:block;width:100%;background:#000;max-height:65vh}#intro-dialog>p{padding:20px;font-size:12px;color:var(--muted)}body.modal-open{overflow:hidden}
@media(min-width:1600px){.hero h1{font-size:92px}}
@media(max-width:900px){.header nav{gap:15px}.hero{gap:25px}.hero h1{font-size:60px}.hero-image{min-height:520px}.hero-facts{gap:20px}.hero-description br{display:none}.hero-actions{gap:8px}.button{padding:12px 14px;gap:12px}.level-card{padding:22px}.lesson-grid{grid-template-columns:repeat(2,1fr)}.section-heading>p{max-width:300px}}
@media(max-width:650px){.header{padding:20px 6%}.brand{font-size:16px}.brand small{font-size:6px}.brand-mark{font-size:27px}.header nav{display:none}.nav-cta{font-size:10px}.hero{grid-template-columns:1fr;padding:0 6%;gap:30px;margin-top:0;margin-bottom:35px}.hero-copy{padding-top:20px}.hero h1{font-size:65px}.hero-description{font-size:13px}.hero-image{min-height:400px;border-bottom-right-radius:55px}.hero-image>img{object-position:center 42%}.hero-actions{margin:24px 0}.hero-facts{justify-content:space-between}.image-caption p{font-size:25px}.hangul-stamp{font-size:55px}.word-ribbon{justify-content:flex-start;font-size:12px;gap:25px;padding:16px 6%}.section,.study-section{padding:54px 6%}.section-heading{display:block}.section-heading>p{margin-top:20px;max-width:none;font-size:12px}.section-heading h2{font-size:37px}.level-grid{grid-template-columns:repeat(2,1fr)}.level-card{padding:17px}.level-number{font-size:35px}.level-tag{font-size:8px}.level-card h3{font-size:16px}.level-card p{font-size:11px;min-height:55px}.progress-box{width:100%;display:flex;align-items:center;gap:12px;margin-top:22px;text-align:left}.progress-box>span{font-size:21px}.progress-box progress{max-width:90px;margin:0;margin-left:auto}.progress-box small{font-size:9px}.search{width:100%;margin-top:5px}.search input{width:100%}.filters{gap:5px}.filters button{font-size:10px;padding:8px 10px}.catalog-meta{display:block}.catalog-meta>span{display:block;margin-top:5px}.lesson-grid{grid-template-columns:1fr}.lesson-card{min-height:135px;padding:20px}.lesson-card h3{margin-bottom:15px}.approach{grid-template-columns:1fr;gap:30px}.closing h2{font-size:42px}footer{flex-wrap:wrap;padding:25px 6%}footer p{width:100%;order:3}.reader-content{padding:22px}.reader-content>h1{font-size:25px}.reader-content h2{font-size:20px}.reader-top{padding:12px 20px}.reader-bottom .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Learning workspace */
#lesson-media{margin-bottom:30px}#lesson-media video{width:100%;max-height:60vh;background:#101a30;border-radius:7px;margin-top:12px}.video-parts{display:flex;gap:8px;flex-wrap:wrap}.video-parts button{font-size:11px;padding:9px 13px}.video-parts button[aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}
[hidden]{display:none!important}textarea,select{font:inherit;color:inherit}textarea{resize:vertical}.header-actions,.reader-actions,.footer-links{display:flex;align-items:center;gap:20px}.menu-toggle{display:none}.header nav{gap:20px;font-size:12px}.header nav a[aria-current]{color:var(--blue)}.header{position:relative;z-index:5}.text-button{padding:4px 0;border:0;background:none;color:var(--blue);font-weight:700;font-size:13px;text-align:left}.small{font-size:12px}.muted{color:var(--muted)}.field-label{display:block;font-weight:700;font-size:13px;margin:22px 0 8px}.form-panel{padding:30px;display:grid;gap:12px}.form-panel>p{line-height:1.8}.form-panel .field-label{margin:10px 0 0}.form-panel input,.form-panel select,#lesson-note{border:1px solid var(--line);border-radius:6px;background:white;padding:13px 15px;width:100%;min-width:0}.form-panel .button{margin-top:10px}.footer-links{font-size:12px;flex-wrap:wrap}.footer-links button{color:var(--muted);font-size:12px}.teacher-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center;border-top:1px solid var(--line)}.teacher-photo{height:390px;overflow:hidden;border-radius:7px 7px 65px 7px;background:#faf2df}.teacher-photo img{width:100%;height:100%;object-fit:cover;object-position:center 24%}.teacher-section h2{font-size:clamp(30px,3.4vw,46px);margin:20px 0}.teacher-section p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.9;max-width:540px}.faq-section{padding-top:25px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.faq-grid details{border-top:1px solid var(--line);padding:24px 0}.faq-grid summary{cursor:pointer;list-style:none;font-weight:800;position:relative;padding-right:30px;font-size:15px}.faq-grid summary::-webkit-details-marker{display:none}.faq-grid summary:after{content:'+';position:absolute;right:2px;top:-2px;color:var(--blue);font-size:23px;font-weight:400}.faq-grid details[open] summary:after{content:'−'}.faq-grid details p{margin-top:15px;font-size:13px;line-height:1.9;color:var(--muted)}.faq-grid .text-link{margin-top:12px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:35px}.page-heading h1{font-size:clamp(32px,4vw,51px);margin:18px 0}.page-heading>div>p:last-child{color:var(--muted)}.dashboard-view{padding-top:35px;min-height:75vh}.dashboard-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:30px}.dashboard-stats article{padding:25px;border-right:1px solid var(--line)}.dashboard-stats article:last-child{border:0}.dashboard-stats article>span{display:block;font-size:10px;font-weight:800;letter-spacing:.07em;color:var(--muted);margin-bottom:12px}.dashboard-stats strong{font-size:35px;letter-spacing:-.04em;line-height:1}.dashboard-stats strong small{font-size:13px;font-weight:500;letter-spacing:0;color:var(--muted)}.dashboard-main{display:grid;grid-template-columns:1.3fr 1fr;gap:24px}.continue-card{background:var(--ink);color:white;border-radius:8px;padding:35px;min-height:330px;display:flex;align-items:flex-start;flex-direction:column}.continue-card .eyebrow{color:#e2bb4b}.continue-code{font-size:10px;letter-spacing:.08em;color:#d6c59c;margin-top:25px}.continue-card h2{font-size:28px;line-height:1.3;margin:12px 0 16px;max-width:470px}.continue-card>p:not(.eyebrow){font-size:13px;color:#e2d6ba}.continue-card .button{margin-top:25px;background:white;color:var(--ink);border-color:white}.week-card{border:1px solid var(--line);padding:35px;border-radius:8px;display:flex;flex-direction:column;justify-content:center}.week-card h2{font-size:24px;line-height:1.3;margin:17px 0 25px}.week-activity{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:0 0 20px}.activity-day{display:flex;align-items:center;flex-direction:column;gap:8px}.activity-day small{color:var(--muted);font-size:10px}.activity-day span{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:var(--paper);font-size:12px}.activity-day.active span{background:var(--blue);color:white}.activity-day.today span{outline:1px solid var(--blue);outline-offset:3px}.dashboard-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:45px 0 22px}.dashboard-heading h2{font-size:26px}.dashboard-heading .text-link{margin:0}.course-progress-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.progress-course{border:1px solid var(--line);border-radius:7px;padding:25px;transition:background .2s}.progress-course:hover{background:#fcf8ed}.progress-course h3{font-size:19px;margin:13px 0 23px}.progress-course progress{margin-bottom:10px;height:4px}.progress-course small{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.saved-lessons{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.saved-empty{grid-column:1/-1;padding:35px;text-align:center;border:1px dashed #d8c9a4;border-radius:8px;background:var(--paper)}.saved-empty>span{font-size:35px;color:var(--blue)}.saved-empty h3{font-size:19px;margin:10px 0}.saved-empty p{font-size:13px;color:var(--muted)}.saved-empty .text-link{margin-top:12px}.backup-panel{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--line);margin-top:45px;padding-top:30px}.backup-panel h3{font-size:21px;margin-bottom:12px}.backup-panel p{font-size:12px;margin:5px 0}.backup-panel>div:last-child{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}.backup-panel .button{font-size:11px}.course-view{padding-top:15px;min-height:75vh}.course-view>.text-link{margin:0 0 25px}.course-hero{display:flex;justify-content:space-between;gap:40px;align-items:center;background:#faf3e2;border-radius:9px;padding:45px;overflow:hidden}.course-hero h1{font-size:clamp(32px,4.5vw,56px);margin:20px 0}.course-hero p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:650px}.course-pills{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.course-pills span{padding:5px 10px;border:1px solid #dfd0aa;border-radius:4px;font-size:10px}.course-number{font-size:170px;line-height:1;letter-spacing:-.08em;color:#dac58b;font-weight:500}.course-summary{display:flex;align-items:center;gap:40px;padding:30px 5px;border-bottom:1px solid var(--line)}.course-summary>div{min-width:170px}.course-summary progress{margin:0;max-width:350px}.course-caption{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:35px 0 20px}.course-caption h2{font-size:28px;white-space:nowrap}.course-caption p{font-size:12px;color:var(--muted);max-width:570px;line-height:1.8}.course-lessons{padding:0;margin:0;list-style:none}.course-lessons li{border-bottom:1px solid var(--line)}.course-lessons a{display:flex;gap:25px;align-items:center;padding:23px 15px;border-radius:5px}.course-lessons a:hover{background:var(--paper)}.lesson-order{background:#f7f2e7;color:var(--muted);font-weight:700;font-size:14px;display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:50%}.lesson-order.done{background:#f5eacb;color:var(--blue)}.course-lessons a>span:nth-child(2){display:flex;flex-direction:column;gap:7px}.course-lessons small{font-size:9px;color:var(--blue);font-weight:800;letter-spacing:.09em}.course-lessons strong{font-size:17px;line-height:1.5}.course-arrow{margin-left:auto;color:var(--blue);font-size:23px}.reader-actions{gap:8px}.reader-actions #bookmark-lesson{color:var(--blue);font-size:25px;padding:0 7px;line-height:1}#lesson-dialog{width:min(1230px,96vw)}.reader-layout{display:grid;grid-template-columns:245px minmax(0,1fr)}.lesson-sidebar{background:#fcfaf5;border-right:1px solid var(--line);padding:25px 16px;align-self:start;position:sticky;top:64px;max-height:calc(90vh - 64px);overflow:auto}.lesson-sidebar h2{font-size:16px;margin:12px 8px 20px}.lesson-sidebar>.eyebrow{margin-left:8px}.lesson-sidebar nav{display:grid;gap:3px}.lesson-sidebar a{display:flex;gap:10px;align-items:flex-start;padding:11px 9px;font-size:11px;line-height:1.65;border-radius:4px;color:var(--muted)}.lesson-sidebar a>span{min-width:19px;font-weight:800;color:var(--blue)}.lesson-sidebar a:hover{background:#f7f0df}.lesson-sidebar a[aria-current]{background:#f6ecd1;color:var(--blue);font-weight:800}.reader-content{min-width:0;padding:30px 36px}.reader-content>h1{font-size:29px;line-height:1.4}.reader-note{font-size:12px;line-height:1.8}.lesson-tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);position:sticky;top:63px;background:white;z-index:1;margin-bottom:25px}.lesson-tabs button{padding:13px 0;background:none;border:0;border-bottom:2px solid transparent;font-size:13px;font-weight:700;white-space:nowrap}.lesson-tabs button[aria-selected=true]{border-color:var(--blue);color:var(--blue)}.reader-content [role=tabpanel]>h2:first-child{margin-top:15px}.reader-bottom{flex-direction:column;align-items:flex-start;border-top:1px solid var(--line);padding-top:25px}.lesson-navigation{display:flex;justify-content:space-between;width:100%;gap:10px}.reader-bottom>.button{min-width:230px}.vocab-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:11px;color:var(--muted)}.vocab-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:150px;background:#fbf6e8;border:1px solid #e5d7b7;border-radius:7px;width:100%;padding:24px;gap:10px}.vocab-card strong{font:700 32px/1.4 'Noto Sans KR',sans-serif;color:var(--blue)}.vocab-card small{font-size:10px;color:var(--muted)}.vocab-meaning{font-size:16px}.vocab-controls{display:flex;justify-content:space-between;margin:8px 0 25px}.vocab-controls button{font-size:11px}.quiz-question{margin:25px 0;padding:22px;border:1px solid var(--line);border-radius:7px;min-width:0}.quiz-question legend{font-size:14px;font-weight:800;line-height:1.8;padding:0 8px;max-width:100%}.quiz-question legend>span{font-size:11px;color:var(--blue);margin-right:10px}.quiz-option{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:12px 15px;margin:8px 0;background:var(--paper);border:1px solid var(--line);border-radius:5px;font-size:14px}.quiz-option:has(input:checked){border-color:var(--blue);background:#faf2de}.quiz-option input{margin-top:6px;accent-color:var(--blue);width:16px;height:16px;flex-shrink:0}.quiz-option b{margin-right:10px;color:var(--muted);font-size:11px}.quiz-option:has(input:disabled){cursor:default}.quiz-feedback{font-size:12px!important;line-height:1.9!important;padding:12px;border-radius:4px;margin-bottom:0!important}.quiz-feedback.correct{background:#e8f4ef;color:#176245}.quiz-feedback.incorrect{background:#fceef0;color:#973646}#quiz-summary{border-left:3px solid var(--blue);background:#faf2df;padding:17px;margin:20px 0;font-weight:700;font-size:13px}.previous-result{font-size:12px!important;color:var(--blue)}#lesson-note{font-size:15px;line-height:1.9;min-height:250px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:1000;background:var(--ink);color:white;border-radius:7px;padding:14px 22px;box-shadow:0 8px 30px #17263d30;font-size:13px;width:max-content;max-width:92vw}.toast[hidden]{display:none}#profile-dialog,#privacy-dialog{max-width:570px}#profile-dialog h2,#privacy-dialog h2{font-size:20px}#privacy-dialog .form-panel p{font-size:14px}.level-card{display:block}
@media(max-width:1050px){.header nav{gap:13px;font-size:11px}.header-actions{gap:10px}.header .brand{font-size:17px}.header .nav-cta{font-size:11px}.week-card,.continue-card{padding:25px}.backup-panel{align-items:flex-start;flex-direction:column;gap:18px}.course-number{font-size:130px}.reader-layout{grid-template-columns:210px minmax(0,1fr)}.reader-content{padding:25px}.lesson-sidebar{padding:20px 10px}.activity-day span{width:30px;height:30px}}
@media(max-width:760px){.header nav{display:none;position:absolute;top:76px;left:5%;right:5%;padding:15px;background:white;border:1px solid var(--line);box-shadow:0 12px 30px #17263d12;border-radius:8px;font-size:14px}.header nav.is-open{display:grid;gap:0}.header nav a{padding:12px}.menu-toggle{display:block;font-size:23px}.header{padding:18px 5%}.header-actions{gap:17px}.header .nav-cta span{margin-left:7px}.header .nav-cta{font-size:11px}.teacher-section{gap:30px;grid-template-columns:.8fr 1.2fr}.teacher-photo{height:320px}.faq-grid{grid-template-columns:1fr}.dashboard-stats{grid-template-columns:repeat(2,1fr)}.dashboard-stats article{border-bottom:1px solid var(--line);padding:22px}.dashboard-stats article:nth-child(2){border-right:0}.dashboard-stats article:nth-child(3){border-bottom:0}.dashboard-main{grid-template-columns:1fr}.week-card{min-height:250px}.week-activity{gap:12px;max-width:430px}.activity-day span{width:38px;height:38px}.course-progress-grid,.saved-lessons{grid-template-columns:repeat(2,1fr)}.page-heading{align-items:flex-start;flex-direction:column}.page-heading .button{font-size:11px;padding:10px 14px}.dashboard-heading{align-items:flex-start;flex-direction:column;gap:12px}.course-hero{padding:30px}.course-number{font-size:100px}.course-caption{align-items:flex-start;flex-direction:column;gap:15px}.reader-layout{grid-template-columns:1fr}.lesson-sidebar{display:none}.reader-content{padding:25px 22px}.lesson-tabs{gap:20px;top:60px}.reader-content>h1{font-size:25px}.reader-top{min-height:61px}.lesson-navigation .button{font-size:11px;padding:12px}.course-summary{gap:20px}.teacher-section h2{font-size:31px}.teacher-section p:not(.eyebrow){font-size:13px}}
@media(max-width:500px){.teacher-section{grid-template-columns:1fr;gap:30px}.teacher-photo{height:330px;max-width:310px}.teacher-section h2{font-size:34px}.course-progress-grid,.saved-lessons{grid-template-columns:1fr}.dashboard-stats strong{font-size:30px}.dashboard-stats strong small{font-size:11px}.dashboard-stats article>span{font-size:9px}.continue-card h2{font-size:26px}.page-heading h1{font-size:35px}.dashboard-heading h2{font-size:24px}.course-number{display:none}.course-hero h1{font-size:36px}.course-hero{padding:28px 22px}.course-summary{gap:15px}.course-summary>div{min-width:140px}.course-lessons a{padding:20px 3px;gap:15px}.course-lessons strong{font-size:15px}.lesson-order{flex-basis:36px;height:36px;font-size:12px}.course-arrow{font-size:20px}.reader-content{padding:22px 18px}.lesson-tabs{gap:17px}.lesson-tabs button{font-size:12px}.reader-content>h1{font-size:23px}.quiz-question{padding:16px 12px}.quiz-option{padding:12px 10px}.reader-content h2{font-size:21px}.reader-bottom>.button{width:100%}.reader-bottom .lesson-navigation .button{width:auto;flex:1}.reader-content p,.reader-content li{font-size:14px}#lesson-dialog{width:97vw;max-height:94vh}.form-panel{padding:25px}.footer-links{gap:16px}.week-activity{gap:7px}.activity-day span{width:32px;height:32px}}

/* JIM GLOBAL: navy and gold sampled from the user's original sticker sheet. */
:root{--brand-navy:#17263d;--brand-gold:#e2bb4b;--brand-gold-dark:#93651b;--brand-cream:#fbf8ef;--blue:var(--brand-gold-dark);--ink:var(--brand-navy)}
body{font-family:Onest,'Segoe UI',sans-serif;line-height:1.7;background:#fffefa}h1,h2,h3{letter-spacing:-.035em}button,input,textarea,select{font-family:inherit}.brand-strip{min-height:34px;padding:8px 20px;background:var(--brand-navy);color:#f3d78c;text-align:center;display:flex;justify-content:center;align-items:center;gap:20px;font-size:9px;font-weight:600;letter-spacing:.2em}.brand-strip>span{font-size:12px;color:var(--brand-gold)}.header{padding-top:21px;padding-bottom:21px}.brand{letter-spacing:.025em;gap:11px}.brand small{letter-spacing:.17em;font-size:7px;color:#8a7146}.brand-seal{display:block;flex:0 0 47px;width:47px;height:47px;border-radius:50%;background-image:url('assets/brand-stickers.jfif');background-repeat:no-repeat;background-size:198.3px 182.2px;background-position:-2.7px -122px;box-shadow:0 0 0 1px #d6b56855}.nav-cta{border-bottom-color:#b98b35}.header nav a:hover,.footer-links>a:hover{color:var(--brand-gold-dark)}.hero{position:relative;padding-top:10px;gap:55px;margin-top:4px}.hero-copy{position:relative;isolation:isolate}.hero-copy:before{content:'';position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,#f3e5bc80,transparent 68%);left:-130px;top:100px;z-index:-1;pointer-events:none}.hero h1{font-weight:800;letter-spacing:-.055em}.hero h1 em{color:#95631b}.hero-description{font-size:15px}.hero-facts{border-top-color:#dccfae}.primary{background:var(--brand-navy);border-color:var(--brand-navy);color:white;box-shadow:0 3px 0 #0c1728,0 9px 20px #17263d12}.hero-actions .primary{background:var(--brand-gold);color:var(--brand-navy);border-color:var(--brand-gold);box-shadow:0 3px 0 #bf9331,0 10px 25px #bc8c2826}.button{border-radius:9px}.outline:hover{background:#f7eed7;border-color:#cfb780}.button:active{transform:translateY(1px);box-shadow:0 1px 0 #17263d16}.button.primary:hover{box-shadow:0 5px 0 #0c1728,0 14px 25px #17263d18}.hero-actions .primary:hover{box-shadow:0 5px 0 #bf9331,0 14px 28px #bc8c2833}.hero-image{border-radius:22px 22px 70px 22px;box-shadow:10px 10px 0 #f3ead0,0 25px 55px #17263d12;background:#e8e4d8}.hero-image:before{content:'';position:absolute;inset:13px;border:1px solid #ffffff40;border-radius:13px 13px 57px 13px;pointer-events:none;z-index:1}.image-label{top:29px;left:29px;right:29px}.hangul-stamp{font-size:61px;color:#fff5d4;top:85px}.image-caption{bottom:48px;left:30px;max-width:300px;z-index:1}.image-caption p{font-size:25px;line-height:1.45}.mascot-window{display:block;aspect-ratio:330/400;background-image:url('assets/brand-stickers.jfif');background-repeat:no-repeat;background-size:396.3636% 300.5%;background-color:white;border-radius:19px;box-shadow:0 12px 30px #101c3030;transform-origin:center 65%;border:1px solid #e8dcc4}.mascot-hello{background-position:0 0}.mascot-study{background-position:66.46% 0}.hero-sticker{position:absolute;width:132px;right:22px;bottom:27px;z-index:2;rotate:6deg}.hero-spark{position:absolute;color:#ffe8a4;z-index:2;line-height:1;pointer-events:none}.hero-spark-one{right:164px;bottom:167px;font-size:29px;rotate:-12deg}.hero-spark-two{right:17px;bottom:205px;font-size:37px;rotate:15deg}.word-ribbon{background:var(--brand-navy);color:#f2d78e;letter-spacing:.1em;padding:20px 4%}.word-ribbon i{color:var(--brand-gold);opacity:1}.level-grid{gap:17px;border:0}.level-card{border:1px solid var(--line);border-radius:12px;background:white;padding:25px 28px 29px;box-shadow:0 3px 0 #17263d04;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}.level-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brand-gold);opacity:0;transition:opacity .2s}.level-card:hover{background:#fffdf7;border-color:#cdb36e;box-shadow:0 13px 30px #17263d0b;transform:translateY(-5px)}.level-card:hover:before{opacity:1}.level-number{color:#c5ad71;font-size:45px}.level-tag{border:1px solid #e6d9b9;background:#fbf4e1;color:#775519;letter-spacing:.05em}.level-bottom b{color:var(--brand-gold-dark)}.study-section{background:#f7f5ed;border-top:1px solid #e8e1cf;border-bottom:1px solid #e8e1cf}.lesson-card{border-radius:11px;border-color:#e8e1d2;box-shadow:0 2px 0 #17263d03}.lesson-card:hover{border-color:#cbb273;box-shadow:0 12px 24px #17263d0b}.filters button[aria-pressed=true]{background:var(--brand-navy);border-color:var(--brand-navy)}.search{border-radius:9px;background:#fffefb}.teacher-photo{border-radius:20px 20px 65px 20px;box-shadow:9px 9px 0 #f0e6ca;background:#f2eddf}.steps li>span{color:var(--brand-gold-dark)}.steps li{border-color:#e5dcc6}.faq-grid details{border-color:#e4dccb}.closing{display:flex;align-items:center;justify-content:center;gap:90px;background:var(--brand-navy);padding:65px 6%;isolation:isolate}.closing:before{content:'';position:absolute;width:520px;height:520px;background:radial-gradient(circle,#d6ad3f15,transparent 70%);right:0;top:-110px;z-index:-1}.closing-copy{text-align:left;position:relative;z-index:1}.closing-copy>span{font:700 12px/1.6 'Noto Sans KR',sans-serif;letter-spacing:.18em;color:#e2c77f}.closing h2{font-size:50px;line-height:1.18;margin:19px 0 28px}.closing .white{background:var(--brand-gold);color:var(--brand-navy);border-color:var(--brand-gold)}.closing-sticker{width:174px;flex-shrink:0;rotate:-5deg;box-shadow:10px 12px 0 #e2bb4b26,0 18px 40px #060d1b44}footer{background:#fffdf7;border-top:1px solid #e9e0ca}.footer-links{gap:15px}.footer-links button{color:#626b76}.footer-links #motion-toggle{padding:6px 9px;border:1px solid #dfd3b8;border-radius:5px;font-size:10px}.continue-card{background:linear-gradient(125deg,#17263d,#243b55);border:1px solid #344861}.continue-card .button{background:var(--brand-gold);border-color:var(--brand-gold);color:var(--brand-navy);box-shadow:none}.continue-card .eyebrow{color:#efd480}.progress-course{border-radius:11px;background:#fffefa}.progress-course:hover{background:#faf3df;border-color:#d3bb7d}.course-hero{background:linear-gradient(120deg,#f7f0dd,#fffdf7);border:1px solid #e5d7b5;border-radius:15px}.course-number{color:#c3a34a}.course-summary progress,.progress-course progress,progress{accent-color:var(--brand-gold-dark)}.reader-top{background:#faf6eb}.lesson-sidebar{background:#fcfaf4}.lesson-sidebar a[aria-current]{background:#f4e9c9;color:#71501b}.lesson-tabs button[aria-selected=true]{color:#805812;border-color:#a67a29}.reader-content>h1{letter-spacing:-.025em}.vocab-card{background:linear-gradient(130deg,#fbf5e3,#fffdf9);border-color:#e4d6ad}.vocab-card strong{color:var(--brand-navy)}.vocab-controls .text-button,.answer summary{color:#805812}.reader-note,#quiz-summary{background:#f7efd9}#quiz-summary{border-color:#b4862d}.quiz-option:has(input:checked){background:#f8efd5;border-color:#ac822e}.quiz-option input{accent-color:var(--brand-gold-dark)}.dashboard-stats{border-color:#e2d9c6;background:#fffdf8}.week-card{background:#fffdf8;border-radius:11px}.activity-day.active span{background:var(--brand-navy);color:#f3d586}.activity-day.today span{outline-color:#aa7a25}.saved-empty{background:#faf6eb}.toast{background:var(--brand-navy);border:1px solid #7f6737}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:brand-arrive .7s cubic-bezier(.22,1,.36,1) both}.hero-image{animation:brand-arrive .85s .08s cubic-bezier(.22,1,.36,1) both}.hero-image>img{animation:campus-breathe 24s ease-in-out infinite alternate;will-change:transform}.hero-sticker{animation:mascot-float 6s ease-in-out infinite}.closing-sticker{animation:mascot-float 6.8s ease-in-out infinite reverse}.hero-spark-one{animation:spark-breathe 4.6s ease-in-out infinite}.hero-spark-two{animation:spark-breathe 5.5s 1s ease-in-out infinite}.hero-actions .button:hover>span:last-child{translate:2px -2px}.hero-actions .button>span:last-child{transition:translate .2s}.brand-seal{transition:box-shadow .25s,rotate .25s}.brand:hover .brand-seal{rotate:-6deg;box-shadow:0 0 0 3px #e2bb4b55}.teacher-photo img{transition:transform .65s}.teacher-photo:hover img{transform:scale(1.025)}}
@keyframes brand-arrive{from{opacity:0;translate:0 15px}to{opacity:1;translate:0 0}}@keyframes mascot-float{0%,100%{translate:0 0;transform:rotate(-1deg)}50%{translate:0 -9px;transform:rotate(2deg)}}@keyframes campus-breathe{from{transform:scale(1.005)}to{transform:scale(1.045)}}@keyframes spark-breathe{0%,100%{scale:.85;opacity:.65}50%{scale:1.08;opacity:1}}
.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation:none!important;transition:none!important}.motion-paused .hero-image>img,.motion-paused .level-card:hover,.motion-paused .lesson-card:hover,.motion-paused .teacher-photo:hover img{transform:none}.motion-paused .hero-actions .button>span:last-child{translate:none}
@media(max-width:1050px){.hero{gap:30px}.hero-sticker{width:113px;right:17px}.image-caption p{font-size:22px}.image-caption{max-width:225px;left:25px}.hero-spark-one{right:134px;font-size:23px;bottom:145px}.hero-spark-two{bottom:180px;font-size:30px}.header .brand{font-size:16px}.closing{gap:65px}.closing-sticker{width:150px}.closing h2{font-size:46px}.level-card{padding:23px}}
@media(max-width:760px){.header .brand{font-size:15px;gap:9px}.brand-seal{flex-basis:39px;width:39px;height:39px;background-size:164.6px 151.2px;background-position:-2.3px -101.2px}.header .brand small{font-size:6px}.brand-strip{font-size:8px;letter-spacing:.15em;gap:14px}.hero{gap:30px}.hero-image{box-shadow:7px 8px 0 #f0e5c9,0 18px 35px #17263d12}.level-grid{gap:12px}.level-card{padding:20px}.hero-description{font-size:14px}.closing{gap:35px}.closing h2{font-size:39px}.closing-sticker{width:130px}.closing-copy .button{font-size:12px}.teacher-section h2{font-size:32px}.hero-spark-one{right:144px}.hero-spark-two{right:17px}}
@media(max-width:500px){.header .brand{font-size:14px;gap:8px}.header .brand small{font-size:5px;letter-spacing:.11em}.header-actions{gap:11px}.header .nav-cta{font-size:10px}.header .nav-cta span{margin-left:5px}.brand-seal{flex-basis:34px;width:34px;height:34px;background-size:143.5px 131.85px;background-position:-2px -88.25px}.header{gap:12px}.hero h1{font-size:clamp(46px,13vw,62px);letter-spacing:-.055em}.hero-copy{padding-top:12px}.hero-image{min-height:390px;border-radius:20px 20px 55px 20px}.hero-image:before{border-radius:12px 12px 45px 12px;inset:11px}.hero-sticker{width:105px;right:15px;bottom:30px}.image-caption{left:23px;bottom:48px;max-width:190px}.image-caption p{font-size:20px}.image-caption small{font-size:8px;letter-spacing:.1em}.image-credit{left:23px;font-size:7px}.hero-spark-one{right:131px;bottom:141px;font-size:21px}.hero-spark-two{right:16px;bottom:172px;font-size:26px}.hero-facts{gap:15px}.hero-facts strong{font-size:23px}.hero-facts>span{font-size:9px}.level-card{padding:17px 15px}.level-card h3{font-size:16px}.level-number{font-size:36px}.level-tag{font-size:8px;padding:4px 6px}.word-ribbon{font-size:11px}.closing{justify-content:space-between;gap:15px;padding:50px 6%}.closing-sticker{width:108px;border-radius:13px}.closing h2{font-size:32px}.closing-copy .button{font-size:10px;padding:12px;gap:6px}.closing-copy>span{font-size:10px;letter-spacing:.1em}.teacher-section h2{font-size:33px}.footer-links{gap:12px}footer>.brand{font-size:17px}.brand-strip{letter-spacing:.09em;padding-left:12px;padding-right:12px}}
@media(max-width:350px){.image-caption{max-width:148px;left:18px}.image-caption p{font-size:18px}.hero-sticker{width:95px;right:12px}.hero-facts strong{font-size:21px}.hero-facts>span:last-child strong{font-size:15px}.closing h2{font-size:28px}.closing-sticker{width:91px}.level-card{padding:16px 12px}.level-card h3{font-size:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.hero-image>img,.level-card:hover,.lesson-card:hover,.teacher-photo:hover img{transform:none}.hero-actions .button>span:last-child{translate:none}}

/* Persistent site-language control */
.language-switch{display:flex;flex-shrink:0;gap:2px;padding:3px;border:1px solid var(--line);border-radius:8px;background:#fff}.language-switch button{border:0;border-radius:5px;padding:6px 8px;background:transparent;font-size:11px;font-weight:800;line-height:1.4;min-height:30px}.language-switch button[aria-pressed=true]{background:var(--brand-navy);color:white}.language-content-note{padding:12px 15px;border-left:3px solid var(--brand-gold);background:var(--brand-cream);font-size:12px}.language-content-note[hidden]{display:none}@media(max-width:1050px){.header{flex-wrap:wrap}.header nav{order:3;flex-basis:100%;justify-content:center}.header-actions{margin-left:auto}}@media(max-width:760px){.header nav{flex-basis:auto}.header-actions{gap:9px}.header .nav-cta{display:none}.language-switch button{padding:6px 8px}.header{gap:10px}.brand small{letter-spacing:.08em}}@media(max-width:350px){.header{padding-left:4%;padding-right:4%}.header .brand{gap:7px;font-size:13px}.language-switch button{padding:6px}.header-actions{gap:5px}}

.payment-gate{padding:25px 0 35px;max-width:650px}.payment-lock{display:block;font-size:35px;margin-bottom:15px}.payment-gate h2{font-size:48px;margin:16px 0}.payment-gate h2 small{font-size:16px;color:var(--muted)}.payment-status{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--brand-cream);margin:25px 0}.payment-status strong{color:var(--brand-gold-dark)}.lesson-tabs[hidden],#mark-read[hidden]{display:none}
