@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;800&family=Noto+Sans+KR:wght@400;600;700;800&display=swap";:root{--bg-primary:#0a0e1a;--bg-secondary:#121829;--bg-card:#161e32b3;--border-color:#ffffff1a;--text-main:#f0f4fc;--text-sub:#8e9dbb;--accent-cyan:#00f0ff;--accent-gold:#ffc837;--accent-purple:#9d4edd;--accent-rose:#ff2a6d;--accent-green:#05ffa1;--radius-lg:16px;--radius-md:12px;--shadow-glow:0 0 25px #00f0ff26}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-main);-webkit-font-smoothing:antialiased;background-image:radial-gradient(at 0 0,#00f0ff0d 0,#0000 50%),radial-gradient(at 100% 100%,#9d4edd0d 0,#0000 50%);min-height:100vh;font-family:Noto Sans KR,Outfit,sans-serif}.app-container{max-width:1200px;margin:0 auto;padding:20px 16px}.app-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-lg);background:#121829d9;justify-content:space-between;align-items:center;margin-bottom:24px;padding:16px 24px;display:flex;box-shadow:0 8px 32px #0000004d}.brand{align-items:center;gap:12px;text-decoration:none;display:flex}.brand-icon{filter:drop-shadow(0 0 8px #00f0ff66);font-size:1.8rem}.brand-title{background:linear-gradient(135deg, var(--accent-cyan), var(--accent-purple));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.4rem;font-weight:800}.nav-links{flex-wrap:wrap;gap:8px;display:flex}.nav-btn{border-radius:var(--radius-md);border:1px solid var(--border-color);color:var(--text-sub);background:#ffffff0a;align-items:center;gap:6px;padding:10px 16px;font-size:.9rem;font-weight:700;text-decoration:none;transition:all .2s;display:flex}.nav-btn:hover{color:var(--text-main);background:#ffffff14;border-color:#fff3}.nav-btn.active{border-color:var(--accent-cyan);color:var(--accent-cyan);background:linear-gradient(135deg,#00f0ff26,#9d4edd26);box-shadow:0 0 15px #00f0ff33}.controls-panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;gap:16px;margin-bottom:24px;padding:20px;display:flex}.search-input{border-radius:var(--radius-md);border:1px solid var(--border-color);width:100%;color:var(--text-main);background:#0a0e1ab3;outline:none;padding:14px 18px;font-size:1rem;transition:border-color .2s}.search-input:focus{border-color:var(--accent-cyan);box-shadow:0 0 12px #00f0ff33}.filter-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.chip-group{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--border-color);color:var(--text-sub);cursor:pointer;background:#ffffff0a;border-radius:20px;padding:8px 14px;font-size:.85rem;font-weight:700;transition:all .2s}.chip.active{background:var(--accent-cyan);color:#05101a;border-color:var(--accent-cyan);font-weight:800;box-shadow:0 0 10px #00f0ff4d}.select-custom{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-main);cursor:pointer;outline:none;padding:8px 14px;font-size:.9rem;font-weight:600}.section-title{color:var(--accent-gold);align-items:center;gap:8px;margin:28px 0 14px 4px;font-size:1.3rem;font-weight:800;display:flex}.card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin-bottom:30px;display:grid}.hanja-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;gap:16px;padding:16px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.hanja-card:hover{border-color:#00f0ff66;transform:translateY(-4px);box-shadow:0 10px 25px #0006}.card-left{flex-direction:column;align-items:center;gap:8px;display:flex}.glyph{color:var(--text-main);text-shadow:0 0 15px #ffc83733;font-size:3.2rem;font-weight:800;line-height:1}.card-img{object-fit:cover;border:1px solid var(--border-color);border-radius:8px;width:48px;height:48px}.card-right{flex-direction:column;flex:1;justify-content:center;gap:6px;display:flex}.hun-sound{color:var(--accent-gold);font-size:1.15rem;font-weight:800}.hun-sound .num{color:var(--text-sub);margin-right:4px;font-size:.8rem}.meta-tags{flex-wrap:wrap;gap:6px;display:flex}.tag{color:var(--text-sub);border:1px solid var(--border-color);background:#ffffff0f;border-radius:6px;padding:2px 8px;font-size:.72rem}.tag-cat{color:var(--accent-cyan);background:#00f0ff1a;border-color:#00f0ff4d}.origin-desc{color:var(--text-sub);margin-top:2px;font-size:.8rem;line-height:1.4}
