:root{color-scheme:dark;--bg:#07111f;--panel:#0d1a2b;--line:#233751;--ink:#f2f7fb;--muted:#9fb1c5;--mint:#5ee0b7;--blue:#69a8ff;--gold:#ffcc66;--shadow:0 18px 60px rgba(0,0,0,.24)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 84% 0%,rgba(105,168,255,.12),transparent 29rem),radial-gradient(circle at 8% 12%,rgba(94,224,183,.08),transparent 25rem),var(--bg);color:var(--ink);font:17px/1.75 Inter,Pretendard,"Noto Sans KR",system-ui,sans-serif;min-height:100vh}a{color:var(--blue);text-underline-offset:4px}button,input{font:inherit}header{max-width:1240px;margin:auto;padding:25px 30px;display:flex;justify-content:space-between;gap:24px;align-items:center}header a{text-decoration:none}.brand{display:flex;align-items:center;gap:13px;color:var(--ink)}.brand strong{display:block;font-size:19px;letter-spacing:-.025em}.brand small{display:block;font-size:14px;line-height:1.4}.mark{height:46px;width:46px;display:grid;place-items:center;flex-shrink:0;border:1px solid #31506f;border-radius:14px;background:linear-gradient(145deg,#142a42,#0b1726);box-shadow:var(--shadow);color:var(--mint);font-weight:800}.primary-nav{display:flex;gap:5px;padding:5px;border:1px solid var(--line);border-radius:13px;background:var(--panel)}.primary-nav a{padding:8px 16px;border-radius:9px;color:var(--muted);font-size:14px;font-weight:700;white-space:nowrap}.primary-nav a[aria-current=page]{background:var(--mint);color:var(--bg)}main{max-width:1240px;margin:18px auto;padding:0 30px}h1{font-size:clamp(30px,4vw,44px);line-height:1.3;margin:10px 0 16px;letter-spacing:-.035em;overflow-wrap:anywhere}h2{font-size:25px;line-height:1.4}h3{font-size:20px;line-height:1.5}p{margin:12px 0}.eyebrow{color:var(--mint);font-size:14px;font-weight:700;letter-spacing:.09em}.muted,small{color:var(--muted)}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:12px 0 26px}.page-heading p{max-width:650px}.edition{font-size:14px;color:var(--muted);padding-bottom:16px}.overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}.metric,.card,.intro,.expression,.toolbar{border:1px solid var(--line);border-radius:18px;background:linear-gradient(155deg,rgba(17,34,56,.98),rgba(10,23,38,.98));box-shadow:var(--shadow)}.metric{padding:20px 24px}.metric small{display:block;font-size:14px}.metric strong{display:block;font-size:28px;line-height:1.5;color:var(--mint);letter-spacing:-.03em}.metric:nth-child(2) strong{color:var(--blue)}.metric:nth-child(3) strong{color:var(--gold)}.metric span{font-size:14px;color:var(--muted)}.toolbar{display:grid;grid-template-columns:1fr 220px;gap:18px;padding:20px;margin:24px 0}label{display:block;font-size:14px;color:var(--muted);font-weight:600}input{width:100%;background:#0a1625;color:var(--ink);padding:11px 13px;border:1px solid #2a405d;border-radius:11px;margin-top:7px;min-height:48px}input::placeholder{color:#8398af}input:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid rgba(105,168,255,.7);outline-offset:4px}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:30px 0 16px}.section-head h2{font-size:20px;margin:0}.section-head p{font-size:14px;margin:0}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.card{padding:26px;position:relative;transition:transform .18s,border-color .18s}.card:hover{transform:translateY(-3px);border-color:#49739e}.card h2{font-size:24px;margin:15px 0 12px;overflow-wrap:anywhere}.card h2 a{color:var(--ink);text-decoration:none}.card h2 a:hover{color:var(--mint)}.card p{font-size:16px}.card-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px}.badge{background:var(--mint);color:var(--bg);border-radius:99px;padding:3px 10px;font-size:13px;font-weight:750}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.tag{background:rgba(7,17,31,.55);border:1px solid var(--line);padding:4px 10px;border-radius:9px;font-size:14px;color:#c7d7e8}.lesson{max-width:1000px}.intro{padding:25px;margin:24px 0}.lesson nav{display:flex;flex-wrap:wrap;gap:6px;margin:30px 0;padding:6px;border:1px solid var(--line);border-radius:13px;background:var(--panel)}.lesson nav a{padding:9px 18px;border-radius:9px;text-decoration:none;color:var(--ink);font-size:15px}.lesson nav a:hover{background:#203b59;color:var(--mint)}section{scroll-margin-top:24px}.lesson section{padding:18px 0}.lesson section>h2{font-size:24px;color:var(--mint)}.lesson section h3{margin-top:32px}.turn{display:grid;grid-template-columns:150px minmax(0,1fr);gap:26px;padding:26px 0;border-bottom:1px solid var(--line)}.speaker{font-size:15px;font-weight:750;color:var(--blue)}.speaker small{display:block;font-size:14px;font-weight:400;margin-top:4px}.turn p{margin:0;color:#dce7f2;line-height:1.95;overflow-wrap:anywhere}summary{cursor:pointer;font-size:24px;font-weight:700;margin:24px 0;color:var(--mint)}.expression{padding:22px 26px;margin:16px 0}.expression h3{margin:0!important;color:var(--gold)}.example{border-left:3px solid var(--mint);padding:6px 0 6px 18px;color:#dce7f2}footer{max-width:1240px;margin:50px auto 0;padding:25px 30px 35px;color:var(--muted);font-size:14px;border-top:1px solid var(--line)}.empty{padding:35px;background:var(--panel);border:1px solid var(--line);border-radius:18px;color:var(--muted)}[hidden]{display:none!important}@media(max-width:720px){header{padding:20px;flex-wrap:wrap;gap:18px}.primary-nav{width:100%}.primary-nav a{flex:1;text-align:center}main{padding:0 20px}.toolbar,.cards{grid-template-columns:1fr}.page-heading{display:block}.edition{display:none}.overview{gap:10px}.metric{padding:15px}.metric strong{font-size:23px}.metric span{font-size:13px}.turn{grid-template-columns:1fr;gap:10px;padding:23px 0}.speaker small{display:inline;margin-left:12px}.card{padding:22px}.lesson nav a{flex:1;padding:8px;text-align:center;font-size:14px}footer{padding-inline:20px}}@media(max-width:420px){.overview{grid-template-columns:1fr}.metric{display:grid;grid-template-columns:1fr auto;align-items:center}.metric span{grid-column:1/-1}.brand strong{font-size:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card{transition:none}.card:hover{transform:none}}@media print{header,nav,footer,.toolbar{display:none}body{background:white;color:black}.turn p,.muted,small,.speaker,summary,h1,h2,h3{color:black!important}.intro,.expression{background:white;box-shadow:none}.turn,.expression{break-inside:avoid}main{max-width:none}}
/* Study library */
button,select{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:3px}select{background:#0a1625;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px;min-height:44px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.library-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center;padding:36px 0 45px}.library-hero h1{font-size:clamp(32px,4.2vw,52px);line-height:1.24}.library-hero>div>p{font-size:16px}.hero-stats{display:flex;gap:28px;margin-top:30px;font-size:13px;color:var(--muted)}.hero-stats strong{display:block;color:var(--ink);font-size:24px;line-height:1.5;letter-spacing:-.02em}.featured{padding:30px;border:1px solid #2e5065;border-radius:22px;background:radial-gradient(circle at 100% 0,rgba(94,224,183,.13),transparent 70%),linear-gradient(145deg,#14263a,#0b1727);box-shadow:var(--shadow)}.featured-top{display:flex;gap:9px;align-items:center;color:var(--mint);font-size:13px;margin-bottom:24px}.featured-top time{margin-left:auto;color:var(--muted)}.live-dot{display:inline-block;flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--mint)}.featured h2{margin:8px 0;font-size:26px}.featured>p{color:var(--muted);font-size:14px}.featured-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:28px;font-size:13px;color:var(--muted)}.primary-button{display:inline-block;padding:10px 16px;background:var(--mint);color:var(--bg);border-radius:10px;text-decoration:none;font-weight:750;white-space:nowrap}.library .section-head{margin:10px 0 20px}.library .section-head .eyebrow{font-size:11px;margin-bottom:7px}.library .section-head h2{font-size:24px}.text-button{border:0;background:transparent;color:var(--mint);font-size:13px;padding:8px 0;white-space:nowrap}.topic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.topic-choice{display:grid;grid-template-columns:1fr auto;text-align:left;padding:18px;background:rgba(13,26,43,.7);border:1px solid var(--line);border-radius:14px;color:var(--ink);transition:border-color .18s,background .18s}.topic-choice span{font-size:15px;font-weight:700}.topic-choice small{font-size:12px}.topic-choice em{grid-column:1/-1;font-size:12px;font-style:normal;color:var(--muted);margin-top:8px}.topic-choice:hover{border-color:#49739e}.topic-choice[aria-pressed=true]{border-color:var(--mint);background:rgba(94,224,183,.09)}.topic-choice[aria-pressed=true] span,.topic-choice[aria-pressed=true] small{color:var(--mint)}.browse-section{margin-top:48px}.archive-layout{display:grid;grid-template-columns:282px minmax(0,1fr);gap:26px}.date-panel{align-self:start;border:1px solid var(--line);border-radius:18px;padding:20px;background:var(--panel)}.calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.calendar-heading h3{font-size:16px;margin:0}.calendar-heading select{font-size:12px;min-height:36px;padding:7px}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}.calendar-week{color:var(--muted);font-size:11px;margin:22px 0 8px}.calendar-day{position:relative;height:34px;border:0;border-radius:8px;color:var(--ink);background:transparent;font-size:12px}.calendar-day:disabled{color:#54667c;cursor:default}.calendar-day.available:after{content:'';position:absolute;bottom:3px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:var(--mint)}.calendar-day.available:hover{background:#22374e}.calendar-day[aria-pressed=true]{background:var(--mint);color:var(--bg);font-weight:800}.calendar-day[aria-pressed=true]:after{background:var(--bg)}.calendar-hint{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:6px;margin:15px 0 23px}.date-panel label{font-size:12px}.date-panel input{font-size:13px;min-height:42px}.date-reset{width:100%;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--muted);padding:7px;font-size:12px;margin-top:10px}.study-flow{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.study-flow small{font-size:11px}.study-flow p{font-size:12px;margin:6px 0;color:#c7d7e8}.study-flow span{color:var(--mint);margin-right:10px}.filter-bar{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:12px}.filter-bar input{margin:0;font-size:14px}.filter-bar select{font-size:13px}.filter-summary{display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:12px;color:var(--muted);margin:12px 0 16px}.library .cards{gap:16px}.library .card{padding:22px;display:flex;flex-direction:column;box-shadow:none}.topic-badge{font-size:11px;color:var(--mint);padding:3px 8px;border:1px solid #315449;background:rgba(94,224,183,.06);border-radius:6px}.library .card-meta{justify-content:space-between;gap:8px}.card-meta time{color:var(--muted);font-size:11px}.library .card h3{font-size:20px;margin:16px 0 6px;line-height:1.45}.card h3 a{color:var(--ink);text-decoration:none}.card h3 a:hover{color:var(--mint)}.library .card .english-title{font-size:12px;color:#93adc8;margin:0 0 12px}.library .card p.muted{font-size:13px;line-height:1.8;margin:0 0 20px}.card-bottom{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid var(--line);padding-top:14px;margin-top:auto;font-size:11px;color:var(--muted)}.card-bottom a{color:var(--mint);text-decoration:none;font-weight:700;white-space:nowrap}.back-link{font-size:13px;text-decoration:none}.archive-results{min-width:0}@media(max-width:1000px){.archive-layout{grid-template-columns:250px minmax(0,1fr);gap:20px}.library .cards{grid-template-columns:1fr}.library-hero{gap:30px}.topic-choice{padding:15px}.topic-choice span{font-size:13px}.featured-footer{flex-wrap:wrap}}@media(max-width:720px){.library-hero{grid-template-columns:1fr;padding:16px 0 35px;gap:28px}.library-hero h1{font-size:38px}.featured{padding:24px}.featured h2{font-size:23px}.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library .section-head h2{font-size:20px}.library .section-head{align-items:flex-end}.archive-layout{grid-template-columns:1fr}.date-panel{padding:20px}.calendar-grid{gap:5px}.calendar-day{height:38px}.calendar-hint{font-size:11px}.study-flow{display:none}.browse-section{margin-top:35px}.hero-stats{gap:26px}.filter-bar{grid-template-columns:minmax(0,1fr) 90px}.library .card{padding:22px}.featured-footer{flex-wrap:nowrap}}@media(prefers-reduced-motion:reduce){.topic-choice{transition:none}}
.library-shortcuts{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.library-shortcuts a{font-size:13px;color:var(--ink);text-decoration:none;padding:8px 13px;border:1px solid var(--line);border-radius:9px;background:rgba(13,26,43,.7)}.library-shortcuts a:hover{border-color:var(--mint);color:var(--mint)}
.library-hero{padding:18px 0 30px}.library-hero h1{font-size:clamp(32px,3.6vw,44px)}.hero-stats{margin-top:22px}.library-shortcuts{margin-top:16px}.featured-footer{margin-top:20px}.browse-section{margin-top:36px}@media(max-width:720px){.library-hero h1{font-size:36px}.library-hero{padding:12px 0 28px}}
.library-shortcuts a.track-shortcut{background:var(--mint);border-color:var(--mint);color:var(--bg);font-weight:800}.library-shortcuts a.track-shortcut strong{display:inline-grid;place-items:center;min-width:24px;margin:0 2px;padding:0 6px;border-radius:7px;background:rgba(7,17,31,.16)}.library-shortcuts a.track-shortcut:hover{color:var(--bg);filter:brightness(1.08)}
.topic-group{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:22px 0 12px;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.topic-group:first-of-type{margin-top:6px}.topic-group a{font-size:13px;letter-spacing:0;text-transform:none;text-decoration:none}
@media(max-width:720px){.primary-nav a{padding:8px 10px}}
