*{box-sizing:border-box}body{margin:0;color:#19313f;background:#edf2f5;font:14px 'Segoe UI',system-ui,sans-serif}button,input,select{font:inherit}button,select,input{border:1px solid #cdd8df;border-radius:7px;background:#fff;color:inherit}button{cursor:pointer;padding:8px 11px;font-weight:600;transition:background .15s}button:hover{background:#eaf2f5}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #62bbae;outline-offset:2px}input,select{padding:8px;min-width:0}input[type=checkbox]{accent-color:#137e75;width:auto}header{height:76px;background:#132e3c;color:#eef7f7;display:flex;align-items:center;justify-content:space-between;padding:0 25px;gap:20px;border-bottom:3px solid #3ca69a}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-size:18px;letter-spacing:.01em}.brand b{font-weight:400;color:#becfd7}.brand-mark{border:1px solid #60928e;color:#80d5c3;width:34px;height:34px;display:grid;place-items:center;transform:skew(-12deg);font-weight:800;font-size:22px}.stage{font-size:10px;letter-spacing:.17em;color:#9fb9c1}.stage i{font-style:normal;color:#77d0bd;border:1px solid #476575;padding:4px 7px;margin-left:10px}.primary{background:#83dcc5;color:#123e3b;border-color:#83dcc5;padding:11px 17px}.primary:hover{background:#b0eedf}.primary span{margin-left:15px}.layout{display:grid;grid-template-columns:340px minmax(0,1fr);height:calc(100vh - 76px);min-height:600px}aside{padding:23px 20px;overflow:auto;background:#fff;border-right:1px solid #d0dce1}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:700;color:#66838f}.badge{font-size:10px;border:1px solid #cadddf;color:#38766d;padding:3px 7px;border-radius:4px}.field-label{display:block;font-size:12px;color:#526e7b;margin:11px 0 5px}.field-label input,.field-label select{display:block;width:100%;margin-top:5px}select{width:100%;margin:4px 0 9px}.file-actions{display:flex;gap:6px;margin:7px 0;flex-wrap:wrap}.file-actions button{font-size:11px;padding:7px 9px;font-weight:500;flex:1;white-space:nowrap}.edit-status{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#63818b;margin:13px 0 5px}.edit-status button{border:0;background:transparent;font-size:11px;padding:4px;color:#257e73}#message{font-size:12px;line-height:1.5;color:#17695e;margin:8px 0;overflow-wrap:anywhere}#message.error{background:#fff1ef;color:#a13b31;padding:9px;border-radius:5px}.editor-section{border-top:1px solid #e1e9ed;margin-top:17px;padding-top:13px}.editor-section>summary{display:flex;align-items:center;gap:11px;font-size:14px;font-weight:600;cursor:pointer;list-style:none;padding:4px 0}.editor-section>summary:after{content:'+';margin-left:auto;font-size:19px;color:#75949d;font-weight:400}.editor-section[open]>summary:after{content:'−'}.editor-section>summary>span{font-size:10px;font-weight:500;color:#8aa1ab}.section-content{padding:8px 0 0}.shape-fields{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:10px 0 12px}.shape-fields label{font-size:11px;color:#56717d;line-height:1.4}.shape-fields input{display:block;width:100%;margin-top:4px;color:#153b4b;background:#fbfcfd;font-size:13px}input:disabled{opacity:.5}.apply{width:100%;background:#eef7f5;border-color:#bedbd3;color:#186b60;font-size:12px;padding:9px}.apply:hover{background:#dcefe9}.small{font-size:11px;color:#6b828c;line-height:1.6;margin:9px 0}.coordinate-table{display:grid;grid-template-columns:39px 1fr 1fr;gap:7px;align-items:center;margin:10px 0;font-size:11px;color:#64818d}.coordinate-table input{width:100%;font-size:12px;padding:7px}.coordinate-table>span{text-align:center}.check{font-size:12px;display:flex;gap:7px;align-items:center;margin:11px 0}.danger{color:#a74c42}.checks{display:grid;gap:8px;font-size:12px;margin:12px 0}.checks label{display:flex;align-items:center;gap:6px}.checks label[hidden]{display:none}#shapeSettings{margin-top:14px;padding:9px;background:#f4f7f9;border-radius:6px}#shapeSettings summary{font-size:11px;cursor:pointer}#shapeSettings .small{font-size:11px}.panel-list{display:grid;gap:7px;max-height:220px;overflow:auto;font-size:11px}.panel-item{display:flex;align-items:center;gap:6px}.swatch{width:8px;height:8px;display:inline-block;border-radius:2px}h3{font-size:11px;color:#69828d;margin:18px 0 9px;font-weight:500}.local-note{font-size:10px;color:#91a2aa;line-height:1.6;margin:25px 0 4px}.workspace{display:flex;flex-direction:column;min-width:0;padding:26px 28px 18px;overflow:hidden}.workspace-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.workspace-heading h1{font-size:26px;font-weight:500;margin:7px 0 0;letter-spacing:-.03em}.model-state{display:flex;gap:6px;align-items:center;font-size:11px;color:#5c7b85}.model-state i{display:inline-block;width:6px;height:6px;background:#43a18b;border-radius:50%}.metric-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #d6e1e7;border-radius:9px;background:#fff;margin-bottom:19px;padding:15px 0}.metric-strip div{padding:0 19px;border-right:1px solid #e4ebef}.metric-strip div:last-child{border:0}.metric-strip span{display:block;font-size:9px;letter-spacing:.09em;color:#7c939e;margin-bottom:6px}.metric-strip b{font-size:20px;font-weight:500;font-variant-numeric:tabular-nums}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:10px 12px;background:#fff;border:1px solid #d6e1e7;border-radius:9px 9px 0 0}.toolbar nav{display:flex;gap:4px}.toolbar button{font-size:11px;font-weight:500;padding:7px 11px;border-color:transparent}.toolbar button.active{background:#e7f3f0;border-color:#cce0d8;color:#146d61}.filename{font-size:10px;color:#8296a1;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:210px}.view{position:relative;flex:1;min-height:260px;overflow:hidden;border-left:1px solid #d6e1e7;border-right:1px solid #d6e1e7;background:#f8fbff}canvas{display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:none}#hud{pointer-events:none}.view-label{position:absolute;right:18px;bottom:19px;color:#94a8b4;font-size:9px;letter-spacing:.13em;pointer-events:none}.view-label span{display:block;margin-top:5px;font-size:8px;color:#b2bfc8}#error{display:none;position:absolute;inset:20% 8% auto;background:#fff5f1;border:1px solid #cc958b;padding:20px;color:#943d31;border-radius:8px;font-size:13px}.assumption-bar{font-size:10px;color:#7e7965;background:#fbfaf5;padding:9px 14px;border:1px solid #e6e5d8;line-height:1.5}.assumption-bar:empty{display:none}.footer{display:flex;justify-content:space-between;gap:12px;padding:11px 14px;background:#fff;border:1px solid #d6e1e7;border-top:0;border-radius:0 0 9px 9px;color:#7c929b;font-size:10px}.solver-note{display:flex;gap:10px;align-items:baseline;margin-top:14px;font-size:10px;color:#879ba4;line-height:1.5}.solver-note b{white-space:nowrap;font-weight:600;color:#52747f}.solver-note span{max-width:700px}[hidden]{display:none!important}@media(min-width:1600px){.workspace{padding:32px 42px 24px}.layout{grid-template-columns:365px minmax(0,1fr)}aside{padding:26px}}@media(max-width:1050px){.stage{display:none}.layout{grid-template-columns:300px 1fr}.workspace{padding:18px 16px}.metric-strip div{padding:0 10px}.metric-strip span{font-size:8px}.metric-strip b{font-size:17px}.toolbar{flex-wrap:wrap}.filename{display:none}.solver-note{display:block}.solver-note b{display:block}}@media(max-width:720px){header{height:auto;min-height:70px;padding:15px;gap:10px;flex-wrap:wrap}.brand{font-size:15px}.brand-mark{width:28px;height:28px}.primary{font-size:11px;padding:9px}.primary span{margin-left:5px}.layout{display:flex;flex-direction:column;height:auto;min-height:0}.workspace{order:0;height:80vh;min-height:600px}aside{order:1;overflow:visible;border-right:0}.workspace-heading h1{font-size:23px}.metric-strip div{padding:0 8px}.metric-strip span{font-size:7px;letter-spacing:0}.metric-strip b{font-size:16px}.metric-strip{padding:12px 0;margin-bottom:12px}.footer{font-size:9px}.workspace-heading{margin-bottom:14px}.model-state{font-size:10px}.toolbar button{padding:7px 8px}.solver-note{font-size:9px}}
