:root{--ink:#17201d;--cream:#f5f0e8;--paper:#fffdf8;--line:#dcd5ca;--muted:#69716d;--red:#c91532;--red-dark:#8d0e24;--green:#0b5a3b;--lime:#d9f45a;--blue:#315f91;--ok:#08764b;--ok-bg:#e8f6ef;--bad:#ae2d2d;--bad-bg:#fff0ee;--shadow:0 16px 42px rgba(30,38,33,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(135deg,#faf7f1,#efe8dc);color:var(--ink);font-family:Pretendard,"Noto Sans KR","Malgun Gothic",Arial,sans-serif;line-height:1.58}button,input{font:inherit}button{cursor:pointer}a{color:inherit}
.topline{height:8px;background:linear-gradient(90deg,var(--red),#6b286f,var(--blue),var(--green))}.site-header{background:var(--ink);color:#fff;padding:23px clamp(18px,4vw,48px)}.site-header .inside{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border:2px solid var(--lime);border-radius:50%;color:var(--lime);font-size:20px;font-weight:950}.brand strong{display:block;letter-spacing:.08em}.brand small{display:block;color:#abb5af;font-size:12px}.crumb{font-size:13px;color:#c8cfcb;text-decoration:none}.crumb:hover{color:var(--lime)}
.hero{padding:54px 20px 74px;color:#fff;background:linear-gradient(130deg,var(--red),#6a2b73 54%,var(--blue));position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:380px;height:380px;border:58px solid rgba(255,255,255,.08);border-radius:50%;right:-110px;top:-170px}.hero-inner{max-width:1180px;margin:auto;position:relative;z-index:1}.eyebrow{font-size:12px;font-weight:950;letter-spacing:.17em}.hero h1{font-size:clamp(38px,6vw,72px);line-height:1.02;letter-spacing:-.055em;margin:12px 0 15px}.hero p{max-width:760px;margin:0;color:#fff1f3;font-size:18px;font-weight:750}.hero-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.hero-actions a{background:#fff;color:var(--red-dark);font-weight:900;text-decoration:none;padding:11px 16px;border-radius:10px}.hero-actions a.secondary{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55)}
.stats{max-width:1180px;margin:-34px auto 24px;padding:0 18px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;position:relative;z-index:2}.stat{background:rgba(255,255,255,.97);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow)}.stat b{display:block;color:var(--red);font-size:30px;line-height:1}.stat span{color:var(--muted);font-size:14px;font-weight:800}.content{max-width:1180px;margin:auto;padding:0 18px 64px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:34px 0 16px}.section-heading h2{margin:0;font-size:28px;letter-spacing:-.035em}.section-heading p{margin:4px 0 0;color:var(--muted)}
.season-grid,.day-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.season-card,.day-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px;text-decoration:none;box-shadow:0 10px 28px rgba(30,38,33,.07);transition:.18s}.season-card:hover,.day-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:var(--shadow)}.season-no{font-size:12px;font-weight:950;letter-spacing:.12em;color:var(--accent)}.season-card h2{font-size:36px;margin:12px 0 8px;color:var(--accent)}.season-card p,.day-card p{color:var(--muted);margin:0}.season-card b,.day-card b.link{margin-top:auto;padding-top:20px;color:var(--accent)}.day-card{min-height:235px;--accent:var(--red)}.day-card .day-top{display:flex;justify-content:space-between;align-items:center}.day-card .day-num{font-size:12px;font-weight:950;color:var(--accent)}.day-card .pill{font-size:12px;font-weight:850;color:var(--green);background:#e8f4ed;border-radius:999px;padding:5px 9px}.day-card h3{font-size:23px;line-height:1.2;margin:16px 0 9px;letter-spacing:-.03em}.day-card small{display:block;margin-top:12px;color:#7a817d}.detail-list{display:grid;gap:10px;margin-top:24px}.detail-list details{background:rgba(255,255,255,.75);border:1px solid var(--line);border-radius:13px;overflow:hidden}.detail-list summary{cursor:pointer;padding:15px 17px;font-weight:900}.legacy-links{border-top:1px solid var(--line);padding:10px 17px 16px;display:flex;flex-wrap:wrap;gap:8px}.legacy-links a{font-size:13px;text-decoration:none;border:1px solid var(--line);background:#fff;padding:7px 10px;border-radius:8px}.legacy-links a:hover{border-color:var(--red);color:var(--red)}
.assessment-head{background:linear-gradient(130deg,var(--red-dark),var(--red));color:#fff;padding:38px 20px 68px}.assessment-head .inner{max-width:1160px;margin:auto}.assessment-head h1{font-size:clamp(32px,5vw,54px);letter-spacing:-.045em;line-height:1.08;margin:10px 0}.assessment-head p{max-width:780px;margin:0;color:#ffe6ea}.test-shell{max-width:1160px;margin:-38px auto 70px;padding:0 16px;display:grid;grid-template-columns:285px minmax(0,1fr);gap:18px;position:relative}.side-panel{position:sticky;top:15px;align-self:start;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.student-fields{display:grid;gap:9px;margin-bottom:18px}.student-fields label{font-size:12px;font-weight:900;color:var(--muted)}.student-fields input{display:block;width:100%;margin-top:4px;border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:#fff}.progress-track{height:10px;border-radius:99px;background:#e7e2d9;overflow:hidden}.progress-track i{display:block;height:100%;width:0;background:var(--red);transition:.2s}.progress-meta{display:flex;justify-content:space-between;margin-top:6px;font-size:12px;color:var(--muted);font-weight:800}.qnav{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:15px 0}.qnav button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:6px 0;font-weight:850;color:#5d645f}.qnav button.answered{background:#fff0f2;border-color:#dc8797;color:var(--red)}.qnav button.correct{background:var(--ok-bg);border-color:#70b995;color:var(--ok)}.qnav button.wrong{background:var(--bad-bg);border-color:#dfa09a;color:var(--bad)}.side-actions{display:grid;gap:8px}.btn{border:0;border-radius:10px;padding:11px 13px;font-weight:900}.btn-primary{background:var(--red);color:#fff}.btn-secondary{background:#ede7de;color:var(--ink)}.btn-outline{background:#fff;border:1px solid var(--line)}.coverage-note{margin-top:15px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.intro-card{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow);margin-bottom:15px}.intro-card div{background:#f8f4ed;border-radius:11px;padding:11px}.intro-card b{display:block;color:var(--red);font-size:12px}.intro-card span{font-size:13px}.question-section{margin:26px 2px 10px;font-size:21px;display:flex;align-items:center;gap:9px}.question-section:before{content:"";width:7px;height:24px;border-radius:5px;background:var(--red)}.question{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:19px 20px;margin-bottom:11px;box-shadow:0 8px 22px rgba(30,38,33,.055);scroll-margin-top:16px}.qsource{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px;font-size:12px;color:var(--muted)}.qsource span{background:#f0ebe3;border-radius:999px;padding:4px 8px;font-weight:800}.qhead{display:flex;gap:11px;align-items:flex-start}.qnum{flex:0 0 35px;height:35px;border-radius:10px;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:950}.qtext{padding-top:4px;font-weight:800;white-space:pre-line}.choices{display:grid;gap:8px;margin:14px 0 0 46px}.choice{display:flex;gap:9px;border:1px solid #ddd5cc;border-radius:10px;padding:10px 12px;background:#fff}.choice:hover,.choice.selected{border-color:#d47b8a;background:#fff7f8}.choice.correct-answer{background:var(--ok-bg);border-color:#62b78b}.choice.wrong-answer{background:var(--bad-bg);border-color:#df8c86}.fill-wrap,.order-wrap{margin:14px 0 0 46px}.fill-input{width:min(330px,100%);border:1px solid #d7cfc5;border-radius:10px;padding:11px 12px;font-weight:800}.fill-input.correct{background:var(--ok-bg);border-color:var(--ok)}.fill-input.wrong{background:var(--bad-bg);border-color:var(--bad)}.word-bank,.answer-zone{display:flex;flex-wrap:wrap;gap:7px;padding:8px;border-radius:11px}.answer-zone{min-height:52px;border:2px dashed #d3c9bd;background:#fffaf5}.answer-zone:empty:before{content:"아래 낱말을 순서대로 눌러 보세요.";color:#938a82;font-size:13px}.word-bank{margin-top:7px}.chip{border:1px solid #d5b8be;background:#fff2f4;color:var(--red-dark);border-radius:999px;padding:7px 10px;font-weight:850}.chip.used{opacity:.3;pointer-events:none}.answer-zone .chip{background:var(--red);border-color:var(--red);color:#fff}.explanation{display:none;margin:13px 0 0 46px;padding:11px 13px;background:#fff3f5;border-left:4px solid var(--red);border-radius:0 9px 9px 0;font-size:14px}.explanation.show{display:block}.mobile-actions{display:none;position:fixed;z-index:20;left:10px;right:10px;bottom:10px;padding:8px;background:rgba(255,253,248,.94);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);grid-template-columns:1fr 1fr;gap:8px}
.report{display:none;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow);margin-bottom:18px}.report.show{display:block}.report-title{display:flex;justify-content:space-between;gap:18px;align-items:start;border-bottom:3px solid var(--ink);padding-bottom:17px}.report-title h2{margin:0;font-size:30px;letter-spacing:-.04em}.report-title p{margin:5px 0 0;color:var(--muted)}.report-badge{background:var(--ink);color:#fff;border-radius:13px;padding:12px 16px;text-align:center;white-space:nowrap}.report-badge strong{display:block;color:var(--lime);font-size:31px;line-height:1}.report-actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 21px}.report-actions button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 12px;font-weight:850}.report-actions button:first-child{background:var(--green);border-color:var(--green);color:#fff}.report-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.report-summary div{padding:13px;border-radius:11px;background:#f4efe7}.report-summary b{display:block;font-size:24px}.report-summary span{font-size:12px;color:var(--muted);font-weight:800}.report h3{margin:27px 0 10px;font-size:19px}.report table{width:100%;border-collapse:collapse;font-size:14px}.report th,.report td{border-bottom:1px solid var(--line);padding:9px 7px;text-align:left}.report th{font-size:12px;color:var(--muted)}.rate{font-weight:900}.rate.good{color:var(--ok)}.rate.warn{color:#a76000}.rate.bad{color:var(--bad)}.guides{display:grid;grid-template-columns:1fr 1fr;gap:11px}.guide{border-radius:13px;padding:16px;background:#f2eee7}.guide.teacher{background:#eaf0f7}.guide.parent{background:#edf6f0}.guide h4{margin:0 0 8px}.guide ul{margin:0;padding-left:19px}.guide li+li{margin-top:6px}.item-review{display:grid;gap:8px}.review-item{border:1px solid var(--line);border-radius:11px;padding:12px}.review-item.wrong{border-left:5px solid var(--bad)}.review-item.correct{border-left:5px solid var(--ok)}.review-item summary{cursor:pointer;font-weight:850}.review-item p{margin:8px 0 0;font-size:14px}.answer-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.answer-row div{padding:9px;border-radius:8px;background:#f5f1ea;font-size:13px}.answer-row b{display:block;font-size:11px;color:var(--muted)}.report-foot{margin-top:24px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.toast{position:fixed;right:16px;bottom:16px;background:var(--ink);color:#fff;padding:11px 15px;border-radius:9px;box-shadow:var(--shadow);z-index:30}.footer{text-align:center;color:#7d857f;font-size:12px;padding:0 18px 36px}
@media(max-width:900px){.season-grid,.day-grid{grid-template-columns:repeat(2,1fr)}.test-shell{grid-template-columns:1fr}.side-panel{position:relative;top:auto}.report-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.site-header .inside{align-items:flex-start}.crumb{display:none}.hero{padding:40px 16px 60px}.hero p{font-size:16px}.stats,.season-grid,.day-grid{grid-template-columns:1fr}.content{padding-inline:10px}.section-heading{align-items:start;flex-direction:column}.assessment-head{padding:30px 14px 55px}.test-shell{padding:0 9px}.side-panel{display:none}.mobile-actions{display:grid}.intro-card{grid-template-columns:1fr}.question{padding:16px 13px}.choices,.fill-wrap,.order-wrap,.explanation{margin-left:0}.report{padding:17px 13px}.report-title{flex-direction:column}.report-summary,.guides,.answer-row{grid-template-columns:1fr}.report table{font-size:12px}.footer{padding-bottom:90px}}
@media print{body{background:#fff}.topline,.site-header,.assessment-head,.side-panel,.quiz-area,.mobile-actions,.report-actions,.footer,.toast{display:none!important}.test-shell{display:block;margin:0;padding:0;max-width:none}.report{display:block!important;border:0;box-shadow:none;padding:0}.report-title{break-after:avoid}.report h3{break-after:avoid}.guide,.review-item,tr{break-inside:avoid}.review-item{font-size:11px}.report-foot{margin-top:12px}}
.answer-zone:empty:before{content:"아래 영어 덩어리를 의미 순서대로 눌러 보세요."}.word-bank{margin-top:9px}.chip{border-radius:10px;padding:9px 12px;line-height:1.35}
