:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef1f6;--panel:#fff;--ink:#1a2233;--muted:#64748b;--muted-sm:#94a3b8;--line:#e2e8f0;--brand:#1d4ed8;--brand-ink:#fff;--nav:#0f172a;--nav-bg:#0f172ae0;--nav-ink:#e2e8f0;--nav-active:#1d4ed8;--green:#059669;--green-bg:#d1fae5;--amber:#b45309;--amber-bg:#fef3c7;--error:#dc2626;--th-bg:#f8fafc;--hover-bg:#f8fafc;--chip-bg:#eff4ff;--code-bg:#f1f5f9;--hero-tint:#e6edfb;--grid-line:#0f172a0f;--shadow:0 1px 3px #0f172a14, 0 1px 2px #0f172a0a;--shadow-lg:0 8px 24px #0f172a1f}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:15px/1.55 system-ui,sans-serif}h1,h2,h3,p{margin:0}.app{flex-direction:column;min-height:100vh;display:flex}.icon{vertical-align:-.15em;flex:none;width:1.05em;height:1.05em}.icon-btn{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.35rem;justify-content:center;align-items:center;padding:.3rem;display:inline-flex}.icon-btn:hover{color:var(--brand);background:var(--code-bg)}.navbar{z-index:20;background:var(--nav-bg);-webkit-backdrop-filter:blur(12px);height:58px;color:var(--nav-ink);box-shadow:var(--shadow);align-items:center;gap:1.5rem;padding:0 1.5rem;display:flex;position:sticky;top:0}.nav-brand{cursor:pointer;white-space:nowrap;align-items:center;gap:.5rem;font-weight:700;display:flex}.nav-logo{color:#60a5fa;display:inline-flex}.nav-logo .icon{width:1.3rem;height:1.3rem}.nav-menu{scrollbar-width:none;flex:1;gap:.25rem;display:flex;overflow-x:auto}.nav-menu::-webkit-scrollbar{display:none}.nav-menu button{color:#cbd5e1;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:.4rem;align-items:center;gap:.4rem;padding:.45rem .85rem;font-weight:500;display:inline-flex}.nav-menu button:hover{color:#fff;background:#ffffff14}.nav-menu button.active{background:var(--nav-active);color:#fff}.nav-right{align-items:center;gap:.75rem;display:flex}.nav-theme{color:#cbd5e1;border-radius:.4rem;padding:.4rem}.nav-theme:hover{color:#fff;background:#ffffff14}.nav-right .primary{align-items:center;gap:.4rem;display:inline-flex}.language{background:#ffffff14;border-radius:.4rem;gap:.15rem;padding:.15rem;display:flex}.language button{color:#cbd5e1;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:.3rem;padding:.2rem .5rem;font-size:.85rem}.language button.active{color:var(--nav);background:#fff;font-weight:600}.user-chip{align-items:center;gap:.4rem;font-size:.9rem;font-weight:500;display:flex}.user-avatar{background:var(--brand);color:#fff;border-radius:50%;place-items:center;width:1.6rem;height:1.6rem;font-size:.8rem;font-weight:700;display:grid}.content{flex:1;width:100%;max-width:1140px;margin:0 auto;padding:1.75rem 1.5rem 3rem}.view-head{margin-bottom:1.25rem}.view-head.row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.view-head h1{font-size:1.5rem}.subtitle{color:var(--muted);max-width:65ch;margin-top:.4rem}.section-h{margin-bottom:1rem;font-size:1.1rem}.panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:.7rem;margin-bottom:1.25rem;padding:1.25rem 1.4rem}.panel-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.9rem;display:flex}.panel-h{margin-bottom:.9rem}.muted-sm{color:var(--muted-sm);font-size:.8rem}.hint-sm{color:var(--muted-sm);font-size:.78rem;font-weight:400}.hero{border:1px solid var(--line);background:linear-gradient(135deg, var(--panel) 0%, var(--hero-tint) 100%);box-shadow:var(--shadow);border-radius:1rem;margin-bottom:1.75rem;padding:2.75rem 2.25rem 2.25rem;position:relative;overflow:hidden}.hero:before{content:"";background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);pointer-events:none;background-size:34px 34px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(85% 95% at 25% 0,#000 0%,#0000 72%);mask-image:radial-gradient(85% 95% at 25% 0,#000 0%,#0000 72%)}.hero>*{position:relative}.hero-title{letter-spacing:-.01em;font-size:2rem}.hero-sub{color:var(--muted);max-width:68ch;margin-top:.6rem}button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:.4rem;padding:.5rem .9rem;font-weight:600}button.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}button.primary:hover{filter:brightness(1.08)}button.ghost{background:var(--panel);color:var(--ink);align-items:center;gap:.4rem;display:inline-flex}button.ghost:hover{background:var(--code-bg)}button.block{width:100%}.mini-btn{border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:.4rem;align-items:center;gap:.35rem;padding:.32rem .6rem;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex}.mini-btn:hover{border-color:var(--brand);color:var(--brand)}.mini-btn:disabled{opacity:.5;cursor:not-allowed}.mini-btn.danger{border-color:var(--error);color:var(--error)}.mini-btn.danger:hover{background:var(--error);border-color:var(--error);color:#fff}.board-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;display:grid}.board-intro-grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:1rem}.board-intro-grid .board-card{min-height:0;padding:.9rem}.board-intro-grid .board-image{height:175px}.catalog-home-toolbar{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;display:flex}.catalog-home-toolbar .section-h{margin-bottom:.1rem}.catalog-home-toolbar .search{width:min(360px,45vw)}.board-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:.7rem;flex-direction:column;gap:.55rem;padding:1.1rem;display:flex}.board-image{object-fit:cover;border:1px solid var(--line);background:var(--th-bg);border-radius:.45rem;width:100%;height:300px;display:block}.board-card-head{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);gap:.5rem;width:100%;display:grid}.board-card h3{font-size:1rem}.board-card-head h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;min-height:2.9em;display:-webkit-box;overflow:hidden}.board-card-head .chip{justify-self:end}.chip{color:var(--brand);background:var(--chip-bg);white-space:nowrap;border-radius:.35rem;padding:.15rem .45rem;font-size:.72rem;font-weight:600}.tagline{color:var(--muted);font-size:.9rem}.board-description{color:var(--muted);white-space:pre-wrap;font-size:.88rem}.features{flex-direction:column;gap:.38rem;margin:.15rem 0 0;padding-left:1.1rem;font-size:.92rem;line-height:1.45;display:flex}.card-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:.65rem;display:flex}.card-actions .mini-btn{flex:auto;justify-content:center;padding:.45rem .7rem;font-size:.88rem}.card-actions a.mini-btn{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.card-actions a.mini-btn:hover{color:var(--brand-ink);filter:brightness(1.08)}.card-actions button.mini-btn{background:var(--chip-bg);border-color:var(--brand);color:var(--brand)}.card-actions button.mini-btn:hover{background:var(--brand);color:var(--brand-ink)}.board-id{color:var(--muted);background:var(--code-bg);border-radius:.3rem;align-self:flex-start;padding:.1rem .4rem;font-size:.75rem}.feature-matrix-panel{margin-top:1.5rem;padding:1.35rem}.feature-matrix-head{margin-bottom:.8rem}.feature-matrix-head .section-h{margin-bottom:.25rem}.feature-matrix-panel .table-scroll{max-height:72vh;overflow:auto}.feature-matrix{min-width:860px;font-size:.88rem}.feature-matrix th:first-child{text-align:left;z-index:1;background:var(--panel);min-width:260px;position:sticky;left:0}.feature-matrix thead th{z-index:2;background:var(--th-bg);position:sticky;top:0}.feature-matrix thead th:first-child{z-index:3;background:var(--th-bg)}.feature-matrix tbody tr:hover th:first-child{background:var(--hover-bg)}.feature-matrix th:not(:first-child),.feature-matrix td{text-align:center;width:150px}.feature-matrix thead th:not(:first-child){white-space:nowrap}.feature-matrix td{vertical-align:middle}.feature-mark{border-radius:999px;justify-content:center;align-items:center;width:1.65rem;height:1.65rem;font-size:1rem;font-weight:800;display:inline-flex}.feature-yes{color:#047857;background:#d1fae5}.feature-partial{color:#b45309;background:#fef3c7}.feature-no{color:#64748b;background:var(--code-bg)}.board-history{scroll-margin-top:76px}.board-history-head{align-items:center;gap:.6rem;margin-bottom:.75rem;display:flex}.board-history-head h3{font-size:1rem}.anchor-chips{flex-wrap:wrap;gap:.5rem;margin-bottom:1.1rem;display:flex}.anchor-chips a{color:var(--brand);background:var(--chip-bg);border-radius:999px;padding:.3rem .8rem;font-size:.82rem;font-weight:600;text-decoration:none}.anchor-chips a:hover{filter:brightness(1.05)}.skeleton-panel{flex-direction:column;gap:.8rem;display:flex}.sk-line{background:var(--code-bg);border-radius:6px;height:14px}.sk-line:nth-child(2){width:82%}.sk-line:nth-child(3){width:66%}.sk-line:nth-child(4){width:74%}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap;padding:.6rem .7rem}th{text-transform:uppercase;letter-spacing:.03em;color:var(--muted-sm);background:var(--th-bg);font-size:.76rem}tbody tr:hover{background:var(--hover-bg)}.notes-col{white-space:pre-wrap;max-width:34ch}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.sha-cell code{color:var(--muted);font-size:.78rem}.sha-cell .icon-btn,.dl-cell .icon-btn{vertical-align:middle;margin-left:.35rem}.badge{border-radius:.35rem;padding:.1rem .45rem;font-size:.72rem;font-weight:600;display:inline-block}.badge.stable{color:var(--green);background:var(--green-bg)}.badge.beta{color:var(--amber);background:var(--amber-bg)}.badge.latest{color:var(--brand);background:var(--chip-bg)}.badge.archived{color:var(--muted);background:var(--code-bg)}.archived-row td{opacity:.55}.release-actions{text-align:right}.download{color:var(--brand);font-weight:600;text-decoration:none}.download:hover{text-decoration:underline}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.stat-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);text-align:left;cursor:pointer;border-radius:.7rem;flex-direction:column;align-items:flex-start;gap:.25rem;padding:1.1rem 1.2rem;font-weight:400;transition:border-color .12s,box-shadow .12s;display:flex}.stat-card.static{cursor:default}.stat-card:not(.static):hover{border-color:var(--brand)}.stat-card.active{border-color:var(--brand);box-shadow:0 0 0 2px #bfdbfe}.stat-num{font-size:1.9rem;font-weight:700;line-height:1}.stat-num.accent-green{color:var(--green)}.stat-num.accent-amber{color:var(--amber)}.stat-label{color:var(--muted);font-size:.85rem}.table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.9rem;display:flex}.toolbar-side{flex-wrap:wrap;align-items:center;gap:.9rem;display:flex}.search{max-width:360px}.table-scroll.sticky{max-height:62vh;overflow:auto}.table-scroll.sticky thead th{z-index:1;position:sticky;top:0}button:disabled{opacity:.5;cursor:not-allowed}.pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:.9rem;display:flex}.pager-controls{align-items:center;gap:.6rem;display:flex}.login-view{place-items:center;min-height:60vh;display:grid}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:.8rem;flex-direction:column;gap:.85rem;width:min(400px,100%);padding:2rem 1.8rem;display:flex;box-shadow:0 10px 30px #0f172a1a}.login-logo{color:var(--brand);text-align:center}.login-logo .icon{width:2.1rem;height:2.1rem}.login-card h2{text-align:center;font-size:1.25rem}.login-card .hint{text-align:center;margin-bottom:.5rem}input,select,textarea{font:inherit;border:1px solid var(--line);background:var(--panel);width:100%;color:var(--ink);border-radius:.45rem;padding:.55rem .65rem}input:focus,select:focus,textarea:focus{border-color:var(--brand);outline:2px solid #bfdbfe}label{gap:.3rem;font-size:.9rem;font-weight:600;display:grid}.hint{color:var(--muted)}.publish-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.wide{grid-column:1/-1}textarea{resize:vertical;min-height:5rem}.actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.message{color:var(--brand);font-weight:600}.error{color:var(--error);margin:.5rem 0;font-weight:600}.empty{color:var(--muted);padding:.5rem 0}.progress{flex:1;align-items:center;gap:.6rem;min-width:200px;display:flex}.progress-track{background:var(--code-bg);border-radius:999px;flex:1;height:8px;overflow:hidden}.progress-bar{background:var(--brand);border-radius:999px;height:100%}.flash-card .tagline.serial-only{color:var(--amber)}.flash-btn{align-self:flex-start}.flash-tip{color:var(--muted);font-size:.8rem}.unsupported{color:var(--error);font-size:.85rem}.catalog-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:1rem;display:grid}.board-list{flex-direction:column;gap:.45rem;padding:.65rem;display:flex;position:sticky;top:74px}.board-list button{text-align:left;grid-template-columns:minmax(0,1fr) auto;gap:.2rem .4rem;font-weight:400;display:grid}.board-list button strong{overflow-wrap:anywhere;min-width:0}.board-list button code{color:var(--muted);overflow-wrap:anywhere;font-size:.72rem}.board-list button .badge{grid-area:1/2/3;align-self:center}.board-list button.active{border-color:var(--brand);box-shadow:0 0 0 2px #bfdbfe}.image-upload-row{align-items:center;gap:1rem;display:flex}.board-image-preview{border:1px solid var(--line);object-fit:cover;border-radius:.45rem;width:180px;height:130px}.image-upload-button{margin-top:.7rem}.feature-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1rem;margin-bottom:1rem;display:grid}.feature-assignment{border:1px solid var(--line);border-radius:.45rem;padding:.6rem}.feature-assignment-row{grid-template-columns:minmax(0,1fr) 140px;align-items:center;gap:.6rem;display:grid}.feature-editor-grid code{color:var(--muted-sm);font-size:.72rem}.feature-note-row{grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.55rem;display:grid}.feature-picker{flex-wrap:wrap;gap:.4rem;max-height:150px;margin-bottom:1rem;display:flex;overflow-y:auto}.feature-picker button{padding:.3rem .55rem;font-size:.8rem}.compact-form textarea{min-height:3rem}.ai-import summary{cursor:pointer;font-weight:700}.ai-import .hint{margin:.8rem 0}.ai-import textarea{min-height:220px;margin-bottom:.8rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.catalog-message{margin-bottom:1rem}.serial-open{align-self:flex-start}.serial-panel{max-width:960px}.serial-toolbar{align-items:end;gap:.75rem;margin-bottom:1rem;display:flex}.serial-toolbar label{min-width:min(360px,100%)}.serial-actions{flex-wrap:wrap;gap:.5rem;margin-bottom:.9rem;display:flex}.serial-terminal{color:#d1fae5;background:#111827;border:1px solid #111827;border-radius:.45rem;flex-direction:column;min-height:440px;font:.9rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;display:flex;overflow:hidden}.serial-output{white-space:pre-wrap;overflow-wrap:anywhere;flex:1;min-height:390px;max-height:62vh;margin:0;padding:1rem;overflow:auto}.serial-command{background:#0b1220;border-top:1px solid #334155;align-items:center;min-height:2.8rem;padding:0 .8rem;display:flex}.serial-prompt{color:#86efac;white-space:pre;flex:none;font-weight:700}.serial-command input{color:#f8fafc;min-width:0;font:inherit;background:0 0;border:0;outline:none;padding:.35rem .45rem}.serial-command input:focus{border:0;outline:none}.app-footer{border-top:1px solid var(--line);text-align:center;color:var(--muted-sm);background:var(--panel);padding:1.2rem 1.5rem;font-size:.82rem}html{scrollbar-width:thin;scrollbar-color:var(--muted-sm) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--line);background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:var(--muted-sm)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b1220;--panel:#151e2e;--ink:#e2e8f0;--muted:#94a3b8;--muted-sm:#64748b;--line:#26324a;--brand:#3b82f6;--nav:#060b16;--nav-bg:#060b16c7;--green-bg:#063d30;--amber-bg:#3f2c0a;--th-bg:#111a2b;--hover-bg:#111a2b;--chip-bg:#1e2b45;--code-bg:#1e2b45;--hero-tint:#0f1b33;--grid-line:#94a3b817;--shadow:0 1px 3px #0006;--shadow-lg:0 10px 30px #00000080}[data-theme=dark] body{background:radial-gradient(1100px 550px at 85% -10%, #3b82f624, transparent 60%), radial-gradient(900px 480px at -5% 0%, #10b98117, transparent 55%), var(--bg);background-attachment:fixed}[data-theme=dark] .hero-title{background:linear-gradient(90deg,#e2e8f0 20%,#60a5fa 80%);color:#0000;-webkit-background-clip:text;background-clip:text}[data-theme=dark] .stat-num.accent-green{text-shadow:0 0 18px #34d39973}[data-theme=dark] .stat-num.accent-amber{text-shadow:0 0 18px #fbbf2459}[data-theme=dark] .feature-yes{color:#6ee7b7;background:#064e3b}[data-theme=dark] .feature-partial{color:#fcd34d;background:#78350f}[data-theme=dark] .feature-no{color:#94a3b8;background:#1e293b}[data-theme=dark] .login-card{box-shadow:0 10px 30px #00000073}@media (prefers-reduced-motion:no-preference){.view{animation:.22s ease-out both view-in}@keyframes view-in{0%{opacity:0;transform:translateY(8px)}}.board-card{transition:transform .16s,box-shadow .16s,border-color .16s}.board-card:hover{box-shadow:var(--shadow-lg);border-color:var(--brand);transform:translateY(-3px)}.progress-bar{transition:width .15s}.sk-line{background:linear-gradient(90deg, var(--code-bg) 25%, var(--hover-bg) 50%, var(--code-bg) 75%);background-size:200% 100%;animation:1.3s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}}@media (width<=720px){.board-intro-grid{grid-template-columns:1fr}.board-intro-grid .board-card{min-height:0}.board-image{height:190px}.hero{padding:1.75rem 1.25rem}.hero-title{font-size:1.5rem}.feature-matrix th:first-child{min-width:180px}.catalog-home-toolbar{flex-direction:column;align-items:stretch}.catalog-home-toolbar .search{width:100%}.navbar{gap:.75rem;padding:0 .9rem}.nav-title{display:none}.nav-menu{gap:0}.nav-menu button{padding:.4rem .55rem;font-size:.9rem}.user-chip span:not(.user-avatar){display:none}.publish-grid{grid-template-columns:1fr}.serial-toolbar{flex-direction:column;align-items:stretch}.serial-toolbar label{min-width:0}.catalog-layout{grid-template-columns:1fr}.board-list{position:static}.feature-editor-grid,.feature-assignment-row,.feature-note-row{grid-template-columns:1fr}.image-upload-row{flex-direction:column;align-items:stretch}}
