@font-face{font-family:Kobalt UI Sans;src:url(/build/assets/KobaltUISans-Regular-CX_34bXa.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Kobalt UI Sans;src:url(/build/assets/KobaltUISans-Italic-8bmd68kW.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Kobalt UI Sans;src:url(/build/assets/KobaltUISans-Medium-8Qo-HLgE.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Kobalt UI Sans;src:url(/build/assets/KobaltUISans-Bold-e9BX2pDx.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Kobalt UI Mono;src:url(/build/assets/KobaltUIMono-Regular-CDH8rXWw.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Kobalt UI Mono;src:url(/build/assets/KobaltUIMono-Medium-BY_Cn4V6.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Kobalt UI Serif;src:url(/build/assets/KobaltUISerif-Regular-V6bTTOi6.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Kobalt UI Serif;src:url(/build/assets/KobaltUISerif-Italic-33f9ET55.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}:root{--bg:#f7f7f8;--surface:#fff;--text:#111;--muted:#5f6166;--border:#e3e4e7;--border-strong:#c3c5ca;--accent:#0047ab;--accent-text:#fff;--accent-hover:#003a8c;--danger:#111;--danger-hover:#333;--danger-text:#fff;--success:#0047ab;--warning:#111;--warning-bg:#f1f2f4;--warning-border:#e3e4e7;--error-bg:#f1f2f4;--error-border:#c3c5ca;--notice-bg:#f1f2f4;--tooltip-bg:#111;--tooltip-text:#f7f7f8;--badge-mark:#fff;--accent-soft:#e8eef8;--device:#111;--screen:#fff;--shadow:0 1px 2px #0000000a, 0 8px 24px #0000000d;--radius:10px;--radius-small:6px;--font-sans:"Kobalt UI Sans", system-ui, sans-serif;--font-mono:"Kobalt UI Mono", ui-monospace, monospace;--font-serif:"Kobalt UI Serif", Georgia, serif}@media (prefers-color-scheme:dark){:root{--bg:#0e0e0f;--logo-filter:brightness(0) invert(95%);--surface:#18181a;--text:#f2f2f2;--muted:#a1a2a6;--border:#2c2c2e;--border-strong:#48484a;--accent:#6f9bea;--accent-text:#000;--accent-hover:#8fb2f0;--danger:#f2f2f2;--danger-hover:#d4d4d6;--danger-text:#000;--success:#6f9bea;--warning:#f2f2f2;--warning-bg:#202022;--warning-border:#2c2c2e;--error-bg:#202022;--error-border:#48484a;--notice-bg:#202022;--tooltip-bg:#f2f2f2;--tooltip-text:#0e0e0f;--badge-mark:#000;--accent-soft:#1c2638;--device:#e8e8e8;--screen:#18181a;--shadow:none}}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.6}.page{max-width:680px;margin:0 auto;padding:56px 16px 32px}h2{font-family:var(--font-serif);margin:0 0 20px;font-size:2rem;font-weight:400;line-height:1.15}h2:focus{outline:none}p{margin:0 0 16px}code{font-family:var(--font-mono);background:var(--notice-bg);border-radius:4px;padding:1px 5px;font-size:.85em}kbd{font-family:var(--font-mono);border:1px solid var(--border-strong);background:var(--surface);border-radius:4px;padding:1px 5px;font-size:.8em}a{color:var(--accent);text-underline-offset:3px}.muted{color:var(--muted)}.caption{color:var(--muted);font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;font-size:.72rem;font-weight:500;line-height:1.5}.pill{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border:1px solid;border-radius:999px;padding:2px 10px;font-size:.68rem;font-weight:500;display:inline-block}.hero{text-align:center;margin-bottom:40px}.hero-title{margin:0;line-height:0}.hero-logo{filter:var(--logo-filter,none);width:min(300px,76%);height:auto}.hero-tagline{font-family:var(--font-serif);margin:4px 0 14px;font-size:1.6rem;font-style:italic;line-height:1.3}.hero-status{margin:0}.pitch{text-align:center;max-width:600px;margin:0 auto 28px;font-size:1.2rem;line-height:1.55}.features{grid-template-columns:repeat(2,1fr);gap:12px;margin:0;padding:0;list-style:none;display:grid}.feature{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}.feature h2{margin:0 0 6px;font-size:.7rem;line-height:1.5}.feature p{margin:0;font-size:.95rem}.video{margin:40px 0}.video h2{margin:0 0 12px}.video-frame{aspect-ratio:16/9;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:var(--surface);overflow:hidden}.video-frame iframe{border:0;width:100%;height:100%;display:block}.video-placeholder{cursor:pointer;background:#000;border:0;width:100%;height:100%;padding:0;display:block;position:relative}.video-thumbnail{object-fit:cover;width:100%;height:100%;transition:opacity .15s;display:block}.video-placeholder:hover .video-thumbnail{opacity:.85}.video-placeholder:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.video-play{background:#ffffffeb;border-radius:50%;width:72px;height:72px;margin:-36px 0 0 -36px;transition:transform .15s;position:absolute;top:50%;left:50%;box-shadow:0 4px 18px #00000059}.video-play:after{content:"";border:13px solid #0000;border-left:21px solid #0047ab;border-right-width:0;position:absolute;top:23px;left:29px}.video-placeholder:hover .video-play{transform:scale(1.06)}.video-note{color:#fff;background:#0009;border-radius:4px;margin:0;padding:2px 8px;font-size:.6rem;position:absolute;bottom:8px;right:10px}.video-link{text-align:right;margin:10px 0 0}.video-link a{color:inherit}.screenshots{width:min(960px,100vw - 32px);margin:48px 0;position:relative;left:50%;transform:translate(-50%)}.screenshot-list{grid-template-columns:repeat(3,1fr);gap:24px;margin:0;padding:0;list-style:none;display:grid}.screenshot-list figure{margin:0}.screenshot-list img,.screenshot-placeholder{aspect-ratio:1072/1448;border:1px solid var(--border-strong);border-radius:var(--radius-small);width:100%;height:auto;box-shadow:var(--shadow);background:#fff;display:block}.screenshot-placeholder{border-style:dashed;border-color:var(--border-strong);color:var(--muted);font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;justify-content:center;align-items:center;font-size:.7rem;display:flex}.screenshot-list figcaption{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);text-align:center;margin-top:8px;font-size:.7rem}.screenshot-open{border-radius:var(--radius-small);cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.screenshot-open:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.screenshot-viewer-open{overflow:hidden}.screenshot-viewer{color:#fff;background:0 0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;overflow:visible}.screenshot-viewer[open]{place-items:center;display:grid}.screenshot-viewer::backdrop{background:#090a0ceb}.screenshot-close{z-index:1;width:44px;height:44px;color:inherit;font:inherit;cursor:pointer;background:#ffffff14;border:1px solid #ffffff40;border-radius:50%;place-items:center;padding:0;font-size:1.6rem;line-height:1;display:grid;position:fixed;top:16px;right:16px}.screenshot-close:hover{background:#ffffff29}.screenshot-viewer :focus-visible{outline-offset:2px;outline:2px solid #fff}.screenshot-viewer-stage{overscroll-behavior:contain;border-radius:16px;width:min(760px,70dvh - 44.8px,100vw - 32px);max-height:calc(100dvh - 64px);overflow:auto}.screenshot-device{box-sizing:border-box;aspect-ratio:112/160;background:radial-gradient(#444548 .5px,#0000 .5px) 0 0/3px 3px,#262729;border:1px solid #414246;border-radius:4%/3%;width:100%;margin:0 auto;position:relative;box-shadow:inset 0 0 0 3px #1b1c1e,inset 0 0 12px #00000080}.screenshot-device img{background:#fff;border:2px solid #000;width:81.2%;height:auto;display:block;position:absolute;top:6.23%;left:9.4%}.screenshot-device-logo{color:#a7a8ab;font-family:var(--font-serif);font-size:clamp(16px,2.5vw,28px);position:absolute;bottom:5%;left:50%;transform:translate(-50%)}.compatibility{margin:40px 0}.compatibility h2{margin:0 0 12px}.device-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:repeat(2,1fr);margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.device-list li{font-family:var(--font-serif);border-bottom:1px solid var(--border);padding:12px 16px;font-size:1.3rem;line-height:1.3}.device-list li:nth-child(odd){border-right:1px solid var(--border)}.device-list li:nth-last-child(-n+2):nth-child(odd),.device-list li:last-child{border-bottom:none}.list-title{font-family:var(--font-serif);margin:0 0 10px;font-size:1.35rem;font-weight:400;line-height:1.3}.list-title+.list-intro{margin-top:-8px}.list-intro{color:var(--muted);margin:0 0 10px;font-size:.92rem}.device-list+.list-title{margin-top:24px}.call-to-action{text-align:center;margin:40px 0}.call-to-action .caption{margin:14px 0 0}.cta-button{display:inline-block;position:relative}.cta-version{align-items:center;margin:16px 0 0}.release-summary{font-family:var(--font-mono);color:var(--muted);flex-direction:column;gap:4px;font-size:.75rem;line-height:1.5;display:flex}.release-summary[hidden]{display:none}.release-value{color:var(--text);font-weight:500}.release-beta{color:var(--accent)}.cta-badge{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:var(--accent);background:var(--bg);border:1px solid var(--accent);border-radius:999px;padding:2px 9px;font-size:.62rem;font-weight:500;position:absolute;top:-11px;right:-14px;transform:rotate(3deg)}.button-large{align-items:center;gap:10px;display:inline-flex}.button-icon{flex:none;width:20px;height:20px}.faq{margin:40px 0}.faq h2{margin:0 0 12px}.faq-group+.faq-group{margin-top:40px}.faq-group h3{background:var(--muted);color:var(--surface);margin:0;padding:14px 16px}.faq-item{border-bottom:1px solid var(--border)}.faq-item:first-of-type{border-top:1px solid var(--border)}.faq-item summary{font-family:var(--font-serif);cursor:pointer;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 16px;font-size:1.2rem;line-height:1.3;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-family:var(--font-mono);color:var(--muted);flex:none;font-size:1rem}.faq-item[open] summary:after{content:"−"}.faq-item summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.faq-item p{color:var(--muted);margin:0 0 16px;padding:0 16px;font-size:.92rem}.faq-item p+p{margin-top:-6px}.promo{gap:12px;margin:40px 0 0;display:grid}.promo h2{margin:0}.promo-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);color:inherit;align-items:center;gap:20px;padding:18px 20px;text-decoration:none;transition:border-color .2s;display:flex}.promo-card:hover{border-color:var(--border-strong)}.promo-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.promo-icon{border-radius:16px;flex:none;width:64px;height:64px;transition:transform .25s}.promo-card:hover .promo-icon{transform:rotate(-6deg)scale(1.06)}.promo-body{flex-direction:column;gap:4px;display:flex}.promo-name{font-family:var(--font-serif);color:var(--text);font-size:1.35rem;line-height:1.2}.promo-text{color:var(--muted);font-size:.92rem}.promo-cta{color:var(--accent);margin-top:6px}.features-more{border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);justify-content:center;align-items:center;gap:8px;margin:20px 0 0;padding:10px 16px;font-size:.92rem;text-decoration:none;transition:color .2s,border-color .2s;display:flex}.features-more:hover{color:var(--text);border-color:var(--border-strong)}.features-more:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.features-more-arrow{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px;transition:transform .2s}.features-more:hover .features-more-arrow{transform:translate(3px)}.features-back .button{padding-left:12px;text-decoration:none}.button-chevron{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.features-back{margin:0 0 32px}.all-features{margin:0 0 40px}.all-features h2{margin:0 0 12px}.feature-filters{border-radius:var(--radius-small);grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;margin:0 0 16px;padding:0;list-style:none;display:grid;overflow:hidden}.feature-filters li{display:flex}.feature-filter{background:var(--notice-bg);width:100%;color:var(--text);font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;border:none;border-radius:0;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;font-size:.68rem;font-weight:500;display:flex}.feature-filter:hover{background:var(--border)}.feature-filter[aria-pressed=true]{background:var(--text);color:var(--surface)}.feature-filter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.feature-filter-count{opacity:.6}.feature-groups{gap:12px;display:grid}.feature-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px}.feature-group h3{font-family:var(--font-serif);justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 10px;font-size:1.35rem;font-weight:400;line-height:1.3;display:flex}.feature-group h3 .caption{font-size:.66rem}.feature-group ul{columns:2;column-gap:28px;margin:0;padding:0;list-style:none}.feature-group li{break-inside:avoid;padding:4px 0 4px 24px;font-size:.92rem;line-height:1.45;position:relative}.feature-group li:before{content:"";background:var(--accent-soft);border-radius:50%;width:14px;height:14px;position:absolute;top:.55em;left:0}.feature-group li:after{content:"";border:solid var(--accent);border-width:0 0 1.5px 1.5px;width:6px;height:3px;position:absolute;top:calc(.55em + 4px);left:4px;transform:rotate(-45deg)}.coming-soon{margin:40px 0}.coming-soon h2{margin:0 0 12px}.coming-soon-list{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.coming-soon-list li{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--notice-bg);padding:16px 18px;position:relative;overflow:hidden}.coming-soon-list .caption{align-items:center;gap:6px;display:inline-flex}.coming-soon-list .caption:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1.8s ease-in-out infinite coming-soon-pulse}.coming-soon-list h3{font-family:var(--font-serif);margin:6px 0 4px;font-size:1.25rem;font-weight:400;line-height:1.25}.coming-soon-list p{color:var(--muted);margin:0;font-size:.88rem}.coming-soon-planned .caption:before{box-shadow:inset 0 0 0 1.5px var(--accent);background:0 0;animation:none}@keyframes coming-soon-pulse{50%{opacity:.3;transform:scale(.7)}}@media (prefers-reduced-motion:reduce){.coming-soon-list .caption:before,.features-more-arrow{transition:none;animation:none}}.svg-defs{width:0;height:0;position:absolute;overflow:hidden}.progress-steps{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);counter-reset:step;gap:8px;margin:0 0 24px;padding:0;font-size:.68rem;font-weight:500;list-style:none;display:flex}.progress-steps li{border-top:3px solid var(--border);counter-increment:step;flex:1;align-items:center;gap:6px;padding-top:8px;display:flex}.progress-steps li:before{content:counter(step, decimal-leading-zero)}.progress-steps li.is-done{border-color:var(--text);color:var(--text)}.progress-steps li.is-done:before{content:"";background:var(--text);flex:none;width:14px;height:14px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cmask id='m'%3E%3Crect width='16' height='16' fill='white'/%3E%3Cpath d='m4.5 8.2 2.3 2.3 4.7-4.9' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3Ccircle cx='8' cy='8' r='8' fill='white' mask='url(%23m)'/%3E%3C/svg%3E") 50%/100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cmask id='m'%3E%3Crect width='16' height='16' fill='white'/%3E%3Cpath d='m4.5 8.2 2.3 2.3 4.7-4.9' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3Ccircle cx='8' cy='8' r='8' fill='white' mask='url(%23m)'/%3E%3C/svg%3E") 50%/100% no-repeat}.progress-steps li.is-current{border-color:var(--accent);color:var(--accent)}.step{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px}.step-head{align-items:center;gap:12px;margin:0 0 22px;display:flex}.step-head h2{margin:0}.step-release{margin:-12px 0 22px 38px}.step-icon{color:var(--text);flex:none;display:flex}.step-icon svg{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:26px;height:26px}.step-icon-success{color:var(--accent)}.step-icon-shake{animation:.45s ease-in-out .3s shake}@keyframes shake{20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.how-it-works{border-radius:var(--radius);background:var(--notice-bg);margin-top:24px;padding:20px 22px}.how-it-works h3{font-family:var(--font-serif);margin:0 0 8px;font-size:1.35rem;font-weight:400}.how-it-works p{font-size:.95rem}.how-it-works p:last-child{margin-bottom:0}#btn-done-donate{margin-inline-end:auto;text-decoration:none}.donate-heart{width:16px;height:16px;fill:var(--accent)}#btn-done-donate:hover .donate-heart{animation:.8s ease-in-out infinite heartbeat}@keyframes heartbeat{0%,to{transform:scale(1)}30%{transform:scale(1.25)}60%{transform:scale(.95)}}.instructions{counter-reset:instruction;margin:0 0 24px;padding:0;list-style:none}.instructions li{counter-increment:instruction;padding-left:40px;position:relative}.instructions li+li{margin-top:16px}.instructions li:before{content:counter(instruction);border:1px solid var(--border-strong);width:26px;height:26px;font-family:var(--font-mono);color:var(--muted);border-radius:50%;place-items:center;font-size:.8rem;display:grid;position:absolute;top:.1em;left:0}.notice{background:var(--notice-bg);border:1px solid var(--border);border-radius:var(--radius-small);margin:0 0 16px;padding:12px 16px;font-size:.95rem}.notice p:last-child{margin-bottom:0}.notice code{background:var(--surface)}.notice-error{border:none;border-left:3px solid var(--text);border-radius:0 var(--radius-small) var(--radius-small) 0;font-family:var(--font-mono);font-size:.88rem;line-height:1.5}.notice-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.notice-row p{margin:0}.notice-row .button{flex:none}.small{color:var(--muted);font-size:.9rem}.checkbox{border:1px solid var(--border);border-radius:var(--radius-small);cursor:pointer;align-items:flex-start;gap:12px;margin:20px 0 0;padding:14px 16px;font-size:.95rem;display:flex}.checkbox:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.checkbox input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin:4px 0 0}.hidden-files{margin:0 0 24px;padding:0;list-style:none}.hidden-files li+li{margin-top:6px}.manual-firmware{border:0;margin:24px 0;padding:0}.manual-firmware legend{padding:0;font-weight:500}.manual-firmware .checkbox{margin-top:10px}.manual-firmware-pill{align-self:center;margin-inline-start:auto}.download-card{border:1px solid var(--border);border-radius:var(--radius-small);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin:0 0 16px;padding:14px 16px;display:flex}.download-card-text p{margin:0}.download-card-name{font-weight:500}.button-line-icon{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}a.button{text-decoration:none}.pill-muted{color:var(--muted)}.scene{border-radius:var(--radius);background:var(--notice-bg);height:168px;margin:0 0 24px;position:relative;overflow:hidden}.scene svg{width:100%;height:calc(100% - 24px);position:absolute;top:12px;bottom:12px;left:0;right:0;overflow:visible}.kobo-body{fill:var(--device)}.kobo-screen{fill:var(--screen)}.kobo-text{fill:none;stroke:var(--border-strong);stroke-width:3px;stroke-linecap:round}.kobo-button{fill:color-mix(in srgb, var(--device) 70%, var(--screen))}.art-grip,.installer[data-device-art=grip] .art-plain{display:none}.installer[data-device-art=grip] .art-grip{display:inline}.cable{fill:none;stroke:var(--muted);stroke-width:4px;stroke-linecap:round}.cable-plug{fill:var(--muted)}.scene-led{fill:var(--accent);animation:3.2s ease-in-out infinite scene-led}.scene-connect .scene-plug{animation:3.2s ease-in-out infinite scene-plug-in}@keyframes scene-plug-in{0%,15%{transform:translateY(26px)}40%,85%{transform:translateY(0)}to{transform:translateY(26px)}}@keyframes scene-led{0%,40%{opacity:0}48%,85%{opacity:1}95%,to{opacity:0}}.scene-cloud{fill:var(--surface);stroke:var(--border-strong);stroke-width:2px}.scene-page{fill:var(--surface);stroke:var(--border-strong);stroke-width:1.5px;opacity:0;animation:2.4s cubic-bezier(.45,0,.3,1) infinite scene-page}.scene-page:nth-of-type(2){animation-delay:.8s}.scene-page:nth-of-type(3){animation-delay:1.6s}@keyframes scene-page{0%{opacity:0;transform:translate(-150px,20px)rotate(-14deg)}15%{opacity:1}70%{opacity:1;transform:translate(40px,-10px)rotate(4deg)scale(.7)}85%,to{opacity:0;transform:translate(40px)scale(.3)}}.scene-device{transform-box:fill-box;transform-origin:50% 90%;animation:.8s ease-in-out infinite scene-gulp}@keyframes scene-gulp{0%,80%,to{transform:scale(1)}90%{transform:scale(1.03)}}.scene-eject .scene-plug{animation:3s ease-in-out infinite scene-unplug}.scene-eject-badge{animation:3s ease-in-out infinite scene-float}.eject-badge{fill:var(--accent)}.eject-badge-mark{fill:none;stroke:var(--accent-text);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}@keyframes scene-unplug{0%,35%{transform:translateY(0)}60%,to{opacity:0;transform:translateY(30px)}}@keyframes scene-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.scene-arrow,.scene-arrow-head{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.scene-arrow{stroke-dasharray:6 7;animation:1.2s linear infinite scene-march}@keyframes scene-march{to{stroke-dashoffset:-26px}}.confetti>*{transform-box:fill-box;transform-origin:50%;animation:1.1s cubic-bezier(.2,.7,.3,1) .35s both confetti}.confetti-1{--x:-90px;--y:-40px;fill:var(--accent)}.confetti-2{--x:80px;--y:-52px;--r:120deg;fill:var(--text)}.confetti-3{--x:110px;--y:10px;fill:var(--border-strong)}.confetti-4{--x:-112px;--y:18px;--r:-90deg;fill:var(--accent)}.confetti-5{--x:-40px;--y:-70px;fill:var(--muted)}.confetti-6{--x:46px;--y:-74px;--r:60deg;fill:var(--accent)}.confetti-7{--x:70px;--y:40px;fill:var(--text)}.confetti-8{--x:-76px;--y:52px;--r:45deg;fill:var(--border-strong)}@keyframes confetti{0%{opacity:1;transform:translate(0)scale(0)}80%{opacity:1}to{transform:translate(var(--x), var(--y)) scale(1) rotate(var(--r,0deg));opacity:0}}.screen-check{fill:none;stroke:var(--accent);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:48;stroke-dashoffset:48px;animation:.5s ease-out .55s forwards draw-check}@keyframes draw-check{to{stroke-dashoffset:0}}.device-panel{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:auto 1fr;margin:0 0 20px;display:grid}.device-art{align-self:center;width:80px;height:88px;margin:20px 24px}.device-info{border-left:1px solid var(--border);margin:0}.device-info div{grid-template-columns:9.5rem 1fr;align-items:baseline;gap:12px;padding:10px 16px;display:grid}.device-info div+div{border-top:1px solid var(--border)}.device-info dt{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:500}.device-info dd{margin:0;font-weight:500}.device-kobalt{flex-direction:column;display:flex}.update-note{color:var(--muted);font-size:.9rem;font-weight:400}.update-note[data-action=upgrade]{color:var(--accent)}.update-note[data-action=newer]{color:var(--text)}#device-model{align-items:center;gap:8px;display:flex}.verification-badge{cursor:help;border-radius:50%;flex:none;width:18px;height:18px;display:inline-flex;position:relative}.verification-badge svg{width:100%;height:100%;display:block}.verification-badge-verified,.verification-badge-refurbished{color:var(--accent)}.verification-badge-mismatch{color:var(--text)}.verification-badge:after{content:attr(data-tooltip);z-index:20;border-radius:var(--radius-small);background:var(--tooltip-bg);width:250px;max-width:70vw;color:var(--tooltip-text);font-family:var(--font-sans);text-align:left;opacity:0;pointer-events:none;padding:8px 10px;font-size:.78rem;font-weight:400;line-height:1.4;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px)}.verification-badge:hover:after{opacity:1;transform:translate(-50%)}.verification-badge:focus-visible:after{opacity:1;transform:translate(-50%)}.effects{border:1px solid var(--border);border-radius:var(--radius-small);margin:0 0 20px;padding:0;list-style:none}.effects li{grid-template-columns:6.5rem 1fr;align-items:baseline;gap:12px;padding:12px 16px;display:grid}.effects li+li{border-top:1px solid var(--border)}.effect-label{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;border-radius:99px;justify-self:start;padding:3px 8px;font-size:.66rem;font-weight:500}.effect-reset .effect-label{background:var(--notice-bg)}.effect-kept .effect-label{box-shadow:inset 0 0 0 1px var(--border-strong)}.effect-deleted .effect-label{background:var(--text);color:var(--surface)}.working-row{justify-content:space-between;align-items:baseline;gap:16px;margin:0 0 10px;display:flex}.working-row p{color:var(--muted);margin:0}.working-percent{font-family:var(--font-serif);font-variant-numeric:tabular-nums;font-size:2.4rem;line-height:1}progress{-webkit-appearance:none;appearance:none;background:var(--border);border:none;border-radius:8px;width:100%;height:8px;margin:0 0 18px;display:block;overflow:hidden}progress::-webkit-progress-bar{background:var(--border)}progress::-webkit-progress-value{background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 70%, white), var(--accent)) 0 0 / 200% 100%;transition:width .3s;animation:1.4s linear infinite progress-shimmer}progress::-moz-progress-bar{background:var(--accent)}@keyframes progress-shimmer{to{background-position:-200% 0}}.caution{color:var(--text);align-items:center;gap:8px;display:inline-flex}.caution:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite blink}@keyframes blink{50%{opacity:.25}}.waiting{align-items:center;gap:12px;display:flex}.dots span{background:var(--accent);border-radius:50%;width:6px;height:6px;margin-right:4px;animation:1.2s ease-in-out infinite waiting-dot;display:inline-block}.dots span:nth-child(2){animation-delay:.15s}.dots span:nth-child(3){animation-delay:.3s}@keyframes waiting-dot{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}@media (prefers-reduced-motion:reduce){.scene *,.step-icon,.caution:before,.dots span,.donate-heart{animation:none!important}progress::-webkit-progress-value{animation:none!important}.screen-check{stroke-dashoffset:0}.promo-icon{transition:none}}.actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:28px;display:flex}.button-back{margin-inline-end:auto}.button-back:before,.button-next:after{content:"";background:currentColor;flex:none;width:14px;height:14px}.button-back:before{margin-inline-start:-4px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M10 3 5 8l5 5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M10 3 5 8l5 5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/100% no-repeat}.button-next:after{margin-inline-end:-4px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m6 3 5 5-5 5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m6 3 5 5-5 5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/100% no-repeat}.button{font:inherit;border-radius:var(--radius-small);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.95rem;font-weight:500;transition:background-color .12s,border-color .12s;display:inline-flex}.button:hover:not(:disabled){border-color:var(--text)}.button:disabled{opacity:.45;cursor:not-allowed}.button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.verification-badge:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.checkbox:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.button-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.button-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.button-danger{background:var(--danger);border-color:var(--danger);color:var(--danger-text)}.button-danger:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}.button-large{padding:14px 30px;font-size:1.05rem}.footer{text-align:center;max-width:680px;color:var(--muted);margin:0 auto;padding:24px 16px 32px}.footer-disclaimers{margin:0 0 28px}.footer-disclaimers h2{margin:0 0 12px}.footer-disclaimer-list{background:var(--notice-bg);border:1px solid var(--border);border-radius:var(--radius);text-align:left;counter-reset:disclaimer;grid-template-columns:1fr 1fr;display:grid}.footer-disclaimer{counter-increment:disclaimer;grid-template-columns:auto 1fr;align-items:start;gap:12px;margin:0;padding:16px 20px;font-size:.8rem;line-height:1.55;display:grid}.footer-disclaimer:before{content:counter(disclaimer);border:1px solid var(--border-strong);width:20px;height:20px;font-family:var(--font-mono);border-radius:50%;place-items:center;margin-top:.05em;font-size:.68rem;font-weight:500;line-height:1;display:grid}.footer-disclaimer+.footer-disclaimer{border-left:1px solid var(--border)}.footer-links{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;flex-wrap:wrap;justify-content:center;gap:6px 20px;font-size:.68rem;font-weight:500;display:flex}.footer-attribution{margin:20px 0 0;font-size:.85rem}.footer-attribution a{text-decoration:none}.footer a{color:inherit}.footer a:hover{color:var(--text)}@media (max-width:560px){.page{padding-top:32px}.step{padding:20px}h2{font-size:1.75rem}.device-list li{padding:10px 12px;font-size:1.15rem}.features{grid-template-columns:1fr}.screenshots{width:100vw}.screenshot-list{scroll-snap-type:x mandatory;grid-template-columns:none;grid-auto-columns:72%;grid-auto-flow:column;gap:16px;padding:0 16px 8px;scroll-padding:0 16px;overflow-x:auto}.screenshot-list li{scroll-snap-align:start}.pitch{font-size:1.1rem}.progress-steps li{font-size:0}.progress-steps li:before{font-size:.68rem}.progress-steps li.is-current{flex:3;font-size:.68rem}.promo-card{align-items:flex-start;gap:16px}.promo-icon{border-radius:13px;width:52px;height:52px}.footer-disclaimer-list{grid-template-columns:1fr}.footer-disclaimer+.footer-disclaimer{border-left:none;border-top:1px solid var(--border)}.feature-group ul{columns:1}.feature-filters{grid-template-columns:repeat(3,1fr)}.feature-filters li:first-child{grid-column:1/-1}.device-panel{grid-template-columns:1fr}.device-art{margin:16px 20px 4px}.device-info{border-left:none;border-top:1px solid var(--border)}.device-info div,.effects li{grid-template-columns:1fr;gap:2px}.notice-row{flex-direction:column;align-items:flex-start}.actions .button{flex:auto}}.build-page{max-width:1120px;margin:0 auto;padding:24px 32px 48px}.page-nav{border-bottom:1px solid var(--border);align-items:center;gap:20px;min-height:60px;padding-bottom:20px;display:flex}.page-brand{line-height:0;display:block}.page-brand img{width:78px;height:auto;filter:var(--logo-filter,none)}.page-nav>.caption{border-left:1px solid var(--border-strong);padding-left:20px}.page-heading{margin:30px 0 24px}.page-heading h1{font:400 3rem/1.1 var(--font-serif);margin:0 0 8px}.page-heading p{margin:0;font-size:.95rem}@media (max-width:640px){.build-page{padding:18px 16px 32px}.page-nav{gap:12px}.page-nav>.caption{padding-left:12px;font-size:.6rem}.page-brand img{width:64px}.page-heading{margin-top:24px}.page-heading h1{font-size:2.5rem}}.build-share{max-width:800px}.build-share .page-heading{margin-top:36px}.build-share .page-heading .pill{margin-bottom:16px}.build-share .page-heading h1{overflow-wrap:anywhere}.page-heading .share-version{font-family:var(--font-mono);font-size:.75rem}.tester-notes{border-left:2px solid var(--accent);margin:24px 0;padding-left:18px}.build-share .tester-notes h2{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:.7rem;line-height:1.5}.tester-notes p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.95rem}.share-download{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:0 0 24px;display:flex}.share-download>div{min-width:0}.share-download strong{overflow-wrap:anywhere}.share-download p{margin:6px 0 0;font-size:.8rem}.share-installation{margin-top:28px}.share-install-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.build-share .share-install-heading h2{margin:0;font-size:1.8rem}.install-methods{gap:6px;display:flex}.install-methods .button{padding:7px 14px;font-size:.85rem}.install-methods .button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}#test-install-status:empty{display:none}.build-share .share-instructions h2{margin-bottom:20px;font-size:2rem}.share-instructions ol{padding-left:24px}.share-instructions li{margin-bottom:14px;padding-left:5px}.share-instructions details{margin:24px 0;font-size:.9rem}.share-instructions summary{cursor:pointer;font-weight:500}.share-footer{border-top:1px solid var(--border);margin-top:32px;padding-top:18px;font-size:.8rem}.test-build-installer .scene,.test-build-installer .step-icon,.test-build-installer .progress-steps{display:none!important}.test-build-installer .step{border:1px solid var(--border);border-radius:var(--radius);box-shadow:none;background:var(--surface);padding:20px}.test-build-installer .step-head h2{font-size:1.7rem}.test-build-installer *,.test-build-installer :before,.test-build-installer :after{transition:none!important;animation:none!important}.test-build-installer .instructions{font-size:.95rem}.test-build-installer .checkbox{margin-top:20px;font-size:.9rem}@media (max-width:640px){.share-download{flex-direction:column;align-items:stretch}.share-install-heading{flex-direction:column;align-items:flex-start;gap:14px}.install-methods{width:100%}.install-methods .button{flex:1}.test-build-installer .step{padding:16px}}.share-unlock{max-width:380px;margin:56px auto 0}.build-share .share-unlock h1{font:400 2.4rem/1.1 var(--font-serif);margin:0 0 10px}.share-unlock>p.muted{margin:0 0 24px;font-size:.9rem}.share-unlock label{margin-bottom:5px;font-size:.8rem;font-weight:500;display:block}.share-unlock input{border:1px solid var(--border-strong);border-radius:var(--radius-small);background:var(--surface);width:100%;height:40px;color:var(--text);font:400 .9rem var(--font-sans);padding:8px 10px;display:block}.share-unlock input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.share-unlock .button{width:100%;margin-top:16px}.share-unlock-error{margin:12px 0 0;font-size:.85rem;font-weight:500}.share-replaced{margin-top:24px}
