*{box-sizing:border-box}body{margin:0;background:var(--shp-surface);color:var(--shp-text);font-family:Roboto,Arial,sans-serif}button{font:inherit}.station{min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto;padding:clamp(16px,2.5vw,80px);gap:24px}.station>.shp-header{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:2px solid var(--shp-border);padding:0 0 16px}.shp-header p{margin:0;font-size:clamp(16px,1.4vw,44px)}.brand{letter-spacing:.1em;font-weight:800}h1{font-size:clamp(32px,3.2vw,64px);line-height:1.08;margin:16px 0 30px}h2{font-size:clamp(25px,2vw,70px);margin:12px 0}p{line-height:1.4}.intro{display:grid;grid-template-columns:1.05fr 1fr;gap:5vw;align-items:center;min-height:62vh}.intro p{font-size:clamp(20px,1.7vw,54px);max-width:32em}.intro-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.intro-cards img{width:100%;aspect-ratio:1.4;object-fit:cover;border-radius:32px}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:clamp(14px,1.1vw,32px);font-weight:700;color:var(--shp-accent)}.workspace{display:grid;grid-template-columns:1fr 1.45fr .85fr;gap:2vw;align-items:stretch}.panel{background:var(--shp-raised);border:2px solid var(--shp-border);border-radius:32px;padding:clamp(14px,1.5vw,44px)}.specimen{width:100%;max-height:48vh;object-fit:contain;border-radius:20px}.label{font-size:clamp(18px,1.3vw,42px);color:var(--shp-muted)}.wheels{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start;margin-top:40px}.wheel{text-align:center;min-width:0}.wheel h3{font-size:clamp(20px,1.6vw,50px);margin:0 0 16px}.circle{width:100%;aspect-ratio:1;border-radius:50%;border:7px solid var(--shp-accent);background-repeat:no-repeat;box-shadow:0 0 0 7px var(--shp-deep)}.stepper{display:flex;gap:8px;justify-content:center;margin-top:24px}.stepper button{min-height:64px;min-width:64px;width:45%;background:var(--shp-deep);color:var(--shp-text);border:2px solid var(--shp-border);border-radius:20px;font-size:32px}.wheel .label{font-size:clamp(16px,1vw,30px)}.result{border-color:var(--shp-success)}.notes p,.notes li{font-size:clamp(18px,1.25vw,40px)}.notes ol{padding-left:1.2em}.notes .fact{font-size:clamp(20px,1.35vw,44px)}.status{font-size:clamp(20px,1.6vw,52px)}.shp-next{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:16px;padding:20px 0 0}.shp-next__say{text-align:center;font-size:clamp(18px,1.25vw,38px)}.shp-next__go{text-align:right}.shp-button{font-size:clamp(20px,1.4vw,44px);min-height:72px;padding:18px 28px}.shp-save{position:static;font-size:clamp(12px,.8vw,22px);justify-self:start;color:var(--shp-muted)}.complete{max-width:1200px;margin:5vh auto;text-align:center}.complete p{font-size:clamp(20px,2vw,55px)}.collected{display:flex;gap:24px;justify-content:center;flex-wrap:wrap}.collected img{width:160px;height:160px;object-fit:cover;border-radius:50%}.progress{display:flex;gap:12px;margin:20px 0}.progress span{display:block;width:40px;height:12px;background:var(--shp-border);border-radius:12px}.progress span.done{background:var(--shp-accent)}.error{max-width:50em;margin:10vh auto}.shp-button--primary{background:var(--shp-accent);color:var(--shp-on-accent)}@media(max-width:950px){.workspace{grid-template-columns:1fr 1.5fr}.notes{grid-column:1/-1}.intro{grid-template-columns:1fr}.intro-cards{display:none}.shp-header{align-items:start}.shp-next{grid-template-columns:1fr 1fr}.shp-next__say{grid-column:1/-1;grid-row:1}.wheels{margin-top:20px}.stepper button{min-width:48px}.workspace .panel{padding:14px}.station{gap:12px}}@media(max-width:600px){.workspace{grid-template-columns:1fr}.specimen{height:220px}.wheels{gap:10px}.notes{grid-column:auto}.shp-header p{font-size:13px}.shp-button{padding:14px;min-height:60px}.circle{border-width:4px}.stepper button{min-width:40px;min-height:48px}.collected img{width:95px;height:95px}.station{padding:16px}.label{font-size:18px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(min-width:951px){.station{height:100dvh;grid-template-rows:auto minmax(0,1fr) auto;gap:12px}#app{min-height:0;overflow:auto}.intro{min-height:0;height:100%}.workspace{min-height:0}.workspace .panel{padding:clamp(16px,1.3vw,42px)}.workspace .panel>.eyebrow{margin-top:8px}.specimen{max-height:34vh}.wheels{margin-top:24px}.circle{max-width:23vh;margin:auto}.notes .fact{font-size:clamp(19px,1.2vw,42px)}.shp-next{padding-top:8px}.stepper{margin-top:16px}.shp-next__say{margin:8px 0}}

[hidden]{display:none!important}
.shp-next__go{display:flex;flex-direction:column;align-items:flex-end;gap:12px;min-width:0}.shp-next__go .shp-button{max-width:100%;white-space:normal;overflow-wrap:anywhere}.shp-next>*{min-width:0}

.credits{justify-self:end;color:var(--shp-focus);font-size:16px;min-height:48px;padding:12px 0}

.station>.shp-header .shp-logo{height:64px;max-width:45%}.stepper .shp-button{padding:6px;min-width:48px}.shp-button--back{border-radius:999px}.eyebrow{color:var(--shp-muted)}
@media(max-width:600px){.station>.shp-header .shp-logo{height:46px}.station>.shp-header{padding:0 0 16px}.station{gap:12px}}

@media(max-width:600px){.shp-night .shp-next .shp-button{padding:14px 16px;overflow-wrap:normal;word-break:normal}}

/* TG27-021: compact outer spacing; keep the existing start composition. */
.station{padding:clamp(16px,2vw,40px)}.intro{min-height:0}
