.setup-page{padding:2rem 0 2.5rem}.setup-page h1{margin:0.5rem 0 0.4em}.hk-lede{font-size:1.08rem;line-height:1.6;color:var(--fg);margin:0 0 1rem;max-width:65ch}.setup-page .hk-saved-banner{margin:0 0 1.25rem}.setup-flash-banner{display:flex;align-items:center;flex-wrap:wrap;gap:0.9rem;border:1.5px solid var(--warn-border);background:var(--accent-light);border-radius:var(--radius-md);padding:0.75rem 1rem;margin-bottom:1.25rem}.setup-flash-banner svg{flex-shrink:0}.setup-flash-banner__text{font-size:0.9rem;line-height:1.5;flex:1;min-width:15rem}.setup-flash-banner__cta{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;background:var(--accent);color:var(--fg);text-decoration:none;font-weight:600;font-size:0.88rem;padding:0.5em 1.1em;border-radius:var(--radius-sm);border:1.5px solid transparent;transition:background var(--transition)}.setup-flash-banner__cta:hover{background:var(--accent-hover);color:var(--fg)}.setup-toggle{display:inline-flex;flex-wrap:wrap;border:1.5px solid var(--border);border-radius:999px;padding:3px;gap:3px;margin-bottom:1rem}.setup-toggle__btn{border:none;background:transparent;color:var(--secondary);font-family:inherit;font-size:0.92rem;font-weight:600;padding:0.45em 1.2em;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:0.45em;transition:background var(--transition),color var(--transition)}.setup-toggle__btn:hover{background:var(--surface-alt)}.setup-toggle__btn img{height:16px;width:auto}.setup-toggle__short{display:none}.setup-page[data-platform="homekit"] .setup-toggle__btn--hk,.setup-page[data-platform="esphome"] .setup-toggle__btn--es,.setup-page[data-platform="matter"] .setup-toggle__btn--mt,.features-page[data-platform="homekit"] .setup-toggle__btn--hk,.features-page[data-platform="matter"] .setup-toggle__btn--mt{color:var(--fg);font-weight:700}.setup-page[data-platform="homekit"] .setup-toggle__btn--hk,.features-page[data-platform="homekit"] .setup-toggle__btn--hk{background:var(--homekit)}.setup-page[data-platform="esphome"] .setup-toggle__btn--es{background:var(--esphome)}.setup-page[data-platform="matter"] .setup-toggle__btn--mt,.features-page[data-platform="matter"] .setup-toggle__btn--mt{background:var(--matter)}@media (max-width: 560px){.setup-toggle{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;width:100%;border-radius:14px;padding:4px;gap:4px}.setup-toggle__btn{flex-direction:column;gap:0.35em;padding:0.65em 0.35em;border-radius:10px;font-size:0.78rem;line-height:1.25;text-align:center}.setup-toggle:has(>:nth-child(3)) .setup-toggle__long{display:none}.setup-toggle:has(>:nth-child(3)) .setup-toggle__short{display:inline}}.hk-stepper{list-style:none;display:flex;flex-wrap:wrap;gap:0.5rem;padding:0;margin:0 0 0.75rem}.hk-stepper__pill{display:inline-flex;align-items:center;gap:0.5rem;padding:0.35rem 0.9rem 0.35rem 0.4rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:0.9rem;font-weight:600;color:var(--fg);text-decoration:none;transition:border-color var(--transition)}a.hk-stepper__pill:hover{color:var(--fg)}.setup-page[data-platform="homekit"] a.hk-stepper__pill:hover{border-color:var(--homekit)}.setup-page[data-platform="esphome"] a.hk-stepper__pill:hover{border-color:var(--esphome)}.setup-page[data-platform="matter"] a.hk-stepper__pill:hover{border-color:var(--matter)}.hk-stepper__num{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--surface-alt);color:var(--secondary);font-size:0.8rem;font-weight:700}.hk-stepper__short{display:none}@media (max-width: 768px){.hk-stepper__long{display:none}.hk-stepper__short{display:inline}.hk-stepper{gap:0.35rem}.hk-stepper__pill{gap:0.35rem;padding:0.3rem 0.5rem 0.3rem 0.3rem;font-size:0.82rem}.hk-stepper__num{width:1.2rem;height:1.2rem;font-size:0.7rem}}.hk-stepper__pill--done{background:var(--surface-alt);color:var(--secondary)}.hk-stepper__pill--done .hk-stepper__num{background:var(--border)}.hk-prep{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem 2rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-alt);padding:1.4rem 1.6rem;margin:1.25rem 0 1.5rem}.hk-prep__title{font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--accent-deep);margin:0 0 0.5rem}.hk-prep ul{margin:0;padding-left:1.1rem;font-size:0.9rem;line-height:1.55;color:var(--secondary)}.hk-prep li{margin-bottom:0.4rem}.hk-prep li:last-child{margin-bottom:0}@media (max-width: 620px){.hk-prep{grid-template-columns:1fr;gap:1rem;padding:1.2rem 1.25rem}}.setup-steps{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.setup-page[data-mode="flashed"] .setup-steps{margin-top:1.25rem}.setup-step{border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.3rem 1.5rem;display:flex;gap:1.1rem}.setup-step__num{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;background:var(--fg);color:#fff;font-size:0.95rem;font-weight:700}.setup-step--hk{border:1.5px solid var(--homekit);background:#FFFDF9}.setup-step--hk .setup-step__num{background:var(--homekit);color:var(--fg)}.setup-step--es{border:1.5px solid var(--esphome);background:#F8FDFF}.setup-step--es .setup-step__num{background:var(--esphome);color:var(--fg)}.setup-step--mt{border:1.5px solid var(--matter);background:#F7FCFA}.setup-step--mt .setup-step__num{background:var(--matter);color:var(--fg)}.setup-step__body{flex:1;font-size:0.92rem;line-height:1.6;color:var(--secondary)}.setup-step__body h2{font-size:1.15rem;letter-spacing:-0.01em;margin:0.15rem 0 0.4rem}.setup-step__body p{margin:0.25em 0 0.6em;max-width:62ch}.setup-step__body ol{padding-left:1.3em;margin:0.25em 0 0.6em}.setup-step__body ol li{margin-bottom:0.2em}.setup-step__body ol li:last-child{margin-bottom:0}.setup-step__body .field-hint{margin:0.5em 0 0}.setup-step__body details{border:1px solid var(--border);border-radius:8px;background:var(--inset);margin:0}.setup-step__body details:hover,.setup-step__body details[open]{box-shadow:none}.setup-step__body details summary{padding:0.55rem 0.95rem;font-size:0.86rem;color:var(--secondary)}.setup-step__body details summary::before{font-size:1rem;width:1.1rem}.setup-step__body details>div{padding:0 0.95rem 0.8rem;font-size:0.88rem;line-height:1.6}.setup-step__body details p{margin:0.5em 0}.setup-step__body details p:last-child{margin-bottom:0}.setup-step__media{width:170px;height:126px;object-fit:cover;border-radius:8px;flex-shrink:0}.setup-step__fig{margin:0;display:flex;flex-direction:column;align-items:center;gap:0.4rem;flex-shrink:0;align-self:center}.setup-step__fig img{width:auto;max-height:210px;border-radius:8px}.setup-step__fig figcaption{font-size:0.75rem;color:var(--muted);text-align:center;max-width:150px;line-height:1.45}.setup-step>.serin-qr-card{align-self:flex-start}.setup-done{border:1px solid var(--success-border);background:var(--success-bg);border-radius:var(--radius-lg);padding:1.1rem 1.5rem;display:flex;gap:0.9rem;align-items:center}.setup-done svg{flex-shrink:0;color:var(--success)}.setup-done p{margin:0;font-size:0.95rem;line-height:1.55;color:var(--success)}.setup-ref-title{margin:1.4em 0 0.6em}.setup-ref-body{padding:0 1.25rem 1rem;font-size:0.92rem;color:var(--secondary);line-height:1.6}.setup-ref-body p{margin:0 0 0.6em}.setup-ref-body .serin-qr-card{margin-top:0.25rem}.setup-help{margin:1.25rem 0 0;font-size:0.92rem;color:var(--secondary)}.setup-usb-btn{padding:0.6em 1.3em;font-size:0.9rem}@media (max-width: 680px){.setup-step{flex-wrap:wrap}.setup-step__media,.setup-step__fig,.setup-step>.serin-qr-card{margin-left:3.1rem}}.ft-legend{margin:0 0 1.4rem;font-size:0.92rem;color:var(--secondary)}.ft-tag{display:inline-block;vertical-align:middle;margin-left:0.45em;padding:0.25em 0.65em;border:1px solid var(--border);border-radius:999px;background:var(--accent-light);color:var(--accent-deep);font-size:0.68rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;text-decoration:none;white-space:nowrap}.ft-tag:hover,.ft-tag:focus-visible{border-color:var(--accent);background:var(--surface);color:var(--accent-deep)}
