.lesson-cover.has-thumbnail{position:relative;padding:0;overflow:hidden;display:block;background:var(--feature)}
.lesson-cover.has-thumbnail>span,.lesson-cover.has-thumbnail>strong{display:none}
.lesson-cover.has-thumbnail img{display:block;width:100%;height:100%;object-fit:contain}

.series-group{border-bottom:1px solid var(--line);margin:16px 0}
.series-group>summary{display:grid;grid-template-columns:200px minmax(0,1fr) 28px;gap:24px;align-items:center;list-style:none;padding:24px 0}
.series-group>summary::-webkit-details-marker{display:none}
.series-group>summary::after{content:'＋';font-size:25px;color:var(--accent)}
.series-group[open]>summary::after{content:'−'}
.series-group>summary h3{font-size:23px;margin:0 0 10px;overflow-wrap:anywhere}
.series-group>summary p{margin:0;font-size:14px}
.series-lessons{margin:0 0 24px 12px;padding-left:20px;border-left:2px solid var(--line)}
.series-group>summary .lesson-cover{width:200px;max-width:100%}
@media(max-width:800px){.series-group>summary{grid-template-columns:120px minmax(0,1fr) 20px;gap:12px}.series-group>summary .lesson-cover{width:120px;padding:8px}.series-group>summary .lesson-cover.has-thumbnail{padding:0}.series-group>summary .lesson-cover strong{font-size:15px}.series-group>summary .lesson-cover span{font-size:9px}.series-group>summary h3{font-size:18px}.series-group>summary p{font-size:12px}.series-lessons{margin-left:0;padding-left:12px}}

.lesson-materials{grid-column:2/-1}.lesson-materials button{margin:6px 8px 6px 0}.lesson-materials h4{margin:14px 0 6px}#series-admin,#material-admin{margin:24px 0;padding:18px;border:1px solid var(--line)}#issued-code{padding:16px;border:2px solid var(--accent)}@media(max-width:800px){.lesson-materials{grid-column:1/-1}}

.path-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:12px 0 4px}
.path-pick{display:block;text-align:left;padding:14px 16px;min-height:72px;border:1px solid var(--line);border-radius:3px;color:var(--ink);background:var(--bg);text-decoration:none;font:inherit;font-weight:700;cursor:pointer}
.path-pick span{display:block;margin-top:4px;font-weight:400;font-size:14px;color:var(--muted)}
.path-pick:hover,.path-pick:focus-visible{border-color:var(--accent)}

/* 390px: brand.css makes the header menu a one-line scroller; with four items the last one (참여·후원) was clipped with no cue. Wrap instead. */
@media (max-width:480px){.site-header .site-nav{flex-wrap:wrap;overflow:visible;white-space:normal;row-gap:0}}

/* First visit: explain membership before asking for authentication. */
.welcome-intro{max-width:900px}.welcome-intro h1{max-width:20ch;font-size:clamp(32px,4.6vw,52px);line-height:1.3;text-wrap:balance}
.welcome-intro>p{max-width:55ch}.welcome-note{font-size:15px!important;color:var(--muted)}
.welcome-guide{display:inline-block;margin:8px 0 12px;color:var(--accent);font-weight:600}
.path-row{grid-template-columns:repeat(2,minmax(0,1fr));max-width:800px}.primary-path{background:var(--feature);color:var(--feature-ink);border-color:var(--feature)}.primary-path span{color:inherit}
.code-path{background:transparent;color:var(--muted);border:0;padding:12px 0;text-decoration:underline;font:inherit;cursor:pointer}
#entry{scroll-margin-top:24px}#entry h2{margin-top:0}#entry-help{font-size:14px;color:var(--muted)}
@media(max-width:600px){.path-row{grid-template-columns:1fr}.welcome-intro h1{font-size:32px}.path-pick{min-height:74px}.welcome-guide{line-height:1.7}.site-header .site-nav{flex-wrap:wrap;white-space:normal}}

.page-navigation{max-width:1240px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.page-navigation a,.page-navigation button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-size:14px;line-height:1.4;text-decoration:none;cursor:pointer}.page-navigation a:hover,.page-navigation button:hover{border-color:var(--accent)}.page-navigation a:focus-visible,.page-navigation button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(max-width:600px){.page-navigation{padding:10px 20px;gap:8px}}

.management-shortcuts{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:14px 18px;background:var(--feature);color:var(--feature-ink);border-bottom:4px solid var(--accent)}.management-shortcuts[hidden]{display:none}.management-shortcuts a{color:inherit;font-weight:700;padding:8px 12px;border:1px solid currentColor;text-decoration:none}.catalog-open{align-self:start;display:inline-block;background:var(--feature);color:var(--feature-ink);padding:12px 18px;text-decoration:none;white-space:nowrap}#members-admin,#admin-panel,#catalog-panel{scroll-margin-top:100px}#browse-list .series-group{margin-top:0}

#accounting-panel,#report-upload{scroll-margin-top:100px}#accounting-panel{margin:40px 0;padding:24px 0;border-top:2px solid var(--feature)}#report-upload{margin:24px 0;padding:20px;border:1px solid var(--line)}.report-row{padding:18px 0;border-bottom:1px solid var(--line)}.report-row button{margin-right:10px}.receipt-help{margin-top:28px}.receipt-help p{font-size:14px;color:var(--muted)}
