:root{--primary:#2563eb;--primary-hover:#1d4ed8;--primary-light:#eff6ff;--secondary:#4f46e5;--accent:#0ea5e9;--success:#16a34a;--success-light:#f0fdf4;--warning:#d97706;--warning-light:#fffbeb;--danger:#dc2626;--danger-light:#fef2f2;--background:#f8fafc;--surface:#fff;--text-main:#0f172a;--text-body:#334155;--text-muted:#64748b;--border:#e2e8f0;--border-focus:#93c5fd;--code-bg:#0f172a;--code-text:#f8fafc;--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--background);color:var(--text-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.62}h1,h2,h3,h4,h5,h6{color:var(--text-main);letter-spacing:-.015em;font-weight:700;line-height:1.3}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit;transition:all .2s cubic-bezier(.4,0,.2,1)}textarea,input,select{outline:none;font-family:inherit}.container{max-width:1240px;margin:0 auto;padding:1.5rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-bottom:1.5rem;padding:1.5rem;transition:transform .2s,box-shadow .2s,border-color .2s;box-shadow:0 2px 10px #0f172a0a}.card:hover{border-color:#cbd5e1}.card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.btn{border-radius:9px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.15rem;font-size:.88rem;font-weight:600;text-decoration:none;transition:all .18s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 2px 6px #2563eb33}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.btn-secondary{color:#334155;border:1px solid var(--border);background:#f1f5f9}.btn-secondary:hover{color:#0f172a;background:#e2e8f0}.btn-success{background:var(--success);color:#fff;box-shadow:0 2px 6px #16a34a33}.btn-success:hover{background:#15803d;transform:translateY(-1px)}.btn-outline{border:1px solid var(--border);color:#334155;background:#fff}.btn-outline:hover{color:#0f172a;background:#f8fafc;border-color:#94a3b8}.badge{text-transform:uppercase;letter-spacing:.035em;border-radius:9999px;align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.76rem;font-weight:700;line-height:1;display:inline-flex}.badge-blue{color:#1d4ed8;background:#dbeafe;border:1px solid #bfdbfe}.badge-green{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.badge-amber{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.badge-purple{color:#7e22ce;background:#f3e8ff;border:1px solid #e9d5ff}.badge-red{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.terminal{background:var(--code-bg);color:var(--code-text);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;border:1px solid #1e293b;border-radius:10px;max-height:250px;padding:1rem 1.25rem;font-size:.86rem;line-height:1.55;overflow-y:auto}.code-editor{width:100%;font-family:var(--font-mono);color:#f8fafc;resize:vertical;tab-size:4;background:#0f172a;border:1px solid #334155;border-radius:10px;padding:1.15rem;font-size:.9rem;line-height:1.6}.code-inline{color:#0f172a;font-family:var(--font-mono);background:#f1f5f9;border:1px solid #e2e8f0;border-radius:5px;padding:.18rem .45rem;font-size:.88em;font-weight:600}.modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;background:#0f172aa6;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:820px;max-height:90vh;padding:2rem;overflow-y:auto;box-shadow:0 25px 35px -5px #00000040}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media print{body{color:#000;background:#fff}.no-print,nav,.btn,.timer-banner{display:none!important}.card{break-inside:avoid;box-shadow:none!important;border:1px solid #ccc!important}}
