:root{--amber: #fb923c;--amber-dark: #ea6c0a;--coral: #f43f5e;--violet: #8b5cf6;--cyan: #22d3ee;--cyan-dark: #0891b2;--grad: linear-gradient(135deg, #fb923c, #f43f5e, #8b5cf6, #22d3ee);--grad-h: linear-gradient(90deg, #fb923c, #f43f5e, #8b5cf6, #22d3ee);--gold: #fb923c;--gold-dark: #ea6c0a;--gold-light: #fff7ed;--teal: #0891b2;--teal-dark: #0e7490;--teal-light: #cffafe;--purple: #8b5cf6;--red: #ef4444;--green: #10b981;--bg: #fafafa;--card: #ffffff;--ink: #111827;--muted: #6b7280;--line: #e5e7eb;--shadow: 0 4px 20px rgba(0,0,0,.07);--shadow-lg: 0 8px 40px rgba(0,0,0,.11);--radius: 16px;--radius-sm: 10px}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0}body{font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0 0 .5em;line-height:1.15}.wrap{max-width:960px;margin:0 auto;padding:0 20px}.wrap-sm{max-width:480px;margin:0 auto;padding:0 20px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--radius-sm);padding:14px 22px;font:700 16px/1 system-ui,sans-serif;cursor:pointer;transition:transform .1s,opacity .1s}.btn:hover{opacity:.92}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-gold{background:linear-gradient(135deg,var(--amber),var(--coral));color:#fff}.btn-teal{background:linear-gradient(135deg,var(--teal),var(--teal-dark));color:#fff}.btn-brand{background:var(--grad);color:#fff}.btn-ghost{background:transparent;border:2px solid var(--line);color:var(--ink)}.btn-danger{background:var(--red);color:#fff}.btn-lg{padding:18px 28px;font-size:18px;border-radius:14px}.btn-block{width:100%}.input{width:100%;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;font:16px/1 system-ui,sans-serif;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--gold);box-shadow:0 0 0 4px #f59e0b26}.badge{display:inline-block;padding:4px 10px;border-radius:99px;font:700 12px/1.4 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.5px}.badge-free{background:var(--teal-light);color:var(--teal-dark)}.badge-paid{background:var(--gold-light);color:var(--gold-dark)}.badge-easy{background:#dcfce7;color:#15803d}.badge-medium{background:#fef9c3;color:#854d0e}.badge-hard{background:#fee2e2;color:#991b1b}.progress-bar{height:8px;background:var(--line);border-radius:99px;overflow:hidden}.progress-fill{height:100%;background:var(--grad-h);border-radius:99px;transition:width .4s ease}.bgfx{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden;background:radial-gradient(800px 500px at 5% -5%,rgba(251,146,60,.18),transparent 65%),radial-gradient(900px 600px at 110% 15%,rgba(34,211,238,.15),transparent 65%),radial-gradient(700px 400px at 50% 110%,rgba(139,92,246,.12),transparent 65%),linear-gradient(to bottom,#fffbf0,#f8faff)}.site-header{display:flex;align-items:center;justify-content:space-between;padding:20px 0}.logo{display:flex;align-items:center;gap:10px;font:900 28px/1 system-ui,sans-serif;text-decoration:none;background:var(--grad-h);-webkit-background-clip:text;background-clip:text;color:transparent}.site-nav a{color:var(--muted);font-weight:600;margin-left:20px}.site-nav a:hover{color:var(--ink);text-decoration:none}.site-footer{display:flex;justify-content:space-between;align-items:center;padding:32px 0;margin-top:80px;border-top:1px solid var(--line);color:var(--muted);font-size:14px;flex-wrap:wrap;gap:12px}.alert{padding:12px 16px;border-radius:var(--radius-sm);font-size:14px}.alert-error{background:#fee2e2;color:#991b1b}.alert-success{background:#dcfce7;color:#15803d}.alert-info{background:var(--gold-light);color:#92400e}.clue-card{background:linear-gradient(135deg,var(--gold-light),#fff7ed);border:2px solid var(--gold);border-radius:20px;padding:28px}@keyframes bounce-in{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.1)}80%{transform:scale(.95)}to{transform:scale(1);opacity:1}}.bounce-in{animation:bounce-in .5s cubic-bezier(.36,.07,.19,.97) forwards}@keyframes pulse-gold{0%,to{box-shadow:0 0 #f59e0b80}50%{box-shadow:0 0 0 16px #f59e0b00}}.pulse-gold{animation:pulse-gold 1.8s ease-in-out infinite}
