:root{--bg: #0f1216;--panel: #171d24;--panel2: #1b222b;--border: #232b34;--text: #c9d4e0;--muted: #7f8ea3;--accent: #2d7ff9;--accent2: #35c2ff;--ok: #2fbf71;--warn: #ffb020;--err: #ff5d5d;--mono: ui-monospace, "Cascadia Mono", "JetBrains Mono", Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}button{background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 12px;cursor:pointer;font:inherit}button:hover{border-color:var(--accent)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.primary:disabled{opacity:.45;cursor:not-allowed}button.ghost{background:transparent;border-color:transparent;color:var(--muted)}button.mini{padding:1px 7px;font-size:12px}button.danger{color:var(--err)}input,select{background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 8px;font:inherit}input:focus,select:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.app{height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--panel);border-bottom:1px solid var(--border)}.topbar .spacer{flex:1}.topbar em{font-style:normal;color:var(--ok);font-size:12px;margin-left:4px}.logo{font-weight:800;font-size:18px;letter-spacing:.3px}.logo span{color:var(--accent2)}.proj-name{width:200px;font-family:var(--mono)}.main{flex:1;display:flex;min-height:0}.blockly-host{flex:1;min-width:0}.side{width:460px;min-width:380px;display:flex;flex-direction:column;background:var(--panel);border-left:1px solid var(--border)}.tabs{display:flex;border-bottom:1px solid var(--border)}.tabs button{flex:1;border:0;border-radius:0;background:transparent;padding:10px 6px;color:var(--muted);border-bottom:2px solid transparent}.tabs button.on{color:var(--text);border-bottom-color:var(--accent2)}.badge{margin-left:6px;border-radius:9px;padding:0 6px;font-size:11px}.badge.err{background:var(--err);color:#fff}.badge.warn{background:var(--warn);color:#201500}.code-pane{flex:1;display:flex;flex-direction:column;min-height:0}pre.lua{flex:1;margin:0;padding:12px;overflow:auto;font:12.5px/1.55 var(--mono);color:#d7e3f0;background:#10151b;white-space:pre}.issues{max-height:40%;overflow:auto;border-top:1px solid var(--border);padding:8px 10px}.issue{padding:4px 6px;border-radius:5px;margin-bottom:4px;font-size:12.5px}.issue.error{background:#ff5d5d1f;color:#ffb0b0}.issue.warn{background:#ffb0201a;color:#ffd48a}.issue.info{background:#35c2ff14;color:#9fd8f5}.viz-pane,.viz-wrap{flex:1;display:flex;flex-direction:column;min-height:0}.viz-canvas{flex:1;min-height:0}.viz-bar{display:flex;align-items:center;gap:12px;padding:8px 10px;border-top:1px solid var(--border);font-size:12.5px}.viz-bar label{display:flex;align-items:center;gap:6px;color:var(--muted)}.viz-legend{color:var(--muted);display:flex;align-items:center}.viz-legend i{display:inline-block;width:14px;height:3px;margin:0 4px 0 8px;border-radius:2px}.viz-note{padding:4px 10px 8px;color:var(--muted);font-size:11.5px}.viz-model-row{padding:6px 10px 10px;font-size:12.5px;color:var(--muted)}.viz-model-row input{width:90px;margin-left:6px}.points-panel{flex:1;overflow:auto;padding:14px 16px}.points-panel td input{width:100%;padding:4px 6px;font-family:var(--mono);font-size:12px}.points-panel td:first-child input{min-width:90px}.hint{color:var(--muted);font-size:12.5px}.login-wrap{height:100%;display:grid;place-items:center}.login-card{width:320px;padding:28px;background:var(--panel);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:12px}.login-card .logo{font-size:26px;text-align:center}.login-card p{margin:0 0 6px;color:var(--muted);text-align:center;font-size:12.5px}.login-card .err{color:var(--err);font-size:13px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#05080c99;display:grid;place-items:center;z-index:10000}.modal{width:520px;max-height:70vh;background:var(--panel);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border)}.modal-body{overflow:auto;padding:10px 16px 16px}.tpl-row{padding:10px 12px;border:1px solid var(--border);border-radius:8px;margin-top:8px;cursor:pointer;display:flex;flex-direction:column;gap:3px}.tpl-row:hover{border-color:var(--accent)}.tpl-row small{color:var(--muted)}.blocklyToolboxDiv{border-right:1px solid var(--border)}.blocklyTreeLabel{font-size:13px!important}.code-toolbar{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--border)}.edit-banner{color:var(--warn);font-size:12px;flex:1}textarea.lua-edit{flex:1;resize:none;border:0;outline:none;background:#10151b;color:#d7e3f0;font:12.5px/1.55 var(--mono);padding:12px}.viz-status{color:var(--warn);font-size:12px;margin-left:10px}.points-panel select{padding:3px 4px;font-size:12px}.lex-entry{border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin:10px 0}.lex-entry-head{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline}.lex-sig{font-family:var(--mono);font-size:11.5px;color:#7ee0a3;background:#10151b;padding:2px 8px;border-radius:5px}.lex-tip{color:var(--muted);font-size:12.5px;margin:6px 0 0}.lex-doc{color:var(--text);font-size:13px;line-height:1.55;margin:8px 0 0;padding:8px 10px;background:#2d7ff90f;border-left:3px solid var(--accent);border-radius:4px}.lex-diag{display:block;width:320px;max-width:100%;margin:10px 0 2px;background:#10151b;border:1px solid var(--border);border-radius:8px}.stack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 12px;margin:10px 0}.stack-grid label{display:flex;flex-direction:column;gap:3px;font-size:12.5px;color:var(--muted)}.stack-row{margin:8px 0;font-size:13px}.sim-bar{display:flex;align-items:center;gap:6px;padding:8px 10px;border-top:1px solid var(--border);font-size:12.5px;flex-wrap:wrap}.sim-info{color:var(--accent2);font-family:var(--mono);font-size:11.5px}.weld-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0}.weld-pts{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px;max-height:130px;overflow:auto}.weld-seq{display:flex;flex-direction:column;gap:4px;margin-top:6px;max-height:130px;overflow:auto}.weld-chip{display:flex;align-items:center;gap:6px;background:var(--panel2);border:1px solid var(--border);border-radius:6px;padding:3px 8px;font-size:12.5px}.walls-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:6px 10px;border-top:1px solid var(--border);font-size:12.5px}.pat-cards{display:flex;flex-direction:column;gap:8px;margin:10px 0;max-height:320px;overflow-y:auto}.pat-card{border:1px solid var(--border);border-radius:8px;padding:8px 10px;cursor:pointer;display:flex;flex-direction:column;gap:4px}.pat-card.on{border-color:var(--accent);background:#2d7ff912}.pat-card span{font-size:12px;color:var(--muted)}.pat-svgs{display:flex;gap:8px}.pat-svg{width:150px;border-radius:4px}.pat-warn{color:#ffb020;font-size:11.5px}.topbar{background:linear-gradient(180deg,#171c23,#12161c);border-bottom:1px solid #262d36;gap:6px}.topbar .logo{font-size:17px;letter-spacing:.3px}.proj-name{background:#0f1318;border:1px solid #2a323d;border-radius:7px;padding:6px 10px;min-width:190px;font-family:var(--mono);font-size:12.5px}.proj-name:focus{border-color:var(--accent);outline:none}.topbar button.tb,.topbar button.tb-new{border-radius:7px}.tb-new{background:linear-gradient(135deg,#2d7ff9,#1f66d0);border:0;color:#fff;font-weight:600;padding:7px 14px}.tb-new:hover{filter:brightness(1.12)}.tb.on{background:var(--panel2);border-color:var(--accent)}.menu-wrap{position:relative}.menu-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:60;min-width:250px;background:#171c23;border:1px solid #2a323d;border-radius:10px;padding:6px;box-shadow:0 12px 32px #00000080;display:flex;flex-direction:column}.menu-panel button{text-align:left;border:0;background:transparent;padding:9px 12px;border-radius:7px;font-size:13px}.menu-panel button:hover{background:#202834}.menu-panel hr{border:0;border-top:1px solid #262d36;margin:4px 8px}.launch-h{margin:14px 0 8px;color:var(--accent2);font-size:13px;text-transform:uppercase;letter-spacing:.6px}.launch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.launch-card{border:1px solid #2a323d;border-radius:10px;padding:12px 14px;cursor:pointer;display:flex;flex-direction:column;gap:5px;background:#151a21;transition:transform .12s,border-color .12s,box-shadow .12s}.launch-card:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 8px 22px #2d7ff926}.launch-card b{font-size:14px}.launch-card span{font-size:12px;color:var(--muted);line-height:1.45}.launch-card.hero{grid-column:1 / -1;background:linear-gradient(135deg,#2d7ff924,#2d7ff908);border-color:#2d5f9f}.mobile-nav{display:none}@media(max-width:880px){.topbar{flex-wrap:wrap;padding:8px;gap:5px}.proj-name{min-width:120px;flex:1}.topbar .logo{font-size:15px}.tb-new{padding:6px 10px;font-size:12.5px}.topbar button{padding:6px 9px;font-size:12.5px}.main{flex-direction:column}.main .blockly-host,.main .side{width:100%!important}.main.mv-blocks .side{display:none}.main.mv-blocks .blockly-host{height:calc(100vh - 170px)}.main.mv-side .blockly-host{display:none}.main.mv-side .side{height:calc(100vh - 170px);border-left:0}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:50;background:#12161c;border-top:1px solid #262d36;padding:6px 8px calc(6px + env(safe-area-inset-bottom));gap:6px}.mobile-nav button{flex:1;border:1px solid #2a323d;background:#171c23;border-radius:9px;padding:9px 4px;font-size:12.5px;color:var(--text);display:flex;align-items:center;justify-content:center;gap:4px}.mobile-nav button.on{border-color:var(--accent);background:#2d7ff91f;color:#fff}.side .tabs{display:none}.modal{width:100vw!important;max-width:100vw!important;height:100dvh;max-height:100dvh!important;border-radius:0}.modal-bg{padding:0}.fb-panel-wide{width:100vw}.fb-panel-nav{width:150px}.stack-grid{grid-template-columns:1fr 1fr}.weld-picker,.launch-grid{grid-template-columns:1fr}}@media(min-width:881px){.side .tabs{display:flex}}@media(max-width:480px){.stack-grid{grid-template-columns:1fr}}.edu-tip{background:#171c23!important;border:1px solid #2a323d;border-radius:10px;padding:10px;max-width:260px;box-shadow:0 10px 28px #0000008c;opacity:1!important}.edu-tip-title{color:#dfe6ee;font-weight:600;font-size:12.5px;margin-bottom:6px}.edu-tip-text{color:#9fb4cc;font-size:11.5px;line-height:1.45;margin-top:7px;max-width:236px}.lex-anim{margin:10px 0 2px}.lex-anim svg{border:1px solid var(--border);border-radius:8px}.lex-entry.anchored{border-color:var(--accent);box-shadow:0 0 0 2px #2d7ff940}.fb-fab{position:fixed;right:16px;bottom:76px;z-index:55;width:46px;height:46px;border-radius:50%;border:1px solid #2a323d;background:#171c23;font-size:19px;box-shadow:0 8px 20px #00000073}@media(min-width:881px){.fb-fab{bottom:18px}}.fb-fab-active{width:auto;border-radius:24px;padding:0 16px;font-size:13px;color:var(--text);background:#2d7ff92e;border-color:var(--accent)}.fb-wrap{position:relative}.fb-minbtn{position:fixed;z-index:80;right:24px;top:14px;background:#232a33;border:1px solid #2a323d;border-radius:6px;padding:4px 12px}.fb-modal{width:640px;max-width:94vw}.fb-body{padding:14px 16px;overflow-y:auto}.fb-ta{width:100%;background:#0f1318;border:1px solid #2a323d;border-radius:8px;color:var(--text);padding:8px 10px;margin:8px 0;font:inherit}.fb-task{margin:6px 0;color:#dfe6ee}.fb-results{max-height:60vh}.fb-table{width:100%;font-size:12px;border-collapse:collapse;margin:6px 0}.fb-table th{text-align:left;font-weight:500;font-size:11.5px;color:var(--muted);padding:4px 6px;border-bottom:1px solid var(--border);white-space:nowrap}.fb-table td{border-bottom:1px solid var(--border);padding:5px 6px;vertical-align:top}.fb-table.dense td{padding:2px 6px}.fb-table tr:last-child td{border-bottom:0}.fb-table tr.stuck td{color:var(--warn)}.fb-table-wrap{overflow-x:auto}.hint.ok{color:#7ee0a3}.edu-card{position:fixed;left:210px;bottom:14px;z-index:45;background:#171c23;border:1px solid #2a323d;border-radius:12px;padding:10px;box-shadow:0 12px 30px #00000080;animation:eduIn .18s ease-out}@keyframes eduIn{0%{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}.edu-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px}.edu-card-head b{font-size:12.5px;color:#dfe6ee}@media(max-width:880px){.edu-card{left:8px;right:8px;bottom:64px}.edu-card svg{width:100%!important}}.wiz-step h3{margin:4px 0 8px;font-size:14px}.wiz-nav{display:flex;justify-content:space-between;gap:8px;margin-top:14px;border-top:1px solid var(--border);padding-top:12px}.launch-card.on-card{border-color:var(--accent);background:#2d7ff91f}.crs-p{line-height:1.55;color:#cdd7e1}.crs-p code{background:#0f1318;padding:1px 6px;border-radius:4px}.crs-fig{margin:12px 0;text-align:center}.crs-fig img{max-width:100%;max-height:340px;border:1px solid var(--border);border-radius:8px;background:#fff}.crs-fig.small img{max-height:220px}.crs-fig figcaption{font-size:11.5px;color:var(--muted);margin-top:4px}.crs-icons{display:flex;flex-direction:column;gap:6px;margin:10px 0}.crs-icon-row{display:flex;align-items:center;gap:12px;background:#151a21;border:1px solid #232a33;border-radius:8px;padding:7px 10px}.crs-icon-row img{width:34px;height:34px;object-fit:contain;background:#fff;border-radius:6px;padding:2px}.crs-icon-row b{display:block;font-size:12.5px}.crs-icon-row span{font-size:11.5px;color:var(--muted)}.crs-quiz{margin-top:18px;border-top:1px solid #232a33;padding-top:10px}.crs-q{margin:10px 0}.crs-q label{display:block;padding:5px 10px;border-radius:6px;cursor:pointer}.crs-q label.good{background:#7ee0a326;outline:1px solid #3f8f5f}.crs-q label.bad{background:#ff5d5d1f;outline:1px solid #a04040}.crs-prog{font-size:12px;color:var(--ok)}.crs-flow{line-height:1.7;padding-left:20px}.crs-flow li{margin:6px 0}.hint.warn{color:#ffb020}.err-cat{border:1px solid var(--border);border-radius:10px;margin:8px 0;padding:4px 10px}.err-cat summary{cursor:pointer;padding:6px 2px}.err-code{font-family:var(--mono);color:#ffa028;white-space:nowrap;width:64px}.err-badge{font-size:10px;border-radius:4px;padding:1px 6px;margin-left:6px}.err-badge.soft{background:#7ee0a326;color:#7ee0a3}.err-badge.hard{background:#ff5d5d26;color:#ff8f8f}.err-fix{background:#2d7ff914;border-left:3px solid var(--accent);padding:8px 10px;border-radius:0 8px 8px 0;font-size:12.5px;line-height:1.5}.iss-idx{display:block;width:100%;margin-top:6px;text-align:left;color:#9fb4cc}.iss-idx:hover{color:#fff;border-color:var(--accent)}@media(max-width:880px){.viz-bar{flex-wrap:wrap;row-gap:6px}.viz-bar label{white-space:nowrap}}.m-burger{display:none}@media(max-width:880px){.topbar{flex-wrap:nowrap;overflow:hidden;padding:7px 8px;gap:6px}.topbar .logo{font-size:15px;flex-shrink:0}.proj-name{min-width:0;flex:1 1 60px;font-size:11.5px;padding:6px 8px}.topbar select{max-width:74px}.tb-new,.menu-wrap,.topbar .tb:not(.m-burger),.topbar .ghost{display:none!important}.topbar .primary{padding:7px 10px;font-size:12px;flex-shrink:0}.m-burger{display:inline-flex!important;flex-shrink:0;font-size:17px;padding:6px 10px}.main.mv-blocks .blockly-host,.main.mv-side .side{height:calc(100dvh - 114px - env(safe-area-inset-bottom))}.mobile-nav{padding:5px 6px calc(5px + env(safe-area-inset-bottom))}.mobile-nav button{flex-direction:column;gap:1px;padding:5px 2px;font-size:17px;line-height:1.1;border-radius:10px}.mobile-nav button small{font-size:10px;color:var(--muted)}.mobile-nav button.on small{color:#cfe3ff}.mobile-nav .mn-new{background:linear-gradient(135deg,#2d7ff9,#1f66d0);border:0;color:#fff}.mobile-nav .mn-new small{color:#dfeaff}.viz-pane{overflow-y:auto}.viz-pane canvas,.viz-canvas{height:42dvh!important;min-height:240px}.viz-note{display:none}.sim-bar{position:sticky;top:0;z-index:5;background:#12161c;flex-wrap:wrap;row-gap:4px}.fb-fab{bottom:calc(74px + env(safe-area-inset-bottom))}}.m-sheet-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#0000008c;display:flex;align-items:flex-end}.m-sheet{width:100%;max-height:78dvh;overflow-y:auto;background:#171c23;border-radius:16px 16px 0 0;padding:8px 10px calc(14px + env(safe-area-inset-bottom));display:flex;flex-direction:column;animation:sheetIn .18s ease-out}@keyframes sheetIn{0%{transform:translateY(30%)}to{transform:none}}.m-sheet-grab{width:40px;height:4px;border-radius:2px;background:#39414c;margin:2px auto 10px}.m-sheet button{text-align:left;background:transparent;border:0;padding:12px 10px;font-size:14.5px;border-radius:10px;color:var(--text)}.m-sheet button:active{background:#202834}.m-sheet button.danger{color:#ff8f8f}.m-sheet hr{border:0;border-top:1px solid #262d36;margin:6px 4px}.viz-acc{border-top:1px solid #232a33}.viz-acc summary{padding:9px 12px;cursor:pointer;font-size:13px;color:#cdd7e1;list-style:none}.viz-acc summary:before{content:"▸ ";color:var(--muted)}.viz-acc[open] summary:before{content:"▾ "}button,label,select,summary,.launch-card,.pat-card{touch-action:manipulation}html{-webkit-tap-highlight-color:transparent}body{overscroll-behavior-y:contain}@media(max-width:880px){input,select,textarea{font-size:16px!important}.mini{min-height:40px;min-width:40px;padding:8px 12px}.sim-bar .mini{min-width:46px;font-size:16px}button{min-height:40px}.mobile-nav button{min-height:52px}.menu-panel button,.m-sheet button{min-height:46px}.blocklyToolboxDiv{max-width:148px!important}.blocklyTreeLabel{font-size:12px!important}.blocklyTreeRow{padding:7px 4px!important}.fb-fab.m-hide{display:none}.modal{display:flex;flex-direction:column}.wiz-nav{position:sticky;bottom:0;background:linear-gradient(180deg,transparent,var(--panel) 30%);padding:12px 0 calc(6px + env(safe-area-inset-bottom));margin-top:auto}.wiz-nav .primary{min-width:46%;font-size:15px}.wiz-progress{position:sticky;top:0;background:var(--panel);z-index:3;padding:6px 0;margin-top:-6px}.err-code{width:52px;font-size:12px}.launch-card{padding:12px}.launch-card.hero{padding:14px}}.hmi-modal{width:min(1180px,96vw);max-height:90vh}.hmi-body{overflow:auto;padding:14px 16px 18px}.hmi-notice{margin-bottom:12px;padding:9px 11px;border:1px solid #2d5f9f;border-radius:8px;background:#2d7ff914;color:#cfe3ff;font-size:12.5px}.hmi-notice code{font-family:var(--mono);color:#7ee0a3}.hmi-columns{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(220px,.8fr) minmax(300px,1.2fr);gap:12px}.hmi-columns section{min-width:0;padding:12px;border:1px solid var(--border);border-radius:9px;background:#131920}.hmi-columns h3{margin:0 0 10px;font-size:13.5px;color:var(--accent2)}.hmi-columns h3 small{color:var(--muted);font-weight:400}.hmi-loading{margin-bottom:10px;padding:9px 11px;border:1px solid #334052;border-radius:8px;background:#111820;color:#cfe3ff}.hmi-list{display:flex;flex-direction:column;gap:5px}.hmi-control{display:grid;grid-template-columns:18px minmax(0,1fr);gap:1px 7px;align-items:center;min-height:48px;padding:7px 9px;border:1px solid #29323d;border-radius:7px;background:var(--panel2);cursor:grab}.hmi-control.on{border-color:var(--accent);background:#2d7ff91f}.hmi-control>span{grid-row:1 / 3;color:var(--muted)}.hmi-control b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hmi-control small{overflow:hidden;color:var(--muted);font:10.5px var(--mono);text-overflow:ellipsis;white-space:nowrap}.hmi-properties label{display:flex;flex-direction:column;gap:4px;margin-bottom:9px;color:var(--muted);font-size:12px}.hmi-properties input,.hmi-properties select{width:100%}.hmi-check{flex-direction:row!important;align-items:center;gap:8px!important;color:var(--text)!important}.hmi-check input{width:auto}.hmi-reorder{display:flex;gap:8px;margin:8px 0 10px}.hmi-preview{min-width:0}.operator-frame{overflow:hidden;min-height:420px;border:1px solid #3c4958;border-radius:12px;background:#0b1016;box-shadow:0 18px 45px #00000052;color:#edf3f8}.operator-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #28323d;background:#141b23}.operator-topbar strong{display:block;overflow:hidden;max-width:260px;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.operator-topbar small{display:block;margin-top:3px;color:#8fa1b3;font-size:10px}.operator-connection{display:flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #5b3c3c;border-radius:99px;background:#c541411f;color:#ff9b9b;font:10px var(--mono)}.operator-connection span{width:7px;height:7px;border-radius:50%;background:#ef5b5b;box-shadow:0 0 0 3px #ef5b5b24}.operator-alert{display:flex;align-items:center;gap:10px;margin:12px 14px;padding:10px 12px;border:1px solid #5f4c27;border-radius:8px;background:#cf921f17}.operator-alert-icon{display:grid;flex:0 0 25px;width:25px;height:25px;place-items:center;border-radius:50%;background:#d59a2b;color:#111820;font-weight:900}.operator-alert b,.operator-alert small{display:block}.operator-alert b{color:#f3d28c;font-size:11px}.operator-alert small{margin-top:2px;color:#aeb8c2;font-size:9.5px}.operator-section-label{margin:15px 14px 7px;color:#718497;font:9px var(--mono);letter-spacing:.11em}.operator-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 14px}.operator-action-grid .operator-action{display:flex;align-items:center;gap:9px;min-height:58px;margin:0;padding:9px 10px;border-width:1px;border-style:solid;border-radius:9px;opacity:1;text-align:left}.operator-action-grid .operator-action:disabled{cursor:not-allowed;opacity:.78}.operator-action.start{border-color:#286447;background:#29996224;color:#81e6ad}.operator-action.stop{border-color:#754040;background:#ca494921;color:#ff9a9a}.operator-action.pause{border-color:#715d32;background:#d29d321f;color:#f3ca72}.operator-action.resume{border-color:#315f7a;background:#388fc51f;color:#86cef8}.operator-action-icon{display:grid;flex:0 0 30px;width:30px;height:30px;place-items:center;border-radius:7px;background:#ffffff12;font-size:15px}.operator-action b,.operator-action small{display:block}.operator-action b{font-size:10.5px;letter-spacing:.02em}.operator-action small{margin-top:2px;overflow:hidden;color:#9eacb9;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.operator-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 14px 14px}.operator-metric{min-width:0;padding:10px;border:1px solid #283440;border-radius:8px;background:#131a22}.operator-metric>div{display:flex;align-items:center;gap:6px;overflow:hidden;color:#acbac7;font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}.operator-metric-dot{flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:#6f8192}.operator-metric b{display:block;margin-top:7px;color:#ecf3f9;font:14px var(--mono)}.operator-metric small{display:block;margin-top:4px;overflow:hidden;color:#607386;font:8.5px var(--mono);text-overflow:ellipsis;white-space:nowrap}.operator-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;padding:9px 14px;border-top:1px solid #25303a;background:#10161d;color:#657789;font:8.5px var(--mono)}.operator-footer b{color:#a9bac9}.hmi-questions{margin-top:12px;padding:8px 10px;border:1px solid var(--border);border-radius:8px}.hmi-questions summary{cursor:pointer;color:var(--muted)}.hmi-questions li{margin:5px 0}.hmi-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}@media(max-width:1180px)and (min-width:881px){.hmi-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.hmi-preview{grid-column:1 / -1;grid-row:1}}@media(max-width:880px){.hmi-modal{width:100vw;max-height:100dvh}.hmi-columns{grid-template-columns:1fr}.hmi-preview{order:-1}.hmi-columns section{padding:10px}.hmi-actions button{flex:1 1 130px}.hmi-actions{position:sticky;bottom:0;z-index:4;padding:10px 0 calc(4px + env(safe-area-inset-bottom));background:#171c23;flex-wrap:wrap}}:root,:root[data-theme=light],:root[data-theme=system]{--fb-bg: #f4f6f8;--fb-surface: #ffffff;--fb-surface-subtle: #f8fafb;--fb-raised: #ffffff;--fb-canvas: #eef2f5;--fb-text: #17212b;--fb-muted: #66727f;--fb-border: #dce2e7;--fb-border-strong: #c5ced6;--fb-accent: #176b5b;--fb-accent-hover: #125647;--fb-accent-soft: #e5f3ef;--fb-info: #2869a7;--fb-success: #198754;--fb-warning: #a86708;--fb-danger: #bb3d3d;--fb-focus: #3b82f6}:root[data-theme=dark]{--fb-bg: #0e1419;--fb-surface: #151d24;--fb-surface-subtle: #111920;--fb-raised: #1a242c;--fb-canvas: #0b1116;--fb-text: #e8edf1;--fb-muted: #9aa8b4;--fb-border: #2a3640;--fb-border-strong: #3a4853;--fb-accent: #55b79f;--fb-accent-hover: #72c7b2;--fb-accent-soft: #17352f;--fb-info: #6faee8;--fb-success: #5bc78b;--fb-warning: #e1a74f;--fb-danger: #ed7777}@media(prefers-color-scheme:dark){:root[data-theme=system]{--fb-bg: #0e1419;--fb-surface: #151d24;--fb-surface-subtle: #111920;--fb-raised: #1a242c;--fb-canvas: #0b1116;--fb-text: #e8edf1;--fb-muted: #9aa8b4;--fb-border: #2a3640;--fb-border-strong: #3a4853;--fb-accent: #55b79f;--fb-accent-hover: #72c7b2;--fb-accent-soft: #17352f;--fb-info: #6faee8;--fb-success: #5bc78b;--fb-warning: #e1a74f;--fb-danger: #ed7777}}.fb2026-app{height:100%;display:grid;grid-template-columns:112px minmax(0,1fr);background:var(--fb-bg);color:var(--fb-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}.fb2026-rail{display:flex;flex-direction:column;gap:6px;padding:10px 8px;border-right:1px solid var(--fb-border);background:var(--fb-surface)}.fb2026-rail button{min-height:48px;border:1px solid transparent;background:transparent;color:var(--fb-muted);padding:6px 4px}.fb2026-rail button span{display:grid;width:26px;height:26px;margin:0 auto 2px;place-items:center;border:1px solid var(--fb-border);border-radius:6px;font-size:11px;font-weight:700}.fb2026-rail button b{display:block;max-width:100%;overflow:hidden;overflow-wrap:anywhere;font-size:10.5px;font-weight:600;text-overflow:ellipsis;white-space:normal}.fb2026-rail button.on{border-color:var(--fb-border);background:var(--fb-accent-soft);color:var(--fb-text)}.fb2026-rail button.on span{border-color:var(--fb-accent);color:var(--fb-accent)}.fb2026-brand span{border-color:var(--fb-accent)!important;background:var(--fb-accent)!important;color:#fff!important}.fb2026-work{min-width:0;min-height:0;display:grid;grid-template-rows:56px minmax(0,1fr);overflow:hidden}.fb2026-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 16px;border-bottom:1px solid var(--fb-border);background:var(--fb-surface)}.fb2026-topbar h1{margin:0;overflow:hidden;color:var(--fb-text);font-size:18px;font-weight:650;line-height:24px;text-overflow:ellipsis;white-space:nowrap}.fb2026-crumb,.fb2026-eyebrow{display:block;color:var(--fb-muted);font-size:12px;font-weight:600}.fb2026-statusline,.fb2026-actions,.fb2026-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fb2026-main{min-width:0;min-height:0;overflow:auto;background:var(--fb-bg)}.fb2026-page{width:min(1200px,calc(100% - 32px));margin:0 auto;padding:20px 0 32px}.fb2026-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}.fb2026-page-head h2,.fb2026-start-primary h2{margin:0;color:var(--fb-text);font-size:24px;line-height:32px}.fb2026-page-head p,.fb2026-start-primary p,.fb2026-muted{margin:4px 0 0;color:var(--fb-muted)}.fb2026-start-grid,.fb2026-two-col,.fb2026-learning-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:14px;margin-bottom:14px}.fb2026-learning-grid{grid-template-columns:minmax(0,1.1fr) minmax(280px,.8fr) minmax(260px,.7fr)}.fb2026-panel{min-width:0;border:1px solid var(--fb-border);border-radius:10px;background:var(--fb-surface);padding:14px}.fb2026-start-primary{padding:22px}.fb2026-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.fb2026-panel-head h3,.fb2026-template h3,.fb2026-review h3{margin:0;font-size:15px;line-height:22px}.fb2026-button,.fb2026-app button{border-color:var(--fb-border);background:var(--fb-surface-subtle);color:var(--fb-text)}.fb2026-button.primary{border-color:var(--fb-accent);background:var(--fb-accent);color:#fff}.fb2026-button.primary:hover{border-color:var(--fb-accent-hover);background:var(--fb-accent-hover)}.fb2026-button.secondary{background:var(--fb-surface)}.fb2026-button.ghost{border-color:transparent;background:transparent;color:var(--fb-muted)}.fb2026-app input,.fb2026-app select,.fb2026-app textarea{border-color:var(--fb-border);background:var(--fb-surface);color:var(--fb-text)}.fb2026-status{display:inline-flex;align-items:center;gap:6px;min-height:26px;color:var(--fb-muted);font-size:12px}.fb2026-status i{width:8px;height:8px;border-radius:50%;background:var(--fb-muted)}.fb2026-status.success i,.fb2026-metric.success b{background:var(--fb-success);color:var(--fb-success)}.fb2026-status.warning i,.fb2026-metric.warning b{background:var(--fb-warning);color:var(--fb-warning)}.fb2026-status.danger i,.fb2026-metric.danger b{background:var(--fb-danger);color:var(--fb-danger)}.fb2026-status.info i{background:var(--fb-info)}.fb2026-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.fb2026-metric{min-width:0;padding:10px;border:1px solid var(--fb-border);border-radius:8px;background:var(--fb-surface-subtle)}.fb2026-metric span,.fb2026-template small,.fb2026-learning-row span{display:block;color:var(--fb-muted);font-size:12px}.fb2026-metric b{display:block;margin-top:6px;color:var(--fb-text);font-size:16px}.fb2026-project-row{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;margin-top:6px;padding:9px 10px;text-align:left}.fb2026-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 180px 180px;gap:10px;margin-bottom:12px;padding:10px;border:1px solid var(--fb-border);border-radius:8px;background:var(--fb-surface-subtle)}.fb2026-toolbar label,.fb2026-config label{display:flex;min-width:0;flex-direction:column;gap:5px;color:var(--fb-muted);font-size:12px;font-weight:600}.fb2026-table{overflow:hidden;border:1px solid var(--fb-border);border-radius:8px}.fb2026-tr{display:grid;grid-template-columns:minmax(170px,1.4fr) 150px 90px 110px 155px 250px;align-items:center;gap:8px;min-height:44px;padding:7px 10px;border-top:1px solid var(--fb-border);font-size:13px}.fb2026-tr.head{min-height:36px;border-top:0;background:var(--fb-surface-subtle);color:var(--fb-muted);font-size:12px;font-weight:600}.fb2026-tabs,.fb2026-segmented{display:inline-flex;gap:4px;margin-bottom:10px;padding:4px;border:1px solid var(--fb-border);border-radius:8px;background:var(--fb-surface-subtle)}.fb2026-tabs button,.fb2026-segmented button{border-color:transparent;background:transparent}.fb2026-tabs button.on,.fb2026-segmented button.on{border-color:var(--fb-border);background:var(--fb-surface)}.fb2026-template-list{display:flex;flex-direction:column;gap:8px}.fb2026-task-list{display:grid;gap:8px}.fb2026-task-list button{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start;min-height:58px;text-align:left;background:var(--fb-surface-subtle)}.fb2026-task-list span,.fb2026-task-list small{color:var(--fb-muted)}.fb2026-template{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px;border:1px solid var(--fb-border);border-radius:8px;background:var(--fb-surface-subtle)}.fb2026-template p{margin:4px 0;color:var(--fb-muted)}.fb2026-learning-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:12px;align-items:center;padding:9px 0;border-top:1px solid var(--fb-border)}.fb2026-progress{height:8px;overflow:hidden;border-radius:99px;background:var(--fb-canvas)}.fb2026-progress span{display:block;height:100%;background:var(--fb-accent)}.fb2026-empty{padding:28px 16px;border:1px dashed var(--fb-border-strong);border-radius:8px;text-align:center}.fb2026-empty p{color:var(--fb-muted)}.fb2026-sheet-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10020;display:flex;justify-content:flex-end;background:#0e14196b}.fb2026-sheet{width:min(860px,100vw);height:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:12px;overflow:auto;border-left:1px solid var(--fb-border);background:var(--fb-raised);padding:18px;box-shadow:0 8px 28px #121f2a1a}.fb2026-sheet header,.fb2026-sheet footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.fb2026-methods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.fb2026-methods button{min-height:112px;padding:12px;text-align:left}.fb2026-methods button.on{border-color:var(--fb-accent);background:var(--fb-accent-soft)}.fb2026-methods span{display:block;margin-top:6px;color:var(--fb-muted);font-size:12px}.fb2026-config{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}.fb2026-config small{color:var(--fb-muted);font-weight:400}.fb2026-inline-note,.fb2026-error{padding:10px 12px;border:1px solid var(--fb-border);border-radius:8px;background:var(--fb-surface-subtle);color:var(--fb-muted)}.fb2026-error{border-color:var(--fb-danger);color:var(--fb-danger)}.fb2026-review{padding:12px;border:1px solid var(--fb-border);border-radius:8px;background:var(--fb-surface-subtle)}.fb2026-checklist{margin:0;padding:0;list-style:none}.fb2026-checklist li{display:flex;align-items:center;gap:8px;padding:7px 0}.fb2026-checklist i{width:9px;height:9px;border-radius:50%;background:var(--fb-danger)}.fb2026-checklist .ok i{background:var(--fb-success)}.fb2026-command-list{display:flex;flex-direction:column;gap:8px}.fb2026-command-list button{justify-content:flex-start;min-height:40px;text-align:left}.fb2026-toast{position:fixed;right:18px;bottom:18px;z-index:10030;border-color:var(--fb-border-strong);background:var(--fb-raised);box-shadow:0 8px 28px #121f2a1a}.fb2026-bottom{display:none}.fb2026-editor{height:100%;min-height:0;display:block;background:var(--panel)}.editor-contextbar{display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 10px;border-bottom:1px solid var(--border);background:#151d24}.editor-contextbar .logo{font-size:15px}.editor-contextbar .tb-new{background:#176b5b;border-color:#176b5b;color:#fff}.fb2026-workbench{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);background:var(--fb-bg);color:var(--fb-text)}.fb2026-projectbar{display:flex;justify-content:space-between;gap:16px;padding:10px 14px;border-bottom:1px solid var(--fb-border);background:var(--fb-surface)}.fb2026-project-title,.fb2026-project-actions{display:flex;align-items:end;gap:10px;min-width:0}.fb2026-project-title label,.fb2026-project-actions label{display:grid;gap:4px;font-size:12px;font-weight:650;color:var(--fb-muted)}.fb2026-project-name-input{width:min(360px,42vw);font-size:18px;font-weight:650}.fb2026-editor-grid{--fb-lib-w: clamp(210px, 17vw, 300px);--fb-insp-w: clamp(260px, 21vw, 340px);min-height:0;display:grid;grid-template-columns:var(--fb-lib-w) minmax(0,1fr) var(--fb-insp-w)}.fb2026-block-library,.fb2026-inspector{min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;padding:12px;background:var(--fb-surface)}.fb2026-block-library{border-right:1px solid var(--fb-border)}.fb2026-inspector{border-left:1px solid var(--fb-border)}.fb2026-block-library h4,.fb2026-inspector h4{margin:14px 0 8px;font-size:13px}.fb2026-block-library button,.fb2026-block-library details{width:100%}.fb2026-block-library section button,.fb2026-block-library summary{min-height:44px;min-width:0;display:grid;gap:2px;margin-top:6px;padding:8px;text-align:left;border:1px solid var(--fb-border);border-radius:6px;background:var(--fb-surface-subtle)}.fb2026-block-library section button>*,.fb2026-block-library summary>*{min-width:0;overflow-wrap:anywhere}.fb2026-block-library details{min-width:0}.fb2026-block-library summary{display:flex;align-items:center;gap:8px}.fb2026-block-library button span,.fb2026-block-library summary span{color:var(--fb-muted);font-size:12px;overflow-wrap:anywhere}.fb2026-block-library .fb2026-panel-head{flex-wrap:wrap;gap:6px 8px}.fb2026-block-library .fb2026-panel-head h3{min-width:0;overflow-wrap:anywhere}.fb2026-block-library .fb2026-panel-head button{flex-shrink:0}.fb-lib-search{display:block;margin-top:10px;font-size:12px;color:var(--fb-muted)}.fb-lib-search input{width:100%;margin-top:4px;padding:7px 10px;border-radius:8px}.fb2026-block-library h4{display:flex;align-items:center;gap:8px}.fb-lib-count{margin-left:auto;flex-shrink:0;font-family:var(--mono);font-size:10.5px;color:var(--fb-muted);background:var(--fb-canvas, rgba(0,0,0,.25));border:1px solid var(--fb-border);border-radius:10px;padding:1px 7px}.fb2026-canvas-column{min-width:0;min-height:0;display:grid;grid-template-rows:48px minmax(0,1fr) 188px;background:var(--fb-canvas)}.fb2026-canvas-column.mode-viz{grid-template-rows:48px minmax(0,1fr)}.fb2026-canvas-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px;border-bottom:1px solid var(--fb-border);background:var(--fb-surface-subtle)}.fb2026-program-surface,.fb2026-viz-surface,.fb2026-lua-surface,.fb2026-data-surface{min-height:0;min-width:0}.fb2026-program-surface{position:relative;overflow:hidden}.fb2026-blockly-host{position:relative;width:100%;height:100%;overflow:hidden}.fb2026-viz-surface,.fb2026-lua-surface,.fb2026-data-surface{display:none;overflow:auto}.fb2026-canvas-column.mode-viz .fb2026-program-surface,.fb2026-canvas-column.mode-lua .fb2026-program-surface,.fb2026-canvas-column.mode-pts .fb2026-program-surface{display:none}.fb2026-canvas-column.mode-viz .fb2026-viz-surface{display:flex;flex-direction:column;min-height:0;overflow:auto}.fb2026-canvas-column.mode-pts .fb2026-data-surface{display:block}.fb2026-canvas-column.mode-lua .fb2026-lua-surface{display:grid;grid-template-columns:minmax(220px,.36fr) minmax(0,1fr);gap:10px;padding:10px;overflow:hidden}.fb2026-lua-problems,.fb2026-lua-editor{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--fb-border);border-radius:8px;background:var(--fb-surface)}.fb2026-lua-problems{padding:10px;overflow:auto}.fb2026-lua-editor .fb2026-panel-head{padding:10px;border-bottom:1px solid var(--fb-border)}.fb2026-lua-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.fb2026-empty-marker{padding:8px 10px;border-bottom:1px solid var(--fb-border);color:var(--fb-muted);font-size:12px}.fb2026-lua-full{min-height:0}.fb2026-lua-textarea{flex:1;min-height:0;width:100%;resize:none;padding:12px;border:0;outline:0;color:#d7e3f0;background:#10151b;font:12.5px/1.55 var(--mono);white-space:pre;overflow:auto}.fb2026-viz-surface .viz-wrap{width:100%;flex:1 1 auto;min-height:0}.fb2026-viz-surface .viz-canvas{flex:1 1 360px;min-height:320px}.fb2026-sim-panel{flex:0 0 auto;background:var(--fb-surface)}.fb2026-sim-panel progress{width:130px;height:10px}.fb2026-sim-range{min-width:180px}.fb2026-sim-range input{width:130px}.fb2026-playback-speed{display:flex;align-items:center;gap:6px;min-width:160px}.fb2026-playback-speed input{width:90px}.fb2026-sim-settings{flex:0 0 auto;border-top:1px solid var(--fb-border);background:var(--fb-surface)}.fb2026-sim-settings .viz-acc summary{padding:8px 10px}.fb2026-sim-settings-grid{display:grid;grid-template-columns:minmax(240px,1fr) minmax(240px,1fr);gap:10px;padding:0 10px 10px}.fb2026-setting-group{display:flex;flex-direction:column;gap:7px;min-width:0;padding:9px;border:1px solid var(--fb-border);border-radius:8px;background:var(--fb-surface-subtle)}.fb2026-setting-group h4{margin:0;color:var(--fb-text);font-size:12.5px}.fb2026-setting-group-wide{grid-column:1 / -1}.fb2026-setting-row,.fb2026-wall-list{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.fb2026-setting-row label{display:flex;align-items:center;gap:6px;color:var(--fb-muted)}.fb2026-setting-row input,.fb2026-setting-row select{max-width:150px}.fb2026-wall-list .weld-chip{max-width:100%}.viz-webgl-error{height:100%;min-height:300px;display:grid;place-items:center;padding:20px;color:var(--fb-muted);background:#10151b;text-align:center}.fb2026-bottom-panel{min-height:0;overflow:hidden;border-top:1px solid var(--fb-border);background:var(--fb-surface)}.fb2026-canvas-column.mode-viz .fb2026-bottom-panel{display:none}.fb2026-bottom-content{height:calc(100% - 42px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:10px;padding:8px;overflow:hidden}.fb2026-bottom-content>*{min-width:0;overflow:auto}.fb2026-inspector dl,.fb2026-template-meta{display:grid;grid-template-columns:110px minmax(0,1fr);gap:6px 10px;font-size:12px}.fb2026-inspector dt,.fb2026-template-meta dt{color:var(--fb-muted);font-weight:650}.fb2026-inspector dd,.fb2026-template-meta dd{margin:0}.fb2026-mobile-editor{display:none}.fb2026-template{grid-template-columns:96px minmax(0,1fr) auto}.fb2026-template-thumb{min-height:96px;display:grid;place-items:center;border:1px solid var(--fb-border);border-radius:8px;background:var(--fb-canvas);color:var(--fb-accent);font-weight:750}.fb2026-preview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:20px;background:#0e14196b}.fb2026-preview>div{width:min(720px,100%);max-height:calc(100dvh - 40px);overflow:auto;padding:18px;border:1px solid var(--fb-border);border-radius:14px;background:var(--fb-surface);box-shadow:0 8px 28px #121f2a1a}.fb2026-preflight-list{display:grid;gap:10px}.fb2026-preflight-list article{padding:12px;border:1px solid var(--fb-border);border-radius:8px;background:var(--fb-surface-subtle)}.fb2026-preflight-list article.blocked{border-color:color-mix(in srgb,var(--fb-warning) 45%,var(--fb-border))}.fb2026-preflight-list h3{margin:8px 0 4px;font-size:15px}.fb2026-preflight-list p,.fb2026-preflight-list small{margin:0;color:var(--fb-muted)}.fb2026-stop-program{border-color:var(--fb-danger);color:var(--fb-danger);font-weight:700}.viz-switches{flex-wrap:wrap}.viz-frame-inspector{display:flex;flex-wrap:wrap;gap:8px 12px;padding:8px 10px;border-top:1px solid #2a3640;background:#111920;color:#dce6ef;font:12px/18px ui-monospace,SFMono-Regular,Consolas,monospace}.viz-frame-inspector i{display:inline-block;width:8px;height:8px;margin-right:4px;border-radius:999px}.viz-frame-inspector .x{background:#f33}.viz-frame-inspector .y{background:#2fbf71}.viz-frame-inspector .z{background:#38f}@media(max-width:1180px){.fb2026-sim-settings-grid,.fb2026-learning-grid,.fb2026-start-grid,.fb2026-two-col{grid-template-columns:1fr}.fb2026-tr{grid-template-columns:minmax(180px,1fr) 150px 80px 120px}.fb2026-tr span:nth-child(4),.fb2026-tr span:nth-child(5){display:none}}@media(max-width:880px){.fb2026-app{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 64px}.fb2026-rail{display:none}.fb2026-work{min-height:0;grid-row:1}.fb2026-topbar{min-height:58px;padding:8px 10px}.fb2026-statusline .fb2026-status{display:none}.fb2026-page{width:calc(100% - 20px);padding:12px 0 78px}.fb2026-page-head,.fb2026-topbar{align-items:flex-start}.fb2026-toolbar,.fb2026-config,.fb2026-methods,.fb2026-metrics,.fb2026-task-list button{grid-template-columns:1fr}.fb2026-table{border:0}.fb2026-tr,.fb2026-tr.head{grid-template-columns:1fr;align-items:start;margin-bottom:8px;border:1px solid var(--fb-border);border-radius:8px}.fb2026-tr.head{display:none}.fb2026-tr span:nth-child(4),.fb2026-tr span:nth-child(5){display:block}.fb2026-template{grid-template-columns:1fr}.fb2026-sheet{grid-template-rows:auto auto auto auto auto;padding:14px 12px calc(80px + env(safe-area-inset-bottom))}.fb2026-bottom{grid-row:2;display:grid;grid-template-columns:repeat(6,1fr);gap:2px;padding:5px 4px calc(5px + env(safe-area-inset-bottom));border-top:1px solid var(--fb-border);background:var(--fb-surface)}.fb2026-bottom button{min-width:0;overflow:hidden;padding:4px 1px;border-color:transparent;background:transparent;color:var(--fb-muted)}.fb2026-bottom button.on{border-color:var(--fb-border);background:var(--fb-accent-soft);color:var(--fb-text)}.fb2026-bottom span,.fb2026-bottom b{display:block;max-width:100%;overflow-wrap:anywhere;font-size:9px;line-height:10px}.editor-contextbar{min-height:50px}.fb2026-projectbar,.fb2026-editor-grid{display:none}.fb2026-workbench{display:block;min-height:auto;padding:12px 10px 76px}.fb2026-mobile-editor{display:block}}.fb2026-app{accent-color:var(--fb-accent)}.fb2026-app input[type=range],.viz-bar input[type=range],.sim-bar input[type=range],input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;max-width:220px;min-width:120px;height:20px;margin:0;padding:0;border:0;background:transparent;cursor:pointer;vertical-align:middle;accent-color:var(--fb-accent)}.fb2026-app input[type=range]::-webkit-slider-runnable-track,.viz-bar input[type=range]::-webkit-slider-runnable-track,.sim-bar input[type=range]::-webkit-slider-runnable-track,input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:var(--fb-border-strong)}.fb2026-app input[type=range]::-moz-range-track,input[type=range]::-moz-range-track{height:6px;border-radius:999px;background:var(--fb-border-strong)}.fb2026-app input[type=range]::-moz-range-progress,input[type=range]::-moz-range-progress{height:6px;border-radius:999px;background:var(--fb-accent)}.fb2026-app input[type=range]::-webkit-slider-thumb,.viz-bar input[type=range]::-webkit-slider-thumb,.sim-bar input[type=range]::-webkit-slider-thumb,input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;margin-top:-5px;border-radius:50%;background:var(--fb-accent);border:2px solid var(--fb-surface);box-shadow:0 1px 3px #00000059;transition:transform .1s ease,box-shadow .1s ease}.fb2026-app input[type=range]::-moz-range-thumb,input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--fb-accent);border:2px solid var(--fb-surface);box-shadow:0 1px 3px #00000059}.fb2026-app input[type=range]:hover::-webkit-slider-thumb,input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.08)}.fb2026-app input[type=range]:active::-webkit-slider-thumb,input[type=range]:active::-webkit-slider-thumb{transform:scale(1.12);box-shadow:0 0 0 5px color-mix(in srgb,var(--fb-accent) 30%,transparent)}.fb2026-app input[type=range]:focus-visible,input[type=range]:focus-visible{outline:none}.fb2026-app input[type=range]:focus-visible::-webkit-slider-thumb,input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px color-mix(in srgb,var(--fb-accent) 35%,transparent)}.fb2026-app input[type=range]:focus-visible::-moz-range-thumb,input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px color-mix(in srgb,var(--fb-accent) 35%,transparent)}.fb2026-app input[type=range]:disabled{opacity:.5;cursor:not-allowed}.fb2026-metric.success b{background:transparent;color:var(--fb-success)}.fb2026-metric.warning b{background:transparent;color:var(--fb-warning)}.fb2026-metric.danger b{background:transparent;color:var(--fb-danger)}@media(max-width:1180px)and (min-width:881px){.fb2026-editor-grid{grid-template-columns:200px minmax(0,1fr) 250px}.fb2026-block-library,.fb2026-inspector{padding:10px}.fb2026-canvas-column{grid-template-rows:44px minmax(0,1fr) 156px}}@media(max-width:1000px)and (min-width:881px){.fb2026-editor-grid{grid-template-columns:184px minmax(0,1fr) 224px}}@media(max-width:880px){.fb2026-bottom button{min-width:0}.fb2026-bottom b{overflow:hidden;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:8px;letter-spacing:-.01em;line-height:11px}}.login-card{border-radius:14px;box-shadow:0 16px 44px #00000073}.login-card .logo span{color:#55b79f}.login-card input{border-radius:8px;padding:9px 11px}.login-card input:focus{border-color:#55b79f;outline:none;box-shadow:0 0 0 3px #55b79f40}.login-card button[type=submit]{background:#176b5b;border-color:#176b5b;color:#fff;font-weight:650;border-radius:8px;padding:10px 12px}.login-card button[type=submit]:hover{background:#1c8571;border-color:#1c8571}.wiz-progress{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin-bottom:14px}.wiz-progress button{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid var(--border);border-radius:20px;background:var(--bg);color:var(--muted);font-size:11.5px;white-space:nowrap}.wiz-progress button:disabled{cursor:default}.wiz-progress button.done{border-color:var(--ok);background:#2fbf711a;color:var(--ok);cursor:pointer}.wiz-progress button.done:before{content:"✓ "}.wiz-progress button.done:hover{background:#2fbf712e}.wiz-progress button.on{border-color:var(--accent);background:#2d7ff929;color:var(--text);font-weight:600}.fb-pct-row{display:flex;align-items:center;gap:8px}.fb-pct-row input[type=range]{flex:1 1 auto;min-width:60px;max-width:none}.fb-pct-num{width:60px;flex:0 0 auto;text-align:right;padding:5px 6px}.fb2026-pane-toggle{flex:0 0 auto;padding:6px 9px;line-height:1}.fb2026-pane-toggle[aria-pressed=false]{color:var(--fb-muted)}.fb2026-pane-toggle[aria-pressed=true]{border-color:var(--fb-accent);color:var(--fb-accent)}.fb2026-editor-grid.lib-collapsed{grid-template-columns:0 minmax(0,1fr) var(--fb-insp-w)}.fb2026-editor-grid.insp-collapsed{grid-template-columns:var(--fb-lib-w) minmax(0,1fr) 0}.fb2026-editor-grid.lib-collapsed.insp-collapsed{grid-template-columns:0 minmax(0,1fr) 0}.fb2026-editor-grid.lib-collapsed>.fb2026-block-library{display:none}.fb2026-editor-grid.insp-collapsed>.fb2026-inspector{display:none}.err-en-name{color:#7ee0a3;font-size:13px;font-weight:650}.err-en{color:var(--muted);font-size:11px;font-family:var(--mono)}.err-pl{color:var(--text);font-size:12.5px}.err-fix-inline{color:var(--muted);font-size:12px}.fb2026-canvas-column.mode-viz .fb2026-viz-surface{display:flex;flex-direction:column;gap:0}.fb2026-viz-surface .viz-wrap,.fb2026-viz-surface .viz-canvas{flex:1 1 auto;min-height:300px}.fb2026-sim-panel{flex:0 0 auto}.fb2026-sim-settings{flex:0 0 auto;max-height:40%;overflow:auto}.viz-validation{border-top:1px solid var(--fb-line, #2a323c);padding:8px 10px;font-size:11.5px;line-height:1.5}.viz-validation.ok{border-left:3px solid #2fbf71}.viz-validation.warn{border-left:3px solid #e8b400}.viz-validation.bad{border-left:3px solid #ff4d4d}.viz-validation-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.viz-validation-head button.mini{margin-left:auto}.viz-validation-list{list-style:none;margin:6px 0 0;padding:0}.viz-validation-list li{padding:3px 0;border-top:1px dotted var(--fb-line, #2a323c)}.viz-validation-list li.err b{color:#ff6b6b}.viz-validation-list li.wrn b{color:#e8b400}.viz-validation-detail{display:block;opacity:.72}.viz-validation-hint{margin-top:6px;opacity:.8}.fb-panel{display:flex;flex-direction:column;min-height:0}.fb-panel-wide{width:900px;max-width:94vw;max-height:86vh}.fb-panel-head{flex-shrink:0;gap:12px}.fb-panel-head b{font-size:14px}.fb-panel-toolbar{flex-shrink:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--border)}.fb-panel-search{flex:1;min-width:200px;padding:8px 11px;border-radius:8px}.fb-panel-search::-webkit-search-cancel-button{filter:invert(.6)}.fb-panel-body{display:flex;min-height:0;flex:1;overflow:hidden}.fb-panel-nav{width:218px;flex-shrink:0;overflow-y:auto;border-right:1px solid var(--border);padding:8px;display:flex;flex-direction:column;gap:3px}.fb-panel-nav button{display:flex;align-items:center;gap:8px;text-align:left;width:100%;border:1px solid transparent;background:transparent;padding:7px 10px;border-radius:6px;color:var(--muted);font-size:12.5px}.fb-panel-nav button:hover{border-color:var(--border);color:var(--text)}.fb-panel-nav button.on{background:var(--panel2);border-color:var(--border);color:var(--text)}.fb-panel-nav-label{flex:1}.fb-panel-nav-count{flex-shrink:0;font-family:var(--mono);font-size:10.5px;color:var(--muted);background:var(--bg);border-radius:10px;padding:1px 7px}.fb-panel-nav button.on .fb-panel-nav-count{color:var(--accent2)}.fb-panel-content{flex:1;overflow-y:auto;padding:14px 18px}.fb-panel-footer{flex-shrink:0;padding:8px 16px;border-top:1px solid var(--border);color:var(--muted);font-size:11.5px;line-height:1.5}.fb-section+.fb-section{margin-top:22px}.fb-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:4px}.fb-section-title{margin:0;color:var(--accent2);font-size:13.5px;font-weight:600}.fb-section-desc{margin:0 0 10px;color:var(--muted);font-size:12.5px;line-height:1.55;max-width:78ch}.fb-section-actions{display:flex;gap:6px;flex-wrap:wrap}.fb-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.fb-empty{margin:0;padding:22px 16px;text-align:center;color:var(--muted);font-size:12.5px;line-height:1.6;border:1px dashed var(--border);border-radius:8px}.login-card{width:360px}.login-card form{display:flex;flex-direction:column;gap:10px}.auth-tabs{display:flex;gap:4px;padding:3px;border:1px solid var(--border);border-radius:8px}.auth-tabs button{flex:1;padding:7px 10px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:12.5px}.auth-tabs button.on{background:var(--accent);color:#fff}.auth-field{display:flex;flex-direction:column;gap:4px}.auth-field>span{font-size:12px;color:var(--muted)}.auth-field small{color:var(--muted);font-size:11px;line-height:1.45}.auth-field input,.auth-field select{width:100%}.auth-check{display:flex;align-items:center;gap:8px;font-size:12.5px}.auth-check input{width:auto}.login-card button:disabled,.account-form button:disabled{opacity:.45;cursor:not-allowed}.auth-note{font-size:12.5px;line-height:1.55;color:var(--text);padding:8px 10px;border-radius:6px;background:#2d7ff91a;border-left:3px solid var(--accent)}.auth-hint{margin:2px 0 0;color:var(--muted);font-size:11.5px;text-align:center}.account-view{padding:16px;display:flex;flex-direction:column;gap:20px;overflow:auto}.account-form{display:flex;flex-direction:column;gap:10px;max-width:420px}.account-email{color:var(--muted);font-size:12px}.account-status{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;border:1px solid var(--border)}.account-status.is-pending{color:var(--warn);border-color:var(--warn)}.account-status.is-active{color:var(--ok, #7ee0a3);border-color:var(--ok, #7ee0a3)}.account-status.is-suspended{color:var(--err);border-color:var(--err)}.fb2026-rail button{position:relative}.fb2026-rail-badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 4px;display:grid;place-items:center;border-radius:999px;background:var(--fb-danger, #e5484d);color:#fff;font-size:10px;font-style:normal;font-weight:700}@media(max-width:720px){.fb-panel-wide{width:100vw;max-width:100vw}.fb-panel-body{flex-direction:column}.fb-panel-nav{width:100%;flex-direction:row;overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid var(--border);padding:6px;gap:6px}.fb-panel-nav button{white-space:nowrap;flex-shrink:0;font-size:12px}.fb-panel-toolbar{padding:8px 12px}.fb-panel-content{padding:12px 14px}.fb-panel-head,.fb-panel-footer{padding-left:12px;padding-right:12px}.fb-section-head{align-items:flex-start}}.fb2026-config{min-height:0;overflow-y:auto}.fb2026-template-choice{grid-column:1 / -1;display:flex;flex-direction:column;gap:8px;min-width:0}.fb2026-field-label{color:var(--fb-muted);font-size:12px;font-weight:600}.fb2026-template-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;max-height:min(46vh,420px);overflow-y:auto;padding:2px}.fb2026-template-picker button{display:block;width:100%;min-width:0;text-align:left;padding:12px 14px;border:1px solid var(--fb-border);border-radius:10px;background:var(--fb-surface)}.fb2026-template-picker button:hover{border-color:var(--fb-accent)}.fb2026-template-picker button.on{border-color:var(--fb-accent);background:var(--fb-accent-soft);box-shadow:inset 0 0 0 1px var(--fb-accent)}.fb2026-template-picker .tpl-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.fb2026-template-picker .tpl-title b{font-size:13.5px}.fb2026-template-picker .tpl-title small{color:var(--fb-muted);font-size:11.5px}.fb2026-template-picker .tpl-use{margin:6px 0 10px;color:var(--fb-text);font-size:12.5px;line-height:1.5}.fb2026-template-picker .tpl-meta{display:grid;grid-template-columns:minmax(72px,auto) minmax(0,1fr);gap:3px 10px;margin:0;padding-top:8px;border-top:1px solid var(--fb-border);font-size:11.5px;line-height:1.45}.fb2026-template-picker .tpl-meta dt{color:var(--fb-muted);font-weight:600}.fb2026-template-picker .tpl-meta dd{margin:0;color:var(--fb-text);overflow-wrap:anywhere}@media(max-width:900px){.fb2026-template-picker{grid-template-columns:minmax(0,1fr);max-height:40vh}.fb2026-config{grid-template-columns:minmax(0,1fr)}}@media(max-width:720px){.login-card{width:min(360px,calc(100vw - 32px))}.account-view{padding:12px}.account-form{max-width:none}}.fb2026-rail-group{display:flex;flex-direction:column;gap:4px}.fb2026-rail-system{margin-top:auto;padding-top:12px;border-top:1px solid var(--line, #262c36)}.fb2026-button.fb2026-help{font-weight:600;letter-spacing:.01em}.fb-knowledge-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:center;justify-content:center;background:#06090e9e;padding:24px}.fb-knowledge{display:flex;flex-direction:column;width:min(1180px,100%);height:min(88vh,900px);background:var(--panel, #151a22);border:1px solid var(--line, #262c36);border-radius:14px;overflow:hidden;box-shadow:0 24px 64px #00000073}.fb-knowledge-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 20px 10px}.fb-knowledge-head h2{margin:2px 0 4px;font-size:18px}.fb-knowledge-head p{margin:0;font-size:12.5px;color:var(--muted, #8b93a1)}.fb-knowledge-head .ghost{background:none;border:0;color:var(--muted, #8b93a1);font-size:18px;cursor:pointer;padding:4px 8px}.fb-knowledge-tabs{display:flex;gap:4px;padding:0 20px;border-bottom:1px solid var(--line, #262c36)}.fb-knowledge-tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted, #8b93a1);padding:9px 14px;font-size:13.5px;cursor:pointer}.fb-knowledge-tabs button.on{color:var(--fg, #e7ebf2);border-bottom-color:var(--accent, #4c8dff)}.fb-knowledge-body{flex:1;min-height:0;overflow:hidden;display:flex}.fb-knowledge-body>.fb-panel-embedded{flex:1;min-height:0;display:flex;flex-direction:column}.fb-panel-embedded{background:none;border:0;box-shadow:none;border-radius:0}.fb2026-guarded{display:flex;flex-direction:column;gap:3px;align-items:flex-start}.fb2026-guarded>button.is-blocked{opacity:.55;cursor:not-allowed}.fb2026-guarded>small{font-size:11.5px;line-height:1.35;color:var(--muted, #8b93a1);max-width:34ch}.fb2026-guarded>small.nudge{color:var(--warning, #e0a33a)}.fb2026-preflight-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.fb2026-step-action{margin-top:8px}.fb2026-confirm{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;line-height:1.4;cursor:pointer}.fb2026-confirm input{margin-top:2px;flex:none}.fb2026-inline-form{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.fb2026-inline-form input{min-width:210px}.fb2026-more-sheet{max-width:520px}.fb-knowledge-loading{flex:1;display:flex;align-items:center;justify-content:center;padding:40px;color:var(--muted, #8b93a1);font-size:13.5px}.fb2026-viz-surface .viz-wrap{min-height:0;overflow:auto}.fb2026-viz-surface .viz-canvas{flex:1 1 auto;min-height:220px}.fb2026-viz-surface .viz-wrap>.viz-bar,.fb2026-viz-surface .viz-wrap>.viz-frame-inspector,.fb2026-viz-surface .viz-wrap>.viz-validation,.fb2026-viz-surface .viz-wrap>.viz-note{flex:0 0 auto}.fb2026-viz-surface .viz-wrap>.viz-validation{position:sticky;bottom:0;z-index:2;background:var(--fb-surface, var(--panel, #151d24));box-shadow:0 -6px 12px -8px #0000008c}.fb2026-wizard-catalog{display:flex;flex-direction:column;gap:12px}.fb2026-wizard-lead{margin:0;color:var(--fb-muted);font-size:12.5px;line-height:1.5}.fb2026-wizard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(236px,1fr));gap:10px}.fb2026-wizard-card{display:flex;flex-direction:column;gap:4px;min-height:108px;padding:12px 14px;border:1px solid var(--fb-border);border-radius:10px;background:var(--fb-surface);color:var(--fb-text);text-align:left;cursor:pointer;transition:transform .12s,border-color .12s,box-shadow .12s}.fb2026-wizard-card:hover,.fb2026-wizard-card:focus-visible{transform:translateY(-2px);border-color:var(--fb-accent);box-shadow:0 8px 22px #00000029}.fb2026-wizard-card b{font-size:14px;font-weight:650}.fb2026-wizard-icon{font-size:20px;line-height:1.1}.fb2026-wizard-summary{color:var(--fb-muted);font-size:12px;line-height:1.45}@media(max-width:640px){.fb2026-wizard-grid{grid-template-columns:1fr}}.fb2026-wizard-warning{margin:0;padding:9px 12px;border:1px solid var(--fb-danger, #c0392b);border-radius:8px;background:color-mix(in srgb,var(--fb-danger, #c0392b) 10%,transparent);color:var(--fb-text);font-size:12.5px;line-height:1.45}.fb2026-replace-body{margin:0 0 6px;font-size:13.5px;line-height:1.5}.fb2026-replace-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.fb2026-button.danger{border-color:var(--fb-danger, #c0392b);background:var(--fb-danger, #c0392b);color:#fff}.fb2026-button.danger:hover{filter:brightness(1.08)}.modal-bg.fb2026-modal-ontop{z-index:10050}.fb-tip-wrap{position:relative;display:inline-flex}.fb-tip{position:absolute;z-index:10100;left:50%;width:max-content;max-width:240px;padding:6px 9px;border:1px solid var(--fb-border-strong, #3a4853);border-radius:7px;background:var(--fb-raised, #1d262f);color:var(--fb-text, #e8edf1);font-size:11.5px;font-weight:500;line-height:1.4;text-align:left;white-space:normal;opacity:0;transform:translate(-50%) translateY(-2px);transition:opacity .1s ease,transform .1s ease;pointer-events:none;box-shadow:0 6px 18px #00000059}.fb-tip.on{opacity:1;transform:translate(-50%) translateY(0)}.fb-tip-bottom{top:calc(100% + 6px)}.fb-tip-top{bottom:calc(100% + 6px)}.fb-tip-left{top:50%;left:auto;right:calc(100% + 8px);transform:translateY(-50%) translate(-2px)}.fb-tip-left.on{transform:translateY(-50%) translate(0)}.fb-tip-right{top:50%;left:calc(100% + 8px);transform:translateY(-50%) translate(2px)}.fb-tip-right.on{transform:translateY(-50%) translate(0)}@media(max-width:640px){.fb-tip{max-width:60vw}}@media(prefers-reduced-motion:reduce){.fb-tip{transition:none}}.fb-tour-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10200;display:grid;place-items:center;padding:16px;background:#05080cad}.fb-tour{display:flex;flex-direction:column;gap:14px;width:min(680px,100%);max-height:min(88vh,640px);padding:18px 20px;overflow:auto;border:1px solid var(--fb-border-strong, #3a4853);border-radius:12px;background:var(--fb-surface, #151d24);color:var(--fb-text, #e8edf1);box-shadow:0 24px 60px #00000073}.fb-tour-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.fb-tour-head h2{margin:2px 0 0;font-size:19px;line-height:1.3}.fb-tour-x{flex:none}.fb-tour-body{display:flex;gap:16px;align-items:flex-start}.fb-tour-copy p{margin:0 0 8px;font-size:13.5px;line-height:1.55}.fb-tour-copy ul{margin:0;padding-left:18px}.fb-tour-copy li{margin:4px 0;color:var(--fb-muted, #9aa8b4);font-size:12.5px;line-height:1.5}.fb-tour-map{display:flex;flex:none;gap:3px;width:148px;height:104px;padding:4px;border:1px solid var(--fb-border, #2a3640);border-radius:8px;background:var(--fb-surface-subtle, #111920)}.fb-tour-map-col{display:flex;flex:1;flex-direction:column;gap:3px}.fb-tour-map-row{display:flex;flex:1;gap:3px}.fb-tour-map-part{border:1px solid var(--fb-border, #2a3640);border-radius:3px;background:transparent}.fb-tour-map-part[data-part=rail]{width:26px}.fb-tour-map-part[data-part=topbar],.fb-tour-map-part[data-part=toolbar]{height:13px}.fb-tour-map-part[data-part=canvas]{flex:2}.fb-tour-map-part[data-part=inspector]{flex:1}.fb-tour-map-part.on{border-color:var(--fb-accent, #2f9e83);background:var(--fb-accent-soft, #17352f);box-shadow:0 0 0 1px var(--fb-accent, #2f9e83) inset}.fb-tour-dots{display:flex;justify-content:center;gap:8px}.fb-tour-dots button{width:9px;height:9px;min-height:0;padding:0;border:1px solid var(--fb-border-strong, #3a4853);border-radius:50%;background:transparent}.fb-tour-dots button.on{border-color:var(--fb-accent, #2f9e83);background:var(--fb-accent, #2f9e83)}.fb-tour-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid var(--fb-border, #2a3640)}.fb-tour-skip{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--fb-muted, #9aa8b4)}.fb-tour-skip input{width:16px;height:16px}.fb-tour-nav{display:flex;gap:8px}@media(max-width:640px){.fb-tour-body{flex-direction:column}.fb-tour-map{width:100%;height:84px}.fb-tour-foot{flex-direction:column;align-items:stretch}.fb-tour-nav{justify-content:space-between}}
