@import"https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&display=swap";@font-face{font-family:OpenSans;src:url(/app/assets/opensans-regular-D1ljiku4.woff2) format("woff2");font-weight:400;font-style:normal}@font-face{font-family:OpenSans;src:url(/app/assets/opensans-bold-qCh3D44Q.woff2) format("woff2");font-weight:700;font-style:normal}:root{--font-sans: "OpenSans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Consolas", "Liberation Mono", "Courier New", monospace}:root{--scheme-primary: #008184;--scheme-primary-light: #00a5a8;--scheme-primary-dark: #006668;--bg-primary: #eeeeee;--bg-secondary: #f8f8f3;--bg-tertiary: #ffffff;--text-primary: #1f1f1f;--text-secondary: #5f6368;--border-color: #dadce0;--button-bg: #f0f0f0;--button-hover: #e8e8e8;--panel-bg: #ffffff;--input-bg: #ffffff;--input-border: #dadce0;--plot-bg: #ffffff;--plot-sidebar-bg: #f5f5f5;--plot-grid: #e0e0e0;--plot-label: #5f6368;--plot-legend-bg: #f5f5f5}[data-theme=dark]{--bg-primary: #233242;--bg-secondary: #1f2d3b;--bg-tertiary: #151515;--text-primary: #e8eaed;--text-secondary: #9aa0a6;--border-color: #4a5f7f;--button-bg: #34495e;--button-hover: #4a5f7f;--panel-bg: #2c3e50;--input-bg: #34495e;--input-border: #4a5f7f;--plot-bg: #1e2a36;--plot-sidebar-bg: #2c3e50;--plot-grid: #4a5f7f;--plot-label: #cbd5e0;--plot-legend-bg: #2c3e50}.icon-tabler{display:inline-block;width:24px;height:24px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;color:inherit}.icon-tabler use{fill:inherit;stroke:currentColor}[data-theme=dark] img.icon,[data-theme=dark] .icon img{filter:invert(.9) brightness(1.1)}[data-theme=dark] #navigation-bar img.icon,[data-theme=dark] #navigation-bar .icon img,[data-theme=dark] #toolbar img.icon,[data-theme=dark] #toolbar .icon img,[data-theme=dark] .panel-bar img.icon,[data-theme=dark] .panel-bar .icon img,[data-theme=dark] .panel-bar #drag-handle img.icon,[data-theme=dark] .panel-bar #drag-handle .icon img,[data-theme=dark] #navigation-bar .icon-tabler,[data-theme=dark] #toolbar .icon-tabler,[data-theme=dark] .panel-bar .icon-tabler{filter:none}#navigation-bar .icon-tabler,#toolbar .icon-tabler,.panel-bar .icon-tabler{color:#000;stroke:#000}[data-theme=dark] .system-sidebar .icon-tabler{filter:none;color:inherit}[data-theme=dark] #file-manager .icon-tabler,[data-theme=dark] #file-actions .icon-tabler,[data-theme=dark] .device-header .icon-tabler,[data-theme=dark] .file-list .icon-tabler{filter:none;color:var(--text-primary)}#file-manager .icon-tabler{color:var(--text-primary);stroke:currentColor}[data-theme=dark] #file-manager .icon-tabler{filter:none;color:var(--text-primary)}[data-color-scheme=teal]{--scheme-primary: #028184;--scheme-primary-light: #03aeb2;--scheme-primary-dark: #026f73}[data-color-scheme=blue]{--scheme-primary: #1a73e8;--scheme-primary-light: #4285f4;--scheme-primary-dark: #1557b0}[data-color-scheme=purple]{--scheme-primary: #8e44ad;--scheme-primary-light: #9b59b6;--scheme-primary-dark: #6c3483}[data-color-scheme=green]{--scheme-primary: #28ae60;--scheme-primary-light: #2ecc71;--scheme-primary-dark: #208449}[data-color-scheme=red]{--scheme-primary: #e74b3b;--scheme-primary-light: #fe6a6b;--scheme-primary-dark: #c0392b}[data-color-scheme=orange]{--scheme-primary: #e77e22;--scheme-primary-light: #f39c12;--scheme-primary-dark: #ca650f}*{-moz-user-select:none;-webkit-user-select:none;user-select:none;font-family:var(--font-sans)}.xterm,.xterm *{font-family:monospace}body,html{margin:0;width:100%;height:100%;min-height:0;overflow:hidden;background:var(--bg-primary);color:var(--text-primary);zoom:.9}img{max-width:100%;max-height:100%}button{display:flex;width:auto;min-width:45px;height:45px;padding:0 12px;flex-direction:column;justify-content:center;align-items:center;border:none;border-radius:45px;background:var(--button-bg);color:var(--text-primary);cursor:pointer;transition:all .1s;font-family:inherit;font-size:14px;font-weight:500}#toolbar button,.icon-only-button{width:45px;padding:0;border-radius:50%}button.small{width:28px;min-width:0;padding:0;height:28px;border-radius:28px;background:#ffffffb3}button.small:not([disabled]):hover{background:#ffffffe6}button.square{border-radius:0}button.inverted:hover,button.inverted.active{background:var(--scheme-primary-dark)!important;color:#fff!important}button.inverted{background:var(--scheme-primary)!important;color:#fff}button[disabled],button[disabled]:hover{cursor:default;opacity:.5}#navigation-bar button,.panel-header button{background:#fff9;color:#fff}#navigation-bar button:hover,.panel-header button:hover{background:#ffffffe6}#navigation-bar button.active,.panel-header button.active{background:#fff9}#navigation-bar button.active:hover,.panel-header button.active:hover{background:#ffffffe6}#toolbar button,.panel-header button{padding:0}button.active{background:var(--scheme-primary);color:#fff}button.active:hover{background:var(--scheme-primary-dark)}button .icon{width:63%;height:63%;filter:invert(1) brightness(.3)}[data-theme=dark] button .icon{filter:invert(.9) brightness(1.1)}button.small .icon{width:63%;height:63%}.button{position:relative;display:flex;flex-direction:column;align-content:space-between;align-items:center;gap:.5em;width:auto}.button.first{width:50px;padding-left:10px}.button .label{text-align:center;color:#fff3;font-family:var(--font-sans)}.button .label.active{color:#ffffffe6}.button .tooltip{opacity:0;position:absolute;top:120%;left:0;font-size:10px;background:#fff;padding:8px;z-index:99;transition:all .1s;transition-delay:0s;pointer-events:none;text-align:center;transform:translateY(-10px);box-shadow:0 2px 2px #00000024,0 3px 1px -2px #0000001f,0 1px 5px #0003}.button:focus .tooltip,.button:hover .tooltip{opacity:1;transform:translateY(0);transition:all .25s;transition-delay:.15s}#app{display:flex;width:100%;height:100%;min-width:768px;justify-content:center;align-items:center;font-family:var(--font-mono);overflow:hidden;background:var(--bg-primary)}.working-area{display:flex;flex:1;min-width:0;height:100%;flex-direction:column;align-items:center;flex-shrink:0;background:var(--bg-primary)}#navigation-bar{display:flex;width:100%;background:var(--scheme-primary);justify-content:space-between}#toolbar{display:flex;padding:16px 10px 10px;align-items:center;gap:16px;align-self:stretch;background:var(--scheme-primary)}.separator{height:100%;min-width:1px;flex-basis:fit-content;background:#fff;opacity:.7;position:relative;margin-left:.5em;margin-right:.5em;height:65%}#tabs{display:flex;padding:9px 10px 0 8px;align-items:center;gap:10px;align-self:stretch;background:var(--bg-tertiary);font-size:14px}.tab{display:flex;padding:10px;align-items:center;gap:10px;flex:1 0 0;align-self:stretch;cursor:pointer;background:var(--bg-secondary);overflow:hidden;transition:all .1s;border-top-left-radius:5px;border-top-right-radius:5px}.tab:hover{background:var(--button-hover)}.tab.active{background:var(--bg-primary)}.tab .icon{height:16px;color:var(--text-primary);stroke:var(--text-primary)}.tab .icon-tabler{color:var(--text-primary)!important;stroke:var(--text-primary)!important;filter:none!important}.tab .icon-tabler use{stroke:var(--text-primary)!important}.tab.active .icon,[data-theme=dark] .tab .icon{color:var(--text-primary);stroke:var(--text-primary)}[data-theme=dark] .tab .icon-tabler{color:var(--text-primary)!important;stroke:var(--text-primary)!important;filter:none!important}[data-theme=dark] .tab .icon-tabler use{stroke:var(--text-primary)!important}[data-theme=dark] .tab.active .icon{color:var(--text-primary);stroke:var(--text-primary)}.tab .text{color:var(--text-primary);font-size:15px;letter-spacing:.5px;flex:1 0 0;max-width:calc(100% - 65px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tab .options{display:flex;align-items:center;align-self:stretch;cursor:pointer;height:16px;width:32px}.tab .options button{background:none;width:100%;height:100%}.tab .options button .icon{width:100%;height:100%;color:var(--text-primary);stroke:var(--text-primary)}.tab .options:hover button{background:#0000001a}[data-theme=dark] .tab .options:hover button{background:#ffffff1a}.tab .text input{box-sizing:border-box;border:none;border-radius:none;height:100%;width:100%;background:#fff9;font-family:inherit;font-size:inherit;outline-color:#f4ba00}#code-editor{flex:1 0 0;align-self:stretch;font-size:16px;height:100%;overflow:hidden}#code-editor *{font-family:var(--font-mono)}#code-editor .cm-editor{width:100%;height:100%;outline:none}#code-editor .cm-content{padding-top:16px}#code-editor .cm-line{padding-left:16px}#code-editor .cm-gutters{background-color:var(--bg-secondary);border-right:none;width:60px;font-size:14px;color:var(--text-primary)}.breakpoints{width:24px;background:#f7f7f7;border-right:1px solid #ddd}.breakpoint{color:#e74c3c;font-size:1.2em;text-align:center;line-height:1.5;cursor:pointer;position:relative;top:-.25em}[data-theme=dark] .breakpoints{background:#1f2d3b;border-right:1px solid #4a5f7f}.breakpoint-modal{width:500px!important;height:auto!important;max-height:90vh;padding:20px}.breakpoint-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;border-bottom:1px solid var(--border-color);padding-bottom:12px}.breakpoint-modal-title{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--text-primary);text-transform:uppercase;font-size:14px}.breakpoint-modal-file{font-family:monospace;font-size:12px;color:var(--text-secondary);background:var(--bg-secondary);padding:8px;border-radius:4px;margin-bottom:16px;word-break:break-all}.breakpoint-field{display:flex;align-items:center;gap:12px;margin-bottom:16px}.breakpoint-field-icon{width:24px;text-align:center;font-size:18px;color:var(--text-secondary);font-weight:700}.breakpoint-input{flex:1;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;padding:8px 12px;color:var(--text-primary);font-family:monospace}.switch-container{display:flex;align-items:center;gap:8px}.switch{position:relative;display:inline-block;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:24px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:#6c5ce7}input:focus+.slider{box-shadow:0 0 1px #6c5ce7}input:checked+.slider:before{transform:translate(20px)}.breakpoint-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.btn-delete{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;transition:color .2s}.btn-delete:hover{color:#e74c3c}#code-editor .cm-activeLineGutter{background-color:#dae3e3}#code-editor .cm-gutter{width:75%}#code-editor .cm-foldGutter{width:25%}#code-editor .cm-gutterElement{display:flex;align-items:center;justify-content:flex-end}#code-editor .cm-gutterElement span[title="Fold line"]{padding-bottom:8px}#code-editor .cm-activeLine{background-color:transparent}#panel{display:flex;flex-direction:column;align-items:stretch;align-self:stretch;position:relative;background:#000;transition:height .15s;margin-bottom:40px;min-height:45px;zoom:1.25}#panel.resizing{transition:none}#panel.dialog-open{pointer-events:none}#panel #drag-handle{flex-grow:2;height:100%;cursor:grab;position:absolute;width:100%;z-index:5}#panel #drag-handle:active{cursor:grabbing}.panel-bar{display:flex;height:36px;padding:0 10px;justify-content:flex-end;align-items:center;gap:10px;align-self:stretch;background:var(--scheme-primary);position:relative;flex-shrink:0;font-size:80%}.panel-bar>.button{position:relative;z-index:10}.panel-connection-label{color:#ffffffd9;font-size:13px;padding-left:10px;user-select:none}.panel-bar #connection-status{display:flex;align-items:center;gap:10px;color:#fff}.panel-bar #connection-status img{width:1.25em;height:1.25em;filter:invert(1)}.panel-bar #connection-status>.icon-tabler{color:#fff;stroke:#fff}.panel-bar #connection-status .button .icon-tabler{color:#000!important;stroke:#000!important}.panel-bar .spacer{flex-grow:1}.panel-bar .connect-button-wrapper{position:relative;z-index:10;display:flex;align-items:center;gap:10px;color:#fff}.panel-bar .term-operations{transition:opacity .15s;display:flex;justify-content:flex-end;align-items:center;gap:10px;align-self:stretch;position:relative;z-index:10}.panel-bar .term-operations.hidden{opacity:0;transition-delay:.15s;pointer-events:none}.panel-bar .term-operations.visible{opacity:1;transition-delay:.15s}.terminal-wrapper{color:#fff;flex:1;overflow:hidden;min-height:0;height:100%;padding:0 8px}.terminal-wrapper .xterm{height:100%;width:100%}.xterm-viewport::-webkit-scrollbar{width:12px;height:8px}.xterm-viewport::-webkit-scrollbar-track{background:#eee}.xterm-viewport::-webkit-scrollbar-thumb{background:#ccc;border:1px solid #bbb;border-radius:2px}.xterm-viewport::-webkit-scrollbar-thumb:hover{background:#bbb}.xterm-viewport{scrollbar-width:thin;scrollbar-color:#ccc #eee}.terminal-enabled,.terminal-disabled{width:100%}.terminal-disabled{opacity:.5}.dialog{outline:none;display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:none;opacity:0;position:fixed;inset:0;transition:opacity .2s ease;border:none;background:#0009;backdrop-filter:blur(4px);z-index:2000}.dialog.open{opacity:1;pointer-events:inherit}.dialog .dialog-content{display:flex;width:min(420px,90vw);padding:32px;flex-direction:column;align-items:stretch;gap:24px;background:var(--panel-bg);color:var(--text-primary);border-radius:16px;box-shadow:0 20px 60px #0000004d;transform:translateY(20px) scale(.95);transition:transform .2s cubic-bezier(.2,0,0,1)}.dialog.open .dialog-content{transform:translateY(0) scale(1)}.dialog-title{margin:0;font-size:20px;font-weight:700;text-align:center}.dialog-input{width:100%;padding:14px 16px;font-size:16px;font-family:var(--font-mono);background:var(--input-bg);color:var(--text-primary);border:2px solid var(--border-color);border-radius:10px;box-sizing:border-box;transition:all .2s}.dialog-input:focus{outline:none;border-color:var(--scheme-primary);box-shadow:0 0 0 4px #00818426}.dialog .buttons-horizontal{display:flex;flex-direction:row;justify-content:center;width:100%;gap:12px}.dialog .buttons-horizontal .button{flex:1;height:48px;font-size:15px;font-weight:600;border-radius:10px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid transparent;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.dialog .buttons-horizontal .button:hover{background:var(--button-hover);border-color:var(--border-color);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.dialog .buttons-horizontal .button:active{transform:translateY(0)}.dialog-feedback{padding:.5em;font-size:13px;display:flex;align-items:center;gap:8px}#file-manager{display:flex;padding:12px 32px 24px;justify-content:center;align-items:center;gap:10px;flex:1 1 0;align-self:stretch;min-height:0}#board-files,#disk-files{display:flex;flex-direction:column;align-items:flex-start;flex:1 0 0;align-self:stretch;min-width:0}#file-actions{display:flex;width:32px;padding:10px;flex-direction:column;justify-content:center;align-items:center;gap:10px;align-self:stretch}#file-actions button{background:transparent}#file-actions button:hover{background:var(--bg-tertiary)}#file-actions button[disabled],#file-actions button[disabled]:hover{opacity:.4;background:transparent}#file-actions button .icon{width:100%;height:100%;opacity:.7;color:var(--text-primary)}#file-actions button:hover .icon{opacity:1}#file-actions .icon-tabler{color:var(--text-primary);stroke:currentColor}[data-theme=dark] #file-actions .icon-tabler{filter:none;color:var(--text-primary)}.device-header{display:flex;padding:26px 0;align-items:flex-start;align-self:stretch;width:100%}.device-header button{width:32px;height:auto;padding:0;background:transparent}.device-header button:hover{background:var(--bg-tertiary)}.device-header button[disabled]{background:transparent}.device-header .icon{width:22px;height:22px}.device-header>.icon:first-child{width:44px;height:44px;margin-top:-11px}.device-header .icon-tabler{color:var(--text-primary)!important;stroke:var(--text-primary)!important;filter:none!important}.device-header .icon-tabler use{stroke:var(--text-primary)!important}[data-theme=dark] .device-header .icon-tabler{filter:none!important;color:var(--text-primary)!important;stroke:var(--text-primary)!important}[data-theme=dark] .device-header .icon-tabler use{stroke:var(--text-primary)!important}.device-header .text{width:100%;height:1.8em;position:relative;cursor:pointer;color:var(--text-primary);font-family:var(--font-mono);font-size:14px;font-style:normal;font-weight:400;line-height:normal;white-space:nowrap;overflow:hidden}.device-header .text span{position:absolute;right:0;min-width:calc(100% - 30px);display:flex;align-items:center;padding-right:10px}.file-list{display:flex;align-items:flex-start;flex:1 0 0;align-self:stretch;background:var(--bg-secondary);height:100%;overflow-y:scroll}.file-list .list{display:flex;padding:6px 8px;flex-direction:column;align-items:flex-start;flex:1 0 0;align-self:stretch;width:calc(100% - 40px)}.file-list .item{display:flex;height:28px;min-height:28px;max-height:28px;padding:5px 10px;align-items:center;gap:10px;align-self:stretch;transition:all .1s}.file-list .item.selected,.file-list .item:hover{background:var(--bg-tertiary)}.file-list .item .options{display:flex;opacity:0;align-items:center;align-self:stretch;cursor:pointer;transition:all .1s}.file-list .item:hover .options{opacity:1}.file-list .item .icon{width:32px;height:32px}.file-list .item .icon-tabler{color:var(--text-primary);stroke:currentColor}[data-theme=dark] .file-list .item .icon-tabler{filter:none;color:var(--text-primary)}.file-list .item .text{color:var(--text-primary);font-family:var(--font-mono);font-size:14px;font-style:normal;font-weight:400;line-height:normal;white-space:nowrap;width:100%;overflow:hidden;text-overflow:ellipsis;line-height:1.3em}.file-list .item .text .file-size{color:var(--text-secondary);font-size:.8em}.file-list .item .checkbox .icon.off,.file-list .item .checkbox .icon.on,.file-list .item:hover .checkbox.unchecked .icon{display:none}.file-list .item:hover .checkbox.unchecked .icon.off{display:block}.file-list .item .checkbox.checked .icon{display:none}.file-list .item .checkbox.checked .icon.on{display:block}.file-list .item input{box-sizing:border-box;border:none;border-radius:none;height:100%;width:100%;background:var(--input-bg);color:var(--text-primary);font-family:inherit;font-size:inherit;outline-color:#f4ba00}#code-editor .cm-panels{border-color:#dae3e3;padding:0 10px;margin:0}#code-editor .cm-panels .cm-search{display:flex;align-items:center;height:45px;padding:0;background:#ecf1f1;gap:10px}#code-editor .cm-panels label{display:none}#code-editor .cm-panels input,#code-editor .cm-panels button{height:28px;margin:0;padding:0;width:auto}#code-editor .cm-panels button{border:none;border-radius:none;font-family:inherit;background:none;color:var(--text-primary)}#code-editor .cm-panels input{box-sizing:border-box;padding:0 10px;border:none;width:100%;background:#fff;color:#000;font-family:inherit;font-size:14px;outline-style:none}#code-editor .cm-panels input:focus{outline-style:solid;outline-color:#f4ba00}#code-editor .cm-panels [name=replace],#code-editor .cm-panels [name=replaceAll]{display:none}#code-editor .cm-panel.cm-search [name=close]{position:relative}[data-theme=dark] #code-editor .cm-panels{border-color:#4a5f7f}[data-theme=dark] #code-editor .cm-panels .cm-search{background:#2c3e50}[data-theme=dark] #code-editor .cm-panels input{background:#34495e;color:#e8eaed;border:1px solid #4a5f7f}[data-theme=dark] #code-editor .cm-panels input::placeholder{color:#9aa0a6}[data-theme=dark] #code-editor .cm-panels input:focus{outline-color:#f4ba00;border-color:#f4ba00}[data-theme=dark] #code-editor .cm-panels button{color:#e8eaed}[data-theme=dark] #code-editor .cm-panels button:hover{background:#4a5f7f}#overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;backdrop-filter:blur(2px);z-index:1000;display:flex;justify-content:center;align-items:center;cursor:default;opacity:0;pointer-events:none;transition:opacity .2s ease}#overlay.open{opacity:1;pointer-events:auto}#overlay>div{position:relative;background:var(--bg-secondary);color:var(--text-color);padding:24px;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;min-width:300px;max-width:90%;text-align:center;border:1px solid var(--border-color);display:flex;flex-direction:column;gap:16px}#overlay>div:before{content:"";position:absolute;inset:0;background:var(--scheme-primary-light);opacity:.5;border-radius:12px;z-index:-1;pointer-events:none}.transfer-overlay-content{display:flex;flex-direction:column;align-items:center;gap:16px;min-width:320px;max-width:500px}.transfer-title{font-size:18px;font-weight:600;color:var(--text-color);margin-bottom:4px}.transfer-filename{font-size:14px;color:var(--text-secondary);word-break:break-all;text-align:center;padding:0 8px;font-family:Menlo,Monaco,Courier New,monospace}.transfer-progress-container{width:100%;display:flex;flex-direction:column;gap:8px;align-items:center}.transfer-progress-bar{width:100%;height:8px;background:var(--border-color);border-radius:4px;overflow:hidden;position:relative}.transfer-progress-fill{height:100%;background:var(--scheme-primary);border-radius:4px;transition:width .2s ease-out}.transfer-progress-text{font-size:16px;font-weight:600;color:var(--scheme-primary);font-variant-numeric:tabular-nums}#overlay .progress-bar{width:100%;height:6px;background:var(--border-color);border-radius:3px;overflow:hidden;margin-top:8px}#overlay .progress-bar .bar{height:100%;background:var(--accent-color);width:0%;transition:width .3s ease}.webrepl-dialog{width:480px!important;padding:0!important;overflow:hidden;border-radius:12px;background:linear-gradient(135deg,#f8f9fa,#fff)}.dialog-header{background:linear-gradient(135deg,var(--scheme-primary) 0%,var(--scheme-primary-light) 100%);color:#fff;padding:32px 32px 24px;text-align:center}.dialog-icon{width:64px;height:64px;margin:0 auto 16px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px)}.dialog-icon svg{color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.webrepl-dialog .dialog-title{font-size:24px;font-weight:600;margin-bottom:8px;text-shadow:0 2px 4px rgba(0,0,0,.1)}.dialog-subtitle{font-size:14px;opacity:.9;font-weight:400}.dialog-body{padding:32px;background:var(--panel-bg)}.form-group{margin-bottom:24px}.form-group label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.form-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.label-tooltip{position:relative;display:inline-flex;align-items:center;cursor:help}.label-tooltip-icon{width:16px;height:16px;color:var(--text-secondary);opacity:.6;transition:opacity .2s,color .2s}.label-tooltip:hover .label-tooltip-icon{opacity:1;color:var(--scheme-primary)}.label-tooltip .tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);margin-bottom:8px;padding:8px 12px;background:var(--text-primary);color:var(--bg-secondary);font-size:12px;font-weight:400;white-space:nowrap;border-radius:6px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:1000;max-width:250px;white-space:normal;text-align:left;line-height:1.4;box-shadow:0 4px 12px #00000026}.label-tooltip .tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--text-primary)}.label-tooltip:hover .tooltip{opacity:1;transform:translate(-50%) translateY(0)}.form-help{display:none}.form-label svg{color:var(--scheme-primary)}.config-form input[type=text],.config-form input[type=number],.config-form input[type=password],.config-form select{width:100%;padding:12px 16px;font-size:15px;border:2px solid var(--border-color);border-radius:8px;box-sizing:border-box;transition:all .2s ease;background:var(--input-bg);color:var(--text-primary);font-family:var(--font-mono)}.config-form input[type=text]:focus,.config-form input[type=number]:focus,.config-form input[type=password]:focus,.config-form select:focus{outline:none;border-color:var(--scheme-primary);box-shadow:0 0 0 3px #0081841a}.config-form input[type=text]::placeholder,.config-form input[type=password]::placeholder{color:var(--text-secondary);font-style:italic}.config-form .checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:500}.config-form .checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.config-form .required{color:#dc3545;font-weight:600}.form-input{width:100%;padding:12px 16px;font-size:15px;border:2px solid var(--border-color);border-radius:8px;box-sizing:border-box;transition:all .2s ease;background:var(--input-bg);color:var(--text-primary);font-family:Menlo,Monaco,Courier New,monospace}.form-input:focus{outline:none;border-color:var(--scheme-primary);box-shadow:0 0 0 3px #0081841a}.form-input::placeholder{color:var(--text-secondary);font-style:italic}.dialog-footer{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:32px;padding-top:24px;border-top:1px solid var(--border-color);background:var(--panel-bg)}.dialog-feedback.connecting{color:var(--scheme-primary);font-weight:500}.connect-button{width:100%;padding:16px 48px;background:linear-gradient(135deg,var(--scheme-primary) 0%,var(--scheme-primary-light) 100%);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #0003;text-transform:uppercase;letter-spacing:1px}.connect-button:hover:not(:disabled){background:linear-gradient(135deg,var(--scheme-primary-light) 0%,var(--scheme-primary-light) 100%);transform:translateY(-2px);box-shadow:0 6px 16px #0000004d}.connect-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #0003}.connect-button:disabled{opacity:.6;cursor:not-allowed}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{animation:spin 1s linear infinite}.scriptos-modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10000;backdrop-filter:blur(4px);animation:fadeIn .2s ease}.scriptos-modal{position:relative;width:85vw;max-width:1000px;height:80vh;max-height:700px;background:var(--panel-bg);border-radius:12px;box-shadow:0 20px 60px #00000080;overflow:hidden;animation:slideUp .3s ease;display:flex;flex-direction:column}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.scriptos-modal-close{position:absolute;top:12px;right:12px;width:32px;height:32px;background:#0000000d;border:none;border-radius:50%;font-size:24px;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:200}.scriptos-modal-close:hover{background:#00000026;transform:scale(1.1)}.scriptos-library{padding:0;height:100%;position:relative;display:flex;flex-direction:column;overflow:hidden}.scriptos-header-sticky{flex-shrink:0;z-index:100;background:var(--panel-bg);padding:24px 24px 16px;border-bottom:2px solid var(--border-color);box-shadow:0 4px 12px #0000001a}.scriptos-header-sticky:before{display:none}.scriptos-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:24px}.scriptos-library>.scriptos-categories,.scriptos-library>.scriptos-empty{padding:0}.scriptos-header{margin-bottom:16px;text-align:center}.scriptos-header h2{font-size:28px;font-weight:700;color:var(--text-primary);margin:8px 0 6px}.scriptos-subtitle{font-size:13px;color:var(--text-secondary);margin:0;font-weight:500}.scriptos-search{position:relative;margin:0}.scriptos-search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.scriptos-search-input{width:100%;padding:12px 42px 12px 40px;font-size:14px;border:2px solid var(--border-color);border-radius:10px;background:var(--bg-primary);color:var(--text-primary);transition:all .2s ease;box-sizing:border-box}.scriptos-search-input:focus{outline:none;border-color:var(--scheme-primary);box-shadow:0 0 0 4px #0081841a}.scriptos-search-input::placeholder{color:var(--text-secondary);opacity:.6}.scriptos-search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:24px;height:24px;border:none;background:var(--bg-tertiary);color:var(--text-secondary);border-radius:50%;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.scriptos-search-clear:hover{background:var(--scheme-primary);color:#fff}.scriptos-toolbar{display:flex;align-items:center;gap:10px;margin-top:16px}.scriptos-toolbar .scriptos-search{flex:1;margin-top:0}.scriptos-toolbar-actions{display:flex;gap:6px;flex-shrink:0}.scriptos-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:36px;height:36px;padding:0;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;position:relative}.scriptos-toolbar-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--scheme-primary)}.scriptos-toolbar-btn.active{background:#00818426;border-color:var(--scheme-primary);color:var(--scheme-primary)}.scriptos-toolbar-btn.has-filters{border-color:var(--scheme-primary);color:var(--scheme-primary)}.scriptos-toolbar-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;background:var(--scheme-primary);color:#fff;font-size:10px;font-weight:700;border-radius:8px;display:flex;align-items:center;justify-content:center;line-height:1}.scriptos-tag-filters{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color)}.scriptos-list{display:flex;flex-direction:column}.scriptos-list-row{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--border-color);transition:background .15s ease}.scriptos-list-row:first-child{border-top:1px solid var(--border-color)}.scriptos-list-row:hover{background:var(--bg-tertiary)}.scriptos-list-name{font-weight:600;font-size:13px;color:var(--text-primary);white-space:nowrap;flex-shrink:0;min-width:140px}.scriptos-list-version{font-size:11px;color:var(--scheme-primary);font-weight:600;white-space:nowrap;flex-shrink:0;opacity:.8}.scriptos-list-desc{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.scriptos-tag-filters-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--text-primary);margin-bottom:12px;letter-spacing:.3px}.scriptos-tag-filters-label svg{flex-shrink:0;color:var(--scheme-primary);opacity:.8}.scriptos-tag-filters-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.scriptos-tag-filter{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;font-size:12px;font-weight:600;color:var(--text-primary);cursor:pointer;transition:all .2s ease;white-space:nowrap;min-height:28px;box-shadow:0 1px 2px #0000000d;letter-spacing:.2px}.scriptos-tag-filter:hover{background:var(--bg-tertiary);border-color:var(--scheme-primary);color:var(--text-primary);transform:translateY(-1px);box-shadow:0 2px 6px #00818426}.scriptos-tag-filter.active{background:var(--scheme-primary);border-color:var(--scheme-primary);color:#fff}.scriptos-tag-filter.active:hover{background:var(--scheme-primary-light)}.scriptos-tag-check{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;background:#fff3;border-radius:50%;font-size:10px;font-weight:700;line-height:1}.scriptos-clear-filters{display:inline-flex;align-items:center;padding:4px 10px;background:transparent;border:1px solid var(--border-color);border-radius:6px;font-size:11px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;margin-top:6px}.scriptos-clear-filters:hover{background:var(--bg-tertiary);border-color:var(--scheme-primary);color:var(--scheme-primary)}.scriptos-categories{display:flex;flex-direction:column;gap:24px}.scriptos-category-title{font-size:16px;font-weight:700;color:var(--text-primary);margin:0 0 12px;padding:10px 14px;border-radius:8px;display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none;transition:all .2s ease;background:var(--bg-secondary);border:1px solid var(--border-color);letter-spacing:.3px;box-shadow:0 1px 3px #0000000d}.scriptos-category-title:hover{background:var(--button-hover);border-color:var(--scheme-primary)}.scriptos-category-chevron{flex-shrink:0;transition:transform .3s ease;color:var(--scheme-primary);opacity:.9;width:18px;height:18px}.scriptos-category.collapsed .scriptos-category-chevron{transform:rotate(-90deg)}.scriptos-category-title span:first-of-type{flex-grow:1}.scriptos-category-count{background:var(--scheme-primary);color:#fff;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:700;min-width:20px;text-align:center;box-shadow:0 1px 3px #00818433}.scriptos-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;color:var(--text-secondary)}.scriptos-empty svg{margin-bottom:16px;opacity:.3}.scriptos-empty h3{font-size:20px;margin:0 0 8px;color:var(--text-primary)}.scriptos-empty p{font-size:14px;margin:0 0 6px;text-align:center}.scriptos-empty code{background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;font-family:var(--font-mono);font-size:13px}.scriptos-hint{font-size:13px!important;color:var(--text-secondary)!important;margin-top:12px!important}.scriptos-hint strong{color:var(--scheme-primary);font-family:var(--font-mono)}.scriptos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;padding:16px}.scriptos-card{position:relative;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:16px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:12px}.scriptos-card:hover{border-color:var(--scheme-primary);box-shadow:0 4px 12px #00818426;transform:translateY(-2px)}.scriptos-card-header{display:flex;align-items:center;gap:12px}.scriptos-card-header h3{font-size:16px;font-weight:600;margin:0;color:var(--text-primary);line-height:1.2}.scriptos-card-icon{width:32px;height:32px;min-width:32px;background:linear-gradient(135deg,var(--scheme-primary) 0%,var(--scheme-primary-light) 100%);border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff}.scriptos-card-icon svg{width:18px;height:18px}.scriptos-card-description{font-size:13px;line-height:1.4;color:var(--text-secondary);margin:0;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.scriptos-card-tags{display:flex;flex-wrap:wrap;gap:6px}.scriptos-tag-badge{font-size:11px;background:var(--bg-tertiary);color:var(--text-secondary);padding:2px 6px;border-radius:4px}.scriptos-card-footer{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:8px;border-top:1px solid var(--border-color);font-size:12px;color:var(--text-secondary)}.scriptos-card-author{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}.scriptos-card-author svg{flex-shrink:0}.scriptos-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.scriptos-tag-badge{display:inline-block;font-size:12px;padding:5px 10px;background:var(--scheme-primary);color:#fff;border-radius:14px;font-weight:600;opacity:1;letter-spacing:.2px;box-shadow:0 1px 3px #0081844d}.scriptos-loading-spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top-color:var(--scheme-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 24px}.scriptos-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 32px;height:100%}.scriptos-loading .scriptos-loading-spinner{margin-bottom:24px}.scriptos-loading p{color:var(--text-secondary);font-size:16px;margin:0}.scriptos-section{margin-bottom:48px}.scriptos-section:last-child{margin-bottom:0}.scriptos-card.installed{border-color:var(--scheme-primary);background:var(--bg-secondary)}.scriptos-card.has-update{border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b33}.scriptos-update-badge{position:absolute;top:12px;right:12px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #f59e0b4d}.scriptos-card-meta{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:12px;border-top:1px solid var(--border-color)}.scriptos-version-arrow{color:#f59e0b;font-weight:700}.scriptos-card-actions{display:flex;flex-direction:row;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.scriptos-update-btn{padding:8px 16px;width:100px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center;letter-spacing:.5px;text-transform:uppercase}.scriptos-update-btn:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b4d}.scriptos-uninstall-btn{padding:8px 16px;width:100px;background:var(--bg-tertiary);color:var(--text-primary);border:2px solid var(--border-color);border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center;letter-spacing:.5px;text-transform:uppercase}.scriptos-uninstall-btn:hover{background:#ef4444;color:#fff;border-color:#ef4444;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.scriptos-card-badge{position:absolute;top:12px;right:12px}.scriptos-badge-install{display:inline-block;background:linear-gradient(135deg,var(--scheme-primary) 0%,var(--scheme-primary-light) 100%);color:#fff;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #0081844d}.scriptos-config{display:flex;flex-direction:column;height:100%;overflow:hidden}.scriptos-config-header{padding:32px;background:linear-gradient(135deg,var(--scheme-primary) 0%,var(--scheme-primary-light) 100%);color:#fff}.scriptos-config-title{display:flex;align-items:center;gap:12px;margin-bottom:12px}.scriptos-config-title h2{font-size:28px;font-weight:700;margin:0}.scriptos-config-version{font-size:14px;padding:4px 12px;background:#fff3;border-radius:6px;font-weight:600}.scriptos-config-description{font-size:15px;line-height:1.6;margin:0 0 16px;opacity:.95}.scriptos-config-meta{display:flex;align-items:center;gap:20px;font-size:14px;opacity:.9}.scriptos-config-meta span,.scriptos-config-meta a{display:flex;align-items:center;gap:6px;color:#fff;text-decoration:none}.scriptos-config-meta a:hover{text-decoration:underline}.scriptos-config-form{flex:1;overflow-y:auto;padding:32px;background:var(--panel-bg)}.scriptos-config-form h3{font-size:20px;font-weight:600;margin:0 0 24px;color:var(--text-primary)}.scriptos-config-no-args{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 32px;color:var(--text-secondary)}.scriptos-config-no-args svg{margin-bottom:20px;opacity:.3}.scriptos-config-no-args p{font-size:16px;margin:0}.scriptos-config-fields{display:flex;flex-direction:column;gap:24px}.scriptos-config-field{display:flex;flex-direction:column;gap:8px}.scriptos-config-field label{font-size:14px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.scriptos-field-optional{font-size:12px;font-weight:400;color:var(--text-secondary);font-style:italic}.scriptos-input,.scriptos-select{padding:12px 16px;font-size:15px;border:2px solid var(--border-color);border-radius:8px;background:var(--input-bg);color:var(--text-primary);transition:all .2s ease;font-family:var(--font-mono)}.scriptos-input:focus,.scriptos-select:focus{outline:none;border-color:var(--scheme-primary);box-shadow:0 0 0 3px #0081841a}.scriptos-checkbox{display:flex;align-items:center;gap:12px;cursor:pointer}.scriptos-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--scheme-primary)}.scriptos-checkbox-label{font-size:15px;color:var(--text-primary)}.scriptos-config-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 32px;background:var(--panel-bg);border-top:2px solid var(--border-color)}.scriptos-btn{display:flex;align-items:center;padding:12px 24px;font-size:15px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.scriptos-btn-secondary{background:var(--button-bg);color:var(--text-primary);border:2px solid var(--border-color);min-width:120px}.scriptos-btn-secondary:hover{background:var(--button-hover);border-color:var(--scheme-primary);transform:translateY(-1px)}.scriptos-btn-primary{background:linear-gradient(135deg,#10b981,#059669)!important;color:#fff!important;box-shadow:0 4px 15px #10b98166;border:none;font-weight:600;min-width:180px;padding:14px 32px;font-size:16px;flex-grow:1;max-width:300px;justify-content:center}.scriptos-btn-primary:hover{background:linear-gradient(135deg,#059669,#047857)!important;transform:translateY(-2px);box-shadow:0 6px 20px #10b98199}.scriptos-btn-primary:active{transform:translateY(0)}.scriptos-ui-modal-overlay{position:fixed;inset:0;background:#000000d9;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.scriptos-ui-modal-container{position:relative;width:95vw;height:90vh;max-width:1600px;max-height:1000px;background:var(--panel-bg);border-radius:16px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.scriptos-ui-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:linear-gradient(135deg,var(--scheme-primary) 0%,var(--scheme-primary-light) 100%);color:#fff;border-bottom:1px solid var(--border-color);flex-shrink:0}.scriptos-ui-modal-title{margin:0;font-size:20px;font-weight:600;display:flex;align-items:center;gap:12px}.scriptos-ui-modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:none;border-radius:8px;color:#fff;cursor:pointer;transition:all .2s ease;flex-shrink:0}.scriptos-ui-modal-close:hover{background:#fff3;transform:scale(1.05)}.scriptos-ui-modal-close:active{transform:scale(.95)}.scriptos-ui-modal-content{flex:1;position:relative;overflow:hidden;background:var(--bg-primary)}.scriptos-ui-modal-iframe{width:100%;height:100%;border:none;display:block}.scriptos-ui-modal-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:var(--bg-primary);z-index:1}.scriptos-ui-modal-spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top-color:var(--scheme-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.scriptos-ui-modal-loading p{color:var(--text-secondary);font-size:16px;margin:0}.scriptos-ui-modal-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:var(--bg-primary);z-index:2;padding:40px}.scriptos-ui-modal-error svg{color:#ef4444}.scriptos-ui-modal-error p{color:var(--text-primary);font-size:16px;text-align:center;max-width:500px;margin:0}.scriptos-ui-modal-retry{padding:12px 24px;background:var(--scheme-primary);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.scriptos-ui-modal-retry:hover{background:var(--scheme-primary-light);transform:translateY(-2px);box-shadow:0 4px 12px #0081844d}.scriptos-ui-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:var(--bg-secondary);border-top:1px solid var(--border-color);flex-shrink:0}.scriptos-ui-modal-url{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:13px;font-family:Courier New,monospace}.scriptos-ui-modal-url svg{color:var(--scheme-primary);flex-shrink:0}.system-container{display:grid;grid-template-columns:220px 1fr;grid-template-rows:auto 1fr;width:100%;flex:1;overflow:hidden}.system-sidebar{grid-column:1;grid-row:2;overflow-y:auto}.system-content{grid-column:2;grid-row:1 / -1;overflow-y:auto;background:var(--panel-bg);display:flex;flex-direction:column}.system-sidebar{width:220px;background:var(--bg-primary);border-right:1px solid var(--border-color);overflow-y:auto;flex-shrink:0;display:flex;flex-direction:column;isolation:isolate;z-index:10;position:relative}.system-sidebar-content{display:flex;flex-direction:column;min-height:100%}.sidebar-header{grid-column:1;grid-row:1;padding:20px 24px 20px 36px;display:flex;justify-content:space-between;align-items:center;background:var(--bg-primary);flex-shrink:0;z-index:10;position:relative}.sidebar-header .icon-tabler{width:32px;height:32px;color:var(--text-primary)!important}.sidebar-header-logo{cursor:pointer;display:flex;align-items:center;color:var(--scheme-primary-light);animation:glow 2s ease-in-out infinite alternate;transition:color .3s ease}.sidebar-header-logo.connection-none{color:var(--text-secondary);animation:none}.sidebar-header-logo.connection-usb{color:#ff9500;animation:neon-throb-orange 2s ease-in-out infinite}.sidebar-header-logo.connection-webrepl{color:#00ff7f;animation:neon-throb-green 2.5s ease-in-out infinite}@keyframes neon-throb-green{0%,to{filter:drop-shadow(0 0 4px #00FF7F)}50%{filter:drop-shadow(0 0 8px #00FF7F) drop-shadow(0 0 16px #00FF7F)}}@keyframes neon-throb-orange{0%,to{filter:drop-shadow(0 0 4px #FF9500)}50%{filter:drop-shadow(0 0 8px #FF9500) drop-shadow(0 0 16px #FF9500)}}.sidebar-header-actions{display:flex;align-items:center;gap:8px}.sidebar-collapse-icon{cursor:pointer;color:var(--text-secondary);transition:color .2s ease,transform .3s ease}.sidebar-collapse-icon:hover{color:var(--text-primary)}.sidebar-collapse-icon.rotated{transform:rotate(180deg)}.system-sidebar-item{display:flex;align-items:center;gap:12px;padding:12px 24px;cursor:pointer;transition:all .2s;color:var(--text-primary);font-weight:500;border-left:3px solid transparent}.system-sidebar-item:hover{background:var(--bg-tertiary)}.system-sidebar-item.system-sidebar-toggle:hover{background:transparent;cursor:pointer}.system-sidebar-item.active{background:var(--bg-tertiary);color:var(--scheme-primary-light);border-left:3px solid var(--scheme-primary)}.system-sidebar-divider{height:1px;background:var(--border-color);margin:12px 24px;opacity:.5}.sidebar-footer{border-top:1px solid var(--border-color);background:var(--bg-secondary);margin-top:auto;padding:12px 16px 52px}.language-selector{display:flex;align-items:center;gap:.75rem}.language-selector-label{font-size:.8rem;color:var(--text-secondary);font-weight:500;white-space:nowrap}.language-select{flex:1;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.85rem;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:border-color .2s;font-family:inherit}.language-select:hover{border-color:var(--scheme-primary)}.language-select:focus{outline:none;border-color:var(--scheme-primary);box-shadow:0 0 0 2px rgba(var(--scheme-primary-rgb),.2)}.system-sidebar-item .icon-extension{display:inline-block;width:20px;height:20px;vertical-align:middle;opacity:.8;transition:opacity .2s;color:inherit;border:none;outline:none;box-shadow:none}.system-sidebar-item:hover .icon-extension,.system-sidebar-item.active-extension .icon-extension{opacity:1}.system-sidebar-item svg{flex-shrink:0;color:inherit;border:none!important;outline:none!important;box-shadow:none!important}.system-sidebar-item .icon-extension svg,.system-sidebar-item svg.icon-extension{color:inherit;stroke:none;border:none!important;outline:none!important;box-shadow:none!important}.system-sidebar-item .icon-extension svg path,.system-sidebar-item svg.icon-extension path{stroke:currentColor;fill:none}.system-sidebar-item .icon-extension svg path[stroke=none],.system-sidebar-item svg.icon-extension path[stroke=none]{stroke:none!important}.system-sidebar-item.active .icon-extension svg,.system-sidebar-item.active-extension .icon-extension svg,.system-sidebar-item.active svg.icon-extension,.system-sidebar-item.active-extension svg.icon-extension{color:inherit;stroke:currentColor}.system-sidebar-item.active .icon-extension svg path,.system-sidebar-item.active-extension .icon-extension svg path,.system-sidebar-item.active svg.icon-extension path,.system-sidebar-item.active-extension svg.icon-extension path{stroke:currentColor}.system-sidebar-item .icon-tabler,.system-sidebar-item.active .icon-tabler,.system-sidebar-item.active-extension .icon-tabler,.system-sidebar-subitem .icon-tabler,.system-sidebar-subitem.active .icon-tabler{color:inherit;stroke:currentColor}.system-sidebar-extension{border-left:2px solid transparent}.system-sidebar-item.active-extension{background:var(--bg-secondary);border-left:3px solid var(--scheme-primary)}.system-sidebar-item .expand-icon{margin-left:auto;transition:transform .2s ease}.system-sidebar-item .expand-icon.expanded{transform:rotate(180deg)}.system-sidebar-submenu{background:var(--bg-secondary);border-left:2px solid var(--bg-tertiary);animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.system-sidebar-subitem{display:flex;align-items:center;gap:12px;padding:10px 24px 10px 40px;cursor:pointer;color:var(--text-secondary);font-size:14px;transition:all .15s ease}.system-sidebar-devices-section{margin-top:12px;border-top:1px solid var(--border-color);padding-top:8px}.system-sidebar-devices-header{font-size:11px;font-weight:700;color:var(--text-secondary);padding:8px 16px 4px 40px;text-transform:uppercase;letter-spacing:.5px}.system-sidebar-extensions-header{font-size:14px;font-weight:700;color:var(--text-secondary);padding:8px 16px 8px 36px;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;justify-content:space-between}.extensions-add-button{background:transparent;color:var(--text-secondary);width:18px;height:18px;border-radius:3px;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all .15s ease}.extensions-add-button:hover{background:var(--text-secondary);color:var(--bg-primary);border-color:var(--text-secondary)}.system-sidebar-subitem:hover{background:var(--bg-tertiary);color:var(--fg-primary)}.system-sidebar-subitem.active{background:var(--bg-tertiary);color:var(--scheme-primary);border-left:3px solid var(--scheme-primary)}.system-sidebar-subitem svg{flex-shrink:0;opacity:.7}.system-content{flex:1;overflow-y:auto;background:var(--panel-bg);display:flex;flex-direction:column}.system-content:has(.landing-view){background-color:#1e1e20;background-image:url(/app/science.png);background-size:cover;background-position:center;background-repeat:no-repeat}.system-content:has(.firmware-panel){background-color:var(--panel-bg);background-image:none}.panel-header{background:linear-gradient(135deg,var(--scheme-primary) 0%,var(--scheme-primary-light) 100%);color:#fff;padding:34px 32px;display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;box-shadow:0 4px 12px #00000026;position:sticky;top:0;z-index:10}.panel-header h2{margin:0;font-size:24px;font-weight:600}.refresh-button{padding:12px 24px;background:#fffffff2;color:var(--scheme-primary);border:none;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease;letter-spacing:.5px;box-shadow:0 3px 10px #0003;text-transform:uppercase;width:150px}.refresh-button:hover:not(:disabled){background:#fff;color:var(--scheme-primary-light);transform:translateY(-3px) scale(1.05);box-shadow:0 6px 20px #00000040}.refresh-button:disabled{opacity:.4;cursor:not-allowed;transform:none}.refresh-button svg{display:inline-block;vertical-align:middle;color:inherit;stroke:currentColor;fill:none;flex-shrink:0}.panel-loading{text-align:center;padding:48px 24px;color:#666;font-size:16px}.panel-section{background:var(--panel-bg);border:1px solid var(--border-color);border-radius:8px;padding:24px;margin-bottom:20px;box-shadow:0 2px 4px #0000000d}.sdcard-layout{display:flex;gap:20px;flex-wrap:wrap}.sdcard-layout>.panel-section{flex:1;min-width:280px;margin-bottom:0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.panel-section-title{font-size:18px;font-weight:600;margin:0 0 16px;color:var(--text-primary)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--bg-secondary);border-radius:6px}.info-label{font-weight:500;color:var(--text-secondary);font-size:14px}.info-value{font-weight:600;color:var(--text-primary);font-size:14px;padding-left:20px}.info-mono{font-family:Menlo,Monaco,Courier New,monospace;font-size:13px}.info-description{color:#999;font-size:14px;line-height:1.6;margin:20px}.status-badge{padding:6px 16px;border-radius:20px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-active{background:#9fe7b0;color:#155724}.status-inactive{background:#f8d7da;color:#721c24}.status-yes{color:#28a745;font-weight:600}.status-no{color:#dc3545;font-weight:600}.status-disabled{background:#6c757d;color:#fff}.network-interfaces-grid{display:flex;flex-direction:column;gap:12px}.network-interface-option{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.network-interface-info{display:flex;flex-direction:column;gap:4px}.network-interface-label{font-weight:600;font-size:15px;color:var(--text-primary)}.network-interface-status{font-size:12px;font-weight:500}.network-interface-status.enabled{color:#28a745}.network-interface-status.disabled{color:#6c757d}.toggle-switch{position:relative;display:inline-block;width:50px;height:26px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#6c757d;transition:.3s;border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:var(--scheme-primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.gpio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.gpio-item{display:flex;flex-direction:column;align-items:center;padding:12px;background:#f8f9fa;border-radius:6px;text-align:center}.gpio-pin{font-weight:600;font-size:13px;color:#5a6c7d;margin-bottom:4px}.gpio-state{font-weight:700;font-size:14px;padding:4px 12px;border-radius:4px}.state-high{background:#d4edda;color:#155724}.state-low{background:#e2e3e5;color:#383d41}.partitions-table{border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.partition-header{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px;padding:12px 16px;background:var(--scheme-primary);color:#fff;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.partition-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px;padding:12px 16px;border-top:1px solid var(--border-color);font-size:14px;transition:background .2s}.partition-row:hover{background:var(--bg-tertiary)}.config-actions{margin-top:20px;display:flex;gap:12px;justify-content:flex-end}.primary-button{padding:16px;background:linear-gradient(135deg,var(--scheme-primary) 0%,var(--scheme-primary-light) 100%);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #0003;letter-spacing:.5px;text-transform:uppercase}button.primary-button:hover{background:linear-gradient(135deg,var(--scheme-primary-light) 0%,var(--scheme-primary-light) 100%);transform:translateY(-3px) scale(1.02);box-shadow:0 8px 20px #0000004d}.secondary-button{padding:8px 54px;background:linear-gradient(135deg,var(--scheme-primary) 0%,var(--scheme-primary-light) 100%);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease;letter-spacing:.5px;box-shadow:0 4px 12px #0003;text-transform:uppercase}.secondary-button:hover{background:linear-gradient(135deg,var(--scheme-primary-light) 0%,var(--scheme-primary-light) 100%);transform:translateY(-3px) scale(1.02);box-shadow:0 8px 20px #0000004d}.save-button{width:100%;padding:18px;background:linear-gradient(135deg,var(--scheme-primary) 0%,var(--scheme-primary-light) 100%);color:#fff;border:none;border-radius:10px;font-size:17px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:24px;box-shadow:0 4px 12px #0003;letter-spacing:.5px;text-transform:uppercase}.save-button:hover{background:linear-gradient(135deg,var(--scheme-primary-light) 0%,var(--scheme-primary-light) 100%);transform:translateY(-3px);box-shadow:0 8px 20px #0000004d}.placeholder-content{text-align:center;padding:48px 24px}.placeholder-content svg{color:var(--scheme-primary);margin-bottom:24px}.placeholder-content h3{font-size:24px;color:#2c3e50;margin:0 0 16px}.placeholder-content p{font-size:16px;color:#666;line-height:1.6;max-width:500px;margin:0 auto}.feature-list{list-style:none;padding:0;margin:0}.feature-list li{padding:12px 16px;background:var(--bg-tertiary);border-left:3px solid var(--scheme-primary);margin-bottom:8px;border-radius:4px;font-size:14px;color:var(--text-primary)}.feature-list li:before{content:"✓ ";color:var(--scheme-primary);font-weight:700;margin-right:8px}.warning-section{background:#fff3cd;border-left-color:#ffc107}.warning-section .panel-section-title{color:#856404}.warning-section p{color:#856404;margin:0}.internet-status{border-left:4px solid var(--scheme-primary)}#status-bar{position:fixed;bottom:0;left:0;right:0;height:40px;background:#2c3e50;display:flex;align-items:center;justify-content:center;padding:0 20px;gap:16px;z-index:1000;box-shadow:0 -2px 10px #00000026}#status-bar.disconnected{background:#33495f;justify-content:center;color:#e0e0e0;font-size:14px}#status-bar.disconnected a{color:inherit;text-decoration:none;transition:opacity .2s}#status-bar.disconnected a:hover{opacity:.8;text-decoration:underline}.status-bar-center{display:flex;align-items:center;gap:32px;justify-content:center;flex:1;min-width:0;text-align:center}.status-item{display:flex;align-items:center;gap:10px}.status-label{font-weight:500;font-size:12px;text-transform:uppercase;text-align:center;width:40px;letter-spacing:.5px;padding:4px 12px;border-radius:4px}.status-value{font-family:Menlo,Monaco,Courier New,monospace;font-size:12px;font-weight:400;color:#fff}.status-item.ram .status-label{background:#16a085;color:#fff}.status-item.temp .status-label{background:#e67e22;color:#fff}.status-item.uptime .status-label{background:#cd44c0;color:#fff}.status-item.wifi-rssi .status-label{background:#1a73e7;color:#fff}.status-item.wifi-rssi .status-value{color:#fff}.appearance-content{padding:24px;max-width:700px}.appearance-section{margin-bottom:40px}.appearance-section h3{font-size:14px;font-weight:600;margin-bottom:8px;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.appearance-hint{font-size:13px;color:var(--text-secondary);margin-bottom:20px}.theme-mode-selector{display:inline-flex;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:50px;padding:4px;gap:4px;margin-bottom:24px}.theme-mode-option{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:12px;padding:10px 28px;border-radius:50px;cursor:pointer;transition:all .2s;background:transparent;border:none;font-size:14px;font-weight:500;color:var(--text-secondary);min-height:40px;white-space:nowrap;min-width:fit-content}.theme-mode-option:hover:not(.selected){background:var(--button-hover);color:var(--text-primary)}.theme-mode-option.selected{background:var(--scheme-primary);color:#fff;box-shadow:0 2px 4px #0003}.theme-mode-option svg{width:20px;height:20px;flex-shrink:0}.color-scheme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:16px;max-width:600px}.color-scheme-option{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:all .2s;position:relative}.color-scheme-circle{width:64px;height:64px;border-radius:50%;border:3px solid transparent;transition:all .2s;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000026}.color-scheme-option:hover .color-scheme-circle{transform:scale(1.1);box-shadow:0 4px 16px #00000040}.color-scheme-option.selected .color-scheme-circle{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-primary),0 4px 16px #0000004d}.color-scheme-option.selected .color-scheme-circle:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:24px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.3)}.color-scheme-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.color-scheme-option.selected .color-scheme-label{color:var(--text-primary);font-weight:600}.color-scheme-circle{background:conic-gradient(from 0deg at 50% 50%,var(--circle-color-1) 0deg 90deg,var(--circle-color-2) 90deg 180deg,var(--circle-color-3) 180deg 270deg,var(--circle-color-4) 270deg 360deg)}.color-scheme-option[data-scheme=teal]{--circle-color-1: #008184;--circle-color-2: #00a5a8;--circle-color-3: #80c0c2;--circle-color-4: #006668}.color-scheme-option[data-scheme=blue]{--circle-color-1: #1a73e8;--circle-color-2: #4285f4;--circle-color-3: #8ab4f8;--circle-color-4: #1557b0}.color-scheme-option[data-scheme=purple]{--circle-color-1: #8e44ad;--circle-color-2: #9b59b6;--circle-color-3: #c39bd3;--circle-color-4: #6c3483}.color-scheme-option[data-scheme=green]{--circle-color-1: #27ae60;--circle-color-2: #2ecc71;--circle-color-3: #82e0aa;--circle-color-4: #1e8449}.color-scheme-option[data-scheme=red]{--circle-color-1: #e74c3c;--circle-color-2: #ff6b6b;--circle-color-3: #f5b7b1;--circle-color-4: #c0392b}.color-scheme-option[data-scheme=orange]{--circle-color-1: #e67e22;--circle-color-2: #f39c12;--circle-color-3: #f8b878;--circle-color-4: #ca6510}.editor-theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;max-width:600px}.editor-theme-option{display:flex;flex-direction:column;padding:12px;border-radius:8px;border:2px solid var(--border-color);background:var(--bg-secondary);cursor:pointer;transition:all .2s}.editor-theme-option:hover{border-color:var(--primary-color);background:var(--bg-hover)}.editor-theme-option.selected{border-color:var(--primary-color);background:var(--primary-bg)}.editor-theme-preview{height:48px;border-radius:4px;margin-bottom:8px;position:relative;overflow:hidden}.editor-theme-preview[data-theme=auto]{background:linear-gradient(135deg,#fdf6e3 50%,#193549 50%)}.editor-theme-preview[data-theme=cobalt]{background:linear-gradient(135deg,#1f2a44,#193549,#0d1a2a)}.editor-theme-preview[data-theme=cobalt]:before{content:"";position:absolute;top:8px;left:8px;right:8px;height:4px;background:#ff9d00;border-radius:2px}.editor-theme-preview[data-theme=cobalt]:after{content:"";position:absolute;top:18px;left:8px;width:60%;height:4px;background:#3ad900;border-radius:2px}.editor-theme-preview[data-theme=xcode]{background:linear-gradient(135deg,#292a30,#1f1f24,#17171a)}.editor-theme-preview[data-theme=xcode]:before{content:"";position:absolute;top:8px;left:8px;right:8px;height:4px;background:#fc5fa3;border-radius:2px}.editor-theme-preview[data-theme=xcode]:after{content:"";position:absolute;top:18px;left:8px;width:60%;height:4px;background:#67b7a4;border-radius:2px}.editor-theme-preview[data-theme=coolglow]{background:linear-gradient(135deg,#060521,#0a0a2e,#0d0d35)}.editor-theme-preview[data-theme=coolglow]:before{content:"";position:absolute;top:8px;left:8px;right:8px;height:4px;background:#f0f;border-radius:2px}.editor-theme-preview[data-theme=coolglow]:after{content:"";position:absolute;top:18px;left:8px;width:60%;height:4px;background:#0f0;border-radius:2px}.editor-theme-info{text-align:center}.editor-theme-name{font-weight:600;font-size:13px;color:var(--text-primary)}.editor-theme-desc{font-size:11px;color:var(--text-secondary);margin-top:2px}.ai-agent-content{padding:24px;max-width:800px}.ai-agent-section{margin-bottom:32px}.ai-agent-section h3{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text-primary)}.ai-agent-hint{margin:0 0 16px;font-size:13px;color:var(--text-secondary)}.ai-agent-select{width:100%;padding:10px 12px;border:1px solid var(--input-border);border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-size:14px;font-family:var(--font-sans);cursor:pointer;transition:border-color .2s}.ai-agent-select:hover{border-color:var(--scheme-primary)}.ai-agent-select:focus{outline:none;border-color:var(--scheme-primary);box-shadow:0 0 0 3px #0081841a}.ai-agent-input{width:100%;padding:10px 12px;border:1px solid var(--input-border);border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-size:14px;font-family:var(--font-sans);transition:border-color .2s;box-sizing:border-box}.ai-agent-input:hover{border-color:var(--scheme-primary)}.ai-agent-input:focus{outline:none;border-color:var(--scheme-primary);box-shadow:0 0 0 3px #0081841a}.ai-agent-textarea{width:100%;padding:10px 12px;border:1px solid var(--input-border);border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-size:13px;font-family:var(--font-mono);resize:vertical;transition:border-color .2s;box-sizing:border-box}.ai-agent-textarea:hover{border-color:var(--scheme-primary)}.ai-agent-textarea:focus{outline:none;border-color:var(--scheme-primary);box-shadow:0 0 0 3px #0081841a}.ai-agent-input-group{display:flex;gap:8px}.ai-agent-input-group .ai-agent-input{flex:1}.ai-agent-test-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;border:none;border-radius:6px;background:var(--scheme-primary);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap;width:64px;text-transform:uppercase}.ai-agent-test-btn:hover:not(:disabled){background:var(--scheme-primary-dark)}.ai-agent-test-btn:disabled{opacity:.5;cursor:not-allowed}.ai-agent-status{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;border-radius:6px;font-size:13px}.ai-agent-status.success{background:#2ecc711a;color:#27ae60;border:1px solid rgba(46,204,113,.3)}.ai-agent-status.error{background:#e74c3c1a;color:#e74c3c;border:1px solid rgba(231,76,60,.3)}.ai-agent-info{display:flex;gap:12px;padding:16px;background:#1a73e81a;border:1px solid rgba(26,115,232,.3);border-radius:8px;font-size:13px;color:var(--text-primary)}.ai-agent-info svg{flex-shrink:0;color:#1a73e8}.editor-layout{display:flex;width:100%;height:100%;position:relative}.agent-sidebar{width:400px;flex-shrink:0;background:var(--panel-bg);border-left:1px solid var(--border-color);display:flex;flex-direction:column;box-shadow:-4px 0 16px #0000001a;transition:width .3s ease-in-out,opacity .3s ease-in-out}.agent-sidebar:empty{width:0;border:none;box-shadow:none;overflow:hidden}.agent-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.agent-sidebar-title{display:flex;align-items:center;gap:12px}.agent-sidebar-title svg{color:var(--scheme-primary)}.agent-sidebar-title h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.agent-sidebar-actions{display:flex;gap:8px}.agent-sidebar-clear,.agent-sidebar-close{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s}.agent-sidebar-clear:hover,.agent-sidebar-close:hover{background:var(--button-hover);color:var(--text-primary)}.agent-sidebar-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.agent-welcome{display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px 16px;color:var(--text-secondary)}.agent-welcome svg{margin-bottom:16px;color:var(--scheme-primary);opacity:.8}.agent-welcome h4{margin:0 0 8px;font-size:18px;color:var(--text-primary)}.agent-welcome p{margin:0 0 24px;font-size:14px}.agent-examples{text-align:left;width:100%;max-width:320px;padding:16px;background:var(--bg-tertiary);border-radius:8px;margin-bottom:16px}.agent-examples strong{display:block;margin-bottom:8px;color:var(--text-primary);font-size:13px}.agent-examples ul{margin:0;padding-left:20px;font-size:13px;line-height:1.6}.agent-setup-warning{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#ffc1071a;border:1px solid rgba(255,193,7,.3);border-radius:8px;text-align:left;max-width:320px;margin-top:16px}.agent-setup-warning svg{flex-shrink:0;color:#ff9800;margin-top:2px}.agent-setup-warning p{margin:0;font-size:13px;color:var(--text-primary)}.agent-message{display:flex;gap:12px;animation:messageAppear .3s ease-out}@keyframes messageAppear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.agent-message-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--bg-tertiary);border:1px solid var(--border-color)}.agent-message-user .agent-message-avatar{background:var(--scheme-primary);border-color:var(--scheme-primary);color:#fff}.agent-message-assistant .agent-message-avatar{background:var(--bg-tertiary);color:var(--scheme-primary)}.agent-message-error .agent-message-avatar{background:#e74c3c1a;border-color:#e74c3c4d;color:#e74c3c}.agent-message-content{flex:1;display:flex;flex-direction:column;gap:8px}.agent-message-text{padding:12px;border-radius:8px;font-size:14px;line-height:1.5;word-wrap:break-word}.agent-message-user .agent-message-text{background:var(--scheme-primary);color:#fff}.agent-message-assistant .agent-message-text{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.agent-message-error .agent-message-text{background:#e74c3c1a;border:1px solid rgba(231,76,60,.3);color:#e74c3c}.agent-message-time{font-size:11px;color:var(--text-secondary);padding:0 4px}.agent-code-actions{display:flex;gap:8px;margin-top:4px}.agent-code-btn,.agent-copy-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--button-bg);color:var(--text-primary);font-size:13px;white-space:nowrap;font-weight:500;cursor:pointer;transition:all .2s}.agent-code-btn:hover,.agent-copy-btn:hover{background:var(--button-hover);border-color:var(--scheme-primary)}.agent-code-btn{background:var(--scheme-primary);color:#fff;border-color:var(--scheme-primary);min-width:120px}.agent-copy-btn{min-width:140px}.agent-code-btn:hover{background:var(--scheme-primary-dark)}.agent-typing-indicator{display:flex;gap:4px;padding:12px}.agent-typing-indicator span{width:8px;height:8px;border-radius:50%;background:var(--text-secondary);animation:typing 1.4s infinite}.agent-typing-indicator span:nth-child(2){animation-delay:.2s}.agent-typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-8px)}}.agent-sidebar-input{display:flex;gap:8px;padding:16px 16px 55px;border-top:1px solid var(--border-color);background:var(--bg-tertiary)}.agent-input-field{flex:1;padding:10px 12px;border:1px solid var(--input-border);border-radius:8px;background:var(--input-bg);color:var(--text-primary);font-size:14px;font-family:var(--font-sans);resize:none;transition:border-color .2s}.agent-input-field:hover{border-color:var(--scheme-primary)}.agent-input-field:focus{outline:none;border-color:var(--scheme-primary);box-shadow:0 0 0 3px #0081841a}.agent-input-field:disabled{opacity:.6;cursor:not-allowed}.agent-send-btn{width:48px;height:48px;padding:0;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:var(--scheme-primary);color:#fff;cursor:pointer;transition:all .2s;flex-shrink:0}.agent-send-btn:hover:not(:disabled){background:var(--scheme-primary-dark);transform:scale(1.05)}.agent-send-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.agent-sidebar,.skill-sidebar{width:100%}}.skill-sidebar{width:380px;flex-shrink:0;background:var(--panel-bg);border-left:1px solid var(--border-color);display:flex;flex-direction:column;box-shadow:-4px 0 16px #0000001a;transition:width .3s ease-in-out,opacity .3s ease-in-out}.skill-sidebar:empty{width:0;border:none;box-shadow:none;overflow:hidden}.skill-sidebar-titlebar{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.skill-sidebar-titlebar svg{color:var(--scheme-primary);flex-shrink:0}.skill-sidebar-titlebar span{font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--scheme-primary);flex:1}.skill-sidebar-header{padding:12px 16px;border-bottom:1px solid var(--border-color)}.skill-sidebar-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-sidebar-close{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s;flex-shrink:0;margin-left:auto}.skill-sidebar-close:hover{background:var(--button-hover);color:var(--text-primary)}.skill-sidebar-content{flex:1;overflow-y:auto;padding:20px}.skill-meta-block{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.skill-meta-description{font-size:14px;line-height:1.6;color:var(--text-secondary);margin:0 0 10px}.skill-meta-tags{display:flex;flex-wrap:wrap;gap:6px}.skill-meta-tag{display:inline-block;font-size:11px;font-weight:600;padding:3px 10px;border-radius:12px;background:#00818426;color:var(--scheme-primary);letter-spacing:.3px}.skill-sidebar-footer{padding:12px 16px 44px;border-top:1px solid var(--border-color);background:var(--bg-tertiary)}.skill-deploy-btn{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;border:none;border-radius:6px;background:#27ae60;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.skill-deploy-btn:hover{background:#219a52;transform:translateY(-1px);box-shadow:0 2px 8px #27ae604d}.skill-deploy-btn:active{transform:translateY(0)}.skill-deploy-btn svg{flex-shrink:0}.skill-md-content h1{font-size:20px;font-weight:700;color:var(--text-primary);margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.skill-md-content h2{font-size:17px;font-weight:600;color:var(--text-primary);margin:20px 0 12px}.skill-md-content h3{font-size:15px;font-weight:600;color:var(--text-primary);margin:16px 0 8px}.skill-md-content p{font-size:14px;line-height:1.6;color:var(--text-primary);margin:0 0 12px}.skill-md-content ul,.skill-md-content ol{font-size:14px;line-height:1.6;color:var(--text-primary);margin:0 0 12px;padding-left:24px}.skill-md-content li{margin-bottom:4px}.skill-md-content code{font-family:var(--font-mono);font-size:13px;background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;color:var(--scheme-primary)}.skill-md-content pre{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:12px;overflow-x:auto;margin:0 0 12px}.skill-md-content pre code{background:transparent;padding:0;color:var(--text-primary);font-size:13px;line-height:1.5}.skill-md-content blockquote{border-left:3px solid var(--scheme-primary);padding:8px 16px;margin:0 0 12px;background:#0081840d;border-radius:0 6px 6px 0}.skill-md-content blockquote p{margin:0;color:var(--text-secondary)}.skill-md-content table{width:100%;border-collapse:collapse;margin:0 0 12px;font-size:13px}.skill-md-content th,.skill-md-content td{padding:8px 12px;border:1px solid var(--border-color);text-align:left}.skill-md-content th{background:var(--bg-tertiary);font-weight:600}.skill-md-content strong{font-weight:600;color:var(--text-primary)}.skill-md-content em{font-style:italic}.skill-md-content a{color:var(--scheme-primary);text-decoration:none}.skill-md-content a:hover{text-decoration:underline}.skill-md-content hr{border:none;border-top:1px solid var(--border-color);margin:16px 0}.repl-panel-content{display:flex;flex-direction:row;flex:1;width:100%;align-self:stretch;overflow:hidden;min-height:0;position:relative;height:calc(100% - 45px)}.repl-panel-main{flex:1 1 auto;display:flex;flex-direction:column;overflow:hidden;min-height:0;min-width:0;position:relative;height:100%}.log-sidebar{background:var(--panel-bg);border-left:1px solid var(--border-color);display:flex!important;flex-direction:column!important;align-items:stretch!important;box-shadow:-2px 0 8px #0000001a;position:relative}.log-sidebar-resizer{position:absolute;left:0;top:0;bottom:0;width:4px;cursor:ew-resize;z-index:10;background:transparent;transition:background .2s}.log-sidebar-resizer:hover{background:var(--scheme-primary);opacity:.5}.log-sidebar-resizer:active{cursor:ew-resize;background:var(--scheme-primary);opacity:.8}.log-sidebar:empty{width:0;border:none;box-shadow:none;overflow:hidden}.log-sidebar-header{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);flex-shrink:0;font-size:13px;font-weight:500;color:var(--text-primary)}.log-sidebar-header .icon-tabler{color:var(--text-primary)!important;stroke:var(--text-primary)!important;filter:none!important}.log-sidebar-header .icon-tabler use{stroke:var(--text-primary)!important}[data-theme=dark] .log-sidebar-header .icon-tabler{color:var(--text-primary)!important;stroke:var(--text-primary)!important;filter:none!important}[data-theme=dark] .log-sidebar-header .icon-tabler use{stroke:var(--text-primary)!important}.log-sidebar-header img{opacity:.7;filter:invert(1)}.log-sidebar-title{display:flex;align-items:center;gap:10px}.log-sidebar-title svg{color:var(--scheme-primary)}.log-sidebar-title h3{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.log-sidebar-actions{display:flex;gap:6px}.log-sidebar-autoscroll,.log-sidebar-clear,.log-sidebar-close{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s}.log-sidebar-autoscroll:hover,.log-sidebar-clear:hover,.log-sidebar-close:hover{background:var(--button-hover);color:var(--text-primary)}.log-sidebar-terminal{flex:1 1 auto;overflow:hidden;background:var(--panel-bg);position:relative;box-sizing:border-box;width:100%!important;min-width:0!important;max-width:none!important;align-self:stretch!important}.log-sidebar-terminal .xterm{height:100%;width:100%;padding:8px;box-sizing:border-box}.log-sidebar-terminal .xterm-viewport{background:var(--panel-bg)!important}@media (max-width: 768px){.log-sidebar{width:100%}.repl-panel-content{flex-direction:column}.log-sidebar{border-left:none;border-top:1px solid var(--border-color)}}:focus-visible{outline:none}@keyframes hand-click-hint-anim{0%{opacity:0;transform:translate(0)}10%{opacity:.9;transform:translate(0)}17.5%{opacity:.9;transform:translate(-6px)}25%{opacity:.9;transform:translate(0)}32.5%{opacity:.9;transform:translate(-6px)}40%{opacity:.9;transform:translate(0)}47.5%{opacity:.9;transform:translate(-6px)}55%{opacity:.9;transform:translate(0)}62.5%{opacity:.9;transform:translate(-6px)}70%{opacity:.9;transform:translate(0)}77.5%{opacity:.9;transform:translate(-6px)}85%{opacity:.9;transform:translate(0)}to{opacity:0;transform:translate(0)}}#hand-click-hint{position:fixed;top:32px;left:125px;width:36px;height:36px;opacity:0;pointer-events:none;z-index:999;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4))}#hand-click-hint svg{width:100%;height:100%;color:var(--scheme-primary-light);stroke:var(--scheme-primary-light);transform:scaleX(-1) rotate(90deg)}#hand-click-hint.animate{animation:hand-click-hint-anim 7s ease-in-out forwards}body:has(.sidebar-header-logo.connection-usb) #hand-click-hint{display:none!important}@keyframes connect-button-throb{0%{filter:brightness(1)}15%{filter:brightness(1)}20%{filter:brightness(1.3)}27.5%{filter:brightness(1)}32.5%{filter:brightness(1.3)}40%{filter:brightness(1)}47.5%{filter:brightness(1.3)}55%{filter:brightness(1)}62.5%{filter:brightness(1.3)}70%{filter:brightness(1)}77.5%{filter:brightness(1.3)}85%{filter:brightness(1)}to{filter:brightness(1)}}.gpio-table-container{width:100%;overflow-x:auto}.gpio-table{width:100%;border-collapse:collapse;border:1px solid var(--border-color);border-radius:6px;overflow:hidden;background:var(--bg-primary)}.gpio-table-header{padding:10px 12px;text-align:left;background:var(--scheme-primary);color:#fff;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-color)}.gpio-table-header.sortable{cursor:pointer;user-select:none;transition:background .2s}.gpio-table-header.sortable:hover,.gpio-table-header.sorted-asc,.gpio-table-header.sorted-desc{background:var(--scheme-primary-light)}.gpio-table-row{border-bottom:1px solid var(--border-color);transition:background .2s}.gpio-table-row:hover{background:var(--bg-tertiary)}.gpio-table-row.unassigned{opacity:.6}.gpio-table-row.editing{background:#fff9e6}[data-theme=dark] .gpio-table-row.editing{background:#185d3e}.gpio-table-cell{padding:8px 12px;font-size:14px;color:var(--text-primary);vertical-align:middle}.gpio-pin-badge{display:inline-block;padding:3px 10px;border-radius:4px;font-weight:600;font-size:13px;font-family:Menlo,Monaco,Courier New,monospace;height:32px}.gpio-pin-badge.assigned{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.gpio-pin-badge.unassigned{background:#e2e3e5;color:#6c757d;border:1px solid #d6d8db}[data-theme=dark] .gpio-pin-badge.assigned{background:#1e4620;color:#9fe7b0;border:1px solid #2d5f2f}[data-theme=dark] .gpio-pin-badge.unassigned{background:#2d2d2d;color:#9e9e9e;border:1px solid #444}.gpio-pin-badge.fixed{background:#fff3cd;color:#856404;border:1px solid #ffc107;cursor:default}[data-theme=dark] .gpio-pin-badge.fixed{background:#3d3215;color:#ffc107;border:1px solid #665c1e}.gpio-table-row.fixed{background:#ffc1070d}[data-theme=dark] .gpio-table-row.fixed{background:#ffc10714}.gpio-function-name{font-weight:500;color:var(--text-primary)}.gpio-type-badge{display:inline-block;padding:3px 8px;border-radius:3px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.gpio-mode-text{font-family:Menlo,Monaco,Courier New,monospace;font-size:13px;color:var(--text-secondary)}.gpio-pin-select,.gpio-function-select,.gpio-mode-select{width:100%;padding:6px 10px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:13px;cursor:pointer}.gpio-pin-select:focus,.gpio-function-select:focus,.gpio-mode-select:focus{outline:none;border-color:var(--scheme-primary);box-shadow:0 0 0 2px rgba(var(--scheme-primary-rgb),.2)}.gpio-actions{display:flex;gap:8px;align-items:center}.gpio-action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:all .2s}.gpio-action-btn:hover{background:var(--bg-tertiary);transform:translateY(-1px)}.gpio-action-btn.edit:hover{background:#e3f2fd;border-color:#2196f3;color:#2196f3}.gpio-action-btn.delete:hover{background:#ffebee;border-color:#f44336;color:#f44336}.gpio-action-btn.save:hover{background:#e8f5e9;border-color:#4caf50;color:#4caf50}.gpio-action-btn.cancel:hover{background:#fff3e0;border-color:#ff9800;color:#ff9800}[data-theme=dark] .gpio-action-btn.edit:hover{background:#1a3a52;border-color:#64b5f6;color:#64b5f6}[data-theme=dark] .gpio-action-btn.delete:hover{background:#4a1a1a;border-color:#ef5350;color:#ef5350}[data-theme=dark] .gpio-action-btn.save:hover{background:#1b3a1b;border-color:#66bb6a;color:#66bb6a}[data-theme=dark] .gpio-action-btn.cancel:hover{background:#4a3a1a;border-color:#ffa726;color:#ffa726}.gpio-table-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.gpio-table-actions .primary-button{display:inline-flex;align-items:center;gap:8px}.cm-debug-line{background:#0cb3!important;border-left:2px solid var(--scheme-primary)}.CodeMirror-readOnly .CodeMirror-cursor{display:none!important}.mobile-only{display:none}@media (max-width: 768px){#app{min-width:0}.system-sidebar,.sidebar-header{display:none!important}.system-container{grid-template-columns:1fr!important}.system-content{grid-column:1!important}.mobile-only{display:block}#hand-click-hint{display:none!important}}.landing-view{display:flex;align-items:flex-start;justify-content:center;height:100%;flex:1;padding:1rem 2rem 2rem;position:relative}.landing-view:before{content:"";position:fixed;inset:0;background:#1e1e2080;pointer-events:none}.landing-container{max-width:640px;width:100%;text-align:center;position:relative;z-index:1}.demo-header{text-align:center;padding:20px 20px 30px;border-bottom:1px solid rgba(55,65,81,.3);position:relative;margin-bottom:1.5rem;background:transparent}.demo-header:after{content:"";position:absolute;bottom:-1px;left:50%;transform:translate(-50%);width:100px;height:2px;background:linear-gradient(90deg,transparent,var(--scheme-primary),var(--scheme-primary-light),transparent);border-radius:2px}.demo-header h2{font-size:3.5rem;margin-bottom:10px;background:linear-gradient(135deg,var(--scheme-primary) 0%,var(--scheme-primary-light) 50%,var(--scheme-primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:glow 2s ease-in-out infinite alternate;font-family:Orbitron,monospace;font-weight:700;letter-spacing:.05em}@keyframes glow{0%{filter:brightness(1) drop-shadow(0 0 5px rgba(91,141,239,.3))}to{filter:brightness(1.1) drop-shadow(0 0 20px rgba(74,125,224,.6))}}.demo-header p{font-size:1.2rem;color:var(--text-primary);max-width:500px;margin:0 auto;line-height:1.7;opacity:.9}.landing-scenario-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2rem}.landing-scenario-card{background:var(--panel-bg);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;cursor:pointer;transition:all .2s ease;text-align:left}.landing-scenario-card:hover{background:var(--button-hover);border-color:var(--scheme-primary);transform:translateY(-3px);box-shadow:0 8px 24px #00000026}.landing-scenario-icon{margin-bottom:1rem;color:var(--scheme-primary)}.landing-icon-large{width:32px;height:32px;filter:none!important}.landing-scenario-card h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.landing-scenario-card p{font-size:.85rem;color:var(--text-secondary);line-height:1.4}.landing-scenario-card.highlight-pulse{border-color:#4caf7c;box-shadow:0 0 #4caf7c99;animation:card-pulse 2s ease-in-out infinite}@keyframes card-pulse{0%,to{box-shadow:0 0 8px 2px #4caf7c66}50%{box-shadow:0 0 20px 6px #4caf7cb3}}.landing-scenario-card.highlight-pulse:hover{animation:none;box-shadow:0 8px 24px #4caf7c4d}.demo-cta{text-align:center;margin:40px 20px 20px;position:relative}.pulse-circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120px;height:120px;border:2px solid rgba(0,255,127,.3);border-radius:50%;animation:pulse 2s infinite;pointer-events:none}.pulse-delay{animation-delay:1s}@keyframes pulse{0%{transform:translate(-50%,-50%) scale(.8);opacity:1}to{transform:translate(-50%,-50%) scale(2);opacity:0}}.interactive-btn{background:linear-gradient(135deg,#0c6,#00ff7f);color:#0a0a0a;border:none;padding:16px 32px;border-radius:50px;font-size:1.1rem;font-weight:600;cursor:pointer;position:relative;z-index:2;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #00ff7f4d;text-transform:uppercase;letter-spacing:.5px;animation:neon-btn-glow 2s ease-in-out infinite}@keyframes neon-btn-glow{0%,to{box-shadow:0 4px 15px #00ff7f4d}50%{box-shadow:0 4px 20px #00ff7f80,0 0 30px #00ff7f4d}}.interactive-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00ff7f80,0 0 40px #00ff7f66;background:linear-gradient(135deg,#00ff7f,#0c6);animation:none}.interactive-btn:active{transform:translateY(0)}.demo-tagline{color:#94a3b8;margin-top:20px;font-style:italic}@media (max-width: 600px){.landing-scenario-grid{grid-template-columns:1fr}.demo-header h2{font-size:2.5rem}}.firmware-panel{--primary: var(--scheme-primary);--primary-hover: var(--scheme-primary-dark);--primary-glow: rgba(0, 129, 132, .15);--accent: var(--text-secondary);--success: #4CAF7C;--warning: #ff9502;--error: #D66B6B;--bg: var(--bg-primary);--surface: var(--bg-secondary);--surface-hover: var(--button-hover);--surface-elevated: var(--panel-bg);--glass: rgba(128, 128, 128, .05);--glass-border: var(--border-color);--text: var(--text-primary);--text-secondary: var(--text-secondary);--text-muted: var(--text-secondary);display:flex;flex-direction:column;align-items:center;width:100%;min-height:100%;padding:1.5rem;background:transparent;color:var(--text-primary);font-family:var(--font-sans);zoom:1.1;overflow-y:auto;overflow-x:hidden}.fw-view{display:none;animation:fw-fadeIn .2s ease;flex-direction:column;width:100%;max-width:768px}.fw-view.active{display:flex}@keyframes fw-fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fw-welcome{text-align:center;margin-bottom:1.5rem}.fw-welcome h2{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:var(--text)}.fw-welcome p{color:var(--text-secondary);font-size:.9rem}.fw-btn{display:flex;flex-direction:row!important;align-items:center;justify-content:center;width:100%;gap:.5rem;padding:.875rem 1.5rem;border:none;border-radius:.5rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:.5rem}.fw-btn-primary{background:var(--primary);color:#fff}.fw-btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 4px 12px var(--primary-glow)}.fw-btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--glass-border)}.fw-btn-secondary:hover{background:var(--surface-hover)}.fw-btn:disabled{opacity:.5;cursor:not-allowed}.fw-btn-icon,.fw-btn svg.icon{width:1.25rem!important;height:1.25rem!important;min-width:1.25rem!important;min-height:1.25rem!important;display:inline-flex!important;flex-shrink:0;vertical-align:middle}.fw-btn-primary .fw-btn-icon,.fw-btn-primary svg.icon,.fw-btn-primary .icon{stroke:#fff!important;color:#fff!important;filter:none!important}.fw-btn-secondary .fw-btn-icon,.fw-btn-secondary svg.icon,.fw-btn-secondary .icon{stroke:currentColor!important;color:inherit!important;filter:none!important}.fw-btn-back{background:none;border:none;color:var(--text-secondary);font-size:.8rem;cursor:pointer;padding:.5rem;margin-bottom:1rem;display:flex;align-items:flex-start;gap:.35rem}.fw-btn-back:hover{color:var(--text)}.fw-back-icon{width:1rem;height:1rem}.fw-hint-box{background:var(--surface);border-radius:.5rem;padding:.875rem 1rem;display:flex;align-items:center;gap:.625rem;margin-top:1.5rem;font-size:.8rem;color:var(--text-secondary)}.fw-hint-icon{width:1.25rem;height:1.25rem;color:var(--primary)}.fw-hint-warning{align-items:flex-start;text-align:left;margin-top:0}.fw-hint-icon-warning{width:1.5rem;height:1.5rem;color:var(--warning);flex-shrink:0;filter:none!important}.fw-ext-card{text-align:center;max-width:440px;width:100%;margin:0 auto;background:#0a0f1aa6;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:48px 32px;backdrop-filter:blur(16px);animation:fw-fadeIn .6s ease-out}.fw-ext-icon{width:64px;height:64px;margin:0 auto 20px;color:#00c853;animation:fw-ext-float 3s ease-in-out infinite}.fw-ext-icon svg{width:100%;height:100%;filter:drop-shadow(0 0 16px rgba(0,200,83,.4))}@keyframes fw-ext-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.fw-ext-title{font-size:1.8rem;font-weight:700;background:linear-gradient(135deg,#f0f4ff,#00c853);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:4px}.fw-ext-subtitle{font-size:1.05rem;font-weight:500;color:#00c853;margin-bottom:28px}.fw-ext-spinner{margin:0 auto 28px;width:40px;height:40px;position:relative}.fw-ext-spinner-ring{width:100%;height:100%;border:3px solid rgba(255,255,255,.08);border-top-color:#00c853;border-radius:50%;animation:fw-ext-spin 1s linear infinite}@keyframes fw-ext-spin{to{transform:rotate(360deg)}}.fw-ext-note{color:var(--text-secondary);font-size:.92rem;line-height:1.6;margin-bottom:24px}.fw-ext-connect-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 28px;border:none;border-radius:12px;font-family:inherit;font-weight:600;font-size:.95rem;cursor:pointer;background:#00c853;color:#d2d4d7;box-shadow:0 4px 20px #00c85340;transition:all .2s ease}.fw-ext-connect-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px #00c85359}.fw-ext-connect-btn:active{transform:translateY(0)}.fw-ext-connect-btn svg{width:18px;height:18px}.fw-success-icon{width:48px;height:48px;background:var(--success);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.fw-device-info-header{margin-bottom:1.25rem;border-radius:1rem;overflow:hidden;background:var(--surface);border:1px solid var(--glass-border)}.fw-device-chip-header{background:linear-gradient(135deg,#1e293b,#0f172a);padding:1rem 1.25rem;color:#fff}.fw-device-chip-name{font-size:1.5rem;font-weight:700;letter-spacing:.01em;margin-bottom:.5rem}.fw-device-chip-subline{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;font-size:.9rem;font-weight:500;color:#ffffffd9}.fw-device-subline-item{display:inline-flex;align-items:center;gap:.4rem}.fw-subline-icon{width:1rem;height:1rem;color:#fffc;flex-shrink:0}.fw-device-summary-card{background:linear-gradient(135deg,#0a8bc5,#098fcb,#0475b3);padding:1.25rem;display:flex;flex-wrap:wrap;gap:1rem;color:#fff}.fw-summary-section{flex:1 1 200px;display:flex;flex-direction:column;gap:.5rem}.fw-summary-label{display:inline-flex;align-items:center;gap:.5rem;text-transform:uppercase;font-size:1rem;letter-spacing:.1em;font-weight:600;opacity:.95}.fw-summary-icon{width:1.5rem;height:1.5rem;color:#fff;flex-shrink:0}.fw-summary-value{font-size:1.3rem;font-weight:700}.fw-summary-meta{font-size:.85rem;opacity:.9}.fw-summary-facts{display:flex;flex-direction:column;gap:.35rem;margin-top:.25rem}.fw-summary-fact{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:#ffffffd9}.fw-fact-icon{width:.875rem;height:.875rem;color:#fffc;flex-shrink:0}.fw-summary-divider{width:1px;align-self:stretch;background:#ffffff40;margin:0 .5rem}.fw-summary-chips{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;margin-top:.25rem}.fw-feature-chip{display:inline-flex;flex-direction:row;align-items:center;gap:.5rem;background:#ffffff26;padding:.4rem .75rem;border-radius:1rem;font-size:.85rem;font-weight:500;backdrop-filter:blur(4px)}.fw-feature-chip svg{display:inline-block;width:14px;height:14px;color:#fff;flex-shrink:0;vertical-align:middle;order:-1}.fw-feature-chip span{display:inline-block;white-space:nowrap;vertical-align:middle}@media (max-width: 500px){.fw-device-summary-card{flex-direction:column}.fw-summary-divider{width:100%;height:1px;margin:.5rem 0}}.fw-device-info-compact{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--surface-elevated);border-radius:.5rem;margin-bottom:1.25rem;font-size:.85rem}.fw-device-icon{width:1.25rem;height:1.25rem;color:var(--primary)}.fw-device-name{font-weight:500;font-size:1.2rem}.fw-status-badge{margin-left:auto;font-size:.7rem;padding:.2rem .5rem;border-radius:1rem;font-weight:500}.fw-status-warning{background:var(--warning);color:#fff;text-transform:uppercase}.fw-status-success{background:var(--success);color:#fff}.fw-scenario-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem}.fw-scenario-card{background:var(--bg-primary);border:1px solid var(--glass-border);border-radius:.75rem;padding:1.25rem;cursor:pointer;transition:all .2s ease;text-align:left}.fw-scenario-card:hover{background:var(--surface-hover);transform:translateY(-2px)}.fw-scenario-icon{font-size:1.5rem;margin-bottom:.75rem;color:var(--primary)}.fw-scenario-icon svg,.fw-icon-large{width:1.75rem;height:1.75rem;display:block}.fw-scenario-card h3{font-size:.9rem;font-weight:600;margin:0 0 .35rem}.fw-scenario-card p{font-size:.75rem;color:var(--text-muted);line-height:1.4;margin:0}.fw-device-card{background:var(--surface);border:1px solid var(--glass-border);border-radius:.75rem;padding:1.25rem;margin-bottom:1rem}.fw-device-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.fw-device-card-header h3{font-size:.9rem;font-weight:500;display:flex;align-items:center;gap:.5rem;margin:0}.fw-header-icon{width:1.25rem;height:1.25rem;color:var(--primary)}.fw-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.875rem}.fw-info-item label{display:block;font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.2rem}.fw-info-item span{font-size:.85rem;color:var(--text)}.fw-credentials-grid{display:flex;flex-direction:column;gap:.75rem}.fw-cred-item{background:var(--surface-elevated);border-radius:.5rem;padding:1rem}.fw-cred-item label{display:block;font-size:.7rem;color:var(--text-muted);text-transform:uppercase;margin-bottom:.35rem}.fw-cred-value{font-family:SF Mono,Monaco,monospace;font-size:1rem;color:var(--primary);word-break:break-all}.fw-network-list{max-height:300px;overflow-y:auto}.fw-network-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--surface-elevated);border:1px solid transparent;border-radius:.5rem;margin-bottom:.5rem;cursor:pointer;transition:all .15s}.fw-network-item:hover{border-color:var(--primary)}.fw-network-item.selected{background:var(--primary);color:#fff}.fw-network-name{font-weight:500;flex:1}.fw-network-signal{font-family:monospace;color:var(--text-muted);font-size:.85rem;margin-right:.5rem}.fw-network-item.selected .fw-network-signal{color:#fffc}.fw-network-lock{width:1rem;height:1rem}.fw-wifi-form{display:flex;gap:.5rem;margin-top:1rem}.fw-input{flex:1;padding:.75rem;border-radius:.5rem;border:1px solid var(--glass-border);background:var(--surface);color:var(--text);font-size:.9rem}.fw-input:focus{outline:none;border-color:var(--primary)}.fw-loading,.fw-empty-state{padding:2rem;text-align:center;color:var(--text-secondary)}.fw-terminal{border:1px solid var(--glass-border);border-radius:.5rem;overflow:visible;margin-top:1rem;width:100%;max-width:768px}.fw-terminal.collapsed .fw-terminal-content{max-height:0;padding:0 .75rem}.fw-terminal-header{background:var(--surface);padding:.5rem .75rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;border-top-left-radius:.75rem;border-top-right-radius:.75rem}.fw-terminal-header span{font-size:.75rem;color:var(--text-muted);display:flex;align-items:center;gap:.5rem}.fw-terminal-header svg{width:1rem;height:1rem}.fw-terminal-icon{width:.875rem;height:.875rem;color:var(--text-muted)}.fw-terminal-toggle{width:.875rem;height:.875rem;color:var(--text-muted);transition:transform .2s}.fw-terminal.collapsed .fw-terminal-toggle{transform:rotate(-90deg)}.fw-terminal-content{background:#0a0d10;padding:.75rem;max-height:400px;overflow-y:auto;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.8rem;color:#37ea26;transition:max-height .2s ease}.fw-terminal-content,.fw-terminal-content *{-webkit-user-select:text!important;user-select:text!important;cursor:text}.fw-log-line{padding:.125rem 0;font-family:inherit!important}.fw-log-line.success{color:#7ee787}.fw-log-line.error{color:#f85149}.fw-log-line.info{color:#7ee787}.fw-action-section{padding:1rem;text-align:center;color:var(--text-secondary)}.fw-provision-info{padding:1rem 0;color:var(--text-secondary);font-size:.9rem}.fw-provision-info p{margin:0 0 .5rem}.fw-progress-bar{width:100%;height:8px;background:var(--glass-border);border-radius:4px;overflow:hidden}.fw-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--success));border-radius:4px;transition:width .3s ease}.fw-firmware-info{background:var(--surface-elevated);border-radius:.5rem;padding:.5rem}.fw-form-group{margin-bottom:.5rem}.fw-select{width:100%;padding:.75rem 2.5rem .75rem .75rem;border-radius:.5rem;border:1px solid var(--glass-border);background:var(--surface-elevated);color:var(--text);font-size:.9rem;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%238B949E' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em}.fw-select:focus{outline:none;border-color:var(--primary)}.fw-select option{background:var(--surface);color:var(--text);padding:.5rem}.fw-modal-overlay{position:fixed;inset:0;background:#000000b3;display:none;align-items:center;justify-content:center;z-index:9999;padding:1rem}.fw-modal-overlay.active{display:flex}.fw-modal{background:var(--panel-bg);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;max-width:400px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.fw-modal h3{font-size:1.1rem;margin:0 0 1rem;display:flex;align-items:center;color:var(--text-primary)}.fw-network-modal-list{overflow-y:auto;max-height:50vh;margin-bottom:1rem}.fw-modal-network-item{width:100%;display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:.875rem 1rem;margin-bottom:.5rem;background:#374151;color:#fff;border:2px solid transparent;border-radius:.5rem;cursor:pointer;transition:all .2s;text-align:left;font-size:.95rem}.fw-modal-network-item:hover{border-color:var(--scheme-primary);background:#4b5563}.fw-modal-network-item .fw-network-name{font-weight:500;flex:1;text-align:left}.fw-modal-network-item .fw-network-info{display:flex;flex-direction:row;align-items:center;gap:.5rem;font-family:monospace;opacity:.8;flex-shrink:0}.fw-modal-network-item .fw-network-rssi{color:#ffffffb3;font-size:.85rem}.fw-modal-cancel{width:100%;padding:.875rem;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:.5rem;cursor:pointer;font-size:.9rem;transition:background .2s}.fw-modal-cancel:hover{background:var(--button-hover)}.fw-styled-modal{background:var(--panel-bg);border-radius:1rem;max-width:420px;width:100%;overflow:hidden;box-shadow:0 20px 60px #0006}.fw-styled-modal-header{background:linear-gradient(135deg,#3b82f6,#2563eb,#1d4ed8);padding:2rem 1.5rem;text-align:center}.fw-styled-modal-icon{width:64px;height:64px;background:#f59e0b;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.fw-styled-modal-header h2{color:#fff;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.fw-styled-modal-header p{color:#ffffffd9;font-size:.95rem;margin:0}.fw-styled-modal-header--danger{background:linear-gradient(135deg,#ef4444,#dc2626,#b91c1c)}.fw-styled-modal-header--danger .fw-styled-modal-icon{background:#991b1b}.fw-styled-modal-icon .icon-tabler{width:32px;height:32px;stroke:#fff;display:block}.fw-styled-modal-content{padding:1.5rem}.fw-styled-modal-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:1rem 1.25rem;margin-bottom:1rem;font-size:.9rem;color:var(--text-secondary);line-height:1.5}.fw-styled-modal-card strong{color:var(--text-primary)}.fw-styled-modal-btn-primary{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;background:var(--scheme-primary);color:#fff;border:none;border-radius:.5rem;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:.5rem}.fw-styled-modal-btn-primary:hover{background:var(--scheme-primary-dark);box-shadow:0 4px 12px #0081844d}.fw-styled-modal-btn-cancel{width:auto;display:block;margin:0 auto;padding:.75rem 2rem;background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:2rem;font-size:.9rem;cursor:pointer;transition:all .2s}.fw-styled-modal-btn-cancel:hover{background:var(--button-hover);color:var(--text-primary)}
