/* Quiet, readable study companions; shared tokens keep dark mode compatible. */
.study-page { --study-green:#186554; --study-paper:#f8f7f3; background:var(--study-paper); color:#232c35; line-height:1.75; }
.study-page a { color:var(--study-green); text-decoration:underline; text-underline-offset:3px; }
.study-page a:hover { color:#103f35; }
.study-page .btn { text-decoration:none; min-height:44px; white-space:normal; }
.study-page .btn-primary { background:var(--study-green); color:#fff; box-shadow:none; }
.study-page .btn-outline { color:var(--study-green); border-color:#78958a; }
.study-page :focus-visible { outline:3px solid #a44b21; outline-offset:4px; }
.study-skip { position:absolute; top:-100px; left:16px; background:white; padding:12px; z-index:500; }
.study-skip:focus { top:8px; }
.study-header { max-width:1200px; margin:auto; padding:24px 32px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid #dbdfd9; }
.study-header .study-brand { color:#232c35; font-weight:800; font-size:1.15rem; text-decoration:none; }
.study-brand span { display:block; font-size:.8rem; font-weight:500; color:#53665c; }
.study-header .study-brand img { width:36px;height:36px;object-fit:contain;float:left;margin-right:10px; }
.study-header nav,.study-footer nav { display:flex; flex-wrap:wrap; gap:12px 24px; font-size:.9rem; }
.study-header nav a { text-decoration:none; font-weight:600; }
.study-main { max-width:1200px; margin:auto; padding:28px 32px 64px; }
.study-breadcrumb { color:#58645e; font-size:.82rem; margin-bottom:38px; }
.study-title-block { max-width:830px; margin-bottom:40px; }
.study-eyebrow { color:#53665c; font-size:.75rem; text-transform:uppercase; font-weight:700; letter-spacing:.09em; }
.study-title-block h1 { font-size:clamp(2.15rem,5.5vw,3.6rem); letter-spacing:-.055em; line-height:1.12; margin:16px 0 24px; color:#202c26; }
.study-intro { font-size:1.1rem; line-height:1.8; color:#46544d; }
.study-meta { font-size:.8rem; color:#58645e; margin-top:24px; }
.study-layout { display:grid; grid-template-columns:220px minmax(0,1fr); align-items:start; gap:56px; }
.study-toc { position:sticky; top:24px; border-top:2px solid #186554; padding-top:18px; font-size:.86rem; }
/* Outside list markers need room for two/three digits, also between columns. */
.study-toc ol { padding-inline-start:2.5rem; column-gap:2.5rem; margin-top:12px; }
.study-toc li { padding:5px 0; }
.study-toc a { text-decoration:none; color:#46544d; }
.study-article { min-width:0; max-width:780px; }
.study-article section { padding:0 0 38px; margin-bottom:32px; border-bottom:1px solid #dbdfd9; scroll-margin-top:28px; }
.study-main h2 { font-size:clamp(1.3rem,3vw,1.7rem); line-height:1.3; letter-spacing:-.03em; margin:0 0 18px; color:#202c26; }
.study-main h3 { font-size:1.1rem; line-height:1.4; margin:22px 0 12px; color:#202c26; }
.study-article p,.study-hub-notes p { margin-bottom:18px; }
.study-article ul { padding-left:24px; }
.study-article li { margin-bottom:12px; }
.study-table-wrap { overflow-x:auto; margin:24px 0; border:1px solid #d4dbd3; border-radius:12px; }
.study-page table { width:100%; border-collapse:collapse; text-align:left; background:#fff; font-size:.92rem; }
.study-page th { background:#edf1eb; color:#30463a; font-weight:700; }
.study-page th,.study-page td { padding:14px 16px; border-bottom:1px solid #e4e9e1; vertical-align:top; }
.study-page tr:last-child td { border-bottom:0; }
.study-page [lang="ko"] { font-family:var(--font-korean); word-break:keep-all; }
.study-example { background:#edf1eb; border-left:4px solid var(--study-green); border-radius:0 12px 12px 0; padding:20px 24px; margin:20px 0; }
.study-example p { margin:0; }
.study-example p[lang="ko"] { font-size:1.4rem; margin-bottom:8px; }
.study-practice { background:#fff; border:1px solid #d4dbd3; border-radius:16px; padding:24px; margin-bottom:24px; }
.study-question { border:0; border-bottom:1px solid #e4e9e1; padding:16px 0 24px; margin:0 0 24px; min-width:0; }
.study-question legend { font-weight:700; padding:0; }
.study-question label { display:flex; align-items:center; gap:12px; padding:10px 12px; border:1px solid #d4dbd3; border-radius:8px; margin:10px 0; cursor:pointer; }
.study-question input,.study-day input { accent-color:var(--study-green); width:18px; height:18px; flex-shrink:0; }
.study-feedback,.study-score { font-weight:600; margin:12px 0 0!important; }
[data-result="correct"] .study-feedback { color:#186554; }
[data-result="retry"] .study-feedback,[data-result="missing"] .study-feedback { color:#9c391e; }
.study-answer { margin-top:12px; background:#f2f4ef; padding:12px 16px; border-radius:8px; }
.study-answer summary { cursor:pointer; color:#186554; font-weight:600; }
.study-answer p { margin:12px 0 0; }
.study-week { border-top:1px solid #d4dbd3; }
.study-day { display:grid; grid-template-columns:90px 1fr; gap:16px; padding:24px 0; border-bottom:1px solid #d4dbd3; }
.study-day-check { display:flex; align-items:center; gap:10px; align-self:start; font-weight:700; color:#186554; margin-top:4px; }
.study-day h3 { margin-top:0; }
.study-readiness { font-size:.9rem; color:#526157; }
#study-route { display:flex; flex-wrap:wrap; gap:12px; background:#edf1eb; padding:20px; border-radius:12px; }
#study-route label,#study-route-result { width:100%; }
#study-route select { max-width:100%; flex:1 1 240px; border:1px solid #78958a; border-radius:8px; background:#fff; padding:12px; color:#232c35; font:inherit; font-size:.88rem; }
.study-related { margin-top:32px; }
.study-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:24px 0; }
.study-page .study-card { display:flex; flex-direction:column; background:#fff; color:#46544d; border:1px solid #d4dbd3; border-radius:16px; padding:28px; text-decoration:none; transition:transform .15s,border-color .15s; }
.study-card:hover { transform:translateY(-3px); border-color:#186554; }
.study-card h3 { margin:12px 0; font-size:1.3rem; }
.study-card p { font-size:.93rem; margin-bottom:20px; }
.study-card-link { margin-top:auto; color:#186554; font-size:.85rem; font-weight:700; }
.study-hub-feature { display:grid; grid-template-columns:2fr 1fr; gap:40px; align-items:center; background:#e8eee5; padding:40px; border-radius:20px; margin-bottom:52px; }
.study-hub-feature h2 { font-size:2rem; margin:12px 0; }
.study-hub-feature p { margin-bottom:24px; }
.study-block-art { display:grid; grid-template-columns:1fr 1fr; gap:12px; transform:rotate(-5deg); }
.study-block-art span { display:grid; place-items:center; aspect-ratio:1; background:#fff; border-radius:12px; color:#186554; font-family:var(--font-korean); font-size:clamp(2rem,4vw,3rem); font-weight:700; }
.study-hub-notes { max-width:780px; margin-top:48px; }
.study-correction { background:#edf1eb; border-radius:12px; padding:24px; margin-top:48px; font-size:.9rem; }
.study-correction h2 { font-size:1.1rem; margin-bottom:8px; }
.study-log { margin-left:auto; margin-right:auto; }
.study-footer { border-top:1px solid #dbdfd9; padding:32px; max-width:1200px; margin:auto; color:#53665c; font-size:.85rem; }
.study-footer p { margin:16px 0; }
@media(max-width:800px) { .study-header { flex-direction:column; align-items:flex-start; padding:20px; }.study-main{padding:24px 20px 48px}.study-layout{display:block}.study-toc{position:static;margin-bottom:32px}.study-toc ol{columns:2}.study-cards{grid-template-columns:1fr}.study-hub-feature{grid-template-columns:1fr;padding:28px}.study-block-art{display:none}.study-title-block h1{font-size:2.5rem}.study-practice{padding:18px}.study-header nav{gap:12px 18px}.study-page td,.study-page th{padding:12px;min-width:100px} }
@media(max-width:420px) { .study-title-block h1{font-size:2.1rem}.study-toc ol{columns:1}.study-day{grid-template-columns:1fr}.study-day-check{margin:0}.study-practice .btn{width:100%;margin-bottom:10px} }
@media(prefers-reduced-motion:reduce) { .study-card{transition:none!important}.study-card:hover{transform:none} }
@media print { .study-header,.study-footer,.study-toc,.study-related,.study-correction,.study-breadcrumb,.study-skip,#study-route,[data-study-print],#study-week-clear,.study-practice button{display:none!important}.study-main{padding:0;max-width:none}.study-page{background:#fff;color:#000}.study-layout{display:block}.study-article{max-width:none}.study-day,.study-question{break-inside:avoid}.study-title-block h1{font-size:28pt}.study-page a{color:#000}.study-table-wrap{overflow:visible}.study-meta{font-size:9pt} }
