:root{--bg-primary:#faf9f6;--bg-secondary:#f3f1ec;--bg-card:#fff;--bg-card-hover:#fcfbfa;--bg-glass:#ffffffd9;--text-main:#1e293b;--text-muted:#64748b;--text-subtle:#94a3b8;--border-light:#e2e8f0;--border-card:#eae6de;--border-hover:#cbd5e1;--brand-primary:#4f46e5;--brand-primary-hover:#4338ca;--brand-primary-light:#eef2ff;--brand-korea-red:#e11d48;--brand-korea-red-light:#fff1f2;--brand-korea-blue:#2563eb;--brand-korea-blue-light:#eff6ff;--accent-gold:#d97706;--accent-gold-light:#fef3c7;--accent-emerald:#059669;--accent-emerald-light:#ecfdf5;--shadow-sm:0 1px 3px #0f172a0d;--shadow-md:0 4px 12px -2px #0f172a14, 0 2px 6px -1px #0f172a0a;--shadow-lg:0 12px 28px -4px #0f172a1f, 0 4px 12px -2px #0f172a0a;--shadow-xl:0 20px 35px -5px #0f172a29;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-full:9999px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", "PingFang SC", "Hiragino Sans", sans-serif;--font-hangul:"Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--transition-fast:.18s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);color:var(--text-main);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;line-height:1.6}body{background-image:radial-gradient(circle at 10% 20%,#4f46e508 0%,#0000 40%),radial-gradient(circle at 90% 80%,#e11d4808 0%,#0000 40%);flex-direction:column;min-height:100vh;display:flex;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit}input,textarea,select{font-family:inherit;font-size:1rem}.font-hangul{font-family:var(--font-hangul)}.container{width:100%;max-width:1240px;margin:0 auto;padding:0 1.5rem}@media (width<=640px){.container{padding:0 1rem}}.glass-nav{z-index:50;-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border-card);transition:all var(--transition-normal);background:#faf9f6e0;position:sticky;top:0}.badge{border-radius:var(--radius-full);letter-spacing:.02em;align-items:center;gap:.35rem;padding:.28rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-indigo{background-color:var(--brand-primary-light);color:var(--brand-primary)}.badge-red{background-color:var(--brand-korea-red-light);color:var(--brand-korea-red)}.badge-gold{background-color:var(--accent-gold-light);color:var(--accent-gold)}.badge-emerald{background-color:var(--accent-emerald-light);color:var(--accent-emerald)}.btn-primary{background:linear-gradient(135deg, var(--brand-primary) 0%, #3730a3 100%);color:#fff;border-radius:var(--radius-md);transition:all var(--transition-fast);justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.4rem;font-weight:600;display:inline-flex;box-shadow:0 4px 14px #4f46e547}.btn-primary:hover{transform:translateY(-1.5px);box-shadow:0 6px 20px #4f46e561}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--text-main);border:1px solid var(--border-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:all var(--transition-fast);background-color:#fff;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.4rem;font-weight:600;display:inline-flex}.btn-secondary:hover{background-color:var(--bg-card-hover);border-color:var(--border-hover);transform:translateY(-1px)}.card{background-color:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);padding:1.5rem}.card-hover:hover{box-shadow:var(--shadow-md);border-color:#d1d5db;transform:translateY(-3px)}.vocab-clickable{color:var(--brand-primary);cursor:pointer;transition:all var(--transition-fast);border-bottom:2px dashed #4f46e580;border-radius:3px;padding:0 2px;font-weight:600;display:inline-block;position:relative}.vocab-clickable:hover{background-color:var(--brand-primary-light);border-bottom-style:solid}@keyframes wavePulse{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}.playing-wave-bar{background-color:var(--brand-primary);border-radius:2px;width:3px;height:14px;animation:.8s ease-in-out infinite wavePulse;display:inline-block}.playing-wave-bar:nth-child(2){animation-delay:.2s}.playing-wave-bar:nth-child(3){animation-delay:.4s}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(6px);background-color:#0f172a99;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{border-radius:var(--radius-lg);width:100%;max-width:780px;max-height:90vh;box-shadow:var(--shadow-xl);border:1px solid var(--border-card);background:#fff;animation:.25s cubic-bezier(.16,1,.3,1) modalSlideUp;overflow-y:auto}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.drawer-overlay{z-index:110;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0f172a80;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer-panel{background-color:#fff;flex-direction:column;width:100%;max-width:440px;height:100%;animation:.25s cubic-bezier(.16,1,.3,1) drawerSlide;display:flex;box-shadow:-4px 0 25px #00000026}@keyframes drawerSlide{0%{transform:translate(100%)}to{transform:translate(0)}}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}
