.dnssec-checker-container{width:100%}.dnssec-input-section{margin-bottom:1.5rem}.dnssec-form{display:flex;flex-direction:column;gap:.5rem}.dnssec-input-wrapper{display:flex;gap:.75rem;align-items:center;background:hsl(var(--secondary));border:2px solid hsl(var(--border));border-radius:.75rem;padding:.5rem;transition:all .2s ease}.dnssec-input-wrapper:focus-within{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.dnssec-input-field{flex:1;min-width:0;padding:.75rem;background:0 0;border:none;outline:0;font-size:1rem;color:hsl(var(--foreground))}.dnssec-input-field::placeholder{color:hsl(var(--muted-foreground))}.dnssec-check-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.dnssec-check-btn:hover:not(:disabled){background:hsl(var(--primary) / .9)}.dnssec-check-btn:disabled{opacity:.6;cursor:not-allowed}.dnssec-check-btn .btn-icon{width:18px;height:18px}.dnssec-input-hint{font-size:.8rem;color:hsl(var(--muted-foreground));padding-left:.5rem}.dnssec-error-state,.dnssec-initial-state,.dnssec-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;gap:.75rem}.dnssec-error-state .error-icon,.dnssec-initial-state .initial-icon,.dnssec-loading-state .loading-pulse{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:hsl(var(--secondary));border-radius:50%;color:hsl(var(--muted-foreground))}.dnssec-error-state .error-icon svg,.dnssec-initial-state .initial-icon svg,.dnssec-loading-state .loading-pulse svg{width:28px;height:28px}.dnssec-loading-state .loading-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;background:hsl(var(--primary) / .1);color:hsl(var(--primary))}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}.dnssec-error-state .error-icon{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.error-text,.initial-text,.loading-text{font-size:1rem;font-weight:500;color:hsl(var(--foreground));margin:0}.initial-subtext,.loading-subtext{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0}.retry-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:hsl(var(--secondary));border:1px solid hsl(var(--border));border-radius:.5rem;color:hsl(var(--foreground));font-weight:500;cursor:pointer;transition:all .2s ease;margin-top:.5rem}.retry-btn:hover{border-color:hsl(var(--primary))}.retry-btn svg{width:16px;height:16px}.dnssec-result-state>*+*{margin-top:1rem}.dnssec-hero-row{display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width:640px){.dnssec-hero-row{grid-template-columns:1fr auto}}.dnssec-status-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.75rem;transition:all .2s ease}.dnssec-status-card.status-enabled{border-color:hsl(142 76% 36% / .3);background:linear-gradient(135deg,hsl(142 76% 36% / .05),transparent)}.dnssec-status-card.status-partial{border-color:hsl(45 93% 47% / .3);background:linear-gradient(135deg,hsl(45 93% 47% / .05),transparent)}.status-card-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:.625rem;flex-shrink:0;background:hsl(var(--secondary));color:hsl(var(--muted-foreground))}.status-enabled .status-card-icon{background:hsl(142 76% 36% / .1);color:hsl(142 76% 36%)}.status-partial .status-card-icon{background:hsl(45 93% 47% / .1);color:hsl(45 80% 35%)}.status-card-icon svg{width:22px;height:22px}.status-card-content{flex:1;min-width:0}.status-card-domain{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));margin-bottom:.25rem}.status-card-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));margin-bottom:.375rem}.status-enabled .status-card-badge{background:hsl(142 76% 36% / .1);color:hsl(142 76% 36%)}.status-partial .status-card-badge{background:hsl(45 93% 47% / .1);color:hsl(45 80% 35%)}.status-indicator{width:6px;height:6px;border-radius:50%;background:currentColor}.status-card-description{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0;line-height:1.4}.dnssec-grade-card{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.75rem;min-width:140px}.grade-card-main{display:flex;align-items:center;justify-content:center}.grade-letter{font-size:2.5rem;font-weight:800;line-height:1;color:hsl(var(--muted-foreground))}.dnssec-grade-card.grade-green .grade-letter{color:hsl(142 76% 36%)}.dnssec-grade-card.grade-yellow .grade-letter{color:hsl(45 93% 47%)}.dnssec-grade-card.grade-orange .grade-letter{color:hsl(25 95% 53%)}.dnssec-grade-card.grade-red .grade-letter{color:hsl(var(--destructive))}.grade-card-details{display:flex;flex-direction:column;gap:.125rem}.grade-label{font-size:.875rem;font-weight:600;color:hsl(var(--foreground))}.grade-score{font-size:.75rem;color:hsl(var(--muted-foreground))}.dnssec-validation-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.75rem;padding:1rem 1.25rem}.validation-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.validation-title{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));margin:0}.validation-summary{font-size:.75rem;color:hsl(var(--muted-foreground));background:hsl(var(--secondary));padding:.25rem .5rem;border-radius:1rem}.validation-checks{display:flex;flex-wrap:wrap;gap:.5rem}.validation-check{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500;background:hsl(var(--secondary));color:hsl(var(--muted-foreground))}.validation-check.check-passed{background:hsl(142 76% 36% / .1);color:hsl(142 76% 36%)}.validation-check.check-failed{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.validation-check .check-icon{width:12px;height:12px;flex-shrink:0}.dnssec-records-section{display:flex;flex-direction:column;gap:1rem}.dnssec-records-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.75rem;padding:1.25rem}.records-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.records-card-title{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;color:hsl(var(--foreground));margin:0}.records-card-title svg{width:16px;height:16px;color:hsl(var(--primary));flex-shrink:0}.records-card-badge{font-size:.7rem;font-weight:600;color:hsl(var(--muted-foreground));background:hsl(var(--secondary));padding:.125rem .5rem;border-radius:1rem;min-width:20px;text-align:center}.records-card-subtitle{font-size:.8rem;color:hsl(var(--muted-foreground));margin:0 0 1rem 0}.records-list{display:flex;flex-direction:column;gap:.625rem}.records-empty{display:flex;align-items:center;justify-content:center;padding:1.5rem;color:hsl(var(--muted-foreground));font-size:.875rem}.record-item{background:hsl(var(--secondary) / .4);border:1px solid hsl(var(--border) / .5);border-radius:.625rem;overflow:hidden}.record-item-header{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:hsl(var(--secondary) / .5);border-bottom:1px solid hsl(var(--border) / .5)}.record-type-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;padding:.3rem .625rem;border-radius:.25rem;background:hsl(var(--primary) / .15);color:hsl(var(--primary))}.record-type-badge.badge-ksk{background:hsl(262 83% 58% / .15);color:hsl(262 83% 58%)}.record-type-badge.badge-zsk{background:hsl(142 76% 36% / .15);color:hsl(142 76% 36%)}.record-header-title{font-size:.9rem;font-weight:600;color:hsl(var(--foreground))}.record-keytag{font-size:.85rem;font-weight:700;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;color:hsl(var(--primary));margin-left:auto}.record-body{padding:1rem}.record-details-table{width:100%;display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.5rem;font-size:.875rem}.record-dt{color:hsl(var(--muted-foreground));font-weight:500}.record-dd{color:hsl(var(--foreground));text-align:right}.algo-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:.25rem;font-size:.8rem;font-weight:500}.algo-badge.algo-secure{background:hsl(142 76% 36% / .1);color:hsl(142 76% 36%)}.algo-badge.algo-insecure{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.algo-badge .algo-icon{width:14px;height:14px}.record-hash-section{margin-top:.875rem;padding-top:.875rem;border-top:1px dashed hsl(var(--border) / .6)}.record-hash-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));margin-bottom:.5rem;display:block}.record-hash-value{font-size:.8rem;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;color:hsl(var(--foreground) / .85);word-break:break-all;line-height:1.6;background:hsl(var(--background) / .6);padding:.75rem;border-radius:.375rem;border:1px solid hsl(var(--border) / .3)}.dnssec-signature-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.75rem;padding:1rem 1.25rem}.signature-header{margin-bottom:.75rem}.signature-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:hsl(var(--foreground));margin:0}.signature-title svg{width:16px;height:16px;color:hsl(var(--primary))}.signature-content{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.sig-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .625rem;border-radius:.375rem;font-size:.8rem;font-weight:600}.sig-badge svg{width:14px;height:14px}.sig-badge.sig-valid{background:hsl(142 76% 36% / .1);color:hsl(142 76% 36%)}.sig-badge.sig-expired{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.sig-badge.sig-warning{background:hsl(45 93% 47% / .1);color:hsl(45 80% 35%)}.signature-expiry{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.expiry-label{color:hsl(var(--muted-foreground))}.expiry-date{font-weight:600;color:hsl(var(--foreground))}.expiry-relative{color:hsl(var(--muted-foreground))}.dnssec-issues-card{background:hsl(45 93% 47% / .05);border:1px solid hsl(45 93% 47% / .2);border-radius:.75rem;padding:1rem 1.25rem}.issues-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.issues-header svg{width:18px;height:18px;color:hsl(45 80% 35%);flex-shrink:0}.issues-header h3{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));margin:0}.issues-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.issue-item{display:flex;align-items:flex-start;gap:.5rem;font-size:.85rem;color:hsl(var(--foreground));line-height:1.4}.issue-item::before{content:"•";color:hsl(45 80% 35%);font-weight:700}.dnssec-actions{display:flex;flex-wrap:wrap;gap:.75rem}.action-link{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.5rem;color:hsl(var(--foreground));font-size:.8rem;font-weight:500;text-decoration:none;transition:all .2s ease}.action-link:hover{background:hsl(var(--secondary));border-color:hsl(var(--primary));color:hsl(var(--primary))}.action-link svg{width:14px;height:14px}@media (max-width:640px){.dnssec-hero-row{grid-template-columns:1fr}.dnssec-status-card{flex-direction:column;text-align:center}.dnssec-grade-card{justify-content:center}.validation-checks{justify-content:center}.dnssec-actions{flex-direction:column}.action-link{justify-content:center}}