
:root{--bg:#fff;--ink:#111;--ink2:#444;--gray:#8a8a8a;--line:#111;--soft:#f3f3f1;--ok:#1f7a3f;--no:#c0392b;
--sans:"Pretendard Variable",Pretendard,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.75;word-break:keep-all;overflow-wrap:break-word}
a{color:inherit;text-decoration:none}
.top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:6px 24px 4px;border-bottom:1px solid var(--line)}
.logo{font-family:"Jost",sans-serif;font-weight:500;font-size:clamp(30px,5vw,70px);letter-spacing:.05em;line-height:.95;white-space:nowrap;display:flex;flex-direction:column;align-items:center;gap:.08em}
.logo .tag{font-family:var(--sans);font-weight:500;font-size:.2em;letter-spacing:.3em;color:var(--ink2)}
.top .right{justify-self:end;font-size:clamp(14px,1.25vw,18px);display:flex;gap:22px}
.top .right a:hover{text-decoration:underline;text-underline-offset:5px}
.menu{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;background:var(--bg)}
.menu a{padding:12px 22px;border-right:1px solid var(--line);font-size:15px;white-space:nowrap}
.menu a:hover,.menu a.on{background:var(--ink);color:#fff}
.menu .end{margin-left:auto;border-right:0;border-left:1px solid var(--line)}
.head{padding:40px 24px 16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}
.head h1{margin:0;font-weight:500;font-size:clamp(22px,2.4vw,32px);line-height:1.35}
.head .sub{color:var(--gray);font-size:14px}
.score{font-size:15px;font-weight:600}
.wrap{max-width:860px;margin:0 auto;padding:0 24px 40px}
.issue{border-bottom:1px solid var(--line);padding:44px 0 20px}
.issue .imeta{margin:0 0 8px;font-size:13px;color:var(--gray)}
.issue .it{margin:0 0 16px;font-size:clamp(22px,2.3vw,28px);font-weight:700;line-height:1.4}
.issue .sum{background:var(--soft);padding:18px 22px}.issue .sum p{margin:0}.issue .sum p+p{margin-top:8px}
.issue .more{display:inline-block;margin-top:12px;font-size:15px;border-bottom:1px solid var(--ink);line-height:1.45}
.issue .more:hover{background:var(--ink);color:#fff}
.issue .try{margin:30px 0 0;padding-bottom:8px;font-size:14px;font-weight:600;border-bottom:1px solid #ddd}
.issue .q{padding:26px 0 24px}.issue .q:last-child{border-bottom:0}
.pn{border:0;justify-content:space-between}
.q{border-bottom:1px solid #ddd;padding:34px 0 30px}
.q .meta{margin:0 0 6px;font-size:13px;color:var(--gray);letter-spacing:.02em}
.q h2,.q h3{margin:0 0 16px;font-size:clamp(18px,1.6vw,21px);font-weight:600;line-height:1.55}
.ch{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ch button{width:100%;text-align:left;font:inherit;font-size:16px;line-height:1.5;color:var(--ink);background:var(--bg);border:1px solid #bbb;padding:11px 14px;cursor:pointer;display:flex;gap:10px}
.ch button:hover{border-color:var(--ink)}
.ch button b{font-weight:500;flex:none}
.q.done .ch button{cursor:default}
.q.done .ch button.ok{border-color:var(--ok);background:#eef7f0;color:var(--ok);font-weight:600}
.q.done .ch button.no{border-color:var(--no);background:#fbeeec;color:var(--no);text-decoration:line-through}
.q.done .ch button:not(.ok):not(.no){color:#999;border-color:#e3e3e3}
.ex{margin-top:16px}
.ex summary{cursor:pointer;font-size:14px;color:var(--ink2);list-style:none;display:inline-block;border-bottom:1px solid var(--ink2);line-height:1.4}
.ex summary::-webkit-details-marker{display:none}
.q.done .ex summary{display:none}
.ex .ans{margin:14px 0 6px;font-weight:700}
.ex .ans.ok{color:var(--ok)}.ex .ans.no{color:var(--no)}
.ex p{margin:6px 0}
.ex .src{display:inline-block;margin-top:12px;font-size:15px;border-bottom:1px solid var(--ink);line-height:1.45}
.ex .src:hover{background:var(--ink);color:#fff}
.term{display:inline-block;font-size:12px;border:1px solid var(--ink);padding:0 7px;margin-left:6px;vertical-align:2px;color:var(--ink)}
.list{list-style:none;margin:0;padding:0}
.list li{border-bottom:1px solid #ddd}
.list a{display:flex;flex-direction:column;gap:3px;padding:16px 0}
.list a:hover b{text-decoration:underline;text-underline-offset:4px}
.list b{font-weight:600}.list span{color:var(--gray);font-size:14px;line-height:1.6}
.sec{margin:46px 0 0;padding-bottom:8px;border-bottom:1px solid var(--line);font-size:19px;font-weight:600;display:flex;justify-content:space-between;align-items:baseline}
.sec a{font-size:14px;font-weight:400;color:var(--ink2)}
.terms{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0;border-left:1px solid #ddd;margin-top:14px}
.terms a{border-right:1px solid #ddd;border-bottom:1px solid #ddd;padding:12px 14px;font-size:15px}
.terms a:hover{background:var(--soft)}
.empty{color:var(--gray);padding:30px 0}
.notes-act{margin:20px 0 0;display:flex;gap:10px}
.notes-act button{font:inherit;font-size:14px;border:1px solid var(--ink);background:none;padding:5px 14px;cursor:pointer}
.doc h1{font-size:28px;font-weight:600;margin:40px 0 20px}.doc h2{font-size:19px;margin:32px 0 8px}
/* 꼬리말 — HOLT ENGLISH와 같은 검은 띠(1111 사용자) */
footer.site{background:#000;color:#cfcfcf;margin-top:80px;padding:40px 56px 48px;font-size:13px;line-height:1.8;display:grid;grid-template-columns:auto 1fr auto;gap:20px 48px;align-items:start}
footer.site .logo-s{font-family:"Jost",sans-serif;font-weight:600;color:#fff;font-size:17px;letter-spacing:.04em}
footer.site .brand{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}footer.site .brand i{font-style:normal;font-weight:400;opacity:.5;font-family:var(--sans)}footer.site .brand .sib{font-family:var(--sans);font-weight:400;font-size:15px;letter-spacing:0;color:#fff}footer.site .brand .sib:hover{text-decoration:underline;text-underline-offset:4px}
footer.site nav{display:flex;gap:10px;flex-wrap:wrap;color:#fff}footer.site nav span{opacity:.5}
footer.site .c{text-align:right;align-self:end}
@media(max-width:700px){footer.site{grid-template-columns:1fr;padding:32px 20px 40px}footer.site .c{text-align:left}.top{grid-template-columns:auto 1fr;padding:6px 16px}.top>span{display:none}.top .logo{align-items:flex-start}.top .right{flex-direction:column;gap:0;align-items:flex-end;font-size:13px;line-height:1.6}.logo .tag{font-size:.28em}
.menu{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.menu::-webkit-scrollbar{display:none}.menu a{padding:11px 16px;font-size:14px}
.head{padding:28px 16px 12px}.wrap{padding:0 16px 30px}.issue .sum{padding:14px 16px}.list a{flex-direction:column;gap:2px}}
