.setup-shell { width: min(100%, 680px); margin: auto; padding: max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left)) }
.setup-nav { display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:.8125rem; color:var(--muted) }
.setup-nav a { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; color:var(--ink); gap:6px }
.setup-heading { margin:52px 4px 36px }
.setup-kicker { color:var(--blue); font-size:.875rem; font-weight:550; margin-bottom:14px }
.setup-heading h1 { font-size:clamp(2.5rem,9vw,3.75rem); font-weight:650; line-height:1.07; letter-spacing:-.055em }
.setup-heading > p:last-child { color:var(--muted); font-size:1.0625rem; max-width:32ch; margin-top:20px; line-height:1.5 }
.setup-card { border:1px solid #e7e7eb; border-radius:24px; background:var(--surface); padding:28px; margin-bottom:16px }
.step-heading { display:flex; align-items:center; gap:14px; margin-bottom:24px }
.step-number { display:grid; place-items:center; flex-shrink:0; width:36px; height:36px; border-radius:50%; background:#f1f1f4; font-size:.875rem; font-weight:600; color:var(--muted) }
.step-caption { font-size:.75rem; color:var(--muted); margin-bottom:4px }
.step-heading h2 { font-size:1.125rem; letter-spacing:-.3px; line-height:1.25 }
.step-done { margin-left:auto; font-size:.75rem; font-weight:500; color:#24713e }
.setup-card > div > p, .setup-card form > p { color:var(--muted) }
.setup-card .primary { text-decoration:none; gap:12px }
#invite-start > .small { text-align:center; margin-top:14px; font-size:.75rem }
.muted { color:var(--muted) }
.setup-notice { border-radius:16px; padding:16px 20px; margin-bottom:20px; background:#eaf0f8; color:#334965; font-size:.875rem; overflow-wrap:anywhere }
.setup-notice.error { background:#f9eeeb; color:#92392f }
.login-info { border-top:1px solid var(--line); margin-top:22px }
.login-info summary, #device-help summary { font-size:.8125rem }
.login-info p { padding-bottom:4px }
.platform-picker { display:flex; padding:4px; gap:4px; border-radius:14px; background:#f1f1f4; margin-bottom:22px }
.platform-picker button { border:0; background:none; color:var(--muted); border-radius:10px; min-height:44px; padding:8px 10px; flex:1; font-size:.875rem; font-weight:500 }
.platform-picker button[aria-selected=true] { background:#fff; color:var(--ink); box-shadow:0 1px 4px #0000000d }
.install-steps { padding-left:23px; margin:0; color:var(--muted); font-size:.9375rem }
.install-steps li { padding-left:5px; margin:12px 0; line-height:1.6 }
.install-steps strong { color:var(--ink); font-weight:550 }
#device-help { border-top:1px solid var(--line); margin-top:22px }
#copy-device-code { padding-left:0; color:var(--blue); margin-top:6px }
#device-feedback { margin-top:8px }
#device-code { font-size:1rem; margin-top:8px }
#already-installed { margin-top:18px; color:#24713e }
.example-command { display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid #c6c6cc; border-radius:14px; padding:12px 12px 12px 18px; font-size:1.25rem; letter-spacing:-.4px; margin-bottom:24px }
.example-arrow { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:var(--blue); color:#fff; font-size:1.25rem; flex-shrink:0 }
.command-examples { margin:0 0 20px }
.command-examples > div { display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid #ededf0 }
.command-examples > div:last-child { border:0 }
.command-examples dt { font-size:.875rem; color:var(--ink) }
.command-examples code { font:inherit; font-weight:550 }
.command-examples dd { margin:0; font-size:.8125rem; color:var(--muted); text-align:right }
.setup-faq { margin:24px 4px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line) }
.setup-faq p { color:var(--muted); margin:0 0 16px; font-size:.875rem }
.setup-footer { padding:28px 4px 0; margin:0; font-size:.75rem; color:var(--muted); gap:16px }
.setup-footer span { text-align:right }
@media(min-width:700px) { .setup-heading { margin-top:72px; margin-bottom:40px }.setup-card { padding:32px } }
@media(max-width:350px) { .setup-shell { padding-left:18px; padding-right:18px }.setup-heading { margin-top:32px }.setup-card { padding:20px }.step-heading { gap:10px }.step-heading h2 { font-size:1.0625rem }.platform-picker button { font-size:.8125rem }.command-examples > div { display:block }.command-examples dd { text-align:left; margin-top:4px } }
