.launch-shell {
  display:grid;
  grid-template-columns:minmax(420px,.88fr) minmax(560px,1.12fr);
  height:100dvh;
  min-height:100dvh;
  overflow:hidden;
}
.intro-left,.intro-right { min-width:0; min-height:0; padding:.85rem; }
.intro-left {
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:.68rem;
  border-right:1px solid var(--line);
  overflow:hidden;
}
.intro-brand-row { min-height:40px; }
.scene-frame {
  position:relative;
  min-height:0;
  border:1px solid var(--line);
  border-radius:var(--radius-xl);
  overflow:hidden;
  background:radial-gradient(circle at 50% 45%,#0d2236 0%,#050b14 74%);
}
.scene-frame::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 70px rgba(0,0,0,.44);
  background:linear-gradient(180deg,transparent 66%,rgba(0,0,0,.28));
}
.scene-frame>picture { width:100%; height:100%; display:block; }
.scene-frame img { width:100%; height:100%; object-fit:contain; object-position:center; display:block; }
.scene-caption {
  position:absolute;
  z-index:2;
  left:.78rem;
  bottom:.7rem;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(3,8,15,.78);
  backdrop-filter:blur(14px);
  border-radius:999px;
  padding:.36rem .62rem;
  color:var(--muted);
  font-size:.74rem;
}
.ship-card {
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:rgba(7,16,29,.84);
  padding:.64rem .75rem;
  display:grid;
  gap:.32rem;
}
.ship-card__row { display:flex; justify-content:space-between; gap:1rem; color:var(--muted); font-size:.84rem; }
.ship-card__row strong { color:var(--text); text-align:right; }
.intro-right {
  display:flex;
  flex-direction:column;
  gap:.62rem;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-width:thin;
}
.intro-toolbar { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; }
.intro-toolbar h1 { margin:.18rem 0 0; font-size:clamp(1.7rem,2.5vw,2.55rem); line-height:1.04; }
.intro-reset { flex:0 0 auto; }
.progress-shell { height:6px; border-radius:999px; background:rgba(255,255,255,.08); overflow:hidden; }
.progress-fill { height:100%; width:0; background:linear-gradient(90deg,var(--accent),var(--accent-2)); }
.ai-message { border:1px solid rgba(104,215,255,.22); border-left:3px solid var(--accent); border-radius:0 var(--radius-md) var(--radius-md) 0; background:rgba(104,215,255,.07); padding:.62rem .78rem; color:#d7f5ff; line-height:1.36; }
.ai-message strong { color:var(--accent); }
.story-card { min-height:0; max-width:78rem; padding:.12rem .15rem 0 0; }
.story-text p { color:#dbe9f9; line-height:1.58; margin:0 0 .64rem; font-size:clamp(1rem,1.08vw,1.12rem); }
.choice-prelude { border-left:3px solid var(--accent); background:rgba(104,215,255,.07); padding:.62rem .76rem; border-radius:0 var(--radius-md) var(--radius-md) 0; color:#d7f5ff; margin-bottom:.56rem; line-height:1.34; }
.choice-list { display:grid; gap:.46rem; padding-bottom:.1rem; }
.choice-button { text-align:left; display:grid; gap:.2rem; padding:.68rem .8rem; position:relative; overflow:hidden; }
.choice-button::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(104,215,255,.10),transparent 55%); opacity:0; transition:opacity .16s ease; pointer-events:none; }
.choice-button:hover::before { opacity:1; }
.choice-button strong { font-size:.92rem; position:relative; }
.choice-button span { color:var(--muted); line-height:1.28; font-size:.88rem; position:relative; }
.choice-button em { color:var(--accent); font-style:normal; font-size:.72rem; position:relative; }
.result-bonus-card { border:1px solid rgba(104,215,255,.24); border-radius:var(--radius-lg); background:rgba(8,18,32,.84); padding:.75rem; display:grid; gap:.46rem; }
.result-bonus-card h2 { margin:.1rem 0 0; font-size:1.1rem; }
.result-bonus-card p { color:var(--muted); margin:0; line-height:1.36; }
.result-bonus-list { display:flex; flex-wrap:wrap; gap:.4rem; }
.intro-finish-button { width:100%; min-height:44px; }
.system-line { display:block; padding:.62rem .72rem; border:1px solid rgba(104,215,255,.18); border-radius:8px; background:rgba(0,0,0,.24); font-family:ui-monospace,SFMono-Regular,Consolas,monospace; line-height:1.48; }
@media(max-width:1200px){
  .launch-shell{grid-template-columns:minmax(360px,.78fr) minmax(520px,1.22fr)}
  .intro-left,.intro-right{padding:.7rem}.story-text p{font-size:.92rem}
}
@media(max-width:980px){
  body{overflow:auto}.app-root{height:auto;overflow:visible}.launch-shell{grid-template-columns:1fr;height:auto;min-height:100dvh;overflow:visible}
  .intro-left{border-right:0;border-bottom:1px solid var(--line);height:auto;min-height:0;overflow:visible}.scene-frame{aspect-ratio:4/3;max-height:72dvh}
  .intro-right{overflow:visible}
}
@media(max-width:620px){
  .intro-toolbar{align-items:center}.intro-toolbar h1{font-size:1.55rem}.ship-card__row{font-size:.78rem}
}
