:root{--font-sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--shadow-soft: 0 14px 40px rgba(0, 0, 0, .35);--glass-blur: 18px;--glass-sat: 180%;--glass-border: rgba(255, 255, 255, .14);--ease-out: cubic-bezier(.22, 1, .36, 1);--dur-fast: .14s;--dur-snap: .11s}html[data-theme=dark]{--bg: #070a0f;--bg2: #0a1220;--text: rgba(255, 255, 255, .92);--muted: rgba(255, 255, 255, .62);--panel: rgba(255, 255, 255, .06);--panel2: rgba(255, 255, 255, .04);--line: rgba(255, 255, 255, .12);--accent: #8ef0b7;--danger: #ff8e8e;--menu-bg: rgba(12, 16, 22, .92);--menu-line: rgba(255, 255, 255, .14);--app-bg: linear-gradient(180deg, var(--bg), var(--bg2))}html[data-theme=light]{--bg: #f4f6fb;--bg2: #ffffff;--text: rgba(10, 14, 20, .9);--muted: rgba(10, 14, 20, .62);--panel: rgba(255, 255, 255, .75);--panel2: rgba(255, 255, 255, .55);--line: rgba(10, 14, 20, .12);--accent: #0ea56b;--danger: #d72d2d;--glass-border: rgba(10, 14, 20, .12);--shadow-soft: 0 14px 40px rgba(0, 0, 0, .12);--menu-bg: rgba(255, 255, 255, .92);--menu-line: rgba(10, 14, 20, .14);--app-bg: radial-gradient( clamp(560px, 96vw, 1200px) clamp(380px, 70vh, 720px) at 50% -12%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 60% ), radial-gradient( clamp(460px, 82vw, 900px) clamp(320px, 62vh, 620px) at 84% 4%, rgba(120, 160, 255, .14), transparent 58% ), linear-gradient(180deg, var(--bg), var(--bg2))}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;font-family:var(--font-sans);color:var(--text);min-height:100dvh;background-color:var(--bg);background-image:var(--app-bg);background-repeat:no-repeat;background-size:cover;background-attachment:scroll}a{color:inherit;text-decoration:none}code,pre{font-family:var(--font-mono)}.shell{max-width:1100px;margin:0 auto;padding:28px}.shell--center{min-height:100vh;display:grid;place-items:center;padding:28px}.landing{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto}.landingHeader{display:flex;align-items:center;justify-content:space-between;padding:20px 28px}.brandRow{display:flex;align-items:baseline;gap:10px}.brandMark{font-weight:760;letter-spacing:.3px;font-size:18px}.brandMeta{color:var(--muted);font-size:13px}.landingMain{max-width:1100px;margin:0 auto;width:100%;padding:0 28px 28px;display:grid;gap:18px;align-content:start}.hero{padding:18px 4px 6px}.heroTitle{font-size:clamp(28px,4vw,44px);line-height:1.05;letter-spacing:-.02em;margin:0 0 10px}.heroSubtitle{margin:0 0 14px;color:var(--muted);max-width:72ch}.heroCtas{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.ghostLink{color:var(--muted);font-size:13px;border-bottom:1px dashed var(--line);padding-bottom:2px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media (max-width: 900px){.grid3{grid-template-columns:1fr}}.landingFooter{padding:18px 28px 28px;color:var(--muted);font-size:12px}.panel{min-height:100vh;display:grid;grid-template-rows:auto 1fr}.panelTopbar{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 65%,transparent);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));position:sticky;top:0;z-index:20}.panelBrand{display:grid;gap:2px;line-height:1.1}.panelBrandSub{color:var(--muted);font-size:12px}.panelTopbarRight{margin-left:auto;display:flex;align-items:center;gap:10px}.panelBody{display:grid;grid-template-columns:260px 1fr;min-height:0}.panelNav{border-right:1px solid var(--line);background:color-mix(in srgb,var(--panel2) 75%,transparent);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));padding:14px 12px}.panelMain{min-width:0;padding:18px}@media (prefers-reduced-motion: no-preference){.panelMain>*{animation:viewIn var(--dur-fast) var(--ease-out) both}}.routeView{animation:viewIn var(--dur-fast) var(--ease-out) both;will-change:opacity,transform}@keyframes viewIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.stack{display:grid;gap:14px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid2wide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gridCols{display:grid;grid-template-columns:380px 1fr;gap:14px;align-items:start}.gridCols>*{min-width:0}.metaGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.metaGrid>*{min-width:0}@media (max-width: 980px){.grid2,.grid2wide,.metaGrid,.gridCols{grid-template-columns:1fr}}.metaValue{margin-top:6px;font-weight:650;min-width:0;overflow:hidden;text-overflow:ellipsis}.sessionList{display:grid;gap:8px}.sessionItem{border:1px solid var(--line);border-radius:var(--radius-md);padding:10px;background:color-mix(in srgb,var(--text) 4%,transparent);color:var(--text);cursor:pointer;text-align:left;transition:transform var(--dur-snap) var(--ease-out),border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.sessionItem:hover{transform:translateY(-1px)}.sessionItem--active{border-color:color-mix(in srgb,var(--accent) 32%,var(--line));background:color-mix(in srgb,var(--accent) 10%,transparent)}.sessionTop{display:flex;align-items:center;justify-content:space-between;gap:8px}.sessionKey{font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sessionSub{margin-top:6px;color:var(--muted);font-size:12px}.chat{display:grid;gap:10px;min-width:0}.bubble{border:1px solid var(--line);border-radius:var(--radius-lg);padding:10px 12px;background:color-mix(in srgb,var(--text) 4%,transparent);min-width:0}.bubble--out{border-color:color-mix(in srgb,var(--accent) 28%,var(--line));background:color-mix(in srgb,var(--accent) 9%,transparent)}.bubbleType{color:var(--muted);font-size:12px}.bubbleText{margin-top:6px;white-space:pre-wrap;line-height:1.45}.bubbleJson{margin:8px 0 0;font-size:12px;border:1px solid var(--line);border-radius:var(--radius-md);padding:10px;overflow:auto;max-width:100%;background:color-mix(in srgb,#000 18%,transparent)}.bubbleTime{margin-top:8px;color:var(--muted);font-size:11px}.range{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.rangeItem{display:grid;gap:6px}@media (max-width: 860px){.panelBody{grid-template-columns:1fr}.panelNav{position:fixed;left:12px;right:12px;top:64px;border:1px solid var(--line);border-radius:var(--radius-lg);transform:translateY(-10px);opacity:0;pointer-events:none;transition:opacity .16s var(--ease-out),transform .16s var(--ease-out);z-index:30}.panelNav--open{transform:translateY(0);opacity:1;pointer-events:auto}}.glass{border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--panel);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));box-shadow:var(--shadow-soft);padding:16px;animation:cardIn var(--dur-fast) var(--ease-out) both;will-change:opacity,transform}@keyframes cardIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.cardKicker{color:var(--muted);font-size:12px;letter-spacing:.04em;text-transform:uppercase}.cardTitle{margin-top:6px;font-weight:700}.cardBody{margin-top:6px;color:var(--muted);font-size:13px;line-height:1.5}.btn{border-radius:999px;padding:10px 14px;border:1px solid var(--line);cursor:pointer;color:var(--text);background:transparent;transition:transform var(--dur-snap) var(--ease-out),border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);font-weight:600;will-change:transform}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}.btn--secondary{background:color-mix(in srgb,var(--text) 6%,transparent)}.btn--danger{background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:color-mix(in srgb,var(--danger) 30%,var(--line))}.btn:hover:not(:disabled){transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 34%,var(--line))}.btn:active:not(:disabled){transform:translateY(0) scale(.98)}.btn:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}.pill{border:1px solid var(--line);border-radius:999px;padding:8px 10px;background:color-mix(in srgb,var(--text) 6%,transparent);font-size:13px;cursor:pointer;color:var(--text);transition:transform var(--dur-snap) var(--ease-out),border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);will-change:transform}.pill:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.pill:active{transform:translateY(0) scale(.99)}.pill--icon{padding:0;width:42px;height:38px;display:grid;place-items:center;line-height:0;color:var(--text)}.pill--icon svg{display:block;transform:translateY(0)}.modalOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:18px;background:color-mix(in srgb,#000 55%,transparent);-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);animation:fadeIn var(--dur-fast) var(--ease-out) both}.modal{width:min(560px,calc(100vw - 32px));border-radius:calc(var(--radius-lg) + 2px);border:1px solid color-mix(in srgb,var(--glass-border) 90%,transparent);background:color-mix(in srgb,var(--panel) 92%,transparent);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));box-shadow:var(--shadow-soft);padding:16px;animation:viewIn var(--dur-fast) var(--ease-out) both}.modalTitle{font-weight:760;letter-spacing:-.01em}.modalBody{margin-top:10px;color:var(--muted);line-height:1.5}.modalFooter{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.modalActions{display:flex;justify-content:flex-end;gap:10px}.modalMsg{color:var(--muted)}.pill--muted{color:var(--muted);cursor:default}.iconBtn{border:1px solid var(--line);background:transparent;border-radius:12px;width:40px;height:40px;cursor:pointer;display:grid;place-items:center;color:var(--text);transition:transform var(--dur-snap) var(--ease-out),border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.iconBtn:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--text) 6%,transparent);border-color:color-mix(in srgb,var(--accent) 26%,var(--line))}.iconBtn:active{transform:translateY(0) scale(.98)}.iconBtn__bars{width:18px;height:12px;position:relative}.iconBtn__bars:before,.iconBtn__bars:after,.iconBtn__bars{display:block}.iconBtn__bars:before,.iconBtn__bars:after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--text);border-radius:2px;opacity:.8}.iconBtn__bars:before{top:0}.iconBtn__bars:after{bottom:0}.iconBtn__bars{background:var(--text);height:2px;border-radius:2px;opacity:.8}.navList{display:grid;gap:6px}.navItem{border:1px solid transparent;border-radius:12px;padding:10px;color:var(--muted);transition:background .16s var(--ease-out),border-color .16s var(--ease-out),color .16s var(--ease-out)}.navItem:hover{background:color-mix(in srgb,var(--text) 6%,transparent);color:var(--text)}.navItem--active{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 28%,var(--line));color:var(--text)}.field{display:grid;gap:6px}.fieldLabel{color:var(--muted);font-size:12px}.input,.select{width:100%;border-radius:var(--radius-md);border:1px solid var(--line);background:color-mix(in srgb,var(--text) 5%,transparent);padding:10px 12px;color:var(--text);outline:none}.selectShell{position:relative}.selectBtn{width:100%;border-radius:var(--radius-md);border:1px solid var(--line);background:color-mix(in srgb,var(--text) 5%,transparent);padding:10px 12px;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;transition:transform var(--dur-snap) var(--ease-out),border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.selectBtn:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 34%,var(--line))}.selectBtnLabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.selectBtnChevron{width:10px;height:10px;border-right:2px solid color-mix(in srgb,var(--text) 70%,transparent);border-bottom:2px solid color-mix(in srgb,var(--text) 70%,transparent);transform:rotate(45deg);margin-top:-2px;opacity:.8}.selectMenu{position:absolute;z-index:50;left:0;right:0;top:calc(100% + 8px);border-radius:var(--radius-md);border:1px solid var(--menu-line);background:var(--menu-bg);-webkit-backdrop-filter:blur(calc(var(--glass-blur) * .9)) saturate(var(--glass-sat));backdrop-filter:blur(calc(var(--glass-blur) * .9)) saturate(var(--glass-sat));box-shadow:var(--shadow-soft);padding:6px;display:grid;gap:4px;max-height:280px;overflow:auto;animation:fadeIn var(--dur-fast) var(--ease-out) both}.selectBtn[aria-expanded=true] .selectBtnChevron{transform:rotate(-135deg);margin-top:2px}.selectItem{border:1px solid transparent;background:transparent;color:var(--text);border-radius:12px;padding:10px;cursor:pointer;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:10px;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-snap) var(--ease-out)}.selectItem--active,.selectItem:hover{background:color-mix(in srgb,var(--text) 6%,transparent);border-color:color-mix(in srgb,var(--accent) 24%,transparent);transform:translateY(-1px)}.selectItem--selected{background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.selectItemLabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selectItemMark{font-weight:800;color:color-mix(in srgb,var(--accent) 88%,var(--text))}.textarea{width:100%;border-radius:var(--radius-md);border:1px solid var(--line);background:color-mix(in srgb,var(--text) 4%,transparent);padding:10px 12px;color:var(--text);outline:none;resize:vertical;font-family:var(--font-mono);font-size:13px;line-height:1.45}.input:focus{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.select:focus,.textarea:focus{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.selectBtn:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}.form{display:grid;gap:12px}.formError{color:var(--danger);font-size:13px}.authCard{width:min(520px,92vw)}.authHeader{display:grid;gap:6px;margin-bottom:14px}.authTitle{font-weight:780;letter-spacing:-.01em;font-size:18px}.authHint{color:var(--muted);font-size:13px}.notFoundCard{width:min(520px,92vw);text-align:center;display:grid;gap:10px;justify-items:center}.notFoundCode{font-size:44px;font-weight:800;letter-spacing:-.04em}.notFoundTitle{font-weight:700}.notFoundHint{color:var(--muted);font-size:13px;max-width:52ch}.skeleton{height:12px;border-radius:999px;background:linear-gradient(90deg,#ffffff12,#ffffff24,#ffffff12);background-size:200% 100%;animation:shimmer 1.15s linear infinite,fadeIn var(--dur-fast) var(--ease-out) both}@keyframes fadeIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.badge{display:inline-flex;align-items:center;border-radius:8px;border:none;padding:0;font-size:12px;color:var(--muted);background:transparent}.badge--accent{color:color-mix(in srgb,var(--accent) 85%,var(--text))}.badge--danger{color:color-mix(in srgb,var(--danger) 85%,var(--text))}.status{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);white-space:nowrap}.status--good{color:color-mix(in srgb,var(--accent) 88%,var(--text))}.status--bad{color:color-mix(in srgb,var(--danger) 88%,var(--text))}.status--warn{color:color-mix(in srgb,#f5c86a 88%,var(--text))}.statusDot{width:8px;height:8px;border-radius:999px;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 12%,transparent);transition:transform var(--dur-snap) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.status{transition:color var(--dur-fast) var(--ease-out);animation:fadeIn var(--dur-fast) var(--ease-out) both}.status--dot .statusDot{animation:dotPop var(--dur-fast) var(--ease-out) both}@keyframes dotPop{0%{transform:scale(.92)}to{transform:scale(1)}}.statusIcon{display:grid;place-items:center}.statusLabel{line-height:1}.panelHeader{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}.panelHeaderTitle{font-weight:760;letter-spacing:-.01em;font-size:18px}.panelHeaderSubtitle{color:var(--muted);font-size:13px;margin-top:4px}.panelHeaderRight{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.divider{height:1px;background:var(--line);margin:14px 0}.pre{margin:10px 0 0;border-radius:var(--radius-md);border:1px solid var(--line);background:color-mix(in srgb,#000 20%,transparent);padding:12px;overflow:auto;font-size:13px}.table{display:grid}.tableHead,.tableRow{display:grid;grid-template-columns:var(--table-cols, 1fr 120px 120px 120px);gap:0;align-items:center}.tableHead{color:var(--muted);font-size:12px;padding:10px 0;border-bottom:1px solid var(--line)}.tableRow{padding:12px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.tableHead>*,.tableRow>*{padding:0 12px}.tableHead>:not(:first-child),.tableRow>:not(:first-child){border-left:1px solid color-mix(in srgb,var(--line) 55%,transparent)}.rowMain{min-width:0}.rowLink{color:var(--text);font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.rowSub{color:var(--muted);font-size:12px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rowActions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.rowActions--center{justify-content:center}.cellActions{display:flex;justify-content:center;align-items:center;gap:10px;margin:0;min-width:0}.cellActions--end{justify-content:flex-end}.skRow{height:16px;margin:8px 0}.tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;width:100%}.tab{border:1px solid var(--line);background:color-mix(in srgb,var(--text) 4%,transparent);color:var(--muted);border-radius:999px;padding:9px 12px;font-size:13px;transition:transform var(--dur-snap) var(--ease-out),border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.tab:hover{transform:translateY(-1px)}.tab--active{background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:color-mix(in srgb,var(--accent) 30%,var(--line));color:var(--text)}.muted{color:var(--muted);font-size:13px}.qrWrap{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}.qrImg{width:220px;height:220px;border-radius:var(--radius-md);border:1px solid var(--line);background:#fff}.qrEmpty{width:220px;height:220px;border-radius:var(--radius-md);border:1px dashed var(--line);display:grid;place-items:center;color:var(--muted);font-size:13px}.qrMeta .metaValue{margin-top:6px}.authGrid{display:grid;grid-template-columns:260px 1fr;gap:14px;align-items:stretch}.authGrid--single{grid-template-columns:1fr 1fr}.authLeft{display:grid;justify-items:start}.authRight{display:grid;place-items:center;min-height:240px}.authCentered{text-align:center;max-width:64ch}.authConfig{border-left:1px solid color-mix(in srgb,var(--line) 55%,transparent);padding-left:14px}.kv{display:grid;gap:8px;margin-top:10px}.kvRow{display:grid;grid-template-columns:180px 1fr;gap:12px;align-items:start}.kvKey{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kvVal{font-family:var(--font-mono);font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 720px){.tableHead,.tableRow{grid-template-columns:1fr 110px 110px}.tableHead>:nth-child(4),.tableRow>:nth-child(4){display:none}.qrWrap{grid-template-columns:1fr}.qrImg,.qrEmpty{width:100%;height:auto;aspect-ratio:1 / 1;max-width:360px}.authGrid,.authGrid--single{grid-template-columns:1fr}.authRight{min-height:unset;place-items:start}.authCentered{text-align:left}.authConfig{border-left:none;padding-left:0;border-top:1px solid color-mix(in srgb,var(--line) 55%,transparent);padding-top:14px}.kvRow{grid-template-columns:1fr;gap:6px}}html[data-theme=light] .skeleton{background:linear-gradient(90deg,#0a0e140f,#0a0e141f,#0a0e140f)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
