:root{--ink:#183f36;--muted:#6c7c75;--green:#245c4d;--mint:#e8f0e9;--paper:#fafbf7;--line:#dce4dc;--accent:#6454c0;--lime:#d9efb5;--white:#fff;--radius:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Segoe UI',Arial,sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a:hover{color:var(--accent)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.13;font-weight:550;letter-spacing:-.045em}h1{font-size:clamp(40px,4.5vw,67px)}h2{font-size:38px}h3{font-size:23px;letter-spacing:-.03em}em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}.header{height:96px;display:flex;align-items:center;justify-content:space-between;width:min(1360px,calc(100% - 96px));margin:auto;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:10px;font-size:23px;font-weight:650;letter-spacing:-1px;white-space:nowrap}.brand img{border-radius:9px}.version{font-size:10px;letter-spacing:0;border:1px solid var(--line);padding:1px 5px;border-radius:4px;color:var(--muted)}nav{display:flex;gap:30px;align-items:center;font-size:14px}nav .current{color:var(--green);font-weight:650}nav a:not(.button):hover{text-decoration:underline;text-underline-offset:7px}.nav-divider{height:20px;width:1px;background:var(--line)}nav form{margin:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:15px 23px;border:1px solid var(--green);border-radius:8px;background:var(--green);color:white;font-weight:550;font-size:14px;line-height:1.5;transition:background .15s,transform .15s;white-space:nowrap}.button:hover{background:#164536;color:white;transform:translateY(-1px)}.button.small{padding:10px 16px;font-size:13px;gap:15px}.button.outline{color:var(--ink);background:transparent;border-color:#becdc2}.button.outline:hover{background:var(--mint)}.button.light{background:var(--lime);border-color:var(--lime);color:var(--ink)}.quiet-link{font-weight:550;display:inline-flex;align-items:center;gap:15px;font-size:14px}.text-button{border:0;background:none;color:var(--green);padding:8px 0;font-weight:600}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:650;line-height:1.6;margin-bottom:23px}.dot{display:inline-block;background:#679077;width:7px;height:7px;border-radius:50%;margin-right:7px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:65px;align-items:center;padding-top:74px;padding-bottom:66px}.hero h1{margin-bottom:25px}.lead{font-size:17px;color:var(--muted);line-height:1.8;max-width:490px}.actions{display:flex;gap:25px;align-items:center;margin-top:30px;flex-wrap:wrap}.hero-notes{display:flex;gap:26px;margin-top:35px;font-size:11px;color:var(--muted)}.hero-art{background:#f0f4ed;border:1px solid #d9e4d8;border-radius:20px;padding:23px 25px 18px;position:relative;box-shadow:0 22px 55px -45px #254b39}.art-header,.art-footer{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.2px;gap:10px}.tiny-mark{font-size:24px}.live-tag{border:1px solid #ccd9c8;border-radius:20px;padding:4px 8px;font-size:8px}.plot{width:100%;display:block;margin:14px 0 -15px}.formula-card{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:18px 24px;margin:0 15px 22px;box-shadow:0 12px 25px -20px #56665a}.formula-card .eyebrow{display:block;font-size:8px;margin:0 0 5px;color:var(--muted)}.formula-card strong{font-family:Georgia,serif;font-size:25px;font-weight:400;display:block}.formula-card>span:last-child{font-size:10px;color:var(--muted)}.art-footer{font-size:7px;letter-spacing:.6px}.art-footer .dot{width:5px;height:5px}.principles{display:grid;grid-template-columns:1fr 1.25fr 1.1fr 1.4fr;gap:35px;border-block:1px solid var(--line);padding-block:30px}.principles>p{font-size:9px;font-weight:600;letter-spacing:1.7px;color:var(--muted)}.principles strong{display:block;font-size:13px;font-weight:600}.principles span{font-size:11px;color:var(--muted)}.section{padding-block:75px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:38px}.section-heading .eyebrow{margin-bottom:16px}.section-heading>p{color:var(--muted);font-size:14px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature{padding:30px;background:#f1f4ee;border-radius:12px}.feature-icon{font:32px Georgia,serif;display:block;margin-bottom:35px;color:var(--green)}.index{color:var(--muted);font-size:8px;letter-spacing:1.4px;display:block;margin-bottom:13px}.feature h3{margin-bottom:15px}.feature p{font-size:13px;color:var(--muted)}.cta{background:#244e42;border-radius:18px;display:flex;align-items:center;justify-content:space-between;padding:45px 55px;color:var(--white);margin-bottom:65px}.cta .eyebrow{color:#c2d8c7;font-size:9px}.cta h2{font-size:42px}.cta>div:last-child p{font-size:11px;color:#b9cdbf;margin-top:14px}.footer{padding-block:35px 45px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:10px;color:var(--muted)}.footer .brand{font-size:20px;color:var(--ink);margin-bottom:10px}.footer>a{font-size:13px;color:var(--ink)}.page-intro{padding-block:70px 55px}.page-intro .lead{margin-top:25px;max-width:600px}.service-card{display:grid;grid-template-columns:1fr 1fr;gap:60px;background:#eaf0e6;padding:48px;border-radius:18px}.pill{display:inline-block;background:var(--lime);padding:5px 10px;font-size:9px;letter-spacing:1px;border-radius:20px;font-weight:600;margin-bottom:25px}.service-card h2{margin-bottom:20px}.service-card p{color:var(--muted);font-size:14px}.service-card .button{margin-top:25px}.service-details>div{display:flex;gap:22px;padding-block:23px;border-bottom:1px solid #d1dccf}.service-details>div:last-child{border:0}.service-details>div>span{font:22px Georgia,serif;color:#809782}.service-details strong{display:block;color:var(--ink);margin-bottom:5px}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.price-card{border:1px solid var(--line);border-radius:16px;padding:35px;background:var(--white);position:relative}.price-card.recommended{background:#edf2e8;border-color:#bfd0b6}.price-card .pill{margin-bottom:22px}.price-card .eyebrow{margin-bottom:25px}.price-card h3{font-size:27px}.price{display:flex;align-items:baseline;gap:10px;margin:20px 0 15px}.price>span{font-size:46px;line-height:1.1;font-weight:550;letter-spacing:-2px}.price small{font-size:13px;color:var(--muted)}.price-card>p:not(.eyebrow){font-size:13px;color:var(--muted)}.check-list{list-style:none;margin:25px 0 30px;padding:0;font-size:13px}.check-list li{margin:10px 0}.check-list li:before{content:'✓';margin-right:12px;color:#4d8060}.price-card .button{margin-top:15px;width:100%}.fine-print{font-size:11px;color:var(--muted);margin-top:22px}.currency-label{display:flex;align-items:center;gap:15px;white-space:nowrap;font-size:12px}input,textarea,select{border:1px solid #cdd8cf;background:#fff;color:var(--ink);border-radius:7px;padding:12px 14px;max-width:100%;width:100%;line-height:1.5}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#98a299}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600}label.currency-label{flex-direction:row}.currency-label select{width:auto;font-size:12px}input:focus,select:focus,textarea:focus{outline:2px solid #779a83;outline-offset:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.panel{background:#fff;border:1px solid var(--line);border-radius:16px}.form-panel{padding:38px;display:flex;flex-direction:column;gap:20px}.form-panel h2{font-size:32px}.form-panel>p{font-size:13px;color:var(--muted)}.form-panel a{color:var(--green);text-decoration:underline;text-underline-offset:3px}.form-panel small{font-size:11px;color:var(--muted)}.form-panel .eyebrow{margin:0;font-size:9px}.form-panel .button{width:100%;margin-top:5px}.auth-layout,.contact-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;padding-block:75px 90px;align-items:start}.auth-story{padding-top:35px}.auth-story h1,.contact-layout h1{font-size:clamp(38px,4vw,56px)}.auth-story .lead,.contact-layout .lead{margin-top:25px}.auth-formula{font:40px Georgia,serif;background:#eaf0e6;padding:40px;border-radius:16px;margin-top:42px;color:#406b55}.auth-formula span{display:block;font:12px 'Segoe UI',sans-serif;color:var(--muted);margin-top:15px}.contact-note{margin-top:55px;max-width:340px}.contact-note .feature-icon{margin-bottom:15px}.contact-note p{font-size:13px;color:var(--muted);margin-top:12px}.alert{padding:16px 20px;background:#eaf1e8;border:1px solid #cdddc7;border-radius:9px;margin:20px 0;color:#385643;font-size:13px}.alert.error,.form-status.error{color:#9d3830;background:#fff0ec;border-color:#ecd2cb}.form-status{font-size:13px;white-space:pre-wrap}.form-status:not(:empty){padding:12px 15px;border-radius:7px;background:#eaf1e8}.dashboard{padding-block:55px}.dashboard h1{font-size:43px}.dashboard .compact{margin-top:45px}.compact h2{font-size:27px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-size:10px;letter-spacing:.5px;color:var(--muted);font-weight:600;background:#f1f4ee}td,th{padding:13px 16px;border-bottom:1px solid var(--line)}td{overflow-wrap:anywhere}.workspace{display:grid;grid-template-columns:210px 1fr;gap:45px;padding-block:40px 70px}.workspace-sidebar{border-right:1px solid var(--line);padding-right:24px;position:relative}.workspace-sidebar>.eyebrow{font-size:8px;display:block}.side-item{display:flex;align-items:center;gap:12px;padding:12px 14px;font-size:12px;border-radius:7px;margin-bottom:6px}.side-item.selected{background:#e4ecdf;font-weight:650}.side-item>span{font-size:19px}.sidebar-heading{display:flex;align-items:center;justify-content:space-between;margin-top:40px;margin-bottom:15px}.sidebar-heading h3{font-size:13px;letter-spacing:0}.muted{color:var(--muted);font-size:12px}.history-item{border:0;border-bottom:1px solid var(--line);background:none;text-align:left;display:block;width:100%;padding:13px 4px;color:var(--ink);font-size:12px;overflow-wrap:anywhere}.history-item small{display:block;color:var(--muted);font-size:9px;margin-top:5px}.sidebar-bottom{margin-top:70px;font-size:7px;letter-spacing:1px;color:var(--muted)}.workspace-main{min-width:0}.workspace-main h1{font-size:38px}.workspace-main .section-heading p:not(.eyebrow){color:var(--muted);font-size:13px;margin-top:10px}.workspace-main .eyebrow{font-size:8px}.workspace-main .section-heading{align-items:center}.problem-panel{padding:28px 32px;margin-top:20px}.step-heading{display:flex;align-items:center;gap:18px;margin-bottom:25px}.step-heading>span{border:1px solid #d9e4d5;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:11px}.step-heading h2{font-size:22px}.step-heading p{color:var(--muted);font-size:12px;margin-top:5px}.problem-panel label{margin-top:17px}.hint{font-size:11px;font-weight:400;color:var(--muted)}p.hint{margin-top:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.constraint-row{display:grid;grid-template-columns:2fr 80px 1fr 28px;gap:10px;align-items:end;margin-bottom:12px}.constraint-row input,.constraint-row select{padding:10px;font-size:12px}.constraint-row .remove{background:none;border:0;font-size:20px;color:#829185;height:42px}.support-info{background:#f1f5ec;padding:12px 15px;display:flex;justify-content:space-between;gap:15px;border-radius:6px;font-size:11px}textarea[name=supportPoints]{font-family:Consolas,monospace;font-size:13px}.run-bar{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:25px}.run-bar p{color:var(--muted);font-size:11px}.results{padding:30px;margin-top:30px;scroll-margin-top:25px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.metric{background:#edf3e9;padding:20px;border-radius:9px}.metric small{display:block;font-size:10px;color:var(--muted);margin-bottom:7px}.metric strong{font-size:26px;font-weight:550;overflow-wrap:anywhere}.result-detail{border-bottom:1px solid var(--line);padding:18px 0}.result-detail h3{font-size:17px}.result-detail code{display:block;margin:9px 0;color:var(--accent);overflow-wrap:anywhere}.result-detail p{font-size:12px;color:var(--muted)}.result-vectors{margin-block:20px}.menu-toggle{display:none}.skip{position:absolute;left:20px;top:-100px;background:#fff;padding:10px;z-index:99}.skip:focus{top:10px}
@media(min-width:1550px){.hero{padding-block:95px}.hero h1{font-size:74px}}
@media(max-width:1100px){.wrap,.header{width:calc(100% - 48px)}nav{gap:17px}.hero{gap:35px}.hero h1{font-size:50px}.hero-notes{gap:15px;font-size:9px}.art-header{font-size:7px}.art-footer{font-size:6px}.auth-layout,.contact-layout{gap:50px}.workspace{grid-template-columns:170px 1fr;gap:25px}.section-heading{gap:20px}.workspace-main h1{font-size:32px}.principles{gap:20px}.feature{padding:23px}.feature h3{font-size:21px}.button{gap:13px}.hero .actions{gap:18px}.hero .button{font-size:12px;padding-inline:16px}.hero .quiet-link{font-size:12px}}
@media(max-width:760px){.wrap,.header{width:calc(100% - 36px)}.header{height:78px;position:relative}.brand{font-size:21px}.menu-toggle{display:block;background:none;border:1px solid var(--line);border-radius:7px;padding:7px 11px;color:var(--ink);font-size:12px}nav{display:none;position:absolute;top:77px;left:-18px;right:-18px;background:var(--paper);padding:24px;z-index:10;border-bottom:1px solid var(--line);align-items:stretch;box-shadow:0 14px 20px -20px #000}nav.open{display:flex;flex-direction:column;gap:17px}.nav-divider{display:none}.hero{grid-template-columns:1fr;padding-top:44px;gap:40px;padding-bottom:40px}.hero h1{font-size:53px}.lead{font-size:15px}.eyebrow{font-size:8px;letter-spacing:1.4px}.hero-notes{font-size:10px;gap:23px}.hero-art{max-width:500px;width:100%;margin:auto;padding:20px}.hero .button{font-size:13px}.art-header{font-size:9px}.art-footer{font-size:7px}.principles{grid-template-columns:1fr 1fr;gap:25px;padding-block:25px}.principles>p{font-size:8px}.principles strong{font-size:12px}.principles span{font-size:10px}.section{padding-block:45px}.section-heading{align-items:flex-start;flex-direction:column;margin-bottom:25px}h2{font-size:33px}.feature-grid{grid-template-columns:1fr;gap:14px}.feature-icon{margin-bottom:20px}.feature{padding:25px}.feature h3{font-size:24px}.cta{padding:30px;flex-direction:column;align-items:flex-start;gap:30px;margin-bottom:40px}.cta h2{font-size:35px}.footer{flex-wrap:wrap;align-items:flex-start;padding-block:28px;gap:22px}.footer>div{width:100%}.footer>div:nth-child(2){font-size:9px}.page-intro{padding-top:40px}h1{font-size:43px}.service-card{grid-template-columns:1fr;padding:27px;gap:15px}.service-card h2{font-size:30px}.pricing-grid{grid-template-columns:1fr}.price-card{padding:27px}.price>span{font-size:42px}.currency-label select{max-width:220px}.auth-layout,.contact-layout{grid-template-columns:1fr;gap:35px;padding-block:35px 50px}.auth-story{padding-top:0}.auth-story h1,.contact-layout h1{font-size:41px}.auth-formula{display:none}.form-panel{padding:25px}.contact-note{margin-top:28px}.contact-note .feature-icon{display:none}.dashboard{padding-top:35px}.dashboard h1{font-size:37px}.workspace{grid-template-columns:1fr;padding-top:25px;gap:25px}.workspace-sidebar{border:0;padding:0}.workspace-sidebar>.eyebrow,.side-item,.sidebar-bottom{display:none}.sidebar-heading{margin:0 0 5px}.sidebar-heading h3{font-size:12px}#history{display:flex;gap:12px;overflow-x:auto;max-height:88px}.history-item{min-width:150px;max-width:190px;padding:8px;background:#edf2e9;border:0;border-radius:6px;font-size:11px}.workspace-main .section-heading{align-items:flex-start}.workspace-main h1{font-size:33px}.problem-panel{padding:22px 18px}.step-heading{gap:12px}.step-heading h2{font-size:20px}.constraint-row{grid-template-columns:minmax(90px,2fr) 65px minmax(55px,1fr) 22px;gap:5px}.constraint-row label{font-size:10px}.constraint-row input,.constraint-row select{padding:8px 6px;font-size:11px}.support-info{font-size:10px;gap:10px;padding:10px}.run-bar{flex-direction:column;align-items:stretch;gap:15px}.run-bar .button{width:100%}.results{padding:20px}.metric{padding:14px}.metric strong{font-size:22px}.form-grid{gap:12px}.hero .actions{gap:20px}.section-heading.compact{gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.header,.footer,.workspace-sidebar,#problem-form,#access-status,#load-example,#download-result{display:none}.workspace{display:block}.wrap{width:100%}.results{border:0}.result-detail{break-inside:avoid}}
/* Solver: one growing document, with no nested vertical scroll panels. */
.solver-document{min-width:0}.solver-stage{margin:0;padding:28px 0;border-bottom:1px solid #d7e0d7}.solver-stage h2{font-size:1.4rem;margin:0 0 22px}.solver-stage>label{max-width:520px}.solver-stage>.button{margin-top:18px}.coefficient-grid{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:center}.coefficient-grid label{flex:1 1 130px;max-width:210px}.coefficient-grid input,.coefficient-grid select{width:100%;min-width:0}.constraint-fields .coefficient-grid{align-items:center}.constraint-fields .coefficient-grid>label{flex:0 0 auto;max-width:none;width:auto;flex-direction:row;align-items:center;gap:6px;margin:0;white-space:nowrap}.constraint-fields .coefficient-field{flex-direction:row}.constraint-fields .coefficient-field input{width:auto;min-width:0;max-width:none;padding:9px 7px;text-align:right}.constraint-fields .relation-field select{width:5rem;padding:9px 7px}.constraint-fields .limit-field input{width:auto;min-width:0;max-width:none;padding:9px 7px;text-align:right}.solver-check{display:flex!important;align-items:center;gap:10px;margin:18px 0}.solver-check input{width:18px!important;height:18px;flex:none;margin:0}.constraint-fields{border:0;padding:18px 0;margin:0;border-bottom:1px solid #e1e7df;min-width:0}.constraint-fields legend{font-weight:600;padding:0}.math-preview{padding:12px 16px;background:#edf2e9;font-family:Georgia,serif;font-size:1.1rem;min-height:50px;overflow-wrap:anywhere}.matrix-scroll{overflow-x:auto;width:100%}.design-matrix{width:100%;border-collapse:collapse}.design-matrix th,.design-matrix td{padding:9px 7px;vertical-align:middle}.matrix-cell{font-size:0!important;margin:0!important}.matrix-cell input{font-size:15px!important;width:90px;min-width:90px;margin:0}.intercept{text-align:center;font-weight:600}.row-status{min-width:170px;font-size:13px}.solver-stage [aria-invalid=true]{border:1px solid #ba4239;background:#fff6f3}.solver-stage .error{color:#a73529}.math-working{font-family:Georgia,serif}.math-working p{line-height:2;overflow-wrap:anywhere}.math-line{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:18px 0}.math-vector{width:auto!important;display:inline-table;border-left:2px solid #245b4d;border-right:2px solid #245b4d;border-radius:4px}.math-vector td{padding:5px 12px;text-align:right;border:0}.fraction{display:inline-flex;flex-direction:column;text-align:center;vertical-align:middle;margin:0 6px;line-height:1.6}.fraction>span:first-child{border-bottom:1px solid currentColor}.fraction>span{padding:2px 6px}.calculation-part{border-bottom:1px solid #d7e0d7;padding:20px 0}.calculation-part h3{font-size:1.1rem}.selected-step{background:#e5efdc;font-weight:600}.step-table{width:100%;table-layout:fixed}.step-table th,.step-table td{padding:10px 6px;overflow-wrap:anywhere}#candidate-pager{position:fixed;bottom:0;left:0;right:0;background:#f4f7ef;border-top:1px solid #c9d6c7;z-index:20;padding:12px 24px;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:nowrap;box-shadow:0 -4px 16px #153e3410}#candidate-pager[hidden]{display:none}#candidate-pager label{display:inline-flex;flex-direction:row;align-items:center;gap:8px;margin:0;white-space:nowrap}#candidate-pager .solution-picker select{width:72px;margin:0}#candidate-pager .pager-sort{margin:0;gap:8px}#candidate-pager .pager-sort input{width:18px!important;height:18px;flex:none;margin:0}#candidate-pager .hint{margin:0;white-space:nowrap}.has-candidate-pager{padding-bottom:100px}.workspace-main{min-width:0}.solver-stage:focus-within{scroll-margin-bottom:120px}
@media(max-width:640px){.solver-stage{padding:22px 0}.coefficient-grid{gap:10px}.coefficient-grid label{flex-basis:120px;max-width:none}.constraint-fields .coefficient-grid>label{flex:1 1 88px}.constraint-fields .coefficient-field input{width:5ch}.has-candidate-pager{padding-bottom:190px}#candidate-pager{gap:8px;padding:10px;font-size:13px;flex-wrap:wrap}#candidate-pager .button{padding:10px 14px}.math-working{font-size:15px}.math-vector td{padding:4px 8px}}
