:root{--brand: #0080d0;--brand-2: #f0b020;--primary: #0080d0;--primary-hover: #0069ab;--primary-ink: #ffffff;--ring: rgba(0, 128, 208, .28);--btn-bg: #0080d0;--btn-bg-hover: #0069ab;--btn-ink: #ffffff;--bg: #f5f7fa;--bg-grad: radial-gradient(1200px 500px at 100% -10%, rgba(0,128,208,.06), transparent 60%), radial-gradient(900px 400px at -10% 0%, rgba(240,176,32,.05), transparent 55%);--surface: #ffffff;--surface-2: #f8fafc;--border: #e7eaf0;--border-strong: #d5dae4;--text: #0f172a;--muted: #64748b;--faint: #94a3b8;--ok: #059669;--ok-bg: #ecfdf5;--warn: #b7791f;--warn-bg: #fef7e6;--danger: #dc2626;--danger-bg: #fef2f2;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow: 0 1px 3px rgba(15, 23, 42, .08), 0 6px 20px -8px rgba(15, 23, 42, .12);--r-sm: 8px;--r: 12px;--r-lg: 16px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);color-scheme:light}:root[data-theme=dark]{--primary: #38a5e8;--primary-hover: #57b4ee;--primary-ink: #06121d;--ring: rgba(56, 165, 232, .32);--btn-bg: #0e8ad9;--btn-bg-hover: #2f9de4;--btn-ink: #ffffff;--bg: #0a0e14;--bg-grad: radial-gradient(1200px 500px at 100% -10%, rgba(0,128,208,.1), transparent 60%), radial-gradient(900px 400px at -10% 0%, rgba(240,176,32,.06), transparent 55%);--surface: #121926;--surface-2: #0e1520;--border: #202a3a;--border-strong: #2b3852;--text: #e6edf6;--muted: #93a1b5;--faint: #64748b;--ok: #34d399;--ok-bg: rgba(52, 211, 153, .12);--warn: #f0b020;--warn-bg: rgba(240, 176, 32, .13);--danger: #f87171;--danger-bg: rgba(248, 113, 113, .12);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 1px 3px rgba(0, 0, 0, .5), 0 10px 28px -10px rgba(0, 0, 0, .6);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);background-image:var(--bg-grad);background-attachment:fixed;min-height:100vh;-webkit-font-smoothing:antialiased}.app{min-height:100vh}.topbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--surface) 82%,transparent);-webkit-backdrop-filter:saturate(160%) blur(10px);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--border)}.topbar-inner{max-width:1240px;margin:0 auto;height:62px;display:flex;align-items:center;gap:22px;padding:0 24px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.logo{height:26px;width:auto;display:block}.brand-divider{width:1px;height:22px;background:var(--border-strong)}.brand-title{font-size:14px;font-weight:600;color:var(--muted);letter-spacing:.2px}.nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.nav-link{padding:7px 13px;border-radius:999px;font-size:14px;font-weight:500;color:var(--muted);text-decoration:none;transition:color .15s,background .15s}.nav-link:hover{color:var(--text);background:var(--surface-2)}.nav-link.active{color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent)}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.icon-btn{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;transition:color .15s,border-color .15s,transform .15s}.icon-btn:hover{color:var(--primary);border-color:var(--border-strong);transform:translateY(-1px)}.content{padding:32px 24px 64px}.content-inner{max-width:1240px;margin:0 auto}.narrow{max-width:640px}.form-page{max-width:860px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}@media (max-width: 640px){.form-grid{grid-template-columns:1fr}}h1{font-size:24px;font-weight:650;letter-spacing:-.3px;margin:0 0 6px}h2{font-size:18px;font-weight:600;margin:0 0 8px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.hint{color:var(--muted);font-size:14px;margin:0 0 16px;line-height:1.6}.filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:18px;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-sm)}.filters .search{flex:1 1 260px;margin:0}.filters label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:500;color:var(--muted)}.search,.filters select,.form input,.form select,.form textarea,.pager-size select{padding:9px 12px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:14px;font-family:inherit;color:var(--text);background:var(--surface);transition:border-color .15s,box-shadow .15s}.search{width:100%}.search:focus,.filters select:focus,.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}.grid{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}.grid th,.grid td{text-align:left;padding:13px 16px;font-size:14px;border-bottom:1px solid var(--border)}.grid thead th{background:var(--surface-2);color:var(--muted);font-weight:600;font-size:12px;letter-spacing:.4px;text-transform:uppercase}.grid tbody tr{transition:background .12s}.grid tbody tr:hover{background:var(--surface-2)}.grid tr:last-child td{border-bottom:none}.grid a:not(.btn):not(.btn-secondary){color:var(--primary);text-decoration:none;font-weight:500}.grid a:not(.btn):not(.btn-secondary):hover{text-decoration:underline}.row-expired{background:var(--danger-bg)}.empty{color:var(--muted);text-align:center;padding:28px}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;border:1px solid transparent}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-active{background:var(--ok-bg);color:var(--ok)}.badge-expiring{background:var(--warn-bg);color:var(--warn)}.badge-expired{background:var(--danger-bg);color:var(--danger)}.badge-unknown{background:var(--surface-2);color:var(--faint);border-color:var(--border)}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--btn-bg);color:var(--btn-ink);border:none;padding:10px 18px;border-radius:var(--r-sm);font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;box-shadow:var(--shadow-sm);transition:background .15s,transform .12s,box-shadow .15s}.btn:hover{background:var(--btn-bg-hover);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.55;cursor:default;transform:none}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;background:var(--surface);color:var(--text);border:1px solid var(--border);padding:10px 16px;border-radius:var(--r-sm);font-size:14px;font-weight:500;cursor:pointer;text-decoration:none;transition:border-color .15s,background .15s}.btn-secondary:hover{border-color:var(--border-strong);background:var(--surface-2)}.btn-link{background:none;border:none;color:var(--primary);cursor:pointer;font-size:14px;font-weight:500;padding:0}.btn-link:hover{text-decoration:underline}.form{display:flex;flex-direction:column;gap:15px;margin-top:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:22px;box-shadow:var(--shadow-sm)}.form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--muted)}.form textarea{resize:vertical}.form .checkbox{flex-direction:row;align-items:center;gap:9px;color:var(--text);font-weight:500}.req{color:var(--danger)}.actions{display:flex;gap:10px;margin-top:6px}.detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);margin-bottom:18px}.detail>div{display:grid;grid-template-columns:190px 1fr;border-bottom:1px solid var(--border)}.detail>div:last-child{border-bottom:none}.detail dt{padding:12px 16px;color:var(--muted);font-size:13px;font-weight:500;background:var(--surface-2);margin:0}.detail dd{padding:12px 16px;margin:0;font-size:14px;word-break:break-word}.result{margin-top:22px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow)}.result textarea{width:100%;font-family:ui-monospace,SF Mono,Menlo,monospace;margin:6px 0 12px}.error{color:var(--danger);background:var(--danger-bg);padding:11px 14px;border-radius:var(--r-sm);font-size:14px;border:1px solid color-mix(in srgb,var(--danger) 25%,transparent)}.notice{background:var(--warn-bg);color:var(--warn);padding:12px 14px;border-radius:var(--r-sm);font-size:14px;border:1px solid color-mix(in srgb,var(--warn) 25%,transparent)}code{background:var(--surface-2);border:1px solid var(--border);padding:1px 6px;border-radius:5px;font-size:13px;font-family:ui-monospace,Menlo,monospace}.tester-presets{margin-bottom:12px}.tester-presets label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:500;color:var(--muted);max-width:420px}.tester-presets select{padding:9px 12px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:14px;font-family:ui-monospace,Menlo,monospace;color:var(--text);background:var(--surface)}.tester-presets select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}.tester-bar{display:flex;gap:10px;margin-bottom:16px}.method-select{padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--primary);font-weight:600;font-size:14px;font-family:inherit}.url-input{flex:1;padding:10px 13px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:14px;font-family:ui-monospace,Menlo,monospace;color:var(--text);background:var(--surface)}.url-input:focus,.method-select:focus,.body-input:focus,.kv-key:focus,.kv-val:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}.kv-editor{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:14px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.kv-head{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin-bottom:10px}.kv-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.kv-key,.kv-val{padding:8px 10px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:13px;font-family:ui-monospace,Menlo,monospace;color:var(--text);background:var(--surface-2)}.kv-key{flex:0 0 220px}.kv-val{flex:1}.kv-del{border:none;background:none;color:var(--faint);cursor:pointer;font-size:13px;padding:4px 6px;border-radius:6px}.kv-del:hover{color:var(--danger);background:var(--danger-bg)}.body-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:13px;font-family:ui-monospace,Menlo,monospace;color:var(--text);background:var(--surface-2);resize:vertical}.tester-response{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}.resp-status{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--border);font-size:13px}.resp-pill{font-weight:700;font-size:13px;padding:3px 11px;border-radius:999px}.resp-pill.ok{background:var(--ok-bg);color:var(--ok)}.resp-pill.info{background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary)}.resp-pill.warn{background:var(--warn-bg);color:var(--warn)}.resp-pill.err{background:var(--danger-bg);color:var(--danger)}.resp-meta{color:var(--muted)}.resp-status .btn-link{margin-left:auto}.resp-body{margin:0;padding:16px;font-family:ui-monospace,Menlo,monospace;font-size:12.5px;line-height:1.6;color:var(--text);background:var(--surface-2);overflow:auto;max-height:460px;white-space:pre-wrap;word-break:break-word}.resp-headers{border-bottom:1px solid var(--border);color:var(--muted)}.pager{display:flex;align-items:center;gap:16px;margin-top:16px;font-size:13px;color:var(--muted)}.pager-controls{display:flex;align-items:center;gap:6px}.pager-controls .btn-secondary{padding:6px 11px;min-width:36px}.pager-controls .btn-secondary:disabled{opacity:.4;cursor:default}.pager-page{padding:0 6px}.pager-size{display:flex;align-items:center;gap:7px;margin-left:auto}@media (max-width: 720px){.topbar-inner{flex-wrap:wrap;height:auto;padding:10px 16px;gap:12px}.nav{order:3;width:100%}.content{padding:22px 16px 48px}.detail>div{grid-template-columns:1fr}}
