.af-intro{padding:12px 0 36px;max-width:900px}.af-intro h1{font-size:clamp(30px,3.5vw,46px)}
.af-layout{--af-blue:#3688d7;--af-orange:#d87c35;--af-green:#489a65;display:grid;grid-template-columns:minmax(285px,340px) minmax(0,1fr);gap:36px;align-items:start}
.af-controls{padding:22px;border:1px solid var(--line);border-radius:var(--radius);min-width:0}.af-controls h2,.af-result h2{font-size:22px}.af-controls-title,.af-result-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.af-link{background:none;text-decoration:underline;text-underline-offset:4px;min-height:44px;font-size:14px;white-space:nowrap}
.af-hint{font-size:13px;line-height:1.7;margin:10px 0;color:var(--muted)}.af-controls details{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.af-controls summary,.af-assumptions summary{font-weight:500;min-height:44px;display:list-item;padding:8px 0}
.af-field{display:flex;flex-direction:column;gap:6px;font-size:14px;min-width:0;margin:10px 0}.af-layout select,.af-layout input[type=number]{width:100%;min-height:44px;padding:8px 10px;border:1px solid #aaa;background:var(--surface);color:var(--text);border-radius:4px;font-size:16px}.af-source-row{border-bottom:1px solid var(--line);padding:4px 0 12px}.af-source-row:last-child{border:0}.af-source-row h3{font-size:15px;margin-top:10px}.af-source-row .af-field:last-child{display:grid;grid-template-columns:1fr 95px;align-items:center}.af-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}.af-check-grid label{display:flex;align-items:center;gap:8px;min-height:44px;font-size:14px}.af-layout input[type=checkbox]{width:18px;height:18px;accent-color:var(--text);flex-shrink:0}.af-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.af-actions .button{flex:1;padding-inline:12px}.af-layout button:disabled{opacity:.45;cursor:default}.af-layout #af-error{color:#b3261e;font-size:14px;margin-top:14px}.af-result{min-width:0}.af-result-top{align-items:flex-start}.af-result-top p{font-size:14px;margin-top:8px}.af-result-top .af-field{margin:0;min-width:130px}.af-result canvas{display:block;width:100%;aspect-ratio:1;margin:18px 0}.af-legend{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px}.af-legend span{display:flex;align-items:center;gap:6px}.af-legend i{width:12px;height:12px;border-radius:2px;display:inline-block}.af-source-0{background:var(--af-blue)}.af-source-1{background:var(--af-orange)}.af-source-2{background:var(--af-green)}.af-result progress{display:block;width:100%;height:8px;margin-top:18px;accent-color:var(--text)}.af-assumptions{border-top:1px solid var(--line);margin-top:20px;padding-top:8px;font-size:14px}.af-assumptions p{padding:8px 0;line-height:1.8}
@media(max-width:1050px){.af-layout{grid-template-columns:minmax(260px,300px) minmax(0,1fr);gap:20px}.page-airflow .site-header nav{gap:14px}}
@media(max-width:800px){.af-layout{grid-template-columns:1fr}.af-result{grid-row:1}.af-controls{padding:18px}.af-intro{padding-bottom:24px}.af-result-top{flex-wrap:wrap}.af-result-top .af-field{min-width:120px}.af-controls .af-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.page-airflow{scroll-behavior:auto}}

.af-exit-row{display:grid;grid-template-columns:1fr 130px;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.af-exit-row>label{display:flex;align-items:center;gap:8px;font-size:14px;min-height:44px}.af-exit-row .af-field{margin:0}.af-exit-row input:disabled{opacity:.45}.af-source-row .af-check-grid{margin-top:8px}

.af-source-3{background:#8c62c4}
