@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#0a0a0a;--color-surface:#141414;--color-surface-hover:#1c1c1c;--color-border:#2a2a2a;--color-border-subtle:#1e1e1e;--color-text:#f0f0f0;--color-text-secondary:#aaa;--color-text-muted:#707070;--color-accent:#f0f0f0;--color-accent-dim:#ffffff0f;--color-amber:#c9a050;--color-indigo:#9090c0;--color-pink:#c08090;--color-red:#c06060;--color-star:#c9a050;--font:"IBM Plex Mono", "SF Mono", "Fira Code", monospace;--radius:4px;--radius-sm:2px}html{font-size:14px}body{font-family:var(--font);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}a{color:var(--color-text-secondary);text-decoration:none}a:hover{color:var(--color-text)}button{font-family:var(--font);cursor:pointer;color:inherit;background:0 0;border:none}input,select{font-family:var(--font);font-size:inherit}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes barGrow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes flashIn{0%{opacity:0;transform:translate(8px)}20%{opacity:1;transform:translate(0)}80%{opacity:1}to{opacity:0}}.fade-in{animation:.3s fadeIn}.loading{text-align:center;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em;padding:64px;font-size:.85rem}.layout{flex-direction:column;min-height:100vh;display:flex}.header{border-bottom:1px solid var(--color-border-subtle);background:var(--color-bg)}.header-inner{justify-content:space-between;align-items:center;width:100%;max-width:1080px;margin:0 auto;padding:14px 32px;display:flex}.header-left{align-items:center;gap:16px;display:flex}.header-brand,.header-brand:hover{text-decoration:none}.header-stat{color:var(--color-text-muted);letter-spacing:.04em;border-left:1px solid var(--color-border);padding-left:16px;font-size:.72rem}.header-wordmark{color:var(--color-text);letter-spacing:.1em;text-transform:uppercase;font-size:.85rem;font-weight:600}.header-live{color:var(--color-text-muted);letter-spacing:.04em;align-items:center;gap:8px;font-size:.72rem;display:flex}.header-live-dot{background:#4a4;border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2s ease-in-out infinite pulse}.header-live-text{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:300px;overflow:hidden}.header-live-flash{animation:3s forwards flashIn}.page{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:0 32px 64px}.footer{border-top:1px solid var(--color-border-subtle);text-align:center;color:var(--color-text-muted);letter-spacing:.04em;padding:20px 32px;font-size:.75rem}.footer a{color:var(--color-text-secondary)}.footer a:hover{color:var(--color-text)}@media (width<=768px){.header-inner{padding:12px 16px}.header-stat{display:none}.header-live-text{max-width:160px}.page{padding:0 16px 48px}}.dashboard{flex-direction:column;gap:0;display:flex}.globe-wrap{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);animation:.4s both fadeUp;position:relative;overflow:hidden}.globe-canvas{width:100%;height:400px;display:block}.globe-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:8px;font-size:.7rem;font-weight:500;display:flex;position:absolute;bottom:14px;left:18px}.globe-label:before{content:"";background:var(--color-text-secondary);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse}.cta-card{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);margin-bottom:40px;animation:.4s 50ms both fadeUp;position:relative;overflow:hidden}.cta-glow{pointer-events:none;background:radial-gradient(at 30%,#ffffff05 0%,#0000 70%);position:absolute;inset:0}.cta-content{padding:28px 28px 24px;position:relative}.cta-heading{color:var(--color-text);letter-spacing:.04em;text-transform:uppercase;margin-bottom:12px;font-size:.95rem;font-weight:600}.cta-prompt{color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:14px;padding:16px 18px;font-size:1.05rem;line-height:1.7}.cta-copy{background:var(--color-text);color:var(--color-bg);border-radius:var(--radius);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:8px;padding:8px 16px;font-size:.8rem;font-weight:600;transition:opacity .15s;display:inline-flex}.cta-copy:hover{opacity:.85}.cta-footer{color:var(--color-text-secondary);letter-spacing:.02em;margin-top:12px;font-size:.75rem}.dash-hero{padding:48px 0 28px;animation:.4s both fadeUp}.dash-title{letter-spacing:.15em;color:var(--color-text);text-transform:uppercase;font-size:2rem;font-weight:700;line-height:1}.dash-subtitle{color:var(--color-text-secondary);letter-spacing:.04em;margin-top:8px;font-size:.82rem;font-weight:400}.dash-section{margin-bottom:36px;animation:.4s .1s both fadeUp}.review-summary{gap:12px;margin-top:14px;display:flex}.review-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;flex-direction:column;flex:1;gap:2px;padding:14px 16px;transition:border-color .12s;display:flex}.review-card:hover{border-color:#444}.review-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;font-weight:600}.review-name{color:var(--color-text);font-size:.9rem;font-weight:600}.review-score{color:var(--color-text-secondary);font-size:.78rem}.review-count{color:var(--color-text-muted);font-size:.68rem}@media (width<=500px){.review-summary{flex-direction:column}}.dash-section-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.section-title{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:8px;font-size:.75rem;font-weight:600;display:flex}.live-dot{background:var(--color-text-secondary);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse;display:inline-block}.time-range{gap:0;display:flex}.time-range-btn{color:var(--color-text-secondary);border-radius:var(--radius);letter-spacing:.04em;border:1px solid #0000;padding:4px 10px;font-size:.75rem;font-weight:500;transition:all .12s}.time-range-btn:hover{color:var(--color-text-secondary)}.time-range-btn.active{border-color:var(--color-border);color:var(--color-text);background:var(--color-surface)}.stat-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (width<=900px){.stat-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=500px){.stat-grid{grid-template-columns:1fr}}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:2px;padding:18px 18px 10px;transition:border-color .15s;animation:.35s both fadeUp;display:flex;overflow:hidden}.stat-card:hover{border-color:#333}.stat-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:500}.stat-value{color:var(--color-text);letter-spacing:-.01em;font-size:1.6rem;font-weight:700;line-height:1.3}.stat-prefix{color:var(--color-text-secondary);font-size:1.1rem;font-weight:400}.stat-chart{margin-top:8px;margin-left:-2px;margin-right:-2px}.sparkline{display:block}.sparkline-bar{transform-origin:bottom;animation:.4s both barGrow}.search-wrap{flex-shrink:0;width:220px;position:relative}.search-icon{color:var(--color-text-secondary);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-bar{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;color:var(--color-text);outline:none;padding:6px 10px 6px 30px;font-size:.8rem;transition:border-color .12s}.search-bar:focus{border-color:#444}.search-bar::placeholder{color:var(--color-text-secondary)}.table-wrap{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);overflow-x:auto}.provider-table{border-collapse:collapse;width:100%;font-size:.82rem}.provider-table thead th{text-align:left;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--color-border);white-space:nowrap;padding:10px 16px;font-size:.7rem;font-weight:500}.provider-table th.col-num,.provider-table td.col-num,.provider-table th.col-time,.provider-table td.col-time{text-align:right;width:72px}.provider-row{cursor:pointer;transition:background .1s;animation:.3s both fadeUp}.provider-row:hover{background:var(--color-surface-hover)}.provider-row td{border-bottom:1px solid var(--color-border-subtle);vertical-align:middle;padding:12px 16px}.provider-row:last-child td{border-bottom:none}.server-info{flex-direction:column;gap:1px;display:flex}.server-name{color:var(--color-text);font-weight:600}.server-url{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:300px;font-size:.72rem;overflow:hidden}.num-value{color:var(--color-text-secondary);font-size:.82rem}.time-value{color:var(--color-text-secondary);font-size:.75rem}.empty-table{text-align:center;color:var(--color-text-secondary);padding:48px 24px}.empty-table-icon{opacity:.4;margin-bottom:14px}.empty-table p{font-size:.82rem}.empty-table-sub{color:var(--color-text-secondary);opacity:.7;margin-top:4px;font-size:.75rem}.star-rating{align-items:center;gap:2px;display:inline-flex}.star-rating .star{color:var(--color-border);font-size:.9rem}.star-rating .star.filled{color:var(--color-star)}.star-rating .score-num{color:var(--color-text-secondary);margin-left:4px;font-size:.78rem;font-weight:600}.star-rating.no-score{color:var(--color-text-secondary);font-size:.78rem}.star-rating.compact{gap:3px}.star-rating.compact .star{font-size:.8rem}.ticker{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);font-size:.78rem;overflow-x:auto}.ticker-header{border-bottom:1px solid var(--color-border);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;padding:8px 14px;font-size:.65rem;font-weight:600;display:flex}.ticker-row{border-bottom:1px solid var(--color-border-subtle);white-space:nowrap;padding:9px 14px;transition:background .1s;animation:.25s both fadeUp;display:flex}.ticker-row:last-child{border-bottom:none}.ticker-row:hover{background:var(--color-surface-hover)}.ticker-col{flex-shrink:0}.ticker-col-status{width:56px}.ticker-col-service{width:120px;color:var(--color-text);text-overflow:ellipsis;font-weight:500;overflow:hidden}.ticker-col-method{width:50px;color:var(--color-text-muted)}.ticker-col-path{min-width:120px;color:var(--color-text-secondary);text-overflow:ellipsis;flex:1;overflow:hidden}.ticker-col-duration{text-align:right;width:72px;color:var(--color-text-muted)}.ticker-col-time{text-align:right;width:40px;color:var(--color-text-muted)}.ticker-mono{font-variant-numeric:tabular-nums}.ticker-badge{border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.06em;padding:2px 6px;font-size:.62rem;font-weight:700;display:inline-block}.ticker-tx-link{color:var(--color-text-muted);text-decoration:none}.ticker-tx-link:hover{color:var(--color-text);text-decoration:underline}.ticker-badge.tk-paid{color:#6c6;background:#1a2a1a}.ticker-badge.tk-pending{color:#88a;background:#1a1a2a}.ticker-badge.tk-failed{color:var(--color-red);background:#2a1a1a}.feed-empty{color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);align-items:center;gap:10px;padding:28px;font-size:.8rem;display:flex}.feed-empty-dot{background:var(--color-text-muted);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse}.badge{text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-sm);border:1px solid var(--color-border);color:var(--color-text-secondary);padding:2px 6px;font-size:.65rem;font-weight:500}.back-btn{color:var(--color-text-secondary);letter-spacing:.02em;margin-bottom:24px;padding:6px 0;font-size:.8rem;transition:color .12s}.back-btn:hover{color:var(--color-text)}.detail-header{margin-bottom:32px}.detail-name{letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px;font-size:1.3rem;font-weight:700}.detail-meta{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.detail-url{font-size:.8rem}.detail-desc{color:var(--color-text-secondary);margin-top:10px;font-size:.82rem;line-height:1.6}.detail-section{margin-bottom:28px}.detail-section h2{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px;font-size:.7rem;font-weight:600}.detail-stats-row{gap:10px;display:flex}.detail-stat-box{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:2px;min-width:100px;padding:14px 20px;display:flex}.detail-stat-num{font-size:1.3rem;font-weight:700}.detail-stat-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:.68rem}.detail-tags{flex-wrap:wrap;gap:6px;display:flex}.endpoints-wrap{overflow-x:auto}.endpoints-table{border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;font-size:.78rem}.endpoints-table thead th{text-align:left;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--color-border);white-space:nowrap;padding:8px 12px;font-size:.65rem;font-weight:600}.ep-row td{border-bottom:1px solid var(--color-border-subtle);vertical-align:middle;padding:7px 12px}.ep-row:last-child td{border-bottom:none}.ep-row:hover{background:var(--color-surface-hover)}.ep-row-free{opacity:.6}.ep-col-method{width:56px}.ep-col-path{text-overflow:ellipsis;white-space:nowrap;max-width:280px;overflow:hidden}.ep-col-desc{color:var(--color-text-secondary)}.ep-col-price{text-align:right;width:72px;color:var(--color-text);font-weight:600}.ep-method{border-radius:var(--radius-sm);border:1px solid var(--color-border);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;padding:1px 5px;font-size:.62rem;font-weight:700;display:inline-block}.ep-mono{font-variant-numeric:tabular-nums}.ep-free-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin:14px 0 6px;font-size:.68rem;font-weight:600}.score-bars{flex-direction:column;gap:10px;display:flex}.score-bar{align-items:center;gap:12px;display:flex}.score-bar-label{width:80px;color:var(--color-text-secondary);flex-shrink:0;font-size:.78rem}.score-bar-track{background:var(--color-border);border-radius:2px;flex:1;height:4px;overflow:hidden}.score-bar-fill{background:var(--color-text-secondary);border-radius:2px;height:100%;transition:width .4s}.score-bar-value{text-align:right;width:28px;color:var(--color-text-secondary);font-size:.78rem;font-weight:600}.score-bar-na{color:var(--color-text-secondary);font-size:.78rem}.tag-chip{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);align-items:center;gap:4px;padding:3px 8px;font-size:.72rem;transition:border-color .12s;display:inline-flex}.tag-chip:hover{border-color:#444}.tag-count{color:var(--color-text-secondary);font-size:.65rem}.ratings-list{flex-direction:column;gap:8px;display:flex}.rating-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:14px;transition:border-color .12s}.rating-item:hover{border-color:#333}.rating-item-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.rating-date{color:var(--color-text-secondary);font-size:.72rem}.rating-comment{color:var(--color-text-secondary);margin-bottom:6px;font-size:.82rem;line-height:1.6}.rating-usecase{color:var(--color-text-secondary);margin-bottom:6px;font-size:.72rem}.rating-tags{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}@media (width<=768px){.dash-title{font-size:1.5rem}.stat-grid{grid-template-columns:repeat(2,1fr)}.search-wrap{width:160px}.dash-section-header{flex-wrap:wrap}}
