:root{--paper:#fafaf8;--white:#fff;--ink:#121212;--body:#4a4a4a;--muted:#5c5c5c;--line:#e2e2de;--line-2:#d4d4cf;--accent:#1f3fa8;--sans:"IBM Plex Sans KR", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);word-break:keep-all;-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}a{color:var(--ink)}a:hover{color:var(--accent)}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wrap{max-width:1200px;margin:0 auto;padding:0 24px}.mono{font-family:var(--mono)}.site-header{border-bottom:1px solid var(--line);background:var(--paper)}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 32px;padding-top:18px;padding-bottom:18px;display:flex}.brand{color:var(--ink);align-items:baseline;gap:10px;text-decoration:none;display:flex}.brand b{font-family:var(--mono);letter-spacing:.2em;font-size:20px;font-weight:600}.brand span{color:var(--muted);font-size:13px}.nav{flex-wrap:wrap;gap:4px 28px;font-size:15px;font-weight:500;display:flex}.nav a{border-bottom:2px solid #0000;padding:10px 0;text-decoration:none}.nav a[aria-current=page]{border-bottom-color:var(--ink)}.btn{border:1px solid var(--ink);border-radius:4px;align-items:center;gap:10px;min-height:52px;padding:0 24px;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex}.btn-dark{background:var(--ink);color:var(--paper)}.btn-dark:hover{background:var(--accent);border-color:var(--accent);color:#fff}.btn-line{color:var(--ink)}.btn-line:hover{border-color:var(--accent)}.hero{flex-wrap:wrap;align-items:flex-end;gap:56px;padding-top:96px;padding-bottom:88px;display:flex}.hero-main{flex:999 560px;min-width:0}.eyebrow{font-family:var(--mono);letter-spacing:.16em;color:var(--accent);margin-bottom:28px;font-size:13px;font-weight:500}.hero h1{letter-spacing:-.02em;margin-bottom:28px;font-size:clamp(40px,6vw,76px);font-weight:700;line-height:1.15}.lead{max-width:580px;color:var(--body);margin-bottom:40px;font-size:18px;line-height:1.8}.actions{flex-wrap:wrap;gap:12px;display:flex}.recent{border:1px solid var(--ink);background:var(--white);flex:340px;min-width:0}.recent-head{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.recent-head span{font-family:var(--mono);letter-spacing:.14em;font-size:12px;font-weight:600}.recent-head a{color:var(--body);font-size:13px}.recent-row{border-bottom:1px solid var(--line);color:var(--ink);padding:16px 20px;text-decoration:none;display:block}.recent-row:last-child{border-bottom:0}.recent-row:hover{color:var(--ink);background:#f0f0ec}.recent-row small{font-family:var(--mono);color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.recent-row b{font-size:15px;font-weight:600}.empty-note{text-align:center;color:var(--muted);padding:40px 20px;font-size:15px}.section{padding-top:72px;padding-bottom:72px}.sec-head{border-top:2px solid var(--ink);flex-wrap:wrap;align-items:baseline;gap:8px 20px;margin-bottom:16px;padding-top:20px;display:flex}.sec-head span{font-family:var(--mono);color:var(--accent);font-size:14px;font-weight:600}.sec-head h2{font-family:var(--mono);letter-spacing:.04em;font-size:28px;font-weight:600}.sec-lead{max-width:720px;margin-bottom:48px;font-size:20px;font-weight:600}.sec-sub{color:var(--body);margin-bottom:40px;font-size:16px}.grid-box{border-top:1px solid var(--ink);border-left:1px solid var(--ink);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.grid-box>*{border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--white);padding:28px 24px 32px}.label{font-family:var(--mono);letter-spacing:.12em;color:var(--muted);font-size:12px}.grid-box .label{margin-bottom:40px}.grid-box h3{margin-bottom:10px;font-size:22px;font-weight:700}.grid-box p:last-child{color:var(--body);font-size:15px}.cycle{font-family:var(--mono);flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:32px;font-size:14px;display:flex}.cycle span{border:1px solid var(--ink);border-radius:999px;padding:10px 16px}.cycle span:last-child{border-color:var(--accent);color:var(--accent)}.exam-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:40px;display:flex}.exam-top p:first-child{margin-bottom:8px;font-size:20px;font-weight:600}.exam-top p:last-child{color:var(--body);max-width:640px;font-size:16px}.exam-top a{font-size:15px;font-weight:600}.exams{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;display:grid}.exam{border:1px solid var(--ink);background:var(--white);flex-direction:column;display:flex}.exam-body{flex:1;padding:24px 24px 28px}.exam-body .label{margin-bottom:24px}.exam-round{font-family:var(--mono);margin-bottom:4px;font-size:44px;font-weight:600;line-height:1}.exam h3{font-size:22px;font-weight:700}.exam-links{border-top:1px solid var(--ink);display:flex}.exam-links>*{flex:1;justify-content:center;align-items:center;min-height:48px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.exam-links>*+*{border-left:1px solid var(--ink)}.exam-links span{color:var(--muted);font-weight:500}.dark{background:var(--ink);color:var(--paper);margin:72px 0}.dark .wrap{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:40px;padding-top:88px;padding-bottom:88px;display:flex}.dark-main{flex:999 520px;min-width:0}.dark .eyebrow{color:#9db0f0;letter-spacing:0;margin-bottom:20px;font-size:14px;font-weight:600}.dark h2{margin-bottom:20px;font-size:clamp(30px,4vw,44px);font-weight:700;line-height:1.25}.dark p{color:#c9c9c4;max-width:560px;font-size:17px;line-height:1.8}.btn-light{background:var(--paper);color:var(--ink);border-color:var(--paper);min-height:56px;font-weight:700}.btn-light:hover{color:var(--accent)}.subjects{border-top:1px solid var(--line-2);border-left:1px solid var(--line-2);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.subject{border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);color:var(--ink);padding:24px;text-decoration:none;display:block}a.subject{background:var(--white)}a.subject:hover{color:var(--ink);background:#f5f6fb}.subject-top{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:14px;font-size:12px;display:flex}.subject-top b{color:var(--accent);font-weight:600}.subject h3{margin-bottom:6px;font-size:20px;font-weight:700}.subject p{color:var(--body);font-size:14px}.split{flex-wrap:wrap;gap:20px;display:flex}.box{border:1px solid var(--ink);background:var(--white);min-width:0}.box-head{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.box-head h3{font-size:17px;font-weight:700}.contact{background:0 0;flex-direction:column;flex:300px;justify-content:space-between;gap:32px;padding:24px;display:flex}.contact h3{margin-bottom:10px;font-size:17px;font-weight:700}.contact p{color:var(--body);font-size:15px}.contact a{min-height:48px;font-family:var(--mono);align-items:center;gap:10px;font-size:15px;font-weight:600;display:inline-flex}.site-footer{border-top:1px solid var(--ink)}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:40px;padding-bottom:56px;display:flex}.site-footer b{font-family:var(--mono);letter-spacing:.2em}.site-footer i{color:var(--muted);margin-top:6px;font-size:14px;display:block}.site-footer small{font-family:var(--mono);color:var(--muted);font-size:13px}.lib{padding-top:64px;padding-bottom:96px}.lib h1{font-family:var(--mono);letter-spacing:.02em;margin-bottom:12px;font-size:clamp(32px,5vw,52px);font-weight:600;line-height:1.1}.lib .eyebrow{margin-bottom:16px}.lib .lead{max-width:620px;font-size:17px}.filters{border-top:2px solid var(--ink);flex-direction:column;gap:20px;padding-top:24px;display:flex}.search{flex-direction:column;gap:8px;max-width:520px;display:flex}.search label{font-size:13px;font-weight:600}.search input{border:1px solid var(--ink);background:var(--white);height:48px;font:inherit;color:var(--ink);border-radius:4px;padding:0 16px;font-size:15px}.chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chips>span{width:56px;font-size:13px;font-weight:600}.chip{background:var(--white);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border:1px solid #c9c9c4;border-radius:999px;padding:0 16px;font-size:14px;font-weight:500}.chip:hover{border-color:var(--ink)}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper);font-weight:600}.count{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:baseline;margin-top:40px;padding-bottom:12px;font-size:15px;display:flex}.count small{font-family:var(--mono);color:var(--muted);font-size:12px}.rows{margin:0;padding:0;list-style:none}.row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px 24px;padding:20px 0;display:flex}.row-main{flex:999 420px;min-width:0}.tags{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.tags span{padding:2px 10px;font-size:12px}.tags span:first-child{border:1px solid var(--ink);font-weight:600}.tags span:last-child{color:#333;background:#edede9}.row-main p{font-size:17px;font-weight:600}.row-date{font-family:var(--mono);color:var(--muted);font-size:13px}.dl{border:1px solid var(--ink);border-radius:4px;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.dl:hover{background:var(--ink);color:var(--paper)}.dl[aria-disabled=true]{border-color:var(--line-2);color:var(--muted);pointer-events:none}.lib-empty{text-align:center;border-bottom:1px solid var(--line);padding:64px 24px}.lib-empty b{margin-bottom:6px;font-size:16px;display:block}.lib-empty p{color:var(--muted);font-size:14px}.lib-foot{color:var(--muted);margin-top:32px;font-size:14px}
