:root{--ink:#18211f;--muted:#69706b;--paper:#e9e8e0;--panel:#f7f6ef;--line:#c8cac1;--deep:#222c2a;--red:#b64735;--red-soft:#f0ddd4;--lime:#728c64;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--sans:Arial,"Helvetica Neue",sans-serif}*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:13px}button,input{font:inherit}button{cursor:pointer}.shell{display:grid;grid-template-columns:224px minmax(0,1fr);background:var(--paper)}.rail,.shell{min-height:100vh}.rail{background:var(--deep);color:#e9ece4;padding:21px 14px 16px;flex-direction:column;border-right:1px solid #101716}.mark,.rail{display:flex}.mark{align-items:center;gap:9px;padding:0 5px 26px;font-size:15px;letter-spacing:-.03em}.mark span{display:grid;place-items:center;height:28px;width:28px;background:var(--red);font-size:10px;font-weight:700;color:white}.eyebrow,.mark span{font-family:var(--mono)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:9px;color:var(--muted);margin:0 0 7px}.rail .eyebrow{color:#96a19c;padding:0 5px}.projectList{display:grid;grid-gap:3px;gap:3px}.projectItem{display:flex;align-items:center;gap:8px;width:100%;border:0;padding:9px 7px;text-align:left;background:transparent;color:#cdd2cb;border-left:2px solid transparent;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.projectItem.active,.projectItem:hover{background:#303a37;color:white}.projectItem.active{border-color:var(--red)}.projectDot{height:5px;width:5px;border:1px solid #a5aea8;border-radius:50%;flex:none}.active .projectDot{background:var(--red);border-color:var(--red)}.railActions{border-top:1px solid #44504b;margin-top:20px;padding-top:12px;display:grid;grid-gap:3px;gap:3px}.rail button:not(.projectItem){background:transparent;color:#cbd1ca;border:0;text-align:left;padding:6px;font-size:12px}.rail button:hover{color:white}.rail .danger:hover{color:#f17a65}.railFooter{margin-top:auto;padding-top:14px;border-top:1px solid #44504b;display:grid;grid-gap:4px;gap:4px}.railFooter button:first-child{background:#d8ddd5;color:#17201e;padding:8px;border-radius:1px;font-weight:700}.workspace{max-width:1660px;width:100%;margin:0 auto;padding:27px 32px 50px}.workspace>header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid var(--ink);padding-bottom:18px;margin-bottom:18px}.titleInput{background:transparent;border:0;outline:0;padding:0;font-size:25px;font-weight:650;color:var(--ink);letter-spacing:-.045em;width:min(600px,100%)}.headerControls{display:flex;align-items:center;gap:15px}.sync{color:var(--muted);font:9px var(--mono);letter-spacing:.06em}.toggle{border:1px solid var(--ink);display:flex}.toggle button{background:transparent;border:0;padding:5px 9px;font:10px var(--mono)}.toggle .selected{background:var(--ink);color:var(--paper)}.aboutStrip{display:grid;grid-template-columns:1.2fr 1fr 1fr;border:1px solid var(--ink);margin-bottom:14px;background:#dfe2d9}.aboutStrip>div{padding:11px 13px;border-right:1px solid #aeb5ad}.aboutStrip>div:last-child{border:0}.aboutStrip span{display:block;font:9px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--red);margin-bottom:4px}.aboutStrip b{font-size:15px;letter-spacing:-.03em;line-height:1.15}.aboutStrip p{margin:0;font-size:11px;line-height:1.35;color:#49534d}.contentGrid{display:grid;grid-template-columns:minmax(330px,.85fr) minmax(480px,1.15fr);grid-gap:14px;gap:14px;align-items:start}.panel{background:var(--panel);border:1px solid var(--line);box-shadow:2px 2px 0 rgba(24,33,31,.055)}.panelTitle{height:35px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;padding:0 11px}.equationHead b,.panelTitle span{color:var(--red);font:10px var(--mono);font-weight:700}.panelTitle h2{font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin:0}.panelTitle em{font-style:normal;color:var(--muted);margin-left:auto;font:9px var(--mono);text-transform:uppercase}.quiet{margin-left:auto;border:0;background:transparent;color:var(--red);font-size:11px;padding:4px 0}.requirements{padding-bottom:12px}.fieldGrid{padding:12px;display:grid;grid-template-columns:1fr 1fr;grid-gap:10px 10px;gap:10px 10px}.fieldGrid label>span,.specColumns label{display:block;font-size:10px;color:#535c56;margin-bottom:4px}.inputUnit{display:flex;border:1px solid var(--line);background:#fffef8;min-width:0}.inputUnit:focus-within{outline:2px solid rgba(182,71,53,.28);outline-offset:1px}.inputUnit input{width:100%;min-width:0;border:0;outline:0;background:transparent;padding:7px;font:12px var(--mono);color:var(--ink)}.inputUnit i{font-style:normal;background:#ebece4;color:#56605a;font:9px var(--mono);display:flex;align-items:center;padding:0 6px;border-left:1px solid var(--line);white-space:nowrap}.note{font-size:10px;line-height:1.45;color:var(--muted);padding:0 12px;margin:0}.analysis{display:grid;grid-gap:14px;gap:14px}.decision{min-height:130px}.signalLabel{color:var(--muted);font:10px var(--mono);margin:13px 12px 4px;text-transform:uppercase}.winner{display:flex;justify-content:space-between;align-items:baseline;padding:0 12px;font-size:20px;font-weight:600;letter-spacing:-.04em}.winner b{color:var(--red);font:25px var(--mono);letter-spacing:-.1em}.winner small{font-size:10px;letter-spacing:0}.statRow{margin:10px 12px 0;padding-top:8px;border-top:1px dotted var(--line);display:grid;grid-template-columns:1.35fr .65fr 1.1fr .9fr;grid-gap:5px;gap:5px;font:10px var(--mono);color:var(--muted)}.statRow strong{color:var(--ink);font-weight:700}.warning{color:var(--red);font-size:12px;margin:16px 12px}.priorities{padding-bottom:9px}.priority{display:grid;grid-template-columns:92px 1fr 25px;grid-gap:8px;gap:8px;align-items:center;padding:7px 12px 0;text-transform:capitalize;font-size:11px}.priority b{font:11px var(--mono);text-align:right}.priority input{accent-color:var(--red);width:100%}.chart{min-height:235px}.plot{padding:13px 16px 12px;display:grid;grid-template-columns:16px 1fr;grid-template-rows:157px auto}.yAxis{font:8px var(--mono);color:var(--muted);writing-mode:vertical-rl;transform:rotate(180deg);align-self:center}.plotArea{position:relative;border-left:1px solid var(--ink);border-bottom:1px solid var(--ink);background-image:linear-gradient(90deg,transparent 24%,#d8d9d1 24.5%,transparent 25%),linear-gradient(180deg,transparent 24%,#d8d9d1 24.5%,transparent 25%);background-size:25% 25%}.point{position:absolute;width:20px;height:20px;border-radius:50%;background:#a9afa9;display:grid;place-items:center;transform:translate(-50%,50%);font:9px var(--mono);color:#fff;border:2px solid var(--panel);transition:transform .18s ease}.point:hover{transform:translate(-50%,50%) scale(1.28);z-index:2}.point.frontier{background:var(--red)}.point.invalid{background:#59615d;opacity:.55;border-radius:0}.xAxis{position:absolute;right:0;bottom:-17px;font:8px var(--mono)}.legend,.xAxis{color:var(--muted)}.legend{grid-column:2;font:9px var(--mono);padding-top:9px;display:flex;gap:7px;align-items:center;flex-wrap:wrap}.badDot,.dimDot,.frontierDot{height:7px;width:7px;display:inline-block;border-radius:50%;background:var(--red)}.dimDot{background:#a9afa9}.badDot{background:#59615d;border-radius:0}.candidates,.equations,.results{margin-top:14px}.libraryNote{padding:9px 11px;background:#ebece4;border-bottom:1px solid var(--line);font-size:10px;line-height:1.4;color:#56605a}.libraryNote b{color:var(--ink);margin-right:6px}.candidateCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1px;gap:1px;background:var(--line)}.candidateCard{background:var(--panel);padding:11px}.candidateCard>div:first-child{display:flex;gap:7px}.candidateName{font-size:13px;font-weight:700;letter-spacing:-.02em;outline:0}.application,.candidateName{width:100%;border:0;background:transparent}.application{margin-top:4px;border-bottom:1px dotted var(--line);padding:0 0 5px;color:var(--muted);font-size:10px;outline-color:var(--red)}.remove{border:0;background:transparent;color:var(--muted);font-size:18px;line-height:14px}.remove:hover{color:var(--red)}.specColumns{display:grid;grid-template-columns:1fr 1fr;grid-gap:11px;gap:11px;margin-top:9px}.specColumns>div>b{display:block;font:9px var(--mono);text-transform:uppercase;color:var(--red);padding-bottom:5px;border-bottom:1px dotted var(--line);margin-bottom:5px}.specColumns label{display:grid;grid-template-columns:1fr 54px;align-items:center;grid-gap:3px;gap:3px;margin-top:4px;font:9px var(--mono)}.specColumns input{width:54px;border:1px solid var(--line);background:#fffef8;padding:3px;font:10px var(--mono);outline-color:var(--red)}.tableWrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px;min-width:800px}th{text-align:left;background:#e6e7de;font:9px var(--mono);text-transform:uppercase;letter-spacing:.04em;color:#53605a;padding:8px 11px;border-bottom:1px solid var(--line)}td{padding:9px 11px;border-bottom:1px solid #dedfd7;font-family:var(--mono)}td:first-child{font-family:var(--sans);font-weight:700}.infeasible{background:#f3ece8;color:#85695f}.frontierBadge{color:var(--red);font-weight:700}.dominated{color:var(--muted)}.risk{text-transform:uppercase;font-size:9px}.risk.low{color:#537748}.risk.watch{color:#9b6c21}.risk.high,.violation{color:var(--red)}.violation{font:9px var(--mono);-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help}.equationHead{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;background:transparent;padding:11px;color:var(--ink);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.equationHead span{display:flex;gap:8px;align-items:center}.equationHead i{font-style:normal;color:var(--red);font-size:16px}.equationBody{border-top:1px solid var(--line);padding:8px 12px;color:#56605a;font-size:11px;line-height:1.5}.equationBody p{margin:5px 0}.equationBody code{color:var(--ink);font-family:var(--mono);background:#e8e9e1;padding:2px}@media (max-width:980px){.shell{grid-template-columns:1fr}.rail{min-height:auto;display:grid;grid-template-columns:1fr auto;grid-gap:9px;gap:9px;padding:13px}.mark{padding:0}.rail .eyebrow,.railActions,.railFooter{display:none}.projectList{grid-column:1/-1;display:flex;overflow:auto}.projectItem{width:auto}.workspace{padding:20px}.candidateCards,.contentGrid{grid-template-columns:1fr}.workspace>header{gap:12px}.headerControls{flex-direction:column;align-items:flex-end}.aboutStrip{grid-template-columns:1fr}.aboutStrip>div{border-right:0;border-bottom:1px solid #aeb5ad}.aboutStrip>div:last-child{border-bottom:0}}@media (max-width:600px){.workspace{padding:14px}.workspace>header{display:block}.headerControls{margin-top:12px;flex-direction:row;justify-content:space-between;align-items:center}.titleInput{font-size:22px}.fieldGrid{grid-template-columns:1fr}.statRow{grid-template-columns:1fr 1fr}.candidateCards{grid-template-columns:1fr}.specColumns{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;scroll-behavior:auto!important}}.templateControls{margin-left:auto;display:flex;align-items:center;gap:9px}.templateControls select{width:240px;max-width:32vw;border:1px solid var(--line);background:#fffef8;padding:4px 6px;font:10px var(--mono);color:var(--ink);outline-color:var(--red)}.templateControls .quiet{margin-left:0}.emptyAssembly{padding:24px 12px;display:grid;grid-gap:5px;gap:5px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.emptyAssembly b{color:var(--ink);font-size:13px}@media (max-width:980px){.rail .railActions{display:flex;grid-column:1/-1;gap:4px;margin:0;padding:0;border:0}.rail .railActions button{border:1px solid #52605a;padding:6px 8px}.rail .railActions .danger{margin-left:auto}.templateControls select{max-width:45vw}}