@charset "UTF-8";:root{--bg: #1c1c1d;--panel: #242426;--panel-2: #2b2b2e;--line: #343437;--line-strong: #45454a;--ink: #ececee;--muted: #9a9aa1;--faint: #6b6b72;--source: #3ec5c0;--target: #f0a830;--good: #6fc36a;--bad: #e06c5a;--mono: ui-monospace, SFMono-Regular, JetBrains Mono, Menlo, Consolas, monospace;--sans: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif}*{box-sizing:border-box}body{margin:0;background:#1c1c1d;color:#ececee;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}.wrap{max-width:920px;margin:0 auto;padding:48px 24px 80px}:focus-visible{outline:2px solid #3ec5c0;outline-offset:2px}code{font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,Consolas,monospace;color:#9a9aa1}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.hero{margin-bottom:36px}.hero__eyebrow{font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,Consolas,monospace;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#9a9aa1;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hero__eyebrow b{color:#3ec5c0;font-weight:600}.hero__eyebrow i{color:#f0a830;font-weight:600;font-style:normal}.hero__eyebrow .arrow{color:#6b6b72}.hero__title{font-size:40px;line-height:1.05;margin:14px 0 8px;letter-spacing:-.02em;font-weight:680}.hero__subtitle{margin:0 0 8px;font-size:18px;font-weight:600;letter-spacing:-.01em}.hero__subtitle b{color:#3ec5c0;font-weight:600}.hero__subtitle i{color:#f0a830;font-weight:600;font-style:normal}.hero__lede{color:#9a9aa1;max-width:62ch;margin:0}@media (max-width: 640px){.hero__title{font-size:30px}}.pipeline{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:32px 0;padding:0;list-style:none}.stage{border:1px solid #343437;border-radius:10px;padding:12px 12px 14px;background:#242426;position:relative;overflow:hidden;transition:border-color .25s,background .25s}.stage__n{font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,Consolas,monospace;font-size:11px;color:#6b6b72}.stage__t{font-size:13px;margin-top:4px;color:#9a9aa1;transition:color .25s}.stage:after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:#f0a830;transition:width .4s ease}.stage.is-run{border-color:#f0a830;background:#2b2b2e}.stage.is-run .stage__t{color:#ececee}.stage.is-run .stage__n{color:#f0a830}.stage.is-run:after{width:100%}@media (max-width: 640px){.pipeline{grid-template-columns:repeat(2,1fr)}.pipeline .stage:last-child{grid-column:span 2}}.card{border:1px solid #343437;border-radius:14px;background:#242426;padding:22px;margin-bottom:20px}.card__title{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#9a9aa1;margin:0 0 16px;font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,Consolas,monospace;font-weight:600}.card__hint{color:#6b6b72;font-size:12.5px;margin:-8px 0 16px}.chips{display:inline-flex;gap:6px;flex-wrap:wrap;letter-spacing:0;text-transform:none}.chip{--chip: #9a9aa1;display:inline-flex;align-items:center;gap:6px;font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,Consolas,monospace;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:6px;color:var(--chip);background:color-mix(in srgb,var(--chip) 14%,transparent);border:1px solid color-mix(in srgb,var(--chip) 28%,transparent);line-height:1.5}.chip svg{width:12px;height:12px;display:block}.chip--role-source{--chip: #3ec5c0}.chip--role-target{--chip: #f0a830}.chip--unknown{--chip: #e06c5a}.err{color:#e06c5a;font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,Consolas,monospace;font-size:13px;margin-top:12px;display:none}.err.is-show{display:block}.note{color:#6b6b72;font-size:12.5px;margin-top:20px;line-height:1.7}.note ul{margin:6px 0 0;padding-left:18px}.note li+li{margin-top:4px}.drop{display:block;border:1.5px dashed rgba(62,197,192,.45);border-radius:12px;padding:34px 20px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;background:#3ec5c014}.drop:hover,.drop.is-over{border-color:#3ec5c0;background:#3ec5c029}.drop__big{font-size:16px;font-weight:600}.drop__small{color:#9a9aa1;font-size:13px;margin-top:6px}.drop.has-files{border-style:solid;border-color:#3ec5c0;padding:16px 18px}.drop.has-files .drop__body{display:flex;align-items:center;gap:14px;text-align:left}.drop input[type=file]{display:none}.filechip{width:40px;height:40px;border-radius:9px;flex:none;background:#3ec5c024;color:#3ec5c0;display:grid;place-items:center;font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,Consolas,monospace;font-size:11px;font-weight:700}.filelist{margin-top:8px;display:grid;gap:4px}.file{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,Consolas,monospace;font-size:12.5px;color:#9a9aa1}.file__name{font-weight:500;color:#ececee;word-break:break-all}.file__meta{color:#6b6b72}.fname{font-weight:600;word-break:break-all}.networks{display:grid;gap:18px;margin-bottom:20px}.networks__group{display:grid;gap:10px}.networks__title{display:flex;align-items:center;gap:12px;margin:4px 0 0;font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,Consolas,monospace;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#6b6b72}.networks__title:after{content:"";flex:1;height:1px;background:#343437}.networks__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.network{--net: #9a9aa1;position:relative;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid #343437;border-radius:10px;background:#2b2b2e;cursor:pointer;transition:border-color .2s,background .2s,transform .06s;-webkit-user-select:none;user-select:none}.network input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.network__logo{width:40px;height:40px;display:grid;place-items:center;border-radius:9px;background:#ffffff0a}.network__logo svg{width:26px;height:26px;display:block}.network__body{min-width:0}.network__name{display:block;font-weight:600;font-size:14.5px;letter-spacing:-.005em}.network__hint{display:block;font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,Consolas,monospace;font-size:11px;color:#6b6b72;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.network__check{width:20px;height:20px;border-radius:6px;border:1.5px solid #45454a;display:grid;place-items:center;transition:border-color .2s,background .2s}.network__check:after{content:"";width:10px;height:6px;border-left:2px solid #1c1c1d;border-bottom:2px solid #1c1c1d;transform:rotate(-45deg) translate(1px,-1px);opacity:0;transition:opacity .15s}.network.is-available:hover{border-color:color-mix(in srgb,var(--net) 55%,#343437)}.network.is-available:has(input:checked){border-color:var(--net);background:color-mix(in srgb,var(--net) 10%,#2b2b2e)}.network.is-available:has(input:checked) .network__check{border-color:var(--net);background:var(--net)}.network.is-available:has(input:checked) .network__check:after{opacity:1}.network.is-available:has(input:focus-visible){outline:2px solid #3ec5c0;outline-offset:2px}.network.is-disabled{cursor:not-allowed;background:#242426;border-style:dashed}.network.is-disabled .network__logo{filter:grayscale(1);opacity:.35}.network.is-disabled .network__name{color:#6b6b72}.network.is-disabled .network__check{border-color:#343437;opacity:.5}@media (max-width: 640px){.networks__grid{grid-template-columns:1fr 1fr}}@media (max-width: 420px){.networks__grid{grid-template-columns:1fr}}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.btn{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;font-weight:600;border:none;border-radius:10px;padding:13px 22px;cursor:pointer;transition:transform .06s,filter .2s,opacity .2s}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--primary{background:#f0a830;color:#1a1205}.btn--primary:not(:disabled):hover{filter:brightness(1.08)}.btn--ghost{background:transparent;color:#ececee;border:1px solid #343437}.btn--ghost:not(:disabled):hover{border-color:#9a9aa1}.report{display:none}.report.is-show{display:block}.result{padding-top:18px;margin-top:18px;border-top:1px solid #343437}.result:first-child{padding-top:0;margin-top:0;border-top:none}.result__line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;font-size:14px}.result__line .arrow{color:#6b6b72}.result__line .name{color:#9a9aa1;font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,Consolas,monospace;font-size:12.5px;word-break:break-all}.result__line .audit{margin-left:auto;font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,Consolas,monospace;font-size:11px;letter-spacing:.04em;padding:2px 8px;border-radius:999px;border:1px solid}.result__line .audit--ok{color:#6fc36a;border-color:#6fc36a66}.result__line .audit--warn{color:#f0a830;border-color:#f0a83066}.log{font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.8;margin:0;padding:0}.log li{list-style:none;color:#9a9aa1}.log li:before{content:"› ";color:#6fc36a}.log li.is-section{color:#6b6b72;margin-top:4px}.log li.is-section:before{content:""}.log li.is-info{color:#6b6b72}.log li.is-info:before{content:"  "}.log li.is-warn{color:#f0a830}.log li.is-warn:before{content:"! ";color:#f0a830}.log li.is-error{color:#e06c5a}.log li.is-error:before{content:"× ";color:#e06c5a}.files{margin-top:16px;border-top:1px solid #343437;padding-top:14px}.frow{display:flex;justify-content:space-between;gap:16px;font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,Consolas,monospace;font-size:13px;padding:4px 0;color:#9a9aa1}.frow .p{color:#ececee;word-break:break-all}.frow--total{margin-top:8px;font-weight:600;color:#ececee;border-top:1px dashed #343437;padding-top:8px}.logstatus{font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,Consolas,monospace;font-size:12px;color:#6b6b72;margin-top:12px}.logstatus code{color:#9a9aa1}
