@font-face{font-family:Kobalt UI Sans;src:url(/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(/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(/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(/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(/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(/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(/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(/assets/KobaltUISerif-Italic-33f9ET55.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}:root{--bg: #f7f7f8;--surface: #ffffff;--text: #111111;--muted: #5f6166;--border: #e3e4e7;--border-strong: #c3c5ca;--accent: #0047ab;--accent-text: #ffffff;--accent-hover: #003a8c;--danger: #111111;--danger-hover: #333333;--danger-text: #ffffff;--success: #0047ab;--warning: #111111;--warning-bg: #f1f2f4;--warning-border: #e3e4e7;--error-bg: #f1f2f4;--error-border: #c3c5ca;--notice-bg: #f1f2f4;--tooltip-bg: #111111;--tooltip-text: #f7f7f8;--badge-mark: #ffffff;--accent-soft: #e8eef8;--device: #111111;--screen: #ffffff;--shadow: 0 1px 2px rgb(0 0 0 / 4%), 0 8px 24px rgb(0 0 0 / 5%);--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: #000000;--accent-hover: #8fb2f0;--danger: #f2f2f2;--danger-hover: #d4d4d6;--danger-text: #000000;--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: #000000;--accent-soft: #1c2638;--device: #e8e8e8;--screen: #18181a;--shadow: none}}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}.page{max-width:680px;margin:0 auto;padding:56px 16px 32px}h2{font-family:var(--font-serif);font-weight:400;font-size:2rem;line-height:1.15;margin:0 0 20px}h2:focus{outline:none}p{margin:0 0 16px}code{font-family:var(--font-mono);font-size:.85em;background:var(--notice-bg);padding:1px 5px;border-radius:4px}kbd{font-family:var(--font-mono);font-size:.8em;padding:1px 5px;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface)}a{color:var(--accent);text-underline-offset:3px}.muted{color:var(--muted)}.caption{color:var(--muted);font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;line-height:1.5}.pill{display:inline-block;font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border:1px solid currentColor;border-radius:999px;padding:2px 10px}.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);font-style:italic;font-size:1.6rem;line-height:1.3;margin:4px 0 14px}.hero-status{margin:0}.hero-visual{display:flex;justify-content:center;align-items:flex-end;margin:0 0 56px;padding:0 16px}.hero-device{box-shadow:inset 0 1px #ffffff14,0 2px 6px #0000001f,0 24px 60px #0000002e}.hero-device img{border-width:1px}.hero-device-main{position:relative;z-index:1;flex:0 1 280px}.hero-device-side{flex:0 1 220px;margin-bottom:24px}.hero-device-left{margin-right:-48px;transform:rotate(-6deg)}.hero-device-right{margin-left:-48px;transform:rotate(6deg)}.pitch{max-width:600px;margin:0 auto 28px;font-size:1.2rem;line-height:1.55;text-align:center}.features{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0;padding:0}.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);overflow:hidden;background:var(--surface)}.video-frame iframe{display:block;width:100%;height:100%;border:0}.video-placeholder{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:#000;cursor:pointer}.video-thumbnail{display:block;width:100%;height:100%;object-fit:cover;transition:opacity .15s ease}.video-placeholder:hover .video-thumbnail{opacity:.85}.video-placeholder:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.video-play{position:absolute;left:50%;top:50%;width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:50%;background:#ffffffeb;box-shadow:0 4px 18px #00000059;transition:transform .15s ease}.video-play:after{content:"";position:absolute;left:29px;top:23px;border-style:solid;border-width:13px 0 13px 21px;border-color:transparent transparent transparent #0047ab}.video-placeholder:hover .video-play{transform:scale(1.06)}.video-note{position:absolute;right:10px;bottom:8px;margin:0;padding:2px 8px;border-radius:4px;background:#0009;color:#fff;font-size:.6rem}.video-link{margin:10px 0 0;text-align:right}.video-link a{color:inherit}.screenshots{position:relative;left:50%;width:min(960px,100vw - 32px);margin:48px 0;transform:translate(-50%)}.screenshot-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.screenshot-list figure{margin:0}.screenshot-list img,.screenshot-placeholder{display:block;width:100%;height:auto;aspect-ratio:1072 / 1448;border:1px solid var(--border-strong);border-radius:var(--radius-small);background:#fff;box-shadow:var(--shadow)}.screenshot-placeholder{display:flex;align-items:center;justify-content:center;border-style:dashed;border-color:var(--border-strong);color:var(--muted);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.09em;text-transform:uppercase}.screenshot-list figcaption{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);text-align:center;margin-top:8px}.screenshot-open{display:block;width:100%;padding:0;border:0;border-radius:var(--radius-small);background:transparent;cursor:zoom-in}.screenshot-open:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.screenshot-viewer-open{overflow:hidden}.screenshot-viewer{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#fff;overflow:visible}.screenshot-viewer[open]{display:grid;place-items:center}.screenshot-viewer::backdrop{background:#090a0ceb}.screenshot-close{position:fixed;top:16px;right:16px;z-index:1;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgb(255 255 255 / 25%);border-radius:50%;background:#ffffff14;color:inherit;font:inherit;font-size:1.6rem;line-height:1;cursor:pointer}.screenshot-close:hover{background:#ffffff29}.screenshot-viewer :focus-visible{outline:2px solid #ffffff;outline-offset:2px}.screenshot-viewer-stage{width:min(760px,calc((100dvh - 64px)*.7),calc(100vw - 32px));max-height:calc(100dvh - 64px);overflow:auto;overscroll-behavior:contain;border-radius:16px}.clara{position:relative;container-type:inline-size;box-sizing:border-box;aspect-ratio:112 / 160;border:1px solid #4a4b4f;border-radius:4.5% 4.5% 12.5% 12.5%/3.15% 3.15% 8.75% 8.75%;background:linear-gradient(#37383b,#2a2b2e);box-shadow:inset 0 1px #ffffff14}.clara img{position:absolute;top:7.1%;left:9.2%;display:block;width:81.6%;height:auto;border:2px solid #000000;background:#fff}.clara-logo{position:absolute;top:91.5%;left:50%;transform:translate(-50%,-50%);color:#8e9095;font-family:var(--font-serif);font-size:7cqw;line-height:1;white-space:nowrap}.screenshot-device{width:100%;margin:0 auto}.compatibility{margin:40px 0}.compatibility h2{margin:0 0 12px}.device-list{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);margin:0;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.device-list li{padding:12px 16px;font-size:1rem;line-height:1.4;border-bottom:1px solid var(--border)}.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{margin:0 0 10px;font-weight:500;font-size:1.05rem;line-height:1.3}.list-title+.list-intro{margin-top:-8px}.list-intro{margin:0 0 10px;font-size:.92rem;color:var(--muted)}.device-list+.list-title,.legacy-devices+.list-title{margin-top:24px}.legacy-devices{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.legacy-devices>.device-list,.device-disclosure .device-list{border:0;border-radius:0;box-shadow:none}.device-disclosure summary{display:flex;align-items:center;gap:8px;padding:12px 16px;list-style:none;cursor:pointer;font-size:.92rem;color:var(--muted);background:var(--surface);border:0;border-top:1px solid var(--border)}.device-disclosure summary::-webkit-details-marker{display:none}.device-disclosure summary:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.device-disclosure summary svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.device-disclosure .device-more-hide,.device-disclosure[open] .device-more-show,.device-disclosure[open] .device-more-vertical{display:none}.device-disclosure[open] .device-more-hide{display:inline}.device-disclosure .device-list{border-top:1px solid var(--border)}.call-to-action{text-align:center;margin:40px 0}.call-to-action .caption{margin:14px 0 0}.cta-button{position:relative;display:inline-block}.cta-version{margin:16px 0 0;align-items:center}.release-summary{display:flex;flex-direction:column;gap:4px;font-family:var(--font-mono);font-size:.75rem;line-height:1.5;color:var(--muted)}.release-summary[hidden]{display:none}.release-value{color:var(--text);font-weight:500}.release-beta{color:var(--accent)}.cta-badge{position:absolute;top:-11px;right:-14px;font-family:var(--font-mono);font-size:.62rem;font-weight:500;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;transform:rotate(3deg)}.button-large{display:inline-flex;align-items:center;gap:10px}.button-icon{width:20px;height:20px;flex:none}.faq{margin:40px 0}.faq h2{margin:0 0 12px}.faq-group+.faq-group{margin-top:48px}.faq-group h3{margin:0 0 4px;padding:0 0 10px;border-bottom:2px solid var(--text);font-family:var(--font-serif);font-size:1.6rem;font-weight:400;line-height:1.3}.faq-item{border-bottom:1px solid var(--border)}.faq-item[open]{padding-bottom:8px}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;font-size:1.05rem;font-weight:500;line-height:1.4;cursor:pointer;list-style:none}.faq-item summary:hover{color:var(--accent)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"";flex:none;width:8px;height:8px;margin:0 4px 4px 0;border:solid var(--muted);border-width:0 1.5px 1.5px 0;transform:rotate(45deg);transition:transform .2s ease}.faq-item[open] summary:after{margin:4px 4px 0 0;transform:rotate(-135deg)}.faq-item summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.faq-item p{margin:0 0 12px;padding:0 0 0 16px;border-left:2px solid var(--accent);font-size:.98rem;line-height:1.6}.faq-item p+p{margin-top:-12px;padding-top:12px}.promo{display:grid;gap:12px;margin:40px 0 0}.promo h2{margin:0}.promo-card{display:flex;align-items:center;gap:20px;padding:18px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);color:inherit;text-decoration:none;transition:border-color .2s ease}.promo-card:hover{border-color:var(--border-strong)}.promo-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.promo-icon{flex:none;width:64px;height:64px;border-radius:16px;transition:transform .25s ease}.promo-card:hover .promo-icon{transform:rotate(-6deg) scale(1.06)}.promo-body{display:flex;flex-direction:column;gap:4px}.promo-name{font-size:1.1rem;font-weight:500;line-height:1.2;color:var(--text)}.promo-text{font-size:.92rem;color:var(--muted)}.promo-cta{margin-top:6px;color:var(--accent)}.features-more{display:flex;align-items:center;justify-content:center;gap:8px;margin:20px 0 0;padding:10px 16px;border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);font-size:.92rem;text-decoration:none;transition:color .2s ease,border-color .2s ease}.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{flex:none;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}.features-more:hover .features-more-arrow{transform:translate(3px)}.features-back .button{text-decoration:none;padding-left:12px}.button-chevron{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.features-back{margin:0 0 32px}.all-features{position:relative;left:50%;display:grid;grid-template-columns:220px minmax(0,1fr);grid-template-areas:"back search" "title groups" "nav groups";grid-template-rows:auto auto 1fr;column-gap:48px;align-items:start;width:min(1040px,100vw - 32px);margin:0 0 40px;transform:translate(-50%)}.all-features .features-back{grid-area:back;align-self:center}.all-features h2{grid-area:title;margin:0 0 8px;padding:0 12px}.feature-search{grid-area:search;align-self:center;width:100%;margin:0 0 32px;padding:11px 14px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit}.feature-search:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.feature-search-empty{grid-area:groups;color:var(--muted)}.feature-filters{grid-area:nav;position:sticky;top:16px;list-style:none;display:flex;flex-direction:column;gap:2px;margin:0;padding:0}.feature-filters li{display:flex}.feature-filter-heading{margin:14px 0 4px;padding:0 12px}.feature-filter{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;border-radius:var(--radius-small);background:none;color:var(--text);font:inherit;font-size:.95rem;text-align:left;cursor:pointer}.feature-filter:hover{background:var(--notice-bg)}.feature-filter[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);font-weight:500}.feature-filter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.feature-filter-name{display:inline-flex;align-items:center;gap:10px}.feature-filter-icon{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;opacity:.8}.feature-filter[aria-pressed=true] .feature-filter-icon{opacity:1}.feature-filter-count{font-family:var(--font-mono);font-size:.75rem;opacity:.6}.feature-groups{grid-area:groups;display:grid;gap:40px}.feature-group h3{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 4px;padding-bottom:10px;border-bottom:2px solid var(--text);font-family:var(--font-serif);font-weight:400;font-size:1.6rem;line-height:1.3}.feature-group h3 .caption{font-size:.66rem}.feature-group ul{list-style:none;margin:0;padding:0;columns:2;column-gap:32px}.feature-group li{position:relative;break-inside:avoid;padding:9px 0 9px 18px;border-bottom:1px solid var(--border);font-size:.92rem;line-height:1.45}.feature-group li:before{content:"";position:absolute;left:2px;top:calc(9px + .6em);width:6px;height:6px;border-radius:50%;background:var(--accent)}.feature-group li.is-search-hidden,.feature-group.is-search-empty{display:none}@media(max-width:760px){.all-features{display:block}.all-features .features-back{margin:0 0 12px}.all-features h2{margin:0 0 4px;padding:0}.feature-search{margin:0 0 20px}.feature-filters{top:0;z-index:2;flex-direction:row;margin:0 -16px 16px;padding:8px 16px;overflow-x:auto;background:var(--bg);border-bottom:1px solid var(--border)}.feature-filters .feature-filter-heading{display:none}.feature-filter{gap:6px;white-space:nowrap}.feature-group ul{columns:1}}@media(prefers-reduced-motion:reduce){.features-more-arrow,.faq-item summary:after{animation:none;transition:none}}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.progress-steps{list-style:none;display:flex;gap:8px;padding:0;margin:0 0 24px;font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);counter-reset:step}.progress-steps li{flex:1;display:flex;align-items:center;gap:6px;border-top:3px solid var(--border);padding-top:8px;counter-increment:step}.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:"";flex:none;width:14px;height:14px;background:var(--text);-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") center / 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") center / 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{display:flex;align-items:center;gap:12px;margin:0 0 22px}.step-head h2{margin:0}.step-release{margin:-12px 0 22px 38px}.step-icon{flex:none;display:flex;color:var(--text)}.step-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.step-icon-success{color:var(--accent)}.step-icon-shake{animation:shake .45s ease-in-out .3s}@keyframes shake{20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.how-it-works{margin-top:24px;padding:20px 22px;border-radius:var(--radius);background:var(--notice-bg)}.how-it-works h3{margin:0 0 8px;font-weight:500;font-size:1.1rem}.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:heartbeat .8s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}30%{transform:scale(1.25)}60%{transform:scale(.95)}}.instructions{list-style:none;padding:0;margin:0 0 24px;counter-reset:instruction}.instructions li{position:relative;padding-left:40px;counter-increment:instruction}.instructions li+li{margin-top:16px}.instructions li:before{content:counter(instruction);position:absolute;left:0;top:.1em;display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--border-strong);border-radius:50%;font-family:var(--font-mono);font-size:.8rem;color:var(--muted)}.notice{background:var(--notice-bg);border:1px solid var(--border);border-radius:var(--radius-small);padding:12px 16px;margin:0 0 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{display:flex;gap:16px;align-items:center;justify-content:space-between}.notice-row p{margin:0}.notice-row .button{flex:none}.small{font-size:.9rem;color:var(--muted)}.checkbox{display:flex;gap:12px;align-items:flex-start;margin:20px 0 0;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-small);cursor:pointer;font-size:.95rem}.checkbox:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.checkbox input{margin:4px 0 0;width:18px;height:18px;flex:none;accent-color:var(--accent)}.hidden-files{list-style:none;padding:0;margin:0 0 24px}.hidden-files li+li{margin-top:6px}.manual-firmware{border:0;padding:0;margin:24px 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{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;margin:0 0 16px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-small)}.download-card-text p{margin:0}.download-card-name{font-weight:500}.button-line-icon{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}a.button{text-decoration:none}.pill-muted{color:var(--muted)}.scene{position:relative;height:168px;margin:0 0 24px;border-radius:var(--radius);background:var(--notice-bg);overflow:hidden}.scene svg{position:absolute;inset:12px 0;width:100%;height:calc(100% - 24px);overflow:visible}.kobo-body{fill:var(--device)}.kobo-screen{fill:var(--screen)}.kobo-text{fill:none;stroke:var(--border-strong);stroke-width:3;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:4;stroke-linecap:round}.cable-plug{fill:var(--muted)}.scene-led{fill:var(--accent);animation:scene-led 3.2s ease-in-out infinite}.scene-connect .scene-plug{animation:scene-plug-in 3.2s ease-in-out infinite}@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:2}.scene-page{fill:var(--surface);stroke:var(--border-strong);stroke-width:1.5;opacity:0;animation:scene-page 2.4s cubic-bezier(.45,0,.3,1) infinite}.scene-page:nth-of-type(2){animation-delay:.8s}.scene-page:nth-of-type(3){animation-delay:1.6s}@keyframes scene-page{0%{transform:translate(-150px,20px) rotate(-14deg);opacity:0}15%{opacity:1}70%{transform:translate(40px,-10px) rotate(4deg) scale(.7);opacity:1}85%,to{transform:translate(40px) scale(.3);opacity:0}}.scene-device{transform-box:fill-box;transform-origin:50% 90%;animation:scene-gulp .8s ease-in-out infinite}@keyframes scene-gulp{0%,80%,to{transform:scale(1)}90%{transform:scale(1.03)}}.scene-eject .scene-plug{animation:scene-unplug 3s ease-in-out infinite}.scene-eject-badge{animation:scene-float 3s ease-in-out infinite}.eject-badge{fill:var(--accent)}.eject-badge-mark{fill:none;stroke:var(--accent-text);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}@keyframes scene-unplug{0%,35%{transform:translateY(0)}60%,to{transform:translateY(30px);opacity:0}}@keyframes scene-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.scene-arrow,.scene-arrow-head{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.scene-arrow{stroke-dasharray:6 7;animation:scene-march 1.2s linear infinite}@keyframes scene-march{to{stroke-dashoffset:-26}}.confetti>*{transform-box:fill-box;transform-origin:center;animation:confetti 1.1s cubic-bezier(.2,.7,.3,1) .35s both}.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%{transform:translate(0) scale(0);opacity:1}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:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:48;stroke-dashoffset:48;animation:draw-check .5s ease-out .55s forwards}@keyframes draw-check{to{stroke-dashoffset:0}}.device-panel{display:grid;grid-template-columns:auto 1fr;margin:0 0 20px;border:1px solid var(--border);border-radius:var(--radius)}.device-art{align-self:center;width:80px;height:88px;margin:20px 24px}.device-info{margin:0;border-left:1px solid var(--border)}.device-info div{display:grid;grid-template-columns:9.5rem 1fr;gap:12px;align-items:baseline;padding:10px 16px}.device-info div+div{border-top:1px solid var(--border)}.device-info dt{font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.device-info dd{margin:0;font-weight:500}.device-kobalt{display:flex;flex-direction:column}.update-note{font-weight:400;font-size:.9rem;color:var(--muted)}.update-note[data-action=upgrade]{color:var(--accent)}.update-note[data-action=newer]{color:var(--text)}#device-model{display:flex;align-items:center;gap:8px}.verification-badge{position:relative;display:inline-flex;width:18px;height:18px;flex:none;cursor:help;border-radius:50%}.verification-badge svg{display:block;width:100%;height:100%}.verification-badge-verified,.verification-badge-refurbished{color:var(--accent)}.verification-badge-mismatch{color:var(--text)}.verification-badge:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 8px);z-index:20;width:250px;max-width:70vw;padding:8px 10px;border-radius:var(--radius-small);background:var(--tooltip-bg);color:var(--tooltip-text);font-family:var(--font-sans);font-size:.78rem;font-weight:400;line-height:1.4;text-align:left;opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:opacity .12s ease,transform .12s ease}.verification-badge:hover:after,.verification-badge:focus-visible:after{opacity:1;transform:translate(-50%)}.effects{list-style:none;padding:0;margin:0 0 20px;border:1px solid var(--border);border-radius:var(--radius-small)}.effects li{display:grid;grid-template-columns:6.5rem 1fr;gap:12px;padding:12px 16px;align-items:baseline}.effects li+li{border-top:1px solid var(--border)}.effect-label{justify-self:start;padding:3px 8px;border-radius:99px;font-family:var(--font-mono);font-size:.66rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase}.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{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:0 0 10px}.working-row p{margin:0;color:var(--muted)}.working-percent{font-family:var(--font-serif);font-size:2.4rem;line-height:1;font-variant-numeric:tabular-nums}progress{display:block;width:100%;height:8px;margin:0 0 18px;border:none;border-radius:8px;overflow:hidden;appearance:none;background:var(--border)}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%;animation:progress-shimmer 1.4s linear infinite;transition:width .3s ease}progress::-moz-progress-bar{background:var(--accent)}@keyframes progress-shimmer{to{background-position:-200% 0}}.caution{display:inline-flex;align-items:center;gap:8px;color:var(--text)}.caution:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;animation:blink 1.6s ease-in-out infinite}@keyframes blink{50%{opacity:.25}}.waiting{display:flex;align-items:center;gap:12px}.dots span{display:inline-block;width:6px;height:6px;margin-right:4px;border-radius:50%;background:var(--accent);animation:waiting-dot 1.2s ease-in-out infinite}.dots span:nth-child(2){animation-delay:.15s}.dots span:nth-child(3){animation-delay:.3s}@keyframes waiting-dot{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}@media(prefers-reduced-motion:reduce){.scene *,.step-icon,.caution:before,.dots span,.donate-heart,progress::-webkit-progress-value{animation:none!important}.screen-check{stroke-dashoffset:0}.promo-icon{transition:none}}.actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:28px}.button-back{margin-inline-end:auto}.button-back:before,.button-next:after{content:"";flex:none;width:14px;height:14px;background:currentColor}.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") center / 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") center / 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") center / 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") center / 100% no-repeat}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:.95rem;font-weight:500;padding:10px 18px;border-radius:var(--radius-small);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.button:hover:not(:disabled){border-color:var(--text)}.button:disabled{opacity:.45;cursor:not-allowed}.button:focus-visible,.verification-badge:focus-visible,.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{font-size:1.05rem;padding:14px 30px}.footer{max-width:680px;margin:0 auto;padding:24px 16px 32px;text-align:center;color:var(--muted)}.footer-disclaimers{margin:0 0 28px}.footer-disclaimers h2{margin:0 0 12px}.footer-disclaimer-list{display:grid;grid-template-columns:1fr 1fr;background:var(--notice-bg);border:1px solid var(--border);border-radius:var(--radius);text-align:left;counter-reset:disclaimer}.footer-disclaimer{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:12px;margin:0;padding:16px 20px;font-size:.8rem;line-height:1.55;counter-increment:disclaimer}.footer-disclaimer:before{content:counter(disclaimer);display:grid;place-items:center;width:20px;height:20px;margin-top:.05em;border:1px solid var(--border-strong);border-radius:50%;font-family:var(--font-mono);font-size:.68rem;font-weight:500;line-height:1}.footer-disclaimer+.footer-disclaimer{border-left:1px solid var(--border)}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 20px;font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase}.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){.hero-visual{margin-bottom:40px;padding:0}.hero-device-side{margin-bottom:12px}.hero-device-left{margin-right:-64px}.hero-device-right{margin-left:-64px}.page{padding-top:32px}.step{padding:20px}h2{font-size:1.75rem}.device-list li{font-size:1.15rem;padding:10px 12px}.features{grid-template-columns:1fr}.screenshots{width:100vw}.screenshot-list{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:72%;gap:16px;padding:0 16px 8px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 16px}.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{width:52px;height:52px;border-radius:13px}.footer-disclaimer-list{grid-template-columns:1fr}.footer-disclaimer+.footer-disclaimer{border-left:none;border-top:1px solid var(--border)}.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:1 1 auto}}
