@charset "UTF-8";.site{--w70: rgba(255, 255, 255, .7);--w50: rgba(255, 255, 255, .5);--w30: rgba(255, 255, 255, .3);--w12: rgba(255, 255, 255, .12);--w06: rgba(255, 255, 255, .06);display:block;min-height:100%;background:#000;color:#fff;font-family:var(--font);font-size:16px;line-height:1.55}.site ::selection{background:#fff;color:#000}.site :focus-visible{outline:2px solid #fff;outline-offset:3px}.site [tabindex="-1"]:focus{outline:none}.site p,.site h1,.site h2,.site h3,.site ul,.site ol{margin:0}.site ul.plain,.site ol.plain{padding:0;list-style:none}.site .wrap{max-width:1120px;margin:0 auto;padding:0 24px}.site .mono{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--w50)}.site .dim{color:var(--w50)}.site .b{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border-radius:999px;font-size:14px;font-weight:500;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,transform .1s}.site .b:active{transform:scale(.98)}.site .b.lg{height:48px;padding:0 24px;font-size:15px}.site .b.solid{background:#fff;color:#000}.site .b.solid:hover{background:var(--w70)}.site .b.line{border:1px solid var(--w30)}.site .b.line:hover{border-color:#fff}.site .b.ghost{color:var(--w70)}.site .b.ghost:hover{color:#fff}.site .b .arr{transition:transform .2s}.site .b:hover .arr{transform:translate(3px)}@media(max-width:560px){.site .wrap{padding:0 16px}}body:has(.site){background:#000}:root{--bg: #ffffff;--sidebar: #f7f7f8;--surface: #ffffff;--border: #e5e5e5;--border-strong: #d4d4d8;--text: #202123;--muted: #6b7280;--faint: #9ca3af;--hover: #ececf1;--soft: #f4f4f5;--accent: #202123;--accent-fg: #ffffff;--success: #10a37f;--success-bg: #ecfdf5;--warning: #d97706;--warning-bg: #fffbeb;--error: #dc2626;--error-bg: #fef2f2;--grid: #f3f3f4;--lane: #fbfbfb;--term: #f4f4f5;--shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 4px 16px rgba(0, 0, 0, .035);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .08), 0 1px 3px rgba(0, 0, 0, .05);--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #212121;--sidebar: #171717;--surface: #262626;--border: #343434;--border-strong: #474747;--text: #ececec;--muted: #a1a1aa;--faint: #71717a;--hover: #2f2f2f;--soft: #2c2c2c;--accent: #ececec;--accent-fg: #171717;--success-bg: rgba(16, 163, 127, .14);--warning-bg: rgba(217, 119, 6, .14);--error-bg: rgba(220, 38, 38, .14);--grid: #282828;--lane: #242424;--term: #303030}}:root[data-theme=dark]{--bg: #212121;--sidebar: #171717;--surface: #262626;--border: #343434;--border-strong: #474747;--text: #ececec;--muted: #a1a1aa;--faint: #71717a;--hover: #2f2f2f;--soft: #2c2c2c;--accent: #ececec;--accent-fg: #171717;--success-bg: rgba(16, 163, 127, .14);--warning-bg: rgba(217, 119, 6, .14);--error-bg: rgba(220, 38, 38, .14);--grid: #282828;--lane: #242424;--term: #303030}*,*:before,*:after{box-sizing:border-box}html{height:100%;scroll-padding-top:env(safe-area-inset-top,0px)}body{height:100%;margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}body:has(xb-shell){overflow:hidden}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--text);outline-offset:2px}code{font-family:var(--mono);font-size:12px}.btn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border-radius:9px;font-weight:500;font-size:13.5px;white-space:nowrap;transition:background .15s,opacity .15s}.btn:disabled{opacity:.5;cursor:default}.btn-ghost:hover:not(:disabled){background:var(--hover)}.btn-outline{border:1px solid var(--border);background:var(--surface)}.btn-outline:hover:not(:disabled){background:var(--soft)}.btn-primary{background:var(--accent);color:var(--accent-fg)}.btn-primary:hover:not(:disabled){opacity:.88}.btn-danger{color:var(--error)}.btn-sm{height:30px;padding:0 10px;font-size:13px;border-radius:8px}.icon-btn{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;color:var(--muted);flex-shrink:0}.icon-btn:hover:not(:disabled){background:var(--hover);color:var(--text)}.icon-btn:disabled{opacity:.35;cursor:default}.seg{display:inline-flex;background:var(--soft);border-radius:10px;padding:3px;gap:2px}.seg button{height:28px;padding:0 12px;border-radius:7px;font-size:13px;font-weight:500;color:var(--muted);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.seg button:hover{color:var(--text)}.seg button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000000f,0 0 0 1px var(--border)}.chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;border:1px solid var(--border);font-size:12px;color:var(--muted);background:var(--surface);white-space:nowrap}.pill{font-size:11.5px;font-weight:500;padding:3px 8px;border-radius:6px;background:var(--soft);color:var(--muted);white-space:nowrap}.pill.ok{background:var(--success-bg);color:var(--success)}.pill.warn{background:var(--warning-bg);color:var(--warning)}.pill.err{background:var(--error-bg);color:var(--error)}.linkbtn{text-decoration:underline;text-underline-offset:2px;font-weight:500}.spin{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:xb-rot .7s linear infinite;display:inline-block;flex-shrink:0}.muted{color:var(--muted)}.page{height:100%;overflow:auto;padding:32px}.page-inner{max-width:900px;margin:0 auto}.page h1{font-size:22px;font-weight:600;letter-spacing:-.015em;margin:0 0 6px}.page .sub{color:var(--muted);margin:0 0 24px}.list{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface)}.list-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border)}.list-row:last-child{border-bottom:0}.empty-state{text-align:center;color:var(--muted);padding:64px 20px;border:1px dashed var(--border-strong);border-radius:14px}@keyframes xb-rot{to{transform:rotate(360deg)}}@keyframes xb-fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes xb-fade{0%{opacity:0}to{opacity:1}}.fc-svg{width:100%;height:100%;display:block}.fc-frame-fill{fill:var(--surface)}.fc-frame-line{fill:none;stroke:var(--border-strong);stroke-width:1}.fc-lane-bg{fill:var(--lane)}.fc-lane-hd{fill:var(--sidebar)}.fc-lane-line{stroke:var(--border);stroke-width:1}.fc-lane-txt{font-size:12px;font-weight:600;fill:var(--muted);letter-spacing:.02em}.fc-node{cursor:pointer}.fc-in{animation:fc-pop .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--d) * 60ms);transform-box:fill-box;transform-origin:center}.fc-shape{fill:var(--surface);stroke:var(--text);stroke-width:1.4;transition:stroke .15s,stroke-width .15s}.fc-term{fill:var(--term)}.fc-shape-line{stroke:var(--text);stroke-width:1.2}.fc-halo{fill:none;stroke:transparent;stroke-width:10;transition:stroke .15s}.fc-node:hover .fc-halo{stroke:var(--soft)}.fc-sel .fc-halo{stroke:#10a37f29}.fc-sel .fc-shape{stroke:var(--success);stroke-width:2}.fc-new .fc-shape{animation:fc-flash 1.6s ease 2}.fc-lbl{font-size:12px;font-weight:500;fill:var(--text)}.fc-lbl-d{font-size:11.5px;font-weight:500;fill:var(--text)}.fc-api{font-family:var(--mono);font-size:9.5px;fill:var(--success)}.fc-edge{fill:none;stroke:var(--muted);stroke-width:1.4;animation:xb-fade .5s both;animation-delay:calc(var(--d) * 60ms + .16s)}.fc-edge-lbl{font-size:11px;font-weight:600;fill:var(--muted);animation:xb-fade .5s both;animation-delay:calc(var(--d) * 60ms + .16s)}.fc-arrowhead{fill:var(--muted)}@keyframes fc-pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}@keyframes fc-flash{50%{stroke:var(--success);stroke-width:2.6}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-width:900px){body{overflow:auto}}
