@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Fredoka+One&family=Nunito:wght@400;600;700;800&display=swap";:root{--bg: #F2F4FB;--surface: #FFFFFF;--surface-2: #EDF0FF;--surface-3: #E2E7FF;--border: #CBD5FF;--border-hi: #9AA5F5;--yellow: #FFD600;--yellow-dim: rgba(255,214,0,.15);--pink: #FF4081;--cyan: #00BCD4;--green: #00C853;--red: #FF5252;--purple: #7C3AED;--blue: #2196F3;--text: #1A1A2E;--text-muted: #6B7280;--font-d: "Fredoka One", cursive;--font-b: "Nunito", sans-serif;--font-u: "Nunito", sans-serif;--shadow-card: 0 2px 12px rgba(124,58,237,.1), 0 1px 3px rgba(0,0,0,.06);--shadow-card-hover: 0 8px 28px rgba(124,58,237,.18), 0 2px 8px rgba(0,0,0,.08);--shadow-btn: 0 4px 12px rgba(0,0,0,.15);--shadow-topbar: 0 2px 8px rgba(0,0,0,.07)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{background:var(--bg);color:var(--text);font-family:var(--font-b);min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--surface-2)}::-webkit-scrollbar-thumb{background:var(--border-hi);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--purple)}input,button,textarea{font-family:var(--font-b);outline:none}a{color:inherit;text-decoration:none}button{cursor:pointer}@keyframes glitch{0%,88%,to{transform:none;text-shadow:none}90%{transform:translate(-3px);text-shadow:3px 0 var(--cyan)}92%{transform:translate(3px);text-shadow:-3px 0 var(--pink)}94%{transform:translate(-1px);text-shadow:none}96%{transform:translate(2px);text-shadow:2px 0 var(--yellow)}}@keyframes slideUp{0%{transform:translateY(28px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes popIn{0%{transform:scale(.85);opacity:0}65%{transform:scale(1.04)}to{transform:scale(1);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes scoreFlash{0%{color:var(--yellow);transform:scale(1.5)}to{color:var(--text);transform:scale(1)}}@keyframes timerShrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes pulseBorder{0%,to{box-shadow:0 4px 20px #7c3aed26}50%{box-shadow:0 8px 30px #7c3aed4d}}@keyframes marqueeLeft{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.dq-card{background:var(--surface);border:1.5px solid var(--border);border-radius:16px;box-shadow:var(--shadow-card);transition:box-shadow .2s,transform .2s,border-color .2s}.dq-card:hover{box-shadow:var(--shadow-card-hover);border-color:var(--border-hi);transform:translateY(-2px)}.dq-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.8rem;border:none;border-radius:12px;background:var(--purple);color:#fff;font-family:var(--font-u);font-weight:700;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:all .18s;box-shadow:var(--shadow-btn);position:relative;overflow:hidden}.dq-btn:hover{background:#6d28d9;transform:translateY(-2px);box-shadow:0 6px 18px #7c3aed59}.dq-btn:active{transform:translateY(0)}.dq-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.dq-btn-pink{background:var(--pink)}.dq-btn-pink:hover{background:#e6005a;box-shadow:0 6px 18px #ff408159}.dq-btn-cyan{background:var(--cyan);color:#fff}.dq-btn-cyan:hover{background:#0097a7;box-shadow:0 6px 18px #00bcd459}.dq-input{width:100%;padding:.85rem 1.1rem;background:var(--surface-2);border:2px solid var(--border);border-radius:12px;color:var(--text);font-family:var(--font-b);font-size:.95rem;transition:border-color .15s,box-shadow .15s}.dq-input:focus{border-color:var(--purple);box-shadow:0 0 0 3px #7c3aed1f}.dq-input::placeholder{color:var(--text-muted)}.dq-label{font-family:var(--font-u);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);display:block;margin-bottom:.45rem}.dq-error{font-family:var(--font-u);font-size:.8rem;color:var(--red);letter-spacing:.02em;margin-top:.4rem;display:flex;align-items:center;gap:.4rem}.anim-slide{animation:slideUp .35s ease both}.anim-pop{animation:popIn .3s cubic-bezier(.34,1.56,.64,1) both}.anim-fade{animation:fadeIn .3s ease both}
