*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root,:root.dark{--bg: #0f1117;--surface: #1a1d27;--surface-hover: #22263a;--border: #2a2e3f;--text: #e4e6ef;--text-muted: #8b8fa3;--primary: #6c8cff;--primary-glow: rgba(108, 140, 255, .12);--green: #34d399;--green-glow: rgba(52, 211, 153, .12);--yellow: #fbbf24;--yellow-glow: rgba(251, 191, 36, .12);--red: #f87171;--red-glow: rgba(248, 113, 113, .12);--bar-track: rgba(255, 255, 255, .06);--shadow: 0 2px 8px rgba(0,0,0,.25);--radius: 12px;--max-width: 1100px}:root.light{--bg: #f4f6f9;--surface: #ffffff;--surface-hover: #f0f2f5;--border: #e2e5ec;--text: #1a1d27;--text-muted: #6b7280;--primary: #4f6ef7;--primary-glow: rgba(79, 110, 247, .1);--green: #16a34a;--green-glow: rgba(22, 163, 74, .1);--yellow: #d97706;--yellow-glow: rgba(217, 119, 6, .1);--red: #dc2626;--red-glow: rgba(220, 38, 38, .1);--bar-track: rgba(0, 0, 0, .06);--shadow: 0 2px 8px rgba(0,0,0,.06)}html{font-size:16px;scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans SC,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;line-height:1.6;transition:background .3s,color .3s}a{color:var(--primary);text-decoration:none;transition:opacity .2s}a:hover{opacity:.8}.site-header{padding:1.5rem 1.25rem .75rem;text-align:center;border-bottom:1px solid var(--border);position:relative}.header-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text)}.header-link:hover{opacity:1}.site-header h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.subtitle{color:var(--text-muted);font-size:.8rem;margin-top:.15rem}.theme-toggle{position:absolute;top:1.25rem;right:1.25rem;background:var(--surface);border:1px solid var(--border);color:var(--text-muted);width:36px;height:36px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s,color .2s}.theme-toggle:hover{border-color:var(--primary);color:var(--primary)}.container{max-width:var(--max-width);margin:0 auto;padding:1.25rem 1.25rem 2.5rem}.stats-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem}.stat-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.15rem;box-shadow:var(--shadow)}.stat-icon{margin-bottom:.1rem}.stat-icon.primary{color:var(--primary)}.stat-icon.warn{color:var(--yellow)}.stat-icon.danger{color:var(--red)}.stat-value{font-size:1.5rem;font-weight:700;color:var(--primary)}.stat-warn{color:var(--yellow)}.stat-expired{color:var(--red)}.stat-label{font-size:.7rem;color:var(--text-muted)}.domain-grid{display:grid;grid-template-columns:1fr;gap:.75rem}.domain-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.15rem 1.25rem;transition:transform .2s,border-color .2s,box-shadow .2s;cursor:pointer;position:relative;box-shadow:var(--shadow)}.domain-card:hover{transform:translateY(-2px);border-color:var(--primary);box-shadow:0 4px 16px #6c8cff1f}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;gap:.5rem}.domain-name{font-size:1rem;font-weight:600;word-break:break-all}.status-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.65rem;padding:.15rem .5rem;border-radius:999px;font-weight:600;white-space:nowrap;flex-shrink:0}.badge-active{background:var(--green-glow);color:var(--green)}.badge-warning{background:var(--yellow-glow);color:var(--yellow)}.badge-expired{background:var(--red-glow);color:var(--red)}.card-meta{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.75rem}.meta-item{display:flex;flex-direction:column}.meta-label{font-size:.65rem;color:var(--text-muted);display:inline-flex;align-items:center;gap:.2rem}.meta-value{font-size:.8rem;font-weight:500}.validity-bar-wrap{display:flex;align-items:center;gap:.6rem}.validity-bar-bg{flex:1;height:6px;background:var(--bar-track);border-radius:3px;overflow:hidden}.validity-bar-fill{height:100%;border-radius:3px;transition:width .6s ease;min-width:0}.bar-green{background:var(--green)}.bar-yellow{background:var(--yellow)}.bar-red{background:var(--red)}.validity-bar-label{display:inline-flex;align-items:center;gap:.2rem;font-size:.85rem;font-weight:700;white-space:nowrap;flex-shrink:0}.clr-green{color:var(--green)}.clr-yellow{color:var(--yellow)}.clr-red{color:var(--red)}@media(min-width:768px){.domain-grid{grid-template-columns:1fr 1fr}.site-header h1{font-size:1.75rem}}.detail-page{max-width:720px;margin:0 auto}.back-btn{display:inline-flex;align-items:center;gap:.35rem;background:none;border:1px solid var(--border);color:var(--text-muted);padding:.35rem .75rem;border-radius:8px;cursor:pointer;font-size:.8rem;margin-bottom:1rem;transition:border-color .2s,color .2s}.back-btn:hover{border-color:var(--primary);color:var(--primary)}.detail-title{font-size:1.35rem;font-weight:700;margin-bottom:1.25rem;word-break:break-all}.ring-wrapper{display:flex;justify-content:center;margin-bottom:1.5rem}.ring-container{position:relative;width:110px;height:110px}.ring-svg{width:110px;height:110px;display:block;transform:rotate(-90deg)}.ring-track{fill:none;stroke:var(--border);stroke-width:6}.ring-progress{fill:none;stroke-width:6;stroke-linecap:round;stroke-dasharray:326.73;transition:stroke-dashoffset .8s ease}.ring-green .ring-progress{stroke:var(--green)}.ring-yellow .ring-progress{stroke:var(--yellow)}.ring-red .ring-progress{stroke:var(--red)}.ring-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;pointer-events:none}.ring-value{font-size:.78rem;font-weight:700;line-height:1.2}.ring-green .ring-label{color:var(--green)}.ring-yellow .ring-label{color:var(--yellow)}.ring-red .ring-label{color:var(--red)}.detail-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem;box-shadow:var(--shadow)}.detail-card h2{font-size:.85rem;margin-bottom:.85rem;padding-bottom:.6rem;border-bottom:1px solid var(--border);color:var(--text-muted);font-weight:600;display:flex;align-items:center;gap:.35rem}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}@media(max-width:480px){.detail-grid{grid-template-columns:1fr}}.detail-item{display:flex;flex-direction:column}.detail-item.full-width{grid-column:1 / -1}.detail-item .label{font-size:.65rem;color:var(--text-muted);display:inline-flex;align-items:center;gap:.2rem;letter-spacing:.03em;margin-bottom:.1rem}.detail-item .value{font-size:.85rem;font-weight:500;word-break:break-all}.detail-item .value.muted{color:var(--text-muted)}.domain-status-tag{font-size:.75rem;padding:.2rem .5rem;background:var(--primary-glow);color:var(--primary);border-radius:6px;font-weight:500;display:inline-block;word-break:break-all}.ns-list{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.1rem}.ns-tag{font-size:.72rem;padding:.12rem .45rem;background:var(--primary-glow);color:var(--primary);border-radius:6px;font-weight:500;display:inline-flex;align-items:center;gap:.12rem;word-break:break-all}.loading{text-align:center;padding:4rem 1rem;color:var(--text-muted)}.css-spinner{width:2rem;height:2rem;margin:0 auto 1rem;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:css-spin .7s linear infinite}@keyframes css-spin{to{transform:rotate(360deg)}}.error-block{text-align:center;padding:3rem 1rem;color:var(--red)}.error-block button{margin-top:1rem;padding:.5rem 1.25rem;background:var(--primary);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.875rem;transition:opacity .2s}.error-block button:hover{opacity:.85}.site-footer{text-align:center;padding:1.25rem;color:var(--text-muted);font-size:.72rem;border-top:1px solid var(--border)}.domain-card.status-failed{opacity:.65;border-style:dashed}.domain-card.status-failed:hover{transform:translateY(-2px);border-color:var(--red)}.badge-error{background:var(--red-glow);color:var(--red)}.badge-muted{background:var(--text-muted);color:var(--bg)}.clr-muted{color:var(--text-muted)}.expiry-banner{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;margin-bottom:1.5rem;border-radius:var(--radius);background:var(--red-glow);border:1px solid var(--red);color:var(--red)}.expiry-banner strong{display:block;font-size:.95rem;margin-bottom:.15rem}.expiry-banner span{font-size:.8rem;opacity:.85;display:block}.expiry-banner.muted{background:var(--yellow-glow);border-color:var(--yellow);color:var(--yellow)}
