:root{--ggtc-blue:#004a99;--ggtc-dark-blue:#036;--ggtc-light-blue:#e6f0ff;--white:#fff;--text-color:#333;--bg-color:#f4f7f6;--border-color:#d1d9e6;--success:#27ae60}body,html{padding:0;font-family:Segoe UI,Helvetica,Arial,sans-serif;background-color:var(--bg-color);color:var(--text-color);overflow:auto;overflow-x:hidden;height:100%;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}body::-webkit-scrollbar,html::-webkit-scrollbar{display:none}body.auth-locked{overflow:hidden;height:100vh;height:100dvh}body.auth-locked>:not(.auth-overlay){visibility:hidden;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px;min-height:100vh;min-height:100dvh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:radial-gradient(circle at top,rgba(0,74,153,.28),transparent 40%),rgba(3,18,38,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-card{width:min(420px,100%);padding:34px 28px 28px;border-radius:24px;background:linear-gradient(180deg,#fff,#f2f7ff);border:1px solid rgba(0,74,153,.14);box-shadow:0 24px 60px rgba(3,18,38,.28)}.auth-badge{display:inline-flex;align-items:center;justify-content:center;min-width:68px;height:32px;padding:0 14px;border-radius:999px;background:#0d5fc1;color:#fff;font-weight:800;letter-spacing:.08em;font-size:12px}.auth-card h2{margin:16px 0 8px;color:#0f2747;font-size:30px}.auth-card p{margin:0 0 20px;color:#49607b;line-height:1.5}.auth-form{display:grid;grid-gap:10px;gap:10px}.auth-form label{font-size:14px;font-weight:700;color:#17365d}.auth-form input{height:50px;padding:0 14px;border-radius:14px;border:1px solid #c7d5e5;background:#fff;font-size:16px;color:#10243e;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.auth-form input:focus{border-color:#0d5fc1;box-shadow:0 0 0 4px rgba(13,95,193,.14)}.auth-form button{margin-top:8px;height:52px;border:0;border-radius:16px;background:linear-gradient(135deg,#0058b8,#003f84);color:#fff;font-size:17px;font-weight:800;cursor:pointer;box-shadow:0 14px 32px rgba(0,74,153,.24)}.auth-message{min-height:22px;margin-top:2px;color:#b42318;font-size:14px;font-weight:600}.ggtc-header{background:linear-gradient(135deg,var(--ggtc-blue) 0,var(--ggtc-dark-blue) 100%);color:var(--white);padding:40px 20px;text-align:center;box-shadow:0 4px 15px rgba(0,0,0,.2);margin-bottom:0}.ggtc-header h1{margin:0;font-size:2.4em;font-weight:700;text-transform:uppercase;letter-spacing:1.5px}#headerReloadTrigger{display:inline-block;cursor:pointer}#headerReloadTrigger:focus-visible{outline:3px solid hsla(0,0%,100%,.85);outline-offset:6px;border-radius:8px}.ggtc-header p{margin:10px 0 0;font-size:1em;font-weight:300;opacity:.85}nav{max-width:calc(100% - 24px);margin:14px 12px 10px;background:#f5f7fb;border:1px solid #d9e2ec;padding:14px 16px;border-radius:24px;box-sizing:border-box;box-shadow:0 2px 8px rgba(15,23,42,.05)}nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:12px;padding:0;margin:0;align-items:center}nav li{flex:0 0 auto;text-align:center}nav a{display:flex;align-items:center;justify-content:center;min-height:54px;text-decoration:none;color:#1e2b3c;font-size:16px;font-weight:700;padding:0 22px;border:1px solid #cfd8e3;border-radius:18px;background:#f8fafc;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.35);transition:all .2s ease;white-space:nowrap}nav a.active,nav a:hover{background:linear-gradient(180deg,#2f80ed,#1f64dd);color:#fff;border-color:#1f64dd;box-shadow:0 8px 20px rgba(47,128,237,.22)}.container{max-width:800px;margin:10px auto}.container,.wide-container{background-color:#fff;padding:10px 20px 20px;border-radius:8px;box-shadow:0 0 10px rgba(0,0,0,.1);box-sizing:border-box}.wide-container{max-width:calc(100% - 24px);margin:10px 12px}.wide-container table{margin:0 auto}.container table{border-collapse:collapse;border-spacing:0}.field-group{display:flex;align-items:center;margin-bottom:8px;gap:10px}.field-group label{flex:0.5 1;min-width:100px;white-space:nowrap}.field-group input{flex:0.5 1;min-width:80px;padding:5px}.field-group span{flex:2 1;font-size:.9em;color:#555}.results-container{display:flex;gap:40px;flex-wrap:wrap}.results-column{flex:1 1;min-width:300px}#controls{max-width:calc(100% - 24px);margin:14px 12px 10px;background:#f5f7fb;border:1px solid #d9e2ec;padding:14px 16px;border-radius:24px;box-sizing:border-box;box-shadow:0 2px 8px rgba(15,23,42,.05);display:flex;flex-wrap:wrap;align-items:center;gap:12px}.controlButton{margin:0;padding:0 22px;min-height:58px;min-width:130px;font-size:17px;font-weight:700;border-radius:18px;transition:all .25s ease;border:1px solid #c9d4df;background:#f8fafc;color:#1e2b3c;cursor:pointer;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.35);white-space:nowrap}.controlButton:hover{background:#fff;border-color:#b8c6d6;transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.08)}.controlButton.active{color:#fff;border-color:#1f64dd;box-shadow:0 8px 20px rgba(47,128,237,.22)}.controlButton.active,.controlButton.active:hover{background:linear-gradient(180deg,#2f80ed,#1f64dd)}.controlButton.deactivated{background-color:#eef2f6!important;color:#9aa5b1!important;border-color:#d6dee7!important;cursor:not-allowed!important;opacity:.7!important;pointer-events:none!important;box-shadow:none!important}.controlButtonCompact{min-width:118px;min-height:48px;padding:0 16px;font-size:14px}.controlButtonSplit{display:flex;flex-direction:column;min-width:130px;min-height:58px;height:58px;border-radius:18px;overflow:hidden;border:1px solid #c9d4df;background:#f8fafc;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.35)}.controlButtonSplit.deactivated{background-color:#eef2f6!important;border-color:#d6dee7!important;opacity:.7!important;pointer-events:none!important;box-shadow:none!important}.controlButtonSplitAction{flex:1 1 50%;margin:0;padding:0 10px;border:0;background:transparent;color:#1e2b3c;cursor:pointer;font-weight:700;transition:background .2s ease,color .2s ease;white-space:nowrap}.controlButtonSplitAction.top{font-size:15px;border-bottom:1px solid #d9e1eb}.controlButtonSplitAction.bottom{font-size:11px;letter-spacing:.01em}.controlButtonSplitAction:hover{background:hsla(0,0%,100%,.68)}.controlButtonSplit.deactivated .controlButtonSplitAction{color:#9aa5b1!important;cursor:not-allowed!important}.schemes-dropdown-wrapper{position:relative;display:inline-block}.schemes-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:1000;background:#fff;border:1px solid #c9d4df;border-radius:14px;box-shadow:0 8px 24px rgba(15,23,42,.12);min-width:220px;overflow:hidden;padding:4px 0}.schemes-dropdown-item{display:block;width:100%;padding:11px 18px;text-align:left;background:transparent;border:none;color:#1e2b3c;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s ease;white-space:nowrap}.schemes-dropdown-list{max-height:600px;overflow-y:auto;overscroll-behavior:contain}.schemes-dropdown-row{display:flex;align-items:stretch;min-width:260px}.schemes-dropdown-name{flex:1 1;min-width:0}.schemes-dropdown-add{color:#0f7a34;border-bottom:1px solid #e4ebf3}.schemes-dropdown-delete{width:40px;border:none;border-left:1px solid #e4ebf3;background:transparent;color:#b91c1c;font-size:15px;font-weight:800;cursor:pointer}.schemes-dropdown-item:hover{background:#f0f5fb}.schemes-dropdown-delete:hover{background:#fee2e2}.scheme-delete-popover{margin:6px;padding:10px;border:1px solid #fecaca;border-radius:10px;background:#fff7f7;color:#7f1d1d;box-shadow:0 8px 24px rgba(127,29,29,.12)}.scheme-delete-text{font-size:13px;font-weight:700;line-height:1.35;margin-bottom:8px;white-space:normal}.scheme-delete-actions{display:flex;justify-content:flex-end;gap:8px}.scheme-delete-actions button{border:1px solid #d7dee8;border-radius:8px;background:#fff;color:#1f2937;padding:6px 10px;font-weight:700;cursor:pointer}.scheme-delete-actions button.danger{border-color:#ef4444;background:#ef4444;color:#fff}.pipe-label-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border:1px solid #d8e0ea;border-radius:18px;background:linear-gradient(180deg,#fff,#f4f8fc);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.55)}.pipe-label-toggle-btn{border:1px solid #c9d4df;background:#f8fafc;color:#1e2b3c;min-height:38px;padding:0 14px;border-radius:14px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.35)}.pipe-label-toggle-btn:hover{background:#fff;border-color:#b8c6d6}.pipe-label-toggle-btn.active{background:linear-gradient(180deg,#2f80ed,#1f64dd);color:#fff;border-color:#1f64dd;box-shadow:0 8px 20px rgba(47,128,237,.16)}#cy{width:100%;height:600px;display:block;background-color:#e8e8e8;border:1px solid #ccc;margin-bottom:10px;overscroll-behavior:contain;touch-action:none;border-radius:18px}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,.5)}.modal-content{background-color:#fff;margin:5% auto;padding:20px;border:1px solid #888;width:90%;max-width:500px;border-radius:8px;position:relative;box-shadow:0 2px 16px rgba(0,0,0,.2)}.close{color:#aaa;position:absolute;top:10px;right:20px;font-size:28px;font-weight:700;cursor:pointer}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer}.help-carousel{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:16px}.help-carousel img{max-width:320px;max-height:220px;border:1px solid #ccc;border-radius:4px;background:#f9f9f9}.carousel-btn{background:#eee;border:1px solid #ccc;border-radius:50%;width:36px;height:36px;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.carousel-btn:hover{background:#ddd}.cookie-notice{position:fixed;bottom:0;left:0;right:0;background:#2c3e50;color:#fff;padding:15px 20px;z-index:9999;box-shadow:0 -2px 10px rgba(0,0,0,.3);font-size:14px;line-height:1.4}.cookie-notice-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px}.cookie-notice-text{flex:1 1;min-width:300px}.cookie-notice-buttons{display:flex;gap:10px;flex-wrap:wrap}.cookie-btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .3s}.cookie-btn-accept{background:#27ae60;color:#fff}.cookie-btn-accept:hover{background:#229954}.cookie-btn-decline{background:#95a5a6;color:#fff}.cookie-btn-decline:hover{background:#7f8c8d}.cookie-notice a{color:#3498db;text-decoration:underline}.cookie-notice a:hover{color:#2980b9}.cookie-notice.hidden{display:none}.collapsible-container{max-width:calc(100% - 24px);margin:18px 12px;background:#f5f7fb;border:1px solid #dbe4ee;border-radius:26px;box-shadow:0 4px 14px rgba(15,23,42,.05);overflow:hidden;box-sizing:border-box}.collapsible-header{background:#f5f7fb;border-bottom:none;padding:22px 26px 16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:flex;justify-content:space-between;align-items:center;transition:background-color .3s ease;text-align:left}.collapsible-header:hover{background-color:#eef3f8}.collapsible-header h3{margin:0;font-size:20px;font-weight:800;color:#1f2d3d;flex:1 1;text-align:left}.collapsible-toggle{font-size:18px;font-weight:700;color:#22334a;transition:transform .3s ease;margin-left:12px}.collapsible-header.collapsed .collapsible-toggle{transform:rotate(-90deg)}.collapsible-content{padding:0 22px 22px;transition:all .3s ease;overflow:hidden;text-align:left}.collapsible-content.collapsed{max-height:0;padding-top:0;padding-bottom:0;opacity:0}.collapsible-content.expanded{max-height:none;opacity:1}.collapsible-content *{text-align:left}.collapsible-content table{margin:0;width:100%;border-collapse:separate;border-spacing:0}.collapsible-content table,.collapsible-content table td,.collapsible-content table th{text-align:left;font-size:1em}.collapsible-content div{text-align:left}.collapsible-container .collapsible-content p,.collapsible-container .collapsible-content table,.collapsible-container .collapsible-content table td,.collapsible-container .collapsible-content table th{text-align:left;font-size:1em}.collapsible-container .collapsible-content table{margin-left:0;border-collapse:separate;border-spacing:0}.collapsible-container .collapsible-content em{text-align:left}#info-edges,#info-nodes{width:100%}#info-edges table,#info-nodes table{width:100%;font-size:16px;border-collapse:separate;border-spacing:0;background:#fff;border-radius:18px;overflow:hidden}#info-edges table td,#info-edges table th,#info-nodes table td,#info-nodes table th{font-size:16px;padding:14px 16px}#info-edges .scroll-container,#info-nodes .scroll-container{width:100%;max-width:100%;overflow-x:auto;background:#fff;border:none;border-radius:18px;box-shadow:inset 0 0 0 1px #e6edf5}.modern-table{width:100%;min-width:100%;border-collapse:separate;border-spacing:0;font-family:Segoe UI,Helvetica,Arial,sans-serif;font-size:16px;color:#223247;background:#fff;border-radius:18px;overflow:hidden;box-shadow:none}.modern-table thead tr{background:#f3f6fa}.modern-table th{background:#f3f6fa;color:#1f2d3d;padding:15px 16px;text-align:left;font-weight:800;border:none;border-bottom:1px solid #dde6ef;text-transform:none;font-size:15px;white-space:nowrap}.modern-table td{padding:14px 16px;border:none;border-bottom:1px solid #e7edf4;color:#223247;font-size:15px;background:#fff;vertical-align:middle}.modern-table tr:nth-child(2n) td{background:#fff}.modern-table tr:hover td{background:#f9fbfd}.script-content{display:flex;gap:10px;justify-content:center;align-items:flex-start}.script-content pre,.script-content textarea{width:50%;text-align:left}.script-content pre,.script-content textarea{font-family:monospace}.script-content pre{margin:0;white-space:pre-wrap;border:1px solid #ccc;padding:4px;background:#f9f9f9;text-align:left}.modern-link{display:inline-block;color:#2563eb;text-decoration:none;padding:5px;margin:2px;border:1px solid #ddd;border-radius:4px;background:#f8f9fa;transition:all .2s}.modern-link:hover{color:#1d4ed8;background:#e3f2fd;border-color:#3b82f6}.lang-switcher{position:fixed;top:10px;right:10px;z-index:2000;background:hsla(0,0%,100%,.95);border:1px solid #ddd;border-radius:6px;padding:6px 8px;box-shadow:0 2px 6px rgba(0,0,0,.08)}.lang-switcher select{border:1px solid #ccc;border-radius:4px;padding:4px 6px;background:#fff}footer{margin-top:50px;padding:30px;background-color:#fff;border-top:1px solid var(--border-color);text-align:center;color:#666}@media (max-width:768px){.auth-overlay{align-items:flex-start;padding:max(16px,env(safe-area-inset-top)) 14px max(16px,env(safe-area-inset-bottom))}.auth-card{width:100%;margin-top:clamp(20px,7vh,64px);padding:24px 18px 18px;border-radius:20px}.auth-card h2{font-size:24px}.ggtc-header{padding:26px 16px}.ggtc-header h1{font-size:clamp(1.35rem,5.8vw,1.9rem);letter-spacing:.04em}.ggtc-header p{font-size:.95rem}.cookie-notice-content{flex-direction:column;text-align:center}.cookie-notice-text{min-width:auto}.cookie-notice-buttons{justify-content:center}.collapsible-header{padding:16px 16px 12px}.collapsible-content{padding:0 12px 14px}.script-content{flex-direction:column}.script-content pre,.script-content textarea{width:100%}#controls{max-width:calc(100% - 16px);margin:12px 8px 10px;gap:10px;padding:12px;border-radius:20px}.controlButton{min-width:100%;min-height:52px;font-size:16px}nav{padding:12px;border-radius:20px}nav ul{gap:10px}nav a,nav li{width:100%}nav a{min-height:50px;box-sizing:border-box}#info-edges table td,#info-edges table th,#info-nodes table td,#info-nodes table th,.modern-table td,.modern-table th{font-size:14px;padding:12px 10px}.collapsible-header h3{font-size:18px}}.info-modal-content{max-width:980px;max-height:calc(100vh - 64px);border-radius:20px;padding:24px;overflow:hidden}.info-modal-content h2{margin:0 28px 10px 0;color:#1f2d3d;font-size:26px}.info-modal-intro{margin:0 0 16px;color:#516174;line-height:1.6}.info-modal-body{display:grid;grid-gap:16px;gap:16px;max-height:calc(100vh - 190px);overflow-y:auto;padding-right:8px}.info-section{border:1px solid #e1e8f0;border-radius:18px;padding:18px;background:#fbfdff}.info-section h3{margin:0 0 12px;font-size:20px;color:#1f2d3d}.info-section h4{margin:16px 0 10px;font-size:16px;color:#24486f}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.info-card{border:1px solid #d9e3ef;border-radius:14px;padding:14px;background:#fff}.info-card-title{margin-bottom:8px;font-weight:800;color:#17385f}.info-card-text{margin:0;line-height:1.6;color:#4c5e73}.info-list{margin:0;padding-left:22px;display:grid;grid-gap:10px;gap:10px;line-height:1.6;color:#34455a}.info-note{margin-top:12px;padding:12px 14px;border-radius:14px;border:1px solid #d8e4f2;background:#eef6ff;color:#2d4b69;line-height:1.6}.info-table-wrap{overflow-x:auto}.info-legend-table{width:100%;min-width:620px;border-collapse:collapse}.info-legend-table td,.info-legend-table th{padding:12px 14px;border-bottom:1px solid #e1e8f0;text-align:left;vertical-align:top}.info-legend-table th{background:#edf4fb;color:#23486f;font-size:14px}.info-swatch{width:26px;height:14px;border-radius:999px;border:1px solid rgba(10,26,47,.16);flex-shrink:0}.info-formula-group{margin-top:18px}.info-formula-group,.info-formula-stack{display:grid;grid-gap:12px;gap:12px}.info-formula-card{border:1px solid #d9e3ef;border-radius:14px;padding:14px;background:#fff}.info-formula-title{margin-bottom:10px}.info-formula-code{margin:0 0 12px;padding:12px 14px;border-radius:14px;border:1px solid #dce6f2;background:#f3f7fb;color:#16314f;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.65;white-space:pre-wrap;overflow-x:auto}.info-formula-text{margin-bottom:12px}.info-formula-vars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px 12px;gap:10px 12px}.info-formula-var{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:8px;gap:8px;padding:10px 12px;border-radius:12px;background:#f7faff;border:1px solid #dbe5f1;color:#385069;line-height:1.5}.info-formula-var code{padding:2px 7px;border-radius:999px;background:#eaf2fb;border:1px solid #d3e1f0;font-weight:800}.info-formula-var code,.info-formula-var strong{color:#17385f;font-size:12px}.info-formula-note{margin-top:12px;color:#4b5d72;line-height:1.6}@media (max-width:768px){.info-modal-content{width:calc(100% - 16px);max-height:calc(100vh - 16px);margin:8px auto;padding:18px 16px}.info-modal-content h2{font-size:22px}.info-modal-body{max-height:calc(100vh - 150px);padding-right:2px}.info-grid{grid-template-columns:1fr}.info-section{padding:16px}.info-formula-var,.info-formula-vars{grid-template-columns:1fr}.info-formula-var{gap:6px}}#workspace{display:flex;gap:12px;align-items:stretch;max-width:calc(100% - 24px);margin:0 12px 12px}#mainWorkspace{flex:1 1;min-width:0}.left-toolbar{width:220px;min-width:220px;background:#f5f7fb;border:1px solid #d9e2ec;border-radius:24px;box-shadow:0 2px 8px rgba(15,23,42,.05);padding:14px;display:flex;flex-direction:column;gap:10px;max-height:600px;overflow-y:auto}.toolbar-section-title{font-size:13px;font-weight:800;color:#45556b;text-transform:uppercase;letter-spacing:.04em;padding:4px 6px}.toolbar-divider{height:1px;background:#d9e2ec;margin:4px 0}.tool-btn{display:flex;align-items:center;gap:10px;justify-content:flex-start;min-height:52px;border-radius:16px;border:1px solid #c9d4df;background:#f8fafc;color:#1e2b3c;cursor:pointer;font-size:15px;font-weight:700;padding:10px 12px;transition:all .2s ease}.tool-btn span{pointer-events:none}.tool-btn:hover{background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.08);transform:translateY(-1px)}.tool-btn.active{background:linear-gradient(180deg,#2f80ed,#1f64dd);color:#fff;border-color:#1f64dd;box-shadow:0 8px 20px rgba(47,128,237,.22)}.tool-btn.dragging{opacity:.55}#cy.drag-valid{box-shadow:inset 0 0 0 3px rgba(46,204,64,.35)}#cy.drag-invalid{box-shadow:inset 0 0 0 3px rgba(255,65,54,.35)}.equipment-pop-group{margin-bottom:12px}.equipment-pop-title{font-size:13px;font-weight:800;color:#2d3748;margin-bottom:6px}.equipment-radio-row{display:flex;gap:10px;flex-wrap:wrap}.equipment-radio-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #ccd7e2;border-radius:999px;background:#f8fafc}.equipment-radio-pill input{margin:0}@media (max-width:1100px){#workspace{flex-direction:column}.left-toolbar{width:auto;min-width:0;max-height:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.toolbar-divider,.toolbar-section-title{grid-column:1/-1}}@media (max-width:768px){#workspace{max-width:calc(100% - 16px);margin:0 8px 10px;gap:10px}.collapsible-container{max-width:calc(100% - 16px);margin:14px 8px;border-radius:20px}.left-toolbar{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));padding:10px;border-radius:18px;gap:8px}.tool-btn{min-height:48px;font-size:14px;padding:9px 10px}#cy{height:56vh;min-height:360px;border-radius:16px}}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{min-height:100vh;min-height:100dvh}button,input,select{font:inherit}body.theme-dark,html.theme-dark body{background:#04070d;color:#e5edf6}.auth-gate-shell,.simulator-app{min-height:100vh;min-height:100dvh}.auth-gate-shell{position:relative;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top,rgba(46,128,237,.16),transparent 38%),linear-gradient(180deg,#eef4fb,#dfe8f4)}.auth-gate-backdrop{position:absolute;inset:0;background:linear-gradient(135deg,hsla(0,0%,100%,.66),rgba(227,237,250,.88))}.auth-gate-card{position:relative;z-index:1;width:min(100%,420px);padding:28px 28px 24px;border:1px solid rgba(115,146,188,.28);border-radius:22px;background:hsla(0,0%,100%,.96);box-shadow:0 24px 60px rgba(31,74,138,.18);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-gate-brand{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:8px 14px;margin-bottom:18px;border-radius:999px;background:linear-gradient(180deg,#2f80ed,#1f64dd);color:#fff;font:800 13px/1 Segoe UI,Helvetica,Arial,sans-serif;letter-spacing:.14em}.auth-gate-card h1{margin:0 0 8px;color:#173253;font-size:1.75rem;line-height:1.15}.auth-gate-card p{margin:0 0 20px;color:#61748c;font-size:.98rem;line-height:1.55}.auth-gate-form{display:grid;grid-gap:16px;gap:16px}.auth-gate-field{display:grid;grid-gap:8px;gap:8px}.auth-gate-field span{color:#34506f;font-size:.92rem;font-weight:700}.auth-gate-field input{width:100%;padding:12px 14px;border:1px solid #c8d8ec;border-radius:12px;background:#f8fbff;color:#163354;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.auth-gate-field input:focus{border-color:#2f80ed;box-shadow:0 0 0 4px rgba(47,128,237,.14);background:#fff}.auth-gate-error,.auth-gate-status{border-radius:12px;padding:12px 14px;font-size:.94rem;font-weight:700}.auth-gate-status{background:#edf4ff;color:#21559f}.auth-gate-error{background:#fff0ef;color:#a1261d}.auth-gate-submit{border:none;border-radius:14px;padding:13px 16px;background:linear-gradient(180deg,#2f80ed,#1f64dd);color:#fff;font-size:1rem;font-weight:800;cursor:pointer;box-shadow:0 14px 28px rgba(47,128,237,.24);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.auth-gate-submit:hover{transform:translateY(-1px);box-shadow:0 18px 30px rgba(47,128,237,.28);filter:brightness(1.03)}.auth-gate-submit:active{transform:translateY(0)}.auth-gate-submit:disabled{cursor:wait;opacity:.88;filter:saturate(.88);box-shadow:0 12px 24px rgba(47,128,237,.18)}.desktop-download-modal{position:fixed;inset:0;z-index:1600;display:flex;align-items:center;justify-content:center;padding:24px}.desktop-download-backdrop{position:absolute;inset:0;background:rgba(8,18,32,.58);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.desktop-download-card{position:relative;z-index:1;width:min(100%,420px);padding:26px;border:1px solid rgba(115,146,188,.3);border-radius:18px;background:hsla(0,0%,100%,.98);box-shadow:0 24px 70px rgba(20,44,82,.3)}.desktop-download-close{position:absolute;top:12px;right:14px;width:32px;height:32px;border:0;border-radius:999px;background:#eef4fb;color:#34506f;cursor:pointer;font-size:1.35rem;line-height:1}.desktop-download-close:hover{background:#dce9f8}.desktop-download-card h2{margin:0 34px 8px 0;color:#173253;font-size:1.45rem;line-height:1.2}.desktop-download-card p{margin:0 0 18px;color:#61748c;font-size:.96rem;line-height:1.5}.desktop-download-platform{margin-bottom:18px;padding:10px 12px;border:1px solid #d8e6f5;border-radius:12px;background:#f4f8fd;color:#34506f;font-size:.94rem}.desktop-download-form{display:grid;grid-gap:14px;gap:14px}.desktop-download-field{display:grid;grid-gap:7px;gap:7px}.desktop-download-field span{color:#34506f;font-size:.9rem;font-weight:700}.desktop-download-field input{width:100%;padding:11px 13px;border:1px solid #c8d8ec;border-radius:12px;background:#f8fbff;color:#163354;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.desktop-download-field input:focus{border-color:#2f80ed;box-shadow:0 0 0 4px rgba(47,128,237,.14);background:#fff}.desktop-download-error{padding:10px 12px;border:1px solid rgba(188,69,69,.24);border-radius:12px;background:rgba(245,87,87,.1);color:#9d2e2e;font-size:.92rem;line-height:1.35}.desktop-download-submit{border:0;border-radius:12px;padding:12px 16px;background:linear-gradient(180deg,#2f80ed,#1f64dd);color:#fff;cursor:pointer;font-weight:800;box-shadow:0 12px 26px rgba(47,128,237,.22)}.desktop-download-submit:hover{filter:brightness(1.03)}.desktop-download-submit:disabled{cursor:wait;opacity:.68}.runtime-error-banner,.runtime-status-bar{position:-webkit-sticky;position:sticky;top:0;z-index:100001;padding:10px 16px;font:600 14px/1.4 Segoe UI,Helvetica,Arial,sans-serif}.runtime-status-bar{background:#e8f1ff;color:#0d3f84;border-bottom:1px solid rgba(13,63,132,.15)}.runtime-error-banner{background:#ffe7e5;color:#8d1d14;border-bottom:1px solid rgba(141,29,20,.18)}.native-graph-host{position:relative;overflow:hidden;background-color:#ececec;overscroll-behavior:contain;touch-action:none}.native-graph-host svg{display:block;cursor:default}.native-graph-host.tool-view svg{cursor:-webkit-grab;cursor:grab}.native-graph-host.tool-move svg{cursor:move}.native-graph-host.tool-candle svg,.native-graph-host.tool-manometer svg,.native-graph-host.tool-pipe svg,.native-graph-host.tool-regulator svg,.native-graph-host.tool-valve-closed svg,.native-graph-host.tool-valve-open svg{cursor:crosshair}.edge-label-text,.equipment-icon-text,.equipment-value-text,.node-label-text{-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.edge-label-text{fill:#fff;font-size:calc(10px * var(--canvas-text-scale, 1));font-weight:700;paint-order:stroke;stroke:#000;stroke-width:1.8px;stroke-linejoin:round}.node-pressure-number-text{font-size:calc(12px * var(--canvas-text-scale, 1));font-weight:800}.pressure-trend-down,.pressure-trend-up{font-size:calc(14px * var(--canvas-text-scale, 1));font-weight:900;paint-order:stroke;stroke-width:.7px;stroke-linejoin:round}.pressure-trend-up{fill:#20c15a;stroke:#000}.pressure-trend-down{fill:#e33838;stroke:#000}.node-label-text{fill:#fff;font-size:calc(10px * var(--canvas-text-scale, 1));font-weight:700;paint-order:stroke;stroke:#000;stroke-width:1.5px;stroke-linejoin:round}.equipment-icon-text{fill:#fff;font-size:13px;font-weight:800}.equipment-value-text{fill:#fff;font-size:9px;font-weight:700;paint-order:stroke;stroke:#000;stroke-width:1px;stroke-linejoin:round}.equipment-value-text-center{font-size:8px;font-weight:800}.manometer-pressure-text{fill:#fff;font-weight:900;dominant-baseline:middle;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;paint-order:stroke;stroke:rgba(0,0,0,.74);stroke-width:.7px;stroke-linejoin:round}.selection-marquee{fill:rgba(47,128,237,.14);stroke:#2f80ed;stroke-width:1.4px;stroke-dasharray:6 4;pointer-events:none}.selection-transform-frame{fill:rgba(47,128,237,.05);stroke:#2f80ed;stroke-width:1.5px;stroke-dasharray:7 5;pointer-events:none}.selection-transform-handle{fill:#fff;stroke:#2f80ed;stroke-width:1.8px;vector-effect:non-scaling-stroke;pointer-events:all}.collapsible-container{background:linear-gradient(180deg,#eef5ff,#dcecff);border:1px solid #abcaf0;box-shadow:0 6px 18px rgba(39,99,180,.12)}.collapsible-header{color:#fff}.collapsible-header,.collapsible-header:hover{background:linear-gradient(180deg,#2f80ed,#1f64dd)}.collapsible-header #simulation-summary,.collapsible-header h3,.collapsible-toggle{color:#fff!important}.simulation-summary-text{margin-top:5px;font-size:1.08rem!important;font-weight:700;line-height:1.55;letter-spacing:.01em}.collapsible-content{background:linear-gradient(180deg,#d9eaff,#c3dcff)}#info-edges .scroll-container,#info-equipment .scroll-container,#info-nodes .scroll-container{background:linear-gradient(180deg,#d8e9ff,#bfd8fb);border:1px solid #84afe7;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.34)}.modern-table{background:transparent;color:#163354}.modern-table th,.modern-table thead tr{background:linear-gradient(180deg,#2f80ed,#1f64dd);color:#fff;border-bottom:1px solid #1959c5}.modern-table td{border-bottom:1px solid #a8c8ef;color:#163354;font-size:15.5px}.modern-table td,.modern-table tr:hover td,.modern-table tr:nth-child(2n) td{background:#d8e9ff}.controls-divider{width:2px;background:#d7dee8;margin:0 10px;min-height:34px;border-radius:999px}.theme-switcher{display:inline-flex;align-items:center;gap:8px;margin-left:6px;padding-left:10px;border-left:1px solid #d6dee7}.theme-mode-label{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#7c8b9d}.theme-mode-label.active{color:#184e9b}.theme-switch{display:inline-flex;align-items:center;justify-content:flex-start;width:52px;height:30px;padding:3px;border:1px solid #c8d2dd;border-radius:999px;background:linear-gradient(180deg,#fff,#eef3f8);cursor:pointer;transition:all .25s ease}.theme-switch.dark{justify-content:flex-end}.theme-switch-track{display:flex;align-items:center;width:100%}.theme-switch-thumb{width:22px;height:22px;border-radius:999px;background:linear-gradient(180deg,#2f80ed,#1f64dd);box-shadow:0 4px 10px rgba(47,128,237,.28);transform:translateX(0);transition:transform .25s ease,background .25s ease,box-shadow .25s ease;will-change:transform}.theme-switch.dark .theme-switch-thumb{transform:translateX(22px)}.canvas-text-size-controls{display:inline-flex;align-items:center;gap:4px;margin-left:4px;padding-left:8px;border-left:1px solid #d6dee7}.canvas-text-size-btn{width:34px;height:34px;border:1px solid #c9d4df;border-radius:10px;background:#f8fafc;color:#1e2b3c;font-size:20px;font-weight:900;line-height:1;cursor:pointer;transition:all .2s ease;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.35)}.canvas-text-size-btn:hover:not(:disabled){background:#fff;border-color:#b8c6d6;transform:translateY(-1px)}.canvas-text-size-btn:disabled{color:#9aa5b1;background:#eef2f6;cursor:not-allowed;opacity:.7}.save-scheme-control{position:relative;display:inline-flex;align-items:center;margin-left:4px}.save-scheme-split{display:inline-flex;align-items:stretch;width:282px;height:34px}.save-scheme-inline-btn{flex:1 1;min-width:0;min-height:34px;padding:0 8px;border:1px solid #c9d4df;background:#f8fafc;color:#1e2b3c;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap;transition:all .2s ease}.save-scheme-inline-btn:first-child{border-radius:11px 0 0 11px}.save-scheme-inline-btn:last-child{margin-left:-1px;border-radius:0 11px 11px 0}.save-scheme-inline-btn:hover{background:#fff;border-color:#b8c6d6;transform:translateY(-1px)}.save-scheme-inline-btn:disabled{background:#eef2f6;color:#9aa5b1;cursor:not-allowed;opacity:.76;transform:none}.save-scheme-popover{position:absolute;right:0;top:calc(100% + 10px);z-index:1200;width:280px;padding:14px;border:1px solid #d7e0eb;border-radius:14px;background:#fff;box-shadow:0 18px 42px rgba(20,36,58,.22)}.save-scheme-popover label{display:grid;grid-gap:7px;gap:7px;color:#26384f;font-size:13px;font-weight:800}.save-scheme-popover input{width:100%;height:38px;padding:0 11px;border:1px solid #c8d4e2;border-radius:10px;background:#f8fafc;color:#172338;font:inherit;box-sizing:border-box}.save-scheme-popover input:focus{outline:2px solid #6f9fe6;outline-offset:1px}.save-scheme-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.save-scheme-confirm-text{color:#26384f;font-size:14px;font-weight:800;line-height:1.45}.save-scheme-actions button{min-height:34px;padding:0 12px;border:1px solid #d7dee8;border-radius:9px;background:#fff;color:#1f2937;font-weight:800;cursor:pointer}.save-scheme-actions button.primary{border-color:#2f6edb;background:#2f6edb;color:#fff}.save-scheme-actions button:disabled{cursor:not-allowed;opacity:.62}.simulator-data-panel{background:linear-gradient(180deg,#f8fafc,#f1f5fa);border:1px solid #dfe7f1;border-radius:28px;box-shadow:0 10px 26px rgba(30,52,84,.08);overflow:hidden}.simulator-data-panel .collapsible-header{background:transparent;padding:24px 32px 16px;border-bottom:none}.simulator-data-panel .collapsible-header:hover{background:transparent}.simulator-data-panel .collapsible-header #simulation-summary,.simulator-data-panel .collapsible-header h3{color:#667382!important}.simulator-data-panel .collapsible-toggle{color:#2c3d57!important;font-size:18px;font-weight:800}.simulator-data-panel .simulation-summary-text{font-size:1.1rem!important;font-weight:700;line-height:1.6;color:#667382!important;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.simulator-data-panel .collapsible-content{background:transparent;padding:0 22px 22px}.simulator-data-panel .simulator-table-shell{background:#fff;border:1px solid #dfe5ed;border-radius:20px;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.65);overflow:hidden}.simulator-data-panel #info-equipment{margin-top:18px}.simulator-data-panel .modern-table{background:#fff;border-radius:20px;overflow:hidden}.simulator-data-panel .modern-table th,.simulator-data-panel .modern-table thead tr{background:linear-gradient(180deg,#2d5aa4,#2a4f93);color:#fff;border-bottom:1px solid #23457f;font-size:15px;font-weight:800}.simulator-data-panel .modern-table th{padding:14px 18px;border-right:1px solid rgba(20,40,76,.45)}.simulator-data-panel .modern-table th:last-child{border-right:none}.simulator-data-panel .modern-table tfoot td{background:linear-gradient(180deg,#eef4fb,#e4edf8);border-top:2px solid #c7d6ea;border-bottom:none;color:#24374f;font-weight:800}.simulator-data-panel .modern-table tfoot td b{color:#1f3450}.simulator-data-panel .modern-table td{background:#fff;border-bottom:1px solid #e1e7ef;border-right:1px solid #e1e7ef;color:#33455d;font-size:15px;padding:14px 18px}.simulator-data-panel .modern-table td:last-child{border-right:none}.simulator-data-panel .modern-table tr:last-child td{border-bottom:none}.simulator-data-panel .modern-table tr:hover td,.simulator-data-panel .modern-table tr:nth-child(2n) td{background:#fff}.simulator-data-panel .modern-table td b{color:#31445d;font-weight:800}.edge-table-editable-cell{cursor:cell}.edge-table-editable-input{display:block;width:100%;min-width:0;height:1.25em;margin:0;padding:0;border:0;border-radius:3px;outline:1px solid transparent;outline-offset:2px;background:transparent;color:inherit;font:inherit;line-height:inherit;box-sizing:border-box}.edge-table-editable-input.is-bold{color:#31445d;font-weight:800}.edge-table-editable-input:focus{outline-color:#6f9fe6}.equipment-inner-text{fill:#fff;font-size:11px;font-weight:800;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.native-editor-popover{position:absolute;z-index:1005;min-width:340px;max-width:380px;padding:15px;background:#fff;border:1px solid #004a99;box-shadow:0 10px 28px rgba(15,23,42,.22);border-radius:12px}.simulator-record-surface,.simulator-stage-shell{position:relative}.simulator-stage-shell.fullscreen-active{position:fixed;inset:0;z-index:100002;padding:12px;background:linear-gradient(180deg,rgba(9,14,22,.96),rgba(8,12,19,.98))}.simulator-stage-shell.fullscreen-active .simulator-record-surface{display:flex;flex-direction:column;gap:10px;height:100%;min-height:0}.simulator-stage-actions{position:absolute;top:18px;right:24px;z-index:1006;display:flex;gap:10px}.simulator-stage-action-btn{min-width:58px;min-height:50px;padding:0 16px;border-radius:16px;border:1px solid #c9d4df;background:rgba(248,250,252,.96);color:#1e2b3c;font-size:18px;font-weight:800;cursor:pointer;box-shadow:0 10px 24px rgba(15,23,42,.16)}.simulator-stage-action-btn.is-recording{background:linear-gradient(180deg,#e84141,#b91515);color:#fff;border-color:#b91515;box-shadow:0 14px 28px rgba(185,21,21,.32)}.controls-compact{margin:0!important;padding-right:164px!important}.simulator-stage-shell.fullscreen-active #workspace{display:flex;flex:1 1;min-height:0;height:100%;max-width:100%;margin:0}.simulator-stage-shell.fullscreen-active #mainWorkspace{display:flex;flex:1 1;min-height:0;height:100%}.simulator-stage-shell.fullscreen-active #cy{flex:1 1;height:auto;min-height:0;margin-bottom:0}.workspace-fullscreen{display:flex!important}.simulator-compact-summary{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding:16px 22px;border:1px solid #dfe7f1;border-radius:20px;background:linear-gradient(180deg,#f8fafc,#eef4fb);box-shadow:0 8px 22px rgba(30,52,84,.08);color:#33455d;font-size:16px;font-weight:800}.outflow-adjustment-controls{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;vertical-align:middle}.outflow-adjustment-input{width:58px;height:30px;padding:0 8px;border:1px solid #c6d2e1;border-radius:6px;background:#fff;color:#263548;font-size:14px;font-weight:800;text-align:center}.outflow-adjustment-input:focus{border-color:#2f80ed;box-shadow:0 0 0 3px rgba(47,128,237,.16);outline:none}.outflow-adjustment-btn{height:30px;padding:0 10px;border:1px solid #1f64dd;border-radius:6px;background:#2f80ed;color:#fff;font-size:13px;font-weight:800;cursor:pointer}.outflow-adjustment-btn:hover{background:#1f64dd}.outflow-adjustment-btn.secondary{border-color:#c6d2e1;background:#fff;color:#34465e}.outflow-adjustment-btn.secondary:hover{background:#edf3fa}.native-editor-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.native-editor-row label{flex:0 0 170px;font-size:13px;font-weight:700;color:#444}.native-editor-row input,.native-editor-row select{flex:1 1;width:100%;padding:7px 8px;border:1px solid #ccc;border-radius:6px}.native-editor-row.checkbox-row{justify-content:space-between}.native-editor-row.checkbox-row label{flex:initial}.native-editor-actions{display:flex;align-items:center;gap:8px;margin-top:12px}.native-delete-btn,.native-primary-btn,.native-secondary-btn{border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:700}.native-primary-btn{background:#004a99;color:#fff}.native-secondary-btn{background:#eee;border:1px solid #ccc}.native-delete-btn{background:#d93025;color:#fff}.simulator-app.theme-dark .runtime-status-bar{background:#111826;color:#a7cbff;border-bottom-color:rgba(104,155,255,.18)}.simulator-app.theme-dark .runtime-error-banner{background:#2a1214;color:#ffb8b0;border-bottom-color:hsla(4,100%,72%,.18)}.simulator-app.theme-dark .ggtc-header{background:linear-gradient(135deg,#060a12,#0d1727 52%,#09101d);box-shadow:0 16px 38px rgba(0,0,0,.45)}.simulator-app.theme-dark .ggtc-header p{color:rgba(224,233,245,.75)}.simulator-app.theme-dark #controls,.simulator-app.theme-dark .left-toolbar,.simulator-app.theme-dark .modal-content,.simulator-app.theme-dark .native-editor-popover,.simulator-app.theme-dark .simulator-data-panel,.simulator-app.theme-dark footer{background:linear-gradient(180deg,#0d131c,#121b28);border-color:#233244;box-shadow:0 18px 40px rgba(0,0,0,.28)}.simulator-app.theme-dark #controls,.simulator-app.theme-dark #workspace,.simulator-app.theme-dark .simulator-data-panel{color:#dfe7f2}.simulator-app.theme-dark .desktop-download-card{border-color:rgba(148,163,184,.28);background:rgba(15,23,42,.98);box-shadow:0 24px 70px rgba(0,0,0,.48)}.simulator-app.theme-dark .desktop-download-card h2{color:#e5edf6}.simulator-app.theme-dark .desktop-download-card p,.simulator-app.theme-dark .desktop-download-field span,.simulator-app.theme-dark .desktop-download-platform{color:#b7c5d8}.simulator-app.theme-dark .desktop-download-close{background:#1f2937;color:#dbe7f6}.simulator-app.theme-dark .desktop-download-close:hover{background:#263244}.simulator-app.theme-dark .desktop-download-field input,.simulator-app.theme-dark .desktop-download-platform{border-color:rgba(148,163,184,.26);background:#0b1220}.simulator-app.theme-dark .desktop-download-field input{color:#e5edf6}.simulator-app.theme-dark footer{color:#b7c4d5}.simulator-app.theme-dark .toolbar-section-title{color:#8ea0b7}.simulator-app.theme-dark .controls-divider,.simulator-app.theme-dark .toolbar-divider{background:#253445}.simulator-app.theme-dark .controlButton,.simulator-app.theme-dark .controlButtonSplit,.simulator-app.theme-dark .pipe-label-toggle-btn,.simulator-app.theme-dark .theme-switch,.simulator-app.theme-dark .tool-btn{background:linear-gradient(180deg,#161f2c,#111823);color:#dfe7f2;border-color:#2a3a4d;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.04)}.simulator-app.theme-dark .controlButton:hover,.simulator-app.theme-dark .pipe-label-toggle-btn:hover,.simulator-app.theme-dark .tool-btn:hover{background:linear-gradient(180deg,#1a2533,#141d29);border-color:#35516f;box-shadow:0 12px 24px rgba(0,0,0,.22)}.simulator-app.theme-dark .controlButton.active,.simulator-app.theme-dark .pipe-label-toggle-btn.active,.simulator-app.theme-dark .tool-btn.active{background:linear-gradient(180deg,#2053ad,#163d81);border-color:#2f65c2;color:#fff;box-shadow:0 14px 28px rgba(54,111,214,.3)}.simulator-app.theme-dark .controlButton.deactivated{color:#6f8198!important}.simulator-app.theme-dark .controlButton.deactivated,.simulator-app.theme-dark .controlButtonSplit.deactivated{background:#161e29!important;border-color:#223244!important}.simulator-app.theme-dark .controlButtonSplitAction{color:#dfe7f2}.simulator-app.theme-dark .controlButtonSplitAction.top{border-bottom-color:#243446}.simulator-app.theme-dark .controlButtonSplitAction:hover{background:hsla(0,0%,100%,.04)}.simulator-app.theme-dark .controlButtonSplit.deactivated .controlButtonSplitAction{color:#6f8198!important}.simulator-app.theme-dark .pipe-label-controls{background:linear-gradient(180deg,#0f1721,#121d29);border-color:#233244}.simulator-app.theme-dark .canvas-text-size-controls,.simulator-app.theme-dark .theme-switcher{border-left-color:#243241}.simulator-app.theme-dark .canvas-text-size-btn{background:#161e29;color:#dfe7f2;border-color:#223244}.simulator-app.theme-dark .canvas-text-size-btn:hover:not(:disabled){background:#1b2736;border-color:#30445c}.simulator-app.theme-dark .canvas-text-size-btn:disabled{color:#6f8198;background:#121a24;border-color:#223244}.simulator-app.theme-dark .save-scheme-inline-btn{background:linear-gradient(180deg,#161f2c,#111823);border-color:#27374b;color:#dfe7f2}.simulator-app.theme-dark .save-scheme-inline-btn:hover{background:linear-gradient(180deg,#1a2533,#141d29);border-color:#35516f}.simulator-app.theme-dark .save-scheme-inline-btn:disabled{background:#121a24;border-color:#223244;color:#6f8198}.simulator-app.theme-dark .save-scheme-popover{background:#121b27;border-color:#2a3b51;box-shadow:0 18px 42px rgba(0,0,0,.42)}.simulator-app.theme-dark .save-scheme-confirm-text,.simulator-app.theme-dark .save-scheme-popover label{color:#d8e4f2}.simulator-app.theme-dark .save-scheme-popover input{background:#0c131d;border-color:#26364a;color:#eef5ff}.simulator-app.theme-dark .save-scheme-actions button{background:#0f1722;border-color:#2a3a4e;color:#dfe7f2}.simulator-app.theme-dark .save-scheme-actions button.primary{background:#2454b8;border-color:#2f65c2;color:#fff}.simulator-app.theme-dark .theme-mode-label{color:#71839b}.simulator-app.theme-dark .theme-mode-label.active{color:#dce9ff}.simulator-app.theme-dark .theme-switch-thumb{background:linear-gradient(180deg,#6aa7ff,#4a7fd8);box-shadow:0 4px 12px rgba(90,155,255,.42)}.simulator-app.theme-dark .native-graph-host{background-color:#06080d;border:1px solid #1d2938;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.02)}.simulator-app.theme-dark .edge-label-text,.simulator-app.theme-dark .equipment-value-text,.simulator-app.theme-dark .node-label-text{stroke:rgba(0,0,0,.92)}.simulator-app.theme-dark .selection-marquee{fill:rgba(90,200,255,.14);stroke:#66c8ff}.simulator-app.theme-dark .selection-transform-frame{fill:rgba(90,200,255,.06);stroke:#66c8ff}.simulator-app.theme-dark .selection-transform-handle{fill:#0f1722;stroke:#66c8ff}.simulator-app.theme-dark .simulator-data-panel{background:linear-gradient(180deg,#0d131b,#111925);border-color:#202d3d}.simulator-app.theme-dark .simulator-data-panel .collapsible-content,.simulator-app.theme-dark .simulator-data-panel .collapsible-header,.simulator-app.theme-dark .simulator-data-panel .collapsible-header:hover{background:transparent}.simulator-app.theme-dark .simulator-data-panel .collapsible-header #simulation-summary,.simulator-app.theme-dark .simulator-data-panel .collapsible-header h3,.simulator-app.theme-dark .simulator-data-panel .simulation-summary-text{color:#c4d2e3!important}.simulator-app.theme-dark .simulator-data-panel .collapsible-toggle{color:#d5e2f2!important}.simulator-app.theme-dark .simulator-table-shell{background:#0b1017;border-color:#243344;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.03)}.simulator-app.theme-dark .modern-table{background:#0b1017;color:#d6e0eb}.simulator-app.theme-dark .modern-table th,.simulator-app.theme-dark .modern-table thead tr{background:linear-gradient(180deg,#1d396b,#172f59);border-bottom-color:#274679;border-right-color:rgba(96,129,180,.26)}.simulator-app.theme-dark .modern-table td,.simulator-app.theme-dark .modern-table tr:hover td,.simulator-app.theme-dark .modern-table tr:nth-child(2n) td{background:#101722;color:#d6e0eb;border-bottom-color:#1d2a39;border-right-color:#1d2a39}.simulator-app.theme-dark .edge-table-editable-input.is-bold,.simulator-app.theme-dark .modern-table td b{color:#f1f6fd}.simulator-app.theme-dark .edge-table-editable-input:focus{outline-color:#7fa8ee}.simulator-app.theme-dark .native-editor-popover{color:#dfe8f4}.simulator-app.theme-dark .info-card-title,.simulator-app.theme-dark .info-modal-content h2,.simulator-app.theme-dark .info-section h3,.simulator-app.theme-dark .info-section h4{color:#ecf3fb}.simulator-app.theme-dark .info-card-text,.simulator-app.theme-dark .info-list,.simulator-app.theme-dark .info-modal-intro{color:#c1cedd}.simulator-app.theme-dark .info-card,.simulator-app.theme-dark .info-formula-card,.simulator-app.theme-dark .info-section{background:#0f1823;border-color:#243344}.simulator-app.theme-dark .info-formula-code{background:#0b1119;border-color:#243344;color:#dbe6f3}.simulator-app.theme-dark .info-formula-note,.simulator-app.theme-dark .info-formula-text{color:#c1cedd}.simulator-app.theme-dark .info-formula-var{background:#101a27;border-color:#243344;color:#c9d6e4}.simulator-app.theme-dark .info-formula-var code{background:#102131;border-color:#294765;color:#eef5ff}.simulator-app.theme-dark .info-formula-var strong{color:#eef5ff}.simulator-app.theme-dark .info-note{background:#102131;border-color:#294765;color:#d6e4f3}.simulator-app.theme-dark .info-legend-table th{background:linear-gradient(180deg,#1d396b,#172f59);color:#ecf4ff;border-bottom-color:#26446f}.simulator-app.theme-dark .info-legend-table td{background:#0d141d;color:#d7e0eb;border-bottom-color:#223243}.simulator-app.theme-dark .native-editor-row label{color:#b9c7d8}.simulator-app.theme-dark .native-editor-row input,.simulator-app.theme-dark .native-editor-row select{background:#0c131c;border-color:#2a394b;color:#f3f7fc}.simulator-app.theme-dark .native-secondary-btn{background:#1a2431;color:#d7e3f0}.simulator-app.theme-dark .native-delete-btn{background:#8f2722}.simulator-app.theme-dark .simulator-stage-shell.fullscreen-active{background:linear-gradient(180deg,rgba(4,7,13,.98),#060a10)}.simulator-app.theme-dark .simulator-stage-action-btn{background:linear-gradient(180deg,#111924,#0d141d);color:#dfe7f2;border-color:#243445;box-shadow:0 14px 28px rgba(0,0,0,.3)}.simulator-app.theme-dark .simulator-stage-action-btn.is-recording{background:linear-gradient(180deg,#f05252,#b31919);border-color:#b31919;color:#fff}.simulator-app.theme-dark .simulator-compact-summary{background:linear-gradient(180deg,#0d131b,#111925);border-color:#202d3d;color:#dfe7f2}.simulator-app.theme-dark .outflow-adjustment-input{border-color:#2b3a4c;background:#121b27;color:#e5edf7}.simulator-app.theme-dark .outflow-adjustment-input:focus{border-color:#66c8ff;box-shadow:0 0 0 3px rgba(102,200,255,.14)}.simulator-app.theme-dark .outflow-adjustment-btn{border-color:#2f80ed;background:#236fdd;color:#fff}.simulator-app.theme-dark .outflow-adjustment-btn:hover{background:#2f80ed}.simulator-app.theme-dark .outflow-adjustment-btn.secondary{border-color:#2b3a4c;background:#172231;color:#dfe7f2}.simulator-app.theme-dark .outflow-adjustment-btn.secondary:hover{background:#202e40}@media (max-width:768px){.native-editor-popover{left:8px!important;right:8px;top:auto!important;bottom:12px;min-width:0;max-width:none}.native-editor-row{flex-direction:column;align-items:stretch}.native-editor-row label{flex:initial}}