@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";:root{--bg-color:#f8fafc;--bg-gradient:radial-gradient(circle at 50% 0%, #edf2f7 0%, #f8fafc 70%);--card-bg:#ffffffbf;--card-border:#6366f11f;--card-border-hover:#6366f140;--primary:#4f46e5;--primary-hover:#4338ca;--primary-glow:#4f46e526;--primary-gradient:linear-gradient(135deg, #4f46e5 0%, #0ea5e9 100%);--primary-gradient-hover:linear-gradient(135deg, #4338ca 0%, #0284c7 100%);--secondary:#0ea5e9;--secondary-glow:#0ea5e91a;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--success:#10b981;--success-glow:#10b98114;--success-border:#10b98133;--error:#ef4444;--error-glow:#ef444414;--error-border:#ef444433;--warning:#f59e0b;--warning-glow:#f59e0b14;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--transition:all .3s cubic-bezier(.4, 0, .2, 1);--font-main:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Outfit", sans-serif}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg-color);background-image:var(--bg-gradient);color:var(--text-primary);background-attachment:fixed;flex-direction:column;min-height:100vh;display:flex;overflow-x:hidden}#root{flex-direction:column;flex:1;display:flex}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f5f980}::-webkit-scrollbar-thumb{border-radius:var(--radius-sm);background:#4f46e526}::-webkit-scrollbar-thumb:hover{background:#4f46e54d}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);font-weight:700}.glass-panel{background:var(--card-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--card-border);border-radius:var(--radius-md);transition:var(--transition);box-shadow:0 10px 30px #0000000d}.glass-panel:hover{border-color:var(--card-border-hover);box-shadow:0 12px 35px #00000014}.glass-panel-heavy{-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-lg);background:#ffffffeb;border:1px solid #4f46e533;box-shadow:0 20px 50px #0000001a}input[type=text],input[type=number],textarea,select{border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-main);transition:var(--transition);background:#fffffff2;border:1px solid #0000001f;width:100%;min-height:48px;padding:.75rem 1rem;font-size:1rem}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);background:#fff;outline:none}label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.875rem;font-weight:700;display:block}.btn{font-family:var(--font-display);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);border:none;justify-content:center;align-items:center;gap:.5rem;min-height:48px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 14px 0 var(--primary-glow)}.btn-primary:hover:not(:disabled){background:var(--primary-gradient-hover);box-shadow:0 6px 20px 0 var(--primary-glow);transform:translateY(-2px)}.btn-secondary{color:var(--text-primary);background:#00000008;border:1px solid #00000014}.btn-secondary:hover:not(:disabled){background:#0000000f;border-color:#00000026}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){background:#059669;transform:translateY(-2px)}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-2px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-icon{border-radius:50%;width:40px;height:40px;min-height:40px;padding:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%{box-shadow:0 0 #4f46e533}70%{box-shadow:0 0 0 10px #4f46e500}to{box-shadow:0 0 #4f46e500}}.animate-fade-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeIn}.app-container{flex-direction:column;flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem 1.5rem;display:flex}.glow-text{background:linear-gradient(135deg,#0f172a 30%,#4f46e5 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}dialog{background:0 0;border:none;margin:auto;padding:0}dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a66}.drag-container{grid-template-columns:1fr 1fr;gap:2rem;margin-top:1.5rem;display:grid}@media (width<=768px){.drag-container{grid-template-columns:1fr}}.matching-pairs-list{flex-direction:column;gap:1rem;display:flex}.matching-row{grid-template-columns:1fr 1fr;align-items:center;gap:1.5rem;display:grid}.matching-prompt{border-radius:var(--radius-sm);background:#00000005;border:1px solid #0000000f;align-items:center;min-height:64px;padding:1rem;font-weight:600;display:flex}.drop-slot{border-radius:var(--radius-sm);min-height:64px;transition:var(--transition);background:#4f46e505;border:2px dashed #4f46e540;justify-content:center;align-items:center;padding:4px;display:flex;position:relative}.drop-slot.active-hover{border-color:var(--primary);background:#4f46e50f;box-shadow:inset 0 0 10px #4f46e51a}.drop-slot.filled{background:#4f46e508;border-style:solid;border-color:#4f46e559}.draggable-item{background:var(--primary-gradient);border-radius:var(--radius-sm);cursor:grab;-webkit-user-select:none;user-select:none;transition:var(--transition);color:#fff;border:1px solid #ffffff26;justify-content:space-between;align-items:center;gap:.5rem;width:100%;padding:.85rem 1.25rem;font-weight:600;display:flex;box-shadow:0 4px 10px #4f46e526}.draggable-item:active{cursor:grabbing;opacity:.9;transform:scale(.98)}.draggable-item.in-slot{color:var(--text-primary);cursor:pointer;background:#00000008;border:1px solid #00000012}.draggable-item.in-slot:hover{color:var(--error);background:#ef444414;border-color:#ef444433}.draggable-pool{border-radius:var(--radius-md);background:#00000003;border:1px solid #0000000d;flex-flow:wrap;align-content:flex-start;gap:1rem;min-height:120px;padding:1.5rem;display:flex}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
