*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0d1117;--fg:#f0f0f0;--secondary:#f0f0f059;--divider:#f0f0f014;--surface:#f0f0f005;--surface-hover:#f0f0f00a;--surface-active:#f0f0f012;--green:#4ade80;--red:#f87171;--sidebar-w:220px}html,body,#root{background:var(--bg);height:100%;color:var(--fg);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;font-size:14px;font-weight:300}.shell{height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);border-right:1px solid var(--divider);flex-direction:column;flex-shrink:0;gap:0;padding:28px 0;display:flex}.sidebar-brand{border-bottom:1px solid var(--divider);margin-bottom:20px;padding:0 28px 28px}.sidebar-brand h1{letter-spacing:4px;text-transform:uppercase;color:var(--fg);font-size:22px;font-weight:200;line-height:1.3}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:0 12px;display:flex}.nav-item{cursor:pointer;color:var(--secondary);letter-spacing:2px;text-transform:uppercase;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;width:100%;padding:10px 16px;font-size:12px;font-weight:300;transition:color .2s,background .2s;display:flex;position:relative}.nav-item:hover{color:var(--fg);background:var(--surface-hover)}.nav-item.active{color:var(--fg);background:var(--surface-active)}.nav-item .nav-count{letter-spacing:0;color:var(--secondary);background:var(--surface-active);border-radius:10px;margin-left:auto;padding:2px 7px;font-size:10px;transition:opacity .2s}.nav-item.active .nav-count{color:var(--fg)}.sidebar-footer{border-top:1px solid var(--divider);margin-top:auto;padding:20px 28px 0}.sidebar-footer p{color:#fff3;letter-spacing:.5px;font-size:10px;font-weight:300;line-height:1.6}.main{flex-direction:column;flex:1;display:flex;overflow:hidden}.view{flex:1;padding:28px;animation:.25s forwards fadeIn;overflow-y:auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.view-header{border-bottom:1px solid var(--divider);margin-bottom:24px;padding-bottom:20px}.view-header h2{letter-spacing:4px;text-transform:uppercase;color:var(--fg);font-size:22px;font-weight:200}.view-header p{color:var(--secondary);margin-top:6px;font-size:12px;font-weight:300}.filters{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.filter-input,.filter-select{background:var(--surface);border:1px solid var(--divider);color:var(--fg);appearance:none;border-radius:6px;outline:none;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:300;transition:border-color .15s,background .15s}.filter-input::placeholder{color:var(--secondary)}.filter-input:focus,.filter-select:focus{background:var(--surface-hover);border-color:#ffffff4d}.filter-input{flex:1;min-width:200px}.filter-select{cursor:pointer;min-width:140px}.result-count{color:var(--secondary);letter-spacing:.5px;margin-bottom:12px;font-size:11px}.channel-list{flex-direction:column;gap:1px;display:flex}.channel-row{border:none;border-bottom:1px solid var(--divider);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:14px;width:100%;padding:12px 16px;transition:background .15s;display:flex}.channel-row:first-child{border-top:1px solid var(--divider)}.channel-row:hover{background:var(--surface-hover)}.channel-row.selected{background:var(--surface-active)}.channel-name{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;font-weight:300;overflow:hidden}.channel-country{color:var(--secondary);white-space:nowrap;font-size:11px}.channel-badge{letter-spacing:1.5px;text-transform:uppercase;color:var(--secondary);border:1px solid var(--divider);white-space:nowrap;border-radius:10px;padding:3px 8px;font-size:10px}.channel-badge.selected-mark{color:var(--green);border-color:#4ade804d}.pagination{justify-content:center;align-items:center;gap:20px;padding:24px 0 8px;display:flex}.page-btn{border:1px solid var(--divider);color:var(--secondary);letter-spacing:2px;text-transform:uppercase;cursor:pointer;background:0 0;padding:8px 16px;font-family:inherit;font-size:11px;font-weight:300;transition:color .15s,border-color .15s}.page-btn:hover:not(:disabled){color:var(--fg);border-color:#ffffff4d}.page-btn:disabled{opacity:.25;cursor:default}.page-info{color:var(--secondary);letter-spacing:.5px;font-size:11px}.section-divider{background:var(--divider);height:1px;margin:24px 0}.lookup-row{gap:8px;margin-bottom:20px;display:flex}.lookup-row .filter-input{flex:1}.hash-card{background:var(--surface);border:1px solid var(--divider);margin-bottom:20px;padding:16px 20px;animation:.2s forwards fadeIn}.hash-card .hash-label{letter-spacing:2px;text-transform:uppercase;color:var(--secondary);margin-bottom:8px;font-size:11px}.hash-card code{color:var(--fg);letter-spacing:2px;font-family:SF Mono,Fira Code,monospace;font-size:14px}.hash-card .hash-links{gap:16px;margin-top:12px;display:flex}.hash-card .hash-links a,.hash-card .hash-links .link-btn{letter-spacing:2px;text-transform:uppercase;color:var(--secondary);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:11px;text-decoration:none;transition:color .15s}.hash-card .hash-links a:hover,.hash-card .hash-links .link-btn:hover{color:var(--fg)}.hash-card .hash-meta{color:var(--secondary);margin-top:8px;font-size:11px;line-height:1.6}.action-row{gap:8px;margin-bottom:20px;display:flex}.btn-primary{color:var(--fg);letter-spacing:2px;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #fff9;padding:12px 24px;font-family:inherit;font-size:12px;font-weight:300;transition:border-color .15s,opacity .15s}.btn-primary:hover:not(:disabled){border-color:var(--fg)}.btn-primary:disabled{opacity:.3;cursor:default}.btn-ghost{border:1px solid var(--divider);color:var(--secondary);letter-spacing:2px;text-transform:uppercase;cursor:pointer;background:0 0;padding:12px 20px;font-family:inherit;font-size:12px;font-weight:300;transition:color .15s,border-color .15s}.btn-ghost:hover{color:var(--fg);border-color:#ffffff4d}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 28px;animation:.25s forwards fadeIn;display:flex}.empty-state .empty-icon{border:1px solid var(--divider);opacity:.3;border-radius:50%;width:32px;height:32px;margin-bottom:20px}.empty-state p{color:var(--secondary);font-size:14px;font-weight:300;line-height:1.7}.empty-state p+p{margin-top:6px;font-size:12px}.status-msg{color:var(--secondary);text-align:center;padding:20px 0;font-size:12px;animation:.2s forwards fadeIn}.status-msg.error{color:var(--red)}.api-group{margin-bottom:32px}.api-group-label{letter-spacing:3px;text-transform:uppercase;color:var(--secondary);margin-bottom:12px;font-size:10px}.endpoint-row{border-bottom:1px solid var(--divider);align-items:baseline;gap:14px;padding:14px 0;display:flex}.endpoint-row:first-of-type{border-top:1px solid var(--divider)}.method-tag{letter-spacing:1.5px;text-transform:uppercase;flex-shrink:0;width:36px;font-size:10px;font-weight:300}.method-tag.get{color:#93c5fdcc}.method-tag.post{color:#86efaccc}.endpoint-path{color:var(--fg);flex:1;font-family:SF Mono,Fira Code,monospace;font-size:12px}.endpoint-desc{color:var(--secondary);flex:1.5;font-size:11px;line-height:1.5}.code-block{background:var(--surface);border:1px solid var(--divider);margin-top:12px;padding:20px}.code-block pre{color:#fff9;white-space:pre-wrap;font-family:SF Mono,Fira Code,monospace;font-size:12px;line-height:1.7}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--divider);border-radius:2px}.toast-stack{z-index:1000;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:28px;right:28px}.toast{border:1px solid var(--divider);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.5px;color:var(--fg);cursor:pointer;pointer-events:all;background:#0a0d12f7;align-items:center;gap:10px;min-width:220px;max-width:320px;padding:12px 16px;font-size:12px;font-weight:300;display:flex}.toast-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.toast-info .toast-dot{background:#fff6}.toast-success .toast-dot{background:var(--green)}.toast-error .toast-dot{background:var(--red)}.toast-msg{flex:1;line-height:1.4}.toast-enter{animation:.25s forwards toastIn}.toast-leave{animation:.3s forwards toastOut}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}
