.ft-page{padding:28px 0 96px}.ft-breadcrumb{color:var(--muted);flex-wrap:wrap;gap:10px;font-size:12px;line-height:1.6;display:flex}.ft-breadcrumb a{color:inherit}.ft-hero,.ft-hub-hero{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;padding:40px 0 32px;display:grid}.ft-hero h1,.ft-hub-hero h1{letter-spacing:-.05em;max-width:20ch;margin-top:14px;font-size:clamp(36px,5vw,58px);font-weight:800;line-height:1.08}.ft-hub-hero h1 span{color:var(--accent-dark)}.ft-intro{max-width:64ch;color:var(--muted);margin-top:18px;font-size:17px;line-height:1.7}.ft-engine-note{font-family:var(--font-mono), monospace;color:var(--accent-dark);margin-top:14px;font-size:12px}.ft-hero-art{justify-content:flex-end;display:flex}.ft-tool{margin-top:8px}.ft-panel{border:1.5px solid var(--ink);background:var(--surface);box-shadow:var(--shadow-md);padding:28px}.ft-panel+.ft-panel{margin-top:24px}.ft-form{gap:20px;display:grid}.ft-form-fields{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px 20px;display:grid}.ft-field{align-content:start;gap:8px;min-width:0;display:grid}.ft-field-wide{grid-column:1/-1}.ft-label{font-size:14px;font-weight:750}.ft-hint{color:var(--muted);font-size:13px;line-height:1.6}.ft-input{font-size:15px}.ft-textarea{min-height:140px;font-family:var(--font-body), sans-serif;resize:vertical;padding:14px 16px;line-height:1.65}.ft-mono{font-family:var(--font-mono), monospace;font-size:13px}.ft-select{appearance:auto;font-family:var(--font-body), sans-serif}.ft-form-actions{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.ft-form-footer{color:var(--muted);font-size:12px;line-height:1.6}.ft-toggle{align-items:center;gap:10px;font-size:14px;display:flex}.ft-toggle input{width:18px;height:18px;accent-color:var(--accent-dark)}.ft-tabs{border-bottom:1.5px solid var(--ink);flex-wrap:wrap;gap:0;margin-bottom:20px;display:flex}.ft-tab{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:1.5px solid #0000;border-bottom:0;padding:10px 16px;font-size:14px;font-weight:700}.ft-tab-active{border-color:var(--ink);background:var(--surface);color:var(--ink);margin-bottom:-1.5px}.ft-turnstile:empty{display:none}.ft-small-button{min-height:32px;padding:0 12px;font-size:13px}.ft-link-button{font:inherit;cursor:pointer;background:0 0;border:0;margin-top:12px;padding:0;font-size:14px;font-weight:700;text-decoration:underline}.ft-running,.ft-error,.ft-gate,.ft-empty-state{border:1.5px dashed var(--line);background:var(--romeo-stone-soft);align-items:center;gap:20px;margin-top:24px;padding:20px;display:flex}.ft-running p{font-weight:700}.ft-error{border:1.5px solid var(--red);background:var(--red-soft)}.ft-error>div{justify-items:start;gap:12px;display:grid}.ft-error-calm{border:1.5px solid var(--line);background:var(--romeo-stone-soft)}.ft-error-message{font-weight:700;line-height:1.6}.ft-gate{border:1.5px solid var(--ink);background:var(--romeo-mauve-soft);margin-top:0}.ft-gate-title{letter-spacing:-.02em;font-size:20px}.ft-gate p{max-width:60ch;color:var(--romeo-mauve-ink);margin-top:8px;line-height:1.7}.ft-gate-actions{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.ft-results{border-top:1.5px solid var(--ink);gap:24px;margin-top:28px;padding-top:28px;display:grid}.ft-result-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.ft-result-title{letter-spacing:-.03em;overflow-wrap:anywhere;font-size:24px;line-height:1.3}.ft-result-subtitle{color:var(--muted);overflow-wrap:anywhere;margin-top:6px;line-height:1.6}.ft-cached{color:var(--muted);margin-top:6px;font-size:12px}.ft-section-title{letter-spacing:-.01em;font-size:17px}.ft-score{border:1.5px solid var(--ink);min-width:92px;box-shadow:var(--shadow-xs);flex-shrink:0;justify-items:center;padding:12px 14px;display:grid}.ft-score-value{letter-spacing:-.04em;font-size:34px;font-weight:800;line-height:1}.ft-score-label{font-family:var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.06em;margin-top:6px;font-size:10px}.ft-score-pass{background:var(--green-soft)}.ft-score-warn{background:var(--amber-soft)}.ft-score-fail{background:var(--red-soft)}.ft-pill{min-height:24px;font-family:var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border:1px solid;flex-shrink:0;align-items:center;padding:0 8px;font-size:10px;font-weight:600;display:inline-flex}.ft-pill-pass{color:var(--green);background:var(--green-soft)}.ft-pill-warn{color:var(--amber);background:var(--amber-soft)}.ft-pill-fail{color:var(--red);background:var(--red-soft)}.ft-pill-info{color:var(--romeo-slate);background:var(--romeo-stone-soft)}.ft-checks ul{border-top:1px solid var(--line);gap:0;margin-top:12px;padding:0;list-style:none;display:grid}.ft-check{border-bottom:1px solid var(--line);grid-template-columns:112px minmax(0,1fr);gap:14px;padding:14px 0;display:grid}.ft-check-title{overflow-wrap:anywhere;font-weight:700;line-height:1.55}.ft-check-detail{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:14px;line-height:1.7}.ft-check-detail code,.ft-check-title code{font-family:var(--font-mono), monospace;background:var(--romeo-stone-soft);padding:1px 4px;font-size:.9em}.ft-check-fix{margin-top:6px;font-size:14px;line-height:1.7}.ft-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.ft-stat{border:1px solid var(--line);background:var(--romeo-stone-soft);padding:14px 16px}.ft-stat dt{font-family:var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:10px;font-weight:600}.ft-stat dd{gap:2px;margin:6px 0 0;display:grid}.ft-stat-value{letter-spacing:-.03em;overflow-wrap:anywhere;font-size:24px;font-weight:800}.ft-stat-note{color:var(--muted);font-size:12px;line-height:1.5}.ft-code{border:1.5px solid var(--ink);background:var(--romeo-ink);color:var(--romeo-stone-soft)}.ft-code-bar{font-family:var(--font-mono), monospace;border-bottom:1px solid #3a463f;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;font-size:12px;display:flex}.ft-code-actions{gap:8px;display:flex}.ft-code pre{max-height:480px;font-family:var(--font-mono), monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:16px;font-size:13px;line-height:1.65;overflow:auto}.ft-table-wrap{min-width:0}.ft-table-bar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.ft-table-scroll{border:1px solid var(--line);overflow-x:auto}.ft-table{border-collapse:collapse;width:100%;font-size:14px}.ft-table th{text-align:left;font-family:var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--romeo-stone-soft);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px;font-size:10px}.ft-table td{border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere;padding:10px 12px;line-height:1.55}.ft-table tr:last-child td{border-bottom:0}.ft-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.ft-empty{color:var(--muted);border:1px dashed var(--line);padding:16px}.ft-romeo{margin:0}.ft-fix{border:1.5px solid var(--ink);background:var(--romeo-eye-soft);box-shadow:var(--shadow-xs);justify-content:space-between;align-items:center;gap:24px;padding:22px 24px;display:flex}.ft-fix h3{letter-spacing:-.02em;margin-top:6px;font-size:20px}.ft-fix p:not(.eyebrow){max-width:62ch;color:var(--accent-dark);margin-top:6px;line-height:1.65}.ft-fix .primary-button{flex-shrink:0}.ft-howto{margin-top:64px}.ft-howto h2,.ft-article h2,.ft-faq h2,.ft-related h2,.ft-hub-group h2,.ft-hub-also h2{letter-spacing:-.04em;font-size:clamp(26px,3vw,34px);line-height:1.2}.ft-howto ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px;padding:0;list-style:none;display:grid}.ft-howto li{border:1.5px solid var(--ink);background:var(--surface);gap:12px;padding:20px;display:grid}.ft-step-number{border:1.5px solid var(--ink);background:var(--accent);place-items:center;width:30px;height:30px;font-weight:800;display:inline-grid}.ft-howto li p{line-height:1.65}.ft-article{gap:40px;max-width:760px;margin-top:64px;display:grid}.ft-article-section p,.ft-article-section ul{color:#2f3a34;margin-top:14px;font-size:16px;line-height:1.8}.ft-article-section ul{padding-left:22px}.ft-article-section li+li{margin-top:6px}.ft-faq{max-width:860px;margin-top:64px}.ft-faq details{border-bottom:1px solid var(--line)}.ft-faq details:first-of-type{border-top:1px solid var(--line);margin-top:16px}.ft-faq summary{cursor:pointer;padding:18px 0;font-size:16px;font-weight:750;line-height:1.55}.ft-faq details p{max-width:72ch;color:var(--muted);padding-bottom:20px;font-size:15px;line-height:1.8}.ft-product{border:1.5px solid var(--ink);background:var(--surface);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:32px;margin-top:64px;padding:36px;display:flex}.ft-product h2{letter-spacing:-.04em;margin-top:10px;font-size:clamp(24px,3vw,32px)}.ft-product p:not(.eyebrow){max-width:62ch;color:var(--muted);margin-top:12px;line-height:1.75}.ft-product-actions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.ft-related{margin-top:64px}.ft-related-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.ft-text-link{font-size:14px;font-weight:750}.ft-card-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-top:20px;padding:0;list-style:none;display:grid}.ft-card-grid>li{display:flex}.ft-card{border:1.5px solid var(--ink);background:var(--surface);box-shadow:var(--shadow-xs);color:var(--ink);flex-direction:column;flex:1;gap:8px;padding:20px;text-decoration:none;transition:transform .12s,box-shadow .12s;display:flex}.ft-card:hover{box-shadow:var(--shadow-sm);transform:translate(-2px,-2px)}.ft-card:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.ft-card-group{font-family:var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:10px;font-weight:600}.ft-card-name{letter-spacing:-.02em;font-size:18px;font-weight:800;line-height:1.3}.ft-card-summary{color:var(--muted);font-size:14px;line-height:1.6}.ft-card-tag{border:1px solid var(--line);background:var(--romeo-eye-soft);font-family:var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-dark);align-self:flex-start;margin-top:auto;padding:3px 8px;font-size:10px}.ft-hub-jump{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.ft-hub-jump a{border:1.5px solid var(--ink);background:var(--surface);color:var(--ink);padding:6px 12px;font-size:13px;font-weight:700;text-decoration:none}.ft-hub-jump a:hover{background:var(--accent)}.ft-hub-group{margin-top:56px;scroll-margin-top:24px}.ft-hub-group-head p{color:var(--muted);margin-top:8px;line-height:1.6}.ft-hub-also{gap:20px;margin-top:64px;display:grid}@media (max-width:900px){.ft-howto ol{grid-template-columns:1fr}.ft-product,.ft-fix{flex-direction:column;align-items:flex-start}}@media (max-width:620px){.ft-page{padding-top:20px}.ft-hero,.ft-hub-hero{grid-template-columns:1fr;padding-top:24px}.ft-hero-art{display:none}.ft-panel{box-shadow:var(--shadow-sm);padding:18px}.ft-check{grid-template-columns:1fr;gap:8px}.ft-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ft-stat-value{font-size:20px}.ft-result-header{flex-direction:column}.ft-running,.ft-error,.ft-gate,.ft-empty-state{flex-direction:column;align-items:flex-start}.ft-product{padding:22px}.ft-product>img{display:none}}.ft-outline{border:1px solid var(--line);background:var(--romeo-stone-soft);gap:4px;margin-top:12px;padding:16px;list-style:none;display:grid}.ft-outline li{overflow-wrap:anywhere;align-items:baseline;gap:10px;line-height:1.6;display:flex}.ft-outline-tag{border:1px solid var(--ink);background:var(--surface);min-width:30px;font-family:var(--font-mono), monospace;text-align:center;flex-shrink:0;padding:0 5px;font-size:11px;font-weight:600}.ft-outline-h1{background:var(--accent)}.ft-outline-h2{background:var(--romeo-eye-soft)}.ft-outline-empty{color:var(--red);font-style:italic}
