/* Setup uses the shared Signal palette, typography, controls and focus styles. */
body.kh-start{margin:0;background:var(--kh-surface-container-low);color:var(--kh-on-surface);font:var(--kh-type-body-font-size)/1.5 var(--kh-font-sans)}
.start-header{max-width:64rem;margin:auto;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.start-header .brand{text-decoration:none;min-height:48px;display:flex;align-items:center}
.kh-start main{max-width:48rem;margin:1rem auto 3rem;padding:0 1.5rem}
.kh-start .eyebrow{color:var(--kh-primary);font-weight:700;margin:0 0 .5rem}
.kh-start .intro{max-width:40rem;color:var(--kh-on-surface-variant)}
.kh-start fieldset{border:0;padding:0;margin:0;min-width:0}
.kh-start label:not(.confirm){display:block;font-weight:700;margin:1rem 0 .375rem}
.kh-start input:not([type=checkbox]),.kh-start textarea,.kh-start #assigned-crew{width:100%;box-sizing:border-box}
.kh-start button,.kh-start .primary-link{margin-top:.75rem}
.kh-start .actions{display:flex;flex-wrap:wrap;align-items:center}
.kh-start .primary-link{display:inline-flex;align-items:center;min-height:48px;box-sizing:border-box;padding:.625rem 1rem;background:var(--kh-primary);color:var(--kh-on-primary);border-radius:var(--kh-radius-md);font-weight:700;text-decoration:none}
.kh-start .steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:1.5rem}
.kh-start .steps button{background:var(--kh-surface);font-size:1rem}
.kh-start .steps [aria-current=step]{border:2px solid var(--kh-primary);background:var(--kh-primary-container);color:var(--kh-on-primary-container)}
.kh-start #status:empty{display:none}
.kh-start #status{padding:1rem;border-left:4px solid var(--kh-primary);background:var(--kh-primary-container);color:var(--kh-on-primary-container)}
.kh-start #status.error{border-color:var(--kh-error);background:var(--kh-error-container);color:var(--kh-on-error-container)}
.kh-start .location-proposal,.kh-start .board-preview{padding:1rem;margin:1rem 0;border:1px solid var(--kh-outline-variant);border-radius:var(--kh-radius-md);background:var(--kh-surface-container-low)}
.kh-start .confirm{display:flex;align-items:center;gap:.75rem;font-weight:700}
.kh-start .crew-entry{padding:1rem 0;border-bottom:1px solid var(--kh-outline-variant);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.kh-start .code-card{box-shadow:none;background:var(--kh-surface-container-low)}
.kh-start .code-card svg{display:block;width:min(100%,240px);height:auto;margin:1rem 0;shape-rendering:crispEdges}
.kh-start .code-value{font:700 1.75rem var(--kh-font-mono);letter-spacing:.08em}
.kh-start dt{font-weight:700;margin-top:.75rem}.kh-start dd{margin:0;overflow-wrap:anywhere}
.kh-start .invitation-url{overflow-wrap:anywhere;word-break:break-all}
.kh-start details{margin-top:1rem}.kh-start summary{cursor:pointer}
.kh-start .waiting{font-weight:700;color:var(--kh-on-surface-variant)}
.kh-start footer{margin-top:2rem;display:flex;flex-wrap:wrap;gap:1rem}.kh-start footer p{flex-basis:100%;margin:0;font-size:.9375rem}
.kh-start footer a{min-height:48px;display:inline-flex;align-items:center}
.kh-start .tag{padding:.25rem .625rem;font-size:.875rem;font-weight:700}
@media(max-width:32rem){.kh-start main{padding:0 1rem}.start-header{padding:1rem}.kh-start .steps{grid-template-columns:1fr}.kh-start .steps button{text-align:start}.kh-start .card{padding:1rem}}

.kh-start .site-map{margin:1rem 0;overflow-wrap:anywhere}
.kh-start .site-map svg{display:block;width:min(100%,360px);height:auto;border:1px solid var(--kh-outline-variant);border-radius:var(--kh-radius-md);background:var(--kh-surface)}
.kh-start .site-map text{fill:var(--kh-on-surface);font:14px var(--kh-font-sans)}
.kh-start .map-grid{fill:none;stroke:var(--kh-outline-variant)}
.kh-start .map-boundary{fill:var(--kh-primary-container);fill-opacity:.5;stroke:var(--kh-primary);stroke-width:2}
.kh-start .map-center{fill:var(--kh-primary)}
.kh-start .map-scale{fill:none;stroke:var(--kh-on-surface);stroke-width:2}
.kh-start .actions{gap:.75rem}
.kh-start button,.kh-start .primary-link,.kh-start .crew-entry strong{max-width:100%;overflow-wrap:anywhere;white-space:normal}
.kh-start .confirm input{flex:none}
