:root{--bg-light: #fdfaf9;--bg-light-accent: #f8f3f0;--card-bg: rgba(255, 255, 255, .75);--card-border: rgba(92, 46, 66, .08);--text-main: #2d2030;--text-muted: #645566;--text-dim: #8c7b8d;--color-rose: #e11d48;--color-rose-glow: rgba(225, 29, 72, .15);--color-amber: #d97706;--color-violet: #7c3aed;--font-serif: "Playfair Display", Georgia, serif;--font-sans: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--shadow-premium: 0 10px 30px rgba(92, 46, 66, .04);--shadow-neon: 0 0 20px rgba(225, 29, 72, .08);--transition-smooth: all .35s cubic-bezier(.4, 0, .2, 1);--color-success: #059669;--color-success-bg: rgba(5, 150, 105, .04);--color-warning: #d97706;--color-warning-bg: rgba(217, 119, 6, .04);--color-error: #dc2626;--color-error-bg: rgba(220, 38, 38, .04)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-light);background-image:radial-gradient(at top left,rgba(225,29,72,.04) 0px,transparent 50%),radial-gradient(at top right,rgba(124,58,237,.04) 0px,transparent 50%),radial-gradient(at bottom center,rgba(217,119,6,.03) 0px,transparent 50%);background-attachment:fixed;color:var(--text-main);font-family:var(--font-sans);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased}.container{max-width:1024px;margin:0 auto;padding:4rem 2rem}.app-header{text-align:center;margin-bottom:4rem}.app-title{font-family:var(--font-serif);font-size:3rem;font-weight:800;color:#1e1022;line-height:1.2}.app-title-vn{font-family:var(--font-sans);font-size:1.35rem;color:var(--text-muted);font-weight:500;margin-top:.5rem}.app-subtitle{font-size:1rem;color:var(--text-muted);margin-top:1.5rem;max-width:600px;margin-left:auto;margin-right:auto}.app-subtitle-vn{font-size:.9rem;color:var(--text-dim);font-style:italic;margin-top:.25rem}.competency-section{background:var(--card-bg);border:1px solid var(--card-border);border-radius:24px;padding:2rem;margin-bottom:2rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-premium);transition:var(--transition-smooth)}.competency-section.expanded{border-color:#e11d481f;box-shadow:0 15px 40px #5c2e4212}.competency-header-trigger{display:flex;justify-content:space-between;align-items:center}.competency-title{font-family:var(--font-serif);font-size:1.8rem;font-weight:700;color:#2d1633}.competency-desc{font-size:.95rem;color:var(--text-muted);margin-top:.75rem;max-width:800px}.expand-indicator{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#5c2e4208;color:var(--text-muted);transition:var(--transition-smooth)}.competency-section:hover .expand-indicator,.skill-row:hover .expand-indicator{background:#e11d4814;color:var(--color-rose)}.skills-list{display:flex;flex-direction:column;gap:1.25rem}.skill-row{border:1px solid var(--card-border);border-radius:18px;padding:1.5rem;background:#fff6;transition:var(--transition-smooth)}.skill-row.expanded{border-color:#7c3aed1a;background:#fff}.skill-header-trigger{display:flex;justify-content:space-between;align-items:center}.skill-meta{display:flex;align-items:flex-start;gap:1.25rem}.skill-icon-wrapper{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#e11d480f;color:var(--color-rose);flex-shrink:0}.skill-title-group h3{font-family:var(--font-sans);font-size:1.2rem;font-weight:700;color:#1a0c1e}.skill-title-group .title-vn{font-size:1rem;color:var(--text-muted);font-weight:500}.skill-desc-preview{font-size:.9rem;color:var(--text-muted);margin-top:.25rem}.levels-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem}@media(max-width:768px){.levels-grid{grid-template-columns:1fr}}.level-card{background:#ffffff80;border:1px solid var(--card-border);border-radius:14px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%}.level-card.active{background:#fff;border-color:var(--color-rose-glow);box-shadow:var(--shadow-neon)}.level-number{font-size:.75rem;font-weight:800;color:var(--color-rose);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.level-title{font-weight:600;color:var(--text-main);line-height:1.3}.level-short-desc{font-size:.85rem;color:var(--text-muted);line-height:1.4}.modal-nav{display:flex;background:var(--bg-light-accent);padding:.35rem;border-radius:12px;gap:.25rem;margin-bottom:1.5rem}.modal-nav-btn{flex:1;border:none;background:transparent;padding:.65rem 1rem;border-radius:9px;font-size:.9rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:var(--transition-smooth)}.modal-nav-btn.active{background:#fff;color:var(--color-rose);box-shadow:0 4px 12px #5c2e420a}.panel-content{background:#faf7f5;padding:1.5rem;border-radius:16px;border:1px solid var(--card-border)}.list-items{list-style:none}.list-items li{position:relative;padding-left:1.5rem;margin-bottom:.75rem;font-size:.95rem;color:var(--text-main)}.list-items li:last-child{margin-bottom:0}.panel-examples li:before{content:"✓";position:absolute;left:0;color:var(--color-success);font-weight:700}.panel-misleading li:before{content:"⚠";position:absolute;left:0;color:var(--color-amber);font-weight:700}.panel-counter li:before{content:"✗";position:absolute;left:0;color:var(--color-error);font-weight:700}.tab-btn{border:1px solid var(--card-border);background:#fff;color:var(--text-main);padding:.75rem 1.5rem;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:var(--transition-smooth);box-shadow:var(--shadow-premium)}.tab-btn:hover{border-color:#e11d4833;color:var(--color-rose);background:#e11d4805}.tab-btn.active{background:var(--color-rose);color:#fff;border-color:var(--color-rose)}.tab-btn.active:hover{background:#be123c;color:#fff}.app-footer{text-align:center;margin-top:5rem;padding-top:2rem;border-top:1px solid var(--card-border);font-size:.9rem;color:var(--text-dim)}.app-footer a{color:var(--text-muted);text-decoration:none;font-weight:500}.app-footer a:hover{color:var(--color-rose);text-decoration:underline}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
