:root{--red:#ef4b38;--ink:#172238;--muted:#596579;--paper:#f7f3ec;--line:#ded8cd;--white:#fff;--blue:#1f4c73;--shadow:0 16px 36px rgba(23,34,56,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo",Arial,sans-serif;line-height:1.55}a{color:inherit}button,input{font:inherit}button{cursor:pointer}.skip{position:absolute;left:-9999px;top:8px;background:var(--ink);color:white;padding:9px;z-index:50}.skip:focus{left:8px}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px max(20px,calc((100vw - 1240px)/2));background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand img{display:block;width:220px;max-height:52px;object-fit:contain}.header-meta{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.header-meta span{border:1px solid var(--line);border-radius:999px;padding:6px 10px;background:white;font-size:.8rem;font-weight:800}
main{max-width:1240px;margin:auto;padding:0 20px 80px}.lesson-head{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;padding:42px 0 28px}.eyebrow{margin:0 0 8px;color:var(--red);font-size:.8rem;font-weight:900;letter-spacing:.06em}.lesson-head h1{margin:0;font-size:clamp(2.3rem,5vw,4.2rem);line-height:1.12;letter-spacing:-.05em}.lesson-head h1 strong{color:var(--red)}.lesson-head p:not(.eyebrow){font-size:1.05rem;color:#465064}.lesson-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;max-width:370px}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);border-radius:9px;padding:10px 14px;background:white;text-decoration:none;font-size:.95rem;font-weight:850}.button.primary{background:var(--red);border-color:var(--red);color:white}.source-links{display:flex;gap:14px;width:100%;justify-content:flex-end;font-size:.86rem;color:var(--blue);font-weight:800}.lesson-strip{display:flex;gap:0;flex-wrap:wrap;background:var(--ink);color:white;border-radius:11px;margin:0 0 32px;overflow:hidden}.lesson-strip span{padding:13px 20px;border-right:1px solid #43506a}.lesson-strip b{color:#ff6a57;font-size:1.3rem}
.clip-section{margin:38px 0 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;border-bottom:2px solid var(--ink);margin-bottom:15px}.section-heading h2{font-size:1.8rem;margin:0 0 7px;letter-spacing:-.04em}.section-heading>p{color:var(--muted);font-size:.86rem}.clip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.clip-card{background:white;border:1px solid var(--line);border-radius:12px;padding:17px;box-shadow:var(--shadow)}.clip-card .clip-meta{font-size:.79rem;color:var(--red);font-weight:900}.clip-card h3{font-size:1.1rem;line-height:1.3;margin:7px 0}.clip-card p{font-size:.86rem;color:var(--muted);margin:0 0 12px}.clip-card a{color:var(--blue);font-weight:850;font-size:.9rem;text-underline-offset:3px}.clip-status{display:inline-block;margin-left:7px;color:#735e42;background:#fff2d8;border-radius:5px;padding:3px 6px;font-size:.74rem}.small-note,.save-note{font-size:.8rem;color:var(--muted)}
.workspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;align-items:start}.navigator{position:sticky;top:82px;max-height:calc(100vh - 100px);overflow:auto;background:white;border:1px solid var(--line);border-radius:12px;padding:17px}.navigator label{display:block;font-weight:900;margin-bottom:7px}.navigator input{width:100%;padding:10px 11px;border:1px solid #c9c3b8;border-radius:7px;font-size:1rem}.filters{display:flex;gap:5px;flex-wrap:wrap;margin:12px 0}.filters button{font-size:.875rem;background:#f8f6f2;border:1px solid var(--line);border-radius:7px;padding:6px 8px;font-size:.76rem;font-weight:800}.filters button.active{background:var(--ink);border-color:var(--ink);color:white}#result-count{font-size:.82rem;color:var(--muted)}#question-list{display:grid;gap:4px}.question-link{display:flex;gap:9px;align-items:center;padding:8px;border-radius:7px;text-decoration:none;border:1px solid transparent}.question-link:hover{background:#f8f5ef}.question-link.selected{border-color:#ffbbb2;background:#fff5f3}.question-number{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;background:var(--ink);color:white;border-radius:6px;font-weight:900;font-size:.82rem}.question-link b{display:block;font-size:.88rem;line-height:1.25}.question-link small{display:block;color:var(--muted);font-size:.85rem}.empty-list{padding:20px;color:var(--muted)}
.study{background:white;border:1px solid var(--line);border-radius:12px;padding:22px;min-width:0;scroll-margin-top:84px}.question-heading{display:flex;align-items:start;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}.question-heading h2{font-size:clamp(1.5rem,3vw,2.2rem);margin:0;letter-spacing:-.04em}.share-button{border:1px solid var(--line);background:white;border-radius:7px;padding:7px 10px;white-space:nowrap;font-weight:800;color:var(--blue)}.study-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr);gap:18px;margin-top:16px}.problem-box{background:#faf9f6;border:1px solid var(--line);border-radius:9px;padding:10px}.panel-label{display:flex;justify-content:space-between;gap:10px;font-weight:850;font-size:.83rem;margin:0 0 8px}.panel-label span:last-child{color:var(--muted);font-weight:600}.zoom-button{border:0;background:white;padding:0;width:100%;text-align:left}.problem-img{display:block;width:100%;height:auto;max-height:680px;object-fit:contain;object-position:top center}.problem-links{display:flex;flex-wrap:wrap;gap:12px;margin:11px 0;color:var(--blue);font-size:.86rem;font-weight:850}.explain-panel{display:flex;flex-direction:column;gap:12px}.video-box,.no-video,.source-box,.notice-box{border:1px solid var(--line);border-radius:9px;padding:15px;background:#f9f7f2}.video-box{background:var(--ink);color:white}.video-box h3,.no-video h3{font-size:1.05rem;margin:0 0 7px}.video-box p,.no-video p,.source-box p,.notice-box p{font-size:.86rem;margin:0 0 8px}.video-box a{color:#fff;text-underline-offset:3px;font-weight:800}.video-box iframe{width:100%;aspect-ratio:16/9;border:0;background:#050609}.no-video{color:var(--ink)}.notice-box{border-color:#f9c4bd;background:#fff5f2}.source-box a,.no-video a{color:var(--blue);font-weight:850}.solution-details{border:1px solid var(--line);border-radius:9px;overflow:hidden}.solution-details summary{padding:13px 15px;font-weight:850;cursor:pointer;background:#f9f7f2}.details-body{padding:14px 15px}.details-body p{font-size:.9rem;margin:0 0 10px}.details-body a{color:var(--blue);font-weight:850}.progress-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.progress-controls button{border:1px solid var(--line);border-radius:7px;background:white;padding:8px 11px;font-size:.85rem;font-weight:800}.progress-controls button[aria-pressed=true]{background:#e9f4e8;border-color:#8bc78b;color:#245d33}.next-row{display:flex;justify-content:space-between;margin-top:26px;gap:10px}.next-row a{color:var(--blue);font-weight:850}
footer{background:white;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px max(20px,calc((100vw - 1240px)/2));color:var(--muted);font-size:.8rem}footer img{width:180px}#image-dialog{border:0;border-radius:12px;padding:14px;max-width:min(98vw,1400px);max-height:98vh;box-shadow:0 30px 90px #0006}#image-dialog::backdrop{background:#111b}#image-dialog button{display:block;margin:0 0 8px auto;border:0;background:var(--ink);color:white;padding:8px 12px;border-radius:6px}#zoom-image{display:block;max-width:100%;max-height:87vh;object-fit:contain}#toast{display:none;position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:9px 14px;border-radius:8px;z-index:50}
@media(max-width:1000px){.study-grid{grid-template-columns:1fr}.problem-img{max-height:800px}}@media(max-width:760px){.lesson-head{grid-template-columns:1fr;padding-top:24px}.lesson-actions{justify-content:flex-start}.source-links{justify-content:flex-start}.workspace{grid-template-columns:1fr}.navigator{position:static;max-height:360px}.clip-grid{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column;gap:0}.section-heading>p{margin-top:0}.study{padding:15px}.header-meta span:nth-child(2){display:none}}@media(max-width:480px){main{padding-left:12px;padding-right:12px}.brand img{width:150px}.header-meta{font-size:.7rem}.header-meta span{padding:4px 7px}.lesson-strip span{padding:9px 12px;font-size:.82rem}.question-heading{flex-direction:column}.problem-img{max-height:none}footer{flex-direction:column;text-align:center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

