.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none;}.xterm.focus,.xterm:focus{outline:none;}.xterm .xterm-helpers{position:absolute;top:0;z-index:5;}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none;}.xterm .composition-view{background:#000;color:#FFF;display:none;position:absolute;white-space:nowrap;z-index:1;}.xterm .composition-view.active{display:block;}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0;}.xterm .xterm-screen{position:relative;}.xterm .xterm-screen canvas{position:absolute;left:0;top:0;}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal;}.xterm.enable-mouse-events{cursor:default;}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer;}.xterm.column-select.focus{cursor:crosshair;}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none;}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent;}.xterm .xterm-accessibility-tree{font-family:monospace;user-select:text;white-space:pre;}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content;}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}.xterm-dim{opacity:1!important;}.xterm-underline-1{text-decoration:underline;}.xterm-underline-2{text-decoration:double underline;}.xterm-underline-3{text-decoration:wavy underline;}.xterm-underline-4{text-decoration:dotted underline;}.xterm-underline-5{text-decoration:dashed underline;}.xterm-overline{text-decoration:overline;}.xterm-overline.xterm-underline-1{text-decoration:overline underline;}.xterm-overline.xterm-underline-2{text-decoration:overline double underline;}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline;}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline;}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline;}.xterm-strikethrough{text-decoration:line-through;}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute;}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7;}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none;}.xterm-decoration-top{z-index:2;position:relative;}.xterm .xterm-scrollable-element>.scrollbar{cursor:default;}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important;}.xterm .xterm-scrollable-element>.visible{opacity:1;background:rgba(0,0,0,0);transition:opacity 100ms linear;z-index:11;}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none;}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity 800ms linear;}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none;}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px;}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;}.toast-title{font-weight:bold;}.toast-message{-ms-word-wrap:break-word;word-wrap:break-word;}.toast-message a,.toast-message label{color:#FFFFFF;}.toast-message a:hover{color:#CCCCCC;text-decoration:none;}.toast-close-button{position:relative;right:-0.3em;top:-0.3em;float:right;font-size:20px;font-weight:bold;color:#FFFFFF;-webkit-text-shadow:0 1px 0 #ffffff;text-shadow:0 1px 0 #ffffff;opacity:0.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80);line-height:1;}.toast-close-button:hover,.toast-close-button:focus{color:#000000;text-decoration:none;cursor:pointer;opacity:0.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40);}.rtl .toast-close-button{left:-0.3em;float:left;right:0.3em;}button.toast-close-button{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;}.toast-top-center{top:0;right:0;width:100%;}.toast-bottom-center{bottom:0;right:0;width:100%;}.toast-top-full-width{top:0;right:0;width:100%;}.toast-bottom-full-width{bottom:0;right:0;width:100%;}.toast-top-left{top:12px;left:12px;}.toast-top-right{top:12px;right:12px;}.toast-bottom-right{right:12px;bottom:12px;}.toast-bottom-left{bottom:12px;left:12px;}#toast-container{position:fixed;z-index:999999;pointer-events:none;}#toast-container *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;}#toast-container>div{position:relative;pointer-events:auto;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;-moz-border-radius:3px 3px 3px 3px;-webkit-border-radius:3px 3px 3px 3px;border-radius:3px 3px 3px 3px;background-position:15px center;background-repeat:no-repeat;-moz-box-shadow:0 0 12px #999999;-webkit-box-shadow:0 0 12px #999999;box-shadow:0 0 12px #999999;color:#FFFFFF;opacity:0.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80);}#toast-container>div.rtl{direction:rtl;padding:15px 50px 15px 15px;background-position:right 15px center;}#toast-container>div:hover{-moz-box-shadow:0 0 12px #000000;-webkit-box-shadow:0 0 12px #000000;box-shadow:0 0 12px #000000;opacity:1;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);filter:alpha(opacity=100);cursor:pointer;}#toast-container>.toast-info{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=")!important;}#toast-container>.toast-error{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=")!important;}#toast-container>.toast-success{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==")!important;}#toast-container>.toast-warning{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=")!important;}#toast-container.toast-top-center>div,#toast-container.toast-bottom-center>div{width:300px;margin-left:auto;margin-right:auto;}#toast-container.toast-top-full-width>div,#toast-container.toast-bottom-full-width>div{width:96%;margin-left:auto;margin-right:auto;}.toast{background-color:#030303;}.toast-success{background-color:#51A351;}.toast-error{background-color:#BD362F;}.toast-info{background-color:#2F96B4;}.toast-warning{background-color:#F89406;}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000000;opacity:0.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40);}@media all and (max-width: 240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em;}#toast-container>div.rtl{padding:8px 50px 8px 8px;}#toast-container .toast-close-button{right:-0.2em;top:-0.2em;}#toast-container .rtl .toast-close-button{left:-0.2em;right:0.2em;}}@media all and (min-width: 241px) and (max-width: 480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em;}#toast-container>div.rtl{padding:8px 50px 8px 8px;}#toast-container .toast-close-button{right:-0.2em;top:-0.2em;}#toast-container .rtl .toast-close-button{left:-0.2em;right:0.2em;}}@media all and (min-width: 481px) and (max-width: 768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em;}#toast-container>div.rtl{padding:15px 50px 15px 15px;}}:root{color-scheme:light;--fg-color:#1d2b3a;--fg-color-muted:#5b7186;--fg-color-highlight:#ff8a00;--accent-color:#009dff;--accent-color-dark:#0080d6;--accent-color-light:#5cc3ff;--accent-color-soft:#e3f4ff;--bg-color:#eaf6ff;--bg-color-menu:#f6fbffee;--bg-color-edit:#ffffff;--border-color:#cde9ff;--radius:10px;--shadow-soft:0 2px 6px rgba(0,110,190,0.15);--font-size:14px;--font-ui:ui-rounded,"SF Pro Rounded","Nunito","Varela Round","Segoe UI",system-ui,sans-serif;--connected-passive:#22c55e;--connected-active:#ffb400;--connected-color:var(--connected-passive);--animation:0.3s ease-in-out;--c-red:#ff5a5f;--c-orange:#ff8a00;--c-yellow:#ffbe0b;--c-green:#22c55e;--c-teal:#00b8a9;--c-blue:#009dff;--c-indigo:#5c6cff;--c-purple:#9b5de5;--c-pink:#f15bb5;}html,body{margin:0;padding:0;height:100%;width:100%;overscroll-behavior:none;box-sizing:border-box;background:var(--bg-color);color:var(--fg-color);font-family:var(--font-ui);font-weight:normal;font-size:var(--font-size);transition:font-size var(--animation),background-color var(--animation),color var(--animation),opacity var(--animation);}body#app{touch-action:none;}*,*:before,*:after{box-sizing:inherit;}*{margin:0;}p,hr{margin:revert;}@media (prefers-reduced-motion: reduce){:root{--animation:1ms linear;}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important;}}@supports not selector(::-webkit-scrollbar){html{scrollbar-width:thin;scrollbar-color:#8fd0ff transparent;}}::-webkit-scrollbar{height:.6rem;width:.6rem;}::-webkit-scrollbar-track{background-color:transparent;}::-webkit-scrollbar-thumb{background-color:#a8dbff;border-radius:999px;border:2px solid transparent;background-clip:padding-box;}::-webkit-scrollbar-thumb:hover{background-color:var(--accent-color-light);}::-webkit-scrollbar-corner{background-color:transparent;}:focus-visible{outline:2px solid var(--accent-color);outline-offset:1px;}a{color:unset;text-decoration:none;}a.link{color:var(--accent-color-dark);font-weight:600;text-decoration:underline dotted 1px;text-underline-offset:0.2rem;-webkit-text-decoration:underline dotted 1px;}.link-dead{cursor:default;}label{user-select:none;cursor:pointer;}input[type="checkbox" i]{width:1em;height:1em;margin:0 3px 0 0;vertical-align:-0.1em;cursor:pointer;accent-color:var(--accent-color);}button{padding:5px 5px;background:none;border:none;color:unset;cursor:pointer;font-size:1.3rem;transition:transform 0.15s ease,background-color var(--animation),color var(--animation);}button:not(:disabled):hover{transform:translateY(-1px) scale(1.06);}button:not(:disabled):active{transform:translateY(1px) scale(0.96);}button.connected{color:var(--connected-color);}button:not(.connected,.reconnecting)>.fa-link{color:var(--c-purple);}button:not(.connected,.reconnecting)>.fa-bluetooth-b{color:var(--c-blue);}button:not(.connected,.reconnecting)>.fa-usb{color:var(--c-orange);}button.reconnecting{color:var(--connected-color);animation:reconnecting-pulse 1.2s ease-in-out infinite;}@keyframes reconnecting-pulse{50%{opacity:0.25;}}@media (prefers-reduced-motion: reduce){button.reconnecting{animation:none;opacity:0.6;}}button:disabled{opacity:0.4;cursor:default;}#menu-files,#menu-pkg,#menu-tools{position:relative;isolation:isolate;opacity:1;transition:opacity var(--animation);}#menu-files::before,#menu-pkg::before,#menu-tools::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:0;transition:opacity var(--animation);background-image:repeating-linear-gradient(135deg,rgba(0,157,255,0.10) 0,rgba(0,157,255,0.10) 8px,transparent 8px,transparent 16px);background-size:100% 100%;background-repeat:no-repeat;mix-blend-mode:multiply;}#menu-files>*,#menu-pkg>*,#menu-tools>*{position:relative;z-index:1;}:is(#menu-files,#menu-pkg,#menu-tools):is([inert],.inert){opacity:0.4;}:is(#menu-files,#menu-pkg,#menu-tools):is([inert],.inert)::before{opacity:1;}select{border:2px solid var(--border-color);border-radius:999px;padding:2px 8px;cursor:pointer;}select:hover{border-color:var(--accent-color-light);}input,select,option{font:unset;color:unset;background-color:unset;}select{background-color:var(--bg-color-edit);}option{background-color:var(--bg-color-edit);}.windows{font-family:ui-rounded,"Nunito","Varela Round",Segoe WPC,Segoe UI,sans-serif;}.macos{font-family:ui-rounded,"SF Pro Rounded",-apple-system,BlinkMacSystemFont,sans-serif;}.linux{font-family:"Nunito","Varela Round",system-ui,Ubuntu,Droid Sans,sans-serif;}.fa-power-off{color:var(--c-orange);}.fa-bug{color:var(--c-red);}.fa-download{color:var(--c-green);}.fa-circle-play{color:var(--c-blue);}.fa-circle-stop{color:var(--c-red);}.fa-circle-info{color:var(--c-blue);}.fa-file{color:var(--c-indigo);}.fa-python{color:#3776ab;}.fa-file-circle-exclamation{color:var(--c-red);}.fa-folder,.fa-folder-open{color:var(--c-yellow);}.fa-certificate{color:var(--c-red);}.fa-cube{color:var(--c-purple);}.fa-cubes{color:var(--c-purple);}.fa-gauge-high{color:var(--c-green);}.fa-tools,.fa-screwdriver-wrench{color:var(--c-teal);}.fa-arrows-rotate{color:var(--c-teal);}.fa-sliders{color:var(--c-pink);}.fa-trash-can{color:var(--c-red);}.fa-star{color:var(--c-yellow);}.fa-terminal{color:var(--c-teal);}.fa-plug{color:var(--c-green);}.fa-plus{color:var(--c-green);}.fa-gear{color:var(--fg-color-muted);}.fa-expand{color:var(--c-indigo);}.fa-bars{color:var(--accent-color);}.fa-bolt{color:var(--c-yellow);}.fa-microchip{color:var(--c-teal);}.fa-message{color:var(--c-pink);}.fa-circle-down{color:var(--c-green);}.fa-arrow-up-right-from-square{color:var(--accent-color);}.highlight{background:var(--bg-color-edit);border:1px solid var(--border-color);border-radius:6px;padding:3px 5px 3px 5px;line-height:1.35;white-space:nowrap;}.hidden{display:none;}.space-between{display:flex;justify-content:space-between;align-items:center;}.monospace{font-family:ui-monospace,"Droid Sans Mono","Cascadia Mono",Consolas,Menlo,monospace;font-weight:normal;white-space:pre;font-size:0.9rem;line-height:1.35;}.title-lines{display:flex;align-items:center;gap:8px;overflow:hidden;text-align:center;color:var(--accent-color-dark);font-weight:700;font-size:0.85em;letter-spacing:0.04em;text-transform:uppercase;}.title-lines:before,.title-lines:after{content:'';flex:1 1 auto;height:2px;border-radius:2px;background-color:var(--border-color);}.tabs{display:flex;align-items:flex-end;justify-content:space-between;user-select:none;font-size:1.1rem;}.tab{display:inline-flex;align-items:center;gap:0.35em;padding:5px 10px;border-radius:var(--radius) var(--radius) 0 0;cursor:pointer;transition:background-color var(--animation);}.tab:not(.active):hover{background:var(--accent-color-soft);}.tab.active{background:var(--bg-color-edit);box-shadow:inset 0 3px 0 var(--accent-color);font-weight:600;}.tab-content{display:none;flex:1;padding:5px 0px 5px 5px;}.tab-content.active{display:block;}body.page{height:auto;min-height:100%;padding:20px;line-height:1.8;}body.page h1{font-size:1.6em;color:var(--accent-color);}body.page h1::before{content:"";display:inline-block;width:1.4em;height:1.4em;margin-right:0.35em;vertical-align:-0.35em;background:url("assets/favicon.png") center / contain no-repeat;}body.page ol>li::marker{color:var(--accent-color);font-weight:800;}body.page button[id^="btn-conn-"]{background:var(--bg-color-edit);border-radius:var(--radius);box-shadow:var(--shadow-soft);margin:0 2px;}body.page button[id^="btn-conn-"].connected{background:var(--connected-color);color:#fff;}.button-row,.check-row{display:inline-flex;flex-wrap:wrap;align-items:center;vertical-align:middle;}.button-row{gap:0 4px;}.check-row{gap:0 1em;}.steps{max-width:640px;}.step-header{display:flex;align-items:baseline;gap:8px;cursor:default;user-select:none;padding:2px 0;}.step.collapsed .step-header{cursor:pointer;}.step-title{font-weight:600;}.step-recap{display:none;opacity:0.75;font-size:0.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.step.collapsed .step-recap{display:inline;}.step-recap img,.step-recap svg{height:1.1em;width:auto;margin-right:6px;vertical-align:-0.2em;}.step-recap svg{color:var(--accent-color);}.button-row.hidden{display:none;}.step.warning .step-recap{color:#f0ad4e;opacity:1;}.step-body-wrap{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--animation);}.step.collapsed .step-body-wrap{grid-template-rows:0fr;}.step-body{overflow:hidden;min-height:0;padding:4px 8px 6px 4px;margin:-4px -8px -6px -4px;}.family-row{display:grid;grid-template-columns:repeat(4,140px);gap:8px;margin-top:8px;}@media (max-width: 650px){.family-row{grid-template-columns:repeat(2,140px);}}.card-btn{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:6px;padding:14px 16px;border-radius:14px;background:var(--bg-color-edit);border:2px solid var(--border-color);box-shadow:var(--shadow-soft);font-size:1rem;transition:transform 0.15s ease,border-color var(--animation),box-shadow var(--animation);}.card-btn:not(:disabled):hover{border-color:var(--accent-color-light);box-shadow:0 4px 12px rgba(0,140,230,0.25);}.card-btn>*{position:relative;z-index:1;}.card-btn i{font-size:1.8rem;}.btn-logo{height:1.8rem;width:auto;}.family-btn{flex-direction:column;width:140px;}.family-btn.selected{border-color:var(--accent-color);box-shadow:inset 0 0 0 2px var(--accent-color),var(--shadow-soft);background:var(--accent-color-soft);}.action-btn{width:400px;}.small-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:var(--radius);background:var(--bg-color-edit);border:2px solid var(--border-color);font-size:0.85rem;}.small-btn i{color:#e0a040;}.board-row{display:flex;align-items:flex-start;gap:12px;margin:8px 0;}.board-row .form-grid{flex:1 1 auto;margin:0;}.board-img{flex:none;width:96px;height:96px;box-sizing:border-box;background:#fff;border:2px solid var(--border-color);border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;}.board-img img{max-width:100%;max-height:100%;object-fit:contain;}.board-img img.placeholder{opacity:0.2;}.form-grid{display:grid;grid-template-columns:max-content minmax(0, 1fr);gap:6px 10px;align-items:center;margin:8px 0;max-width:480px;}.hint{font-size:0.85rem;opacity:0.8;margin-top:6px;}#file-local{max-width:55vw;}#btn-flash.flashing:disabled{opacity:1;cursor:progress;}#btn-flash.flashing::before{content:'';position:absolute;inset:0;width:var(--progress,0%);background:var(--accent-color);opacity:0.45;transition:width 0.2s ease-out;}#btn-flash.flashing.indeterminate::before{width:100%;background:repeating-linear-gradient(135deg,var(--accent-color) 0,var(--accent-color) 10px,transparent 10px,transparent 20px);background-size:28px 100%;animation:progress-stripes 1s linear infinite;}@keyframes progress-stripes{to{background-position:28px 0;}}@media (prefers-reduced-motion: reduce){#btn-flash.flashing.indeterminate::before{animation:none;}}.top-actions{position:fixed;top:14px;right:14px;z-index:20;display:flex;gap:8px;}.top-action{display:flex;align-items:center;padding:5px;background:var(--bg-color-edit);border-radius:var(--radius);box-shadow:var(--shadow-soft);line-height:1;font-size:1.3rem;}.log-drawer{position:fixed;top:0;right:0;bottom:0;width:min(480px, 92vw);display:flex;flex-direction:column;background:var(--bg-color-edit);box-shadow:-4px 0 16px rgba(0,80,140,0.2);transform:translateX(100%);transition:transform var(--animation);z-index:30;}.log-drawer.open{transform:translateX(0);}.log-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:4px 4px 4px 12px;font-weight:600;border-bottom:2px solid var(--border-color);color:var(--accent-color);flex:0 0 auto;}.log-term{flex:1 1 auto;min-height:0;padding:4px;}