/* Custom scrollbar */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--color-scrollbar-track); }
::-webkit-scrollbar-thumb { background: var(--color-scrollbar-thumb); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--color-scrollbar-thumb-hover); }
.dark ::-webkit-scrollbar-track { background: var(--color-scrollbar-track-dark); }
.dark ::-webkit-scrollbar-thumb { background: var(--color-scrollbar-thumb-dark); }

/* Shared visual utilities */
.glass {
    background: var(--glass-background);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}
.dark .glass { background: var(--glass-background-dark); border-color: rgba(255, 255, 255, 0.1); }

/* Form controls */
input[type='range'] { -webkit-appearance: none; width: 100%; background: transparent; }
input[type='range']::-webkit-slider-thumb {
    -webkit-appearance: none; width: 16px; height: 16px; margin-top: -6px; cursor: pointer;
    background: var(--color-primary); border-radius: 50%; box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.3);
}
input[type='range']::-webkit-slider-runnable-track {
    width: 100%; height: 4px; cursor: pointer; background: var(--color-slider-track); border-radius: 2px;
}
.dark input[type='range']::-webkit-slider-runnable-track { background: var(--color-slider-track-dark); }
.custom-checkbox input:checked + div { background-color: var(--color-primary); border-color: var(--color-primary); }
.custom-checkbox input:checked + div svg { display: block; }

.gradient-text {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Generated result components */
.result-card { background: #fff; border: 1px solid #e5e7eb; border-radius: .9rem; padding: 1.25rem; box-shadow: 0 4px 14px rgba(15,23,42,.05); }
.dark .result-card { background: #1e293b; border-color: #334155; }
.result-card h3 { font-weight: 700; margin-bottom: .75rem; color: #111827; }.dark .result-card h3 { color:#fff; }
.section-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.result-card button,.link-card button { color:#4f46e5; font-size:.8rem; font-weight:600; }.dark .result-card button,.dark .link-card button { color:#a5b4fc; }
.table-wrap { overflow-x:auto; border:1px solid #e5e7eb; border-radius:.5rem; }.table-wrap table{ width:100%; min-width:540px; border-collapse:collapse; }.table-wrap th{position:sticky;top:0;background:#eef2ff;text-align:left}.table-wrap td,.table-wrap th{padding:.7rem;border-bottom:1px solid #e5e7eb}.table-wrap tbody tr:nth-child(even){background:#f8fafc}.dark .table-wrap tbody tr:nth-child(even){background:#334155}
.toc-panel { position:sticky; top:5rem; align-self:start; }.toc-panel ol{padding-left:1.1rem}.toc-panel a{display:block;padding:.25rem 0;color:#4b5563;font-size:.9rem}.dark .toc-panel a{color:#cbd5e1}.toc-panel a.active{color:#4f46e5;font-weight:700;border-left:3px solid #6366f1;padding-left:.5rem}.toc-h3{margin-left:1rem}.toc-h4{margin-left:2rem}
.faq-item{border-bottom:1px solid #e5e7eb;padding:.7rem 0}.faq-item summary{cursor:pointer;font-weight:600}.faq-item p{padding:.7rem 0 0;color:#4b5563}.dark .faq-item p{color:#cbd5e1}
.link-card{border:1px solid #e5e7eb;border-radius:.65rem;padding:.75rem;margin:.5rem 0}.link-card strong,.link-card span{display:block}.link-card span{font-size:.75rem;color:#6b7280;overflow-wrap:anywhere;margin:.25rem 0}.link-card div{display:flex;gap:1rem;font-size:.8rem}.link-card a{color:#4f46e5;font-weight:600}
.social-card{background:#f8fafc;border-radius:.65rem;padding:1rem}.dark .social-card{background:#334155}.social-card div{display:flex;justify-content:space-between;gap:.5rem}.social-card small{color:#6b7280}.social-card p{white-space:pre-wrap;font-size:.875rem;margin:.7rem 0}
.schema-panel summary{cursor:pointer;font-weight:700;display:flex;justify-content:space-between}.schema-panel summary span{font-size:.75rem;font-weight:400;color:#6b7280}.schema-panel pre{margin:1rem 0;max-height:24rem;overflow:auto;border-radius:.5rem;background:#0f172a;color:#dbeafe;padding:1rem;font-size:.8rem}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.7rem}.analytics-grid div{background:#f8fafc;border-radius:.5rem;padding:.75rem}.dark .analytics-grid div{background:#334155}.analytics-grid dt{font-size:.72rem;color:#6b7280}.analytics-grid dd{font-weight:700;margin-top:.2rem}
@media(max-width:1023px){.toc-panel{position:static}}
