:root{color:#dce8f6;font-synthesis:none;--bg:#050b14;--panel:#0b1421;--panel2:#0f1b2a;--line:#223247;--muted:#718399;--cyan:#35d4cf;--green:#64df91;--blue:#3187ff;--orange:#fa9b52;--pink:#ed6d91;background:#050b14;font-family:Inter,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 50% -30%,#19334b 0,transparent 48%),var(--bg);min-width:980px;min-height:100vh;margin:0}button,input{font:inherit}.app-shell{grid-template-rows:68px 38px minmax(310px,1fr) 215px 28px;height:100vh;min-height:720px;display:grid;overflow:hidden}.topbar{border-bottom:1px solid var(--line);background:#070f1af5;align-items:center;gap:24px;padding:0 18px;display:flex}.brand{align-items:center;gap:10px;min-width:190px;display:flex}.brand-mark{width:38px;height:38px;color:var(--cyan);background:#102b36;border:1px solid #348e9b;border-radius:10px;place-items:center;display:grid;box-shadow:0 0 24px #24bfc522}.brand div{letter-spacing:-.02em;flex-direction:column;display:flex}.brand span:last-child{letter-spacing:.22em;color:var(--cyan);margin-top:1px;font-size:9px}.project{border:1px solid var(--line);background:#0c1725;border-radius:7px;align-items:center;gap:9px;min-width:280px;height:40px;padding:0 11px;display:flex}.project span{letter-spacing:.13em;color:var(--muted);font-size:9px}.project input{color:#dce8f6;background:0 0;border:0;outline:0;width:190px;font-size:13px}.project svg{color:#60758b}.actions{gap:8px;margin-left:auto;display:flex}.button{border:1px solid var(--line);color:#c8d5e4;cursor:pointer;background:#101d2c;border-radius:6px;align-items:center;gap:7px;height:36px;padding:0 13px;font-size:12px;font-weight:650;display:flex}.button:hover:not(:disabled){filter:brightness(1.2)}.button:disabled{opacity:.38;cursor:not-allowed}.button.primary{background:var(--blue);color:#fff;border-color:#4b96ff}.button.run{color:var(--green);background:#10241c;border-color:#28583c}.button.stop{color:#ff8a82;background:#271719;border-color:#663a3c}.statusbar{border-bottom:1px solid var(--line);color:#8ca0b6;background:#0b1420;align-items:center;gap:8px;padding:0 20px;font-size:11px;display:flex}.statusbar strong{color:#bfd0e0;font-weight:600}.status-dot{background:#5e7185;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #5e718522}.status-dot.connected,.status-dot.running{background:#42df83;box-shadow:0 0 8px #42df83}.status-dot.connecting,.status-dot.stopping{background:#ffd166}.status-dot.error{background:#ff665f}.divider{background:var(--line);width:1px;height:14px;margin:0 5px}.chip{color:#54d0b6;background:#122b29;border-radius:4px;padding:3px 7px}.support{margin-left:auto}.support b{color:#82b5c4}.workspace{grid-template-columns:180px minmax(420px,1fr) 370px;min-height:0;display:grid}.toolbox,.code-panel{background:var(--panel);border-right:1px solid var(--line);min-height:0}.toolbox-head,.panel-title{border-bottom:1px solid var(--line);letter-spacing:.14em;color:#7f91a6;align-items:center;gap:8px;height:39px;padding:0 13px;font-size:9px;font-weight:700;display:flex}.toolbox-head button{color:#60748b;background:0 0;border:0;margin-left:auto}.tool{color:#a7b5c6;text-align:left;cursor:pointer;background:0 0;border:0;border-left:3px solid #0000;align-items:center;gap:10px;width:100%;height:33px;padding:0 11px;font-size:12px;display:flex}.tool span{text-align:center;width:19px}.tool svg{color:#4b6075;margin-left:auto}.tool:hover,.tool.active{color:#e4eef8;background:#101f2e}.tool.active{border-left-color:var(--cyan)}.canvas-wrap{background:#0a1220;grid-template-rows:39px 1fr;min-width:0;display:grid}.view-tabs{border-bottom:1px solid var(--line);background:#0a1421;display:flex}.view-tabs button{color:#75899f;background:0 0;border:0;border-bottom:2px solid #0000;width:88px;font-size:11px;font-weight:650}.view-tabs button.active{border-color:var(--cyan);color:#dceaf7}.view-tabs span{color:#5e7389;align-self:center;margin-left:auto;margin-right:15px;font-size:10px}.canvas-grid{background-image:linear-gradient(#122033 1px,#0000 1px),linear-gradient(90deg,#122033 1px,#0000 1px);background-size:20px 20px;position:relative;overflow:hidden}.blocks-program{width:270px;position:absolute;top:14%;left:12%}.block{color:#07101a;border-radius:5px;height:37px;padding:10px 13px;font-size:12px;font-weight:700;box-shadow:0 2px 4px #0008}.event{background:#e8658b;border-radius:12px 5px 5px;width:190px}.loop{background:#ed9a4d;border-radius:5px 12px 12px 5px;width:280px;height:180px;padding-bottom:12px}.nest{background:#0a1220;border-radius:4px;height:132px;margin:11px 0 0 22px;padding:7px 0 7px 8px}.nest .block{width:222px;margin-bottom:4px}.led{background:#f4ca4a}.time{background:#58c997}.block b{background:#e4f5ee;border-radius:10px;margin:0 4px;padding:3px 11px;font-weight:700}.zoom{flex-direction:column;display:flex;position:absolute;bottom:15px;right:15px}.zoom button{color:#8ea2b7;background:#122033;border:1px solid #25384d;width:30px;height:28px}.code-panel{border-right:0;border-left:1px solid var(--line);grid-template-rows:39px 1fr 25px;display:grid}.panel-title svg{color:var(--cyan)}.readonly{background:#172538;border-radius:3px;margin-left:auto;padding:3px 6px;font-size:7px}.code{color:#c1d2e4;background:#08111c;margin:0;padding:15px 14px;font:12px/1.75 Cascadia Code,Consolas,monospace;overflow:auto}.ln{color:#42556b;-webkit-user-select:none;user-select:none;width:27px;display:inline-block}.kw{color:#d28afa}.str{color:#86cf86}.bool,.num{color:#f7b26a}.code-status{color:#71869c;background:#0e1d2b;justify-content:space-between;align-items:center;padding:0 11px;font-size:9px;display:flex}.bottom-panel{border-top:1px solid var(--line);background:#070e18;grid-template-rows:37px 30px 1fr;min-height:0;display:grid}.bottom-panel nav{border-bottom:1px solid var(--line);display:flex}.bottom-panel nav button{color:#72869c;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:0 18px;font-size:11px;display:flex}.bottom-panel nav button.active{color:#cfe0ef;border-color:var(--cyan)}.console-head{color:#667b91;letter-spacing:.14em;align-items:center;padding:0 16px;font-size:8px;display:flex}.console-head span{align-items:center;gap:7px;display:flex}.console-head i{background:#4fdb88;border-radius:50%;width:6px;height:6px}.console-head button{color:#6f8296;background:0 0;border:0;gap:5px;margin-left:auto;font-size:9px;display:flex}.console-output{color:#91a7ba;white-space:pre-wrap;margin:0;padding:4px 18px 12px;font:11px/1.65 Cascadia Code,Consolas,monospace;overflow:auto}footer{color:#536980;background:#08101b;border-top:1px solid #172537;align-items:center;gap:24px;padding:0 15px;font-size:9px;display:flex}.connection{margin-left:auto}.connection i{background:#657283;border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.connection i.online{background:#4ddb85}@media (width<=1100px){.project{display:none}.workspace{grid-template-columns:160px 1fr 330px}.button{padding:0 9px}}@media (width<=760px){body{min-width:0}.app-shell{grid-template-rows:auto auto auto 220px 30px;height:auto;min-height:100vh}.topbar{flex-wrap:wrap;padding:12px}.brand{min-width:150px}.actions{width:100%;margin:0;overflow:auto}.statusbar{flex-wrap:wrap;padding:10px 12px}.support{width:100%;margin-left:15px}.workspace{grid-template-rows:auto 440px 330px;grid-template-columns:1fr}.toolbox{display:none}.code-panel{border-left:0;border-top:1px solid var(--line)}.bottom-panel{height:220px}.bottom-panel nav{overflow:auto}.bottom-panel nav button{white-space:nowrap;padding:0 12px}}.storage-help{color:#70c9dc;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;align-items:center;gap:5px;font-size:10px;text-decoration:underline;display:flex}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#02070dcf;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.firmware-modal{background:#0d1927;border:1px solid #2d465e;border-radius:14px;width:min(570px,100%);max-height:calc(100vh - 40px);padding:30px;position:relative;overflow:auto;box-shadow:0 24px 80px #000b}.modal-close{color:#8498aa;cursor:pointer;background:0 0;border:0;position:absolute;top:16px;right:16px}.modal-icon{width:46px;height:46px;color:var(--cyan);background:#11313b;border:1px solid #275665;border-radius:11px;place-items:center;display:grid}.eyebrow{color:var(--cyan);letter-spacing:.18em;margin:18px 0 5px;font-size:9px;font-weight:800}.firmware-modal h2{letter-spacing:-.03em;margin:0;font-size:23px}.modal-intro{color:#a8b8c8;font-size:13px;line-height:1.55}.firmware-steps{gap:14px;margin:22px 0;padding:0;list-style:none;display:grid}.firmware-steps li{align-items:flex-start;gap:12px;display:flex}.firmware-steps li>span{color:#69dde0;background:#17374a;border-radius:50%;flex:0 0 27px;place-items:center;height:27px;font-size:11px;font-weight:800;display:grid}.firmware-steps div{flex-direction:column;gap:3px;display:flex}.firmware-steps b{color:#dbe7f2;font-size:13px}.firmware-steps small{color:#7f93a7;font-size:11px}.firmware-note{border-left:3px solid var(--orange);color:#91a4b7;background:#111f2e;padding:12px 14px;font-size:11px;line-height:1.5}.firmware-note b{color:#d4e0ea}.modal-done{margin-top:20px;margin-left:auto}.modal-backdrop .button{justify-content:center;min-width:110px}.board-picker{color:#879caf;letter-spacing:.08em;text-transform:uppercase;flex-direction:column;gap:6px;margin:18px 0 10px;font-size:10px;font-weight:700;display:flex}.board-picker select{color:#dae7f2;text-transform:none;letter-spacing:0;background:#0a1420;border:1px solid #30475d;border-radius:6px;outline:none;height:39px;padding:0 11px;font-size:13px}.board-picker select:focus{border-color:var(--cyan)}.firmware-download{color:#66e2dd;background:#103039;border:1px solid #26767c;border-radius:8px;align-items:center;gap:12px;padding:13px 14px;text-decoration:none;display:flex}.firmware-download:hover{filter:brightness(1.15)}.firmware-download span{flex-direction:column;gap:3px;display:flex}.firmware-download b{font-size:13px}.firmware-download small{color:#8eb4bb;font-size:10px}.toolbox{overflow-y:auto}.tool .rotated{transform:rotate(180deg)}.tool-items button{color:#90a5b8;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:6px;width:100%;min-height:29px;padding:5px 7px;font-size:10px;display:flex}.tool-items button:hover{color:#dbe8f3;background:#17283a}.tool-items button svg{color:var(--cyan);flex:none}.tool-items small{color:#52677b;padding:7px;font-size:9px;font-style:italic;display:block}:root[data-theme=light]{color:#17283a;--bg:#e9f0f5;--panel:#f8fbfd;--panel2:#edf4f8;--line:#c7d5df;--muted:#617588;--cyan:#087f83;--green:#168144;--blue:#176ed1;--orange:#c86720;--pink:#c64068;background:#e9f0f5}.mode-switch{border:1px solid var(--line);background:var(--panel);border-radius:7px;height:34px;padding:3px;display:flex}.mode-switch button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:5px;padding:0 8px;font-size:10px;display:flex}.mode-switch button.active{color:#70e3df;background:#17354a}.theme-toggle{border:1px solid var(--line);background:var(--panel);width:36px;height:36px;color:var(--muted);cursor:pointer;border-radius:7px;place-items:center;display:grid}:root[data-theme=light] body{background:radial-gradient(circle at 50% -30%,#c7e4eb 0,transparent 48%),var(--bg)}:root[data-theme=light] .topbar,:root[data-theme=light] .statusbar,:root[data-theme=light] .toolbox,:root[data-theme=light] .code-panel,:root[data-theme=light] .bottom-panel,:root[data-theme=light] footer{background:var(--panel);color:#526779}:root[data-theme=light] .canvas-wrap,:root[data-theme=light] .canvas-grid{background-color:#e7eff4}:root[data-theme=light] .view-tabs,:root[data-theme=light] .code,:root[data-theme=light] .project{color:#263b4e;background:#f4f8fb}:root[data-theme=light] .project input,:root[data-theme=light] .statusbar strong,:root[data-theme=light] .view-tabs button.active{color:#17283a}:root[data-theme=light] .tool:hover,:root[data-theme=light] .tool.active,:root[data-theme=light] .tool-items{color:#183448;background:#e5f0f4}:root[data-theme=light] .tool-items button:hover{color:#17283a;background:#d4e5eb}:root[data-theme=light] .console-output{color:#425a6d}:root[data-theme=light] .mode-switch button.active{color:#09676a;background:#cce9ea}:root[data-theme=light] .firmware-modal{color:#17283a;background:#f7fbfd}:root[data-theme=light] .modal-intro,:root[data-theme=light] .firmware-steps small{color:#5e7285}:root[data-theme=light] .firmware-steps b{color:#253b4d}:root[data-theme=light] .board-picker select{color:#17283a;background:#fff}:root[data-theme=light] .firmware-note{color:#53697b;background:#edf3f6}@media (width<=1280px){.mode-switch button{font-size:0}.mode-switch button svg{width:15px;height:15px}}.app-shell{background:linear-gradient(135deg,#07101b 0%,#050a12 65%);grid-template-rows:72px 42px minmax(330px,1fr) 200px 30px}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:4;background:#08121ee8;padding:0 22px;box-shadow:0 8px 28px #0003}.brand-mark{background:linear-gradient(145deg,#123c47,#0b2531);border-radius:12px;box-shadow:inset 0 0 0 1px #56e4df1a,0 8px 26px #20b8bd1c}.project{background:#0c1927aa;border-radius:9px}.actions{align-items:center}.button,.theme-toggle,.mode-switch{border-radius:9px}.button.primary{background:linear-gradient(135deg,#337fff,#1769df);box-shadow:0 7px 18px #1769df30}.statusbar{background:#0a1521d9;padding:0 22px}.workspace{background:#050b13;gap:8px;padding:8px}.workspace.advanced{grid-template-columns:230px minmax(420px,1fr) 370px}.workspace.simple{grid-template-columns:230px minmax(540px,1fr)}.toolbox,.canvas-wrap,.code-panel{border:1px solid var(--line);border-radius:11px;overflow:hidden;box-shadow:0 12px 30px #0002}.toolbox{background:linear-gradient(#0d1927,#09131f)}.toolbox-head{background:#101e2d;height:43px;padding:0 15px}.tool{height:38px;padding:0 13px;font-weight:600}.tool.active{background:#152639;border-left-color:#0000}.tool-group{border-bottom:0}.tool-items{background:#08131f;padding:5px 10px 11px 14px}.tool-items .block-preview{color:#08111b;border:0;border-radius:7px 5px 5px 7px;width:100%;min-height:38px;margin:5px 0;padding:8px 34px 8px 13px;font-size:10px;font-weight:750;line-height:1.2;transition:transform .15s,filter .15s;position:relative;overflow:visible;box-shadow:0 4px 9px #0004,inset 0 1px #fff4}.tool-items .block-preview:hover{filter:brightness(1.08);color:#07101a;transform:translate(3px)}.block-preview:before{content:"";background:#08131f;border-radius:0 0 5px 5px;width:26px;height:7px;position:absolute;top:-4px;left:16px}.block-preview:after{content:"";background:inherit;border-radius:5px 5px 0 0;width:26px;height:7px;position:absolute;bottom:-4px;left:16px}.block-preview.pw_start{background:linear-gradient(135deg,#f2779a,#d9517c);border-radius:15px 7px 7px}.block-preview.pw_start:before{display:none}.block-preview.pw_forever{background:linear-gradient(135deg,#ffad62,#e9883f)}.block-preview.pw_led{background:linear-gradient(135deg,#ffdc61,#e8b92d)}.block-preview.pw_wait{background:linear-gradient(135deg,#72ddb1,#42bb8c)}.block-preview.pw_print{background:linear-gradient(135deg,#61b6ed,#378dca)}.block-copy{text-align:left;display:block}.block-add{opacity:.65;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.canvas-wrap{background:#08131f}.view-tabs{background:#0e1b29;height:43px}.canvas-grid{border-radius:0 0 10px 10px}.code-panel{background:#08121d}.panel-title{background:#101e2d;height:43px}.bottom-panel{border:1px solid var(--line);border-radius:11px;margin:0 8px 8px;overflow:hidden;box-shadow:0 12px 30px #0003}.bottom-panel nav{background:#0c1724}.console-head{background:#09131e}footer{background:#07101a;padding:0 18px}.readonly{border:1px solid #293c51}.storage-help{margin-left:5px}:root[data-theme=light] .app-shell{background:linear-gradient(135deg,#edf4f7,#dde9ef)}:root[data-theme=light] .topbar{background:#f8fbfddd}:root[data-theme=light] .workspace{background:#dce7ed}:root[data-theme=light] .toolbox{background:linear-gradient(#fbfdfe,#edf4f7)}:root[data-theme=light] .toolbox-head,:root[data-theme=light] .panel-title{background:#e7f0f4}:root[data-theme=light] .tool.active{background:#dcebef}:root[data-theme=light] .tool-items,:root[data-theme=light] .block-preview:before{background:#eaf2f5}:root[data-theme=light] .bottom-panel nav,:root[data-theme=light] .console-head{background:#edf4f7}@media (width<=1100px){.workspace.advanced{grid-template-columns:205px 1fr 320px}.workspace.simple{grid-template-columns:205px 1fr}}.tool-items .real-block-preview{cursor:pointer;background:#06101a;border:0;border-radius:7px;width:100%;height:48px;margin:4px 0;padding:0;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden;box-shadow:0 3px 9px #0003}.tool-items .real-block-preview:hover{transform:translate(3px);box-shadow:0 5px 14px #0006}.real-block-preview>div{pointer-events:none;position:absolute;inset:0}.real-block-preview .blocklySvg{background:0 0!important}.real-block-preview .blocklyMainBackground{fill:#0000!important;stroke:none!important}.real-block-preview .blocklyScrollbarHorizontal,.real-block-preview .blocklyScrollbarVertical{display:none}.real-block-add{z-index:4;box-sizing:content-box;color:#70e3df;background:#102235;border-radius:50%;padding:3px;position:absolute;top:50%;right:8px;transform:translateY(-50%);box-shadow:0 2px 8px #0005}:root[data-theme=light] .tool-items .real-block-preview{background:#dfecef}:root[data-theme=light] .real-block-add{color:#087f83;background:#f5fbfc}.layout-controls{gap:3px;margin-left:auto;display:flex}.layout-controls button{color:#62778b;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:5px;height:26px;padding:0 7px;font-size:9px;display:flex}.layout-controls button:hover{color:#b7c8d7;background:#122234}.layout-controls button.active{color:#62d9d5;background:#10272e;border-color:#224b55}.workspace.advanced.no-sidebar{grid-template-columns:minmax(500px,1fr) 370px}.workspace.advanced.no-code{grid-template-columns:230px minmax(540px,1fr)}.workspace.advanced.no-sidebar.no-code,.workspace.simple.no-sidebar{grid-template-columns:minmax(600px,1fr)}.collapse-bottom{margin-left:auto!important;padding:0 15px!important}.collapsed-dock{border:1px solid var(--line);color:#91a7ba;cursor:pointer;background:#0c1724;border-radius:9px;align-items:center;gap:8px;margin:0 8px 6px;padding:0 14px;font-size:10px;display:flex}.collapsed-dock:hover{color:#d6e5f1;background:#112236}.collapsed-dock small{color:#536b80;margin-left:5px}.collapsed-dock svg:last-child{margin-left:auto}.canvas-wrap{min-width:0}:root[data-theme=light] .layout-controls button:hover,:root[data-theme=light] .collapsed-dock{color:#3e5669;background:#e3edf2}:root[data-theme=light] .layout-controls button.active{color:#08787b;background:#d5ebec}@media (width<=1180px){.layout-controls button{font-size:0}.layout-controls button svg{width:14px;height:14px}.statusbar .support{display:none}}.tool-items .real-block-preview{height:62px;margin:5px 0}.tool-items .real-block-preview.pw_controller_button,.tool-items .real-block-preview.pw_controller_start,.tool-items .real-block-preview.pw_ap_start{height:88px}.tool{color:#7b91a5}:root[data-theme=light] .tool{color:#577085}:root[data-theme=light] .tool.active{color:#18384b}.canvas-grid>.blocklySvg{width:100%!important;height:100%!important}.app-shell{grid-template-rows:56px 34px minmax(330px,1fr) 200px 26px}.app-shell.bottom-collapsed{grid-template-rows:56px 34px minmax(330px,1fr) 36px 26px}.topbar{gap:14px;padding:0 16px}.brand{min-width:175px}.brand-mark{width:34px;height:34px}.brand strong{font-size:15px}.project{min-width:260px;height:34px}.button{height:32px;padding:0 11px}.theme-toggle{width:32px;height:32px}.mode-switch{height:32px}.statusbar{padding:0 16px}.workspace{gap:6px;padding:6px}.bottom-panel{margin:0 6px 6px}.toolbox{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#4a6478 transparent;overflow:hidden auto!important}.toolbox::-webkit-scrollbar{width:7px}.toolbox::-webkit-scrollbar-thumb{background:#4a6478;border-radius:8px}.toolbox::-webkit-scrollbar-track{background:0 0}.toolbox-head{z-index:8;position:sticky;top:0}.collapsed-dock{margin:0 6px 5px}@media (width<=1300px){.project{min-width:210px}.brand{min-width:145px}.button{padding:0 8px;font-size:10px}}.tool-items .real-block-preview.pw_controller_gamepad{height:405px}.project-settings{color:#698096;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.project-settings:hover{color:var(--cyan)}.settings-field{color:#879caf;letter-spacing:.06em;text-transform:uppercase;flex-direction:column;gap:6px;margin-top:16px;font-size:10px;font-weight:700;display:flex}.settings-field input{color:#dce8f6;text-transform:none;background:#09131f;border:1px solid #30475d;border-radius:7px;outline:none;height:40px;padding:0 11px}.settings-field input:focus{border-color:var(--cyan)}:root[data-theme=light] .settings-field input{color:#17283a;background:#fff}.wifi-settings-modal{width:min(520px,100vw - 28px);max-height:min(760px,100vh - 28px);overflow:auto}.wifi-settings-shortcut{box-shadow:0 5px 15px #19bbbb24;color:#79eee9!important;background:linear-gradient(135deg,#123d46,#0b2935)!important;border-color:#228f94!important}.wifi-settings-shortcut:hover{box-shadow:0 7px 20px #19bbbb3d;background:linear-gradient(135deg,#18515a,#0d3440)!important;border-color:#6be9e5!important}.toolbox-head small{color:#60cfcc;letter-spacing:.08em;text-transform:uppercase;border:1px solid #294456;border-radius:4px;margin-left:auto;padding:3px 6px;font-size:7px}.toolbox-head small+button{margin-left:2px}.wifi-device-info{background:#081521;border:1px solid #294255;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:11px 13px;display:flex}.wifi-device-info span{color:#8096aa;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800}.wifi-device-info strong{color:#85e7e4;letter-spacing:.05em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.wifi-scan-head{color:#c8d6e5;background:#0a1724;border:1px solid #2d4a5e;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:14px;font-size:12px;display:flex}.wifi-scan-button{white-space:nowrap;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:0 18px;font-size:12px;font-weight:800;display:flex;box-shadow:0 6px 18px #0db8b240;color:#fff!important;background:linear-gradient(135deg,#14b8b2,#087c87)!important;border:1px solid #79f3ee!important}.wifi-scan-button:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-1px);box-shadow:0 8px 22px #0db8b25c}.wifi-scan-button:focus-visible{outline-offset:3px;outline:3px solid #79f3ee52}.wifi-scan-button:disabled{box-shadow:none;color:#7890a3!important;background:#243747!important;border-color:#3c5366!important}.wifi-hint{color:#89a0b5;background:#0a1724;border:1px solid #2e465b;border-radius:8px;margin:10px 0 0;padding:10px 12px;font-size:12px}.wifi-network-list{gap:6px;max-height:190px;margin-top:10px;padding-right:3px;display:grid;overflow:auto}.wifi-network-list button{color:#dce8f6;text-align:left;cursor:pointer;background:#091522;border:1px solid #2b4257;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 11px;display:flex}.wifi-network-list button:hover,.wifi-network-list button.selected{border-color:var(--cyan);background:#0b2630}.wifi-network-list span{align-items:center;gap:9px;min-width:0;display:flex}.wifi-network-list b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wifi-network-list small{color:#8096aa;flex:none;font-size:10px}.wifi-result{color:#9bdde0;background:#0b2230;border-radius:8px;align-items:center;gap:9px;margin:14px 0 0;padding:10px 12px;font-size:12px;display:flex}.wifi-result i{border:2px solid #4b7380;border-top-color:var(--cyan);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite wifi-spin}.wifi-modal-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.wifi-modal-actions .modal-done{margin:0}.wifi-disconnect{color:#ffb0aa}@keyframes wifi-spin{to{transform:rotate(360deg)}}:root[data-theme=light] .wifi-settings-shortcut{color:#087579!important;background:#dff3f3!important}:root[data-theme=light] .wifi-device-info,:root[data-theme=light] .wifi-scan-head{color:#26394c;background:#f4f8fb}:root[data-theme=light] .wifi-device-info strong{color:#087c87}:root[data-theme=light] .wifi-hint,:root[data-theme=light] .wifi-network-list button{color:#1b3043;background:#f4f8fb}:root[data-theme=light] .wifi-network-list button:hover,:root[data-theme=light] .wifi-network-list button.selected{background:#e4f5f5}:root[data-theme=light] .wifi-result{color:#17646a;background:#e7f6f7}@media (width<=1280px){.wifi-settings-shortcut span{display:none}.wifi-settings-shortcut{padding:0 10px!important}}@media (width<=560px){.wifi-scan-head,.wifi-modal-actions{flex-direction:column;align-items:stretch}.wifi-modal-actions .button{justify-content:center}.wifi-network-list button{flex-direction:column;align-items:flex-start;gap:4px}}.fatal-error{color:#dce8f6;background:#0c1724;border:1px solid #34485d;border-radius:14px;width:min(680px,100% - 32px);margin:64px auto;padding:30px;font-family:Inter,Segoe UI,sans-serif}.fatal-error svg{color:#42d5d0}.fatal-error h1{font-size:24px}.fatal-error p{color:#91a5b7}.fatal-error pre{color:#ff9b92;white-space:pre-wrap;background:#07101a;border-radius:8px;padding:14px}.fatal-error button{color:#fff;cursor:pointer;background:#287ef0;border:0;border-radius:7px;height:38px;padding:0 14px;font-weight:700}.icon-action{color:var(--muted,#91a5b8);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.sim-active{color:#56ddd5!important;border-color:#2bafa9!important}.code-mode{color:#79dcd7;background:0 0;border:1px solid #34506a;border-radius:5px;margin-left:auto;padding:4px 7px;font-size:9px}.manual-code{resize:none;color:#cfdae5;background:#07111d;border:0;outline:0;flex:1;min-height:0;padding:15px;font:12px/1.55 ui-monospace,monospace}.project-hub{color:#e8f0f7;background:#0e1b2a;border:1px solid #29435b;border-radius:18px;width:min(920px,100vw - 36px);max-height:min(720px,100vh - 36px);position:relative;overflow:auto;box-shadow:0 30px 80px #0009}.project-hub>header{justify-content:space-between;align-items:center;padding:25px 28px 18px;display:flex}.project-hub h2{margin:2px 0 0;font-size:24px}.hub-actions{gap:7px;display:flex}.hub-actions button,.project-hub nav button,.example-grid article button,.history-list button,.lesson button,.device-grid button{color:#dce9f3;cursor:pointer;background:#14283b;border:1px solid #365068;border-radius:8px;align-items:center;gap:6px;padding:8px 11px;display:inline-flex}.project-hub>nav{border-bottom:1px solid #23384c;gap:5px;padding:0 28px;display:flex}.project-hub>nav button{background:0 0;border:0;border-radius:8px 8px 0 0;padding:10px 13px}.project-hub>nav button.active{color:#55ded5;background:#172c40}.hub-content{min-height:330px;padding:22px 28px 28px}.example-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.example-grid article{background:#132537;border:1px solid #294157;border-radius:13px;padding:16px}.example-grid article:hover{border-color:#3e7c84;transform:translateY(-1px)}.example-icon{font-size:25px}.example-grid small{float:right;color:#6fd6d0}.example-grid h3{margin:13px 0 5px}.example-grid p{color:#9fb0bf;min-height:52px;font-size:12px;line-height:1.45}.example-grid button{color:#55ded5;justify-content:center;width:100%}.history-list{gap:8px;display:grid}.history-list>div{background:#132537;border:1px solid #294157;border-radius:10px;justify-content:space-between;align-items:center;padding:12px;display:flex}.history-list span{gap:3px;display:grid}.history-list small{color:#8298aa}.snapshot-new{justify-self:start;margin-bottom:7px}.check-layout{grid-template-columns:1.4fr 1fr;gap:18px;display:grid}.diagnostics{gap:9px;display:grid}.diagnostics>div{border-left:3px solid;border-radius:9px;gap:3px;padding:12px 14px;display:grid}.diagnostics .error{background:#3b1b25;border-color:#f06b83}.diagnostics .warning{background:#382d19;border-color:#efbd59}.diagnostics .tip{background:#143431;border-color:#55ded5}.diagnostics span{color:#b5c3ce;font-size:12px}.pin-board{background:#102234;border:1px solid #2b465d;border-radius:13px;padding:16px}.pin-board>span,.pin-board>small{color:#89a0b2;font-size:11px;display:block}.pin-board>div{grid-template-columns:repeat(7,1fr);gap:5px;margin:15px 0;display:grid}.pin-board i{text-align:center;color:#13202b;background:#c79c34;border-radius:50%;padding:5px 2px;font-size:9px;font-style:normal}.lesson{text-align:center;background:#132537;border-radius:14px;max-width:560px;margin:10px auto;padding:25px}.lesson-progress{background:#273e52;border-radius:9px;height:5px;overflow:hidden}.lesson-progress span{background:#54dcd4;height:100%;transition:all .2s;display:block}.lesson>p:first-of-type{color:#55ded5;letter-spacing:.12em;margin-top:22px;font-size:10px;font-weight:800}.lesson h3{font-size:22px}.lesson>p{color:#a8b7c3}.lesson>div:last-child{justify-content:center;gap:8px;display:flex}.share-toast{color:#67e5dc;background:#163b37;border-radius:8px;margin:0 28px 12px;padding:8px 12px;font-size:12px}.lab-view{align-items:center;gap:28px;padding:14px 24px;display:flex}.lab-view label{color:#9eb2c2;grid-template-columns:1fr 80px;gap:4px 12px;font-size:11px;display:grid}.lab-view label input{grid-column:1/2;width:210px}.virtual-pico{background:#18533e;border:2px solid #8eb2a0;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:82px;height:42px;font-size:9px;display:flex}.virtual-pico i{background:#273329;border-radius:50%;width:10px;height:10px}.virtual-pico.led-on i{background:#69ff8d;box-shadow:0 0 12px #69ff8d}.graph-view{height:100%;padding:9px 18px}.graph-view svg{background:linear-gradient(#ffffff08 1px,#0000 1px) 0 0/100% 18px;width:100%;height:70px}.graph-view polyline{fill:none;stroke:#55ded5;stroke-width:1.4px;vector-effect:non-scaling-stroke}.graph-view>div{color:#8da3b5;justify-content:space-between;font-size:10px;display:flex}.graph-view b{color:#55ded5}.empty-panel{color:#7f97aa;justify-content:center;align-items:center;gap:10px;height:100%;display:flex}.empty-panel span{font-size:11px}.device-grid{grid-template-columns:repeat(4,1fr);gap:9px;padding:13px 18px;display:grid}.device-grid>div{background:#102234;border-radius:8px;gap:5px;padding:9px 12px;display:grid}.device-grid span{color:#7e94a7;text-transform:uppercase;font-size:9px}.device-grid b{font-size:11px}.device-grid button{padding:4px 7px;font-size:10px}@media (width<=760px){.project-hub>header{flex-direction:column;align-items:flex-start;gap:12px}.hub-actions{flex-wrap:wrap}.project-hub>nav{overflow:auto}.check-layout{grid-template-columns:1fr}.device-grid{grid-template-columns:1fr 1fr}.lab-view{flex-wrap:wrap}}[data-theme=light] .project-hub{color:#142331;background:#f4f8fa}[data-theme=light] .example-grid article,[data-theme=light] .history-list>div,[data-theme=light] .lesson,[data-theme=light] .pin-board{background:#e6eff3;border-color:#bfd0da}[data-theme=light] .manual-code{color:#182b38;background:#eef5f7}.share-qr{color:#183041;background:#fff;border-radius:12px;align-items:center;gap:18px;margin-bottom:18px;padding:13px;display:flex}.share-qr img{width:118px;height:118px}.share-qr span{flex:1;font-weight:650}.share-qr button{color:#fff;cursor:pointer;background:#17364b;border:0;border-radius:7px;padding:7px 10px}.static-fallback-card{z-index:60;color:#e5eef5;background:#14283b;border:1px solid #3b5b73;border-radius:12px;width:min(420px,100vw - 44px);padding:14px;position:fixed;bottom:22px;right:22px;box-shadow:0 15px 45px #0008}.static-fallback-card>b,.static-fallback-card>small{display:block}.static-fallback-card>small{color:#96aabc;margin:4px 0 10px;font-size:10px;line-height:1.4}.static-fallback-card>div{grid-template-columns:1fr 1fr;gap:7px;display:grid}.static-fallback-card label{color:#91a8b9;gap:3px;font-size:9px;display:grid}.static-fallback-card input{box-sizing:border-box;color:#eaf2f8;background:#0c1b29;border:1px solid #36536a;border-radius:6px;width:100%;padding:7px;font:11px ui-monospace,monospace}@media (width<=900px){.static-fallback-card{bottom:12px;right:12px}}
