:root{font-family:Inter,Noto Sans KR,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#172033;background:#eef4ff}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,#dbeafe 0,#eef4ff 34%,#f8fafc)}button{font:inherit}.app{max-width:900px;margin:0 auto;padding:18px 14px 80px}.hero{background:linear-gradient(135deg,#1d4ed8,#2563eb 55%,#0ea5e9);border-radius:30px;padding:24px;color:#fff;box-shadow:0 22px 60px #2563eb40}.heroTop{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800;color:#bfdbfe;margin:0 0 8px}h1{font-size:clamp(30px,7vw,56px);line-height:1.02;margin:0;letter-spacing:-.05em}.heroText{color:#dbeafe;font-size:16px;line-height:1.6;max-width:620px}.streakCard{min-width:150px;background:#ffffff29;border:1px solid rgba(255,255,255,.25);border-radius:22px;padding:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.streakCard span{display:block;font-size:28px;font-weight:900}.streakCard small{color:#dbeafe}.statsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.statsGrid div{background:#ffffff24;border:1px solid rgba(255,255,255,.2);border-radius:18px;padding:12px}.statsGrid strong{display:block;font-size:20px}.statsGrid span{color:#dbeafe;font-size:12px}.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px;background:#0f172a29;padding:6px;border-radius:18px}.tabs button{border:0;border-radius:14px;padding:10px 8px;background:transparent;color:#dbeafe;font-weight:800;cursor:pointer}.tabs button.active{background:#fff;color:#1d4ed8}.content{display:grid;gap:16px;margin-top:18px}.card{background:#ffffffeb;border:1px solid #e2e8f0;border-radius:26px;padding:20px;box-shadow:0 12px 38px #0f172a14}.lessonTitle h2,.card h2{margin:8px 0 10px;letter-spacing:-.03em;font-size:28px}.lessonTitle p,.card p{line-height:1.65;color:#475569}.badge{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:12px;font-weight:900}.cardHeader{display:flex;justify-content:space-between;align-items:center;gap:12px}.expressionCard h2{font-size:clamp(32px,7vw,52px);color:#0f172a;margin:14px 0 6px;letter-spacing:-.05em}.korean{font-size:22px;color:#1d4ed8!important;font-weight:800}.meaningBox{display:grid;gap:8px;padding:14px;background:#f8fafc;border-radius:18px;border:1px solid #e2e8f0}.meaningBox p{margin:0}.meaningBox b{color:#0f172a;margin-right:8px}section h3{margin:20px 0 10px}.line{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid #e2e8f0}.line button,.ghost{border:0;border-radius:999px;padding:9px 12px;background:#eff6ff;color:#1d4ed8;font-weight:900;cursor:pointer}.line strong{display:block;font-size:17px}.line span{display:block;color:#64748b;margin-top:4px}.compare{background:#fff7ed;border:1px solid #fed7aa;border-radius:16px;padding:14px}.compare b{color:#c2410c;margin-right:8px}.compare p{margin:8px 0 0}.tagRow{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.tagRow span{background:#f1f5f9;border-radius:999px;padding:6px 10px;color:#475569;font-size:12px;font-weight:700}.primary,.secondary{border:0;border-radius:16px;padding:13px 16px;font-weight:900;cursor:pointer}.primary{background:#2563eb;color:#fff;box-shadow:0 10px 24px #2563eb3d}.secondary{background:#0f172a;color:#fff}.wide,.finish{width:100%}.finish{font-size:18px;padding:18px}.doneText{color:#16a34a!important;font-weight:900}.sceneLine .time{font-size:13px;font-weight:900;color:#2563eb}.sceneLine small{display:block;margin-top:4px;color:#64748b}.sceneLine h3{font-size:24px;margin:10px 0}.practice h3{font-size:24px}.answer{font-size:22px;color:#1d4ed8!important;font-weight:900}.review details{margin:18px 0;padding:16px;border-radius:18px;background:#f8fafc}.reviewButtons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.reviewButtons button{border:0;border-radius:16px;padding:14px;font-weight:900;background:#e0f2fe;color:#0369a1}.center{text-align:center}.error{color:#b91c1c}@media(max-width:680px){.heroTop{flex-direction:column}.streakCard{width:100%}.statsGrid{grid-template-columns:1fr}.tabs{grid-template-columns:repeat(2,1fr)}}
