:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#17202a;background:#f5f7f9}*{box-sizing:border-box}body{margin:0}header{height:68px;background:#fff;border-bottom:1px solid #dde3e8;display:flex;align-items:center;justify-content:space-between;padding:0 5vw}header div{display:flex;gap:14px;align-items:baseline}header strong{font-size:20px}header span,.muted{color:#66717e}.badge{border:1px solid #cfd6dd;border-radius:999px;padding:7px 11px;font-size:13px}main{max-width:1280px;margin:auto;padding:64px 4vw}.hero{max-width:850px}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:800;color:#53606c}.hero h1{font-size:clamp(36px,5vw,62px);line-height:1.03;margin:12px 0 20px}.hero>p:not(.eyebrow){font-size:18px;line-height:1.6;color:#56616d}.warning{margin-top:24px;padding:13px 15px;background:#fff;border:1px solid #d8dee5;border-left:4px solid #5f6b76;border-radius:8px}.workspace{display:grid;grid-template-columns:1fr .72fr 1fr;gap:18px;margin-top:42px}.card{background:#fff;border:1px solid #dce2e8;border-radius:14px;padding:22px;min-width:0}.card h2{font-size:18px;margin:0 0 18px}.upload{display:block;border:1px dashed #aeb8c2;border-radius:10px;padding:28px 16px;text-align:center;cursor:pointer}.upload input{display:block;margin:14px auto 0;max-width:100%}select,button{width:100%;min-height:46px;border:1px solid #cbd3db;border-radius:9px;padding:10px;font-size:16px;background:#fff}button{margin-top:18px;background:#17202a;color:#fff;font-weight:750;cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}.status{display:flex;align-items:center;gap:8px;margin-top:18px;font-size:14px}#dot{width:9px;height:9px;border-radius:50%;background:#9ba5ae}.status.ok #dot{background:#25845a}.status.bad #dot{background:#a84545}canvas{max-width:100%;margin-top:15px;border-radius:8px;display:none}.empty{color:#77828d;padding:30px 0}dl{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;font-size:14px}dt{font-weight:700}.architecture{margin-top:26px}.flow{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.flow span{background:#fff;border:1px solid #dce2e8;border-radius:9px;padding:12px 14px}.flow b{font-size:22px}footer{padding:26px 5vw;border-top:1px solid #dde3e8;color:#68737e;background:#fff}@media(max-width:900px){.workspace{grid-template-columns:1fr}.hero h1{font-size:40px}}