:root{color-scheme:dark;--bg:#0a0c14;--panel:#151823;--panel2:#191d2b;--border:#303448;--text:#f1f0fb;--muted:#a0a3b8;--faint:#70768d;--purple:#9f86ff;--purple2:#b9a9ff;--cyan:#70ddd8;--radius:21px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 'DM Sans',system-ui,sans-serif;min-width:320px}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Space Grotesk',sans-serif;letter-spacing:-.045em}h2{font-size:27px;line-height:1.13;margin:7px 0 8px}p{color:var(--muted)}.ambient{position:fixed;pointer-events:none;filter:blur(95px);z-index:-1;opacity:.26;border-radius:50%}.ambient-one{width:500px;height:400px;left:32%;top:-180px;background:#583baf}.ambient-two{width:480px;height:400px;right:-230px;top:350px;background:#1c737b}.app-shell{display:flex;min-height:100vh;max-width:1800px;margin:auto}.sidebar{width:252px;flex-shrink:0;min-height:100vh;border-right:1px solid #252838;background:#0e1018cc;display:flex;flex-direction:column;padding:34px 17px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:14px;padding:0 13px 61px}.brand-icon{width:37px;height:37px;display:grid;grid-template-columns:repeat(2,1fr);gap:4px;transform:rotate(-13deg)}.brand-icon span{border-radius:5px;background:var(--purple)}.brand-icon span:nth-child(2){background:#b6a4ff}.brand-icon span:nth-child(3){background:#4a4374}.brand-icon span:nth-child(4){background:var(--cyan)}.brand-text{font-family:'Space Grotesk',sans-serif;font-size:25px;font-weight:700;letter-spacing:-1.8px;line-height:1}.brand-period{color:var(--purple)}.brand-text small{display:block;font:700 9px/1.5 'DM Sans',sans-serif;letter-spacing:2.4px;color:#85899f;margin-top:5px}.nav-group{margin-bottom:31px}.nav-label{font-size:10px;font-weight:800;letter-spacing:2px;color:#747991;margin:0 14px 14px}.nav-link{display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:11px;color:#a4a7bb;font-weight:600;font-size:13px;transition:background .2s,color .2s;margin:3px 0}.nav-link:hover,.nav-link.active{color:#ece8ff;background:#24213a}.nav-link.active{box-shadow:inset 3px 0 0 var(--purple)}.nav-icon{display:inline-grid;place-items:center;width:19px;font-size:20px;color:#a498ce}.external{margin-left:auto;color:#717791}.sidebar-bottom{margin-top:auto;padding:17px 13px 0;border-top:1px solid #292b3a}.release-mini{display:flex;gap:12px;align-items:center;background:#1a1d2a;border:1px solid #313449;border-radius:13px;padding:13px}.release-mini small{font-size:10px;letter-spacing:1.2px;color:#898da2;display:block}.release-mini strong{font-size:12px;display:block;margin-top:3px}.live-dot{display:inline-block;width:8px;height:8px;background:#7be7ca;border-radius:50%;box-shadow:0 0 0 4px #7be7ca12}.sidebar-bottom>p{font-size:11px;margin:19px 0 0}.workspace{min-width:0;flex:1}.topbar{height:79px;border-bottom:1px solid #272a3a;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,65px);color:#85899f;font-size:10px;font-weight:800;letter-spacing:1.7px}.crumb span{color:#585d77;margin:0 10px}.topbar-right{display:flex;gap:27px;align-items:center}.top-status{display:flex;gap:11px;align-items:center;letter-spacing:.5px;font-size:11px;font-weight:600}.top-github{color:#c4baff;letter-spacing:.6px}.main{max-width:1250px;padding:0 clamp(22px,5vw,65px);margin:0 auto}.hero{padding:63px 0 40px;position:relative}.eyebrow,.section-kicker{font-size:10px;letter-spacing:2.5px;color:var(--purple2);font-weight:800}.eyebrow{display:flex;gap:13px;align-items:center;margin-bottom:24px}.eyebrow-line{height:1px;width:22px;background:var(--purple)}h1{font-size:clamp(43px,5.5vw,72px);line-height:1.06;font-weight:700;margin:0 0 22px;letter-spacing:-.065em}h1 span{background:linear-gradient(100deg,#9f85ff,#d1a6ff 63%,#7fe3df);-webkit-background-clip:text;background-clip:text;color:transparent}.hero>p{max-width:620px;font-size:15px;line-height:1.8}.hero-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.hero-chips span{font-size:11px;font-weight:700;border:1px solid #35344c;background:#1a1a2a88;padding:8px 12px;border-radius:30px;color:#c4bddf}.main-grid{display:grid;grid-template-columns:minmax(0,1.48fr) minmax(270px,.9fr);gap:18px;align-items:start}.panel{background:linear-gradient(155deg,#1a1c2b,#131722);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 20px 60px #0000001e}.install-panel{padding:28px}.panel-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:29px}.panel-heading p{font-size:12px;margin:0}.panel-symbol{color:#777099;font-size:32px}.field-label{font-size:10px;font-weight:800;letter-spacing:1.5px;display:flex;justify-content:space-between;gap:10px;margin-bottom:12px}.field-hint{font-size:10px;letter-spacing:0;font-weight:500;color:#777b91}.label-spaced{margin-top:28px}.board-grid,.edition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.choice{text-align:left;position:relative;background:#151826;border:1px solid #373b50;border-radius:14px;color:#faf8ff;padding:17px 16px;min-width:0;transition:border-color .15s,background .15s,transform .15s}.choice:hover{transform:translateY(-2px);border-color:#756b9f}.choice.selected{border-color:#a38eff;background:linear-gradient(145deg,#2c2547,#1b1d31);box-shadow:inset 0 0 0 1px #a38eff35}.choice-top,.edition-top{display:flex;justify-content:space-between;align-items:flex-start}.board-glyph{font-size:30px;color:#c0b1ff;line-height:1}.choice-check{display:grid;place-items:center;width:21px;height:21px;border:1px solid #4d4d66;border-radius:50%;font-size:11px;color:transparent}.selected .choice-check{color:#16112a;background:#b6a4ff;border-color:#b6a4ff}.choice strong{font-size:13px;display:block;margin-top:14px}.choice small{font-size:11px;color:#a1a4bb;display:block;margin-top:5px;line-height:1.5}.edition-choice{min-height:185px;display:flex;flex-direction:column}.edition-choice strong{margin-top:12px}.edition-choice small{min-height:50px}.edition-symbol{font-size:26px;color:#a899ff}.edition-tag{align-self:flex-start;color:#b8a3ff;font-weight:800;letter-spacing:1px;font-size:9px;background:#34284d;border-radius:5px;padding:4px 7px;margin-top:auto}.quiet-tag{color:#8edbd5;background:#193a42}.install-summary{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #343747;margin-top:30px;padding:19px 0 15px;font-size:11px;color:#b5b8cb}.install-summary>div{display:flex;align-items:center;gap:8px}.summary-dot{background:#ad98ff;border-radius:50%;width:7px;height:7px}.install-summary>span{color:#8c8fa5}.primary-button{border:0;border-radius:12px;background:linear-gradient(110deg,#a18aff,#c5aaff);color:#18132b;padding:16px 21px;font-weight:800;font-size:14px;width:100%;display:flex;justify-content:center;gap:15px;box-shadow:0 10px 24px #8d6dff2a}.primary-button:disabled{filter:grayscale(.65);opacity:.46;cursor:not-allowed;box-shadow:none}.install-area esp-web-install-button{display:block;width:100%}.install-area esp-web-install-button button{border:0;border-radius:12px;background:linear-gradient(110deg,#a18aff,#c5aaff);color:#18132b;padding:16px 21px;font-weight:800;font-size:14px;width:100%;cursor:pointer}.install-status{font-size:11px;margin:12px 0;text-align:center;color:#999eb5}.install-status.error{color:#ffadbc}.install-status.success{color:#8bdfc7}.small-print{font-size:10px;color:#777d93;line-height:1.7;margin-top:18px}.side-column{display:flex;flex-direction:column;gap:18px}.right-panel{padding:26px}.overview{overflow:hidden}.overview h2{font-size:31px;margin:9px 0}.overview>p{font-size:12px;line-height:1.8;margin-bottom:0}.deck-visual{display:grid;place-items:center;padding:25px 0 16px;background:radial-gradient(ellipse,#55468355 0%,transparent 70%)}.deck-screen{width:180px;border:9px solid #090b12;box-shadow:0 17px 30px #0009,0 0 0 1px #666579;border-radius:19px;padding:10px;background:linear-gradient(160deg,#303a58,#111c32);transform:perspective(400px) rotateY(-8deg) rotateX(6deg)}.deck-header{display:flex;justify-content:space-between;font-size:8px;color:#e5e5f9;margin:0 1px 9px}.deck-tile{background:#ffffff1a;border:1px solid #ffffff2c;border-radius:8px;padding:7px;min-height:43px;display:flex;flex-direction:column;gap:3px}.deck-tile span{font-size:16px;color:#bcb0ff}.deck-tile strong{font-size:9px}.deck-tile small{font-size:7px;color:#c9d1e7}.deck-tile.large{height:71px;margin-bottom:6px}.deck-row{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.deck-row .deck-tile{align-items:center}.deck-row .deck-tile span{font-size:14px}.release-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.release-badge{font-size:8px;letter-spacing:.7px;color:#cdbbff;border:1px solid #555076;padding:5px 7px;border-radius:6px}.release-panel h3{font-size:20px;margin:20px 0 6px}.release-panel p{font-size:12px;line-height:1.75}.release-foot{display:flex;justify-content:space-between;border-top:1px solid #303448;padding-top:18px;font-size:10px;color:#8589a1}.release-foot a{color:#bba6ff}.info-panel{margin-top:20px;padding:27px;display:flex;gap:21px}.info-icon{display:grid;place-items:center;flex-shrink:0;width:51px;height:51px;background:#342b54;color:#baaaff;font-size:30px;border-radius:14px}.info-panel h2{font-size:25px;margin:8px 0}.info-panel p{font-size:12px;line-height:1.85;max-width:760px}.update-flow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#c8c5e4;font-size:11px;font-weight:700;margin:20px 0}.update-flow span:not(.flow-arrow){border:1px solid #40425b;border-radius:9px;padding:9px 11px;background:#1d2031}.flow-arrow{color:#b0a0ff}.footnote{color:#7d819b!important;font-size:10px!important;margin-bottom:0}.download-panel{margin-top:20px;padding:27px}.download-mark{color:#ab9aff;font-size:28px}.download-rows{border-top:1px solid #303448}.download-row{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid #303448}.file-icon{display:grid;place-items:center;flex-shrink:0;width:45px;height:45px;border-radius:11px;color:#bdacff;background:#312847;font-size:11px;font-weight:800}.ota-icon{color:#8bded6;background:#214146}.download-row>div:nth-child(2){min-width:0;flex:1}.download-row strong{display:block;font-size:13px}.download-row small{display:block;font-size:11px;color:#8d93aa;margin-top:4px}.download-link{font-size:12px;font-weight:800;color:#c2b1ff;white-space:nowrap}.download-link.disabled{pointer-events:none;color:#697087}.download-link span{margin-left:5px}.file-note{margin:15px 0 0;color:#81869b;font-size:10px}footer{display:flex;justify-content:space-between;gap:16px;padding:35px 0;color:#777b90;font-size:10px;font-weight:800;letter-spacing:1px}footer a{color:#b9a8ff}.footer-dot{color:#a690ff;font-size:8px}@media(max-width:1180px){.sidebar{width:215px}.main-grid{grid-template-columns:minmax(0,1.3fr) minmax(250px,.9fr)}.main{padding:0 25px}.topbar{padding:0 25px}.install-panel,.right-panel{padding:21px}.choice{padding:13px 12px}.edition-choice{min-height:210px}}@media(max-width:940px){.sidebar{width:74px;padding:28px 11px}.brand{padding:0 5px 43px}.brand-text,.nav-label,.nav-link:not(.active) .external,.sidebar-bottom,.nav-link{font-size:0}.nav-link{justify-content:center;padding:11px}.nav-icon{font-size:21px}.brand-icon{width:32px;height:32px}.main-grid{grid-template-columns:minmax(0,1fr)}.side-column{display:grid;grid-template-columns:1fr 1fr}.deck-visual{padding:8px 0}.hero{padding-top:48px}}@media(max-width:650px){.app-shell{display:block}.sidebar{position:relative;width:100%;height:auto;min-height:0;padding:13px 17px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;border-right:0;border-bottom:1px solid #303348}.brand{padding:0}.brand-text{display:block;font-size:21px}.brand-text small{font-size:7px}.brand-icon{width:27px;height:27px}.nav-group{display:flex;margin:0;gap:4px}.nav-group .nav-label,.nav-secondary{display:none}.nav-link,.nav-link.active{font-size:0;padding:8px}.nav-icon{font-size:19px}.topbar{height:52px}.top-status{display:none}.hero{padding:43px 0 28px}h1{font-size:clamp(37px,10vw,56px)}.hero>p{font-size:13px}.main{padding:0 16px}.topbar{padding:0 16px}.install-panel{padding:19px}.side-column{display:flex}.overview{display:none}.panel-heading{margin-bottom:23px}.field-hint{display:none}.edition-choice{min-height:220px}.choice strong{font-size:12px}.choice small{font-size:10px}.info-panel{padding:20px;gap:13px}.info-icon{width:38px;height:38px}.download-panel{padding:20px}.download-row{gap:9px}.download-link{font-size:10px}.download-row strong{font-size:11px}.download-row small{font-size:10px}footer{flex-direction:column}.hero-chips span{font-size:10px}}@media(max-width:360px){.edition-grid,.board-grid{gap:7px}.choice{padding:12px 9px}.choice small{font-size:9px}.edition-tag{font-size:8px}.download-row{flex-wrap:wrap}.download-link{margin-left:53px}}
/* Until a second supported board is released, make the hardware tile full-width. */
.board-grid:has(> :only-child){grid-template-columns:minmax(0,1fr)}

/* Display all published firmware editions, independent of installer selection. */
.download-versions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.download-edition{border:1px solid #3a3c51;border-radius:15px;padding:16px;background:#131624}
.download-edition-heading{display:flex;justify-content:space-between;gap:9px;align-items:flex-start;margin-bottom:14px;min-height:56px}
.download-edition-heading strong{font-size:15px;display:block;color:#f1ecff}
.download-edition-heading small{display:block;font-size:11px;color:#9298b0;margin-top:4px}
.download-edition-heading>span{font-size:8px;font-weight:800;letter-spacing:.8px;white-space:nowrap;color:#bcb0ff;background:#302747;border-radius:5px;padding:5px 6px}
.download-edition:last-child .download-edition-heading>span{color:#8cddd7;background:#1e3e43}
.download-edition .download-row{gap:10px;padding:12px 0}
.download-edition .file-icon{width:37px;height:37px;flex-shrink:0}
.download-edition .download-link{font-size:11px}
@media(max-width:1100px){.download-versions{grid-template-columns:1fr}}
@media(max-width:520px){.download-edition{padding:13px}.download-edition-heading{flex-wrap:wrap;min-height:0}.download-edition .download-row{flex-wrap:wrap}.download-edition .download-link{margin-left:47px}}
