:root{--bg:#E4E9F2;--bar:#FAFBFE;--line:#D5DBE7;--text:#172033;--muted:#5A6577;--accent:#1A5FD0;--accent-soft:#E3ECFC}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--text);font-family:system-ui,'Malgun Gothic',sans-serif}
header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:var(--bar);border-bottom:1px solid var(--line)}
.title{font-weight:700;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.actions{display:flex;gap:8px;flex-shrink:0}
.actions button,.actions a{font:inherit;font-size:14px;color:var(--text);background:transparent;border:1px solid var(--line);border-radius:6px;padding:6px 12px;cursor:pointer;text-decoration:none}
.actions button{border-color:var(--accent);color:var(--accent)}
.actions :hover{background:var(--accent-soft)}
.actions button,.actions a{text-align:center;line-height:1.25}
.ko{display:block;font-size:.72em;font-weight:500;color:var(--muted)}
.title .ko{overflow:hidden;text-overflow:ellipsis}
main{max-width:1100px;margin:0 auto;padding:24px 16px 60px;display:flex;flex-direction:column;gap:22px}
figure{cursor:zoom-in}
figure img{display:block;width:100%;height:auto;border-radius:8px;border:1px solid var(--line)}
figcaption{text-align:right;font-size:12px;color:var(--muted);margin-top:6px}
#viewer{position:fixed;inset:0;z-index:10;background:#000;display:flex;align-items:center;justify-content:center}
#viewer[hidden]{display:none}
#vimg{max-width:100%;max-height:100%;object-fit:contain;cursor:pointer}
#count{position:absolute;bottom:12px;right:16px;font-size:13px;color:var(--muted)}
#viewer button{position:absolute;background:rgba(255,255,255,.08);color:#fff;border:0;border-radius:50%;width:44px;height:44px;font-size:24px;cursor:pointer;opacity:.4;transition:opacity .2s}
#viewer button:hover{opacity:1}
.nav.prev{left:12px;top:50%;transform:translateY(-50%)}
.nav.next{right:12px;top:50%;transform:translateY(-50%)}
.close{top:12px;right:12px;font-size:18px!important}
main.landing{max-width:760px;margin:0 auto;padding:48px 16px 60px;display:flex;flex-direction:column;gap:28px}
main.landing h1{font-size:20px;font-weight:700;color:var(--muted)}
.courses{display:flex;flex-direction:column;gap:16px}
.course-card{display:flex;align-items:center;gap:18px;padding:20px;background:var(--bar);border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--text);transition:border-color .15s,transform .15s}
.course-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.course-card .num{flex-shrink:0;width:40px;height:40px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;border:1px solid var(--accent)}
.course-card .course-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.course-title{font-weight:700;font-size:16px}
.course-desc{font-size:13px;color:var(--muted)}
.course-desc .ko{font-size:.9em;margin-top:2px}
