:root{--topbar-height:60px;--topbar-control:36px;--topbar-icon:16px;--topbar-logo:29px;--topbar-padding:18px;--topbar-gap:8px;--topbar-radius:12px;--topbar-font:12px;--topbar-ease:cubic-bezier(.22,1,.36,1);--topbar-surface:color-mix(in srgb,var(--surface) 90%,transparent);--topbar-selected:color-mix(in srgb,var(--text) 7%,var(--surface))}.global-topbar-frame.app-shell{position:sticky;top:0;z-index:45;display:block;flex:none;height:var(--topbar-height);min-height:var(--topbar-height);width:100%;background:var(--topbar-surface);color:var(--text);isolation:isolate}.global-topbar-frame.app-shell:before{display:none}.global-topbar-frame.app-shell .global-topbar.topbar.ide-header{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--topbar-gap);height:var(--topbar-height);min-height:var(--topbar-height);padding:0 var(--topbar-padding);border:0;border-bottom:1px solid var(--border-soft);border-radius:0;background:var(--topbar-surface);box-shadow:inset 0 1px 0 var(--dropdown-highlight);position:relative;font:500 var(--topbar-font)/1.3 var(--font-ui)}.global-topbar .global-brand{display:flex;align-items:center;gap:8px;flex:none;text-decoration:none;color:var(--text);margin-right:8px;white-space:nowrap}.global-topbar .global-brand img{display:block;flex:none;width:var(--topbar-logo);height:var(--topbar-logo);object-fit:contain}.global-topbar .global-brand>span{font:750 19px/1.2 var(--font-ui);letter-spacing:-.7px}.global-navigation,.global-navigation-links{display:flex;align-items:center;gap:3px;min-width:0}.global-navigation{flex:none}.global-navigation-links>a,.global-topbar .global-control{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--topbar-control);min-height:var(--topbar-control);padding:0 10px;flex:none;border:1px solid transparent;border-radius:var(--topbar-radius);background:transparent;color:var(--muted);text-decoration:none;font:500 var(--topbar-font)/1.3 var(--font-ui);white-space:nowrap;cursor:pointer;transition:background-color .18s var(--topbar-ease),color .18s var(--topbar-ease)}.global-navigation-links>a[aria-current=page],.global-topbar .global-workspace-trigger{background:var(--topbar-selected);color:var(--text);box-shadow:inset 0 1px 0 var(--dropdown-highlight)}.global-navigation-links>a:hover:where(:not([aria-current=page])),.global-topbar .global-control:hover:where(:not(.global-workspace-trigger)){background:var(--glass-hover);color:var(--text)}.global-navigation-links>a:active:where(:not([aria-current=page])),.global-topbar .global-control:active:where(:not(.global-workspace-trigger)){background:var(--glass-selected)}.global-topbar :is(a,button):focus-visible{outline:2px solid var(--blue);outline-offset:2px}.global-navigation svg,.global-control svg,.global-navigation-item>svg{height:var(--topbar-icon);width:var(--topbar-icon);stroke-width:1.8;flex:none}.global-navigation .cui-chevron,.global-actions-trigger .cui-chevron{height:13px;width:13px;transition:transform .18s var(--topbar-ease)}.global-topbar [data-state=open]>.cui-chevron{transform:rotate(180deg)}.global-navigation-overflow{display:none}.cui-item.global-navigation-item[aria-current=page]{background:var(--topbar-selected);font-weight:600}.global-navigation-item{justify-content:flex-start;gap:8px;text-decoration:none;color:var(--text)}.global-topbar .global-account{margin-left:auto;flex:none;display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:110px}.global-account .account-control{margin:0;display:flex;align-items:center;gap:0}.global-account .account-sync{display:none}.global-account .account-control.account-control>:is(.account-trigger.account-trigger,.account-sign-in.account-sign-in){height:var(--topbar-control);min-height:var(--topbar-control);max-width:152px;padding:5px 12px;font:500 var(--topbar-font)/1.3 var(--font-ui);gap:7px}.global-account .account-loading{font:500 var(--topbar-font)/1.3 var(--font-ui);width:90px;text-align:center}.global-account .account-progress-preview{font-size:11px;white-space:nowrap}.global-topbar .global-context{margin-left:auto;min-width:0;flex:none}.global-ide-actions,.global-ide-actions .header-status-group,.global-ide-actions .primary-actions{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:nowrap}.global-ide-actions .header-status-group{margin:0}.global-topbar .global-context:has(.global-ide-actions)+.global-account{margin-left:3px}.app-shell .topbar.ide-header .global-ide-actions .primary-actions{width:auto;min-width:0;flex:none;order:0;gap:6px;margin:0}.app-shell .topbar.ide-header .global-ide-actions .primary-actions .action-button{height:var(--topbar-control);min-height:var(--topbar-control);min-width:104px;padding:3px 11px 3px 5px;gap:8px;font-size:12px}.app-shell .topbar.ide-header .global-ide-actions .primary-actions .action-button.upload{min-width:119px}.app-shell .topbar.ide-header .global-ide-actions .primary-actions .action-icon{width:28px;height:28px;flex-basis:28px}.app-shell .topbar.ide-header .global-ide-actions .primary-actions .action-icon svg{width:17px;height:17px}.app-shell .topbar.ide-header .global-ide-actions .simulate-toggle{height:var(--topbar-control);min-height:var(--topbar-control);font-size:12px;padding:0 10px;border-radius:var(--topbar-radius);white-space:nowrap}.app-shell .topbar.ide-header .global-ide-actions .ide-status-chip[data-glass]{min-height:var(--topbar-control);padding:7px 10px;font-size:11px;max-width:164px}.app-shell .topbar.ide-header .global-ide-actions .board-controls[data-glass]{min-height:var(--topbar-control);padding:2px 4px}.app-shell .topbar.ide-header .global-ide-actions .board-controls .serial-connect-action{min-width:100px;font-size:11px;min-height:28px}.global-ide-actions.simulation-mode .header-status-group,.global-ide-actions.simulation-mode .primary-actions>.action-button{display:none!important}.global-actions-popover.app-shell{height:auto;min-height:0;max-width:calc(100vw - 16px);width:max-content;padding:12px;border-radius:20px}.global-actions-popover.app-shell .global-context.topbar.ide-header{display:block;min-height:0;padding:0;background:transparent;border:0;box-shadow:none}.global-actions-popover .global-ide-actions{flex-direction:column;align-items:stretch;gap:10px}.global-actions-popover .global-ide-actions .header-status-group,.global-actions-popover .global-ide-actions .primary-actions{justify-content:flex-start;flex-wrap:wrap}.global-actions-popover .status-history{max-width:calc(100vw - 40px);left:0;right:auto}.global-layout #circuitera-editor>.app-shell[data-ide-density]{height:calc((100dvh - var(--topbar-height))/var(--ide-density,1))}.global-layout .messages-page{height:calc(100dvh - var(--topbar-height))}.global-layout .terminal-page{min-height:calc(100dvh - var(--topbar-height))}.global-layout .terminal-workspace{height:calc(100dvh - var(--topbar-height))}.global-layout .dashboard-shell{min-height:calc(100dvh - var(--topbar-height));height:auto}@media(max-width:1800px){.global-account .account-progress-preview{display:none}}@media(max-width:1550px){.global-topbar[data-contextual] .global-navigation-links{display:none}.global-topbar[data-contextual] .global-navigation-overflow{display:block}}@media(max-width:760px){:root{--topbar-padding:12px;--topbar-gap:6px}.global-navigation-links{display:none}.global-navigation-overflow{display:block}.global-topbar .global-brand{margin-right:0}.global-topbar .global-account{min-width:0}.global-account .account-control.account-control>.account-trigger.account-trigger{width:36px;padding:5px;gap:0}.global-account .account-control.account-control>.account-sign-in.account-sign-in{padding:5px 9px}.global-actions-trigger>span,.global-actions-trigger>.cui-chevron{display:none}.global-topbar .global-actions-trigger{width:36px;padding:0;margin-left:auto}}@media(max-width:520px){.global-topbar .global-brand>span{display:none}.global-topbar .global-brand{margin-right:2px}.global-topbar .global-control{padding-inline:8px}.global-topbar .global-actions-trigger{padding:0}}@media(max-width:600px){.global-layout #circuitera-editor>.app-shell[data-ide-density]{height:auto;min-height:calc((100dvh - var(--topbar-height))/var(--ide-density,1))}}@media(prefers-reduced-motion:reduce){.global-topbar :is(a,button,svg){transition:none!important;animation:none!important}}.global-topbar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}html:has(.global-layout){scrollbar-gutter:stable}@media(max-width:520px){.global-sections-trigger>span,.global-sections-trigger>.cui-chevron{display:none}.global-topbar .global-sections-trigger{width:36px;padding:0}}.global-navigation-item>span:not(.messages-unread){flex:1}:root[data-theme=light] .global-ide-actions{--toolbar-pill-edge:rgba(91,107,127,.22);--toolbar-pill-edge-hover:rgba(91,107,127,.3);--toolbar-pill-edge-pressed:rgba(91,107,127,.36);--toolbar-ready-edge:rgba(48,145,113,.2);--toolbar-ready-hover-edge:rgba(48,145,113,.28);--toolbar-ready-pressed-edge:rgba(48,145,113,.34)}:root[data-theme=light] .app-shell .topbar.ide-header .global-ide-actions :is(.ide-status-chip,.board-controls)[data-glass]{border-color:var(--toolbar-pill-edge)}:root[data-theme=light] .app-shell .topbar.ide-header .global-ide-actions .ide-status-chip[title=Ready][data-glass]{background:#e6f6f0c7;border-color:var(--toolbar-ready-edge);transition:background-color .18s var(--ui-ease),border-color .18s var(--ui-ease),box-shadow .18s var(--ui-ease)}:root[data-theme=light] .app-shell .topbar.ide-header .global-ide-actions .ide-status-chip[title=Ready][data-glass]:hover{background:#def2eadb;border-color:var(--toolbar-ready-hover-edge)}:root[data-theme=light] .app-shell .topbar.ide-header .global-ide-actions .ide-status-chip[title=Ready][data-glass]:active{background:#d7eee5e6;border-color:var(--toolbar-ready-pressed-edge)}:root[data-theme=light] .app-shell .topbar.ide-header .global-ide-actions .board-controls[data-glass]{background:#e7edf4c7;transition:background-color .18s var(--ui-ease),border-color .18s var(--ui-ease),box-shadow .18s var(--ui-ease)}:root[data-theme=light] .app-shell .topbar.ide-header .global-ide-actions .board-controls[data-glass]:has(>button:hover:not(:disabled)){background:#e0e8f1db;border-color:var(--toolbar-pill-edge-hover)}:root[data-theme=light] .app-shell .topbar.ide-header .global-ide-actions .board-controls[data-glass]:has(>button:active:not(:disabled)){background:#d9e2ede6;border-color:var(--toolbar-pill-edge-pressed)}:root[data-theme=light] .app-shell .topbar.ide-header .global-ide-actions .board-controls[data-glass] .serial-connect-action:is(:hover,:active):not(:disabled){background:transparent}:root[data-theme=light] .app-shell .topbar.ide-header .global-ide-actions :is(.ide-status-chip,.board-controls>button):focus-visible{outline:2px solid var(--blue);outline-offset:2px}@media(prefers-reduced-motion:reduce){:root[data-theme=light] .app-shell .topbar.ide-header .global-ide-actions :is(.ide-status-chip[title=Ready],.board-controls)[data-glass]{transition:none}}@media(forced-colors:active){:root[data-theme=light] .app-shell .topbar.ide-header .global-ide-actions :is(.ide-status-chip,.board-controls)[data-glass]{background:Canvas;border-color:ButtonText}}.messages-link{display:inline-flex;align-items:center;gap:5px}.messages-link .messages-unread{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;background:#dceaff;color:#204d80;border-radius:9px;font-size:10px}html{scroll-behavior:auto;scroll-padding-top:100px}.site-shell{--site-ink:#202020;--site-muted:#626262;--site-line:#e5e5e5;background:radial-gradient(ellipse 850px 540px at 9% 0%,#dce8f74d,transparent),radial-gradient(ellipse 700px 550px at 93% 4%,#ebe1f33b,transparent),#f8f9fb;color:var(--site-ink);font-family:var(--font-ui);line-height:1.6}.site-shell a{color:inherit;text-decoration:none}.site-shell svg{stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.site-shell a:focus-visible,.site-shell button:focus-visible,.site-shell summary:focus-visible,.table-scroll:focus-visible{outline:3px solid #2563eb;outline-offset:5px}.site-shell p{color:var(--site-muted)}.site-shell h1,.site-shell h2,.site-shell h3{line-height:1.18;letter-spacing:-.04em;font-weight:560;margin:0;text-wrap:balance}.site-shell h2{font-size:clamp(25px,2.6vw,34px)}.site-shell h3{font-size:19px;letter-spacing:-.025em}.site-header{position:sticky;top:0;z-index:30;background:#fffffff0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--site-line)}.site-nav-wrap{max-width:1224px;min-height:66px;margin:auto;padding:12px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.site-brand{display:inline-flex;align-items:center;gap:9px;font-size:23px;font-weight:750;letter-spacing:-.8px;white-space:nowrap}.site-brand img{display:block}.site-header nav{display:flex;align-items:center;gap:29px;font-size:13px;font-weight:500}.site-header nav>a:not(.site-button){color:#616161}.site-header nav>a:hover{color:#111}.site-shell .site-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:40px;padding:9px 16px;border:1px solid #202020;border-radius:12px;background:#202020;color:#fff;font-size:14px;font-weight:600;transition:background .15s,transform .15s}.site-shell .site-button:hover{background:#3e3e3e;transform:translateY(-1px)}.site-shell .nav-launch{min-height:40px;padding:9px 15px;border-radius:10px;font-size:12px;gap:10px}.menu-toggle{display:none}.site-page{max-width:1160px;margin:auto;padding:0 32px}.site-skip{position:fixed;top:-80px;left:16px;z-index:100;padding:12px;background:#fff;border:1px solid #222;border-radius:10px}.site-skip:focus{top:12px}.site-notice{padding:14px 22px;background:#fff1f0;color:#981b1b;display:flex;justify-content:space-between;gap:20px}.site-notice button{background:none;border:0}.overview-hero{padding:44px 0 40px;display:grid;grid-template-columns:1.17fr 1fr;align-items:center;gap:36px}.site-shell .eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 14px;color:#727272;font-size:10px;font-weight:650;letter-spacing:.12em}.live-dot{width:6px;height:6px;border-radius:50%;background:#13865c}.site-shell h1{font-size:clamp(30px,3.1vw,40px);line-height:1.08;letter-spacing:-.06em}.site-shell h1>span{color:var(--site-muted)}.hero-description{font-size:15px;line-height:1.75;max-width:450px;margin:18px 0 22px}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.text-link{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:550}.text-link:hover{text-decoration:underline}.hero-notes{display:flex;flex-wrap:wrap;gap:18px;font-size:10px;color:#777;margin-top:24px}.hero-notes span{display:flex;align-items:center;gap:5px}.code-preview{border:1px solid #dedede;border-radius:20px;background:#f8f8f8;box-shadow:0 20px 60px -35px #0004;overflow:hidden}.preview-title{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:18px 21px;border-bottom:1px solid #e5e5e5;font-size:10px;color:#7c7c7c}.preview-title>span:first-child{display:flex;align-items:center;gap:8px;font-size:12px;color:#333}.code-preview pre{margin:0;padding:27px 23px;font:12px/1.9 var(--mono);color:#3b3b3b;overflow:auto}.code-comment{color:#878787}.code-keyword{color:#2563b8}.preview-footer{padding:17px 21px;border-top:1px solid #e5e5e5;font-size:9px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#757575}.preview-footer>span:first-child{display:flex;gap:7px;align-items:center}.preview-footer>span:last-child{font-size:7px;letter-spacing:.04em}.overview-section{padding:44px 0;border-top:1px solid var(--site-line);scroll-margin-top:100px}.about-section{display:grid;grid-template-columns:1.25fr 1fr;gap:0 40px;align-items:start}.about-section .eyebrow{grid-column:1/-1}.about-section h2{font-size:28px}.about-section>p:last-child{margin:0;font-size:16px;line-height:1.85}.section-heading{max-width:680px;margin-bottom:24px}.section-heading>p:last-child:not(.eyebrow){font-size:14px;line-height:1.75;margin:13px 0 0;max-width:580px}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.feature-card{display:block;position:relative;border:1px solid var(--site-line);border-radius:17px;padding:27px;background:#fcfcfc;transition:border-color .15s,background .15s}.feature-card:hover{background:#f5f5f5;border-color:#bbb}.feature-card>svg:first-child{margin:0 0 29px;color:#525252}.feature-card h3{max-width:210px}.feature-card p{font-size:13px;line-height:1.85;margin:12px 0 19px}.card-arrow{position:absolute;right:24px;top:28px;color:#999}.board-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.board-card{padding:24px 19px;border:1px solid var(--site-line);border-radius:16px}.board-card>svg{color:#555;margin-bottom:24px}.board-card h3{font-size:17px;line-height:1.4}.board-card p{font-size:12px}.neutral-tag{display:inline-block;border-radius:6px;background:#f3f3f3;padding:5px 7px;color:#555;font:9px var(--mono)}.small-copy,.site-shell .small-copy{font-size:11px;line-height:1.8}.section-note{font-size:12px;line-height:1.85;max-width:860px;margin:22px 0 0}.split-section{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.split-section .section-heading{margin:0}.detail-panel{background:#f7f7f7;border:1px solid #ececec;border-radius:20px;padding:24px}.detail-panel>svg{margin-bottom:26px}.detail-panel p,.detail-panel ul{font-size:14px;line-height:1.85;color:#626262}.detail-panel ul{padding-left:20px}.detail-panel .text-link{margin-top:12px}.serial-preview{border:1px solid #dfdfdf;border-radius:18px;overflow:hidden;background:#fcfcfc}.serial-preview>div{display:flex;gap:8px;align-items:center;padding:18px 22px;border-bottom:1px solid #e5e5e5;font-size:10px}.serial-preview>div span{margin-left:auto;color:#777;font-size:9px}.serial-preview pre{padding:25px 22px;font:12px/2 var(--mono);color:#35785c;overflow:auto}.serial-preview p{padding:15px 22px;border-top:1px solid #e5e5e5;font-size:10px;margin:0}.library-chips{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:28px}.library-chips span{border:1px solid #e2e2e2;border-radius:8px;padding:10px 16px;font:12px var(--mono);background:#fafafa}.reference-details{border:1px solid var(--site-line);border-radius:14px;overflow:hidden}.reference-details>summary,.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;padding:22px;font-size:14px;font-weight:550}.reference-details>summary::-webkit-details-marker,.faq-list summary::-webkit-details-marker{display:none}.reference-details[open]>summary svg,.faq-list details[open] summary svg{transform:rotate(180deg)}.reference-details>p{padding:0 22px}.catalog-list{padding:0 24px 24px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.catalog-list article{border-top:1px solid #e5e5e5;padding-top:22px}.catalog-list h3{font-size:15px}.catalog-list h3 span{color:#777;font-weight:400;font-size:11px}.catalog-list p{font-size:12px}.catalog-list a{display:inline-flex;align-items:center;gap:5px;font-size:11px;text-decoration:underline;margin:0 13px 7px 0}.workflow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;list-style:none;gap:28px}.step-number{display:inline-block;font:11px var(--mono);border:1px solid #dedede;border-radius:50%;padding:12px;margin-bottom:30px;color:#777}.workflow h3{font-size:20px}.workflow p{font-size:13px;line-height:1.8}.compatibility-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.compatibility-grid article>svg{margin:6px 0 20px}.compatibility-grid p{font-size:14px;line-height:1.85}.getting-started{display:grid;grid-template-columns:1.2fr 1fr;gap:60px}.getting-started ol{counter-reset:steps;list-style:none;margin:0;padding:0}.getting-started li{counter-increment:steps;display:flex;align-items:baseline;gap:18px;padding:18px 0;border-bottom:1px solid #eee;font-size:14px;color:#505050}.getting-started li:before{content:counter(steps);font:11px var(--mono);color:#777}.getting-started aside{border-radius:18px;background:#f7f7f7;padding:30px}.getting-started aside>svg{margin-bottom:20px}.getting-started p{font-size:14px;line-height:1.85}.getting-started .site-button{margin-top:10px}.example-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.example-grid a{display:flex;align-items:center;gap:13px;border:1px solid #e4e4e4;border-radius:12px;padding:22px 18px}.example-grid a:hover{background:#f7f7f7}.example-grid h3{font-size:14px}.example-grid p{font-size:11px;margin:6px 0 0}.example-grid a>svg:last-child{margin-left:auto;color:#777}.table-scroll{overflow:auto;max-height:480px}.table-scroll table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}.table-scroll th,.table-scroll td{padding:14px 20px;border-top:1px solid #eee;vertical-align:top}.table-scroll th{font-weight:600}.table-scroll td{color:#616161}.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px}.faq-list details{border-bottom:1px solid #e5e5e5}.faq-list summary{padding:22px 0}.faq-list details:first-child summary{padding-top:0}.faq-list p{font-size:14px;line-height:1.85;margin:0 0 24px}.final-cta{text-align:center;padding:48px 0}.final-cta .eyebrow{justify-content:center}.final-cta h2{font-size:clamp(28px,3.5vw,40px);margin-bottom:22px}.site-footer{max-width:1160px;margin:auto;padding:50px 32px 30px;border-top:1px solid #e5e5e5}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-top>p{font-size:13px;margin:0 auto 0 34px}.site-footer nav{display:flex;flex-wrap:wrap;gap:14px 25px;padding:35px 0;font-size:12px;color:#656565}.site-footer nav a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #eee;padding-top:23px;display:flex;gap:30px;justify-content:space-between;font-size:10px;color:#777}.footer-bottom span:last-child{max-width:430px}.ide-help-links{display:flex;gap:12px;font-size:12px}.ide-help-links a{color:var(--muted);text-decoration:none}.ide-help-links a:hover{color:var(--text);text-decoration:underline}@media(max-width:1000px){.site-header nav{gap:18px}.overview-hero{gap:28px;padding:40px 0}.site-shell h1{font-size:36px}.hero-actions{gap:17px}.hero-notes{gap:9px}.board-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-section{gap:40px}.code-preview pre{font-size:10px}.preview-footer>span:last-child{display:none}.about-section{gap:0 35px}.faq-section{gap:35px}.example-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.site-nav-wrap{min-height:68px;padding:13px 22px}.menu-toggle{display:grid;place-items:center;background:none;border:1px solid #ddd;border-radius:9px;width:39px;height:39px;color:#333}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;padding:15px 22px 23px;background:#fff;border-bottom:1px solid #ddd;gap:0;box-shadow:0 15px 20px -20px #3336}.site-header nav.is-open{display:flex}.site-header nav>a{padding:12px}.site-header .nav-launch{margin-top:8px}.site-page{padding:0 23px}.overview-hero{grid-template-columns:1fr;gap:26px;padding:32px 0}.site-shell h1{font-size:clamp(28px,6vw,36px)}.hero-description{max-width:540px}.code-preview{max-width:550px;width:100%}.code-preview pre{font-size:12px}.overview-section{padding:32px 0}.about-section,.split-section,.faq-section,.getting-started{grid-template-columns:1fr;gap:28px}.about-section h2{font-size:27px}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-card{padding:23px}.feature-card h3{font-size:18px}.compatibility-grid{grid-template-columns:1fr;gap:22px}.compatibility-grid article>svg{margin:0 0 14px}.workflow{grid-template-columns:repeat(2,minmax(0,1fr))}.step-number{margin-bottom:17px}.site-footer{padding:38px 23px}.footer-top{flex-wrap:wrap}.footer-top>p{margin:0}.footer-top>.text-link{width:100%}.footer-bottom{flex-direction:column;gap:14px}.catalog-list{grid-template-columns:1fr}.site-shell h2{font-size:27px}.hero-notes{font-size:10px}.hero-actions{gap:20px}.faq-list details:first-child summary{padding-top:20px}}@media(max-width:440px){.feature-grid,.board-grid,.example-grid{grid-template-columns:1fr}.detail-panel{padding:27px}.hero-description{font-size:15px}.code-preview pre{font-size:10px}.preview-title{padding:16px}.feature-card>svg:first-child{margin-bottom:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-shell *{transition:none!important}.site-shell .site-button:hover{transform:none}}.site-shell :is(.site-header,.code-preview,.serial-preview,.detail-panel,.feature-grid,.board-grid,.reference-details,.getting-started aside){background:#f8f9fb;border:1px solid rgba(255,255,255,.72);border-radius:var(--radius-glass-group,18px);box-shadow:inset 0 1px 0 var(--glass-highlight,rgba(255,255,255,.66)),var(--glass-shadow,0 3px 12px #24324a0d)}.site-shell .site-header{border-radius:0;border-bottom-color:var(--site-line)}@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.site-shell :is(.site-header,.code-preview,.serial-preview,.detail-panel,.feature-grid,.board-grid,.reference-details,.getting-started aside){background:linear-gradient(180deg,#ffffffe6,#ffffffc2);backdrop-filter:blur(var(--glass-blur,18px)) saturate(var(--glass-saturation,125%));-webkit-backdrop-filter:blur(var(--glass-blur,18px)) saturate(var(--glass-saturation,125%))}}.site-shell :is(.feature-grid,.board-grid){gap:0;padding:8px}.site-shell :is(.feature-card,.board-card){background:transparent;border:0;border-radius:10px;box-shadow:none;padding:20px;min-width:0}.site-shell .feature-card{transition:background-color .18s var(--ui-ease,ease-out),transform .18s var(--ui-ease,ease-out)}.site-shell .feature-card:hover{background:#ffffffb8;transform:translateY(-1px)}.site-shell :is(.feature-card,.board-card)>svg:first-child{margin-bottom:16px}.site-shell .feature-card p{margin-bottom:0}.site-shell .board-card+.board-card{border-left:1px solid var(--site-line);border-radius:0}.site-shell :is(.code-preview,.serial-preview) pre{background:#fbfcfd;margin:0;padding:20px;font-size:12px}.site-shell :is(.preview-title,.preview-footer,.serial-preview>div){padding:12px 16px}.site-shell .library-chips{gap:6px 16px;margin-bottom:20px}.site-shell .library-chips span{background:none;border:0;border-radius:0;padding:4px 0;color:var(--site-muted)}.site-shell .example-grid{gap:0 20px}.site-shell .example-grid a{border:0;border-bottom:1px solid var(--site-line);border-radius:8px;padding:16px 10px;transition:background-color .18s var(--ui-ease,ease-out)}.site-shell .example-grid a:hover{background:#ffffffbf}.site-shell :is(.reference-details>summary,.faq-list summary){min-height:44px;box-sizing:border-box;padding-top:16px;padding-bottom:16px;transition:background-color .18s var(--ui-ease,ease-out)}.site-shell :is(.reference-details>summary,.faq-list summary):hover{background:#ffffff8c}.site-shell summary svg{transition:transform .18s var(--ui-ease,ease-out)}.site-shell .step-number{border:0;border-radius:0;padding:0;margin-bottom:14px;font-weight:600}.site-shell .getting-started aside{padding:24px}.site-shell :is(.site-page,.site-nav-wrap,.site-footer,.overview-hero>*,.overview-section>*,.feature-grid>*,.board-grid>*,.example-grid a>div,.catalog-list>*,.preview-title>span){min-width:0}.site-shell :is(h1,h2,h3,p,li,td,.catalog-list a){overflow-wrap:anywhere}.site-shell .preview-title>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-shell .preview-title>span:first-child{flex-shrink:0}@media(max-width:1000px){.site-shell .board-card:nth-child(odd){border-left:0}.site-shell .board-card:nth-child(n+3){border-top:1px solid var(--site-line)}}@media(max-width:760px){.site-shell .site-header nav{background:#f8f9bff5}.site-shell .site-page{padding-inline:18px}.site-shell .feature-card{padding:18px 14px}.site-shell .site-nav-wrap{min-height:62px;padding-block:10px}}@media(max-width:440px){.site-shell .board-card+.board-card{border-left:0;border-top:1px solid var(--site-line)}.site-shell .feature-card+.feature-card{border-top:1px solid var(--site-line);border-radius:0}.site-shell .code-preview pre{font-size:11px;padding:16px}}@media(prefers-reduced-transparency:reduce){.site-shell{background:#f8f9fb}.site-shell :is(.site-header,.code-preview,.serial-preview,.detail-panel,.feature-grid,.board-grid,.reference-details,.getting-started aside){background:#f8f9fb;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:var(--site-line)}}@media(prefers-reduced-motion:reduce){.site-shell .feature-card:hover{transform:none}}.overview-experience{position:relative;isolation:isolate;--overview-ease:cubic-bezier(.22,1,.36,1)}.overview-ambient{position:fixed;top:90px;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;overflow:hidden;contain:strict}.overview-ambient:before,.overview-ambient:after{content:"";position:absolute;width:min(720px,95vw);height:580px;border-radius:50%;animation:overview-light-drift 24s ease-in-out infinite alternate;transition:opacity .4s ease-out;will-change:transform}.overview-ambient:before{left:-15%;top:5%;background:radial-gradient(ellipse,#ccdfef66,transparent 68%);opacity:.3}.overview-ambient:after{right:-16%;top:14%;background:radial-gradient(ellipse,#cce9db60,transparent 68%);opacity:.18;animation-delay:-12s}.overview-experience[data-atmosphere=hardware] .overview-ambient:before{opacity:.7}.overview-experience[data-atmosphere=intelligence] .overview-ambient:after{opacity:.8}.overview-experience .overview-section{border-top-color:#202b3512;transition:border-color .22s ease-out;padding-block:52px}.overview-experience .overview-section.is-current-section{border-top-color:#49665a35}.overview-experience .overview-hero{padding-block:64px 56px}.overview-experience .eyebrow{font-size:10px;letter-spacing:.11em;color:#637069}.overview-experience .split-section{align-items:start;gap:clamp(28px,5vw,64px)}.overview-experience .detail-panel{box-shadow:inset 0 1px #fff9,0 2px 8px #25382b06;padding:28px;border-color:#ffffffb3}.overview-experience .feature-grid{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border:0;padding:0;gap:8px}.overview-experience .feature-card{padding:24px 20px;border-radius:14px}.overview-experience .feature-card h3{font-size:18px;max-width:260px}.overview-experience :is(.site-button,.text-link,.example-grid a,.feature-card,.overview-project-row,summary){transition:transform .18s var(--overview-ease),background-color .18s var(--overview-ease),border-color .18s var(--overview-ease),color .18s var(--overview-ease)}.overview-experience :is(.site-button,.text-link,.example-grid a,.overview-project-row):hover{transform:translateY(-1px)}.overview-experience :is(.site-button,.overview-project-row):active{transform:scale(.98)}.overview-experience .site-button:disabled{opacity:.45;cursor:default;transform:none}.overview-experience .text-link>svg{transition:transform .18s var(--overview-ease)}.overview-experience .text-link:hover>svg{transform:translate(2px)}.overview-experience .recent-work{display:grid;grid-template-columns:minmax(200px,.7fr) minmax(0,1.5fr);gap:36px}.overview-project-list{min-width:0;background:#ffffff78;border:1px solid #ffffffad;border-radius:16px;padding:6px 16px}.overview-project-row{display:flex;align-items:center;gap:14px;width:100%;min-width:0;min-height:78px;border:0;border-bottom:1px solid #202b3510;border-radius:8px;background:transparent;color:var(--site-ink);padding:14px 8px;text-align:left;font:inherit;cursor:pointer}.overview-project-row:hover{background:#fff9}.overview-project-row>span:first-child{flex:1;min-width:0}.overview-project-row strong{display:block;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-project-meta{display:block;font-size:11px;color:var(--site-muted);margin-top:4px;line-height:1.6}.overview-build-value{font-size:11px;text-align:right;animation:overview-value-in .2s ease-out}.overview-build-value small{display:flex;justify-content:flex-end;gap:9px;color:var(--site-muted);margin-top:4px;font:10px var(--mono)}.overview-activity{font-size:12px;color:var(--site-muted)}.overview-activity summary{padding:12px 8px;cursor:pointer;min-height:42px;box-sizing:border-box}.overview-activity ol{padding:0 8px;list-style:none}.overview-activity li{display:flex;justify-content:space-between;gap:18px;padding:6px 0}.overview-activity time{white-space:nowrap;font-size:11px}.overview-empty{padding:18px 8px;font-size:13px}.overview-ai-mark{width:24px;height:24px;margin-bottom:20px;border:1px solid #22805d35;border-radius:50%;background:radial-gradient(circle,#39977670,#39977616);box-shadow:0 0 0 5px #39977606}@media(min-width:1000px)and (min-height:650px){.overview-experience .split-section>.section-heading{position:sticky;top:96px}}@media(max-width:760px){.overview-experience .overview-hero{padding-block:40px}.overview-experience .overview-section{padding-block:38px}.overview-experience .recent-work{grid-template-columns:1fr;gap:12px}.overview-experience .detail-panel{padding:22px}.overview-project-list{padding:4px 8px}}@media(max-width:440px){.overview-project-row{flex-wrap:wrap;gap:6px 10px}.overview-project-row>span:first-child{flex-basis:calc(100% - 36px)}.overview-build-value{order:2;flex-basis:100%;text-align:left}.overview-build-value small{justify-content:flex-start}}@keyframes overview-light-drift{0%{transform:translateZ(0)}to{transform:translate3d(12px,-10px,0)}}@keyframes overview-value-in{0%{opacity:.45}to{opacity:1}}@media(prefers-reduced-transparency:reduce){.overview-project-list{background:#f8f9fb;border-color:var(--site-line)}.overview-ambient{display:none}}@media(prefers-reduced-motion:reduce){.overview-experience *,.overview-experience *:before,.overview-experience *:after{animation:none!important;transition:none!important;transform:none!important}.overview-ambient{display:none}}.circuitera-update{position:fixed;bottom:12px;left:50%;transform:translate(-50%);z-index:10000;max-width:calc(100vw - 24px);padding:9px 12px;background:#fff;color:#303238;box-shadow:0 3px 16px #0002;border-radius:9px;font:12px/1.5 var(--font-ui);display:flex;align-items:center;gap:8px}.circuitera-update button{font:inherit;background:#f2f3f4;border:0;border-radius:4px;padding:5px 8px;white-space:nowrap}html,body{overscroll-behavior:none}:root :is(.cm-scroller,.sidebar-content,.library-list,.library-detail,.sketch-tabs,.project-editor-tabs,.project-tools,.output-panel,.serial-output,.diagnostics-screen,.pin-helper,.board-inspector,.workbench-dialog,.account-dialog,.command-menu [role=listbox],.glass-dropdown,.cui-menu,.cui-popover,.cui-viewport,[data-radix-select-viewport],.cui-board-search [role=listbox],.terminal-log,.terminal-diagnostics,.terminal-session-tools [role=tablist],.developer-panel,.terminal-tests,.msg-conversation-list,.msg-history,.msg-sketch-picker,.gemini-messages,.sim-parts,.sim-inspector,.sim-diagnostics,.sim-serial,.sim-compile,.sim-net-inspector,.sim-logic,.simulation-mode .console-body,.simulation-mode .workbench,textarea){overscroll-behavior:none}:root :is(.library-detail pre,.snapshot-history pre,.hardware-output,.system-check-output pre,.account-local-list,.account-comparison pre,.terminal-edit-review pre,.msg-preview pre,.gemini-code pre,.gemini-table-wrap,.gemini-panel table,.gemini-diff,.gemini-rich>pre,.engineering-tool-body,.engineering-tool-body pre,.engineering-test-review pre,.code-preview pre,.serial-preview pre,.table-scroll,.sim-serial pre){overscroll-behavior-x:none;overscroll-behavior-y:auto}:root{color-scheme:dark;--bg: #080a0d;--editor: #090b0e;--surface: #101318;--surface-2: #151920;--surface-3: #222832;--text: #f4f6fa;--muted: #a6afbd;--dim: #828c9c;--border: #2a303a;--border-soft: #1b2028;--blue: #268fff;--cyan: #62deef;--green: #b3ef65;--orange: #ffac64;--purple: #bc9aff;--yellow: #ffd36b;--danger: #ff8d80;--danger-soft: #261817;--console: #0d1015;--console-text: #c5cdd9;--font-ui: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-code: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--mono: var(--font-code);--text-xs: 11px;--text-sm: 12px;--text-md: 14px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;font-family:var(--font-ui);font-synthesis:none}:root[data-theme=light]{color-scheme:light;--bg: #faf8f3;--editor: #fff;--surface: #fff;--surface-2: #f7f8fa;--surface-3: #eef1f6;--text: #253043;--border: #dfe3e9;--border-soft: #eceef2;--muted: #647085;--dim: #7b8493;--blue: #2563ed;--cyan: #087f9c;--green: #248443;--orange: #cb660d;--purple: #8050cc;--yellow: #af8100;--danger: #cf414e;--danger-soft: #fff1f1;--console: #121721}*{box-sizing:border-box}html,body,#root{width:100%;min-width:0;min-height:100%;margin:0}body{background:var(--bg);color:var(--text)}button,input,textarea,:is(select,.glass-select){font:inherit}button{color:inherit;cursor:pointer}button,:is(select,.glass-select),input{-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed}button:focus-visible,:is(select,.glass-select):focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}button,input,:is(select,.glass-select){transition:background-color .13s ease,border-color .13s ease,color .13s ease,box-shadow .13s ease}button svg,.brand-mark,.status-dot,.spinner{flex-shrink:0}::selection{background:#315071;color:#fff}*{scrollbar-width:thin;scrollbar-color:#3a424f transparent}.app-shell{display:flex;flex-direction:column;height:100dvh;min-height:660px}.topbar{display:flex;flex:0 0 auto;align-items:center;gap:24px;min-height:62px;padding:10px 18px;background:var(--surface);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand-mark{position:relative;display:grid;place-items:center;width:32px;height:34px;color:var(--cyan)}.brand-mark svg path:nth-of-type(3n){stroke:var(--purple)}.brand-mark>span{position:absolute;height:5px;width:5px;right:1px;bottom:3px;background:var(--green);border:1px solid var(--bg)}.brand strong{font-size:.9375rem;letter-spacing:.065em;line-height:1.35}.brand strong>span{font-weight:500;color:#d0d6e0}.circuitera-mark{display:flex;flex:0 0 32px}.circuitera-mark img{width:32px;height:32px}.circuitera-brand .circuitera-wordmark{margin:0;font-size:21px;font-weight:750;letter-spacing:-.7px;line-height:1.2}.about-circuitera{grid-column:1 / -1;justify-self:start;margin-top:9px;color:var(--blue);text-decoration:none;font:11px var(--mono)}.about-circuitera:hover{text-decoration:underline}.about-circuitera:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}@media(max-width:1050px){.brand-target{display:none}}.board-tag{margin-left:6px;padding:4px 6px;color:var(--orange);border:1px solid #ffac6435;background:#ffac6409;border-radius:4px;font:.75rem var(--mono);letter-spacing:.04em;white-space:nowrap}.primary-actions{display:flex;flex-shrink:0;gap:8px}.action-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;min-width:116px;padding:0 16px;border:1px solid transparent;border-radius:7px;color:#07111b;font-size:.875rem;font-weight:750;box-shadow:0 2px #0006;transition:transform .13s ease,background-color .13s ease,box-shadow .13s ease}.action-button.compile{background:#49b6ff;border-color:#82ccff}.action-button.upload{background:var(--green);border-color:#d0fb97}.action-button.compile:hover:not(:disabled){background:#76caff;box-shadow:0 0 0 3px #49b6ff19}.action-button.upload:hover:not(:disabled){background:#c9fa8b;box-shadow:0 0 0 3px #b3ef6519}.action-button:active:not(:disabled){transform:translateY(1px);box-shadow:none}.action-button:disabled{opacity:.42}.action-button[aria-busy=true]{opacity:1}.spinner{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .75s linear infinite}.board-pill{display:flex;align-items:center;gap:9px;min-width:0;max-width:370px;margin-left:auto;padding:7px 10px;border:1px solid var(--border);border-radius:6px;color:var(--muted);font-size:.8125rem;background:var(--bg)}.board-pill>span:not(.spinner){overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.board-pill>svg{flex-shrink:0;color:var(--dim)}.board-pill.blocked{color:var(--danger);border-color:#ff8d8055}.board-pill.upload-complete{color:var(--green);border-color:#b3ef6544;animation:upload-confirmed 1s ease-out}.board-pill.upload-complete>svg{color:var(--green)}.app-shell[data-activity=connecting] .board-pill{color:var(--yellow)}.app-shell[data-activity=upload] .board-pill{color:var(--green)}.policy-banner{display:flex;flex:0 0 auto;align-items:center;justify-content:center;gap:10px;padding:10px 16px;background:var(--danger-soft);border-bottom:1px solid #ff8d8033;color:#ffb3a9;font-size:.875rem;line-height:1.5}.policy-banner svg{flex-shrink:0}.filebar{display:flex;flex:0 0 auto;align-items:center;flex-wrap:wrap;gap:3px;min-width:0;min-height:44px;padding:5px 14px;border-bottom:1px solid var(--border-soft);background:var(--surface)}.filebar button,.example-picker{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 9px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);font-size:.875rem;white-space:nowrap}.filebar button:hover,.example-picker:hover{color:var(--text);border-color:var(--border);background:var(--surface-3)}.filebar button:nth-of-type(2) svg{color:var(--cyan)}.filebar button:nth-of-type(3) svg{color:var(--orange)}.filebar button:nth-of-type(4) svg{color:var(--purple)}.toolbar-divider{width:1px;height:17px;margin:0 6px;background:var(--border)}.example-picker{position:relative;color:var(--yellow);cursor:pointer}.example-picker :is(select,.glass-select){position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;cursor:pointer}.example-picker:focus-within{outline:2px solid var(--cyan);outline-offset:1px}.example-picker option{background:var(--surface-2);color:var(--text)}.local-label{display:inline-flex;align-items:center;gap:8px;padding-right:14px;color:var(--dim);font:.75rem var(--mono);letter-spacing:.055em}.mini-pin{width:11px;height:8px;border:1px solid var(--dim);border-top:3px solid var(--purple)}.theme-button{width:34px;justify-content:center}.theme-button svg{color:var(--yellow)}.workbench{display:flex;flex:1 1 auto;min-height:0;min-width:0}.workspace{display:grid;flex:1 1 auto;min-width:0;grid-template-rows:minmax(235px,1fr) minmax(200px,28%);gap:10px;min-height:0;padding:12px 14px;background:var(--bg)}#libraries-pane{width:238px;flex:0 0 238px;min-height:0;padding:12px 0 12px 14px}.library-sidebar{display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid var(--border);border-radius:7px;background:var(--surface)}.library-heading{display:flex;align-items:center;gap:8px;flex-shrink:0;height:39px;padding:0 12px;border-bottom:1px solid var(--border);color:var(--purple)}.library-heading h2{margin:0;font-size:11px;letter-spacing:1.5px;color:var(--text)}.library-heading>span{margin-left:auto;color:var(--muted);font:11px monospace}.library-list{min-height:130px;overflow:auto;padding:6px;flex:1 1 auto}.library-item{display:flex;align-items:center;gap:9px;width:100%;padding:7px 8px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--muted);font-size:12px;text-align:left}.library-item>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-item>svg{flex-shrink:0;margin-left:auto;opacity:.5}.library-item:hover{background:var(--surface-3);color:var(--text)}.library-item.selected{background:#a47aff12;border-color:#a47aff44;color:var(--text)}.library-proof{font:14px monospace;width:14px;flex-shrink:0;text-align:center}.library-proof.pass,.library-result.pass{color:var(--green)}.library-proof.fail,.library-result.fail,.library-error{color:var(--orange)}.library-detail{flex:0 1 auto;max-height:51%;overflow:auto;border-top:1px solid var(--border);padding:12px;font-size:12px;line-height:1.5}.library-type{display:flex;gap:5px;align-items:center;font:9px monospace;color:var(--cyan);letter-spacing:1px}.library-type>span{margin-left:auto;color:var(--muted)}.library-detail h3{margin:9px 0 6px;font-size:14px}.library-detail h3 small{font:10px monospace;color:var(--muted);white-space:nowrap}.library-detail p{color:var(--muted);margin:6px 0}.library-detail .library-result{font-size:11px}.library-detail dl{margin:10px 0}.library-detail dt,.library-detail h4{color:var(--muted);font-size:9px;letter-spacing:1px;text-transform:uppercase;margin:0 0 3px}.library-detail dd{margin:0;color:var(--text);font-size:11px}.library-example{display:flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--cyan);padding:4px 0;text-align:left;font-size:11px}.library-example:hover{color:var(--text)}.library-detail .library-footnote{margin-top:12px;font-size:10px;opacity:.75}.library-detail pre{max-height:120px;overflow:auto;font-size:10px;color:var(--orange)}.library-loading,.library-error{padding:6px;font-size:12px}.compile-stage{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 16px;border-bottom:1px solid var(--border-soft);color:var(--cyan);font:11px monospace}.compile-stage .spinner{width:12px;height:12px}.compile-stage>span:last-child{color:var(--muted);font-size:10px}.compile-stage.complete{color:var(--green)}.compile-stage.failed{color:var(--orange)}.editor-card,.console-card{min-width:0;min-height:0;overflow:hidden;border:1px solid var(--border);border-radius:7px;background:var(--editor);box-shadow:0 2px 8px #0002}.editor-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:39px minmax(0,1fr)}.editor-card:has(>.project-editor-tabs){grid-template-rows:39px 30px minmax(0,1fr)}.sketch-tabs-group{display:flex;min-width:0;flex:1;height:100%;align-items:stretch}.sketch-tabs{display:flex;flex:1 1 0;min-width:0;overflow-x:auto;scrollbar-width:thin;align-items:stretch}.sketch-tab-wrap{display:flex;flex:0 0 auto;max-width:210px;border-right:1px solid var(--border);border-top:2px solid transparent}.sketch-tab-wrap.selected{background:var(--editor);border-top-color:var(--blue)}.sketch-tab-wrap>button{display:flex;gap:7px;align-items:center;border:0;border-radius:0;background:transparent;font:11px var(--mono);padding:5px 9px;min-width:0}.sketch-tab-wrap>button[role=tab]{color:var(--muted)}.sketch-tab-wrap.selected>button[role=tab]{color:var(--text)}.sketch-tab-wrap>button>span:not(.dirty-dot){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sketch-tab-wrap svg,.sketch-tab-wrap .dirty-dot{flex-shrink:0}.sketch-tab-wrap>.close-sketch-tab{padding:4px 6px;color:var(--dim)}.close-sketch-tab:hover{background:var(--surface-3)}.new-tab-menu{position:relative;flex-shrink:0;display:flex;align-items:center}.new-tab-button{padding:5px;margin:0 4px;border:0;background:transparent;display:flex;color:var(--blue)}.tab-menu-options{position:fixed;z-index:30;top:146px;min-width:165px;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:4px;box-shadow:0 5px 18px #0002}.tab-menu-options button{display:flex;width:100%;align-items:center;gap:7px;border:0;background:transparent;padding:8px;font-size:12px;text-align:left}.tab-menu-options button:hover{background:var(--surface-2)}.empty-editor{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;color:var(--muted);font-size:13px;padding:25px}.empty-editor svg{color:var(--blue)}.empty-editor div{display:flex;gap:8px}.empty-editor button{border:1px solid var(--border);background:var(--surface-2);border-radius:6px;padding:8px 12px}.busy-sketch-label{font:11px var(--mono);color:#96c9ff;background:#17253a;border:0;border-bottom:1px solid #34435a;padding:8px 14px;width:100%;text-align:left}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;background:#08101b80;padding:20px}.delete-sketch-dialog{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;max-width:420px;padding:22px;box-shadow:0 15px 60px #0003}.delete-sketch-dialog h2{font-size:17px;margin:0 0 12px;overflow-wrap:anywhere}.delete-sketch-dialog p{font-size:13px;line-height:1.6;color:var(--muted)}.delete-sketch-dialog div{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.delete-sketch-dialog button{border-radius:6px;border:1px solid var(--border);background:var(--surface-2);padding:7px 12px}.delete-sketch-dialog .danger-button{background:#c53645;color:#fff;border-color:#c53645}.sketch-list-heading{display:flex;align-items:center;justify-content:space-between}.sketch-list-heading button{display:flex;padding:4px;border:0;background:transparent;color:var(--blue)}.saved-sketch-row{display:flex;min-width:0;align-items:center;border-radius:5px}.saved-sketch-row.active{background:var(--surface-2);box-shadow:inset 2px 0 var(--blue)}.saved-sketches .saved-sketch-row>button:first-child{min-width:0;flex:1}.saved-sketches .saved-sketch-row>.delete-sketch-button{width:26px;flex-shrink:0;padding:5px}.saved-sketches .delete-sketch-button svg{color:var(--dim)}.saved-sketches .delete-sketch-button:hover svg{color:var(--danger)}.shortcut-note{font-size:10px}@media(max-width:1366px){.filebar .local-label,.editor-meta .shortcut,.editor-meta .language-label{display:none}}.editor-tabbar{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px;padding-right:14px;background:var(--surface);border-bottom:1px solid var(--border)}.editor-tab{display:flex;align-self:stretch;align-items:center;gap:9px;min-width:168px;max-width:50%;padding:0 18px;border-right:1px solid var(--border);border-top:2px solid var(--cyan);background:var(--editor);color:var(--text);font:.875rem var(--mono)}.editor-tab>svg{color:var(--cyan);flex-shrink:0}.sketch-name{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.dirty-dot{width:6px;height:6px;margin-left:4px;border-radius:50%;background:var(--orange);flex-shrink:0}.editor-meta{display:flex;align-items:center;gap:22px;color:var(--dim);font-size:.75rem;white-space:nowrap}.language-label{color:var(--muted);font:.75rem var(--mono);letter-spacing:.055em}.shortcut kbd{padding:2px 4px;border:1px solid var(--border);border-radius:3px;color:var(--muted);font:inherit}.editor-card>.cm-theme{min-width:0;min-height:0;height:100%;overflow:hidden}.cm-editor{height:100%;font-size:.9375rem}.cm-editor.cm-focused{outline:none}.cm-scroller{overflow:auto;font-family:var(--mono)!important;line-height:1.7}.cm-search input,.cm-search button{background:var(--surface-3);color:var(--text);border:1px solid var(--border);border-radius:4px}.activity-track{position:absolute;left:0;right:0;height:2px;top:38px;z-index:3;overflow:hidden;pointer-events:none}.activity-track>span{display:block;height:100%;background:var(--cyan)}.activity-track.upload-track>span{background:var(--green);transition:width .15s ease}.activity-track.indeterminate>span{width:24%;animation:activity-sweep 1.6s ease-in-out infinite}.app-shell[data-activity=connecting] .activity-track>span{background:var(--yellow)}.console-card{display:grid;grid-template-rows:40px minmax(0,1fr);background:var(--console);color:var(--console-text)}.console-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:10px;background:var(--surface);border-bottom:1px solid var(--border)}.console-tabs{display:flex;height:100%;min-width:0}.console-tabs button{display:inline-flex;align-items:center;gap:8px;height:100%;padding:0 16px;border:0;border-right:1px solid var(--border);background:transparent;color:var(--muted);font-size:.875rem;white-space:nowrap}.console-tabs button:hover{background:var(--surface-2);color:var(--text)}.console-tabs .output-tab svg{color:var(--cyan)}.console-tabs .serial-tab svg{color:var(--purple)}.console-tabs button.active{color:var(--text);background:var(--console);box-shadow:inset 0 -2px var(--cyan)}.console-tabs .serial-tab.active{color:#d3baff;box-shadow:inset 0 -2px var(--purple)}.console-meta{margin-left:auto;color:var(--dim);font:.75rem var(--mono);white-space:nowrap;letter-spacing:.03em}.error-count{display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;background:#ff8d8022;border:1px solid #ff8d8044;border-radius:4px;color:var(--danger);font:.75rem var(--mono)}.clear-button{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 7px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--muted);font-size:.8125rem}.clear-button:hover{border-color:var(--border);background:var(--surface-3);color:var(--text)}.output-panel{min-height:0;overflow:auto}.output-panel pre,.serial-output{margin:0;padding:14px 18px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--console-text);font:.875rem/1.7 var(--mono);-moz-tab-size:2;tab-size:2}.log-line.log-success{color:var(--green)}.log-line.log-error{color:var(--danger)}.log-line.log-warning{color:var(--orange)}.log-line.log-info{color:var(--cyan)}.diagnostics-list{display:grid;gap:6px;padding:10px 12px 0}.diagnostic{display:grid;grid-template-columns:60px 100px 1fr;gap:10px;align-items:start;width:100%;padding:9px 12px;border:1px solid #ff8d8044;border-left:3px solid var(--danger);border-radius:5px;background:#ff8d800b;color:var(--console-text);text-align:left;font:.875rem/1.5 var(--mono);overflow-wrap:anywhere}.diagnostic:hover{background:#ff8d8019}.diagnostic span{color:var(--danger);text-transform:uppercase;font-size:.75rem;font-weight:750;line-height:1.75}.diagnostic strong{color:var(--orange);font-size:.8125rem;font-weight:500}.diagnostic.warning{border-color:#ffd36b44;border-left-color:var(--yellow)}.diagnostic.warning span{color:var(--yellow)}.serial-panel{display:grid;grid-template-rows:44px minmax(0,1fr) 44px;min-height:0}.serial-toolbar{display:flex;align-items:center;gap:8px;padding:5px 12px;border-bottom:1px solid var(--border-soft)}.serial-toolbar :is(select,.glass-select),.serial-send input{height:32px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--text);font-size:.875rem}.serial-toolbar :is(select,.glass-select){padding:0 9px;font-family:var(--mono)}.monitor-button,.serial-send button{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:32px;padding:0 12px;border:1px solid #cfb5ff;border-radius:6px;background:var(--purple);color:#171022;font-size:.875rem;font-weight:650}.monitor-button:hover:not(:disabled),.serial-send button:hover:not(:disabled){background:#d0b8ff}.monitor-button.stop{border-color:#ff8d8055;background:#ff8d8012;color:var(--danger)}.monitor-button.stop:hover{background:#ff8d8024}.monitor-state{display:inline-flex;align-items:center;margin-left:auto;color:var(--muted);font-size:.8125rem;white-space:nowrap}.monitor-state:before{display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:var(--dim);content:""}.monitor-state.live{color:var(--purple)}.monitor-state.live:before{background:var(--purple)}.serial-output{min-height:0;overflow:auto;color:#dbcef5}.serial-send{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:5px 12px;border-top:1px solid var(--border-soft)}.serial-send input{width:100%;padding:0 10px}.serial-send input::placeholder{color:var(--muted)}.serial-send button:disabled,.monitor-button:disabled,.serial-send input:disabled{opacity:.45}.statusbar{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:center;gap:8px 18px;min-width:0;min-height:34px;padding:7px 16px;border-top:1px solid var(--border);background:var(--surface);font-size:.8125rem;line-height:1.35;color:var(--muted)}.status-item{display:inline-flex;align-items:center;gap:7px}.status-item strong{color:#d9e0ea;font-weight:500}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--dim)}.status-dot.blue{background:var(--blue)}.status-dot.cyan{background:var(--cyan)}.status-dot.green{background:var(--green)}.status-dot.orange{background:var(--orange)}.status-dot.purple{background:var(--purple)}.status-dot.yellow{background:var(--yellow)}.status-dot.working{animation:status-pulse 1.1s ease-in-out infinite}.statusbar-spacer{flex:1}.save-status,.cursor-position{white-space:nowrap;font-family:var(--mono);font-size:.75rem;color:var(--dim)}.save-status.unsaved{color:var(--orange)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes activity-sweep{0%{transform:translate(-100%)}to{transform:translate(520%)}}@keyframes status-pulse{50%{opacity:.4}}@keyframes upload-confirmed{0%{box-shadow:0 0 0 4px #b3ef6530;background:#b3ef6518}to{box-shadow:0 0 0 0 transparent;background:var(--bg)}}@media(max-width:1120px){.topbar{gap:18px}.board-tag,.local-label{display:none}.statusbar{gap:7px 14px}.statusbar-spacer{display:none}.save-status{margin-left:auto}.shortcut{display:none}}@media(max-width:820px){#libraries-pane{width:198px;flex-basis:198px;padding-left:10px;padding-top:10px}.library-item{font-size:11px}.app-shell{min-height:760px}.topbar{flex-wrap:wrap;gap:12px;padding:12px}.brand{gap:8px}.primary-actions{order:3;width:100%}.action-button{flex:1}.board-pill{max-width:48%;font-size:.8125rem}.workspace{padding:10px;grid-template-rows:minmax(240px,1fr) 220px}.filebar{padding:5px 8px;gap:2px}.filebar button,.example-picker{padding:0 7px}.toolbar-divider{margin:0 3px}.statusbar{padding:8px 12px;gap:7px 14px}.status-item{font-size:.8125rem}.save-status{margin-left:0}.cursor-position{margin-left:auto}}@media(max-width:520px){.workbench{flex-direction:column}#libraries-pane{width:auto;flex-basis:auto;height:220px;padding:8px 8px 0}.library-sidebar{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:32px minmax(0,1fr)}.library-heading{grid-column:1 / -1;height:32px}.library-detail{max-height:none;border-top:0;border-left:1px solid var(--border)}.library-list{min-height:0}.app-shell{min-height:840px}.brand strong{font-size:.8125rem;letter-spacing:.025em}.brand-mark{width:27px}.board-pill{max-width:44%;padding:7px;gap:6px}.board-pill>svg{display:none}.filebar{gap:3px}.toolbar-divider{display:none}.theme-button{margin-left:auto}.workspace{padding:8px;gap:8px;grid-template-rows:minmax(240px,1fr) 230px}.editor-tab{min-width:138px;padding:0 12px;max-width:65%}.editor-tabbar{padding-right:10px}.language-label{font-size:.75rem}.console-tabs button{gap:6px;padding:0 10px;font-size:.8125rem}.console-header{gap:4px;padding-right:5px}.console-meta{display:none}.clear-button{padding:0 5px}.clear-button svg{display:none}.diagnostic{grid-template-columns:56px 1fr;gap:5px 8px;padding:8px}.output-panel pre,.serial-output{padding:12px;font-size:.8125rem}.serial-toolbar{flex-wrap:wrap;gap:6px;padding:6px 8px}.serial-panel{grid-template-rows:auto minmax(0,1fr) 44px}.monitor-state{font-size:.75rem}.serial-send{padding:5px 8px}.statusbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.status-item{flex-wrap:wrap;gap:4px 6px}.status-item strong{font-size:.75rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.activity-track.indeterminate>span{width:100%;opacity:.65}}.app-shell{min-height:580px}.topbar{min-height:58px;gap:14px;padding:8px 16px;box-shadow:0 1px 3px #1b233408}.brand strong>span,.status-item strong{color:var(--text)}.brand-mark{color:var(--blue)}.brand-mark>span{background:#f69c29;border-radius:50%}.primary-actions{order:5}.board-pill{background:transparent;border:0;padding-right:0;font:11px var(--mono);letter-spacing:.025em}.board-controls{display:flex;gap:4px}.board-controls button{display:inline-flex;align-items:center;gap:5px;height:29px;padding:0 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--muted);font-size:11px}.action-button{height:36px;min-width:95px;font-size:12px;box-shadow:0 1px 2px #0002}:root[data-theme=light] .action-button.compile{background:#2868ec;color:#fff;border-color:#2460da}.editor-meta .autocomplete-toggle{border:1px solid var(--border);border-radius:6px;padding:3px 7px;font-size:11px;line-height:18px;white-space:nowrap}.autocomplete-toggle[aria-pressed=true]{color:var(--blue);background:var(--surface-2)}.cm-tooltip-autocomplete{max-width:min(560px,88vw);font-size:12px}.cm-tooltip-autocomplete>ul{max-height:240px}.cm-completionDetail{opacity:.72;font-size:11px;margin-left:12px}.cm-completionInfo{max-width:min(340px,70vw);padding:9px 11px;line-height:1.5;font-family:inherit;overflow-wrap:anywhere}.cm-tooltip-autocomplete .cm-completionIcon-function{color:var(--blue)}.cm-tooltip-autocomplete .cm-completionIcon-class{color:var(--purple)}.cm-tooltip-autocomplete .cm-completionIcon-variable{color:var(--cyan)}@media(max-width:1100px){.editor-meta .language-label{display:none}}:root[data-theme=light] .action-button.compile:hover:not(:disabled){background:#1b55d2}:root[data-theme=light] .action-button.upload{background:#57d77c;color:#103d20;border-color:#40bf66}:root[data-theme=light] .action-button.upload:hover:not(:disabled){background:#75e095}.filebar{min-height:42px;padding:4px 14px;background:var(--surface)}.filebar button{font-size:12px;padding:0 9px}.filebar button:has(.lucide-book-open){color:var(--purple)}.example-picker{color:var(--orange);font-size:12px}.local-label{font-size:10px;letter-spacing:0;padding-right:0}.theme-button svg{color:var(--purple)}.workspace{padding:10px;gap:0;grid-template-rows:minmax(170px,1fr) 8px minmax(0,var(--console-height, 250px))}.workspace.console-collapsed{grid-template-rows:minmax(170px,1fr) 8px 38px}.console-collapsed .output-panel,.console-collapsed .serial-panel{display:none}.console-resizer{cursor:ns-resize;position:relative;touch-action:none}.console-resizer:after{content:"";width:36px;height:2px;border-radius:2px;background:var(--border);position:absolute;left:calc(50% - 18px);top:3px}.console-resizer:hover:after,.console-resizer:focus:after{background:var(--blue)}.editor-card,.console-card{border-radius:7px}.editor-tabbar{height:37px;background:var(--surface)}.editor-tab{color:var(--text);background:var(--editor);box-shadow:inset 0 2px var(--blue)}.editor-tab svg{color:var(--blue)}.editor-meta,.language-label{color:var(--dim);font-size:10px}.editor-card .cm-editor{font-size:13px}#libraries-pane{width:228px;flex-basis:228px;padding:10px 0 10px 10px}.workspace-sidebar{height:100%;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:7px;overflow:hidden;background:var(--surface)}.sidebar-sections{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--border);flex-shrink:0}.sidebar-sections button{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 2px 8px;background:transparent;border:0;font-size:9px;color:var(--muted)}.sidebar-sections button[aria-pressed=true]{background:var(--surface-2);box-shadow:inset 0 -2px currentColor}.sidebar-sections .sketch svg,.sidebar-sections .sketch[aria-pressed=true]{color:var(--blue)}.sidebar-sections .examples svg,.sidebar-sections .examples[aria-pressed=true]{color:var(--orange)}.sidebar-sections .libraries svg,.sidebar-sections .libraries[aria-pressed=true]{color:var(--purple)}.sidebar-content{padding:14px 12px;flex:1;overflow:auto;min-height:0}.sidebar-content h2{display:flex;justify-content:space-between;color:var(--text);font-size:11px;letter-spacing:.1em;margin:0 0 16px}.sidebar-content h2 span{color:var(--dim);font:9px var(--mono);letter-spacing:.03em}.sidebar-content h3{margin:20px 0 8px;font-size:10px;letter-spacing:.06em;color:var(--muted)}.current-file{display:flex;gap:8px;align-items:center;color:var(--blue);font:12px var(--mono)}.current-file strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.sketch-actions{display:flex;gap:4px;margin-top:12px}.sketch-actions button,.rename-form button{display:inline-flex;align-items:center;gap:5px;background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:6px 8px;font-size:11px}.rename-form{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.rename-form input{width:100%;background:var(--surface);color:var(--text);padding:7px;border:1px solid var(--blue);border-radius:5px}.sidebar-note{font-size:11px;line-height:1.7;color:var(--muted)}.saved-sketches button,.example-group button{display:flex;align-items:center;gap:7px;width:100%;border:0;border-radius:5px;padding:7px 5px;background:transparent;text-align:left;font-size:11px;color:var(--text)}.saved-sketches button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-sketches button svg{color:var(--blue);flex-shrink:0}.example-group button svg{color:var(--orange)}.saved-sketches button:hover,.example-group button:hover{background:var(--surface-2)}.board-spec{display:grid;grid-template-columns:26px 1fr;gap:6px;padding-top:16px;margin-top:24px;border-top:1px solid var(--border-soft);color:var(--muted);font:10px var(--mono)}.board-spec svg{grid-row:span 2;color:var(--orange)}.board-spec strong{color:var(--text);font-size:12px}.board-spec span:nth-of-type(2),.board-spec small{grid-column:1 / -1}.board-spec small{margin-top:12px;color:var(--dim)}.workspace-sidebar .library-sidebar{border:0;border-radius:0;min-height:0}.library-search{display:block;width:calc(100% - 20px);margin:10px;padding:8px 9px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:6px;font-size:11px}.sidebar-content .library-search{margin:0;width:100%}.library-list{min-height:100px}.library-item{font-size:11px;padding:7px 6px}.library-detail{max-height:42%;padding:12px}.library-type{font-size:9px;gap:4px}.library-footnote{line-height:1.7}.console-card{grid-template-rows:38px minmax(0,1fr)}.console-header{gap:6px}.console-tabs button{padding:0 12px;font-size:12px}.console-tabs .output-tab.active{background:var(--console);color:#f3f6ff;box-shadow:inset 0 -2px #7ca8ff}.console-tabs .serial-tab svg,.console-tabs .serial-tab.active{color:var(--cyan)}.console-tabs .serial-tab.active{background:var(--surface);box-shadow:inset 0 -2px var(--cyan)}.console-meta{font-size:10px}.output-panel{--green: #a5ea72;--cyan: #68d9ee;--danger: #ff9387;--orange: #ffc178;--yellow: #ffd678;--muted: #aebacf;background:#121721;color:#cdd5e3}.output-panel pre{font-size:12px;line-height:1.65;padding:12px 16px}.compile-stage,.upload-stage{display:flex;align-items:center;gap:8px;padding:9px 14px;color:#86b7ff;font:10px var(--mono);border-bottom:1px solid #ffffff12}.compile-stage strong,.upload-stage strong{white-space:nowrap}.compile-stage span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#b0b9c9}.compile-stage.complete,.upload-stage{color:#a5ea72}.compile-stage.failed{color:#ff9387}.upload-stage progress{height:5px;max-width:150px}.compile-summary{display:flex;gap:25px;padding:12px 16px;border-bottom:1px solid #ffffff12}.memory-meter{width:180px;font-size:10px}.memory-meter>span{display:flex;justify-content:space-between}.memory-meter strong{color:#a5ea72;font-weight:500}progress{display:block;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border:none;border-radius:3px;overflow:hidden;background:#ffffff18;accent-color:#81b0ff}progress::-webkit-progress-bar{background:#ffffff18}progress::-webkit-progress-value{background:#81b0ff}progress::-moz-progress-bar{background:#81b0ff}.memory-meter progress{margin:7px 0 5px}.ram progress::-webkit-progress-value{background:#bd98ed}.ram progress::-moz-progress-bar{background:#bd98ed}.memory-meter small{color:#aebacf;font:10px var(--mono)}.compile-facts{display:grid;gap:4px;font-size:10px}.compile-facts strong{color:#e4edff;font:12px var(--mono)}.compile-facts small{color:#aebacf}.compile-summary.outdated{opacity:.65}.friendly-errors{padding:10px 12px 0}.friendly-errors button{display:grid;gap:5px;width:100%;text-align:left;border:1px solid #ff938740;border-left:3px solid #ff9387;border-radius:5px;padding:10px;background:#ff93870a;color:#e9eaf0;font-size:12px;margin-bottom:6px}.friendly-errors strong{color:#ff9387;font:11px var(--mono)}.friendly-errors small{color:#ffc178}.friendly-errors p{color:#aebacf;font-size:10px}.diagnostic{font-size:11px;padding:7px 10px}.serial-panel{background:var(--surface);color:var(--text);grid-template-rows:auto minmax(0,1fr) 40px}.serial-toolbar{min-height:40px;flex-wrap:wrap;gap:8px}.serial-toolbar :is(select,.glass-select){font-size:11px;height:28px}.serial-toolbar label{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--muted)}.serial-toolbar label input{accent-color:var(--cyan);margin:0}.serial-output{color:var(--text);font-size:12px;padding:10px 14px}.monitor-button,.serial-send button{background:#a1e9f2;color:#12515e;border-color:#69cbdb;font-size:11px;height:28px}.monitor-button:hover:not(:disabled),.serial-send button:hover:not(:disabled){background:#c0f2f8}.monitor-state.live{color:var(--cyan)}.monitor-state.live:before{background:var(--cyan)}.serial-send{grid-template-columns:minmax(0,1fr) auto auto;gap:7px}.serial-send :is(select,.glass-select){border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:5px;font-size:10px;max-width:145px}.serial-send input{height:28px;font-size:11px}.serial-plotter{min-height:0;display:flex;flex-direction:column;padding:7px 14px;overflow:hidden}.plot-legend{display:flex;flex-wrap:wrap;gap:10px;font:10px var(--mono);min-height:21px}.plot-legend>span{display:flex;align-items:center;gap:5px}.plot-legend i{width:7px;height:7px;border-radius:50%}.plot-legend small{margin-left:auto;color:var(--muted)}.serial-plotter svg{min-height:0;width:100%;flex:1;font:10px var(--mono)}.plot-empty{display:grid;justify-content:center;align-content:center;text-align:center;gap:8px;height:100%;font-size:12px;color:var(--muted)}.plot-empty code{color:var(--cyan)}.plot-empty span{font-size:10px}.statusbar{min-height:28px;padding:5px 14px;font-size:10px;gap:12px}.status-item strong,.save-status,.cursor-position{font-size:10px}.save-status{color:var(--green)}.diagnostics-screen{position:absolute;z-index:10;right:16px;top:105px;width:min(470px,calc(100% - 32px));max-height:calc(100dvh - 145px);overflow:auto;border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 45px #0002;background:var(--surface);padding:16px}.diagnostics-screen header{display:flex;align-items:center;justify-content:space-between}.diagnostics-screen h2{font-size:12px;letter-spacing:.05em;margin:0}.diagnostics-screen header button{display:flex;padding:5px;border:0;background:transparent}.diagnostics-screen dl>div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-soft);font-size:12px}.diagnostics-screen dt{color:var(--muted)}.diagnostics-screen dd{margin:0}.diagnostics-screen small{color:var(--muted);font-size:10px;line-height:1.7}.save-error{background:var(--danger-soft);color:var(--danger);font-size:12px;padding:8px 16px}@media(max-width:1100px){.topbar{gap:9px}.board-pill,.board-controls button{font-size:10px}.local-label,.console-meta{display:none}.filebar{flex-wrap:wrap}}@media(max-width:820px){.app-shell{min-height:600px}.primary-actions{width:auto;order:5}.topbar{flex-wrap:wrap}.board-pill{margin-left:auto}#libraries-pane{width:200px;flex-basis:200px}.sidebar-sections button span{display:none}.workspace{grid-template-rows:minmax(150px,1fr) 8px minmax(0,var(--console-height))}.status-item{font-size:10px}.connection-status{display:none}.compile-summary{flex-wrap:wrap;gap:12px}.console-tabs button{padding:0 7px;font-size:10px}.console-tabs button svg{width:13px}}@media(max-width:600px){#libraries-pane{display:none}.workbench{flex-direction:row}.brand{flex:1}.board-pill{margin-left:0}.board-controls{order:4}.primary-actions{margin-left:auto}.statusbar{display:flex}.console-header{padding-right:4px}.clear-button{padding:0 3px;font-size:10px}}.convert-project,.project-export{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:7px;margin:9px 0;color:var(--blue);background:var(--surface);border:1px solid var(--border);border-radius:6px;font-size:11px;cursor:pointer}.project-files{margin:10px 0;border-top:1px solid var(--border);padding-top:9px}.project-files header{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.05em;color:var(--muted)}.project-files button{cursor:pointer;background:transparent;color:var(--text);border:0}.project-file{display:flex;gap:3px;margin:3px 0;border-radius:5px;padding-left:6px}.project-file>button:first-child{display:flex;align-items:center;gap:6px;flex:1;min-width:0;text-align:left;padding:5px 0;font:11px monospace}.project-file span{overflow:hidden;text-overflow:ellipsis}.project-file.selected{background:var(--surface-2);box-shadow:inset 2px 0 var(--blue)}.file-form,.file-confirm{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0;font-size:11px}.file-form input{width:100%;min-width:0;padding:6px;border:1px solid var(--border);color:var(--text);background:var(--surface);border-radius:5px}.file-form button,.file-confirm button{border:1px solid var(--border);padding:5px 7px;border-radius:5px}.project-error{color:var(--orange);font-size:11px}.project-editor-tabs{display:flex;gap:2px;flex-shrink:0;border-bottom:1px solid var(--border);overflow:auto;background:var(--surface)}.project-editor-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);padding:6px 12px;white-space:nowrap;font:11px monospace;cursor:pointer}.project-editor-tabs button[aria-current]{color:var(--blue);border-bottom-color:var(--blue)}.sidebar-sections{grid-template-columns:repeat(5,minmax(0,1fr))}.pin-helper{padding:14px;overflow:auto;font-size:12px}.pin-helper h2{font-size:11px;letter-spacing:.08em;display:flex;justify-content:space-between}.pin-helper>p{font-size:10px;color:var(--muted);line-height:1.6}.pin-helper :is(select,.glass-select){width:100%;margin:10px 0;padding:6px;background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:5px;font-size:11px}.pin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.pin-grid button{display:flex;align-items:center;gap:5px;padding:7px 5px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:5px;font:11px monospace;cursor:pointer}.pin-grid i{width:5px;height:5px;border-radius:50%;background:var(--blue)}.pin-grid .pwm-pin i{background:#1fa558}.pin-grid .analog-pin i{background:#8659db}.pin-grid .power-pin i{background:#e87d28}.pin-grid button[aria-pressed=true]{border-color:var(--blue);background:var(--surface-2)}.pin-details{margin:12px 0;border-top:1px solid var(--border);padding-top:10px}.pin-details h3{color:var(--blue);font:600 20px monospace;margin-bottom:7px}.pin-details p{font-size:11px;line-height:1.7}.pin-details span{display:inline-block;padding:3px 5px;border:1px solid var(--border);border-radius:4px;font-size:8px;margin:0 4px 4px 0}.pin-helper a{color:var(--blue);font-size:10px}.pin-tooltip{padding:10px;max-width:310px;display:flex;flex-direction:column;gap:5px;background:var(--surface);color:var(--text);font-size:12px}.pin-tooltip strong{color:var(--blue)}.pin-tooltip span{font-size:11px;line-height:1.5}.workbench-dialog{width:min(650px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:18px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);box-shadow:0 12px 45px #0003}.workbench-dialog>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.workbench-dialog h2{font-size:16px}.workbench-dialog header button{display:flex;border:0;background:transparent;color:var(--muted);padding:4px;cursor:pointer}.dialog-note{color:var(--muted);font-size:12px;line-height:1.65;margin:8px 0 14px}.hardware-steps{list-style:none;padding:0;margin:0}.hardware-steps li{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:start;border-top:1px solid var(--border);padding:12px 0;font-size:12px}.hardware-steps span{color:var(--muted);line-height:1.6}.hardware-steps button{display:flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid var(--border);border-radius:5px;background:var(--surface-2);color:var(--blue);font-size:11px;cursor:pointer}.hardware-steps button:disabled{opacity:.4;cursor:default}.hardware-output{white-space:pre-wrap;overflow-wrap:anywhere;background:#10151d;color:#d5e0ec;border:1px solid #253140;border-radius:5px;font:11px/1.6 monospace;padding:10px;max-height:180px;overflow:auto;margin-top:14px}.workbench-dialog details{font-size:11px}.workbench-dialog details pre{white-space:pre-wrap;padding:10px;background:var(--surface-2);font:11px/1.6 monospace}.shortcut-reference>div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border);font-size:12px}.shortcut-reference dd{margin:0}.status-memory{font:10px monospace;white-space:nowrap;color:var(--muted)}.statusbar{gap:12px}.shortcut-help{font-weight:700}@media(max-width:1150px){.status-memory{display:none}}@media(max-width:650px){.hardware-steps li{grid-template-columns:1fr}.hardware-steps button{justify-content:center}}.plot-controls{display:flex;align-items:center;gap:7px;padding:6px 0;flex-wrap:wrap;font-size:10px;flex-shrink:0}.plot-controls button,.plot-controls :is(select,.glass-select){color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:5px;font-size:10px;padding:4px 7px;cursor:pointer}.plot-controls button[aria-pressed=true]{color:#e78324;border-color:#e78324}.plot-controls button:disabled{opacity:.4;cursor:default}.plot-controls label{display:flex;align-items:center;gap:4px;color:var(--muted)}.plot-controls input{accent-color:#008aa6}.offline-status>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--border);font-size:12px}.offline-status dd{margin:0;color:var(--muted)}.offline-actions{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.offline-actions button{padding:7px 10px;border:1px solid var(--border);background:var(--surface-2);color:var(--blue);border-radius:6px;cursor:pointer;font-size:12px}.offline-actions button:disabled{opacity:.4;cursor:default}.offline-error{font-size:12px;color:#dd6650;line-height:1.6}.board-selector{display:flex;flex-direction:column;gap:2px;max-width:248px;min-width:0;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.07em}.app-shell .cm-editor{font-size:var(--editor-font-size,15px)}.sidebar-sections{grid-template-columns:repeat(4,minmax(0,1fr))}.sidebar-sections button span{display:none}.sidebar-sections button{padding:11px 2px}.settings-actions button,.system-check-run,.debug-notices button{border:1px solid var(--border);border-radius:6px;padding:5px 9px;background:var(--surface-2);color:var(--blue);font:inherit;cursor:pointer}.system-check-rows{font-size:12px;margin:14px 0}.system-check-rows>div{display:grid;grid-template-columns:135px 1fr;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.system-check-rows dt{color:var(--muted)}.system-check-rows dd{margin:0;overflow-wrap:anywhere;line-height:1.5}.system-check-rows [data-status=pass]{color:var(--green)}.system-check-rows [data-status=fail]{color:var(--orange)}.system-check-run{font-size:12px}.system-check-output pre{max-height:230px;overflow:auto;overflow-wrap:anywhere}.system-check-output summary{cursor:pointer}.font-size-setting{display:flex;align-items:center;gap:15px;font-size:13px}.font-size-setting input{flex:1;accent-color:var(--blue)}.font-size-setting output{font-family:var(--mono)}.settings-actions{display:flex;gap:10px;margin:20px 0;font-size:12px}.settings-stats-title{font-size:12px;margin-top:18px}.debug-notices article{border-left:2px solid var(--blue);padding:10px 12px;margin:12px 0;background:var(--surface-2);border-radius:0 6px 6px 0;font-size:12px}.debug-notices article.warning{border-color:var(--orange)}.debug-notices article.error{border-color:var(--red)}.debug-notices small{font:10px var(--mono);color:var(--muted)}.debug-notices h3{font-size:12px;margin:5px 0}.debug-notices p{line-height:1.6;margin:7px 0}.debug-notices button{font-size:11px}.compiler-technical{color:#c7d0dd}.compiler-technical>summary{padding:9px 18px;font:11px var(--mono);color:#9dabbf;cursor:pointer;border-bottom:1px solid #273241}.compiler-failure-summary{padding:10px 18px;font-size:12px;line-height:1.5;color:#ffa58f}.monitor-button[aria-pressed=true]{border-color:var(--orange);color:var(--orange)}@media(max-width:1366px){.filebar{gap:3px}.filebar>button{padding-inline:6px}.brand-target{display:none}}@media(max-width:680px){.system-check-rows>div{grid-template-columns:110px 1fr}.settings-actions{flex-wrap:wrap}}.board-selector :is(select,.glass-select){max-width:248px;width:100%;min-width:140px;height:29px;padding:3px 22px 3px 7px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font:11px var(--mono);letter-spacing:0}.board-selector :is(select,.glass-select):focus-visible{outline:2px solid #2376ff;outline-offset:2px}@media(max-width:1400px){.circuitera-brand .brand-target{display:none}.board-selector{max-width:222px}.board-selector :is(select,.glass-select){max-width:222px}.topbar{gap:12px}}@media(max-width:1000px){.board-selector,.board-selector :is(select,.glass-select){max-width:200px}.topbar{flex-wrap:wrap}.board-pill{margin-left:auto}}.example-unlock{font-size:13px;line-height:1.6}.example-unlock>p:first-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.example-unlock svg{color:var(--purple)}.example-unlock label{display:block;font-weight:600;margin:16px 0 6px}.example-unlock input{box-sizing:border-box;width:100%;padding:10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font:inherit}.example-unlock input:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.example-unlock #example-password-help{color:var(--muted);font-size:12px}.example-unlock [role=alert]{color:var(--red)}.example-unlock-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.example-unlock-actions button{padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer}.example-unlock-actions button[type=submit]{background:var(--blue);color:#fff;border-color:var(--blue)}:where(button,input,select,textarea){font-family:var(--font-ui)}:root{--bg:#151515;--editor:#181818;--surface:#202020;--surface-2:#292929;--surface-3:#343434;--text:#f3f3f3;--muted:#b3b3b3;--dim:#999;--border:#3b3b3b;--border-soft:#2e2e2e;--blue:#559bff;--cyan:#b7c6ce;--green:#50c697;--orange:#bababa;--purple:#b7b7b7;--yellow:#d7b66b;--console:#181818;--console-text:#d3d3d3}:root[data-theme=light]{--bg:#f7f7f7;--editor:#fff;--surface:#fff;--surface-2:#f4f4f4;--surface-3:#ededed;--text:#232323;--muted:#626262;--dim:#747474;--border:#dcdcdc;--border-soft:#eaeaea;--blue:#2563eb;--cyan:#475569;--green:#12815c;--orange:#666;--purple:#656565;--yellow:#8b6700;--console:#f7f7f7;--console-text:#3c3c3c}.app-shell{font-family:var(--font-ui)}.app-shell .circuitera-brand{color:inherit;text-decoration:none}.app-shell .lucide{stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.app-shell .topbar{gap:18px;padding:13px 20px;min-height:78px;flex-wrap:wrap}.app-shell .primary-actions .action-button{height:40px;min-width:116px;width:max-content;flex:0 0 auto;padding:4px 14px 4px 6px;border:1px solid transparent;border-radius:999px;gap:8px;color:#fff;font-size:14px;font-weight:750;line-height:1.2;white-space:nowrap;align-items:center;justify-content:center;box-shadow:0 1px 2px #00000012}.app-shell .primary-actions .action-button.compile{--action-fill:rgba(89,162,251,.87);--action-hover:rgba(99,169,253,.91);--action-pressed:rgba(72,145,235,.94);--action-icon:rgba(43,116,227,.87);background:var(--action-fill)}.app-shell .primary-actions .action-button.upload{--action-fill:rgba(169,139,241,.84);--action-hover:rgba(179,151,246,.89);--action-pressed:rgba(150,117,223,.94);--action-icon:rgba(133,101,205,.72);background:var(--action-fill)}.app-shell .primary-actions .action-button .action-icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:var(--action-icon);color:#fff}.app-shell .primary-actions .action-button .action-icon svg{width:19px;height:19px;stroke-width:2.5}.app-shell .primary-actions .action-button .action-label{display:block}.app-shell .primary-actions .action-button:hover:not(:disabled){background:var(--action-hover);box-shadow:0 2px 4px #00000016}.app-shell .primary-actions .action-button:active:not(:disabled){background:var(--action-pressed);transform:translateY(1px);box-shadow:none}.app-shell .primary-actions .action-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.app-shell .primary-actions .action-button[aria-busy=true]{opacity:1;cursor:wait}.app-shell .primary-actions .action-button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}@media(max-width:600px){.app-shell .primary-actions .action-button{flex:1 0 100%;width:100%;min-width:0}}.app-shell .board-selector{border-radius:9px;border-color:var(--border);background:transparent;box-shadow:none;color:var(--text);max-width:260px}.app-shell .board-controls button,.app-shell .test-uno-button{border-color:var(--border);border-radius:9px;background:var(--surface-2);color:var(--muted)}.app-shell .board-pill{border-radius:10px;background:var(--surface-2);max-width:240px}.app-shell .filebar{padding:8px 15px;gap:4px}.app-shell .filebar button,.app-shell .example-picker{border-radius:8px;font-size:12px;height:33px}.app-shell .filebar button svg,.app-shell .example-picker svg,.app-shell .sidebar-sections button svg,.app-shell .sidebar-sections button[aria-pressed=true],.app-shell .board-spec svg{color:var(--muted)}.app-shell .sidebar-sections button[aria-pressed=true]{color:var(--text);box-shadow:inset 0 -2px var(--text)}.app-shell .workspace-sidebar,.app-shell .editor-card,.app-shell .console-card{border-radius:12px}.app-shell .sidebar-content{padding:16px 13px}.app-shell .sidebar-content h2{letter-spacing:.08em;font-size:10px}.app-shell .current-file{color:var(--text)}.app-shell .saved-sketches button svg,.app-shell .example-group button svg{color:var(--muted)}.app-shell .sketch-tab{border-radius:8px 8px 0 0}.app-shell .console-tabs button{font-size:12px}.app-shell .board-spec,.app-shell .about-circuitera{color:var(--muted)}.app-shell .board-spec strong{color:var(--text)}.app-shell button:focus-visible,.app-shell a:focus-visible,.app-shell :is(select,.glass-select):focus-visible,.app-shell input:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.app-shell .workbench,.app-shell .workspace,.app-shell .console-card{min-width:0}@media(max-width:1200px){.app-shell .topbar{gap:12px}.app-shell .board-pill{margin-left:auto}.app-shell .board-controls{flex-wrap:wrap}.app-shell .brand-target{display:none}}@media(max-width:900px){.app-shell .topbar{padding:11px 14px}.app-shell .primary-actions{gap:7px}.app-shell .board-selector{max-width:220px}.app-shell .board-pill{margin-left:0}.app-shell .board-controls{margin-left:auto}.app-shell .action-button{min-width:90px;padding:0 12px}.app-shell .ide-site-tools{margin-left:0}}@media(max-width:600px){.app-shell{height:auto;min-height:100dvh}.app-shell .topbar{gap:12px}.app-shell .primary-actions{flex-wrap:wrap;width:100%;order:2}.app-shell .board-selector{flex:1;min-width:0;max-width:none}.app-shell .board-controls{max-width:100%;margin-left:0}.app-shell .board-pill{margin-left:auto;font-size:10px;max-width:180px}.app-shell .filebar{padding:7px 10px}.app-shell .workbench{flex-direction:column}.app-shell #libraries-pane{display:block;width:100%;flex-basis:auto;height:230px;padding:10px 10px 0}.app-shell .workspace{min-height:640px;width:100%;padding:10px}.app-shell .console-header{flex-wrap:wrap;height:auto;min-height:42px}.app-shell .console-card{grid-template-rows:auto minmax(0,1fr)}.app-shell .brand .circuitera-wordmark{font-size:20px}}@media(prefers-reduced-motion:reduce){.app-shell *{scroll-behavior:auto;transition:none!important;animation-duration:.01ms!important}}.app-shell .board-selector :is(select,.glass-select){border:1px solid var(--border);border-radius:9px;background:var(--surface-2);box-shadow:none}:root[data-theme=light] .app-shell .primary-actions .action-button{background:var(--action-fill);border-color:transparent;color:#fff}:root[data-theme=light] .app-shell .primary-actions .action-button:hover:not(:disabled){background:var(--action-hover)}:root[data-theme=light] .app-shell .primary-actions .action-button:active:not(:disabled){background:var(--action-pressed)}.app-shell .output-panel{--green:inherit;--cyan:inherit;--danger:inherit;--orange:inherit;--yellow:inherit;--muted:inherit;background:var(--console);color:var(--console-text)}.app-shell .serial-output{color:var(--console-text)}.app-shell .console-tabs .output-tab.active,.app-shell .console-tabs .serial-tab.active{color:var(--text);background:var(--surface-2);box-shadow:inset 0 -2px var(--text)}.app-shell .status-item strong{color:var(--text)}.app-shell .compile-stage,.app-shell .compile-stage span:last-child,.app-shell .compiler-technical,.app-shell .compiler-technical>summary,.app-shell .memory-meter small,.app-shell .compile-facts small{color:var(--muted);border-color:var(--border)}.app-shell .compile-stage.complete,.app-shell .upload-stage,.app-shell .memory-meter strong{color:var(--green)}.app-shell .compile-stage.failed,.app-shell .compiler-failure-summary{color:var(--danger)}.app-shell .compile-facts strong{color:var(--text)}.app-shell .friendly-errors button{color:var(--text);background:var(--danger-soft);border-color:var(--danger);border-radius:9px}.app-shell .friendly-errors strong{color:var(--danger)}.app-shell .friendly-errors small,.app-shell .friendly-errors p{color:var(--muted)}.app-shell .monitor-button,.app-shell .serial-send button{background:var(--surface-2);color:var(--text);border-color:var(--border);border-radius:8px}.app-shell .monitor-button.stop{color:var(--danger);background:var(--danger-soft)}.app-shell .hardware-output{background:var(--console);color:var(--console-text);border-color:var(--border);border-radius:9px}.app-shell .plot-controls button[aria-pressed=true]{color:var(--text);border-color:var(--muted)}.app-shell .log-line.log-warning{color:var(--yellow)}.app-shell .library-error,.app-shell .library-proof.fail{color:var(--danger)}.app-shell .console-card{grid-template-rows:auto minmax(0,1fr)}.app-shell .console-header{min-height:38px;flex-wrap:wrap;padding:4px 8px;gap:4px}.app-shell .console-tabs{height:auto;flex-wrap:wrap;min-width:0;gap:2px}.app-shell .workspace.console-collapsed{grid-template-rows:minmax(170px,1fr) 8px auto}.app-shell .console-tabs button{padding:7px 9px;min-height:34px;height:auto;border-radius:7px}.app-shell .console-tabs button[aria-selected=true]{color:var(--text);background:var(--surface-2);box-shadow:inset 0 -2px var(--text)}.app-shell .console-meta{margin-left:auto}.app-shell .build-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border-soft);font-size:12px;color:var(--muted)}.app-shell .build-status strong{font-weight:600}.app-shell .build-status span{color:var(--muted)}.app-shell .build-ok{color:var(--green)}.app-shell .build-error{color:var(--danger)}.app-shell .problem-navigation{display:flex;flex-wrap:wrap;gap:7px;padding:9px 12px;border-bottom:1px solid var(--border-soft)}.app-shell .problem-navigation button{display:inline-flex;align-items:center;gap:4px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:7px;padding:5px 8px;font-size:11px}.app-shell .problem-list{list-style:none;margin:0;padding:5px 10px}.app-shell .problem-item{display:flex;width:100%;gap:9px;padding:9px 8px;text-align:left;background:transparent;color:var(--text);border:1px solid transparent;border-bottom-color:var(--border-soft);border-radius:7px}.app-shell .problem-item:hover,.app-shell .problem-item[aria-current=true]{background:var(--surface-2);border-color:var(--border)}.app-shell .problem-item>span{display:grid;gap:3px;min-width:0;overflow-wrap:anywhere}.app-shell .problem-item strong{font:12px/1.5 var(--mono);font-weight:500;white-space:pre-wrap}.app-shell .problem-item small,.app-shell .problem-hint{font-size:11px;line-height:1.5;color:var(--muted)}.app-shell .problem-severity{font-size:10px;text-transform:uppercase;letter-spacing:.04em}.app-shell .problem-error>svg,.app-shell .problem-error .problem-severity{color:var(--danger)}.app-shell .problem-warning>svg,.app-shell .problem-warning .problem-severity{color:var(--yellow)}.app-shell .problem-note>svg{color:var(--muted)}.app-shell .console-empty{padding:12px 15px;font-size:12px;color:var(--muted)}.app-shell .system-events{list-style:none;padding:8px 14px;margin:0;font-size:12px;line-height:1.6}.app-shell .system-events li{display:flex;gap:8px;padding:5px 0;color:var(--muted);overflow-wrap:anywhere}.app-shell .system-events svg{flex-shrink:0;margin-top:3px}.app-shell .compiler-diagnostic-gutter{width:19px}.app-shell .compiler-gutter-icon{display:flex;padding:2px;color:var(--muted)}.app-shell .compiler-gutter-icon.error,.app-shell .compiler-inline-message.error{color:var(--danger)}.app-shell .compiler-gutter-icon.warning,.app-shell .compiler-inline-message.warning{color:var(--yellow)}.app-shell .compiler-error-line{border-left:2px solid transparent}.app-shell .compiler-line-error{border-left-color:var(--danger);background:color-mix(in srgb,var(--danger) 5%,transparent)}.app-shell .compiler-line-warning{border-left-color:var(--yellow);background:color-mix(in srgb,var(--yellow) 5%,transparent)}.app-shell .compiler-inline-messages{padding:2px 12px 5px 8px;white-space:normal}.app-shell .compiler-inline-message{font:11px/1.5 var(--font-ui);overflow-wrap:anywhere;color:var(--muted)}.app-shell .output-panel .log-error{color:var(--danger)}.app-shell .output-panel .log-warning{color:var(--yellow)}.app-shell .output-panel .log-success{color:var(--green)}.app-shell .copy-status{font-size:11px;color:var(--muted)}.app-shell .quick-fix-actions{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px;padding:3px 8px 10px 33px}.app-shell .quick-fix-button,.app-shell .quick-fix-notice button{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:6px 9px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text);font-size:11px;text-align:left;line-height:1.5;overflow-wrap:anywhere}.app-shell .quick-fix-button svg{flex-shrink:0}.app-shell .quick-fix-button:hover:not(:disabled),.app-shell .quick-fix-notice button:hover:not(:disabled){border-color:var(--muted)}.app-shell .quick-fix-button:disabled,.app-shell .quick-fix-notice button:disabled{opacity:.5;cursor:not-allowed}.app-shell .quick-fix-preview{max-width:100%;color:var(--muted);font-size:11px}.app-shell .quick-fix-preview summary{padding:6px 3px;cursor:pointer;border-radius:4px}.app-shell .quick-fix-preview summary:focus-visible{outline:2px solid var(--text);outline-offset:2px}.app-shell .quick-fix-preview pre{margin:3px 0 7px;padding:5px 8px;border:1px solid var(--border-soft);border-radius:6px;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.5 var(--mono);color:var(--text)}.app-shell .quick-fix-notice{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:9px 14px;font-size:11px;color:var(--muted);border-bottom:1px solid var(--border-soft)}.app-shell .problem-filters{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:7px 12px;border-bottom:1px solid var(--border-soft)}.app-shell .problem-filters button,.app-shell .problem-related button{padding:5px 8px;border:1px solid var(--border);border-radius:7px;background:transparent;color:var(--muted);font-size:11px}.app-shell .problem-filters button[aria-pressed=true]{background:var(--surface-2);color:var(--text);border-color:var(--muted)}.app-shell .problem-filters small{font-size:10px;color:var(--muted)}.app-shell .problem-related{display:flex;flex-wrap:wrap;gap:6px;padding:2px 8px 5px 33px}.app-shell .problem-example{font:11px/1.5 var(--mono);overflow-wrap:anywhere;color:var(--muted)}.app-shell .problem-suggestion>svg,.app-shell .compiler-inline-message.suggestion{color:var(--muted)}.app-shell .cm-tooltip.cm-arduino-signature{max-width:min(420px,85vw);padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text);box-shadow:0 2px 8px #0001;font:12px/1.6 var(--mono);white-space:normal;overflow-wrap:anywhere}.app-shell .cm-arduino-signature strong{text-decoration:underline;text-underline-offset:3px}.app-shell{--ui-ease:cubic-bezier(.2,.7,.2,1);--ui-selected:var(--surface-3)}.app-shell button,.app-shell :is(select,.glass-select){transition:background-color .18s var(--ui-ease),border-color .18s var(--ui-ease),color .18s var(--ui-ease),opacity .18s var(--ui-ease)}.app-shell .lucide{stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.app-shell .primary-actions .action-button .action-icon svg{stroke-width:2}.app-shell .ide-status-chip{flex:0 1 auto;min-width:0;max-width:210px;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:12px;line-height:18px;transition:color .18s var(--ui-ease),border-color .18s var(--ui-ease)}.app-shell .ide-status-chip[data-tone=blue]{color:var(--blue)}.app-shell .ide-status-chip[data-tone=green]{color:var(--green)}.app-shell .ide-status-chip[data-tone=amber]{color:#d9b562}.app-shell .ide-status-chip[data-tone=red]{color:#ff9292}:root[data-theme=light] .app-shell .ide-status-chip[data-tone=amber]{color:#876100}:root[data-theme=light] .app-shell .ide-status-chip[data-tone=red]{color:#b83232}.status-chip-content{display:flex;align-items:center;gap:7px;opacity:1;transition:opacity 90ms ease}.status-chip-content>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-chip-content.changing{opacity:.25}.status-chip-spinner{animation:ui-rotate 1.2s linear infinite}@keyframes ui-rotate{to{transform:rotate(360deg)}}.ui-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.app-shell .sketch-tabs{gap:4px;padding:3px 4px;align-items:center}.app-shell .sketch-tab-wrap{height:30px;max-width:220px;min-width:0;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-2);align-items:center;transition:background-color .18s var(--ui-ease),border-color .18s var(--ui-ease)}.app-shell .sketch-tab-wrap.selected{background:var(--ui-selected);border-color:var(--border);box-shadow:inset 0 -2px var(--muted)}.app-shell .sketch-tab-wrap>button[role=tab]{height:28px;border-radius:7px;padding:4px 8px}.app-shell .sketch-tab-wrap.selected>button[role=tab]{font-weight:650;color:var(--text)}.app-shell .sketch-tab-wrap>.close-sketch-tab{width:28px;height:28px;flex:0 0 28px;border-radius:7px;justify-content:center;padding:0;opacity:.6}.app-shell .dirty-dot{width:5px;height:5px;background:var(--muted)}.app-shell .project-editor-tabs{gap:4px;padding:2px 4px;min-width:0}.app-shell .project-editor-tabs button{display:flex;align-items:center;gap:6px;max-width:220px;flex:0 0 auto;border:1px solid transparent;border-radius:6px;padding:2px 8px}.app-shell .project-editor-tabs button>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell :is(.sidebar-sections button[aria-pressed=true],.console-tabs button[aria-selected=true],.filebar button[aria-pressed=true],.problem-filters button[aria-pressed=true],.project-editor-tabs button[aria-current],.autocomplete-toggle[aria-pressed=true]){background:var(--ui-selected);color:var(--text);border-color:var(--border);border-radius:8px;box-shadow:inset 0 -2px var(--muted);font-weight:650}.app-shell :is(.saved-sketch-row.active,.project-file.selected,.library-item.selected){background:var(--ui-selected);color:var(--text);border-color:var(--border);border-radius:8px;box-shadow:inset 2px 0 var(--muted)}.app-shell :is(.saved-sketch-row.active,.project-file.selected)>button:first-child{font-weight:650;color:var(--text)}.app-shell .library-item.selected{font-weight:650}.app-shell .board-selector :is(select,.glass-select){color:var(--text);font-weight:600;background:var(--surface-2)}.app-shell .console-tabs button svg{color:inherit}.app-shell :is(button,a,input,:is(select,.glass-select),summary,[tabindex]):focus-visible{outline:2px solid var(--blue);outline-offset:2px}.app-shell .sketch-tabs button:focus-visible,.app-shell .project-editor-tabs button:focus-visible{outline-offset:-2px}.loading-skeleton{width:100%;min-width:0;max-width:360px;padding:10px;box-sizing:border-box;color:var(--muted)}.skeleton-label{display:block;font-size:12px;margin-bottom:8px}.skeleton-row{display:flex;align-items:center;gap:10px;padding:8px 0}.skeleton-icon{flex:0 0 28px;height:28px;border-radius:8px}.skeleton-copy{display:grid;gap:6px;flex:1;min-width:0}.skeleton-copy>span{display:block;height:8px;width:75%;border-radius:4px}.skeleton-copy>span:last-child{width:48%;height:6px}.skeleton-icon,.skeleton-copy>span{background:var(--border);animation:ui-skeleton 1.4s ease-in-out infinite}.loading-skeleton.compact{max-width:290px;padding:6px 12px}.loading-skeleton.compact .skeleton-row{padding:0}.loading-skeleton.compact .skeleton-icon{display:none}@keyframes ui-skeleton{0%,to{opacity:.5}50%{opacity:.8}}@media(max-width:1200px){.app-shell .ide-status-chip{margin-left:auto}}@media(max-width:900px){.app-shell .editor-meta .shortcut{display:none}.app-shell .ide-status-chip{margin-left:0}}@media(max-width:600px){.app-shell .ide-status-chip{max-width:170px;font-size:11px;margin-left:auto}.app-shell .primary-actions .action-button{flex:1 1 0;width:auto;min-width:0}.app-shell .primary-actions .board-selector{flex:1 0 100%;box-sizing:border-box}.app-shell .editor-meta{display:none}.app-shell .sketch-tab-wrap{max-width:180px}.app-shell .board-controls{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.app-shell *,.app-shell *:before,.app-shell *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.app-shell .topbar{min-width:0}.app-shell .topbar>.brand{order:0;flex:0 1 auto;min-width:0}.app-shell .topbar>.ide-status-chip{order:1;margin-left:0}.app-shell .topbar>.board-controls{order:2;flex:0 0 auto;margin-left:auto;flex-wrap:wrap;max-width:100%}.app-shell .topbar>.primary-actions{order:3;display:flex;align-items:center;flex:1 1 390px;min-width:min(100%,390px);width:auto;margin-left:0}.app-shell .topbar .board-selector{flex:1 1 140px;min-width:0;max-width:none}.app-shell .topbar .board-selector :is(select,.glass-select){width:100%;min-width:0;max-width:none}.app-shell .topbar .primary-actions .action-button{flex:0 0 auto;width:max-content}@media(max-width:600px){.app-shell .topbar>.primary-actions{flex-basis:100%;min-width:0;flex-wrap:wrap;justify-content:flex-end}.app-shell .topbar .board-selector{flex:1 0 100%}.app-shell .topbar>.board-controls{flex:0 1 auto}}.app-shell .cm-auto-semicolon-reveal{animation:semicolon-reveal .65s cubic-bezier(.22,1,.36,1) both}@keyframes semicolon-reveal{0%{opacity:.06;filter:blur(5px)}to{opacity:1;filter:blur(0)}}@media(prefers-reduced-motion:reduce){.app-shell .cm-auto-semicolon-reveal{animation:none!important;opacity:1;filter:none}}.app-shell{--ui-ease:cubic-bezier(.22,1,.36,1)}.app-shell .ide-status-chip{transition:color .25s var(--ui-ease),border-color .25s var(--ui-ease)}.app-shell .ide-status-chip.connected-pulse{animation:connection-confirm .42s var(--ui-ease)}.app-shell .ide-status-chip.verified-pulse{animation:verify-confirm .42s var(--ui-ease)}@keyframes connection-confirm{0%,to{transform:scale(1)}45%{transform:scale(1.04)}}@keyframes verify-confirm{0%,to{transform:scale(1);opacity:1}45%{transform:scale(1.025);opacity:.85}}.app-shell .closing-tab{pointer-events:none;animation:tab-depart .15s var(--ui-ease) forwards;overflow:hidden;transform-origin:left center}.app-shell .closing-tab-label{display:flex;align-items:center;gap:7px;padding:4px 8px;min-width:0;font:11px var(--mono)}.app-shell .closing-tab-label>span:not(.dirty-dot){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-shell .closing-tab-x{display:grid;place-items:center;width:28px;flex:0 0 28px}@keyframes tab-depart{to{opacity:0;transform:scale(.96)}}.app-shell .cm-editor .cm-bracket-flash{background:color-mix(in srgb,var(--blue) 12%,transparent);outline:1px solid color-mix(in srgb,var(--blue) 28%,transparent);border-radius:3px}.app-shell .cm-editor .cm-activeLine{background:color-mix(in srgb,var(--text) 3%,transparent);transition:background-color .18s var(--ui-ease)}.app-shell .cm-editor.cm-is-typing .cm-activeLine{background:color-mix(in srgb,var(--text) 6%,transparent)}@media(prefers-reduced-motion:reduce){.app-shell .closing-tab{display:none}.app-shell .ide-status-chip,.app-shell .cm-editor .cm-activeLine{animation:none!important;transition:none!important}}.app-shell .closing-tab.selected .closing-tab-label{font-weight:650}.app-shell .topbar>.status-history-wrap{order:1;flex:0 1 auto;min-width:0;position:relative}.app-shell .status-history-wrap .ide-status-chip{cursor:pointer;max-width:240px}.status-history{position:absolute;z-index:60;top:calc(100% + 6px);left:0;width:min(300px,85vw);padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);font-size:12px;box-shadow:0 4px 14px #00000012}.status-history ol{margin:8px 0 0;padding-left:16px}.status-history li{padding:4px 0;color:var(--muted)}.app-shell .board-selector{position:relative}.board-choice{display:flex;gap:4px;min-width:0}.board-choice :is(select,.glass-select){flex:1;min-width:0}.board-choice>.board-search-trigger{display:grid;place-items:center;flex:0 0 29px;height:29px;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--muted)}.board-search-popover{position:absolute;top:calc(100% + 5px);right:0;width:min(360px,88vw);z-index:70;border:1px solid var(--border);padding:8px;border-radius:10px;background:var(--surface);box-shadow:0 4px 14px #00000012}.board-search-popover input{width:100%;min-width:0;padding:8px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--text)}.board-search-popover [role=option]{display:flex;justify-content:space-between;gap:8px;text-align:left;width:100%;padding:9px 7px;border:0;border-radius:6px;background:transparent;color:var(--text);font-size:12px;white-space:normal}.board-search-popover [aria-selected=true]{background:var(--surface-3);font-weight:650}.board-search-popover small{color:var(--muted);font-weight:400}.upload-success-icon svg{animation:upload-check-in .22s var(--ui-ease)}@keyframes upload-check-in{0%{opacity:.15;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.serial-unread{width:5px;height:5px;border-radius:50%;background:var(--muted);flex:none}.app-shell .serial-live{color:var(--muted);border:1px solid var(--border);border-radius:999px;background:var(--surface-2);font-size:11px}.app-shell .editor-card{position:relative}.zoom-feedback{position:absolute;right:12px;top:65px;z-index:8;padding:5px 9px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted);font-size:11px;pointer-events:none;animation:feedback-fade .7s var(--ui-ease) both}.local-feedback,.copy-status{font-size:11px;color:var(--muted)}.local-feedback:not(:empty),.copy-status.success-feedback{animation:feedback-fade .9s var(--ui-ease) both}@keyframes feedback-fade{0%{opacity:0}15%,75%{opacity:1}to{opacity:0}}.recovery-notice{padding:5px 16px;background:var(--surface-2);color:var(--muted);font-size:12px}.app-shell .cm-editor .cm-symbol-occurrence{background:color-mix(in srgb,var(--text) 7%,transparent);border-radius:2px;box-shadow:inset 0 -1px color-mix(in srgb,var(--text) 22%,transparent)}.compiler-asset-error{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 12px;background:var(--surface-2);border-bottom:1px solid var(--border);font-size:12px}.compiler-asset-error span{color:var(--muted)}.compiler-asset-error button{border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);padding:4px 8px}.cache-feedback{display:inline-block;padding:4px 12px;font-size:11px;color:var(--muted)}@media(max-width:600px){.app-shell .topbar>.status-history-wrap{margin-left:auto}.status-history{left:auto;right:0}}.local-feedback{display:inline-block;min-width:48px}.app-shell #serial-tab{position:relative}.app-shell .serial-unread{position:absolute;right:5px;top:5px}.app-shell .action-button.upload .action-label{min-width:8ch}.status-history li{overflow-wrap:anywhere}.app-shell{--radius-sm:10px;--radius-md:16px;--radius-lg:22px;--radius-pill:9999px;--radius-circle:50%}.app-shell :is(.topbar button,.filebar button,.editor-meta button,.console-header button,.serial-toolbar button,.serial-send button,.plot-controls button,.sketch-actions button,.problem-navigation button,.problem-filters button,.quick-fix-button,.quick-fix-notice button,.problem-related button,.compiler-asset-error button,.save-error button,.convert-project,.project-export,.file-form button,.file-confirm button,.rename-form button,.workbench-dialog button,.delete-sketch-dialog button,.empty-editor button,.pin-grid button){border-radius:var(--radius-pill)}.app-shell :is(.sidebar-sections button,.console-tabs button,.project-editor-tabs button,.sketch-tab-wrap,.sketch-tab-wrap.selected,.sketch-tab-wrap>button[role=tab],.filebar .example-picker,.board-tag,.ide-status-chip,.serial-live,.zoom-feedback){border-radius:var(--radius-pill)}.app-shell .sketch-tab-wrap:not(.selected){background:transparent;border-color:var(--border-soft)}.app-shell .sketch-tab-wrap.selected{background:var(--ui-selected)}.app-shell .topbar .board-selector :is(select,.glass-select){border-radius:var(--radius-pill)}.app-shell :is(.library-search,.board-search-popover input,.example-picker :is(select,.glass-select),.serial-send input,.serial-send :is(select,.glass-select),.serial-toolbar :is(select,.glass-select),.plot-controls :is(select,.glass-select),.pin-helper>:is(select,.glass-select),.rename-form input,.file-form input){border-radius:var(--radius-pill);padding-inline:12px}.app-shell :is(.filebar>button[aria-label]:not(.glass-select),.board-controls>button[aria-label="Disconnect board"],.board-choice>.board-search-trigger,.new-tab-button,.sketch-tab-wrap>.close-sketch-tab,.saved-sketches .delete-sketch-button,.sketch-list-heading>button,.project-files>header>button,.project-file>button:not(:first-child),.workbench-dialog>header>button,.console-header>button[aria-label]:not(.copy-action)){--icon-control-size:28px;display:inline-grid;place-items:center;align-self:center;width:var(--icon-control-size);height:var(--icon-control-size);min-width:var(--icon-control-size);min-height:var(--icon-control-size);flex:0 0 var(--icon-control-size);padding:0;gap:0;border-radius:var(--radius-circle);line-height:1}.app-shell .filebar>button[aria-label]:not(.glass-select){--icon-control-size:32px}.app-shell .board-choice>.board-search-trigger,.app-shell .board-controls>button[aria-label="Disconnect board"]{--icon-control-size:29px}.app-shell .project-file>button:not(:first-child){--icon-control-size:24px}.app-shell :is(.filebar>button[aria-label]:not(.glass-select),.board-controls>button[aria-label="Disconnect board"],.board-choice>.board-search-trigger,.new-tab-button,.close-sketch-tab,.delete-sketch-button,.project-file>button:not(:first-child),.workbench-dialog>header>button):hover:not(:disabled){background:var(--surface-3)}.app-shell :is(.tab-menu-options,.board-search-popover,.status-history,.cm-tooltip,.cm-panels .cm-panel.cm-search){border-radius:var(--radius-md)}.app-shell :is(.tab-menu-options button,.board-search-popover [role=option],.library-item,.saved-sketch-row,.project-file){border-radius:var(--radius-sm)}.app-shell :is(.workspace-sidebar,.editor-card,.console-card,.workbench-dialog,.delete-sketch-dialog){border-radius:var(--radius-lg)}.app-shell .cm-editor,.app-shell .serial-output{border-radius:0}.app-shell .closing-tab-x{border-radius:var(--radius-circle)}.app-shell button.copy-action,.app-shell button.secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding-inline:10px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--muted);font-size:11px;white-space:nowrap}.app-shell .editor-meta button.copy-action{height:26px}.app-shell .copy-action-label{display:inline-block;inline-size:var(--copy-label-width);text-align:center}.copy-icon-swap{position:relative;display:inline-block;width:15px;height:15px;flex:0 0 15px}.copy-icon-swap svg{position:absolute;top:0;right:0;bottom:0;left:0;transition:opacity .18s var(--ui-ease),transform .18s var(--ui-ease)}.copy-icon-swap .copy-glyph{opacity:1;transform:scale(1)}.copy-icon-swap .copy-check,.copy-action[data-copied=true] .copy-glyph{opacity:0;transform:scale(.92)}.copy-action[data-copied=true] .copy-check{opacity:1;transform:scale(1)}.app-shell button.copy-action:hover:not(:disabled),.app-shell button.secondary-action:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.app-shell .dirty-dot[data-dirty]{display:inline-block;width:5px;height:5px;min-width:5px;flex:0 0 5px;background:var(--muted);border-radius:var(--radius-circle);opacity:0;transform:scale(.65);transition:opacity .18s var(--ui-ease),transform .18s var(--ui-ease)}.app-shell .dirty-dot[data-dirty=true]{opacity:1;transform:scale(1)}@media(prefers-reduced-motion:reduce){.app-shell .dirty-dot[data-dirty],.app-shell .copy-icon-swap svg{transition:none!important;animation:none!important}}.app-shell :is(.sidebar-sections button[aria-pressed=true],.console-tabs button[aria-selected=true],.filebar button[aria-pressed=true],.problem-filters button[aria-pressed=true],.project-editor-tabs button[aria-current],.autocomplete-toggle[aria-pressed=true]){border-radius:var(--radius-pill)}.app-shell :is(.saved-sketch-row.active,.project-file.selected,.library-item.selected){border-radius:var(--radius-sm)}.app-shell .primary-actions .action-button .action-icon{border-radius:var(--radius-circle)}.app-shell .function-jump{border:1px solid var(--border);border-radius:9999px;background:var(--surface-2);color:var(--muted);font:inherit;max-width:115px;min-width:0;padding:4px 8px}.app-shell .pin-grid button[data-used=true]:not([aria-pressed=true]){background:var(--surface-2);box-shadow:inset 0 -2px var(--muted);font-weight:600}.app-shell .pin-grid button[data-used=true] i{background:var(--muted)}.snapshot-history,.recent-sketches{margin:8px 0;font-size:12px;color:var(--muted)}.snapshot-history summary,.recent-sketches summary{cursor:pointer;padding:5px 0}.snapshot-history pre{max-height:200px;overflow:auto;white-space:pre-wrap;font:11px var(--mono);background:var(--surface-2);padding:8px;border-radius:10px}.snapshot-history :is(select,.glass-select){max-width:100%}.recent-sketches button{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell .serial-filter{min-width:80px;width:130px;border:1px solid var(--border);border-radius:9999px;background:var(--surface);color:var(--text);padding:5px 9px}.serial-value{font-weight:600}.serial-keyword{text-decoration:underline;text-underline-offset:3px}.problem-group{font-size:11px;color:var(--muted);padding:5px 10px}.app-shell .log-location{display:inline;background:none;border:0;padding:0;color:inherit;font:inherit;text-align:left;text-decoration:underline;text-underline-offset:3px;white-space:pre-wrap;cursor:pointer}.cm-navigation-flash{animation:navigation-reveal .35s cubic-bezier(.22,1,.36,1)}@keyframes navigation-reveal{0%{background:color-mix(in srgb,var(--text) 13%,transparent)}to{background:transparent}}@media(prefers-reduced-motion:reduce){.cm-navigation-flash{animation:none}}@media(max-width:1100px){.app-shell .function-jump{max-width:85px}.app-shell .editor-meta{min-width:0}}.app-shell .editor-meta{gap:8px}@media(max-width:600px){.app-shell .editor-meta{display:flex}.app-shell .editor-meta>:not(.function-jump){display:none}.app-shell .function-jump{max-width:85px}}.app-shell .project-tools{padding:12px;overflow:auto;font-size:12px}.app-shell .project-tools>input,.app-shell .project-tools>:is(select,.glass-select){box-sizing:border-box;width:100%;margin:4px 0;padding:7px 10px;border:1px solid var(--border);border-radius:9999px;background:var(--surface);color:var(--text)}.app-shell .project-tools button,.app-shell .project-dependencies button{border:1px solid var(--border);border-radius:9999px;background:var(--surface-2);color:var(--text);padding:5px 9px;margin:3px 0}.project-tools label{display:inline-flex;align-items:center;gap:4px;margin:4px}.project-tools p,.project-dependencies p{color:var(--muted);line-height:1.5}.project-results{list-style:none;padding:0}.project-results h4{font-size:11px;word-break:break-word;margin:12px 0 5px}.app-shell .project-results li>button:first-of-type{display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:100%;border-radius:10px;gap:4px}.project-results small{display:block;overflow-wrap:anywhere;white-space:pre-wrap;color:var(--muted);max-width:100%}.project-dependencies{padding:8px 12px;font-size:11px}.project-dependencies>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px;border-bottom:1px solid var(--border);padding:5px 0}.project-dependencies code{overflow-wrap:anywhere}.project-dependencies small{color:var(--muted)}.saved-diff{white-space:pre-wrap;font:11px var(--mono);overflow-wrap:anywhere}.saved-diff span{display:block}.saved-diff [data-change="+"]{background:var(--surface-2);font-weight:600}.saved-diff [data-change="-"]{color:var(--muted);text-decoration:line-through}.command-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0003;z-index:100;display:flex;justify-content:center;align-items:flex-start;padding:10vh 14px 20px}.command-menu{width:min(540px,100%);max-height:70vh;display:flex;flex-direction:column;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:18px;box-shadow:0 8px 30px #0002;padding:12px}.command-menu header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.command-menu header button{border-radius:50%;width:28px;height:28px;border:1px solid var(--border);background:var(--surface-2);color:inherit}.command-menu>input{padding:9px 12px;border:1px solid var(--border);border-radius:9999px;background:var(--surface-2);color:inherit}.command-menu [role=listbox]{overflow:auto;margin-top:8px}.command-menu [role=option]{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:inherit}.command-menu [aria-selected=true]{background:var(--surface-2);font-weight:600}.command-menu small{display:block;font-size:10px;color:var(--muted)}.command-menu button:disabled{opacity:.5}.command-menu kbd{font-size:10px;color:var(--muted);white-space:nowrap}.command-menu :focus-visible,.project-tools :focus-visible{outline:2px solid var(--muted);outline-offset:2px}.plot-legend small{font-size:10px;color:var(--muted)}.app-shell .topbar{box-shadow:none;border-bottom-color:var(--border-soft)}.app-shell .filebar{border-bottom-color:transparent}.app-shell .toolbar-divider{background:transparent}.app-shell .primary-actions .action-button,.app-shell .primary-actions .action-button:hover:not(:disabled){box-shadow:none}.app-shell :is(.board-controls button,.test-uno-button,.board-choice>.board-search-trigger),.app-shell .topbar .board-selector :is(select,.glass-select){border-color:transparent;background:var(--surface-2)}.app-shell .ide-status-chip{border-color:var(--border-soft)}.app-shell :is(.board-controls button,.test-uno-button,.board-choice>.board-search-trigger):hover:not(:disabled),.app-shell .topbar .board-selector :is(select,.glass-select):hover:not(:disabled){background:var(--surface-3)}.app-shell .filebar button:hover:not(:disabled),.app-shell .example-picker:hover{border-color:transparent;background:var(--surface-2)}.app-shell .filebar button:disabled:hover{border-color:transparent;background:transparent;color:var(--muted)}.app-shell .workspace-sidebar,.app-shell .editor-card{border-color:var(--border-soft);box-shadow:none}.app-shell .console-card{border-color:transparent;border-top-color:var(--border);box-shadow:none}.app-shell .sidebar-sections{border-bottom-color:transparent}.app-shell .board-spec,.app-shell .project-files,.app-shell .pin-details{border-top-color:transparent}.app-shell :is(.sketch-actions button,.rename-form button,.project-export){border-color:transparent;background:var(--surface-2)}.app-shell .convert-project{border-color:var(--border-soft);background:var(--surface-2);color:var(--text)}.app-shell :is(.sketch-actions button,.rename-form button,.project-export,.convert-project):hover:not(:disabled){background:var(--surface-3)}.app-shell :is(.saved-sketch-row.active,.project-file.selected,.library-item.selected){border-color:transparent;box-shadow:none;font-weight:650}.app-shell :is(.saved-sketch-row,.project-file,.library-item):hover{background:var(--surface-2)}.app-shell .library-heading{border-bottom-color:transparent;color:var(--text)}.app-shell .library-detail{border-top-color:var(--border-soft)}.app-shell .project-dependencies>div{border-bottom-color:transparent;padding-block:7px}.app-shell .project-results li>button:first-of-type{border-color:transparent;background:transparent}.app-shell .project-results li>button:first-of-type:hover:not(:disabled){background:var(--surface-2)}.app-shell .sketch-tab-wrap:not(.selected){border-color:transparent;background:transparent}.app-shell .sketch-tab-wrap.selected{border-color:transparent;box-shadow:none;background:var(--ui-selected)}.app-shell .sketch-tab-wrap:not(.selected):hover{background:var(--surface-2)}.app-shell :is(.sidebar-sections button[aria-pressed=true],.console-tabs button[aria-selected=true],.filebar button[aria-pressed=true],.problem-filters button[aria-pressed=true],.project-editor-tabs button[aria-current],.autocomplete-toggle[aria-pressed=true]){border-color:transparent;box-shadow:none;background:var(--ui-selected);color:var(--text);font-weight:650}.app-shell :is(.console-tabs .output-tab.active,.console-tabs .serial-tab.active){box-shadow:none}.app-shell .project-editor-tabs{border-bottom-color:transparent}.app-shell .editor-tabbar{border-bottom-color:var(--border-soft)}.app-shell :is(.function-jump,button.copy-action,.editor-meta .autocomplete-toggle){border-color:transparent;background:var(--surface-2)}.app-shell .editor-meta .autocomplete-toggle[aria-pressed=true]{background:var(--ui-selected)}.app-shell :is(.function-jump,.editor-meta .autocomplete-toggle):hover:not(:disabled){background:var(--surface-3)}.app-shell .language-label{color:var(--muted)}.app-shell .shortcut kbd{border-color:transparent;background:var(--surface-2)}.app-shell .cm-editor .cm-gutters{border-right-color:transparent}.app-shell .cm-editor .cm-activeLine,.app-shell .cm-editor .cm-activeLineGutter{background:color-mix(in srgb,var(--text) 2%,transparent)}.app-shell .cm-editor.cm-is-typing .cm-activeLine{background:color-mix(in srgb,var(--text) 4%,transparent)}.app-shell .console-header{border-bottom-color:transparent}.app-shell .console-tabs button{border-right-color:transparent}.app-shell .console-tabs button:hover:not(:disabled){background:var(--surface-2)}.app-shell :is(.build-status,.compile-stage,.upload-stage,.compile-summary,.compiler-technical>summary){border-bottom-color:transparent}.app-shell :is(.compile-stage,.upload-stage){padding-inline:14px}.app-shell .compile-summary{padding-inline:14px;gap:24px}.app-shell :is(.problem-navigation,.problem-filters,.quick-fix-notice){border-bottom-color:transparent}.app-shell :is(.problem-navigation button,.problem-filters button,.problem-related button,.quick-fix-button,.quick-fix-notice button){border-color:transparent}.app-shell :is(.problem-navigation button,.problem-filters button,.problem-related button,.quick-fix-button,.quick-fix-notice button):hover:not(:disabled){border-color:transparent;background:var(--surface-3)}.app-shell .problem-item{border-bottom-color:transparent}.app-shell .problem-item:hover,.app-shell .problem-item[aria-current=true]{border-color:transparent;background:var(--ui-selected)}.app-shell .problem-item[aria-current=true]{font-weight:650}.app-shell .serial-toolbar{border-bottom-color:transparent}.app-shell .serial-send{border-top-color:transparent}.app-shell :is(.serial-live,.monitor-button,.serial-send button,.plot-controls button){border-color:transparent}.app-shell :is(.serial-live,.monitor-button,.serial-send button,.plot-controls button):hover:not(:disabled){background:var(--surface-3)}.app-shell .plot-controls button[aria-pressed=true]{border-color:transparent;background:var(--ui-selected);font-weight:650}.app-shell .statusbar{border-top-color:var(--border-soft)}.app-shell :is(.tab-menu-options,.board-search-popover,.status-history,.cm-tooltip,.cm-tooltip.cm-arduino-signature){box-shadow:0 3px 10px #00000012}.app-shell :is(.workbench-dialog,.delete-sketch-dialog,.diagnostics-screen,.command-menu){box-shadow:0 5px 16px #00000018}.app-shell .topbar{padding:10px 16px;min-height:66px;gap:12px}.app-shell .topbar>.board-controls{margin-left:0;gap:6px}.app-shell .topbar>.primary-actions{margin-left:auto;gap:10px}.app-shell .brand .board-tag{font:500 11px var(--font-ui);color:var(--muted);border:0;background:transparent}.app-shell .topbar .board-selector>span{font-size:9px;font-weight:500;letter-spacing:.05em;color:var(--muted)}.app-shell .topbar .board-selector :is(select,.glass-select){border-radius:10px;background:var(--surface);border-color:var(--border-soft)}.app-shell .filebar{padding:5px 12px;gap:3px;min-height:40px;border-bottom-color:var(--border)}.app-shell :is(.filebar button,.example-picker,.function-jump,button.copy-action,.editor-meta .autocomplete-toggle,.sketch-actions button,.convert-project,.project-export,.project-tools button,.project-dependencies button){border-radius:9px;background:transparent;font-weight:500}.app-shell .filebar .test-uno-button{border-color:transparent}.app-shell .filebar button:hover:not(:disabled),.app-shell :is(.function-jump,button.copy-action,.editor-meta .autocomplete-toggle):hover:not(:disabled){background:var(--surface-2)}.app-shell .filebar>button[aria-label]:not(.glass-select){--icon-control-size:32px;border-radius:9px}.app-shell :is(.filebar,.editor-meta,.console-header) .lucide{width:16px;height:16px;stroke-width:1.7;flex-shrink:0}.app-shell #libraries-pane{padding:0;width:220px;flex-basis:220px}.app-shell .workspace-sidebar{border:0;border-right:1px solid var(--border);border-radius:0;background:var(--surface)}.app-shell .sidebar-content{padding:12px}.app-shell .sidebar-sections{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;padding:4px;gap:4px;min-width:0}.app-shell .sidebar-sections button{display:inline-flex;align-items:center;justify-content:center;flex:1 1 0;min-width:36px;max-width:44px;height:38px;padding:0;border-radius:12px;gap:0;background:transparent;color:var(--muted);transition:background-color .18s var(--ui-ease),color .18s var(--ui-ease)}.app-shell .sidebar-sections button .lucide{width:18px;height:18px;flex:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;color:inherit;transform:scale(1);transition:transform .18s var(--ui-ease),color .18s var(--ui-ease)}.app-shell .sidebar-sections button:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.app-shell .sidebar-sections button[aria-pressed=true]{border-radius:16px;background:var(--ui-selected);color:var(--text);box-shadow:none}.app-shell .sidebar-sections button[aria-pressed=true]:hover{background:var(--ui-selected)}.app-shell .sidebar-sections button:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.app-shell .sidebar-sections button[aria-pressed=true] .lucide{transform:scale(1.03)}@media(prefers-reduced-motion:reduce){.app-shell .sidebar-sections button,.app-shell .sidebar-sections button .lucide{transition:none}.app-shell .sidebar-sections button[aria-pressed=true] .lucide{transform:none}}.app-shell details.board-spec{display:block;margin-top:18px;padding-top:10px}.app-shell .board-spec summary{cursor:pointer;padding:6px 0;font:500 11px var(--font-ui);color:var(--muted)}.app-shell .board-spec[open]>:not(summary){display:block;margin-top:7px}.app-shell .workspace{padding:8px}.app-shell .editor-card{border-color:var(--border);border-radius:10px;background:var(--editor)}.app-shell .editor-tabbar{height:auto;min-height:36px;padding:3px 8px;gap:8px;flex-wrap:wrap}.app-shell .sketch-tab-wrap,.app-shell .sketch-tab-wrap:not(.selected),.app-shell .sketch-tab-wrap.selected{border-radius:9px 9px 3px 3px}.app-shell .sketch-tab-wrap.selected{background:var(--editor);border-color:var(--border-soft);border-bottom-color:var(--editor)}.app-shell .sketch-tab-wrap.selected>button[role=tab]{font-weight:700}.app-shell .sketch-tab-wrap>button[role=tab]{font-family:var(--font-ui);font-size:12px}.app-shell .project-editor-tabs button,.app-shell .project-editor-tabs button[aria-current]{border-radius:8px 8px 2px 2px}.app-shell .editor-meta{display:flex;align-items:center;flex-wrap:wrap;margin-left:auto;gap:5px;min-width:0}.app-shell .editor-meta :is(.function-jump,.copy-action,.autocomplete-toggle){min-height:28px}.app-shell .editor-meta .autocomplete-toggle[aria-pressed=true]{border-radius:9px;background:var(--surface-2);font-weight:500}.app-shell .editor-meta .language-label{margin-left:6px;font-size:9px;letter-spacing:.04em}.app-shell .editor-meta .shortcut{font-size:9px}.app-shell .console-card{border-radius:6px;border-top-color:var(--border)}.app-shell .console-header{padding:3px 8px;min-height:36px;gap:4px}.app-shell .console-tabs{gap:2px}.app-shell .console-tabs button,.app-shell .console-tabs button[aria-selected=true]{border-radius:8px;min-height:30px;padding:5px 8px;font-size:11px}.app-shell .statusbar{padding:5px 12px;min-height:28px;gap:6px 14px;background:var(--surface-2);border-top-color:var(--border);font-size:10px}.app-shell .status-item{gap:5px}.app-shell .status-item strong{font-weight:500}.app-shell .cursor-position{margin-left:auto;white-space:nowrap;font:10px var(--mono)}.app-shell .save-status{font-size:10px}@media(max-width:900px){.app-shell .topbar{padding:9px 12px}.app-shell .editor-meta .shortcut{display:none}.app-shell .editor-meta{gap:3px}}@media(max-width:600px){.app-shell .topbar>.primary-actions{flex-basis:100%}.app-shell #libraries-pane{width:100%;flex-basis:auto;height:210px}.app-shell .workspace-sidebar{border-right:0;border-bottom:1px solid var(--border)}.app-shell .workspace{padding:6px}.app-shell .editor-meta{display:flex;width:100%;justify-content:flex-end}.app-shell .editor-meta .language-label{display:none}.app-shell .statusbar{gap:5px 10px}}.app-shell :is(.filebar button[aria-pressed=true],.problem-filters button,.problem-filters button[aria-pressed=true]){border-radius:9px}.app-shell{--ui-divider:color-mix(in srgb,var(--text) 12%,var(--surface))}.app-shell :is(.topbar,.filebar,.sidebar-sections,.editor-meta,.console-header,.statusbar,.command-menu,.board-search-popover) .lucide{stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.app-shell :is(.editor-meta,.console-header,.command-menu,.board-search-popover) .lucide{width:16px;height:16px}.app-shell .statusbar .lucide{width:14px;height:14px}.app-shell .sidebar-sections button{position:relative}.app-shell .sidebar-sections button:after{content:"";position:absolute;bottom:3px;left:calc(50% - 4px);width:8px;height:2px;border-radius:2px;background:var(--muted);opacity:0;transform:scaleX(.5);transition:opacity .18s var(--ui-ease),transform .18s var(--ui-ease);pointer-events:none}.app-shell .sidebar-sections button[aria-pressed=true]:after{opacity:1;transform:scaleX(1)}.app-shell :is(.filebar button,.editor-meta button,.console-header button,.project-tools button,.project-dependencies button,.command-menu button,.board-search-popover button):hover:not(:disabled){background:var(--surface-2);color:var(--text)}.app-shell .workspace-sidebar{border-right-color:var(--ui-divider)}.app-shell .filebar,.app-shell .console-card{border-bottom-color:var(--ui-divider)}.app-shell .console-card,.app-shell .statusbar{border-top-color:var(--ui-divider)}.app-shell .sketch-tab-wrap>button[role=tab]{padding-inline:6px}.app-shell .sketch-tab-wrap>.close-sketch-tab{opacity:.4}.app-shell .sketch-tab-wrap:hover>.close-sketch-tab,.app-shell .sketch-tab-wrap:focus-within>.close-sketch-tab{opacity:1}.app-shell :is(.local-label,.sidebar-content h2>span,.board-spec,.shortcut,.language-label){font-weight:400;color:var(--muted);font-size:10px}.app-shell .search-field{display:flex;align-items:center;gap:5px;min-width:0;height:32px;padding:0 6px 0 9px;border:1px solid var(--border-soft);border-radius:9px;background:var(--surface);color:var(--muted);box-sizing:border-box}.app-shell .search-field>svg{flex:0 0 15px;stroke-width:1.7}.app-shell .search-field>input{flex:1 1 0;width:0;min-width:0;max-width:none;height:30px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--text);font:11px var(--font-ui);box-shadow:none}.app-shell .search-field>input::placeholder{color:var(--muted);opacity:.85}.app-shell .search-field:focus-within{outline:2px solid var(--blue);outline-offset:2px}.app-shell .search-field>input:focus-visible{outline:none}.app-shell .search-field>.search-clear{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;min-height:0;margin:0;padding:0;border:0;border-radius:7px;background:transparent;color:var(--muted)}.app-shell .search-field>.search-clear:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.app-shell .search-field.library-search{width:calc(100% - 20px);margin:10px}.app-shell .search-field.serial-filter{width:160px;min-width:120px}.app-shell .project-tools>.search-field{width:100%;margin:4px 0}.app-shell .command-menu>.search-field,.app-shell .board-search-popover>.search-field{width:100%}.app-shell .command-hints{display:flex;gap:14px;padding:9px 3px 0;color:var(--muted);font-size:10px;border-top:1px solid var(--border-soft)}.app-shell .command-menu [role=listbox]{padding:3px}.app-shell .command-menu [role=option]{min-height:36px}.app-shell .command-menu [role=option][aria-selected=true]{background:var(--ui-selected)}.app-shell .workspace,.app-shell .workspace.console-collapsed{grid-template-rows:minmax(170px,1fr) 12px minmax(0,var(--visible-console-height,var(--console-height)));transition:grid-template-rows .2s var(--ui-ease)}.app-shell .workspace.is-resizing{transition:none}.app-shell .console-body{min-height:0;overflow:hidden;opacity:1;visibility:visible;transition:opacity .18s var(--ui-ease),visibility 0s}.app-shell .console-body>.output-panel{height:100%;display:block}.app-shell .console-body>.serial-panel{height:100%;display:grid}.app-shell .console-collapsed .console-body{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s var(--ui-ease),visibility 0s .2s}.app-shell .console-resizer{min-height:12px;cursor:ns-resize}.app-shell .console-resizer:after{top:5px;width:40px;left:calc(50% - 20px);background:var(--border);transition:background-color .18s var(--ui-ease)}.app-shell .console-resizer:hover:after{background:var(--muted)}.app-shell .console-resizer:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.app-shell .console-empty,.app-shell .plot-empty{font-size:11px;color:var(--muted);padding:10px 14px}.control-tooltip{position:fixed;z-index:1000;max-width:min(280px,calc(100vw - 16px));pointer-events:none;padding:7px 9px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:11px/1.4 var(--font-ui);box-shadow:0 3px 10px #00000012}@media(prefers-reduced-motion:reduce){.app-shell .workspace,.app-shell .console-body,.app-shell .console-collapsed .console-body,.app-shell .sidebar-sections button:after{transition:none}}.app-shell button.secondary-action{height:28px;min-height:28px;padding:0 10px;border:1px solid var(--border-soft);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--muted);font:500 11px/1.2 var(--font-ui);box-shadow:none;cursor:pointer;transition:background-color .18s var(--ui-ease),border-color .18s var(--ui-ease),color .18s var(--ui-ease),opacity .18s var(--ui-ease)}.app-shell button.secondary-action>.lucide{width:16px;height:16px;flex:0 0 16px;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.app-shell button.secondary-action:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.app-shell button.secondary-action:active:not(:disabled){background:var(--ui-selected)}.app-shell button.secondary-action:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.app-shell button.secondary-action:disabled{opacity:.45;cursor:not-allowed}.app-shell .editor-meta{gap:8px 10px;justify-content:flex-start}.app-shell .editor-meta .language-label{margin-left:0}.app-shell .editor-meta>.ui-visually-hidden{position:absolute}.app-shell button.copy-action{position:relative;overflow:visible;transition:background .18s var(--ui-ease),color .18s var(--ui-ease),transform .14s var(--ui-ease)}.app-shell button.copy-action[data-pressed=true]{transform:scale(.97)}.app-shell .copy-icon-swap{width:16px;height:16px;flex-basis:16px}.app-shell .copy-icon-swap svg{transition-duration:.22s}.app-shell .copy-action-label{display:inline-grid}.copy-action-label>span{grid-area:1/1;transition:opacity .22s var(--ui-ease)}.copy-success-label,.copy-action[data-copied=true] .copy-original-label{opacity:0}.copy-action[data-copied=true] .copy-success-label{opacity:1}@media(max-width:600px){.app-shell .editor-meta>.copy-action,.app-shell .editor-meta>.autocomplete-toggle{display:inline-flex}}@media(prefers-reduced-motion:reduce){.app-shell button.copy-action,.app-shell .copy-action-label>span,.app-shell .copy-icon-swap svg{transition:none!important;transform:none!important}}.app-shell .board-controls .serial-connect-action{display:inline-flex;align-items:center;gap:6px;min-width:106px;justify-content:center}.serial-connect-action .connection-dot{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--muted);transition:background .18s var(--ui-ease)}.serial-connect-action[data-connection=connected] .connection-dot{background:var(--green)}@media(prefers-reduced-motion:reduce){.serial-connect-action .connection-dot{transition:none}}.app-shell .workbench-dialog.editor-settings-dialog{box-sizing:border-box;width:min(520px,calc(100vw - 32px));padding:18px 20px;border:1px solid var(--border-soft);border-radius:16px;box-shadow:0 8px 28px #00000012}.editor-settings-dialog>header{margin-bottom:12px;gap:12px}.editor-settings-dialog>header h2{margin:0;font-size:16px;font-weight:650}.editor-settings-dialog .settings-section{padding:12px 0;border-top:1px solid var(--border-soft)}.editor-settings-dialog .settings-section:last-child{padding-bottom:0}.editor-settings-dialog .settings-section h3{display:flex;justify-content:space-between;align-items:center;margin:0 0 8px;font-size:11px;font-weight:650;color:var(--muted)}.editor-settings-dialog .settings-section h3>span{font-size:10px;font-weight:400;color:var(--dim)}.editor-settings-dialog .settings-font-row{display:grid;grid-template-columns:110px minmax(60px,1fr) 42px;align-items:center;gap:12px;min-height:36px;font-size:12px;font-weight:500}.editor-settings-dialog .settings-font-row output{text-align:right;font-size:11px;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums}.editor-settings-dialog input[type=range]{width:100%;min-width:0;margin:0;height:28px;accent-color:var(--text);cursor:pointer}.editor-settings-dialog .settings-preference-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:9px 0;font-size:12px}.editor-settings-dialog .settings-preference-row label,.editor-settings-dialog .settings-preference-row strong{font-weight:500}.editor-settings-dialog .settings-preference-row p,.editor-settings-dialog .settings-preference-row small{display:block;margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.5;font-weight:400}.editor-settings-dialog .settings-preference-row>p{margin:0;max-width:275px}.editor-settings-dialog .settings-checkbox-row{cursor:pointer}.editor-settings-dialog input[type=checkbox]{width:16px;height:16px;margin:0 8px 0 0;flex:0 0 16px;accent-color:var(--text)}.app-shell .editor-settings-dialog button.settings-switch{display:flex;align-items:center;gap:7px;flex-shrink:0;min-height:32px;padding:3px 5px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:11px}.settings-switch>span:last-child{width:19px;text-align:left}.settings-switch-track{width:30px;height:18px;padding:3px;box-sizing:border-box;border-radius:10px;background:var(--border);transition:background .18s var(--ui-ease)}.settings-switch-track i{display:block;width:12px;height:12px;border-radius:50%;background:var(--surface);transition:transform .18s var(--ui-ease)}.settings-switch[aria-checked=true] .settings-switch-track{background:var(--text)}.settings-switch[aria-checked=true] .settings-switch-track i{transform:translate(12px)}.app-shell .editor-settings-dialog button.settings-reset{flex-shrink:0;min-height:30px;padding:5px 9px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-2);color:var(--text);font-size:11px;font-weight:500}.app-shell .editor-settings-dialog button:is(.settings-reset,.settings-switch):hover{background:var(--surface-3)}.editor-settings-dialog :is(button,input):focus-visible{outline:2px solid var(--blue);outline-offset:3px}.settings-detail-list{margin:0;font-size:11px}.settings-detail-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:29px;border-bottom:1px solid var(--border-soft)}.settings-detail-list>div:last-child{border-bottom:0}.settings-detail-list dt{color:var(--muted)}.settings-detail-list dd{margin:0;text-align:right;font-weight:500;font-variant-numeric:tabular-nums}.settings-storage-error{font-size:11px;color:var(--red);line-height:1.5}@media(max-width:420px){.app-shell .workbench-dialog.editor-settings-dialog{padding:16px}.editor-settings-dialog .settings-font-row{grid-template-columns:80px minmax(50px,1fr) 38px;gap:8px}.editor-settings-dialog .settings-preference-row{gap:10px;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.settings-switch-track,.settings-switch-track i{transition:none}}.editor-settings-dialog input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent}.editor-settings-dialog input[type=range]::-webkit-slider-runnable-track{height:4px;background:var(--border);border-radius:3px}.editor-settings-dialog input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;margin-top:-4px;border:0;border-radius:50%;background:var(--text)}.editor-settings-dialog input[type=range]::-moz-range-track{height:4px;background:var(--border);border-radius:3px}.editor-settings-dialog input[type=range]::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:var(--text)}:root{--glass-blur:18px;--glass-opacity:.78;--glass-saturation:125%;--glass-rgb:38,40,44;--glass-border:rgba(255,255,255,.13);--glass-highlight:rgba(255,255,255,.12);--glass-shadow:0 4px 14px #00000024;--glass-fallback:#292b30;--glass-tint:rgba(150,170,210,.018);--glass-selected:rgba(255,255,255,.1);--glass-hover:rgba(255,255,255,.065);--glass-radius:18px;--radius-glass-group:18px;--radius-glass-control:12px;--radius-glass-window:24px}:root[data-theme=light]{--glass-rgb:255,255,255;--glass-border:rgba(255,255,255,.72);--glass-highlight:rgba(255,255,255,.66);--glass-shadow:0 3px 12px #24324a0d;--glass-fallback:#f8f9fb;--glass-selected:rgba(255,255,255,.72);--glass-hover:rgba(255,255,255,.48)}.app-shell{position:relative;isolation:isolate;background:var(--bg)}.app-shell:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 12% 0%,rgba(90,155,255,.055),transparent 40%),radial-gradient(ellipse at 65% 8%,rgba(173,120,231,.035),transparent 37%),radial-gradient(ellipse at 90% 65%,rgba(245,137,177,.026),transparent 30%),radial-gradient(ellipse at 5% 85%,rgba(239,204,100,.025),transparent 30%);background-size:104% 104%;animation:glass-environment 32s ease-in-out infinite alternate}@keyframes glass-environment{to{transform:translate(3px,2px)}}.app-shell:not([data-activity=idle]):before,.app-shell:has(.cm-content:focus):before{animation-play-state:paused}.app-shell .topbar,.app-shell .filebar{background:transparent;box-shadow:none;border-bottom-color:var(--border-soft)}.app-shell .topbar{gap:10px 14px}.app-shell [data-glass][data-glass]{--glass-pointer-x:50%;--glass-pointer-y:0%;background:var(--glass-fallback);border:1px solid var(--glass-border);border-radius:var(--glass-radius);box-shadow:inset 0 1px 0 var(--glass-highlight),inset 0 -1px #00000006,var(--glass-shadow);transition:box-shadow .18s var(--ui-ease),border-color .18s var(--ui-ease),border-radius .26s var(--ui-ease)}.app-shell [data-glass=regular]{position:relative}.app-shell [data-glass=dense]{--glass-opacity:.94;--glass-blur:26px;--glass-radius:var(--radius-glass-window);--glass-shadow:0 10px 32px #15213a1a}.app-shell :is(.workbench-dialog,.command-menu,.delete-sketch-dialog)[data-glass]{position:relative}@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.app-shell [data-glass][data-glass]{background:linear-gradient(var(--glass-tint),var(--glass-tint)),linear-gradient(180deg,rgba(var(--glass-rgb),calc(var(--glass-opacity) + .09)),rgba(var(--glass-rgb),var(--glass-opacity)));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation))}}.app-shell [data-glass]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;padding:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,var(--glass-highlight),transparent 32%,rgba(120,195,245,.075) 62%,rgba(205,144,229,.05) 74%,rgba(247,174,199,.04) 85%,rgba(230,204,127,.05));mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor}.app-shell [data-glass]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(ellipse at var(--glass-pointer-x) var(--glass-pointer-y),rgba(255,255,255,.12),transparent 62%);transition:opacity .18s var(--ui-ease)}@media(hover:hover){.app-shell [data-glass]:hover:after{opacity:1}}.app-shell .board-controls[data-glass],.app-shell .editor-meta[data-glass]{padding:3px 5px;gap:6px}.app-shell .board-choice[data-glass]{padding:2px 4px;gap:4px;--glass-tint:rgba(80,130,225,.025)}.app-shell .sidebar-sections[data-glass]{margin:6px 4px;padding:4px;gap:4px;overflow:visible}.app-shell .console-tabs[data-glass]{padding:2px;gap:2px;--glass-radius:16px;max-width:100%}.app-shell .ide-status-chip[data-glass]{--glass-radius:999px}.app-shell .ide-status-chip[data-tone=blue]{--glass-tint:rgba(65,120,245,.04)}.app-shell .ide-status-chip[data-tone=green]{--glass-tint:rgba(35,160,110,.035)}.app-shell :is(.board-controls,.editor-meta,.board-choice,.sidebar-sections,.console-tabs)[data-glass] :is(button,select){border-color:transparent;background:transparent;border-radius:var(--radius-glass-control);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.app-shell :is(.board-controls,.editor-meta,.board-choice,.sidebar-sections,.console-tabs)[data-glass] :is(button,select):hover:not(:disabled){background:var(--glass-hover)}.app-shell :is(.sidebar-sections,.console-tabs,.editor-meta)[data-glass] :is([aria-selected=true],[aria-pressed=true]){background:var(--glass-selected);box-shadow:inset 0 1px 0 var(--glass-highlight);font-weight:650}.app-shell .board-choice[data-glass]>.board-search-trigger,.app-shell .board-controls[data-glass]>button[aria-label="Disconnect board"]{border-radius:50%}.app-shell [data-glass] :is(button,input,select):focus-visible,.app-shell [data-glass][role=button]:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.app-shell :is(.topbar,.sidebar-sections,.editor-meta,.console-header,[data-glass=dense]) .lucide{stroke-width:1.8;filter:none}.app-shell .topbar.ide-header .primary-actions .action-button{background:linear-gradient(135deg,#ffffff0a,transparent 55%,#20204003),var(--action-fill);border:1px solid transparent;box-shadow:inset 0 1px 3px #ffffff12,0 2px 6px #182b4212;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .18s var(--ui-ease),background-color .18s var(--ui-ease),box-shadow .18s var(--ui-ease)}.app-shell .topbar.ide-header .primary-actions .action-button:hover:not(:disabled){background:linear-gradient(135deg,#ffffff0a,transparent 55%,#20204003),var(--action-hover);box-shadow:inset 0 1px 3px #ffffff16,0 3px 8px #182b4215}.app-shell .topbar.ide-header .primary-actions .action-button:active:not(:disabled){background:var(--action-pressed);transform:scale(.985);box-shadow:inset 0 1px 3px #26305810}.app-shell .topbar.ide-header .primary-actions .action-button:disabled{opacity:.6;box-shadow:none}.app-shell .topbar.ide-header .primary-actions .action-button[aria-busy=true]{opacity:1}.app-shell [data-glass] button:active:not(:disabled){transform:scale(.985)}.app-shell :is(.board-search-popover,.tab-menu-options,.status-history)[data-glass]{transform-origin:top right;animation:glass-open .26s var(--ui-ease)}.app-shell :is(.workbench-dialog,.command-menu,.delete-sketch-dialog)[data-glass]{animation:glass-open .28s var(--ui-ease);transform-origin:top center}@keyframes glass-open{0%{opacity:0;transform:translateY(-3px) scaleY(.985);border-radius:18px}to{opacity:1;transform:none;border-radius:var(--glass-radius)}}.app-shell [data-glass=dense] :is(input,select,button,[role=option]){backdrop-filter:none;-webkit-backdrop-filter:none}.app-shell :is(.board-search-popover,.tab-menu-options,.status-history,.command-menu)[data-glass] :is(button,[role=option]){border-radius:calc(var(--glass-radius) - 10px)}.app-shell .command-menu [role=option][aria-selected=true],.app-shell .board-search-popover [role=option][aria-selected=true]{background:var(--glass-selected)}.app-shell [data-glass=dense]>.search-field{box-shadow:0 6px 12px -10px #0003;background:rgba(var(--glass-rgb),.7)}.app-shell .dialog-backdrop,.app-shell .command-backdrop{background:#10182726;-webkit-backdrop-filter:none;backdrop-filter:none}.app-shell .editor-card,.app-shell .cm-editor,.app-shell .cm-gutters{background:var(--editor);-webkit-backdrop-filter:none;backdrop-filter:none}.app-shell .console-card,.app-shell .serial-output,.app-shell .serial-plotter,.app-shell .workspace-sidebar{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}@supports not (mask-composite:exclude){.app-shell [data-glass]:before{display:none}}@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.app-shell [data-glass][data-glass]{background:var(--glass-fallback);backdrop-filter:none;-webkit-backdrop-filter:none;border-color:var(--border);box-shadow:0 2px 8px #0000000d}.app-shell [data-glass]:before,.app-shell [data-glass]:after,.app-shell:before{display:none}}@media(prefers-reduced-motion:reduce){.app-shell:before{animation:none}.app-shell [data-glass][data-glass],.app-shell .topbar.ide-header .primary-actions .action-button{animation:none;transition:opacity .15s linear}.app-shell [data-glass]:after{display:none}.app-shell .topbar.ide-header .primary-actions .action-button:active:not(:disabled),.app-shell [data-glass] button:active:not(:disabled){transform:none}}@media(forced-colors:active){.app-shell [data-glass][data-glass]{background:Canvas;color:CanvasText;border:1px solid ButtonText;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.app-shell [data-glass]:before,.app-shell [data-glass]:after,.app-shell:before{display:none}}@media(max-width:700px){.app-shell .topbar{gap:8px}.app-shell .editor-meta[data-glass]{max-width:100%}.app-shell .console-tabs[data-glass]{flex-wrap:wrap}}:root{--dropdown-bg:rgba(38,40,44,.9);--dropdown-fallback:#292b30;--dropdown-edge:rgba(255,255,255,.18);--dropdown-highlight:rgba(255,255,255,.12)}:root[data-theme=light]{--dropdown-bg:rgba(255,255,255,.72);--dropdown-fallback:rgba(248,248,250,.97);--dropdown-edge:rgba(255,255,255,.5);--dropdown-highlight:rgba(255,255,255,.65)}.glass-select.glass-select{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;max-width:100%;min-height:32px;padding:5px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font:inherit;font-size:12px;font-weight:500;text-align:left;cursor:pointer}.glass-select>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.glass-select>svg{flex:none;stroke-width:1.8}.glass-select:disabled{opacity:.45;cursor:default}.glass-select:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.app-shell .board-choice>.glass-select{flex:1;border-radius:12px}.glass-dropdown,.app-shell :is(.board-search-popover,.tab-menu-options,.status-history,.command-menu)[data-glass]{background:var(--dropdown-fallback);border:1px solid var(--dropdown-edge);border-radius:18px;box-shadow:0 8px 30px #00000014,inset 0 1px 0 var(--dropdown-highlight);color:var(--text)}.glass-dropdown{z-index:10000;overflow:auto;overscroll-behavior:contain;padding:6px;box-sizing:border-box;animation:glass-dropdown-open .18s cubic-bezier(.22,1,.36,1);font:12px/1.4 var(--font-ui)}.glass-dropdown-option{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:32px;padding:6px 10px;box-sizing:border-box;border-radius:10px;cursor:pointer;overflow-wrap:anywhere;transition:background .16s ease}.glass-dropdown-option svg{flex:none}.glass-dropdown-option[aria-selected=true]{background:var(--glass-selected);font-weight:650}.glass-dropdown-option[data-active=true]{background:var(--glass-hover);box-shadow:inset 0 0 0 1px var(--border)}.glass-dropdown-option[aria-disabled=true]{opacity:.45;cursor:default}.glass-dropdown-group{padding:9px 10px 4px;font-size:10px;font-weight:650;color:var(--muted)}@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.glass-dropdown,.app-shell :is(.board-search-popover,.tab-menu-options,.status-history,.command-menu)[data-glass]{background:var(--dropdown-bg);backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%)}}@keyframes glass-dropdown-open{0%{opacity:0;translate:0 -3px}to{opacity:1;translate:0 0}}@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.glass-dropdown,.app-shell :is(.board-search-popover,.tab-menu-options,.status-history,.command-menu)[data-glass]{background:var(--dropdown-fallback);backdrop-filter:none;-webkit-backdrop-filter:none;border-color:var(--border)}}@media(prefers-reduced-motion:reduce){.glass-dropdown{animation:none}.glass-dropdown-option{transition:none}}@media(forced-colors:active){.glass-dropdown{background:Canvas;color:CanvasText;border-color:ButtonText;-webkit-backdrop-filter:none;backdrop-filter:none}.glass-dropdown-option[data-active=true]{outline:1px solid Highlight}.glass-dropdown-option[aria-selected=true]{color:Highlight}}.app-shell .topbar.ide-header{display:grid;grid-template-columns:minmax(0,1fr) max-content max-content max-content;grid-template-areas:"brand status actions account";align-items:center;gap:8px 10px;min-width:0;min-height:66px;padding:8px 14px}.app-shell .ide-header>.header-brand-group{grid-area:brand;display:flex;align-items:center;gap:10px;min-width:0}.header-brand-group .brand{margin:0;white-space:nowrap}.app-shell .ide-header .board-tag{display:none}.app-navigation{display:flex;gap:4px;align-items:center;font-size:var(--text-sm)}.app-navigation a,.app-navigation>span{padding:6px;border-radius:8px;text-decoration:none;color:var(--muted)}.app-navigation [aria-current]{color:var(--text);font-weight:600;background:var(--surface-2)}.app-navigation a:hover{background:var(--surface-2)}.app-shell .ide-header>.header-status-group{grid-area:status;display:flex;align-items:center;gap:6px;min-width:0;max-width:100%}.app-shell .ide-header .status-history-wrap{position:relative;flex:0 1 auto;min-width:0;margin:0}.app-shell .ide-header .ide-status-chip{margin:0;max-width:190px;box-sizing:border-box}.app-shell .ide-header .status-chip-content{min-width:0}.app-shell .ide-header .status-chip-content>svg{flex:none}.app-shell .ide-header .board-controls{display:flex;align-items:center;flex-wrap:nowrap;gap:4px;margin:0;min-width:0}.app-shell .ide-header .board-controls>button{white-space:nowrap;flex-shrink:0}.app-shell .ide-header .serial-connect-action{min-width:0;flex-shrink:1}.serial-connect-action>span[role=status]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell .ide-header>.primary-actions{grid-area:actions;order:0;display:flex;align-items:center;gap:8px;min-width:0;width:auto;margin:0;flex-wrap:nowrap}.app-shell .ide-header>.primary-actions .action-button{flex:0 0 auto;width:max-content;min-width:90px}.header-account{grid-area:account;justify-self:end;min-width:0;display:flex;align-items:center}.ide-header .account-control>.glass-select{max-width:130px}.ide-header .account-sync{display:none}.dashboard-header{justify-content:flex-start;gap:18px}.dashboard-header .header-account{margin-left:auto}@media(max-width:1350px){.app-shell .topbar.ide-header{grid-template-columns:minmax(0,1fr) max-content max-content max-content;grid-template-areas:"brand status actions account"}.app-shell .ide-header>.header-status-group{justify-self:end}}@media(max-width:980px){.app-shell .topbar.ide-header{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand account" "status actions";padding:8px 12px}.app-shell .ide-header>.header-status-group{justify-self:start;flex-wrap:wrap}.app-shell .ide-header .board-controls{flex-wrap:wrap}.header-brand-group .circuitera-wordmark{font-size:16px}.app-shell .ide-header .primary-actions .action-button{min-width:82px}.dashboard-header{flex-wrap:wrap;padding:12px;gap:12px}.account-control>.glass-select{max-width:100px}}@media(max-width:620px){.app-shell .topbar.ide-header{grid-template-areas:"brand account" "status status" "actions actions"}.app-shell .ide-header>.primary-actions{justify-self:end}.header-brand-group .circuitera-wordmark{display:none}.dashboard-header nav{order:3;width:100%}.app-shell .ide-header .status-history{left:0;right:auto;max-width:calc(100vw - 24px)}}.app-shell .filebar>.toolbar-menu-trigger{display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;flex:0 0 auto;width:auto;min-width:0;height:32px;min-height:32px;gap:8px;padding:0 10px;margin-inline:2px;border-radius:9px;font:500 12px/1.3 var(--font-ui);white-space:nowrap}.app-shell .filebar>.toolbar-menu-trigger>.glass-select-label{display:block;min-width:0}.app-shell .filebar>.toolbar-menu-trigger>svg{flex:0 0 14px;width:14px;height:14px;stroke-width:1.7}.app-shell .ide-header .status-chip-content>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell .filebar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.app-shell .filebar>.board-selector{position:relative;display:flex;flex:1 1 240px;min-width:0;max-width:350px;width:auto;margin:0;padding:0}.app-shell .filebar .board-choice{display:flex;align-items:center;gap:6px;min-width:0;width:100%;padding:0 3px}.app-shell .filebar .board-choice>.glass-select{display:inline-flex;align-items:center;gap:8px;flex:1 1 0;min-width:0;width:0;height:32px;min-height:32px;padding:4px 8px;font:500 12px/20px var(--font-ui)}.app-shell .filebar .board-choice>.glass-select>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell .filebar .board-choice>.glass-select>svg{flex:0 0 14px;width:14px;height:14px}.app-shell .filebar .board-choice>:is(.board-search-trigger,.board-info-trigger){display:grid;place-items:center;flex:0 0 30px;width:30px;height:32px;min-width:30px;padding:0}@media(max-width:620px){.app-shell .filebar>.board-selector{max-width:100%;flex-basis:220px}}:where(.app-shell,.site-shell,.glass-dropdown,.dialog-backdrop){font-family:var(--font-ui)}:where(.app-shell,.site-shell,.dialog-backdrop) :where(button,input,select,textarea){font-family:inherit}.app-shell :is(.language-label,.console-meta,.local-label,.save-status,.board-pill,.board-spec,.compile-stage,.upload-stage,.plot-legend,.compiler-technical>summary),.app-shell .serial-toolbar :is(select,.glass-select),.app-shell .board-selector :is(select,.glass-select),.app-shell .cm-completionInfo{font-family:var(--font-ui)}:where(.app-shell,.site-shell,.dialog-backdrop) :is(pre,code,kbd,.cursor-position,.saved-diff){font-family:var(--font-code)}.app-shell .cm-scroller,.app-shell .cm-content{font-family:var(--font-code)}:where(.workbench-dialog,.project-tools,.dashboard-shell) button:not(.glass-select):not(.action-button),.app-shell .secondary-action{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1.3;min-height:32px;padding:6px 10px;gap:6px;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface);color:var(--text);box-shadow:none;transition:background .18s var(--ui-ease),border-color .18s var(--ui-ease)}:where(.workbench-dialog,.project-tools,.dashboard-shell) button:hover:not(:disabled),.app-shell .secondary-action:hover:not(:disabled){background:var(--surface-2)}:where(.app-shell,.site-shell,.dialog-backdrop) :is(button,input,select,textarea,a):focus-visible{outline:2px solid var(--blue);outline-offset:2px}:where(.workbench-dialog,.project-tools) button:disabled{opacity:.5;cursor:default}@media(prefers-reduced-motion:reduce){:where(.workbench-dialog,.project-tools,.dashboard-shell) button,.app-shell .secondary-action{transition:none}}:root:not([data-theme=dark]) .app-shell .busy-sketch-label{background:#00000006;color:var(--text);border:0;border-bottom:1px solid var(--border-soft);font:500 12px/1.4 var(--font-ui);padding:6px 12px}:root:not([data-theme=dark]) .app-shell :is(.compile-stage,.upload-stage){background:transparent;color:var(--text);border-color:var(--border-soft)}:where(.dashboard-shell,.gemini-panel,.glass-dropdown){font-family:var(--font-ui)}:where(.dashboard-shell,.gemini-panel) :where(input,textarea,select){font:inherit}:root:not([data-theme=dark]) .app-shell .compile-stage.failed{color:var(--danger)}:root:not([data-theme=dark]) .app-shell .compile-stage.complete{color:var(--green)}.convenience-code{-webkit-text-security:disc}.app-shell .sketch-tabs,.app-shell .project-editor-tabs{overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;min-height:0;max-height:100%;overscroll-behavior-y:none;scrollbar-width:none}.app-shell .sketch-tabs::-webkit-scrollbar,.app-shell .project-editor-tabs::-webkit-scrollbar{display:none}.app-shell .sketch-tabs>*,.app-shell .project-editor-tabs>*{flex-shrink:0}.app-shell .sketch-tabs{height:100%;box-sizing:border-box}.app-shell .project-editor-tabs{height:30px;max-height:30px;box-sizing:border-box;align-items:center}.app-shell .project-editor-tabs button{height:100%;max-height:100%;min-height:0;box-sizing:border-box}:root[data-theme=light] .app-shell{--bg:#f5f7fa;--surface:#fff;--surface-2:#f1f3f7;--surface-3:#eaf0fa;--text:#182132;--muted:#626d80;--dim:#7d8799;--border:#e0e5ed;--border-soft:#edf0f5;--ui-divider:#e9edf3;--ui-selected:#edf0f5;--console:#fafbfd;--console-text:#374151}.app-shell:before{animation:none}.app-shell .topbar.ide-header{min-height:66px;padding:10px 7px 9px 23px;gap:9px 6px}.app-shell .topbar{border-bottom-color:transparent}.app-shell .brand .circuitera-wordmark{font-size:22px;letter-spacing:-1px}.app-shell .ide-header>.header-status-group{gap:6px}.app-shell .ide-header .ide-status-chip[data-glass]{padding:9px 12px;min-height:38px;font-size:11.4px;line-height:18px;box-shadow:0 3px 9px #24324a08}.app-shell .ide-header .ide-status-chip[title=Ready]{color:var(--text)}.app-shell .ide-header .board-controls[data-glass]{padding:3px 5px;min-height:38px;--glass-radius:999px;box-shadow:0 3px 9px #24324a08}.app-shell .ide-header .board-controls .serial-connect-action{min-height:30px;min-width:122px;font-size:11.4px;gap:7px}.app-shell .ide-header>.primary-actions{gap:6px;min-height:46px}.app-shell .topbar.ide-header .primary-actions .action-button{height:42px;min-width:116px;padding:4px 12px 4px 6px;gap:9px;font-size:13.3px;font-weight:650}.app-shell .topbar.ide-header .primary-actions .action-button.upload{min-width:132px}.app-shell .primary-actions .action-button.upload .action-label{min-width:6ch}.app-shell .primary-actions .action-button .action-icon{height:32px;width:32px;flex-basis:32px}.app-shell .primary-actions .action-button .action-icon svg{height:19px;width:19px}.app-shell .primary-actions .action-button.compile{--action-fill:rgba(62,163,255,.85);--action-hover:rgba(72,170,255,.9);--action-pressed:rgba(48,144,236,.95);--action-icon:rgba(22,126,235,.68)}.app-shell .primary-actions .action-button.upload{--action-fill:rgba(159,122,248,.79);--action-hover:rgba(168,135,252,.87);--action-pressed:rgba(142,104,226,.94);--action-icon:rgba(127,83,211,.6)}.app-shell .ide-header>.header-account{margin-inline-start:3px}.app-shell .header-account .account-control>:is(.glass-select,.account-sign-in){min-height:40px;max-width:180px;padding:8px 14px;border-radius:999px;font-size:12.3px;gap:9px;background:var(--surface);box-shadow:0 2px 7px #24324a08}.app-shell .header-account .account-trigger>svg{height:15px;width:15px}.app-shell .filebar{min-height:50px;padding:5px 18px;gap:9px 6px;border-bottom-color:var(--border-soft)}.app-shell .filebar>.toolbar-divider{margin-inline:3px}.app-shell .filebar button,.app-shell .filebar .example-picker{height:34px;font-size:13px;gap:9px}.app-shell .filebar>.toolbar-menu-trigger{height:37px;min-height:37px;padding:0 12px;margin-inline:0;border-radius:13px;font-size:13px;gap:11px}.app-shell .filebar>.board-selector{max-width:358px;flex-basis:300px}.app-shell .filebar .board-choice>.glass-select{height:32px;min-height:32px;font-size:11.4px;font-weight:600}.app-shell .filebar .board-choice[data-glass]{padding:2px 5px;border-radius:999px}.app-shell .filebar .lucide{height:17px;width:17px}.app-shell .filebar>button[aria-label]:not(.glass-select){--icon-control-size:34px}.app-shell :is(.sidebar-sections,.editor-meta,.console-tabs)[data-glass][data-glass]{background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.app-shell :is(.sidebar-sections,.editor-meta,.console-tabs)[data-glass]:before,.app-shell :is(.sidebar-sections,.editor-meta,.console-tabs)[data-glass]:after{display:none}.app-shell #libraries-pane{width:276px;flex-basis:276px;padding:8px 0 8px 4px}.app-shell .workspace-sidebar{border:0;border-radius:12px;background:var(--surface)}:root[data-theme=light] .app-shell :is(.workspace-sidebar,.console-card){background:#ffffffad}.app-shell .sidebar-sections[data-glass]{margin:4px 5px 0;padding:0;gap:4px;min-height:52px}.app-shell .sidebar-sections button{height:39px;max-width:none}.app-shell .sidebar-sections button .lucide{height:17px;width:17px}.app-shell .sidebar-sections[data-glass] button[aria-pressed=true]{background:transparent;box-shadow:none}.app-shell .sidebar-sections button:after{background:var(--text);bottom:1px}.app-shell .sidebar-content{padding:15px}.app-shell .sidebar-content h2{font-size:11.4px;letter-spacing:.07em;margin:0 0 9px}.app-shell .sidebar-content h2>span{font-size:11px}.app-shell .current-file{min-height:32px;margin:0 -7px;padding:6px 7px;border-radius:10px;gap:8px;background:color-mix(in srgb,var(--blue) 9%,transparent);font:500 14.2px/20.9px var(--font-ui)}.app-shell .current-file>svg{color:var(--blue);width:18px;height:18px}.app-shell .current-file strong{font-weight:600}.app-shell .sketch-actions{gap:8px;margin-top:9px}.app-shell .sketch-actions button{min-height:28px;font-size:12.3px;gap:6px;padding:4px 7px}.app-shell .sketch-actions button svg{height:13px;width:13px}.app-shell .convert-project{min-height:34px;margin:10px 0 7px;font-size:12.3px;border-color:var(--border);border-radius:13px}.app-shell .snapshot-history,.app-shell .recent-sketches{font-size:12.3px;margin:7px 0}.app-shell .snapshot-history summary,.app-shell .recent-sketches summary{padding:5px 0}.app-shell .sidebar-note{font-size:11.4px;line-height:1.75;margin:15px 0}.app-shell .sketch-list-heading{margin-top:19px}.app-shell .sketch-list-heading h3{font-size:11.4px;letter-spacing:.07em}.app-shell .sidebar-content .search-field.library-search{width:100%;margin:7px 0 13px;height:36px;border-radius:999px;padding:0 11px;gap:7px;background:transparent;border-color:var(--border)}.app-shell .sidebar-content .search-field.library-search input{font-size:12.3px}.app-shell .saved-sketch-row{min-height:32px;margin:2px -5px}.app-shell .saved-sketch-row>button:first-child{font-size:12.3px;gap:7px;padding:7px}.app-shell .saved-sketch-row>button:first-child>svg{width:14px;height:14px}.app-shell .saved-sketch-row.active{background:var(--ui-selected);box-shadow:none;border-color:transparent}.app-shell .sidebar-note.shortcut-note{display:none}.app-shell .board-spec summary{font-size:12.3px}.app-shell .current-sketch-name{margin:0;padding:0;min-height:24px;background:transparent;gap:7px}.app-shell .current-sketch-name strong{font-size:13px}.app-shell .current-sketch-summary p{margin:3px 0;color:var(--muted);font:11.4px/1.45 var(--font-ui)}.app-shell .current-sketch-state,.app-shell .current-sketch-details{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 5px}.app-shell .current-sketch-state [data-save-failed=true]{color:var(--danger)}.app-shell .current-sketch-board{overflow-wrap:anywhere}.app-shell .current-sketch-summary .current-sketch-details{font-size:10.5px}.app-shell .current-sketch-empty{font-size:12.3px;line-height:1.5}.app-shell .current-sketch-empty strong{font-weight:600}.app-shell .current-sketch-empty p{margin:5px 0 12px;color:var(--muted);font-size:11.4px}.app-shell .workspace{padding:8px 3px 8px 8px}.app-shell .workspace,.app-shell .workspace.console-collapsed{grid-template-rows:minmax(170px,1fr) 15px minmax(0,var(--visible-console-height,var(--console-height)))}.app-shell .editor-card{border-color:transparent;border-radius:12px;box-shadow:0 1px 2px #24324a08;grid-template-rows:44px minmax(0,1fr)}.app-shell .editor-card:has(>.project-editor-tabs){grid-template-rows:44px 30px minmax(0,1fr)}.app-shell .editor-tabbar{min-height:44px;padding:0 9px;gap:11px;flex-wrap:nowrap;background:transparent}.app-shell .sketch-tabs{gap:0;padding:4px 0 0;align-items:stretch}.app-shell .editor-tabbar .sketch-tab-wrap,.app-shell .editor-tabbar .sketch-tab-wrap:not(.selected),.app-shell .editor-tabbar .sketch-tab-wrap.selected{height:37px;border-radius:20px 20px 0 0;border:1px solid transparent;background:transparent;box-shadow:none}.app-shell .editor-tabbar .sketch-tab-wrap.selected{border-color:var(--border-soft);border-bottom:2px solid var(--blue);background:var(--surface)}.app-shell .sketch-tab-wrap>button[role=tab]{position:relative;height:33px;font-size:12.3px;padding:4px 8px;gap:8px}.app-shell .sketch-tab-wrap>.close-sketch-tab{margin-right:6px}.app-shell .sketch-tab-wrap>.close-sketch-tab,.app-shell .new-tab-button{--icon-control-size:26px}.app-shell .sketch-tab-wrap>.close-sketch-tab svg{width:13px;height:13px}.app-shell .sketch-tab-wrap.selected>button[role=tab]>svg{visibility:hidden}.app-shell .sketch-tab-wrap.selected>button[role=tab]:before{content:"";position:absolute;left:13px;width:10px;height:10px;border-radius:50%;background:var(--blue)}.app-shell .editor-meta[data-glass]{gap:8px;padding:0;flex-wrap:nowrap}.app-shell .editor-meta :is(.function-jump,.copy-action){font-size:12.3px;max-width:none;min-height:28px;padding:4px 9px}.app-shell .editor-meta .autocomplete-toggle[aria-pressed]{background:transparent;box-shadow:none;font-size:11.4px;font-weight:600}.app-shell .editor-meta .language-label{font-size:11px}.app-shell .editor-meta .shortcut{font-size:10px}.app-shell .editor-meta .lucide{width:15px;height:15px}.app-shell .cm-editor .cm-gutters{min-width:76px;border-right:0}.app-shell .cm-editor .cm-line{padding-left:23px}.app-shell .console-resizer:after{width:50px;left:calc(50% - 25px);top:7px;height:3px;background:var(--border)}.app-shell .console-card{border:0;border-radius:12px;box-shadow:none}.app-shell .console-header{min-height:52px;padding:7px 9px;border-bottom-color:var(--border-soft);background:transparent;gap:8px}.app-shell .console-tabs[data-glass]{gap:2px;padding:0;border-radius:0}.app-shell .console-tabs button,.app-shell .console-tabs button[aria-selected=true]{height:32px;min-height:32px;border-radius:999px;padding:4px 13px;font-size:12px;gap:8px}.app-shell .console-header .console-tabs[role=tablist]>button[role=tab][aria-selected=true]{background:color-mix(in srgb,var(--blue) 7%,transparent);box-shadow:none;color:var(--text);border-radius:999px}.app-shell .console-header .console-tabs[role=tablist]>button[role=tab][aria-selected=true] svg{color:var(--blue)}.app-shell .console-header .console-tabs button svg{height:16px;width:16px}.app-shell .console-meta{font-size:11.4px}.app-shell .serial-toolbar{gap:6px;padding:4px 10px}.app-shell .serial-toolbar :is(.glass-select,.monitor-button,.serial-live){min-height:28px;height:28px}.app-shell .serial-toolbar .search-field{min-height:30px;height:30px}.app-shell .serial-toolbar svg{width:14px;height:14px}.app-shell .serial-send{padding:4px 10px;gap:6px}.app-shell .problems-panel{background:transparent;color:var(--text)}.app-shell .problems-panel .build-status{padding:22px 22px 7px;font-size:13.3px;border:0}.app-shell .problems-panel .console-empty{padding:0 22px;margin:13px 0;font-size:13.3px}.app-shell .problems-panel[data-empty=true]{position:relative}.app-shell .problems-panel[data-empty=true] .problem-navigation{display:none}.app-shell .problems-panel[data-empty=true] .build-status{color:var(--text);gap:11px}.app-shell .problems-panel[data-empty=true] .build-status>svg{width:19px;height:19px;color:#fff;fill:#0ba677}.app-shell .problems-panel[data-empty=true] .problem-filters{position:absolute;right:16px;top:19px;padding:0;border:0;gap:9px}.app-shell .problems-panel[data-empty=true] .problem-filters button{display:inline-flex;flex-direction:row-reverse;gap:4px;font-size:12.3px;padding:5px;border:0;background:transparent;box-shadow:none;text-transform:lowercase}.app-shell .problems-panel[data-empty=true] .problem-filters button:first-child[aria-pressed=true],.app-shell .problems-panel[data-empty=true] .problem-filters small{display:none}.app-shell .statusbar{min-height:33px;padding:5px 14px;gap:6px 18px;font-size:11.4px;background:transparent;border-top-color:var(--border-soft)}.app-shell .status-item{gap:6px}.app-shell .status-item strong{font-size:inherit}.app-shell .statusbar .status-dot{width:7px;height:7px}.app-shell .status-item[title="Compiler: Ready"]>.status-dot,.app-shell .status-item[title="Chrome Web Serial API available"]>.status-dot{background:#0aaa78}.app-shell .statusbar :is(.save-status,.cursor-position){font:11.4px var(--font-ui)}@media(max-width:1400px){.app-shell .editor-meta .shortcut{display:none}.app-shell .editor-meta[data-glass]{gap:4px}.app-shell .console-tabs button,.app-shell .console-tabs button[aria-selected=true]{padding-inline:9px}}@media(max-width:1100px){.app-shell #libraries-pane{width:240px;flex-basis:240px}.app-shell .editor-meta .language-label{display:none}.app-shell .editor-tabbar{flex-wrap:wrap;min-height:41px}.app-shell .editor-card{grid-template-rows:auto minmax(0,1fr)}.app-shell .editor-card:has(>.project-editor-tabs){grid-template-rows:auto 30px minmax(0,1fr)}.app-shell .sketch-tabs-group{height:42px;min-width:180px}.app-shell .console-header{flex-wrap:wrap}.app-shell .console-tabs[data-glass]{flex-wrap:wrap;height:auto}.app-shell .problems-panel[data-empty=true] .problem-filters{position:static;margin:0 16px}}@media(max-width:980px){.app-shell .topbar.ide-header{padding:9px 13px}.app-shell .filebar{padding:5px 11px;gap:5px}.app-shell .filebar button,.app-shell .filebar>.toolbar-menu-trigger{font-size:11.4px}}@media(max-width:600px){.app-shell #libraries-pane{width:100%;flex-basis:auto;height:225px;padding:7px 7px 0}.app-shell .workspace{padding:7px}.app-shell .editor-meta[data-glass]{padding-bottom:4px;flex-wrap:wrap}.app-shell .editor-meta :is(.function-jump,.copy-action){font-size:11px;padding-inline:4px}.app-shell .editor-meta .autocomplete-toggle[aria-pressed]{font-size:10px}.app-shell .console-header{gap:4px;padding:5px}.app-shell .console-tabs button,.app-shell .console-tabs button[aria-selected=true]{font-size:11px;padding:4px 7px;gap:5px}.app-shell .statusbar{font-size:10px;gap:5px 11px;padding:7px 11px}}@media(forced-colors:active){.app-shell .ide-status-chip[title=Ready] svg{fill:CanvasText}.app-shell .sketch-tab-wrap.selected{border-bottom-color:Highlight}.app-shell .sketch-tab-wrap.selected>button[role=tab]:before{background:Highlight}}:root{--cui-radius-small:10px;--cui-radius-control:12px;--cui-radius-menu:18px;--cui-radius-panel:20px;--cui-radius-large:24px;--cui-ease:cubic-bezier(.22,1,.36,1);--cui-enter:.18s;--cui-exit:.14s;--cui-edge:color-mix(in srgb,var(--text) 13%,transparent);--cui-shadow:0 8px 28px #00000018,inset 0 1px 0 var(--dropdown-highlight)}.cui-surface{box-sizing:border-box;z-index:10000;min-width:180px;max-width:min(420px,calc((100vw - 16px)/var(--cui-zoom,1)));padding:6px;border:1px solid var(--cui-edge);border-radius:var(--cui-radius-menu);background:var(--dropdown-fallback);color:var(--text);box-shadow:var(--cui-shadow);font:12px/1.45 var(--font-ui);isolation:isolate;overscroll-behavior:contain;outline:none;transform-origin:var(--radix-popper-transform-origin)}.cui-surface[data-state=open]{animation:cui-enter var(--cui-enter) var(--cui-ease)}.cui-surface[data-state=closed]{animation:cui-exit var(--cui-exit) ease;pointer-events:none}.cui-surface[data-side=top]{--cui-slide:5px}.cui-select-menu{min-width:calc(var(--radix-select-trigger-width)/var(--cui-zoom,1));max-height:calc(var(--radix-select-content-available-height)/var(--cui-zoom,1))}.cui-select-menu .cui-viewport{max-height:320px}.cui-menu{min-width:max(180px,calc(var(--radix-dropdown-menu-trigger-width)/var(--cui-zoom,1)));max-height:min(360px,calc(var(--radix-dropdown-menu-content-available-height)/var(--cui-zoom,1)));overflow-y:auto}.cui-popover{max-height:calc(var(--radix-popover-content-available-height)/var(--cui-zoom,1));overflow:auto;padding:10px}.cui-item{display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative;min-height:30px;padding:6px 10px;border:0;border-radius:var(--cui-radius-small);background:transparent;color:inherit;font:inherit;text-align:left;outline:none;cursor:default;-webkit-user-select:none;user-select:none;overflow-wrap:anywhere;transition:background .16s ease}.cui-item>svg{flex:none}.cui-item>span:first-child{flex:1}.cui-item small{font-size:10px;color:var(--muted)}.cui-item[data-state=checked]{background:var(--glass-selected);font-weight:650}.cui-item[data-highlighted]{background:var(--glass-hover);box-shadow:inset 0 0 0 1px var(--cui-edge)}.cui-item[data-disabled]{opacity:.45;pointer-events:none}.cui-group{padding:9px 10px 4px;font-size:10px;font-weight:650;color:var(--muted)}.cui-separator{height:1px;background:var(--cui-edge);margin:5px}.cui-scroll{display:flex;justify-content:center;height:18px;color:var(--muted)}.glass-select .cui-chevron{flex:none;transition:transform var(--cui-enter) var(--cui-ease)}.glass-select[data-state=open] .cui-chevron{transform:rotate(180deg)}.glass-select.glass-select{border-radius:var(--cui-radius-control);transition:background .18s ease,box-shadow .18s ease}.glass-select:active:not(:disabled){filter:brightness(.98)}.glass-select:focus-visible,.cui-popover :is(button,input):focus-visible{outline:2px solid var(--blue);outline-offset:2px}.cui-tooltip{z-index:10001;padding:5px 9px;border-radius:var(--cui-radius-small);background:var(--dropdown-fallback);color:var(--text);box-shadow:var(--cui-shadow);font:11px/1.4 var(--font-ui);max-width:260px}:root:not([data-theme=dark]) .cui-surface[data-neutral]{--text:#25272a;--muted:#62666c;--surface:#fafafb;--surface-2:#eef0f2;--border:#d6d8dc;--blue:#555d68;--dropdown-fallback:#fafafbec;--dropdown-bg:#fafafbee;--dropdown-highlight:#fff9;--glass-selected:#e8eaed;--glass-hover:#eceef0;--cui-edge:#24272b20;color:var(--text);-webkit-backdrop-filter:none;backdrop-filter:none}@supports (backdrop-filter:blur(1px)){.cui-surface:not([data-neutral]){background:var(--dropdown-bg);-webkit-backdrop-filter:blur(14px) saturate(115%);backdrop-filter:blur(14px) saturate(115%)}}.app-shell :is(.filebar .toolbar-menu-trigger,.editor-meta button,.sketch-actions button,.convert-project,.project-export,.serial-toolbar button,.serial-send button,.plot-controls button,.workbench-dialog button:not([aria-label^=Close]),.gemini-panel button:not(.icon-button)){border-radius:var(--cui-radius-control)}.app-shell :is(.board-choice>.glass-select,.serial-send input,.file-form input,.rename-form input,.library-search){border-radius:var(--cui-radius-control)}.app-shell :is(.workbench-dialog,.delete-sketch-dialog){border-radius:var(--cui-radius-large)}.app-shell :is(.command-menu,.status-history,.cm-tooltip){border-radius:var(--cui-radius-menu)}.app-shell .filebar{align-items:center}.simulation-pane :is(.sim-toolbar button,.sim-tools button,.sim-view-controls button,.sim-inspector button,.sim-serial button){border-radius:var(--cui-radius-small)}.simulation-pane :is(.sim-parts,.sim-inspector){border-radius:var(--cui-radius-panel)}.simulation-pane .glass-select.glass-select{min-height:27px;font-size:11px;padding:4px 7px;gap:5px;background:var(--surface-2);border-color:transparent}.sim-tools>.glass-select{max-width:170px}.sim-parts>.glass-select{width:100%;margin-top:5px}.sim-net-inspector .glass-select{flex:1;min-width:0}.simulation-editor-header>.glass-select{min-height:26px;font-size:11px;padding-block:3px;max-width:240px}.terminal-page .glass-select.glass-select{background:#fff;color:#25272a;border-color:#d6d8dc;font-size:12px;min-height:31px}.terminal-page :is(.terminal-toolbar button,.terminal-toolbar input,.terminal-session-tools button[role=tab],.terminal-input input){border-radius:var(--cui-radius-small)}.terminal-page .terminal-toolbar{border-radius:var(--cui-radius-menu) var(--cui-radius-menu) 0 0;align-items:end}.terminal-page .terminal-toolbar .glass-select{width:100%}.cui-color-trigger{width:24px;padding:3px!important}.cui-color-trigger>span{width:15px;height:15px;border-radius:5px;border:1px solid #0002}.cui-colors{display:grid;grid-template-columns:repeat(4,30px);gap:6px;margin-bottom:10px}.cui-colors button{width:30px;height:30px;border:1px solid var(--cui-edge);border-radius:10px;display:grid;place-items:center;background:var(--surface);color:var(--text)}.cui-colors button span{width:18px;height:18px;border-radius:6px;display:grid;place-items:center}.cui-color-label{display:flex;align-items:center;gap:8px}.cui-color-label input{width:90px;font:inherit;padding:5px 7px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px}@keyframes cui-enter{0%{opacity:0;translate:0 var(--cui-slide,-5px)}to{opacity:1;translate:0 0}}@keyframes cui-exit{0%{opacity:1}to{opacity:0;translate:0 var(--cui-slide,-4px)}}@media(prefers-reduced-motion:reduce){.cui-surface[data-state],.cui-tooltip{animation:none}.glass-select .cui-chevron,.cui-item,.glass-select.glass-select{transition:none}}@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.cui-surface{background:var(--surface);-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-color:var(--text)}}.cui-board-search{width:350px}.cui-board-search input{width:100%;padding:7px 9px;border:1px solid var(--border);border-radius:var(--cui-radius-small);color:var(--text);background:var(--surface)}.cui-board-search [role=listbox]{max-height:270px;overflow:auto;margin-top:6px}.cui-board-search [role=option]{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:8px 9px;border:0;border-radius:var(--cui-radius-small);background:transparent;color:inherit;text-align:left;font:inherit}.cui-board-search [aria-selected=true]{background:var(--glass-selected);font-weight:650}.cui-board-search [role=option]:hover{background:var(--glass-hover)}.cui-board-search small{color:var(--muted)}.terminal-page :is(.terminal-session-tools button,.terminal-panel-tabs button,.developer-actions button,.terminal-output-heading button){border-radius:var(--cui-radius-small)}.app-shell .gemini-panel :is(input,textarea){border-radius:var(--cui-radius-control)}.dashboard-shell .dashboard-project{border-radius:var(--cui-radius-large)}.dashboard-shell .dashboard-project-actions button{border-radius:var(--cui-radius-control)}.app-shell [data-tooltip]:after{border-radius:var(--cui-radius-small)}:root{--account-radius:var(--radius-pill,999px);--account-surface:var(--dropdown-bg);--account-edge:var(--border-soft);--account-ink:var(--text);--account-hover:var(--glass-hover);--account-active:var(--glass-selected);--account-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--account-shadow:0 2px 7px #24324a08,inset 0 1px 0 var(--dropdown-highlight)}.account-control.account-control>:is(.account-trigger.account-trigger,.account-sign-in.account-sign-in){box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;height:40px;min-height:40px;max-width:180px;min-width:0;flex:none;padding:7px 14px;gap:9px;border:1px solid var(--account-edge);border-radius:var(--account-radius);background:var(--account-surface);color:var(--account-ink);box-shadow:var(--account-shadow);font:500 12.3px/1.3 var(--account-font);white-space:nowrap;cursor:pointer;backdrop-filter:blur(12px) saturate(115%);-webkit-backdrop-filter:blur(12px) saturate(115%);transition:background var(--cui-enter) var(--cui-ease),box-shadow var(--cui-enter) var(--cui-ease)}.account-control.account-control>:is(.account-trigger.account-trigger,.account-sign-in.account-sign-in):hover:not(:disabled){background:var(--account-hover)}.account-control.account-control>.account-trigger.account-trigger[data-state=open]{background:var(--account-active);box-shadow:var(--account-shadow)}.account-control.account-control>:is(.account-trigger.account-trigger,.account-sign-in.account-sign-in):active:not(:disabled){background:var(--account-active);filter:brightness(.98)}.account-control.account-control>:is(.account-trigger.account-trigger,.account-sign-in.account-sign-in):focus-visible{outline:2px solid var(--blue);outline-offset:3px}.account-control.account-control>:is(.account-trigger.account-trigger,.account-sign-in.account-sign-in):disabled{opacity:.45;cursor:default}.account-control .account-trigger .glass-select-icon{overflow:visible;flex:none}.account-control .account-trigger .initial-avatar{border-radius:50%;font-family:var(--account-font)}.account-control .account-trigger .glass-select-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.account-control .account-trigger .cui-chevron{width:15px;height:15px;stroke-width:1.8;flex:none;transition:transform var(--cui-enter) var(--cui-ease)}.cui-surface.account-menu-surface{border-radius:var(--cui-radius-panel);font-family:var(--account-font);width:224px;min-width:min(180px,calc((100vw - 16px)/var(--cui-zoom,1)));padding:6px}.account-menu-surface .cui-item{border-radius:var(--cui-radius-small);min-height:32px;padding:6px 10px}.account-menu-surface .cui-item:active:not([data-disabled]){background:var(--glass-selected)}@media(max-width:700px){.account-control.account-control>.account-trigger.account-trigger{height:36px;min-height:36px;width:36px;padding:5px;gap:0;border-radius:50%}.account-control .account-trigger>.glass-select-label,.account-control .account-trigger>.cui-chevron{display:none}.account-control.account-control>.account-sign-in.account-sign-in{height:36px;min-height:36px;padding:5px 10px}}@media(prefers-reduced-motion:reduce){.account-control.account-control>:is(.account-trigger.account-trigger,.account-sign-in.account-sign-in),.account-control .account-trigger .cui-chevron{transition:none}}:root{--app-page:var(--bg);--app-panel:var(--surface);--app-raised:var(--surface-2);--app-ink:var(--text);--app-muted:var(--muted);--app-line:var(--border-soft);--app-glass:rgba(250,252,252,.92);--app-highlight:#ffffffa0;--app-shadow:0 5px 22px #1f383014;--app-hover:#eaf0f2;--app-selected:#e3edf3;--app-success:#326d56;--app-error:#a74747;--app-accent:#527c83;--app-blur:14px}:root[data-theme=dark]{color-scheme:dark;--bg:#1b1e22;--editor:#202429;--surface:#252a30;--surface-2:#2d333a;--surface-3:#373f48;--text:#e8edf1;--muted:#b2bdc7;--dim:#97a4b0;--border:#424b56;--border-soft:#ffffff12;--blue:#91b7df;--cyan:#91c8ce;--green:#9bc7a6;--danger:#efa7a0;--danger-soft:#382c2e;--console:#202429;--console-text:#d4dce4;--app-glass:rgba(39,44,51,.94);--app-highlight:#ffffff10;--app-shadow:0 5px 22px #00000028;--app-hover:#343d47;--app-selected:#364858;--app-success:#9bc7af;--app-error:#efa7a0;--app-accent:#a0c6cc;--dropdown-bg:var(--app-glass);--dropdown-fallback:var(--surface);--dropdown-edge:var(--border-soft);--dropdown-highlight:var(--app-highlight);--glass-hover:var(--app-hover);--glass-selected:var(--app-selected);--glass-bg:var(--app-glass);--glass-border:var(--border-soft);--glass-shadow:var(--app-shadow);--cui-shadow:var(--app-shadow),inset 0 1px var(--app-highlight)}.theme-preference{display:flex!important;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;font:12px var(--font-ui);color:var(--text)}.theme-preference .glass-select{min-width:130px}html:has(.progress-page){scroll-behavior:auto;scrollbar-gutter:stable;scroll-padding-top:24px}.progress-page{min-height:100dvh;overflow:visible}.progress-page main{min-height:70vh;box-sizing:border-box;max-width:1180px;width:100%}.progress-page :is(h2,h3,[role=tabpanel]){scroll-margin-top:24px}.progress-page .progress-grid{align-items:stretch}.progress-grid .achievement{min-height:174px;box-sizing:border-box}.progress-page .progress-loading{min-height:400px}.progress-page .progress-filters{scroll-margin-top:16px}.progress-page .progress-tabs{flex-wrap:wrap}.progress-active-time{margin:18px 0;padding:18px}.progress-active-time h2{font-size:15px;margin:0 0 12px}.progress-active-time dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0}.progress-active-time dt{font-size:11px;color:var(--muted)}.progress-active-time dd{font-size:20px;font-weight:600;margin:5px 0}.progress-active-time p{font-size:11px;color:var(--muted);margin:12px 0 0}.achievement.locked .achievement-badge{filter:grayscale(.8);opacity:.68}.achievement-badge{color:var(--app-accent)}.progress-toast.progress-toast-v2{background:var(--app-glass);color:var(--text);border-color:var(--app-highlight);box-shadow:var(--app-shadow),inset 0 1px var(--app-highlight);-webkit-backdrop-filter:blur(var(--app-blur));backdrop-filter:blur(var(--app-blur))}.progress-toast-v2 .progress-toast-icon{background:var(--app-highlight);box-shadow:inset 0 1px var(--app-highlight)}.progress-toast-v2 :is(.progress-toast-copy>small,.progress-toast-description,.progress-toast-footer a,.progress-toast-close){color:var(--muted)}.progress-toast-v2 .progress-toast-close:hover{background:var(--app-hover)}:root[data-theme=dark] .progress-toast-v2 .progress-toast-footer b{color:var(--app-success)}:root[data-theme=dark] :is(.progress-page,.site-shell){--site-ink:var(--text);--site-muted:var(--muted);--site-line:var(--border-soft)}:root[data-theme=dark] :is(.site-shell,.terminal-page){background:var(--bg);color:var(--text);color-scheme:dark}:root[data-theme=dark] .dashboard-project{background:var(--app-glass);box-shadow:var(--app-shadow),inset 0 1px var(--app-highlight);--project-highlight:var(--app-highlight);--project-depth:#00000020;--project-hover-light:#ffffff04}:root[data-theme=dark] .dashboard-project--cloud{background:color-mix(in srgb,var(--app-glass) 93%,var(--blue))}:root[data-theme=dark] :is(.progress-surface,.progress-page .rank-choice,.msg-layout,.msg-bubble,.msg-preview,.msg-request,.site-header,.site-footer,.feature-card,.step-card,.board-card,.workbench-dialog,.account-dialog,.command-menu,.status-history){background:var(--app-glass);color:var(--text);border-color:var(--border-soft);box-shadow:var(--app-shadow),inset 0 1px var(--app-highlight)}:root[data-theme=dark] :is(.progress-muted,.progress-page small,.rank-next span,.achievement small,.rank-heading small,.rank-choice small,.progress-page p,.msg-note,.msg-date,.msg-conversation-meta,.msg-message-meta,.account-note){color:var(--muted)}:root[data-theme=dark] .progress-page :is(button,input){background:var(--surface-2);color:var(--text)}:root[data-theme=dark] .progress-page :is(.progress-tabs [aria-selected=true],.rank-choice[aria-pressed=true]){background:var(--app-selected);color:var(--text)}:root[data-theme=dark] .achievement.unlocked{background:color-mix(in srgb,var(--surface) 94%,var(--app-success))}:root[data-theme=dark] :is(.messages-page,.terminal-page,.workbench-dialog) :is(input,textarea){background:var(--editor);color:var(--text);border-color:var(--border)}:root[data-theme=dark] .messages-page :is(button,.msg-conversation,.msg-composer,.msg-chat-header,.msg-sidebar){background:var(--surface);color:var(--text);border-color:var(--border-soft)}:root[data-theme=dark] .messages-page :is(button:hover,.msg-conversation[aria-current],.msg-message.own .msg-bubble){background:var(--app-selected)}:root[data-theme=dark] .terminal-page :is(.terminal-navigation,.terminal-toolbar,.terminal-output,.terminal-code,.terminal-input,.terminal-session-tools,.terminal-file-tabs,.terminal-debug-panel,.terminal-tests-panel,.terminal-interactive-input,.terminal-live-input,.developer-panel){background:var(--surface);color:var(--text);border-color:var(--border-soft)}:root[data-theme=dark] .terminal-page :is(button,.glass-select,.terminal-runtime,.terminal-unavailable,.terminal-panel-tabs button[aria-selected=true]){background:var(--surface-2);color:var(--text);border-color:var(--border)}:root[data-theme=dark] .terminal-page :is(button:hover:not(:disabled),[role=tab][aria-selected=true]){background:var(--app-hover);color:var(--text)}:root[data-theme=dark] .terminal-page :is(label,p,.terminal-status,.terminal-runtime-status,.terminal-empty,.terminal-entry-info,.terminal-error-details,.terminal-output-heading>span,.terminal-navigation nav a):where(:not(.terminal-save-error,.terminal-input-error)){color:var(--muted)}:root[data-theme=dark] .terminal-page .terminal-entry{color:var(--text)}:root[data-theme=dark] .terminal-page :is(.terminal-entry-error,.terminal-entry-stderr){color:var(--app-error)}:root[data-theme=dark] .terminal-page .terminal-entry-success{color:var(--app-success)}:root[data-theme=dark] .terminal-page .terminal-run{background:var(--text);color:var(--bg)}:root[data-theme=dark] .cui-surface[data-neutral]{--blue:var(--muted);color:var(--text);background:var(--app-glass)}:root[data-theme=dark] :is(.sim-parts,.sim-inspector,.sim-net-inspector,.sim-view-controls,.gemini-panel,.gemini-composer,.gemini-context,.gemini-details,.gemini-code){background:var(--surface);color:var(--text);border-color:var(--border-soft)}:root[data-theme=dark] :is(.sim-parts,.sim-inspector,.gemini-panel) :is(button,input,.glass-select){background:var(--surface-2);color:var(--text);border-color:var(--border)}:root[data-theme=dark] .sim-part-label{fill:var(--muted)}:root[data-theme=dark] .gemini-markdown :is(pre,code){background:var(--editor);color:var(--console-text)}:root[data-theme=dark] :is(.update-notice,.site-notice,.progress-error){background:var(--surface-2);color:var(--text);border-color:var(--border)}@media(max-width:620px){.progress-active-time dl{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-page .progress-title h1{overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.progress-page main{animation:none}}@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.progress-toast.progress-toast-v2,.cui-surface{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}}.terminal-code .cm-editor{background:var(--editor);color:var(--text)}.terminal-code .cm-gutters{background:var(--surface);color:var(--muted);border-color:var(--border-soft)}.terminal-code :is(.cm-activeLine,.cm-activeLineGutter){background:var(--surface-2)}:root[data-theme=dark] .terminal-page :is(.terminal-output-heading,.developer-panel td,.developer-panel th){border-color:var(--border-soft)}:root[data-theme=dark] .terminal-page :is(.developer-actions span,.terminal-shortcut){color:var(--muted)}:root[data-theme=dark] .terminal-page :is(.terminal-entry-input,.developer-panel .changed,.terminal-debug-line){background:var(--surface-2)}:root[data-theme=dark] .site-shell :is(.site-header,.code-preview,.serial-preview,.detail-panel,.feature-grid,.board-grid,.reference-details,.getting-started aside,.overview-projects){background:var(--app-glass);color:var(--text);border-color:var(--border-soft);box-shadow:var(--app-shadow),inset 0 1px var(--app-highlight)}:root[data-theme=dark] .site-shell :is(.preview-title,.preview-footer,.library-chips span,.neutral-tag){background:var(--surface-2);color:var(--muted);border-color:var(--border-soft)}:root[data-theme=dark] .site-shell :is(.site-header nav>a:not(.site-button),.eyebrow,.hero-notes,.preview-title>span:first-child,.code-comment,.detail-panel ul,.getting-started li,.table-scroll td,.footer-bottom,.site-footer nav,.step-number,.card-arrow,.board-card>svg,.feature-card>svg:first-child){color:var(--muted)}:root[data-theme=dark] .site-shell :is(.code-preview pre,.serial-preview pre){color:var(--text);background:var(--editor)}:root[data-theme=dark] .site-shell .code-keyword{color:var(--blue)}:root[data-theme=dark] .site-shell :is(.site-button,.menu-toggle){background:var(--surface-2);color:var(--text);border-color:var(--border)}:root[data-theme=dark] .site-shell :is(.feature-card:hover,.example-grid a:hover){background:var(--app-hover)}:root[data-theme=dark] .site-shell :is(.catalog-list article,.table-scroll th,.table-scroll td,.getting-started li,.faq-list details,.example-grid a,.footer-bottom){border-color:var(--border-soft)}:root[data-theme=dark] .messages-page :is(.msg-conversation.selected,.msg-message.outgoing .msg-bubble){background:var(--app-selected);color:var(--text)}:root[data-theme=dark] .messages-page :is(.msg-actions>div,.msg-banner,.msg-attachment,.msg-preview pre){background:var(--surface-2);color:var(--text);border-color:var(--border-soft)}:root[data-theme=dark] .messages-page :is(small,.msg-status,.msg-report-label){color:var(--muted)}:root[data-theme=dark] :is(.sim-diagnostics p,.account-error,.gemini-error){color:var(--app-error)}@media(max-width:760px){:root[data-theme=dark] .site-shell .site-header nav{background:var(--surface);border-color:var(--border)}}@media(prefers-reduced-motion:reduce){.progress-toast.progress-toast-v2{animation:progress-toast-in-opacity .12s both!important}.progress-toast.progress-toast-v2[data-state=closing]{animation:progress-toast-out-opacity .12s both!important}}:root[data-theme=dark] .site-shell .overview-project-list{background:var(--app-glass);border-color:var(--border-soft);box-shadow:var(--app-shadow),inset 0 1px var(--app-highlight)}:root[data-theme=dark] .site-shell .overview-project-row:hover{background:var(--app-hover)}:root[data-theme=dark] .site-shell .overview-project-row{color:var(--text);border-color:var(--border-soft)}.progress-page :is(.achievement,.progress-recent-grid) .achievement-badge{color:var(--app-accent)}:root[data-theme=dark] .progress-toast-v2 .progress-toast-icon{color:var(--app-accent)}:root[data-theme=dark] .sim-canvas-wrap{background:var(--editor);color:var(--dim)}:root[data-theme=dark] .sim-pin-tooltip{background:var(--app-glass);color:var(--text);box-shadow:var(--app-shadow)}:root[data-theme=dark] :is(.sim-pin-tooltip small,.sim-canvas-hint){color:var(--muted)}:root[data-theme=dark] .circuitera-update{background:var(--app-glass);color:var(--text);border-color:var(--border-soft);box-shadow:var(--app-shadow)}:root[data-theme=dark] .dashboard-build .build-failed{color:var(--app-error)}:root[data-theme=dark] .circuitera-update button{background:var(--app-raised);color:var(--app-ink);box-shadow:inset 0 0 0 1px var(--app-line);transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}:root[data-theme=dark] .circuitera-update button:hover:not(:disabled){background:var(--app-hover)}:root[data-theme=dark] .circuitera-update button:active:not(:disabled){background:var(--app-selected)}:root[data-theme=dark] .circuitera-update button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}:root[data-theme=dark] .circuitera-update button:disabled{background:var(--app-panel);color:var(--app-muted);cursor:default}:root[data-theme=dark] .site-shell :is(.reference-details>summary,.faq-list summary):hover{background:var(--app-hover)}:root[data-theme=dark] .site-shell .site-button:hover:not(:disabled){background:var(--app-hover)}:root[data-theme=dark] .site-shell .site-button:active:not(:disabled){background:var(--app-selected)}@media(prefers-reduced-motion:reduce){:root[data-theme=dark] .circuitera-update button{transition:none}}:root[data-theme=dark] .terminal-live-input textarea{caret-color:var(--text)}:root[data-theme=dark] .progress-page{background:var(--app-page);color:var(--app-ink);--progress-surface:var(--app-glass)}:root[data-theme=dark] .progress-disclosure{background:var(--app-raised);color:var(--app-muted)}:root[data-theme=dark] .progress-stats span{color:var(--app-muted)}:root[data-theme=dark] .progress-page :is(button,input){border-color:var(--border)}:root[data-theme=dark] .terminal-page .terminal-save-error{background:var(--danger-soft);color:var(--app-error)}:root[data-theme=dark] .terminal-page .terminal-input-error{color:var(--app-error)}:root[data-theme=dark] .messages-page :is(.msg-identity,.msg-empty,.msg-welcome p,.msg-bubble em){color:var(--app-muted)}:root[data-theme=dark] .dashboard-shell:before{background:none}.progress-page{font:13px/1.5 var(--font-ui);letter-spacing:normal}.progress-page main{padding:24px;max-width:1180px}.progress-page .progress-title h1{font-size:22px;font-weight:650;line-height:1.35;letter-spacing:-.35px;margin:5px 0 12px}.progress-page :is(h2,h3,strong){font-family:var(--font-ui)}.progress-page h2{font-size:15px;font-weight:600;line-height:1.4}.progress-page h3{font-size:13px;font-weight:600;line-height:1.4}.progress-page main :is(button,input,.glass-select){font-family:var(--font-ui);font-size:12px;line-height:1.3;letter-spacing:normal}.progress-page :is(.progress-muted,small,.progress-stats span,.progress-level-caption){color:var(--muted)}.progress-page .progress-surface{padding:18px;border-radius:var(--cui-radius-panel,20px);box-shadow:inset 0 1px 0 var(--app-highlight,rgba(255,255,255,.12));background:var(--app-glass,var(--surface))}.progress-page .progress-hero{gap:24px;padding:22px}.progress-page .progress-hero-rank h2,.progress-page .rank-heading h2{font-size:22px;font-weight:600;letter-spacing:-.35px}.progress-page .progress-level-label strong,.progress-page .progress-stats strong{font-size:20px;font-weight:600}.progress-page .progress-section-heading{margin:14px 0 10px}.progress-page .progress-section-heading h2{font-size:15px}.progress-page .progress-grid{gap:12px}.progress-page .achievement{gap:10px;padding:16px}.progress-page .achievement h3{margin:4px 0;font-size:13px;font-weight:600}.progress-page .achievement p{font-size:12px;color:var(--muted);line-height:1.5}.progress-page .achievement.locked{opacity:1}.progress-page .progress-meter>span{transition:transform .2s ease}.progress-page .rank-collection{gap:10px;margin-top:16px}.progress-page .rank-collection .rank-choice{min-height:120px}.progress-settings-layout{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);gap:16px;align-items:start}.progress-preferences>h2,.progress-log>.progress-section-heading{margin-top:0}.progress-page .progress-preferences label{font-size:12px;line-height:1.5}.progress-preferences label>.glass-select{display:flex;margin-top:6px;width:100%}.progress-history-filters{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 6px}.progress-history-filters>.glass-select{flex:1;min-width:150px}.progress-page .progress-history{list-style:none;margin:0;padding:0}.progress-page .progress-history li{padding:12px 0;border-bottom:1px solid var(--border-soft);overflow-wrap:anywhere}.progress-history-heading{display:flex;gap:12px;justify-content:space-between;align-items:baseline}.progress-history-heading strong{font-size:12px;font-weight:600}.progress-history-heading>span{font-size:11px;white-space:nowrap;color:var(--muted)}.progress-page .progress-history p{font-size:12px;line-height:1.5;margin:3px 0}.progress-page .progress-history small{font-size:11px}.progress-history-more{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;font-size:11px;color:var(--muted)}.progress-history-empty{padding:16px 0}.progress-clear-confirm{padding:12px;background:var(--surface-2);border-radius:var(--cui-radius-control,12px);margin:12px 0}.progress-clear-confirm p{margin:0 0 10px;font-size:12px}.progress-clear-confirm button+button{margin-left:8px}.progress-toast-stack{position:fixed;right:20px;z-index:90;display:flex;flex-direction:column;gap:10px;pointer-events:none;max-height:calc(100dvh - 24px);width:min(324px,calc(100vw - 40px))}.progress-toast-stack .progress-toast.progress-toast-v2{position:relative;right:auto;bottom:auto;width:100%;padding:13px;font:12px/1.5 var(--font-ui);box-shadow:0 4px 18px #00000010}.progress-toast-v2 .progress-toast-copy>strong{font-weight:600;letter-spacing:normal;line-height:1.4}.progress-toast-v2 .progress-toast-copy>small{font-weight:500;letter-spacing:normal}@media(max-width:800px){.progress-settings-layout{grid-template-columns:1fr}.progress-page .progress-hero{gap:18px}}@media(max-width:520px){.progress-page main{padding:18px 14px}.progress-page .progress-surface{padding:16px}.progress-history-heading{gap:8px}.progress-page .progress-title h1{font-size:20px}}@media(prefers-reduced-motion:reduce){.progress-page .progress-meter>span{transition:none}}
