*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--radius: 10px;--radius-sm: 6px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace;--shadow-sm: 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.06);--shadow-lg: 0 10px 30px rgba(0,0,0,.08)}:root,:root[data-theme=light]{--bg: #f8f9fb;--bg-grad: radial-gradient(1200px 600px at 20% -10%, #eef2ff 0%, transparent 60%), radial-gradient(900px 500px at 100% 0%, #fef3f2 0%, transparent 50%);--surface: #ffffff;--surface-2: #f3f4f7;--surface-3: #eaecf1;--border: #e4e7ec;--border-strong: #cdd2db;--text: #101828;--text-soft: #475467;--muted: #98a2b3;--accent: #6366f1;--accent-soft:rgba(99,102,241,.1);--accent-hover:#4f46e5;--on-accent: #ffffff;--success: #16a34a;--warning: #d97706;--danger: #dc2626;--danger-soft:rgba(220,38,38,.1)}:root[data-theme=dark]{--bg: #0b0e14;--bg-grad: radial-gradient(1200px 600px at 20% -10%, rgba(99,102,241,.12) 0%, transparent 60%), radial-gradient(900px 500px at 100% 0%, rgba(244,63,94,.08) 0%, transparent 50%);--surface: #11151c;--surface-2: #161b23;--surface-3: #1e2530;--border: #232b37;--border-strong: #2f3947;--text: #e6e8ec;--text-soft: #aab1bd;--muted: #6c7483;--accent: #818cf8;--accent-soft:rgba(129,140,248,.16);--accent-hover:#a5b4fc;--on-accent: #0b0e14;--success: #34d399;--warning: #fbbf24;--danger: #f87171;--danger-soft:rgba(248,113,113,.16)}@media(prefers-color-scheme:dark){:root:not([data-theme]){--bg: #0b0e14;--bg-grad: radial-gradient(1200px 600px at 20% -10%, rgba(99,102,241,.12) 0%, transparent 60%), radial-gradient(900px 500px at 100% 0%, rgba(244,63,94,.08) 0%, transparent 50%);--surface: #11151c;--surface-2: #161b23;--surface-3: #1e2530;--border: #232b37;--border-strong: #2f3947;--text: #e6e8ec;--text-soft: #aab1bd;--muted: #6c7483;--accent: #818cf8;--accent-soft:rgba(129,140,248,.16);--accent-hover:#a5b4fc;--on-accent: #0b0e14;--success: #34d399;--warning: #fbbf24;--danger: #f87171;--danger-soft:rgba(248,113,113,.16)}}html{color-scheme:light dark}body{background:var(--bg);background-image:var(--bg-grad);background-attachment:fixed;color:var(--text);font-family:var(--font-sans);font-size:14px;line-height:1.55;min-height:100vh;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button{font-family:inherit}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:saturate(140%) blur(8px);position:sticky;top:0;z-index:50}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#a855f7);color:#fff;font-weight:700;font-size:14px;letter-spacing:-.02em}.brand-name{font-weight:600;font-size:15px;color:var(--text)}.brand-sub{font-size:11px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.topbar-actions{display:flex;align-items:center;gap:10px}.theme-toggle{width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text-soft);cursor:pointer;display:grid;place-items:center;transition:background .15s,color .15s,border-color .15s}.theme-toggle:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-2)}.theme-toggle svg{width:18px;height:18px}.theme-toggle .icon-sun{display:none}.theme-toggle .icon-moon{display:block}:root[data-theme=dark] .theme-toggle .icon-sun{display:block}:root[data-theme=dark] .theme-toggle .icon-moon{display:none}@media(prefers-color-scheme:dark){:root:not([data-theme]) .theme-toggle .icon-sun{display:block}:root:not([data-theme]) .theme-toggle .icon-moon{display:none}}.page{max-width:1100px;margin:0 auto;padding:32px 24px 64px}.page-narrow{max-width:560px;margin:0 auto;padding:56px 24px}.hero{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:40px 36px;box-shadow:var(--shadow-md);animation:fadeUp .4s ease both}.hero h1{font-size:28px;font-weight:600;letter-spacing:-.02em;color:var(--text);margin-bottom:12px}.hero p{color:var(--text-soft);font-size:15px;line-height:1.65;margin-bottom:12px}.hero ul{margin:8px 0 24px 20px;color:var(--text-soft)}.hero ul li{margin-bottom:6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 18px;border-radius:var(--radius-sm);border:1px solid transparent;background:var(--accent);color:var(--on-accent);font-weight:500;font-size:14px;cursor:pointer;text-decoration:none;transition:background .15s,transform .08s,box-shadow .15s}.btn:hover{background:var(--accent-hover);color:var(--on-accent)}.btn:active{transform:translateY(1px)}.btn-block{width:100%}.btn-ghost{background:transparent;color:var(--text-soft);border-color:var(--border)}.btn-ghost:hover{color:var(--text);background:var(--surface-2);border-color:var(--border-strong)}.note{margin-top:16px;font-size:12px;color:var(--muted);text-align:center}.section-head{margin-bottom:18px}.section-head h2{font-size:20px;font-weight:600;letter-spacing:-.01em}.section-head p{color:var(--text-soft);font-size:13px;margin-top:4px}.site-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.site-card{display:flex;align-items:center;gap:14px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:var(--text);transition:border-color .15s,transform .12s,box-shadow .15s;animation:fadeUp .4s ease both}.site-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px);color:var(--text)}.site-avatar{width:40px;height:40px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:600;flex-shrink:0}.site-meta{flex:1;min-width:0}.site-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-sub{font-size:12px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-header{display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:16px;margin-bottom:20px}.dash-title h1{font-size:24px;font-weight:600;letter-spacing:-.02em}.dash-title p{font-size:13px;color:var(--text-soft);margin-top:4px}.dash-actions{display:flex;gap:10px}.dash-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.site-switcher{position:relative;display:inline-block}.site-switcher-btn{display:inline-flex;align-items:center;gap:10px;padding:6px 10px 6px 6px;min-height:38px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;font-size:13px;transition:border-color .15s,background .15s}.form-filter .site-switcher-btn{padding-left:12px}.site-switcher-btn:hover{border-color:var(--border-strong);background:var(--surface-2)}.site-switcher-chev{width:14px;height:14px;color:var(--muted);transition:transform .15s}.site-switcher.open .site-switcher-chev{transform:rotate(180deg);color:var(--accent)}.site-switcher-name{font-weight:500;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-avatar-sm{width:24px;height:24px;border-radius:6px;font-size:11px}.site-switcher-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:260px;max-height:360px;overflow-y:auto;list-style:none;margin:0;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:60;display:none}.site-switcher.open .site-switcher-menu{display:block;animation:pop .14s ease both}.site-switcher-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;text-decoration:none;color:var(--text);font-size:13px;transition:background .12s}.site-switcher-item:hover{background:var(--surface-2);color:var(--text)}.site-switcher-item.active{background:var(--accent-soft);color:var(--text)}.site-switcher-check{width:14px;height:14px;color:var(--accent);margin-left:auto;flex-shrink:0}.site-switcher-sep{height:1px;background:var(--border);margin:6px 4px}.site-switcher-logout{color:var(--text-soft);font-size:12px}.site-switcher-logout:hover{color:var(--danger)}.form-filter-icon{width:14px;height:14px;color:var(--muted);margin-left:4px}.form-filter .site-switcher-name{max-width:200px}.form-filter-item{width:100%;background:transparent;border:none;cursor:pointer;text-align:left;font:inherit}.form-filter-count{font-family:var(--font-mono);font-size:11px;color:var(--muted);margin-left:auto;padding-left:8px}.form-filter-item.active .form-filter-count{color:var(--accent)}.search{position:relative;width:280px;max-width:100%}.search input{width:100%;padding:9px 12px 9px 34px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.panel-title{font-weight:600;font-size:14px}.panel-count{color:var(--muted);font-family:var(--font-mono);font-size:12px}.subs-table{width:100%;border-collapse:collapse;table-layout:fixed}.subs-table th{text-align:left;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:12px 18px;background:var(--surface-2);border-bottom:1px solid var(--border)}.subs-table td{padding:14px 18px;border-bottom:1px solid var(--border);vertical-align:middle;font-size:13px}.subs-table tr:last-child td{border-bottom:none}.subs-table tr.row{cursor:pointer;transition:background .12s}.subs-table tr.row:hover,.subs-table tr.row.expanded{background:var(--surface-2)}.col-caret{width:36px}.col-actions{width:56px;text-align:right}.col-date{width:200px;color:var(--text-soft);font-family:var(--font-mono);font-size:12px}.caret{width:16px;height:16px;color:var(--muted);transition:transform .2s}tr.expanded .caret{transform:rotate(90deg);color:var(--accent)}.form-name{font-weight:500;color:var(--text);display:flex;align-items:center;gap:10px}.form-name-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.icon-btn{width:30px;height:30px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;display:inline-grid;place-items:center;transition:background .15s,color .15s,border-color .15s}.icon-btn:hover{color:var(--danger);background:var(--danger-soft)}.icon-btn svg{width:16px;height:16px}.detail-row td{padding:0;background:var(--surface-2)}.detail-wrap{padding:18px 24px 24px;border-bottom:1px solid var(--border);animation:fadeIn .18s ease both}.detail-meta{display:flex;flex-wrap:wrap;gap:12px 22px;font-size:12px;color:var(--muted);margin-bottom:14px;font-family:var(--font-mono)}.detail-meta strong{color:var(--text-soft);font-weight:500;margin-right:6px}.kv-grid{display:grid;grid-template-columns:minmax(140px,200px) 1fr;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.kv-key,.kv-val{background:var(--surface);padding:10px 14px;font-size:13px;word-break:break-word}.kv-key{color:var(--text-soft);font-weight:500;font-family:var(--font-mono);font-size:12px}.kv-val{color:var(--text)}.kv-val.empty{color:var(--muted);font-style:italic}.kv-val pre{background:var(--surface-3);padding:8px 10px;border-radius:4px;overflow-x:auto;font-family:var(--font-mono);font-size:12px}.kv-val a{word-break:break-all}.empty{padding:60px 24px;text-align:center;color:var(--muted)}.empty-title{font-size:15px;color:var(--text-soft);margin-bottom:6px}.empty-sub{font-size:13px}.modal-backdrop{position:fixed;inset:0;background:#00000073;backdrop-filter:blur(2px);display:none;align-items:center;justify-content:center;z-index:100;animation:fadeIn .15s ease both}.modal-backdrop.open{display:flex}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;width:100%;max-width:420px;box-shadow:var(--shadow-lg);animation:pop .18s cubic-bezier(.16,1,.3,1) both}.modal h3{font-size:17px;margin-bottom:8px;color:var(--text)}.modal p{color:var(--text-soft);margin-bottom:20px;font-size:13px;line-height:1.6}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#b91c1c;color:#fff}:root[data-theme=dark] .btn-danger{color:#fff}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--surface);border:1px solid var(--border);padding:10px 18px;border-radius:var(--radius-sm);font-size:13px;color:var(--text);box-shadow:var(--shadow-lg);z-index:200;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%) translateY(-4px)}.toast.error{border-color:var(--danger);color:var(--danger)}.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.page-footer{margin-top:48px;font-size:11px;color:var(--muted);text-align:center;letter-spacing:.04em}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:none}}@media(max-width:640px){.topbar{padding:14px 16px}.page{padding:20px 14px 48px}.hero{padding:28px 22px}.subs-table .col-date{width:140px;font-size:11px}.subs-table th,.subs-table td{padding:10px 12px}.kv-grid{grid-template-columns:1fr}.search{width:100%}}
