/* VEXOR open engineering — local, accessible tools. */
.opensource-intro{max-width:var(--max);margin:auto;padding:70px 32px 44px}
.opensource-intro h1{font-size:clamp(2.5rem,4.4vw,4.2rem);line-height:1.1;max-width:900px;letter-spacing:-.04em;margin:22px 0}
.opensource-intro h1 em{font-style:normal;color:var(--gold)}
.opensource-intro>p{max-width:670px;font-size:1.05rem;color:var(--muted);line-height:1.8}
.open-badges{display:flex;flex-wrap:wrap;gap:18px 30px;color:#aab9c6;font-size:.72rem;letter-spacing:.05em;margin-top:30px}
.projects-area{padding-top:30px}.projects-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}
.projects-heading h2{margin:10px 0;font-size:2.2rem}.project-filters{display:flex;gap:8px;flex-wrap:wrap}
.project-filters button{padding:10px 16px;background:transparent;color:var(--text);border:1px solid var(--line);font-size:.8rem;min-height:44px}
.project-filters button[aria-pressed=true]{color:var(--gold);background:#28261e;border-color:#8c7d55}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.open-project{border:1px solid #35434e;background:#111a22;display:flex;flex-direction:column;overflow:hidden}
.open-project img{width:100%;height:225px;object-fit:cover;display:block;border-bottom:1px solid #34434e;background:#101820}
.open-project .project-body{padding:27px;display:flex;flex-direction:column;flex:1}
.project-status{display:flex;align-items:center;justify-content:space-between;gap:15px;font:.66rem/1.4 Consolas,monospace;letter-spacing:.045em;color:#9cafbf}
.project-status .ready{color:#d9b66d}.open-project h3{font-size:1.6rem;line-height:1.25;margin:18px 0 13px;letter-spacing:-.025em}
.open-project p{font-size:.93rem;line-height:1.75;color:var(--muted);margin:0 0 20px}
.project-links{display:flex;flex-wrap:wrap;gap:13px;align-items:center;margin-top:auto;padding-top:5px}
.project-links .btn{padding:12px 16px;font-size:.83rem}.project-license{font-size:.74rem;color:#bac6d0;margin-top:18px}
.project-links a:not(.btn){font-size:.82rem;color:var(--gold);text-decoration:underline;text-underline-offset:4px}
.project-pending{font-size:.78rem;line-height:1.6;color:#abbbc7;padding:12px 15px;border:1px dashed #49606f;margin-top:auto}
.open-showcase{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;padding-top:32px;padding-bottom:78px}
.open-showcase>article{border-top:1px solid var(--line);padding:30px 0}.open-showcase h2{font-size:1.7rem;margin:15px 0;line-height:1.2}
.open-showcase p{max-width:530px;color:var(--muted);line-height:1.8;margin-bottom:25px}.partner-placeholder{min-height:75px;padding:17px;border:1px dashed #4b5862;color:#a8b9c5;font-size:.82rem;line-height:1.65}
.partner-list{display:grid;gap:16px}.partner-card{border:1px solid #384954;background:#111b23;padding:22px}.partner-card>.eyebrow{font-size:.62rem;letter-spacing:.08em}.partner-card img{display:block;width:100%;height:140px;object-fit:contain;background:#0d151d;margin:18px 0}.partner-card h3{font-size:1.2rem;margin:18px 0 12px}.partner-card p{font-size:.83rem;line-height:1.75;margin-bottom:16px}.partner-card a{color:var(--gold);font-size:.84rem;text-decoration:underline;text-underline-offset:4px}
.tool-page{max-width:var(--max);margin:auto;padding:65px 32px 85px}.tool-breadcrumb{color:var(--gold);font-size:.83rem;text-decoration:underline;text-underline-offset:4px}
.tool-header{max-width:800px;margin:30px 0 35px}.tool-header h1{font-size:clamp(2.3rem,4vw,3.6rem);letter-spacing:-.035em;line-height:1.1;margin:17px 0}.tool-header p{color:var(--muted);line-height:1.8;font-size:1rem}
.tool-shell{display:grid;grid-template-columns:1.05fr 1fr;border:1px solid #384954;background:#111b23}
.tool-controls{padding:36px;border-right:1px solid #384954}.tool-controls label,.briefing-form label{display:block;font-size:.88rem;margin-bottom:8px;color:#dde5ec;line-height:1.45}
.tool-controls input,.tool-controls select,.briefing-form input,.briefing-form textarea,.briefing-form select{width:100%;padding:13px 15px;border:1px solid #48606e;background:#0d151d;color:var(--text);min-height:48px;border-radius:0;font:inherit;margin-bottom:23px}
.tool-controls select,.briefing-form select{color-scheme:dark}.unit-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.tool-help{color:#aabac8;font-size:.78rem;line-height:1.65;margin:0 0 23px}
.tool-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.tool-actions button{padding:12px 18px;font-size:.87rem;min-height:46px}
.unit-result-panel{padding:36px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(ellipse at 70% 30%,#28394655,transparent 80%)}
.unit-result-panel output{font-size:clamp(2rem,4.3vw,4rem);letter-spacing:-.04em;line-height:1.2;margin:24px 0;color:#eadac0;overflow-wrap:anywhere}
.unit-result-panel p{color:var(--muted);font-size:.85rem;line-height:1.8;overflow-wrap:anywhere}.tool-state{min-height:27px;color:#d9b66d;line-height:1.6;font-size:.88rem}.tool-state.is-error{color:#ffbfa9}
.tool-license{font-size:.75rem;color:#9fafbc;margin-top:22px;line-height:1.7}.tool-license a{color:var(--gold);text-decoration:underline}
.briefing-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:38px;align-items:start}.briefing-form{padding:30px;background:#111b23;border:1px solid #384954}
.briefing-form fieldset{border:0;border-top:1px solid #384954;margin:0 0 25px;padding:23px 0 0;min-width:0}.briefing-form legend{font-size:.9rem;color:#d9b66d;padding-right:13px}.briefing-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.briefing-fields .wide{grid-column:1/-1}
.briefing-form textarea{resize:vertical;min-height:100px}.briefing-preview{border:1px solid #384954;background:#0e171f;padding:28px;position:sticky;top:130px}
.briefing-preview h2{font-size:1.8rem;margin:12px 0 20px}.briefing-preview pre{font:.81rem/1.8 Consolas,monospace;color:#c6d3dc;white-space:pre-wrap;overflow-wrap:anywhere;min-height:230px;margin:0 0 25px}
.briefing-preview button{width:100%;margin:0 0 12px;padding:12px 16px;font-size:.84rem}.briefing-preview .secondary{background:transparent}.briefing-preview .tool-help{margin:15px 0 0}
.privacy-note{font-size:.8rem;color:#aebdca;line-height:1.8}.privacy-note a{color:var(--gold);text-decoration:underline}
@media(max-width:900px){.projects-heading{align-items:start;flex-direction:column;gap:18px}.open-showcase{gap:26px}.tool-shell{grid-template-columns:1fr 1fr}.tool-controls,.unit-result-panel{padding:25px}.briefing-grid{grid-template-columns:1fr;gap:27px}.briefing-preview{position:static}.briefing-preview pre{min-height:120px}}
@media(max-width:600px){.opensource-intro{padding:50px 24px 28px}.opensource-intro h1{font-size:2.65rem}.opensource-intro>p{font-size:.97rem}.open-badges{gap:13px;font-size:.65rem}.project-grid{grid-template-columns:1fr;gap:22px}.open-project img{height:190px}.open-project .project-body{padding:23px}.open-project h3{font-size:1.45rem}.projects-heading h2{font-size:1.9rem}.project-filters button{padding:10px 13px}.open-showcase{grid-template-columns:1fr;gap:0;padding-bottom:35px}.tool-page{padding:45px 24px 60px}.tool-header h1{font-size:2.4rem}.tool-shell{grid-template-columns:1fr}.tool-controls{border-right:0;border-bottom:1px solid #384954;padding:24px}.unit-result-panel{padding:28px 24px}.unit-result-panel output{font-size:2.7rem}.unit-pair{gap:13px}.briefing-form,.briefing-preview{padding:22px}.briefing-fields{grid-template-columns:1fr;gap:0}.briefing-fields .wide{grid-column:auto}.briefing-preview h2{font-size:1.6rem}}
