*{box-sizing:border-box} :root{font-family:Inter,'Segoe UI',sans-serif;color:#23323a;background:#f2f4f5;font-size:14px;font-synthesis:none}body{margin:0}button,input,select{font:inherit;color:inherit}button,select{cursor:pointer}button{border:1px solid #d9dfe2;background:white;border-radius:6px;padding:8px 11px;transition:background .15s}button:hover{background:#eaf0f1}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #3c998c;outline-offset:2px}button:disabled{opacity:.35;cursor:default}input,select{min-width:0;border:1px solid #dce2e5;border-radius:5px;padding:8px;background:#fff}input[type=number]{width:100%}input[type=checkbox]{accent-color:#287c70;width:16px;height:16px}header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;border-bottom:1px solid #dce2e5;background:#fff;gap:16px}.brand{display:flex;align-items:center;gap:10px;font-size:27px;font-weight:650;letter-spacing:-1px;text-decoration:none;color:#172b33}.mark{font-family:Georgia,serif;font-style:italic;display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;background:#172e36;color:#a8e9d9;border-radius:8px;font-size:34px}.brand-detail{font-size:10px;letter-spacing:1.6px;margin-left:20px;color:#697a83;font-weight:500}.header-right{display:flex;gap:8px;align-items:center}.version{font-size:11px;letter-spacing:1.5px;margin-right:15px;color:#7c8b91}.dark{background:#223840;color:#fff;border-color:#223840}.dark:hover{background:#35545f}main{display:grid;grid-template-columns:296px 1fr;min-height:calc(100vh - 72px)}aside{background:#fff;border-right:1px solid #dce2e5;display:flex;flex-direction:column}.aside-heading{padding:27px 22px 18px}.eyebrow{font-size:10px;letter-spacing:1.6px;color:#6b7d83;font-weight:600}h1{font-size:23px;letter-spacing:-.7px;margin:8px 0}p{line-height:1.6}.aside-heading p{color:#71828a;font-size:13px;margin:0}nav{display:flex;padding:0 14px;border-bottom:1px solid #e4e9eb;gap:1px}nav button{border:0;border-bottom:2px solid transparent;border-radius:0;font-size:12px;padding:12px 9px;color:#73818a}nav button.active{color:#267569;border-bottom-color:#267569;font-weight:600}.tab{padding:20px 22px;flex:1}.section-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 13px}.section-title h2{font-size:14px;margin:0;font-weight:650}.section-title>span{color:#71828a;font-size:11px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:13px}.fields label,.full-label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#52656f}.full-label{margin-bottom:14px}.hint{font-size:12px;color:#70818b;margin:10px 0 20px;line-height:1.65}.wide{width:100%}.core-list{display:flex;flex-direction:column;gap:6px}.core-row{display:flex;align-items:center;gap:7px;background:#f2f5f6;border-radius:5px;padding:6px 8px;font-size:12px}.core-row span{flex:1}.core-row button{padding:2px 6px;background:transparent;border:0;color:#839097}.generate-wrap{padding:18px 22px;border-top:1px solid #e1e7e9;margin-top:auto}.primary{background:#246d61;color:#fff;border-color:#246d61;font-weight:600}.primary:hover{background:#1b574d}.primary span{float:right}.generate-wrap p{font-size:11px;color:#7a8a92;margin:10px 0 0;text-align:center}.workspace{min-width:0;padding:26px 24px 0;display:flex;flex-direction:column}.projectbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.projectbar h2{font-size:22px;letter-spacing:-.5px;margin:6px 0 0;font-weight:550}.stats{display:flex;gap:26px}.stats div{display:flex;flex-direction:column;gap:3px}.stats b{font-size:24px;letter-spacing:-.8px;font-weight:500;font-variant-numeric:tabular-nums}.stats span{font-size:11px;color:#72848b}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-height:470px;flex:1}.view{min-width:0;border:1px solid #dce3e6;border-radius:10px;background:#fff;overflow:hidden;display:flex;flex-direction:column}.view-header{display:flex;justify-content:space-between;align-items:center;padding:15px 17px;border-bottom:1px solid #edf0f2;height:63px}.view-header>div{display:flex;gap:10px;align-items:center}.view-index{font-size:11px;color:#83949d;border:1px solid #dce3e6;border-radius:4px;padding:3px 5px}.view-header h2{font-size:14px;margin:0;font-weight:600}.view-header button{border:0;font-size:12px;background:#f1f4f5}.level-label{font-size:12px;color:#6d7d85;display:flex;gap:7px;align-items:center}.level-label select{border:0;background:#f1f4f5;padding:5px}.view-toolbar{display:flex;align-items:center;gap:5px;padding:10px 12px;flex-wrap:wrap;min-height:48px}.view-toolbar button{font-size:12px;border:0;background:transparent;padding:6px 8px}.view-toolbar button.active{background:#eaf1ef;color:#236757}.view-toolbar>span{font-size:10px;color:#83949c;margin-left:auto}.small{font-size:11px!important;margin-left:auto}#planWrap{position:relative;flex:1;min-height:340px;background-color:#fafcfd;background-image:radial-gradient(#d4dfe5 .7px,transparent .7px);background-size:15px 15px}#plan{width:100%;height:100%;position:absolute;inset:0;touch-action:none;user-select:none}#plan text{font-family:'Segoe UI',sans-serif;pointer-events:none}#plan .core{cursor:move}#plan .unit{cursor:pointer}.north{position:absolute;right:17px;top:13px;font-size:12px;text-align:center;line-height:1.6;color:#6c7f89;pointer-events:none}.scale{position:absolute;bottom:14px;left:17px;font-size:11px;color:#617781;pointer-events:none}.legend{display:flex;flex-wrap:wrap;gap:9px 15px;padding:14px 16px;min-height:58px;font-size:10px;border-top:1px solid #edf0f2}.legend span{display:flex;align-items:center;gap:5px}.legend span:before{content:'';width:8px;height:8px;background:var(--c);border-radius:2px}#model{position:relative;flex:1;min-height:340px;background:#eaf0f3}#model canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.orbit-tip{position:absolute;bottom:15px;left:16px;font-size:10px;color:#6c808d;pointer-events:none}.model-footer{height:58px;padding:15px 17px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#7c8c94;border-top:1px solid #edf0f2}.bottom{display:grid;grid-template-columns:1.2fr 1fr;gap:25px;margin:23px 0 12px;min-height:175px}.variants,.diagnostics{min-width:0}#variants{display:flex;gap:9px}.variant{flex:1;text-align:left;border:1px solid #d6dfe3;padding:12px;background:#f8fafb;border-radius:7px;min-width:0}.variant.active{border-color:#2c7f70;background:#edf6f2;box-shadow:inset 0 0 0 1px #2c7f70}.variant b{font-size:12px;display:block;margin-bottom:8px}.variant span{display:block;font-size:11px;line-height:1.9;color:#6b7d83}.variant strong{color:#29474e;font-weight:600}.diag-line{font-size:12px;line-height:1.6;padding:4px 0;color:#657b85}.diag-line.warning{color:#986d2c}.diag-line.error{color:#a64d43}.diag-line b{color:#344e5b}.detail-grid{display:grid;grid-template-columns:1fr auto;gap:6px;font-size:12px;max-height:140px;overflow:auto}footer{display:flex;justify-content:space-between;padding:14px 0 16px;font-size:10px;letter-spacing:1.2px;color:#86959d}footer span{letter-spacing:0}.program-head,.program-row{display:grid;grid-template-columns:40px 1fr 1fr;gap:12px;align-items:center}.program-head{font-size:10px;color:#819099;margin:18px 0 8px}.program-row{margin-bottom:9px}.program-row b{font-size:13px}.included{padding-left:18px;color:#647b85;font-size:13px;line-height:2.2}.check{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.priority{display:flex;align-items:center;gap:7px;background:#f0f5f4;margin:8px 0;padding:11px 9px;border-radius:6px}.priority:nth-child(1){background:#dbeee7}.priority:nth-child(2){margin-left:7px}.priority:nth-child(3){margin-left:14px}.priority:nth-child(4){margin-left:21px}.priority b{font-size:16px;font-weight:500;color:#6c9b8f}.priority span{font-size:12px;flex:1}.priority button{padding:1px 5px;border:0;background:transparent}.fixed-rules{border-left:3px solid #a9bcb5;padding:10px 13px;background:#f6f8f7;margin:24px 0;font-size:12px}.fixed-rules p{margin:6px 0}details{font-size:12px;color:#657982}summary{cursor:pointer}a{color:#246d61}dialog{max-width:650px;width:90%;border:0;border-radius:12px;padding:28px;box-shadow:0 20px 80px #0e27383b}dialog::backdrop{background:#10293570}dialog h2{margin-top:0}dialog p,dialog li{line-height:1.7}dialog button{margin:7px 6px 7px 0}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:#233d43;color:white;padding:13px 23px;border-radius:7px;z-index:20;max-width:90vw}.export-options{display:grid;gap:10px}.export-options button{text-align:left;padding:15px}.export-options small{display:block;color:#71868a;margin-top:4px}#modelFallback{padding:30px;color:#916340}[hidden]{display:none!important}@media(min-width:1700px){.split{min-height:600px}.workspace{padding:28px 32px 0}}@media(max-width:1200px){main{grid-template-columns:265px 1fr}.workspace{padding:20px 16px 0}.stats{gap:14px}.stats b{font-size:21px}.stats span{font-size:10px}.brand-detail{display:none}.view-toolbar>span{display:none}.split{gap:10px}.bottom{grid-template-columns:1fr}.diagnostics{padding-bottom:10px}.aside-heading,.tab,.generate-wrap{padding-left:16px;padding-right:16px}}@media(max-width:900px){main{display:flex;flex-direction:column}aside{border:0}aside .aside-heading{padding-top:16px;padding-bottom:10px}h1{font-size:20px}.aside-heading p{display:none}.tab{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px;padding:16px}.tab .section-title,.tab .hint,.tab .core-list{grid-column:1/-1}.generate-wrap{padding:12px 16px}.generate-wrap p{margin-top:5px}.split{min-height:450px}.bottom{grid-template-columns:1fr 1fr}.brand{font-size:23px}header{padding:12px 16px;height:auto}.version{display:none}.header-right{flex-wrap:wrap;justify-content:flex-end}.header-right button{font-size:12px;padding:6px 8px}.projectbar h2{font-size:19px}}@media(max-width:600px){.split{grid-template-columns:1fr}.view{min-height:430px}.bottom{grid-template-columns:1fr}.projectbar{align-items:flex-start;flex-direction:column}.stats{gap:35px}.tab{display:block}.header-right button{font-size:11px}.brand{font-size:20px}.mark{width:30px;height:30px}.workspace{padding:18px 10px 0}footer{gap:15px}.stats span{font-size:11px}}
