.build-page{--dark-line:#3a3b43;--dark-soft:#a8a9b4;--dark-text:#c6c7d1;--alert:#ff9d94}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.build-page h4{margin:0}.build-page ol{margin:0;padding:0;list-style:none}.hero-actions{flex-wrap:wrap;align-items:center;gap:16px 20px;margin-top:36px;display:flex}.kit-button{background:var(--ink);color:#fff;border-radius:4px;justify-content:space-between;align-items:center;gap:48px;min-height:52px;padding:0 22px;font-size:12px;display:inline-flex}.kit-button span{font-size:16px}.kit-button:hover{background:var(--blue-ink)}.p1-explorer h1{white-space:nowrap;font-size:clamp(52px,5.2vw,88px)}.build-intro .hero-actions{margin-top:28px}.p1-explorer .ex-stage.is-narrow .ex-label{font-size:10px}.p1-explorer .ex-stage.is-narrow .ex-label span{display:none}.p1-explorer .ex-fill .is-loop{background:var(--p1-loop-side)}.p1-explorer .ex-tint.is-loop{background:var(--p1-loop)}.p1-explorer .ex-tint.has-loop{-webkit-mask-composite:source-out;-webkit-mask-size:100% 100%,100% 100%;mask-size:100% 100%,100% 100%;-webkit-mask-composite:source-out;mask-composite:subtract}.swatch.is-loop-back .swatch-dot{background:linear-gradient(135deg, var(--air-back) 50%, var(--air-back) 50%)}.swatch.is-loop-face .swatch-dot{background:linear-gradient(135deg, var(--air-face) 50%, var(--air-back) 50%)}.bonus-chip{border:1px solid var(--line);color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:11px;display:inline-flex}.kit-section,.licence-section{padding:96px var(--gutter) 90px;border-top:1px solid var(--line);background:#eeeef3}.kit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 28px;display:grid}.kit-card{border-top:1px solid #cdced9;flex-direction:column;min-width:0;min-height:290px;padding-top:16px;display:flex;position:relative}.kit-card-top{justify-content:space-between;align-items:center;margin-bottom:36px;display:flex}.kit-number{color:var(--blue-ink);font-variant-numeric:tabular-nums;font-size:9px}.status-pill{letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:#fff;border-radius:999px;align-items:center;gap:7px;padding:5px 10px;font-size:9px;display:inline-flex}.status-dot{background:var(--blue);border-radius:50%;width:6px;height:6px}.status-pill[data-status=soon]{color:var(--muted);background:0 0;border:1px dashed #b4b6c3}.status-pill[data-status=soon] .status-dot{background:0 0;border:1px solid #9a9caa}.kit-card h3{letter-spacing:-.05em;margin:8px 0 14px;font-size:clamp(24px,2.2vw,32px);font-weight:400;line-height:1.05}.kit-summary{max-width:340px;color:var(--muted);font-size:12px;line-height:1.8}.kit-card-link,.kit-card-note,.kit-card .kit-card-links{margin-top:auto;padding-top:22px}.kit-card-links{flex-wrap:wrap;gap:4px 22px;display:flex}.kit-card-links>.kit-card-link{margin-top:0;padding-top:0}.kit-card-link.is-secondary,.result-action.is-secondary{color:var(--muted);border-bottom-color:#0000}.link-icon{flex:none;width:11px;height:14px}.kit-card-link{border-bottom:1px solid var(--line);align-self:flex-start;align-items:center;gap:10px;min-height:44px;font-size:11px;display:inline-flex}.kit-card-link>span:last-child{color:var(--blue-ink);font-size:15px}.kit-card-link:hover{color:var(--blue-ink)}.kit-card-link.is-open{color:var(--blue-ink);border-color:var(--periwinkle)}.kit-card-note{color:var(--muted);font-size:11px;line-height:1.6}.lock{background:var(--ink);border-radius:2px;width:10px;height:8px;margin-top:4px;position:relative}.lock:before{content:"";border:1px solid var(--ink);border-bottom:0;border-radius:3px 3px 0 0;width:4px;height:5px;position:absolute;top:-5px;left:2px}.guide-slot{width:88px;position:absolute;top:58px;right:0}.guide-slot img{border:1px solid var(--line);background:#fff;border-radius:2px;width:100%;height:auto;box-shadow:0 10px 24px #10111524}.link-meta{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:4px}.result-action .link-meta{color:#666772}.guide-slot-page{aspect-ratio:148/210;background:var(--paper);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px dashed #b4b6c3;border-radius:2px;flex-direction:column;gap:5px;padding:8px 7px;font-size:5px;display:flex}.guide-slot-page span:first-child{color:var(--blue-ink)}.guide-slot-page i{background:var(--line);height:4px;margin-top:4px;display:block}.guide-slot-page i:nth-of-type(2){width:70%}.guide-slot-page i:nth-of-type(3){width:45%}.kit-guide h3,.kit-guide .eyebrow,.kit-guide .kit-summary{padding-right:104px}.get-kit[data-phase=success] .bonus-line{display:none}.kit-result,#shell{scroll-margin-top:calc(var(--header-height) + 24px)}.get-kit{padding:clamp(88px, 10vw, 140px) var(--gutter);color:var(--paper);background:var(--ink);grid-template-columns:minmax(0,1fr) minmax(360px,560px);gap:7vw;display:grid}.get-kit .eyebrow{color:var(--dark-soft)}.get-kit-lead h2{letter-spacing:-.065em;margin-top:18px;font-size:clamp(42px,5vw,78px);font-weight:400;line-height:.98}.get-kit-lead h2 span{color:var(--periwinkle)}.get-kit-lead>p:not(.eyebrow):not(.bonus-line){max-width:380px;color:var(--dark-text);margin-top:32px;font-size:13px;line-height:1.8}.bonus-line{border-top:1px solid var(--periwinkle);max-width:420px;margin-top:40px;padding-top:18px;font-size:13px;line-height:1.7}.bonus-line span,.result-bonus span{letter-spacing:.08em;text-transform:uppercase;color:var(--periwinkle);margin-bottom:8px;font-size:9px;display:block}.get-kit-panel{min-width:0}.kit-form{gap:14px;display:grid}.field-label{letter-spacing:.08em;text-transform:uppercase;color:var(--dark-soft);font-size:10px}.field-input{width:100%;min-height:62px;color:var(--paper);letter-spacing:-.02em;background:0 0;border:1px solid #55565f;border-radius:4px;padding:0 20px;font-size:18px}.field-input::placeholder{color:#6c6d78}.field-input:focus{outline:2px solid var(--periwinkle);outline-offset:2px;border-color:var(--periwinkle)}.field-input[aria-invalid=true]{border-color:var(--alert)}.field-input[readonly]{color:var(--dark-soft)}.field-error{color:var(--alert);align-items:baseline;gap:10px;margin-top:-4px;font-size:12px;line-height:1.5;display:flex}.field-error:before{content:"!";background:var(--alert);height:16px;color:var(--ink);border-radius:50%;flex:0 0 16px;place-items:center;font-size:10px;font-weight:700;display:grid}.consent{color:var(--dark-text);cursor:pointer;grid-template-columns:22px 1fr;align-items:start;gap:14px;margin:8px 0 6px;font-size:13px;line-height:1.6;display:grid}.consent input{appearance:none;cursor:pointer;background:0 0;border:1px solid #6c6d78;border-radius:3px;place-items:center;width:22px;height:22px;margin:0;display:grid}.consent input:after{content:"";border:2px solid var(--ink);opacity:0;border-top:0;border-right:0;width:10px;height:5px;transform:rotate(-45deg)translate(1px,-1px)}.consent input:checked{background:var(--periwinkle);border-color:var(--periwinkle)}.consent input:checked:after{opacity:1}.consent input:focus-visible{outline:2px solid var(--periwinkle);outline-offset:3px}.kit-submit{background:var(--paper);min-height:62px;color:var(--ink);border-radius:4px;justify-content:space-between;align-items:center;padding:0 22px;font-size:13px;display:flex;position:relative;overflow:hidden}.kit-submit:hover:not(:disabled){background:var(--periwinkle)}.submit-arrow{font-size:18px}.kit-submit:disabled{cursor:progress;background:var(--dark-text)}.kit-submit[aria-busy=true]:after{content:"";background:var(--blue);width:35%;height:3px;animation:1.1s ease-in-out infinite sending;position:absolute;bottom:0;left:0}@keyframes sending{0%{transform:translate(-100%)}to{transform:translate(300%)}}.kit-submit:focus-visible,.retry-button:focus-visible,.copy-button:focus-visible,.upgrade-button:focus-visible,.get-kit a:focus-visible,.another-email:focus-visible{outline-color:var(--periwinkle)}.form-alert{border:1px solid #ff9d9473;border-left:3px solid var(--alert);background:#ff9d9414;border-radius:4px;gap:10px;padding:16px 18px;font-size:13px;line-height:1.6;display:grid}.retry-button{border:1px solid var(--paper);min-height:40px;color:var(--paper);background:0 0;border-radius:4px;justify-self:start;padding:0 16px;font-size:11px}.retry-button:hover{background:var(--paper);color:var(--ink)}.privacy-note{color:var(--dark-soft);font-size:11px;line-height:1.75}.privacy-note a{color:var(--paper);text-underline-offset:3px;-webkit-text-decoration:underline #55565f;text-decoration:underline #55565f}.privacy-note a:hover{color:var(--periwinkle)}.kit-result:focus{outline:none}.kit-result>.eyebrow{color:var(--periwinkle);align-items:center;gap:8px;display:flex}.kit-result>.eyebrow:before{content:"";background:var(--periwinkle);border-radius:50%;width:6px;height:6px}.kit-result h3{letter-spacing:-.055em;margin:14px 0 12px;font-size:clamp(30px,3vw,42px);font-weight:400;line-height:1.05}.result-note{color:var(--dark-text);font-size:13px;line-height:1.7}.result-note strong{color:var(--paper);border-bottom:1px solid var(--periwinkle);font-weight:400}.result-list{border-bottom:1px solid var(--dark-line);margin-top:30px!important}.result-row{border-top:1px solid var(--dark-line);grid-template-columns:26px minmax(110px,.7fr) minmax(0,1.6fr);align-items:start;gap:14px;padding:20px 0;display:grid}.result-row .kit-number{color:var(--periwinkle);padding-top:4px}.result-row-title{justify-items:start;gap:8px;display:grid}.result-row h4{letter-spacing:-.035em;font-size:17px;font-weight:400}.result-row .status-pill{color:var(--paper);border:1px solid var(--dark-line);background:0 0;padding:4px 8px;font-size:8px}.result-row .status-pill[data-status=soon]{color:var(--dark-soft);border-style:dashed}.result-action{background:var(--paper);min-height:44px;color:var(--ink);border-radius:4px;justify-content:space-between;justify-self:start;align-items:center;gap:22px;padding:0 16px;font-size:11px;display:inline-flex}.result-action:hover{background:var(--periwinkle)}.result-hint,.result-soon{color:var(--dark-soft);margin-top:8px;font-size:11px;line-height:1.6}.result-soon{margin-top:2px}.result-hint.is-error{color:var(--alert)}.firmware-action{gap:12px;min-width:0;display:grid}.mini-steps{counter-reset:step;gap:6px;display:grid}.mini-steps li{counter-increment:step;color:var(--dark-text);grid-template-columns:18px 1fr;font-size:11px;line-height:1.6;display:grid}.mini-steps li:before{content:counter(step);color:var(--periwinkle);font-size:10px}.phrase{background:#1b1c22;border:1px solid #55565f;border-radius:4px;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;display:grid}.phrase code{color:var(--paper);overflow-wrap:anywhere;padding:14px;font:12px/1.6 ui-monospace,SF Mono,Menlo,monospace}.copy-button{background:var(--periwinkle);min-width:76px;color:var(--ink);border-left:1px solid #55565f;border-radius:0 3px 3px 0;font-size:11px}.copy-button:hover,.copy-button[data-copied]{background:var(--paper)}.result-link{min-height:36px;color:var(--periwinkle);border-bottom:1px solid var(--dark-line);justify-self:start;align-items:center;gap:10px;font-size:11px;display:inline-flex}.result-link:hover{color:var(--paper)}.upgrade-button{border:1px solid var(--periwinkle);min-height:44px;color:var(--periwinkle);text-align:left;background:0 0;border-radius:4px;padding:0 16px;font-size:11px}.upgrade-button:hover:not(:disabled){background:var(--periwinkle);color:var(--ink)}.upgrade-button:disabled{cursor:progress;opacity:.6}.consent-upgrade .kit-number{padding-top:10px;font-size:14px}.consent-upgrade h4{padding-top:10px}.result-bonus{border-top:1px solid var(--periwinkle);color:var(--dark-text);padding:20px 0 22px;font-size:12px;line-height:1.7}.another-email{color:var(--dark-soft);border-bottom:1px solid var(--dark-line);margin-top:18px}.another-email:hover{color:var(--paper)}.parts-list-section{padding:96px var(--gutter) 90px}.parts-list{border-bottom:1px solid var(--line)}.part-row{border-top:1px solid var(--line);grid-template-columns:40px 132px minmax(0,1fr) minmax(180px,auto);align-items:start;gap:28px;padding:26px 0;display:grid}.part-row .gallery-number{padding-top:4px;position:static}.part-thumb{place-items:center;height:104px;display:grid}.part-thumb img{object-fit:contain;width:100%;height:100%}.part-main h3{letter-spacing:-.045em;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:8px;font-size:clamp(20px,1.8vw,26px);font-weight:400;line-height:1.15;display:flex}.part-badge{border:1px solid var(--blue);letter-spacing:.08em;text-transform:uppercase;color:var(--blue-ink);border-radius:999px;padding:4px 9px;font-size:9px}.part-badge.is-quiet{color:var(--muted);border-color:#b4b6c3}.part-main .part-note{max-width:560px;color:var(--muted);margin-top:10px;font-size:12px;line-height:1.75}.part-alt{border-top:1px dashed #cdced9;max-width:560px;margin-top:18px;padding-top:14px}.part-alt>p:first-child{flex-wrap:wrap;align-items:center;gap:10px;font-size:14px;display:flex}.part-alt strong{font-weight:400}.part-alt .part-note{margin-top:6px}.part-buy{text-align:right;justify-items:end;gap:8px;padding-top:4px;display:grid}.part-qty{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.store-link{min-height:40px;color:var(--blue-ink);border-bottom:1px solid var(--lilac);align-items:center;gap:10px;font-size:11px;display:inline-flex}.store-link:hover{color:var(--ink);border-color:var(--ink)}.part-alt .store-link{margin-top:4px}.part-where{color:var(--muted);font-size:11px;line-height:1.5}.licence-grid{border-bottom:1px solid #cdced9;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.licence-grid article{border-top:1px solid #cdced9;padding:22px 4vw 40px 0}.licence-grid article+article{border-left:1px solid #cdced9;padding-left:4vw}.licence-grid h3{letter-spacing:-.05em;margin:14px 0 20px;font-size:clamp(24px,2.4vw,34px);font-weight:400;line-height:1.05}.licence-grid h3 a{align-items:baseline;gap:12px;display:inline-flex}.licence-grid h3 a span{color:var(--blue-ink);font-size:18px}.licence-grid h3 a:hover{color:var(--blue-ink)}.licence-grid article>p:last-child{max-width:320px;color:var(--muted);font-size:12px;line-height:1.8}.proto-bar{z-index:50;scrollbar-width:none;background:#101115eb;border-radius:30px;align-items:center;gap:2px;max-width:calc(100vw - 24px);padding:5px;display:flex;position:fixed;bottom:14px;left:50%;overflow-x:auto;transform:translate(-50%);box-shadow:0 10px 30px #10111540}.proto-bar>span{letter-spacing:.08em;text-transform:uppercase;color:var(--periwinkle);white-space:nowrap;padding:0 10px 0 12px;font-size:9px}.proto-bar button{min-height:32px;color:var(--dark-text);white-space:nowrap;background:0 0;border-radius:20px;padding:0 11px;font-size:10px}.proto-bar button[aria-pressed=true]{background:var(--paper);color:var(--ink)}@media (max-width:1100px){.kit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.get-kit{grid-template-columns:1fr;gap:56px}.get-kit-panel{max-width:640px}}@media (max-width:760px){.p1-explorer h1{font-size:clamp(44px,13vw,60px)}.hero-actions{margin-top:26px}.kit-button{flex:100%}.kit-section,.licence-section,.parts-list-section{padding-top:64px;padding-bottom:64px}.kit-grid{grid-template-columns:1fr;gap:0}.kit-card{min-height:0;padding-bottom:22px}.kit-card-top{margin-bottom:10px}.kit-card h3{margin:4px 0 8px;font-size:26px}.kit-summary{font-size:11px;line-height:1.7}.kit-card-link,.kit-card-note{padding-top:10px}.guide-slot{width:72px;top:44px}.kit-guide h3,.kit-guide .eyebrow,.kit-guide .kit-summary{padding-right:86px}.get-kit[data-phase=success] .get-kit-lead>p:not(.eyebrow){display:none}.get-kit{gap:44px;padding-top:72px;padding-bottom:72px}.get-kit-lead h2{font-size:clamp(40px,11.5vw,56px)}.bonus-line{margin-top:28px}.field-input{font-size:16px}.result-row{grid-template-columns:26px minmax(0,1fr);gap:12px}.result-row>:last-child{grid-column:2}.result-row-title{align-items:center;gap:10px;display:flex}.phrase{grid-template-columns:1fr}.copy-button{border-top:1px solid #55565f;border-left:0;border-radius:0 0 3px 3px;min-height:44px}.part-row{grid-template-columns:28px 76px minmax(0,1fr);gap:14px;padding:22px 0}.part-thumb{height:72px}.part-buy{text-align:left;grid-column:3;justify-items:start;padding-top:0}.part-qty{display:none}.licence-grid{grid-template-columns:1fr}.licence-grid article,.licence-grid article+article{border-left:0;padding:22px 0 30px}.proto-bar{bottom:10px}}@media (prefers-reduced-motion:reduce){.kit-submit[aria-busy=true]:after{opacity:.5;width:100%;animation:none}}.repo-link{color:var(--blue-ink);border-bottom:1px solid var(--lilac)}.repo-link:hover{color:var(--ink);border-color:var(--ink)}.pair-link{color:var(--periwinkle);border-bottom:1px solid #8c99ff66;gap:6px;display:inline-flex}.pair-link:hover{color:#fff;border-color:#fff}.pair-note{color:#a8a9b4;margin-top:6px;font-size:9px;display:block}
