:root{--bg: #0b0d12;--panel: #121725;--panel2: #0f1320;--text: #e8ecff;--muted: #a9b3d6;--accent: #66c2ff;--danger: #ff6b6b;--ok: #5dff9c;--border: rgba(255,255,255,.08);--shadow: 0 10px 25px rgba(0,0,0,.4);--radius: 18px;--gap: 14px;--font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji"}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:radial-gradient(1200px 700px at 20% 10%,#1a2240 0%,var(--bg) 60%) fixed;color:var(--text);font-family:var(--font)}a{color:inherit;text-decoration:none}button,input{font-family:inherit}.appShell{min-height:100vh;display:flex;flex-direction:column}.topBar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#0a0c12b3;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{display:flex;gap:10px;align-items:center;font-weight:700;letter-spacing:.2px}.badge{font-size:12px;color:var(--muted);border:1px solid var(--border);padding:4px 8px;border-radius:999px}.langToggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;gap:0;border:1px solid var(--border);border-radius:999px;padding:2px;background:#ffffff0f;cursor:pointer;font-family:var(--font)}.langActive,.langInactive{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;transition:background .15s,color .15s}.langActive{background:var(--accent);color:#0b0d12}.langInactive{background:transparent;color:var(--muted)}.page{padding:18px;max-width:1200px;margin:0 auto;width:100%}.gridCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.card{background:linear-gradient(180deg,#ffffff0f,#ffffff08);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.card h3{margin:0 0 8px}.card p{margin:0 0 12px;color:var(--muted);line-height:1.35}.pillRow{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}.pill{font-size:12px;color:var(--muted);border:1px solid var(--border);padding:5px 10px;border-radius:999px;background:#00000026}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:#ffffff0f;color:var(--text);padding:10px 12px;border-radius:12px;cursor:pointer;transition:transform .05s ease,border-color .2s ease,background .2s ease}.btn:hover{border-color:#fff3;background:#ffffff17}.btn:active{transform:translateY(1px)}.btnPrimary{border-color:#66c2ff59;background:#66c2ff1f}.btnDanger{border-color:#ff6b6b59;background:#ff6b6b1f}.simLayout{display:grid;grid-template-columns:320px 1fr 360px;gap:var(--gap);align-items:stretch}@media(max-width:1100px){.simLayout{grid-template-columns:1fr}}.panel{background:linear-gradient(180deg,#ffffff0d,#ffffff05);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.panelHeader{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);background:#0000001f}.panelHeader h4{margin:0;font-size:14px;letter-spacing:.2px}.panelBody{padding:12px 14px}.row{display:flex;gap:10px;align-items:center;justify-content:space-between}.stack{display:flex;flex-direction:column;gap:10px}.label{font-size:12px;color:var(--muted);margin-bottom:6px}.value{font-variant-numeric:tabular-nums;font-size:13px;color:var(--text)}.small{font-size:12px;color:var(--muted);line-height:1.35}.hr{height:1px;background:var(--border);margin:10px 0}.canvasWrap{width:100%;aspect-ratio:16/9;background:radial-gradient(800px 500px at 30% 20%,#66c2ff1f,#0003);border:1px solid var(--border);border-radius:16px;overflow:hidden}.table{width:100%;border-collapse:collapse;font-size:12px}.table th,.table td{padding:6px 8px;border-bottom:1px solid var(--border);text-align:right}.table th{color:var(--muted);font-weight:600}.table td:first-child,.table th:first-child{text-align:left}textarea{width:100%;min-height:84px;background:#0000002e;color:var(--text);border:1px solid var(--border);border-radius:12px;padding:10px;resize:vertical}select{width:100%;background:#0000002e;color:var(--text);border:1px solid var(--border);border-radius:12px;padding:10px}.statusOk{color:var(--ok)}.statusBad{color:var(--danger)}.catalogPage{min-height:100vh;display:flex;flex-direction:column;padding:0}.catalogBanner{width:100%;max-width:1200px;margin:0 auto;padding:24px 32px 0}.catalogBannerImg{width:100%;height:auto;display:block;border-radius:var(--radius);box-shadow:0 8px 32px #0006}.catalogHero{text-align:center;padding:28px 24px 32px}.catalogSubtitle{font-size:16px;color:var(--muted);max-width:520px;margin:0 auto;line-height:1.5}.catalogGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;padding:0 32px 48px;max-width:1200px;margin:0 auto;width:100%}.catalogCard{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,#ffffff0f,#ffffff05);box-shadow:var(--shadow);overflow:hidden;cursor:pointer;transition:transform .15s ease,border-color .25s ease,box-shadow .25s ease;color:var(--text);font-family:var(--font);padding:0}.catalogCard:hover{transform:translateY(-3px);border-color:#66c2ff40;box-shadow:0 14px 36px #00000080,0 0 0 1px #66c2ff1a}.catalogCardBanner{padding:18px 16px 14px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border)}.bannerDomain{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;opacity:.85;padding:2px 8px;border-radius:999px;background:#00000040}.bannerTitle{font-size:15px;font-weight:700;line-height:1.25}.catalogCardBody{padding:16px 20px 20px}.catalogCardDesc{margin:0 0 12px;font-size:14px;color:var(--muted);line-height:1.45}.metaTime,.metaPE{font-size:12px;color:var(--muted);opacity:.8}.catalogCardMeta{display:flex;gap:12px}.catalogStats{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:12px;font-size:14px;color:var(--muted)}.catalogStats span{padding:4px 14px;border-radius:999px;border:1px solid var(--border);background:#0003}.catalogTags{display:flex;flex-wrap:wrap;gap:6px}.catalogTag{font-size:11px;color:var(--muted);border:1px solid var(--border);padding:3px 8px;border-radius:999px;background:#00000026}.catalogTag.tagGrade{border-color:#66c2ff40;color:var(--accent)}.catalogTag.tagCategory{border-color:#5dff9c33;color:var(--ok)}.catalogFooter{text-align:center;padding:32px 24px;font-size:13px;color:var(--muted);opacity:.6;margin-top:auto}.topBarNav{display:flex;gap:6px;align-items:center}.topBarLink{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:1px solid transparent;color:var(--muted);font-size:13px;font-family:var(--font);padding:5px 10px;border-radius:999px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.topBarLink:hover{color:var(--text);border-color:var(--border);background:#ffffff0d}.tutorialPage{max-width:860px;margin:0 auto;padding:24px 20px 60px}.tutorialTitle{font-size:28px;font-weight:700;margin:0 0 6px;letter-spacing:-.3px}.tutorialSubtitle{font-size:16px;color:var(--muted);margin:0 0 32px;line-height:1.5}.tutorialSection{margin-bottom:36px}.tutorialSection h2{font-size:20px;font-weight:700;margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid var(--border)}.tutorialSection h3{font-size:16px;font-weight:600;margin:20px 0 10px;color:var(--accent)}.tutorialSection h4{font-size:14px;font-weight:600;margin:0 0 8px}.tutorialSection p{font-size:14px;color:var(--muted);line-height:1.55;margin:0 0 10px}.tutorialList{font-size:14px;color:var(--muted);line-height:1.55;padding-left:24px;margin:0 0 12px}.tutorialList li{margin-bottom:6px}.tutorialList strong{color:var(--text)}.tutorialTableWrap{overflow-x:auto;margin:10px 0 16px}.tutorialTable{width:100%;border-collapse:collapse;font-size:13px}.tutorialTable th,.tutorialTable td{padding:10px 12px;border:1px solid var(--border);text-align:left}.tutorialTable th{background:#0003;color:var(--text);font-weight:600}.tutorialTable td{color:var(--muted)}.tutorialTable td strong{color:var(--text)}.tutorialCallout{background:#66c2ff0f;border:1px solid rgba(102,194,255,.18);border-radius:14px;padding:16px 18px;margin:14px 0}.tutorialCallout h4{color:var(--accent)}.tutorialSimCard{background:linear-gradient(180deg,#ffffff0d,#ffffff05);border:1px solid var(--border);border-radius:14px;padding:16px 18px;margin-bottom:14px}.tutorialSimCard h3{margin:0 0 8px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tutorialSimCard p{margin:0 0 10px}.tutorialDomain{font-size:11px;font-weight:600;padding:3px 10px;border-radius:999px;color:#0b0d12}.tutorialActivities{font-size:13px;color:var(--muted);margin-bottom:4px;line-height:1.4}.tutorialActivities strong{color:var(--text)}.projFilters{display:flex;align-items:center;gap:16px;margin-bottom:28px;flex-wrap:wrap}.projFilterGroup{display:flex;align-items:center;gap:8px}.projFilterLabel{font-size:13px;color:var(--muted);font-weight:500}.projFilterGroup select{font-family:var(--font);font-size:13px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer}.projCount{font-size:13px;color:var(--accent);font-weight:600;margin-left:auto}.projSimSection{margin-bottom:32px}.projSimHeader{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--border);flex-wrap:wrap}.projSimHeader h2{font-size:18px;font-weight:700;margin:0}.projSimDot{width:10px;height:10px;border-radius:999px;flex-shrink:0}.projSimDomain{font-size:12px;font-weight:500;margin-left:auto}.projCard{border:1px solid var(--border);border-radius:14px;margin-bottom:12px;overflow:hidden;transition:border-color .15s}.projCard:hover{border-color:#66c2ff4d}.projCardHeader{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;border:none;background:none;cursor:pointer;padding:16px 18px;text-align:left;font-family:var(--font);color:var(--text)}.projCardTop{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.projDomainPill{font-size:11px;font-weight:700;padding:2px 10px;border-radius:999px;color:#0b0d12}.projGradePill{font-size:11px;font-weight:600;padding:2px 10px;border-radius:999px;background:#ffffff14;border:1px solid var(--border);color:var(--muted)}.projNgssPills{font-size:11px;color:var(--muted);font-weight:500}.projCardTitle{font-size:16px;font-weight:600;margin:0 0 6px}.projCardQuestion{font-size:14px;color:var(--muted);margin:0 0 6px;line-height:1.45}.projExpandHint{font-size:12px;color:var(--accent);font-weight:500}.projCardBody{padding:0 18px 18px;border-top:1px solid var(--border)}.projStep{margin-top:14px}.projStepLabel{font-size:13px;font-weight:700;color:var(--accent);margin-bottom:4px;text-transform:uppercase;letter-spacing:.3px}.projStep p{font-size:14px;color:var(--muted);line-height:1.5;margin:0 0 6px}.projSimLink{margin-top:6px;font-size:13px}.aboutPage{max-width:1100px;margin:0 auto;padding:24px 24px 60px}.aboutTitle{font-size:36px;font-weight:800;margin:0 0 10px;letter-spacing:-.5px}.aboutSubtitle{font-size:18px;color:var(--muted);line-height:1.6;max-width:700px;margin:0 0 28px}.aboutHeroImage{width:100%;height:auto;border-radius:var(--radius);box-shadow:0 8px 32px #0006;margin-bottom:48px}.aboutSection{display:grid;grid-template-columns:1fr 400px;gap:32px;align-items:start;margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid var(--border)}.aboutSectionReverse{grid-template-columns:400px 1fr;direction:rtl}.aboutSectionReverse>*{direction:ltr}.aboutSectionContent h2{font-size:24px;font-weight:700;margin:0 0 12px}.aboutSectionContent>p{font-size:15px;color:var(--muted);line-height:1.6;margin:0 0 18px}.aboutSectionImage{width:100%;height:auto;border-radius:14px;box-shadow:0 6px 20px #00000059;border:1px solid var(--border)}.aboutSimList{display:flex;flex-direction:column;gap:8px}.aboutSimItem{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;border:1px solid;background:#ffffff08;font-size:14px}.aboutSimDomain{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;color:#0b0d12;flex-shrink:0}.aboutNgssGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.aboutNgssCard{padding:14px;border-radius:12px;border:1px solid;background:#ffffff08}.aboutNgssCard h4{margin:0 0 4px;font-size:15px;font-weight:700}.aboutNgssCard p{font-size:13px;color:var(--muted);margin:0 0 8px;line-height:1.4}.aboutNgssCodes{font-size:11px;color:var(--muted);opacity:.7;word-break:break-word}.aboutFeatureList{display:flex;flex-direction:column;gap:10px}.aboutFeatureItem{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.45}.aboutFeatureDot{width:8px;height:8px;border-radius:999px;flex-shrink:0;margin-top:5px}.aboutProjectHighlights{display:flex;gap:24px;margin-bottom:16px}.aboutHighlight{display:flex;flex-direction:column;align-items:center;gap:4px}.aboutHighlightNumber{font-size:36px;font-weight:800;color:var(--accent);line-height:1}.aboutHighlight span:last-child{font-size:13px;color:var(--muted);text-align:center}.aboutSmallNote{font-size:13px;color:var(--muted);opacity:.8;line-height:1.5;margin:0}.aboutIdealFor{margin-bottom:48px}.aboutIdealFor h2{font-size:24px;font-weight:700;margin:0 0 18px}.aboutIdealGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.aboutIdealItem{padding:14px 16px;border-radius:12px;border:1px solid var(--border);background:#ffffff08;font-size:14px;line-height:1.45}.aboutCta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;padding:24px 0}@media(max-width:800px){.aboutSection,.aboutSectionReverse{grid-template-columns:1fr;direction:ltr}.aboutSectionImage{max-width:100%}.aboutNgssGrid{grid-template-columns:1fr}.aboutProjectHighlights{justify-content:center}}.engNavLink{color:#4dabf7!important;font-weight:600!important}.engPage{max-width:1100px;margin:0 auto;padding:20px 24px 60px}.engTopBar{display:flex;align-items:center;gap:16px;margin-bottom:24px}.engTitle{font-size:22px;font-weight:700;margin:0}.engAssistant{max-width:900px;margin:0 auto}.engAssistantTitle{font-size:28px;font-weight:800;margin:0 0 8px}.engAssistantSubtitle{color:var(--muted);font-size:15px;margin:0 0 20px;line-height:1.5}.engAssistantSearch{margin-bottom:14px}.engAssistantInput{width:100%;padding:14px 18px;border-radius:12px;border:1px solid var(--border);background:var(--panel);color:var(--fg);font-size:15px;outline:none;box-sizing:border-box}.engAssistantInput:focus{border-color:var(--accent)}.engAssistantSuggestions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.engAssistantSuggestion{padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:13px;cursor:pointer}.engAssistantSuggestion:hover{border-color:var(--accent);color:var(--accent)}.engAssistantDetected{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px;padding:10px 14px;background:#ffffff0a;border-radius:8px;border:1px solid var(--border)}.engAssistantDetectedLabel{font-size:.85rem;color:var(--muted);margin-right:4px}.engAssistantDetectedBadge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:600}.engAssistantCardDiscipline{padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:600}.engAssistantResults{display:grid;gap:16px}.engAssistantCard{padding:20px;border-radius:14px;border:1px solid var(--border);background:var(--panel)}.engAssistantCardHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.engAssistantCardHeader h3{font-size:18px;font-weight:700;margin:0}.engAssistantCardDisciplines{display:flex;gap:6px;flex-shrink:0}.engAssistantCardDesc{font-size:14px;color:var(--muted);line-height:1.5;margin:0 0 12px}.engAssistantCardInfo{display:flex;gap:16px;font-size:13px;color:var(--muted);margin-bottom:8px}.engAssistantCardEnergy{font-size:13px;color:var(--muted);margin-bottom:12px}.engAssistantCardEnergyLabel{font-weight:600;margin-right:6px}.engAssistantCardBtn{width:100%}.engAssistantEmpty{text-align:center;padding:40px;color:var(--muted)}.engLearning{max-width:750px;margin:0 auto}.engLearningBack{margin-bottom:16px}.engLearningHeader{margin-bottom:24px}.engLearningHeader h2{font-size:26px;font-weight:800;margin:0 0 8px}.engLearningDesc{color:var(--muted);font-size:15px;line-height:1.5;margin:0 0 10px}.engLearningDisciplines{display:flex;gap:6px}.engLearningDiscipline{font-size:11px;padding:2px 8px;border-radius:999px;background:#4dabf726;color:#4dabf7;font-weight:600;text-transform:uppercase}.engLearningProgress{position:relative;height:6px;background:var(--border);border-radius:999px;margin-bottom:24px}.engLearningProgressBar{height:100%;background:var(--accent);border-radius:999px;transition:width .3s}.engLearningProgressText{position:absolute;right:0;top:12px;font-size:12px;color:var(--muted)}.engLearningContent{padding:24px;border-radius:14px;border:1px solid var(--border);background:var(--panel);margin-bottom:24px}.engLearningContent h3{font-size:20px;font-weight:700;margin:0 0 12px}.engLearningContent p{font-size:15px;color:var(--muted);line-height:1.65;margin:0}.engLearningHighlight{margin-top:16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.engLearningHighlightLabel{font-size:13px;font-weight:600;color:var(--fg)}.engLearningHighlightItem{font-size:12px;padding:3px 10px;border-radius:8px;background:#ff8c4226;color:#ff8c42;font-weight:600}.engLearningEnergy{padding:16px 20px;border-radius:12px;border:1px solid rgba(255,212,59,.3);background:#ffd43b0d;margin-bottom:24px}.engLearningEnergy h4{font-size:14px;font-weight:700;color:#ffd43b;margin:0 0 10px}.engLearningEnergyFlow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px}.engLearningEnergySource,.engLearningEnergyOutput{padding:4px 10px;border-radius:8px;font-weight:600}.engLearningEnergySource{background:#4dabf733;color:#4dabf7}.engLearningEnergyOutput{background:#5dd39e33;color:#5dd39e}.engLearningEnergyArrow{color:var(--muted);font-size:16px}.engLearningNav{display:flex;justify-content:space-between;gap:12px}.engEditorPage{display:flex;flex-direction:column;height:100vh;overflow:hidden}.engEditorTopBar{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:var(--panel);border-bottom:1px solid var(--border);gap:12px;flex-shrink:0}.engEditorTopLeft{display:flex;align-items:center;gap:10px}.engEditorSmallBtn{font-size:13px!important;padding:6px 12px!important}.engEditorNameInput{font-size:14px;font-weight:600;color:var(--fg);background:transparent;border:1px solid transparent;border-radius:4px;padding:4px 8px;max-width:180px}.engEditorNameInput:hover,.engEditorNameInput:focus{border-color:var(--border);background:var(--bg);outline:none}.engEditorTopCenter{display:flex;align-items:center;gap:10px}.engEditorSimParams{display:flex;gap:10px;font-size:12px;color:var(--muted)}.engEditorSimParams label{display:flex;align-items:center;gap:4px}.engEditorParamInput{width:60px;padding:4px 6px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--fg);font-size:12px;text-align:center}.engEditorTopRight{display:flex;gap:6px}.btnActive{background:var(--accent)!important;color:#fff!important}.engEditorBody{display:flex;flex:1;overflow:hidden}.engPalette{width:220px;border-right:1px solid var(--border);background:var(--panel);overflow-y:auto;flex-shrink:0}.engPaletteTitle{padding:12px 14px 8px;font-size:14px;font-weight:700}.engPaletteSearch{margin:0 10px 10px;width:calc(100% - 20px);padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--fg);font-size:13px;outline:none;box-sizing:border-box}.engPaletteCat{border-bottom:1px solid var(--border)}.engPaletteCatHeader{display:flex;align-items:center;width:100%;padding:10px 14px;background:transparent;border:none;border-left:3px solid;color:var(--fg);font-size:13px;font-weight:600;cursor:pointer;gap:6px;text-align:left}.engPaletteCatHeader:hover{background:#ffffff08}.engPaletteCatCount{font-size:11px;color:var(--muted);margin-left:auto}.engPaletteCatArrow{font-size:10px;color:var(--muted)}.engPaletteCatBlocks{padding:4px 10px 10px}.engPaletteBlock{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;cursor:grab;font-size:13px;transition:background .15s}.engPaletteBlock:hover{background:#ffffff0f}.engPaletteBlockIcon{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#0b0d12;flex-shrink:0}.engPaletteBlockName{font-size:13px}.engPaletteEmpty{text-align:center;padding:16px;color:var(--muted);font-size:13px}.engEditorMain{flex:1;display:flex;flex-direction:column;overflow:hidden}.engEditorCanvas{flex:1;min-height:250px}.engEditorCanvas .react-flow__node{cursor:pointer}.engBlock{border:2px solid;border-radius:10px;background:var(--panel);min-width:120px;box-shadow:0 4px 16px #0000004d;transition:box-shadow .15s}.engBlockSelected{box-shadow:0 0 0 2px var(--accent),0 4px 16px #0006}.engBlockHeader{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px 8px 0 0;color:#0b0d12;font-weight:700;font-size:12px}.engBlockIcon{font-size:13px}.engBlockName{font-size:12px;white-space:nowrap}.engBlockBody{padding:6px 10px}.engBlockEq{font-size:10px;color:var(--muted);font-family:monospace}.engPropertyPanel{width:260px;border-left:1px solid var(--border);background:var(--panel);overflow-y:auto;flex-shrink:0}.engPropHeader{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border)}.engPropTitle{font-weight:700;font-size:14px}.engPropClose{background:transparent;border:none;color:var(--muted);font-size:16px;cursor:pointer;padding:2px 6px}.engPropDesc{padding:10px 14px;font-size:12px;color:var(--muted);line-height:1.4;border-bottom:1px solid var(--border)}.engPropEq{padding:6px 14px;font-size:11px;color:var(--accent);font-family:monospace;border-bottom:1px solid var(--border)}.engPropList{padding:10px 14px}.engPropItem{margin-bottom:14px}.engPropLabel{font-size:12px;font-weight:600;margin-bottom:4px;display:block}.engPropUnit{font-weight:400;color:var(--muted)}.engPropInputRow{display:flex;gap:8px;align-items:center}.engPropSlider{flex:1;accent-color:var(--accent)}.engPropNumber{width:65px;padding:4px 6px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--fg);font-size:12px;text-align:center}.engPropSelect{width:100%;padding:6px 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--fg);font-size:12px}.engPropToggle{display:flex;gap:8px;align-items:center;font-size:12px;cursor:pointer}.engScene3D{height:300px;border-top:1px solid var(--border);background:#0b0d12}.engScene3DLoading{height:300px;display:flex;align-items:center;justify-content:center;color:var(--muted);border-top:1px solid var(--border);background:#0b0d12}.engAnalysis{border-top:1px solid var(--border);padding:12px 16px;background:var(--panel)}.engAnalysisTitle{font-size:13px;font-weight:700;margin-bottom:8px}.engAnalysisChart{height:180px;position:relative}.engAnalysisEmpty{height:80px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:14px}.engHome{max-width:900px;margin:0 auto;padding:40px 24px}.engHomeTitle{font-size:26px;font-weight:700;color:var(--fg);margin-bottom:6px}.engHomeSubtitle{font-size:15px;color:var(--muted);margin-bottom:28px}.engHomeOptions{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:36px}.engHomeOption{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 18px;background:var(--panel);border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:border-color .15s,box-shadow .15s;text-align:center}.engHomeOption:hover:not(:disabled){border-color:var(--accent);box-shadow:0 2px 12px #4dabf71f}.engHomeOptionDisabled{opacity:.5;cursor:not-allowed}.engHomeOptionIcon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;color:#fff;font-size:24px;font-weight:700}.engHomeOptionTitle{font-size:16px;font-weight:600;color:var(--fg)}.engHomeOptionDesc{font-size:13px;color:var(--muted);line-height:1.4}.engHomeSaved{margin-bottom:30px}.engHomeSavedTitle{font-size:16px;font-weight:600;color:var(--fg);margin-bottom:10px}.engHomeSavedList{display:flex;flex-direction:column;gap:6px}.engHomeSavedItem{display:flex;align-items:center;gap:8px}.engHomeSavedItemBtn{flex:1;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--panel);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color .15s}.engHomeSavedItemBtn:hover{border-color:var(--accent)}.engHomeSavedItemName{font-size:14px;font-weight:500;color:var(--fg)}.engHomeSavedItemDate{font-size:12px;color:var(--muted)}.engHomeSavedItemDelete{width:28px;height:28px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}.engHomeSavedItemDelete:hover{background:#e03131;color:#fff;border-color:#e03131}.engHomeTemplates{margin-top:10px}.engHomeTemplatesTitle{font-size:16px;font-weight:600;color:var(--fg);margin-bottom:14px}.engHomeTemplatesGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.engHomeTemplateCard{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:8px}.engHomeTemplateCardHeader{display:flex;flex-direction:column;gap:4px}.engHomeTemplateCardName{font-size:15px;font-weight:600;color:var(--fg)}.engHomeTemplateCardDesc{font-size:13px;color:var(--muted);line-height:1.4;margin:0}.engHomeTemplateCardActions{display:flex;gap:8px;margin-top:6px}.engHelpPanel{width:260px;background:var(--panel);border-left:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto}.engHelpHeader{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border)}.engHelpTitle{font-size:14px;font-weight:600;color:var(--fg)}.engHelpContent{padding:12px 14px;display:flex;flex-direction:column;gap:16px}.engHelpSection h4{font-size:13px;font-weight:600;color:var(--fg);margin:0 0 6px}.engHelpList{margin:0;padding:0 0 0 16px;font-size:12px;color:var(--muted);line-height:1.6}.engHelpSuggestDesc{font-size:12px;color:var(--muted);margin:0 0 6px}.engHelpSuggestList{display:flex;flex-wrap:wrap;gap:6px}.engHelpSuggestBtn{font-size:12px;padding:4px 10px;border:1px solid var(--accent);border-radius:6px;background:transparent;color:var(--accent);cursor:pointer;transition:background .15s,color .15s}.engHelpSuggestBtn:hover{background:var(--accent);color:#fff}.engHelpExampleBtn{display:block;width:100%;text-align:left;padding:8px 10px;margin-bottom:4px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--fg);font-size:12px;cursor:pointer;transition:border-color .15s,background .15s}.engHelpExampleBtn:hover{border-color:var(--accent);background:#4dabf70f}.engStatusBadge{display:flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--border);border-radius:6px;background:transparent;cursor:pointer;font-size:12px;font-weight:600;transition:border-color .15s}.engStatusBadge:hover{border-color:var(--accent)}.engStatusDot{width:10px;height:10px;border-radius:50%;display:inline-block}.engStatusBadge--ready .engStatusDot,.engStatusDot--ready{background:#51cf66;box-shadow:0 0 4px #51cf6680}.engStatusBadge--incomplete .engStatusDot,.engStatusDot--incomplete{background:#ffd43b;box-shadow:0 0 4px #ffd43b80}.engStatusBadge--error .engStatusDot,.engStatusDot--error{background:#e03131;box-shadow:0 0 4px #e0313180}.engStatusCount{color:var(--muted);font-size:11px}.engBlockError{border-width:2px!important;box-shadow:0 0 8px #e0313140}.engBlockWarning{border-width:2px!important;box-shadow:0 0 8px #ffd43b40}.engBlockBadge{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;margin-left:auto;flex-shrink:0}.engBlockBadgeError{background:#e03131;color:#fff}.engBlockBadgeWarn{background:#ffd43b;color:#000}.engConnToast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);max-width:500px;width:90%;padding:14px 18px;border-radius:10px;z-index:1000;animation:engToastSlideUp .3s ease-out}.engConnToast--error{background:#2d1215;border:1px solid #e03131;color:#ffc9c9}.engConnToast--warning{background:#2d2800;border:1px solid #ffd43b;color:#fff3bf}.engConnToastHeader{display:flex;align-items:center;gap:8px;margin-bottom:6px}.engConnToastIcon{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.engConnToast--error .engConnToastIcon{background:#e03131;color:#fff}.engConnToast--warning .engConnToastIcon{background:#ffd43b;color:#000}.engConnToastTitle{font-size:14px;font-weight:600}.engConnToastClose{margin-left:auto;background:none;border:none;color:inherit;cursor:pointer;font-size:16px;opacity:.6}.engConnToastClose:hover{opacity:1}.engConnToastMsg{font-size:13px;margin:0 0 4px;line-height:1.4}.engConnToastFix{font-size:12px;margin:0;opacity:.8;font-style:italic;line-height:1.3}@keyframes engToastSlideUp{0%{transform:translate(-50%) translateY(20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.engValidationPanel{position:absolute;top:56px;right:0;width:380px;max-height:calc(100vh - 70px);background:var(--panel);border-left:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0 0 0 10px;z-index:100;overflow-y:auto;box-shadow:-2px 2px 12px #00000026}.engValidationHeader{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--panel)}.engValidationTitle{font-size:14px;font-weight:600;color:var(--fg)}.engValidationEmpty{padding:20px 14px;font-size:13px;color:var(--muted);text-align:center}.engValidationList{padding:8px;display:flex;flex-direction:column;gap:8px}.engValidationItem{padding:10px 12px;border-radius:8px;border-left:3px solid transparent}.engValidationItem--error{background:#e0313114;border-left-color:#e03131}.engValidationItem--warning{background:#ffd43b14;border-left-color:#ffd43b}.engValidationItemHeader{display:flex;align-items:center;gap:6px;margin-bottom:4px}.engValidationItemSev{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.engValidationItem--error .engValidationItemSev{background:#e03131;color:#fff}.engValidationItem--warning .engValidationItemSev{background:#ffd43b;color:#000}.engValidationItemTitle{font-size:13px;font-weight:600;color:var(--fg)}.engValidationItemMsg{font-size:12px;color:var(--fg);margin:0 0 4px;line-height:1.4}.engValidationItemFix{font-size:12px;color:var(--muted);margin:0;font-style:italic;line-height:1.3}@media(max-width:600px){.topBarNav{display:none}.tutorialTitle{font-size:22px}.tutorialPage{padding:16px 14px 40px}.projFilters{flex-direction:column;align-items:flex-start}.projCount{margin-left:0}.aboutTitle{font-size:26px}.aboutSubtitle{font-size:15px}.engPalette{width:180px}.engPropertyPanel{width:220px}.engHelpPanel{width:200px}.engHomeOptions{grid-template-columns:1fr}.engValidationPanel{width:100%;border-radius:0}}
