:root{--navy:#18365f;--orange:#d86b2c;--cream:#fff4df;--peach:#ffe1c7;--yellow:#ffd76a;--mint:#dff4e7;--blue:#3b78df;--line:#eadbc8;--ink:#25364d}*{box-sizing:border-box}body{margin:0;background:linear-gradient(155deg,#fffaf0,#fff1dc 55%,#e9f5ed);color:var(--ink);font-family:system-ui,-apple-system,"Noto Sans KR",sans-serif}.page{width:min(1080px,100%);margin:auto;padding:22px}.hero{min-height:330px;border-radius:34px;padding:42px 48px;display:grid;grid-template-columns:1.35fr .65fr;align-items:center;background:linear-gradient(135deg,#fff1ce,#ffd9bd);box-shadow:0 20px 60px #a85c2418;overflow:hidden;position:relative}.academy{font-size:25px;font-weight:950;color:var(--orange)}.catchphrase{margin:5px 0 22px;color:#8e5a35;font-weight:800}.hero h1{font-size:clamp(38px,6vw,64px);line-height:1.08;margin:0;color:var(--navy);letter-spacing:-.04em}.hero h1 span{color:var(--orange)}.welcome{font-size:18px;line-height:1.7;color:#695745}.hero-art{height:240px;position:relative;border-radius:50%;background:#fff8dfaa;box-shadow:inset 0 0 0 18px #ffffff55}.hero-art span{position:absolute;filter:drop-shadow(0 8px 8px #81532222)}.sun{font-size:62px;right:12px;top:-20px}.book{font-size:88px;left:26px;bottom:26px;transform:rotate(-7deg)}.kid{font-size:94px;right:20px;bottom:30px}.star{font-size:40px;left:45%;top:25px}.login-card,.classroom{margin:-34px 32px 0;position:relative;background:#fff;border:1px solid var(--line);border-radius:25px;padding:28px;box-shadow:0 18px 55px #74421c18}.login-card{display:grid;grid-template-columns:1fr 1.4fr;gap:28px;align-items:center}.small-title{color:var(--orange);font-size:12px;font-weight:950;letter-spacing:.12em}.login-card h2,.classroom h2{font-size:28px;color:var(--navy);margin:6px 0}.login-card p{color:#746557}.login-card form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.login-card label{display:grid;gap:6px;color:var(--navy);font-weight:850}.login-card input{width:100%;border:2px solid #e8dfd4;border-radius:13px;padding:13px;font:inherit;outline:0}.login-card input:focus{border-color:var(--orange)}button{border:0;border-radius:13px;padding:14px 18px;font:inherit;font-weight:900;cursor:pointer;background:var(--blue);color:#fff}.error{grid-column:1/-1;color:#c54336;font-weight:800;margin:0;min-height:20px}.classroom{margin-top:-34px}.classroom-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.classroom-head p{color:#6e7e90}.ghost{background:#fff;color:var(--navy);border:1px solid #d9e2ee;padding:9px 13px}.motivation{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--cream);border-radius:14px;padding:13px 16px;margin:12px 0 20px;color:#76502f}.content-list{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.level-group{grid-column:1/-1}.level-group h3{color:var(--navy);margin:16px 0 8px}.unit-card{border:1px solid #dce7f2;background:#f9fcff;border-radius:17px;padding:16px}.unit-card.current{border:2px solid #f19a4a;background:#fff9f0}.unit-card-head{display:flex;justify-content:space-between;align-items:center}.unit-card h4{margin:0;color:var(--navy);font-size:20px}.tag{font-size:11px;padding:5px 8px;border-radius:999px;background:var(--mint);color:#167254;font-weight:900}.current .tag{background:var(--peach);color:#a74d18}.parts{display:flex;gap:7px;margin-top:12px;flex-wrap:wrap}.parts a{background:var(--blue);color:#fff;text-decoration:none;border-radius:10px;padding:9px 13px;font-weight:850}.empty{grid-column:1/-1;text-align:center;background:#f7f9fc;border-radius:16px;padding:28px;color:#68788d}footer{text-align:center;color:#8c745f;padding:24px}footer b{color:var(--orange)}[hidden]{display:none!important}@media(max-width:760px){.page{padding:10px}.hero{grid-template-columns:1fr;padding:28px 24px;min-height:auto}.hero-art{height:150px;margin-top:12px}.book{font-size:65px}.kid{font-size:70px}.login-card,.classroom{margin:-18px 8px 0;padding:20px}.login-card{grid-template-columns:1fr}.login-card form{grid-template-columns:1fr}.error{grid-column:1}.content-list{grid-template-columns:1fr}.hero h1{font-size:40px}.welcome{font-size:15px}}
