@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--brand-blue: #3B82F6;--brand-blue-hover: #2563EB;--brand-blue-light: #60A5FA;--brand-dark: #09090B;--success: #22C55E;--success-hover: #16A34A;--warning: #F59E0B;--danger: #EF4444;--info: #0EA5E9;--zinc-50: #FAFAFA;--zinc-100: #F4F4F5;--zinc-200: #E4E4E7;--zinc-300: #D4D4D8;--zinc-400: #A1A1AA;--zinc-500: #71717A;--zinc-600: #52525B;--zinc-700: #3F3F46;--zinc-800: #27272A;--zinc-900: #18181B;--zinc-950: #09090B;--slate-50: #F8FAFC;--slate-100: #F1F5F9;--slate-200: #E2E8F0;--slate-300: #CBD5E1;--slate-400: #94A3B8;--slate-500: #64748B;--slate-600: #475569;--slate-700: #334155;--slate-800: #1E293B;--slate-900: #0F172A;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Consolas", "Monaco", monospace;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.7;--spacing-0: 0;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-3xl: 2rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-glow-blue: 0 0 20px rgba(59, 130, 246, .3);--shadow-glow-green: 0 0 20px rgba(34, 197, 94, .3);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-modal: 1000;--z-toast: 10000;--bg-app: var(--zinc-950);--bg-surface: var(--slate-800);--bg-elevated: var(--slate-800);--bg-hover: var(--zinc-900);--text-primary: var(--slate-50);--text-secondary: var(--slate-400);--text-tertiary: var(--slate-500);--border-subtle: rgba(255, 255, 255, .05);--border-medium: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .2);--accent-color: var(--brand-blue);--accent-glow: rgba(59, 130, 246, .2)}.light-theme,[data-theme=light]{--bg-app: var(--slate-50);--bg-surface: #FFFFFF;--bg-elevated: #FFFFFF;--bg-hover: var(--slate-100);--text-primary: var(--slate-900);--text-secondary: var(--slate-600);--text-tertiary: var(--slate-500);--border-subtle: rgba(0, 0, 0, .05);--border-medium: rgba(0, 0, 0, .1);--border-strong: rgba(0, 0, 0, .2);--accent-glow: rgba(59, 130, 246, .15);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .15)}*{margin:0;padding:0;box-sizing:border-box}html{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg-app);color:var(--text-primary);line-height:var(--leading-normal);transition:background-color var(--transition-base),color var(--transition-base)}.font-sans{font-family:var(--font-sans)}.font-mono{font-family:var(--font-mono)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.bg-surface{background-color:var(--bg-surface)}.bg-elevated{background-color:var(--bg-elevated)}.border-subtle{border-color:var(--border-subtle)}.border-medium{border-color:var(--border-medium)}.border-strong{border-color:var(--border-strong)}.icon-row{display:flex;justify-content:center;gap:1rem;margin-top:.5rem;padding-top:.5rem;border-top:none}.icon-btn{width:40px;height:40px;border-radius:50%;border:2px solid currentColor;background:transparent;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.icon-btn svg{width:20px;height:20px}.icon-btn.icon-blue{color:#0ea5e9}.icon-btn.icon-green{color:#22c55e}.icon-btn.icon-red{color:#ef4444}.icon-btn:hover{background:currentColor;transform:scale(1.1)}.icon-btn:hover svg{stroke:#fff}.ecosystem-footer{margin-top:.5rem;padding-top:.5rem;padding-bottom:.5rem;border-top:none;text-align:center;font-size:.65rem;color:var(--text-secondary, #6B7280);line-height:1.4}.ecosystem-footer a{color:var(--accent-color, #6366F1);text-decoration:none;font-weight:600}.ecosystem-footer a:hover{opacity:.8;text-decoration:underline}.updates-modal-overlay{position:fixed;inset:0;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;transition:opacity .3s ease}.updates-modal-overlay.hidden{display:none}.updates-card{background:linear-gradient(135deg,#1e293bf2,#0f172afa);border-radius:16px;border:1px solid rgba(148,163,184,.1);box-shadow:0 25px 50px -12px #00000080;width:100%;max-width:600px;overflow:hidden;display:flex;flex-direction:column}.updates-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem 2rem;border-bottom:1px solid rgba(148,163,184,.1)}.updates-title h2{font-size:1.75rem;font-weight:700;color:#f1f5f9;margin:0 0 .25rem;display:flex;align-items:center;gap:.5rem}.updates-subtitle{font-size:.9rem;color:#94a3b8}.updates-back-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:8px;color:#60a5fa;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.updates-back-btn:hover{background:#3b82f633;border-color:#3b82f680}.updates-content{padding:1.5rem 2rem;overflow-y:auto;max-height:60vh}.updates-footer{padding:.75rem 2rem;border-top:1px solid #334155}.timeline{position:relative;padding-left:24px}.timeline:before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,#0ea5e9,#6366f1);border-radius:1px}.timeline-item{position:relative;margin-bottom:1.5rem}.timeline-item:last-child{margin-bottom:0}.timeline-dot{position:absolute;left:-24px;top:4px;width:14px;height:14px;background:#0ea5e9;border-radius:50%;border:3px solid #1E293B;box-shadow:0 0 0 2px #0ea5e94d}.timeline-item:first-child .timeline-dot{background:#22c55e;box-shadow:0 0 0 2px #22c55e4d}.timeline-version-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.timeline-version{font-size:1.1rem;font-weight:700;color:#f1f5f9}.timeline-date{font-size:.85rem;color:#64748b}.timeline-list{list-style:none;padding:0;margin:0}.timeline-list li{font-size:.9rem;color:#cbd5e1;padding:.25rem 0 .25rem 1rem;position:relative}.timeline-list li:before{content:"•";position:absolute;left:0;color:#64748b}.help-content{padding:1rem 2rem}.help-section{margin-bottom:1.5rem}.help-section:last-child{margin-bottom:0}.help-heading{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:600;color:#f1f5f9;margin:0 0 .75rem}.help-heading svg{color:#0ea5e9}.help-text{font-size:.9rem;color:#cbd5e1;line-height:1.6;margin:0}.help-list{list-style:none;padding:0;margin:0}.help-list li{font-size:.9rem;color:#cbd5e1;padding:.35rem 0 .35rem 1rem;position:relative}.help-list li:before{content:"→";position:absolute;left:0;color:#0ea5e9}.help-list strong{color:#f1f5f9}.text-btn.subtle{background:transparent;border:none;color:#475569;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:all .2s ease}.text-btn.subtle:hover{color:#94a3b8;background:#94a3b81a}@media (max-width: 640px){.updates-card{max-width:100%;margin:.5rem}.updates-header{padding:1rem 1.25rem;flex-direction:column;gap:1rem}.updates-content,.help-content{padding:1rem 1.25rem}.updates-title h2{font-size:1.4rem}}.admin-login,.admin-dashboard{width:100%;max-width:500px;padding:1.5rem}.admin-login h3,.admin-dashboard h3{margin:0 0 1rem;font-size:1rem;font-weight:600;color:#f1f5f9;white-space:nowrap}.admin-login .filter-input{width:100%;padding:.75rem 1rem;margin-bottom:.75rem;background:#0f172acc;border:1px solid rgba(148,163,184,.2);border-radius:8px;color:#f1f5f9;font-size:.9rem}.admin-login .filter-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.admin-login .action-btn{width:100%;padding:.75rem 1rem;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.admin-login .action-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.admin-login .action-btn.secondary{background:transparent;border:1px solid rgba(148,163,184,.3);color:#94a3b8}.admin-login .action-btn.secondary:hover{background:#94a3b81a}.admin-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.admin-header h3{flex:1;margin:0}.tool-btn{padding:.5rem .75rem;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:6px;color:#60a5fa;font-size:.8rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.25rem}.tool-btn:hover{background:#3b82f633;border-color:#3b82f680}.admin-stats-compact{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.stats-row{display:flex;align-items:center;gap:1rem;padding:.5rem .75rem;background:#0f172a99;border-radius:8px;border:1px solid rgba(148,163,184,.1)}.row-label{display:flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:500;color:#64748b;min-width:85px;text-transform:uppercase;letter-spacing:.5px}.row-label svg{color:#64748b}.stat-mini{display:flex;flex-direction:column;align-items:center;padding:0 .5rem}.stat-val{font-size:1.1rem;font-weight:700;color:#f1f5f9}.stat-val.text-primary{color:#3b82f6}.stat-val.text-info{color:#0ea5e9}.stat-val.text-success{color:#22c55e}.stat-val.text-danger{color:#ef4444}.stat-lbl{font-size:.65rem;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.admin-logs-container{margin-top:1rem}.admin-logs-container h4{font-size:.85rem;font-weight:600;color:#94a3b8;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.5px}.admin-logs{max-height:150px;overflow-y:auto;background:#0f172a99;border-radius:8px;border:1px solid rgba(148,163,184,.1)}.log-entry{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-bottom:1px solid rgba(148,163,184,.1)}.log-entry:last-child{border-bottom:none}.log-time{font-size:.75rem;color:#64748b;font-family:monospace}.log-vote{display:flex;align-items:center}.log-comment{flex:1;font-size:.8rem;color:#cbd5e1}.no-logs{padding:1rem;text-align:center;color:#64748b;font-size:.85rem}.glass-panel{background:linear-gradient(135deg,#1e293bf2,#0f172afa);border-radius:16px;border:1px solid rgba(148,163,184,.1);box-shadow:0 25px 50px -12px #00000080}.admin-toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%) translateY(20px);padding:.75rem 1.5rem;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-size:.875rem;font-weight:500;border-radius:8px;box-shadow:0 10px 25px #0000004d;opacity:0;transition:opacity .3s ease,transform .3s ease;z-index:10000;pointer-events:none}.admin-toast.visible{opacity:1;transform:translate(-50%) translateY(0)}.admin-toast.hidden{display:none}.admin-toast.error{background:linear-gradient(135deg,#ef4444,#dc2626)}.tool-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .65rem;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:6px;color:#60a5fa;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.tool-btn:hover{background:#3b82f633;border-color:#3b82f680;transform:translateY(-1px)}.tool-btn:active{transform:translateY(0)}.tool-btn svg{flex-shrink:0}@media (prefers-color-scheme: light){.admin-toast{box-shadow:0 10px 25px #00000026}.tool-btn{background:#3b82f614;border-color:#3b82f640;color:#2563eb}.tool-btn:hover{background:#3b82f626;border-color:#3b82f666}}.feedback-popup-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;opacity:1;transition:opacity .2s ease}.feedback-popup-overlay.hidden{opacity:0;pointer-events:none}.feedback-popup{width:90%;max-width:400px;background:linear-gradient(135deg,#1e293bfa,#0f172afc);border-radius:16px;border:1px solid rgba(148,163,184,.15);box-shadow:0 25px 50px -12px #00000080;overflow:hidden;transform:scale(1);transition:transform .2s ease}.feedback-popup-overlay.hidden .feedback-popup{transform:scale(.95)}.feedback-popup-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid rgba(148,163,184,.1)}.feedback-popup-header span{font-size:1rem;font-weight:600;color:#f1f5f9}.feedback-popup-close{background:transparent;border:none;cursor:pointer;padding:.25rem;border-radius:6px;color:#64748b;transition:all .2s ease}.feedback-popup-close:hover{background:#ef44441a;color:#ef4444}.feedback-popup-body{padding:1.25rem}.feedback-input{width:100%;padding:.75rem 1rem;background:#0f172acc;border:1px solid rgba(148,163,184,.2);border-radius:8px;color:#f1f5f9;font-size:.9rem;margin-bottom:1rem;transition:border-color .2s ease}.feedback-input:focus{outline:none;border-color:#3b82f680}.feedback-input::placeholder{color:#64748b}.feedback-popup-actions{display:flex;justify-content:flex-end}.feedback-submit-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.feedback-submit-btn:hover{background:linear-gradient(135deg,#60a5fa,#3b82f6);transform:translateY(-1px)}.feedback-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.feedback-thanks{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1rem 0;color:#22c55e;font-size:1rem;font-weight:500}[data-theme=light] .feedback-popup{background:linear-gradient(135deg,#fffffffa,#f8fafcfc);border-color:#94a3b840;box-shadow:0 25px 50px -12px #00000026}[data-theme=light] .feedback-popup-header{border-bottom-color:#94a3b833}[data-theme=light] .feedback-popup-header span{color:#1e293b}[data-theme=light] .feedback-popup-close{color:#94a3b8}[data-theme=light] .feedback-input{background:#f1f5f9cc;border-color:#94a3b84d;color:#1e293b}[data-theme=light] .feedback-input::placeholder{color:#94a3b8}.hidden{display:none!important}.app-container{min-height:100vh;display:flex;flex-direction:column}.sticky-chrome{position:sticky;top:0;z-index:210;background:var(--bg-app)}.app-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border-subtle)}.header-left{display:flex;align-items:center;gap:.75rem}.app-logo{width:36px;height:36px;background:var(--brand-blue);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-weight:var(--font-extrabold);font-size:var(--text-lg);color:#fff;filter:drop-shadow(0 0 8px rgba(59,130,246,.4))}.app-name{font-size:var(--text-xl);font-weight:var(--font-extrabold);letter-spacing:-.02em;color:var(--text-primary)}.app-name .domain{color:var(--brand-blue)}.header-right{display:flex;align-items:center;gap:.75rem}.top-nav{display:flex;align-items:center;padding:0 1.5rem;border-bottom:1px solid var(--border-subtle)}.nav-hamburger{display:none;background:transparent;border:none;cursor:pointer;padding:.5rem;color:var(--text-secondary);border-radius:var(--radius-md)}.nav-hamburger:hover{color:var(--text-primary);background:#ffffff0d}.nav-menu{display:flex;list-style:none;padding:0;margin:0;gap:0}.nav-item{position:relative}.nav-link{display:flex;align-items:center;gap:.3rem;padding:.7rem 1rem;background:transparent;border:none;color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:color var(--transition-base);white-space:nowrap}.nav-link:hover,.nav-item.active>.nav-link{color:var(--text-primary)}.nav-item.active>.nav-link{color:var(--brand-blue)}.nav-chevron{transition:transform var(--transition-base);opacity:.5}.nav-item:hover>.nav-link .nav-chevron,.nav-item.open>.nav-link .nav-chevron{transform:rotate(180deg);opacity:1}.nav-dropdown{display:none;position:absolute;top:100%;left:0;min-width:200px;list-style:none;padding:.35rem 0;margin:0;background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:var(--z-dropdown)}@media (hover: hover){.nav-item.has-dropdown:hover>.nav-dropdown{display:block}}.nav-item.has-dropdown.open>.nav-dropdown{display:block}.nav-dropdown-link{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;color:var(--text-secondary);text-decoration:none;font-size:var(--text-sm);font-weight:var(--font-medium);transition:color var(--transition-base),background var(--transition-base);border-radius:0}.nav-dropdown-link:hover{color:var(--text-primary);background:#3b82f60f}.nav-dropdown-link.active{color:var(--brand-blue);background:#3b82f614}.nav-dropdown-link.soon{opacity:.5;pointer-events:none}.nav-link-plain{text-decoration:none}.nav-badge-soon{font-size:.6rem;padding:.1rem .35rem;background:#f59e0b26;color:var(--warning);border-radius:var(--radius-full);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.3px}[data-theme=light] .nav-dropdown{background:#fff;border-color:#94a3b833;box-shadow:0 10px 25px #00000014}[data-theme=light] .nav-dropdown-link:hover{background:#3b82f60a}[data-theme=light] .nav-hamburger:hover{background:#0000000a}@media (max-width: 768px){.nav-hamburger{display:flex;align-items:center;justify-content:center}.nav-menu{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--bg-surface);border-bottom:1px solid var(--border-medium);box-shadow:var(--shadow-lg);padding:.5rem 0;z-index:var(--z-dropdown)}.nav-menu.open{display:flex}.nav-dropdown{position:static;border:none;box-shadow:none;background:transparent;padding-left:1rem;min-width:auto}.nav-item.has-dropdown:hover>.nav-dropdown{display:none}.nav-item.has-dropdown.open>.nav-dropdown{display:block}[data-theme=light] .nav-menu{background:#fff}}.header-icons{display:flex;align-items:center;gap:.5rem}.header-icon-btn{background:transparent;border:none;cursor:pointer;padding:.35rem;border-radius:var(--radius-md);color:var(--text-tertiary);transition:color var(--transition-base),background var(--transition-base);display:flex;align-items:center;justify-content:center}.header-icon-btn:hover{color:var(--brand-blue);background:#3b82f614}.header-icon-btn svg{width:16px;height:16px}.feedback-bar{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem 1rem;border-top:1px solid var(--border-subtle)}.feedback-prompt{font-size:var(--text-sm);color:var(--text-secondary);font-weight:var(--font-medium)}.feedback-icon-btn{background:transparent;border:none;cursor:pointer;padding:.4rem;border-radius:var(--radius-md);color:var(--text-tertiary);transition:color var(--transition-base),transform var(--transition-base),background var(--transition-base);display:flex;align-items:center;justify-content:center}.feedback-icon-btn:hover{transform:scale(1.15);background:#ffffff0d}.feedback-icon-btn:first-of-type:hover{color:var(--success)}.feedback-icon-btn:last-of-type:hover{color:var(--danger)}.feedback-icon-btn svg{width:18px;height:18px}.main-content{flex:1;max-width:1200px;margin:0 auto;padding:2rem 1.5rem;width:100%}.search-section{text-align:center;margin-bottom:2rem}.search-section h1{font-size:var(--text-3xl);font-weight:var(--font-extrabold);letter-spacing:-.025em;margin-bottom:.5rem;color:var(--text-primary)}.search-section .subtitle{font-size:var(--text-base);color:var(--text-secondary);margin-bottom:1.5rem}.search-bar{position:relative;max-width:600px;margin:0 auto}.search-bar>svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-tertiary);width:20px;height:20px;pointer-events:none}.search-input{width:100%;padding:.875rem 2.5rem .875rem 2.75rem;background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-xl);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.search-input::placeholder{color:var(--text-tertiary)}.search-input:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px var(--accent-glow)}.search-clear{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;padding:.3rem;border-radius:var(--radius-full);color:var(--text-tertiary);transition:color var(--transition-base),background var(--transition-base);display:flex;align-items:center;justify-content:center}.search-clear:hover{color:var(--text-primary);background:#ffffff14}.search-results-count{font-size:var(--text-sm);color:var(--text-tertiary);margin-top:.75rem}.filter-chips{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:2rem}.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-full);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-base);user-select:none;white-space:nowrap}.chip:hover{border-color:var(--brand-blue);color:var(--brand-blue);background:#3b82f614}.chip.active{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}.chip .chip-icon{font-size:var(--text-base);line-height:1}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.port-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.25rem;cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.port-card:hover{border-color:var(--border-medium);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.port-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.port-number{font-size:var(--text-2xl);font-weight:var(--font-extrabold);font-family:var(--font-mono);color:var(--text-primary);line-height:1}.port-protocol{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .5rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);font-family:var(--font-mono);text-transform:uppercase;background:#3b82f61a;color:var(--brand-blue-light);border:1px solid rgba(59,130,246,.2)}.port-service{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:.25rem}.port-description{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.port-meta{display:flex;align-items:center;gap:.5rem;margin-top:.75rem}.severity-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.severity-dot.critical{background:var(--danger);box-shadow:0 0 6px #ef444480}.severity-dot.high{background:#f97316;box-shadow:0 0 6px #f9731666}.severity-dot.medium{background:var(--warning)}.severity-dot.low{background:var(--success)}.severity-dot.info{background:var(--zinc-500)}.severity-label{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.port-categories{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.category-tag{font-size:.65rem;padding:.1rem .4rem;background:#ffffff0d;border-radius:var(--radius-sm);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px}.card-detail-overlay{position:fixed;inset:0;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:1rem;opacity:1;transition:opacity .2s ease}.card-detail-overlay.hidden{display:none;opacity:0}.card-detail{background:linear-gradient(135deg,#1e293bf2,#0f172afa);border-radius:var(--radius-xl);border:1px solid rgba(148,163,184,.1);box-shadow:0 25px 50px -12px #00000080;width:100%;max-width:720px;max-height:85vh;overflow-y:auto;display:flex;flex-direction:column}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem 2rem;border-bottom:1px solid rgba(148,163,184,.1)}.detail-port-info{display:flex;align-items:center;gap:1rem}.detail-port-number{font-size:var(--text-4xl);font-weight:var(--font-extrabold);font-family:var(--font-mono);color:var(--text-primary);line-height:1}.detail-service-name{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary)}.detail-protocol-badge{display:inline-block;padding:.15rem .5rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-family:var(--font-mono);font-weight:var(--font-semibold);background:#3b82f626;color:var(--brand-blue-light);text-transform:uppercase}.detail-close-btn{background:transparent;border:none;cursor:pointer;padding:.5rem;border-radius:var(--radius-md);color:var(--text-tertiary);transition:all .2s ease}.detail-close-btn:hover{background:#ef44441a;color:var(--danger)}.detail-body{padding:1.5rem 2rem;display:flex;flex-direction:column;gap:1.5rem}.detail-section h3{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.detail-section h3 svg{width:16px;height:16px;color:var(--brand-blue-light)}.detail-description{font-size:var(--text-base);color:var(--text-primary);line-height:var(--leading-relaxed)}.detail-layer-badge{display:inline-block;margin-top:.5rem;padding:.2rem .6rem;background:#0ea5e91a;border:1px solid rgba(14,165,233,.2);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--info);font-weight:var(--font-medium)}.vuln-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.vuln-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;background:#0f172a99;border-radius:var(--radius-md);border:1px solid rgba(148,163,184,.1)}.vuln-severity{padding:.15rem .4rem;border-radius:var(--radius-sm);font-size:.65rem;font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.vuln-severity.critical{background:#ef444426;color:var(--danger)}.vuln-severity.high{background:#f9731626;color:#f97316}.vuln-severity.medium{background:#f59e0b26;color:var(--warning)}.vuln-name{font-size:var(--text-sm);color:#cbd5e1;flex:1}.vuln-cve{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--text-tertiary)}.detail-actions{display:flex;flex-wrap:wrap;gap:.5rem}.action-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .85rem;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-base);border:1px solid}.action-btn.primary{background:#3b82f61a;border-color:#3b82f64d;color:var(--brand-blue-light)}.action-btn.primary:hover{background:#3b82f633;border-color:#3b82f680;transform:translateY(-1px)}.action-btn.external{background:#94a3b80d;border-color:#94a3b833;color:var(--text-secondary);text-decoration:none}.action-btn.external:hover{background:#94a3b81a;border-color:#94a3b84d;transform:translateY(-1px)}.action-btn svg{width:14px;height:14px;flex-shrink:0}.copied-toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%) translateY(20px);padding:.6rem 1.25rem;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-size:var(--text-sm);font-weight:var(--font-medium);border-radius:var(--radius-md);box-shadow:0 10px 25px #0000004d;opacity:0;transition:opacity .3s ease,transform .3s ease;z-index:var(--z-toast);pointer-events:none}.copied-toast.visible{opacity:1;transform:translate(-50%) translateY(0)}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle)}.page-btn{padding:.4rem .75rem;background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base)}.page-btn:hover:not(:disabled){border-color:var(--brand-blue);color:var(--brand-blue)}.page-btn.active{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-size-select{padding:.35rem .5rem;background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);font-family:var(--font-sans);cursor:pointer;margin-left:1rem}.privacy-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;background:#22c55e14;border:1px solid rgba(34,197,94,.2);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--success);font-weight:var(--font-medium)}.privacy-badge .status-dot{width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 4px #22c55e80}.app-footer{text-align:center;padding:1.5rem;border-top:1px solid var(--border-subtle);color:var(--text-tertiary);font-size:var(--text-xs)}.app-footer p{margin-bottom:.35rem}.app-footer a{color:var(--brand-blue);text-decoration:none;font-weight:var(--font-semibold)}.app-footer a:hover{text-decoration:underline;opacity:.8}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-tertiary)}.empty-state svg{width:48px;height:48px;margin-bottom:1rem;opacity:.5}.empty-state h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-secondary);margin-bottom:.5rem}.empty-state p{font-size:var(--text-sm)}[data-theme=light] .port-card{box-shadow:var(--shadow-sm)}[data-theme=light] .port-card:hover{box-shadow:var(--shadow-lg)}[data-theme=light] .card-detail{background:linear-gradient(135deg,#fffffffa,#f8fafcfc);border-color:#94a3b833}[data-theme=light] .detail-header{border-bottom-color:#94a3b833}[data-theme=light] .vuln-item{background:#f1f5f9cc;border-color:#94a3b826}[data-theme=light] .vuln-name{color:var(--slate-700)}[data-theme=light] .category-tag{background:#0000000a}[data-theme=light] .updates-card,[data-theme=light] .glass-panel{background:linear-gradient(135deg,#fffffffa,#f8fafcfc);border-color:#94a3b840;box-shadow:0 25px 50px -12px #00000026}[data-theme=light] .updates-header{border-bottom-color:#94a3b833}[data-theme=light] .updates-title h2{color:var(--slate-900)}[data-theme=light] .updates-subtitle{color:var(--slate-500)}[data-theme=light] .timeline-version{color:var(--slate-900)}[data-theme=light] .timeline-list li{color:var(--slate-700)}[data-theme=light] .timeline-dot{border-color:#fff}[data-theme=light] .updates-footer{border-top-color:#94a3b833!important}[data-theme=light] .updates-footer div{color:var(--slate-600)!important}[data-theme=light] .help-heading{color:var(--slate-900)}[data-theme=light] .help-text,[data-theme=light] .help-list li{color:var(--slate-700)}[data-theme=light] .help-list strong{color:var(--slate-900)}[data-theme=light] .updates-back-btn{color:var(--brand-blue);background:#3b82f60f;border-color:#3b82f633}[data-theme=light] .updates-back-btn:hover{background:#3b82f61f}.feedback-popup-overlay.hidden{display:none!important}[data-theme=light] .admin-login .filter-input{background:#f1f5f9cc;border-color:#94a3b84d;color:var(--slate-900)}[data-theme=light] .admin-login h3,[data-theme=light] .admin-dashboard h3{color:var(--slate-900)}[data-theme=light] .stats-row{background:#f1f5f999;border-color:#94a3b826}[data-theme=light] .stat-val{color:var(--slate-900)}[data-theme=light] .text-btn.subtle{color:var(--slate-400)}[data-theme=light] .text-btn.subtle:hover{color:var(--slate-600);background:#94a3b81a}.tool-input{width:100%;padding:.75rem 1rem;background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-base);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.tool-input::placeholder{color:var(--text-tertiary);font-family:var(--font-sans)}.tool-input:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px var(--accent-glow)}.tool-calc-btn{padding:.75rem 1.5rem;background:var(--brand-blue);border:none;border-radius:var(--radius-md);color:#fff;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:background var(--transition-base),transform var(--transition-base);white-space:nowrap;align-self:flex-end}.tool-calc-btn:hover{background:var(--brand-blue-hover);transform:translateY(-1px)}.tool-error{padding:.75rem 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);color:var(--danger);font-size:var(--text-sm);margin-bottom:1rem}.subnet-tool{max-width:700px;margin:0 auto 2rem}.subnet-input-row{display:flex;align-items:flex-end;gap:.75rem;margin-bottom:1rem}.subnet-field{flex:1}.subnet-field label{display:block;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.35rem}.subnet-field-sep{flex:0;font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-tertiary);padding-bottom:.5rem;align-self:flex-end}.subnet-presets{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-bottom:1.5rem}.presets-label{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:var(--font-medium);margin-right:.25rem}.preset-btn{padding:.2rem .5rem;background:transparent;border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-xs);font-family:var(--font-mono);cursor:pointer;transition:all var(--transition-base)}.preset-btn:hover{border-color:var(--brand-blue);color:var(--brand-blue);background:#3b82f60f}.wc-input-tabs{display:flex;gap:0;border:1px solid var(--border-medium);border-radius:var(--radius-md);overflow:hidden;width:fit-content}.wc-tab{padding:.5rem 1rem;background:transparent;border:none;border-right:1px solid var(--border-medium);color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.wc-tab:last-child{border-right:none}.wc-tab:hover{color:var(--text-primary);background:#3b82f60a}.wc-tab.active{background:var(--brand-blue);color:#fff}@media (max-width: 768px){.wc-input-tabs{width:100%}.wc-tab{flex:1;text-align:center;font-size:var(--text-xs);padding:.5rem}}.results-actions{display:flex;gap:.5rem;margin-bottom:1rem}.subnet-results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.5rem}.result-item{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;min-width:0}.result-label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px;min-width:110px;flex-shrink:0}.result-value{flex:1;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);overflow-wrap:break-word;word-break:break-all;min-width:0}.result-value.mono{font-family:var(--font-mono)}.result-value.small{font-size:var(--text-xs)}.result-copy{background:transparent;border:none;cursor:pointer;padding:.25rem;border-radius:var(--radius-sm);color:var(--text-tertiary);transition:color var(--transition-base);flex-shrink:0}.result-copy:hover{color:var(--brand-blue)}.subnet-reference{max-width:700px;margin:2rem auto 0}.reference-title{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:1rem}.reference-table-wrap{overflow-x:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.reference-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.reference-table th{padding:.6rem .85rem;text-align:left;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border-medium);background:#ffffff05}.reference-table td{padding:.5rem .85rem;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle)}.reference-table td.mono{font-family:var(--font-mono);font-size:var(--text-xs)}.reference-table tr:last-child td{border-bottom:none}.reference-table tr:hover td{background:#3b82f608}[data-theme=light] .reference-table th{background:#00000005}[data-theme=light] .result-item{box-shadow:var(--shadow-sm)}.spf-section{margin-bottom:1.25rem}.spf-label{display:block;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:.35rem}.spf-hint{font-size:var(--text-xs);color:var(--text-tertiary);margin-bottom:.5rem;margin-top:.2rem}.spf-textarea{font-family:var(--font-mono);font-size:var(--text-sm);resize:vertical;min-height:60px}.spf-provider-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.4rem}.spf-checkbox{display:flex;align-items:center;gap:.5rem;padding:.45rem .65rem;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-base)}.spf-checkbox:hover{background:#3b82f60a}.spf-checkbox input[type=checkbox]{accent-color:var(--brand-blue);flex-shrink:0}.spf-checkbox-label{font-size:var(--text-sm);color:var(--text-secondary)}.spf-checkbox code{font-family:var(--font-mono);font-size:.8em;padding:.1rem .3rem;background:#3b82f614;border-radius:3px;color:var(--brand-blue-light)}[data-theme=light] .spf-checkbox code{color:var(--brand-blue-hover);background:#3b82f60f}.spf-policy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.5rem}.spf-radio{display:flex;align-items:flex-start;gap:.5rem;padding:.65rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-base),background var(--transition-base)}.spf-radio:hover{border-color:var(--border-medium)}.spf-radio:has(input:checked){border-color:var(--brand-blue);background:#3b82f60a}.spf-radio input[type=radio]{accent-color:var(--brand-blue);margin-top:.15rem;flex-shrink:0}.spf-radio-body{display:flex;flex-direction:column;gap:.15rem}.spf-radio-label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.spf-radio-desc{font-size:var(--text-xs);color:var(--text-tertiary)}.spf-result-card{border:1px solid var(--border-medium);border-radius:var(--radius-lg);overflow:hidden}.spf-result-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border-subtle)}.spf-result-title{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--text-primary)}.spf-record-display{padding:1rem 1.25rem;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--success);background:#22c55e0a;word-break:break-all;line-height:1.6;border-bottom:1px solid var(--border-subtle)}.spf-dns-entry{padding:.75rem 1.25rem;border-bottom:1px solid var(--border-subtle)}.spf-dns-label{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:.25rem}.spf-dns-entry code{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary);word-break:break-all}.spf-stats{display:flex;gap:1.5rem;padding:.75rem 1.25rem;flex-wrap:wrap}.spf-stat{font-size:var(--text-xs);color:var(--text-tertiary)}.spf-stat strong{color:var(--text-primary)}.spf-stat-danger{color:var(--danger)!important}.spf-stat-warn{color:var(--warning)!important}.spf-warnings{padding:.75rem 1.25rem;border-top:1px solid rgba(245,158,11,.2);background:#f59e0b0a}.spf-warning-item{display:flex;align-items:flex-start;gap:.5rem;font-size:var(--text-xs);color:var(--warning);line-height:1.5;margin-bottom:.35rem}.spf-warning-item:last-child{margin-bottom:0}.spf-warning-item svg{flex-shrink:0;margin-top:.1rem}@media (max-width: 768px){.spf-provider-grid,.spf-policy-grid{grid-template-columns:1fr}.spf-result-header{flex-direction:column;align-items:flex-start}}.hh-grade-card{display:flex;align-items:center;gap:1.5rem;padding:1.25rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin-bottom:1.5rem}.hh-grade{font-size:3rem;font-weight:var(--font-extrabold);line-height:1;min-width:60px;text-align:center}.hh-grade-info{display:flex;flex-direction:column;gap:.2rem}.hh-grade-url{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);word-break:break-all}.hh-grade-status{font-size:var(--text-xs);color:var(--text-secondary)}.hh-grade-score{font-size:var(--text-xs);color:var(--text-tertiary)}.hh-sec-list{display:flex;flex-direction:column;gap:.4rem}.hh-sec-item{display:flex;align-items:flex-start;gap:.65rem;padding:.6rem .85rem;border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.hh-sec-item.pass{background:#22c55e0a;border-color:#22c55e26}.hh-sec-item.fail{background:#ef44440a;border-color:#ef444426}.hh-sec-icon{font-size:var(--text-sm);flex-shrink:0;line-height:1.4}.hh-sec-body{display:flex;flex-direction:column;gap:.1rem;min-width:0}.hh-sec-body strong{font-size:var(--text-sm);color:var(--text-primary)}.hh-sec-msg{font-size:var(--text-xs);color:var(--text-secondary)}.hh-sec-value{font-family:var(--font-mono);font-size:.65rem;color:var(--text-tertiary);word-break:break-all;margin-top:.15rem;padding:.15rem .35rem;background:#ffffff08;border-radius:3px;display:inline-block}[data-theme=light] .hh-sec-value{background:#00000008}@media (max-width: 768px){.hh-grade-card{flex-direction:column;text-align:center}}.geo-map-section{margin-top:1.5rem}.geo-map-wrap{border:1px solid var(--border-medium);border-radius:var(--radius-lg);overflow:hidden;height:350px}.geo-map-iframe{width:100%;height:100%;border:none}@media (max-width: 768px){.geo-map-wrap{height:250px}}.recgen-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem}.recgen-type-btn{display:flex;flex-direction:column;gap:.15rem;padding:.65rem;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);text-align:left}.recgen-type-btn:hover{border-color:var(--border-medium)}.recgen-type-btn.active{border-color:var(--brand-blue);background:#3b82f60f}.recgen-type-name{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--brand-blue-light)}.recgen-type-desc{font-size:var(--text-xs);color:var(--text-tertiary)}.recgen-actions{display:flex;gap:.5rem;margin-top:.5rem;margin-bottom:1rem}.recgen-generate-btn{background:#22c55e26!important;color:var(--success)!important;border:1px solid rgba(34,197,94,.3)}.recgen-generate-btn:hover:not(:disabled){background:#22c55e40!important}.recgen-generate-btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.recgen-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.recgen-record-list{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.recgen-record-item{display:flex;align-items:center;gap:.5rem;padding:.45rem .65rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.recgen-record-text{flex:1;font-family:var(--font-mono);font-size:.7rem;color:var(--text-secondary);word-break:break-all}.recgen-zone-output{padding:1rem 1.25rem;font-family:var(--font-mono);font-size:.75rem;color:var(--success);background:#22c55e0a;white-space:pre-wrap;word-break:break-all;line-height:1.6;margin:0;overflow-x:auto}@media (max-width: 768px){.recgen-type-grid{grid-template-columns:repeat(2,1fr)}.recgen-actions{flex-direction:column}}.dkim-explainer{display:flex;flex-direction:column;gap:1rem}.dkim-step{display:flex;align-items:flex-start;gap:1rem}.dkim-step-num{width:28px;height:28px;border-radius:50%;background:var(--brand-blue);color:#fff;font-size:var(--text-sm);font-weight:var(--font-bold);display:flex;align-items:center;justify-content:center;flex-shrink:0}.dkim-step strong{display:block;font-size:var(--text-sm);color:var(--text-primary);margin-bottom:.15rem}.dkim-step p{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5;margin:0}.dkim-step code{font-family:var(--font-mono);font-size:.8em;padding:.1rem .3rem;background:#3b82f614;border-radius:3px;color:var(--brand-blue-light)}[data-theme=light] .dkim-step code{color:var(--brand-blue-hover);background:#3b82f60f}.vlsm-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.vlsm-row .vlsm-name{flex:2;font-family:var(--font-sans);font-size:var(--text-sm)}.vlsm-row .vlsm-hosts{flex:1;font-family:var(--font-mono)}.vlsm-remove-btn{background:transparent;border:none;cursor:pointer;padding:.35rem;border-radius:var(--radius-sm);color:var(--text-tertiary);transition:color var(--transition-base),background var(--transition-base);flex-shrink:0}.vlsm-remove-btn:hover{color:var(--danger);background:#ef444414}.vlsm-add-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;background:transparent;border:1px dashed var(--border-medium);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-base);margin-top:.25rem}.vlsm-add-btn:hover{border-color:var(--brand-blue);color:var(--brand-blue);background:#3b82f60a}.vlsm-summary{display:flex;flex-wrap:wrap;gap:1.25rem;padding:.75rem 0;margin-bottom:1rem;border-bottom:1px solid var(--border-subtle)}.dmarc-align-row{display:flex;gap:.5rem}@media (max-width: 768px){.vlsm-row{flex-wrap:wrap}.vlsm-row .vlsm-name,.vlsm-row .vlsm-hosts{flex:1 1 100%}.vlsm-summary{flex-direction:column;gap:.35rem}.dmarc-align-row{flex-direction:column}}.ipc-input-group{display:flex;align-items:flex-end;gap:.75rem;margin-bottom:1rem}.ipc-input-group .subnet-field{flex:1}@media (max-width: 768px){.ipc-input-group{flex-direction:column;align-items:stretch}}.tool-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2371717A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem;cursor:pointer}.dns-resolver-row{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.resolver-option{display:flex;align-items:center;gap:.3rem;cursor:pointer;font-size:var(--text-sm);color:var(--text-secondary)}.resolver-option input[type=radio]{accent-color:var(--brand-blue)}.resolver-label{font-weight:var(--font-medium)}.dns-loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:2rem;color:var(--text-tertiary);font-size:var(--text-sm)}.dns-spinner{width:20px;height:20px;border:2px solid var(--border-medium);border-top-color:var(--brand-blue);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dns-results-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.dns-results-meta{display:flex;gap:1.25rem;flex-wrap:wrap}.dns-meta-item{font-size:var(--text-sm);color:var(--text-secondary)}.dns-meta-item strong{color:var(--text-primary);font-weight:var(--font-semibold)}.dns-type-header{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);padding:.5rem 0 .25rem;border-bottom:1px solid var(--border-subtle);margin-bottom:.5rem}.dns-type-badge{display:inline-block;padding:.1rem .4rem;background:#3b82f61a;color:var(--brand-blue-light);border-radius:var(--radius-sm);font-size:.65rem;font-weight:var(--font-bold);font-family:var(--font-mono);text-transform:uppercase}.dns-no-records{padding:1rem;text-align:center;color:var(--text-tertiary);font-size:var(--text-sm)}@media (max-width: 768px){.dns-results-header{flex-direction:column;align-items:flex-start}.dns-results-meta{flex-direction:column;gap:.35rem}}.header-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit}@media (max-width: 768px){.app-header{padding:.75rem 1rem}.main-content{padding:1.25rem 1rem}.search-section h1{font-size:var(--text-2xl)}.cards-grid{grid-template-columns:1fr}.filter-chips{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:.5rem;-webkit-overflow-scrolling:touch}.detail-header,.detail-body{padding:1rem 1.25rem}.detail-port-number{font-size:var(--text-3xl)}.privacy-badge span:not(.status-dot){display:none}.subnet-input-row{flex-direction:column;align-items:stretch}.subnet-field-sep{display:none}.subnet-results-grid{grid-template-columns:1fr}.top-nav{padding:0 1rem}}@media (max-width: 480px){.cards-grid{gap:.75rem}.port-card{padding:1rem}.port-number{font-size:var(--text-xl)}}
