:root{--bg-page: #f5f7fa;--bg-panel: #ffffff;--bg-elevated: #ffffff;--bg-inset: #f3f5f8;--bg-state-box: #f8fafc;--bg-segment: #eef2f6;--bg-input: #fbfcfd;--bg-accent-tint: #ecfdf5;--bg-accent-hover: #d1fae5;--text-strong: #0f172a;--text-body: #1e293b;--text-soft: #334155;--text-muted: #64748b;--text-eyebrow: #64748b;--text-on-primary: #ffffff;--text-on-tint: #14532d;--text-error: #9f1239;--text-warning: #8a4b0a;--text-validation: #be123c;--border-default: #e2e8f0;--border-soft: #cbd5e1;--border-subtle: #eef2f6;--border-input: #cbd5e1;--border-validation: #fb7185;--accent: #16a34a;--accent-hover: #15803d;--accent-border: #86efac;--accent-bg-tint: #ecfdf5;--success: #2563eb;--success-hover: #1d4ed8;--notice-error-bg: #fff1f2;--notice-error-bd: #fecdd3;--notice-warn-bg: #fffbeb;--notice-warn-bd: #fde68a;--switch-off-bg: #cbd5e1;--switch-knob-bg: #ffffff;--shadow-card: 0 1px 3px rgba(15, 23, 42, .04), 0 4px 14px rgba(15, 23, 42, .05);--shadow-card-hover: 0 4px 8px rgba(15, 23, 42, .08), 0 16px 32px rgba(15, 23, 42, .1);--shadow-segment: 0 1px 5px rgba(15, 23, 42, .12);--shadow-switch-knob: 0 2px 6px rgba(15, 23, 42, .2);--oled-banner-bg: #fef6e1;--oled-banner-bd: #f3d99a;--oled-banner-text: #6b4f1d;--t-fast: .12s cubic-bezier(.4, 0, .2, 1);--t-base: .2s cubic-bezier(.4, 0, .2, 1);--t-slow: .3s cubic-bezier(.4, 0, .2, 1);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 20px;--font-display: "Space Grotesk", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "DM Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;font-family:var(--font-body);color:var(--text-body);background:var(--bg-page);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color-scheme:light}html[data-theme=dark]{--bg-page: #0F172A;--bg-panel: #1B2336;--bg-elevated: #1E293B;--bg-inset: #1B2336;--bg-state-box: #1B2336;--bg-segment: #1E293B;--bg-input: #272F42;--bg-accent-tint: #052e1f;--bg-accent-hover: #0a3a28;--text-strong: #F8FAFC;--text-body: #E2E8F0;--text-soft: #CBD5E1;--text-muted: #94A3B8;--text-eyebrow: #94A3B8;--text-on-primary: #0F172A;--text-on-tint: #86efac;--text-error: #fda4af;--text-warning: #fcd34d;--text-validation: #fda4af;--border-default: #334155;--border-soft: #334155;--border-subtle: #1E293B;--border-input: #475569;--border-validation: #fda4af;--accent: #22C55E;--accent-hover: #4ADE80;--accent-border: #15803D;--accent-bg-tint: #052e1f;--success: #60a5fa;--success-hover: #93c5fd;--notice-error-bg: #3a1820;--notice-error-bd: #66222e;--notice-warn-bg: #36280a;--notice-warn-bd: #6b4e10;--switch-off-bg: #475569;--switch-knob-bg: #E2E8F0;--shadow-card: 0 1px 3px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .3);--shadow-card-hover: 0 4px 10px rgba(0, 0, 0, .5), 0 24px 48px rgba(0, 0, 0, .4), 0 0 0 1px rgba(34, 197, 94, .1);--shadow-segment: 0 1px 5px rgba(0, 0, 0, .4);--shadow-switch-knob: 0 2px 6px rgba(0, 0, 0, .5);--oled-banner-bg: #2b220a;--oled-banner-bd: #6b541b;--oled-banner-text: #facc15;color-scheme:dark}@media (prefers-color-scheme: dark){html[data-theme=system],html:not([data-theme]){--bg-page: #0F172A;--bg-panel: #1B2336;--bg-elevated: #1E293B;--bg-inset: #1B2336;--bg-state-box: #1B2336;--bg-segment: #1E293B;--bg-input: #272F42;--bg-accent-tint: #052e1f;--bg-accent-hover: #0a3a28;--text-strong: #F8FAFC;--text-body: #E2E8F0;--text-soft: #CBD5E1;--text-muted: #94A3B8;--text-eyebrow: #94A3B8;--text-on-primary: #0F172A;--text-on-tint: #86efac;--text-error: #fda4af;--text-warning: #fcd34d;--text-validation: #fda4af;--border-default: #334155;--border-soft: #334155;--border-subtle: #1E293B;--border-input: #475569;--border-validation: #fda4af;--accent: #22C55E;--accent-hover: #4ADE80;--accent-border: #15803D;--accent-bg-tint: #052e1f;--success: #60a5fa;--success-hover: #93c5fd;--notice-error-bg: #3a1820;--notice-error-bd: #66222e;--notice-warn-bg: #36280a;--notice-warn-bd: #6b4e10;--switch-off-bg: #475569;--switch-knob-bg: #E2E8F0;--shadow-card: 0 1px 3px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .3);--shadow-card-hover: 0 4px 10px rgba(0, 0, 0, .5), 0 24px 48px rgba(0, 0, 0, .4), 0 0 0 1px rgba(34, 197, 94, .1);--shadow-segment: 0 1px 5px rgba(0, 0, 0, .4);--shadow-switch-knob: 0 2px 6px rgba(0, 0, 0, .5);--oled-banner-bg: #2b220a;--oled-banner-bd: #6b541b;--oled-banner-text: #facc15;color-scheme:dark}}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:var(--bg-page);color:var(--text-body)}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.app-shell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:32px 0}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.app-header>div:first-child{min-width:0;flex:1 1 auto}.header-tools{display:flex;align-items:center;gap:10px;flex-shrink:0}.eyebrow,.label{color:var(--text-eyebrow);font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:uppercase}h1,h2,h3{margin:0;font-family:var(--font-display);letter-spacing:-.02em;font-weight:600}h1{color:var(--text-strong);font-size:clamp(2rem,5vw,3.2rem);line-height:1.05}.app-title{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.app-title-suffix{font-size:.6em;font-style:italic;font-weight:500;color:var(--text-muted);line-height:1.1}h2{font-size:1.05rem;color:var(--text-strong)}h3{font-size:.95rem;color:var(--text-strong)}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.status-pill{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px;color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:999px;font-weight:700;white-space:nowrap}.status-pill.connected{color:var(--accent);border-color:var(--accent-border);background:var(--accent-bg-tint)}.notice{display:flex;align-items:center;gap:10px;min-height:46px;margin-bottom:14px;padding:12px 14px;border-radius:8px;border:1px solid;font-weight:650}.notice.error{color:var(--text-error);background:var(--notice-error-bg);border-color:var(--notice-error-bd)}.notice.warning{color:var(--text-warning);background:var(--notice-warn-bg);border-color:var(--notice-warn-bd)}.notice button{margin-left:auto;color:inherit;background:transparent;border:0;font-weight:800}.device-strip,.panel{background:var(--bg-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:box-shadow var(--t-base)}.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.bento>.card{background:var(--bg-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-card);transition:transform var(--t-base),box-shadow var(--t-base),border-color var(--t-base);grid-column:span 12;min-width:0}.bento>.card.hover-lift:hover{transform:translateY(-2px) scale(1.005);box-shadow:var(--shadow-card-hover)}.bento>.card.feature{border-color:var(--accent-border)}@media (min-width: 720px){.bento>.card.span-4{grid-column:span 4}.bento>.card.span-6{grid-column:span 6}.bento>.card.span-8{grid-column:span 8}.bento>.card.span-12{grid-column:span 12}}@media (max-width: 719px){.bento>.card{grid-column:span 12}}@media (prefers-reduced-motion: reduce){.bento>.card.hover-lift:hover{transform:none}}.status-hero{display:flex;flex-direction:column;gap:10px}.status-hero-eyebrow{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.status-hero-eyebrow .lucide{color:var(--accent)}.status-hero-dirty{color:var(--text-warning);text-transform:none;letter-spacing:0;font-weight:500}.status-hero-title{margin:4px 0 0;font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2rem);font-weight:600;letter-spacing:-.02em;color:var(--text-strong);line-height:1.1}.status-hero-device{font-family:var(--font-mono);font-size:13px;color:var(--text-muted);margin-bottom:4px}.status-hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px;padding-top:14px;border-top:1px solid var(--border-subtle)}.status-hero-stat{display:flex;flex-direction:column;gap:2px}.status-hero-stat .label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.status-hero-stat strong{color:var(--text-strong);font-size:15px;font-weight:600}.status-hero-empty{display:flex;align-items:center;gap:8px;margin:8px 0 0;padding:10px 12px;background:var(--bg-inset);border-radius:var(--radius-md);font-size:13px;color:var(--text-muted)}.status-hero-empty strong{color:var(--accent)}.status-hero-issues{margin:8px 0 0;padding-left:18px;color:var(--text-validation);font-weight:500;font-size:13px}.feature-badge{margin-left:auto;padding:3px 8px;background:var(--accent-bg-tint);color:var(--text-on-tint);border:1px solid var(--accent-border);border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-family:var(--font-display)}.actions-card .action-stack{display:flex;flex-direction:column;gap:8px}.advanced-card{padding:0}.advanced-card .advanced-reveal{padding:22px}.advanced-reveal{width:100%}.advanced-reveal-summary{display:flex;align-items:center;gap:10px;cursor:pointer;padding:6px 0;list-style:none;-webkit-user-select:none;user-select:none;color:var(--text-strong);font-family:var(--font-display);font-weight:600}.advanced-reveal-summary::-webkit-details-marker{display:none}.advanced-reveal-chevron{color:var(--text-muted);transition:transform var(--t-base)}.advanced-reveal[open] .advanced-reveal-chevron{transform:rotate(180deg)}.advanced-reveal-title{font-size:.95rem}.advanced-reveal-hint{font-family:var(--font-body);font-size:12px;color:var(--text-muted);font-weight:400;margin-left:8px}@media (max-width: 720px){.advanced-reveal-hint{display:none}}.advanced-reveal-body{margin-top:18px;padding-top:14px;border-top:1px solid var(--border-subtle)}.bento .panel-title.spaced{display:none}body,.bento>.card,.device-strip,.status-pill,.status-hero-title,.status-hero-eyebrow,.status-hero-device,.status-hero-stat strong,input[type=number],.switch,.switch span,.button,.tab-nav .tab,.segmented-control,.segmented-control button,.oled-banner,.theme-toggle,.theme-toggle button,.control-hint,.feature-badge,.advanced-reveal-summary,.advanced-reveal-chevron,.advanced-reveal-hint{transition:background-color var(--t-slow),border-color var(--t-slow),color var(--t-slow),box-shadow var(--t-base),transform var(--t-base)}@keyframes tab-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.bento,.preview-panel{animation:tab-fade-in .25s cubic-bezier(.4,0,.2,1)}@keyframes connect-pulse{0%,to{box-shadow:0 0 #22c55e80}50%{box-shadow:0 0 0 8px #22c55e00}}.button.primary.pulse:not(:disabled){animation:connect-pulse 2.4s ease-in-out infinite}@keyframes status-dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.status-pill.connected:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-right:2px;animation:status-dot-pulse 2s ease-in-out infinite}.theme-toggle button.active{animation:theme-pop .28s cubic-bezier(.34,1.56,.64,1)}@keyframes theme-pop{0%{transform:scale(.85)}60%{transform:scale(1.08)}to{transform:scale(1)}}input[type=range]::-webkit-slider-thumb{transition:background-color var(--t-fast),transform var(--t-fast)}input[type=range]:hover::-webkit-slider-thumb,input[type=range]:focus::-webkit-slider-thumb{transform:scale(1.15)}@media (prefers-reduced-motion: reduce){.button.primary.pulse:not(:disabled){animation:none}.status-pill.connected:before{animation:none}.theme-toggle button.active,.bento,.preview-panel{animation:none}body,.bento>.card,.device-strip,.status-pill{transition:none}}.device-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding:14px}.device-main{display:flex;align-items:center;gap:12px;min-width:0}.device-main strong{display:block;overflow-wrap:anywhere;color:var(--text-strong)}.device-icon{display:grid;width:44px;height:44px;place-items:center;color:var(--accent);background:var(--bg-accent-tint);border-radius:8px}.device-actions,.action-stack{display:flex;gap:10px}.device-actions{flex-wrap:wrap;justify-content:flex-end}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.panel{padding:18px}.panel-title{display:flex;align-items:center;gap:10px;margin-bottom:18px;color:var(--text-strong)}.panel-title svg{color:var(--accent)}.panel-title.spaced{margin-top:32px;padding-top:24px;border-top:1px solid var(--border-subtle)}.panel-blurb{margin:-6px 0 14px;color:var(--text-muted);font-size:14px;line-height:1.45}.panel-blurb code{background:var(--bg-inset);padding:1px 5px;border-radius:3px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}.control-hint{margin:4px 0 12px;padding:10px 14px;background:var(--bg-inset);border-left:3px solid var(--accent);color:var(--text-soft);font-size:13px;line-height:1.5;border-radius:4px}.control-row.disabled{opacity:.45}.control-row.disabled input,.control-row.disabled button{cursor:not-allowed}.firmware-line{margin:6px 0 0;color:var(--text-muted);font-size:13px}.app-footer{margin-top:28px;padding:16px 0;border-top:1px solid var(--border-subtle);color:var(--text-muted);font-size:13px;text-align:center}.app-footer a{color:var(--accent)}.control-stack,.action-stack{flex-direction:column}.control-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,420px);gap:18px;align-items:center;min-height:66px;padding:14px 0;border-top:1px solid var(--border-subtle)}.control-row:first-child{border-top:0}.control-row strong{display:block;line-height:1.25;color:var(--text-strong)}.control-row small{display:block;margin-top:5px;color:var(--text-validation);font-weight:650}.control-row.invalid input[type=number]{border-color:var(--border-validation)}.range-inputs{display:grid;grid-template-columns:minmax(130px,1fr) 84px;gap:12px;align-items:center}input[type=range]{width:100%;accent-color:var(--accent)}input[type=number]{width:100%;min-height:38px;padding:0 10px;color:var(--text-strong);background:var(--bg-input);border:1px solid var(--border-input);border-radius:6px;font-weight:750}.toggle-row{min-height:58px}.switch{justify-self:end;position:relative;width:56px;height:32px;padding:3px;background:var(--switch-off-bg);border:0;border-radius:999px;transition:background-color .16s ease}.switch span{display:block;width:26px;height:26px;background:var(--switch-knob-bg);border-radius:50%;box-shadow:var(--shadow-switch-knob);transition:transform .16s ease}.switch.on{background:var(--accent)}.switch.on span{transform:translate(24px)}.segmented-control{display:grid;grid-template-columns:repeat(3,1fr);padding:4px;background:var(--bg-segment);border-radius:8px}.segmented-control.n-options-2,.segmented-control.n-options-3,.segmented-control.n-options-4{grid-template-columns:repeat(2,1fr)}.segmented-control button{min-height:36px;color:var(--text-muted);background:transparent;border:0;border-radius:6px;font-weight:800}.segmented-control button.selected{color:var(--text-on-tint);background:var(--bg-elevated);box-shadow:var(--shadow-segment)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid transparent;border-radius:7px;font-weight:850;transition:transform .12s ease,background-color .12s ease,border-color .12s ease}.button:not(:disabled):active{transform:translateY(1px)}.button.primary{color:var(--text-on-primary);background:var(--accent)}.button.primary:hover:not(:disabled){background:var(--accent-hover)}.button.success{color:var(--text-on-primary);background:var(--success)}.button.success:hover:not(:disabled){background:var(--success-hover)}.button.secondary,.button.ghost{color:var(--text-soft);background:var(--bg-elevated);border-color:var(--border-input)}.button.secondary:hover:not(:disabled),.button.ghost:hover:not(:disabled){background:var(--bg-inset)}.button.ghost{color:var(--text-muted)}.button:disabled{opacity:.48}.button.wide{width:100%}.state-box{margin-top:18px;padding:14px;background:var(--bg-state-box);border:1px solid var(--border-default);border-radius:8px}.state-box strong{display:block;margin-top:4px;color:var(--text-strong)}.state-box ul{margin:10px 0 0;padding-left:18px;color:var(--text-validation);font-weight:650}.tab-nav{display:flex;gap:4px;margin:0 0 18px;border-bottom:1px solid var(--border-soft)}.tab-nav .tab{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:transparent;border:none;border-bottom:3px solid transparent;font-size:14px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s}.tab-nav .tab:hover{color:var(--accent)}.tab-nav .tab.active{color:var(--accent);border-bottom-color:var(--accent)}.language-toggle{position:relative}.language-toggle-button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-segment);border:1px solid var(--border-soft);border-radius:999px;color:var(--text-soft);font-family:var(--font-display);font-weight:600;font-size:12px;letter-spacing:.04em;height:38px;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.language-toggle-button:hover{background:var(--bg-accent-tint);border-color:var(--accent-border);color:var(--accent)}.language-toggle-current{min-width:18px;text-align:left}.language-toggle-menu{position:absolute;top:calc(100% + 6px);right:0;margin:0;padding:6px;list-style:none;background:var(--bg-panel);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-card-hover);z-index:50;min-width:180px;animation:tab-fade-in .2s cubic-bezier(.4,0,.2,1)}.language-toggle-menu li{padding:0}.language-toggle-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:transparent;border:0;border-radius:var(--radius-sm);color:var(--text-body);font-size:14px;text-align:left;cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.language-toggle-menu button:hover{background:var(--bg-inset);color:var(--text-strong)}.language-toggle-menu button.active{color:var(--accent);font-weight:600}.language-toggle-label{flex:1 1 auto}.language-toggle-short{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);letter-spacing:.04em}@media (prefers-reduced-motion: reduce){.language-toggle-menu{animation:none}}.theme-toggle{display:inline-flex;align-items:center;gap:4px;padding:4px;background:var(--bg-segment);border:1px solid var(--border-soft);border-radius:999px}.theme-toggle button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;background:transparent;border:0;border-radius:999px;color:var(--text-muted);transition:background .15s,color .15s}.theme-toggle button:hover{color:var(--text-strong)}.theme-toggle button.active{background:var(--bg-elevated);color:var(--accent);box-shadow:var(--shadow-segment)}.preview-panel{display:flex;flex-direction:column}.oled-emulator{display:flex;flex-direction:column;align-items:center;gap:12px}.pico-board{position:relative;width:min(640px,100%);aspect-ratio:600 / 300;filter:drop-shadow(0 12px 32px rgba(0,0,0,.3));transition:filter var(--t-slow)}.pico-board.connected{filter:drop-shadow(0 12px 32px rgba(0,0,0,.3)) drop-shadow(0 0 24px rgba(34,197,94,.18))}.pico-board-svg{display:block;width:100%;height:100%}.pico-board-screen-slot{position:absolute;display:flex;align-items:center;justify-content:center;overflow:hidden}.oled-canvas{display:block;image-rendering:pixelated;image-rendering:crisp-edges;width:100%;height:100%}.oled-banner-top{align-self:stretch;text-align:center}.oled-controls{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;width:min(640px,100%)}.oled-key{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;background:var(--bg-inset);border:1px solid var(--border-soft);border-radius:8px;font-weight:600;color:var(--text-soft);cursor:pointer;transition:background .15s,transform .05s}.oled-key:hover{background:var(--bg-accent-hover);border-color:var(--accent)}.oled-key:active{transform:translateY(1px)}.oled-controls .oled-key:first-child{justify-self:start}.oled-controls .oled-key:last-child{justify-self:end}.oled-screen-name{text-align:center;font-size:13px;color:var(--text-muted)}.oled-screen-name strong{color:var(--accent)}.oled-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center}.oled-toolbar .button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px}.oled-banner{padding:6px 12px;background:var(--oled-banner-bg);border:1px solid var(--oled-banner-bd);border-radius:4px;color:var(--oled-banner-text);font-size:13px}@media (max-width: 860px){.app-shell{width:min(100% - 20px,680px);padding:20px 0}.app-header,.device-strip{align-items:stretch;flex-direction:column}.status-pill{align-self:flex-start}.device-actions{justify-content:stretch}.device-actions .button{flex:1 1 140px}.content-grid{grid-template-columns:1fr}.control-row{grid-template-columns:1fr;gap:10px}}@media (max-width: 540px){.pico-board{width:100%}}@media (max-width: 480px){.range-inputs,.segmented-control,.segmented-control.n-options-2,.segmented-control.n-options-3,.segmented-control.n-options-4{grid-template-columns:1fr}.panel{padding:14px}}.flasher-card{max-width:720px;margin:0 auto}.flasher-warning{display:flex;align-items:center;gap:8px;background:color-mix(in srgb,var(--accent-warning, #f59e0b) 12%,transparent);color:var(--accent-warning, #f59e0b);border-radius:8px;padding:10px 14px;font-size:14px;margin:12px 0 16px}.flasher-steps{list-style:none;padding:0;margin:16px 0;display:grid;gap:16px}.flasher-steps>li{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start}.flasher-step-num{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--surface-2, #1b2336);color:var(--text-muted, #94a3b8);font-weight:600;font-family:var(--font-mono, "JetBrains Mono", monospace)}.flasher-steps h3{font-size:15px;margin:0 0 4px;font-weight:600}.flasher-steps p{font-size:13px;color:var(--text-muted, #94a3b8);margin:0 0 10px}.flasher-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.flasher-file-size,.flasher-device-ok{display:inline-flex;align-items:center;gap:6px;margin-left:10px;font-size:12px;font-family:var(--font-mono, "JetBrains Mono", monospace);color:var(--accent-success, #22c55e)}.flasher-status{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;background:var(--surface-2, #1b2336);font-size:14px;margin-top:16px}.flasher-status strong{font-weight:600}.flasher-status-msg{color:var(--text-muted, #94a3b8);font-size:13px}.flasher-status-done{background:color-mix(in srgb,var(--accent-success, #22c55e) 15%,transparent)}.flasher-status-error{background:color-mix(in srgb,var(--accent-error, #ef4444) 15%,transparent);color:var(--accent-error, #ef4444)}.flasher-status-writing,.flasher-status-rebooting,.flasher-status-connecting,.flasher-status-parsing{background:color-mix(in srgb,var(--accent, #22c55e) 12%,transparent)}.flasher-driver-help{margin-top:20px;font-size:13px}.flasher-driver-help summary{cursor:pointer;padding:8px 0;color:var(--text-muted, #94a3b8)}.flasher-driver-help h4{margin:14px 0 6px;font-size:13px;font-weight:600}.flasher-driver-help pre{background:var(--surface-2, #1b2336);padding:10px;border-radius:6px;font-size:12px;overflow-x:auto;margin:6px 0}.flasher-driver-help code{font-family:var(--font-mono, "JetBrains Mono", monospace)}.flasher-panel{padding:20px}.flasher-source-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.flasher-device-strip{display:flex;gap:24px;flex-wrap:wrap;background:var(--surface-2, #1b2336);border:1px solid var(--border, #334155);border-radius:8px;padding:10px 16px;margin:12px 0;font-size:13px}.flasher-device-strip>div{display:flex;gap:8px;align-items:baseline}.flasher-device-strip .label{color:var(--text-muted, #94a3b8);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.flasher-device-strip .num{font-family:var(--font-mono, "JetBrains Mono", monospace);color:var(--text, #e2e8f0)}.flasher-progress{width:100%;height:6px;background:var(--surface-2, #1b2336);border-radius:3px;overflow:hidden;margin:0 0 16px}.flasher-progress-fill{height:100%;background:var(--accent, #22c55e);transition:width .1s linear,background-color .2s ease;width:0}.flasher-progress-fill.errored{background:var(--accent-error, #ef4444)}.flasher-action-row{display:flex;gap:8px;flex-wrap:wrap}.flasher-log-toggle{display:flex;gap:12px;margin-top:16px;font-size:12px}.button-link{background:none;border:none;padding:4px 0;color:var(--text-muted, #94a3b8);cursor:pointer;font-size:12px;text-decoration:underline}.button-link:hover{color:var(--text, #e2e8f0)}.flasher-log{margin-top:8px;max-height:220px;overflow-y:auto;background:var(--surface-2, #1b2336);border:1px solid var(--border, #334155);border-radius:8px;padding:10px 12px;font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:12px;line-height:1.5}.log-entry{white-space:pre-wrap;word-break:break-word}.log-info{color:var(--text-muted, #94a3b8)}.log-success{color:var(--accent-success, #22c55e)}.log-warning{color:var(--accent-warning, #f59e0b)}.log-error{color:var(--accent-error, #ef4444)}.flasher-file-meta{display:flex;gap:12px;flex-wrap:wrap;align-items:baseline;margin-top:4px}.flasher-file-hash{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:11px;color:var(--text-muted, #94a3b8);cursor:help}.flasher-warning-trust{margin-top:10px;font-size:12px;line-height:1.45;background:color-mix(in srgb,var(--accent-warning, #f59e0b) 12%,transparent);color:var(--accent-warning, #f59e0b);border-left:3px solid var(--accent-warning, #f59e0b)}
