:root{--primary: #6E7BFE;--primary-end: #67B8EE;--primary-hover: #5768F0;--primary-light: #E8EAFF;--primary-dark: #4554D8;--primary-gradient: linear-gradient(135deg, #6E7BFE 0%, #67B8EE 100%);--secondary: #F0D537;--secondary-light: #FDF7C0;--accent-pink: #F20A9F;--accent-pink-light: #FCE0F3;--success: #10B981;--success-light: #D1FAE5;--error: #EF4444;--error-light: #FEE2E2;--warning: #F59E0B;--warning-light: #FEF3C7;--bg: #F0EEFF;--surface: #FFFFFF;--border: #1A0A40;--border-light: #C5BFEF;--border-focus: #6E7BFE;--text-primary: #1A0A40;--text-secondary: #3D4DB0;--text-muted: #8A96D4;--text-on-primary: #FFFFFF;--radius-sm: 10px;--radius: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--shadow-sm: 2px 2px 0 var(--border);--shadow: 4px 4px 0 var(--border);--shadow-md: 5px 5px 0 var(--border);--shadow-lg: 6px 6px 0 var(--border);--font: "Nunito", system-ui, -apple-system, sans-serif;--font-display: "Fredoka One", "Nunito", sans-serif;--transition: .12s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font);font-size:16px;line-height:1.6;color:var(--text-primary);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg,video{display:block;max-width:100%}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}a{color:var(--primary);text-decoration:none;font-weight:600}a:hover{text-decoration:underline}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.container--narrow{max-width:480px}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:2.5px solid var(--border);padding:1.5rem}.card--lg{padding:2rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.text-center{text-align:center}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-muted{color:var(--text-secondary)}.text-primary-color{color:var(--primary)}.text-success{color:var(--success)}.text-error{color:var(--error)}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.w-full{width:100%}.badge{display:inline-flex;align-items:center;padding:.2rem .7rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:800;line-height:1.2;border:2px solid var(--border);box-shadow:2px 2px 0 var(--border)}.badge--success{background:var(--success-light);color:#065f46}.badge--error{background:var(--error-light);color:#991b1b}.badge--primary{background:var(--primary-light);color:var(--primary-dark)}.badge--warning{background:var(--secondary-light);color:#92400e}input[type=text],input[type=email],input[type=password],input[type=url],input[type=number],textarea,select{border:2.5px solid var(--border);border-radius:var(--radius);padding:.625rem .875rem;font-size:1rem;font-family:var(--font);background:var(--surface);color:var(--text-primary);outline:none;transition:box-shadow var(--transition),border-color var(--transition);width:100%;box-shadow:3px 3px 0 var(--border)}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:3px 3px 0 var(--primary)}button,.btn{font-family:var(--font);font-weight:800;border-radius:var(--radius);border:2.5px solid var(--border);padding:.6rem 1.25rem;font-size:1rem;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition);box-shadow:3px 3px 0 var(--border)}button:hover,.btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--border)}button:active,.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--border)}.btn--primary{background:var(--primary-gradient);color:#fff;border-color:var(--primary-dark);box-shadow:3px 3px 0 var(--primary-dark)}.btn--primary:hover{box-shadow:4px 4px 0 var(--primary-dark)}.btn--pink{background:var(--accent-pink);color:#fff;border-color:#a8006e;box-shadow:3px 3px #a8006e}.btn--pink:hover{box-shadow:4px 4px #a8006e}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounceIn{0%{transform:scale(.75);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1)}}@keyframes wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.animate-fade-in{animation:fadeIn .3s ease both}.animate-slide-up{animation:slideUp .4s ease both}.animate-bounce-in{animation:bounceIn .5s cubic-bezier(.34,1.56,.64,1) both}.animate-wiggle{animation:wiggle .6s ease infinite}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--secondary-light)}::-webkit-scrollbar-thumb{background:var(--primary);border-radius:var(--radius-full);border:2px solid var(--secondary-light)}::-webkit-scrollbar-thumb:hover{background:var(--primary-dark)}
