.wrap { max-width:1040px; }
.hero { margin-bottom:20px; }
.hero h1 { font-weight:500; font-size:30px; }
.hero .lead { font-size:16px; line-height:1.8; margin-block:8px; }
.bosch-lead { font-size:17px; line-height:1.8; margin:24px 0; max-width:760px; }
h2 .bar { display:none; }
h2 { font-size:22px; margin-top:36px; }
.cycle-stage { box-shadow:none; border:1px solid #dadce0; padding:20px; }
.cycle-tools { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:18px; }
.cycle-tools label { margin-left:auto; font-size:13px; color:#5f6368; }
.cycle-tools select { padding:8px; border:1px solid #dadce0; background:#fff; border-radius:6px; color:#202124; font:inherit; }
.stage-grid { grid-template-columns:minmax(0,1fr) 300px; gap:24px; }
.stage-grid svg.scene { border:0; }
.phase-tag { padding:0; background:transparent!important; color:#202124!important; border-radius:0; font-size:20px; }
.phase-action { font-size:16px; line-height:1.85; min-height:110px; }
.phase-gas { line-height:1.7; font-size:13px; }
.ptk { cursor:pointer; border:0; border-bottom:2px solid transparent; border-radius:0; font-family:inherit; font-size:14px; font-weight:500; line-height:1.5; padding:10px 3px; background:transparent!important; }
.ptk[aria-pressed=true] { border-bottom-color:#1a73e8; }
.waveform { background:transparent; border:0; padding:12px 0; }
.wave-seg.on { background:#e8f0fe!important; color:#185abc!important; }
.wave-seg.active { outline:1px solid #1a73e8; }
.cycle-caption { font-size:13px; color:#5f6368; line-height:1.7; margin:12px 0 0; }
.bosch-memory { margin:24px 0 36px; }
.bosch-memory summary { font-size:17px; }
.bosch-memory section { padding:12px 0; }
.bosch-memory h3 { font-size:17px; font-weight:600; }
.bosch-memory p { font-size:15px; line-height:1.85; }
.bosch-memory .et2,.bosch-memory .src { color:#5f6368; font-size:13px; }
.cyc-card,.vcard { border-top:1px solid #dadce0!important; box-shadow:none; }
.tree,.pdetail { box-shadow:none; border:1px solid #dadce0; }
.tloop { border-left-color:#dadce0; }
.tnode .lbl[style] { color:#202124!important; }
.tchip,.pbadge,.ptag,.k,.mc,.land-step { background:#f8f9fa!important; color:#202124!important; border-color:#dadce0!important; }
.pitem { box-shadow:none; border-color:#dadce0!important; }
.pitem .pe { display:none; }
.pitem.active { background:#e8f0fe; border-color:#1a73e8!important; }
.tt { color:#185abc; border-bottom:0; }
.land-panel { box-shadow:none; }
.et { font:inherit; text-align:left; background:#fff; padding:0; }
.hw-thumb { height:110px; padding:8px; background:#f8f9fa; overflow:hidden; }
.hw-thumb svg { width:100%; height:100%; }
.et .cap { display:block; min-height:42px; }
#hwZoom { width:min(760px,90vw); height:50vh; background:#fff; padding:16px; border-radius:8px; }
#hwZoom svg { width:100%; height:100%; }
.land-panel .pl b { color:#202124!important; }
#scene[data-phase=dep] #polyL,#scene[data-phase=dep] #polyR { stroke-dasharray:400; animation:bosch-coat 3s ease-out both; }
#scene #ions line { stroke:#5f6368; }
#scene.motion-paused *{animation-play-state:paused!important}
@keyframes bosch-coat { from { stroke-dashoffset:400; } to { stroke-dashoffset:0; } }
@media(max-width:720px) {
  .wrap { padding:20px 16px 64px; }
  .hero h1 { font-size:27px; }
  .hero .lead { font-size:15px; }
  .bosch-lead { font-size:16px; }
  .stage-grid { grid-template-columns:1fr; gap:18px; }
  .cycle-stage { padding:14px; }
  .cycle-tools { gap:6px; }
  .cycle-tools button { padding:9px 11px; }
  .cycle-tools label { width:100%; text-align:right; }
  .cycle-tools select { font-size:16px; }
  .phase-action { min-height:0; }
  .hud .tip { padding:10px 0; }
  .waveform { display:none; }
  .cycle-caption { margin-top:8px; }
}
@media(prefers-reduced-motion:reduce) { #scene #polyL,#scene #polyR { animation:none!important; } }
