/* Viewport containment for narrow Codex browser panels and tablets. */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

button,
input,
textarea,
select {
  max-width: 100%;
}

.app-shell {
  grid-template-columns: 245px minmax(0, 1fr);
  max-width: 100%;
}

main {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.section-title {
  gap: 20px;
  min-width: 0;
}

.section-title > div {
  min-width: 0;
}

.section-title h1,
.section-title h2 {
  overflow-wrap: anywhere;
}

.foundation-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(120px, .72fr) minmax(0, 1.45fr);
  min-width: 0;
}

.foundation-row label,
.opening-section {
  min-width: 0;
  max-width: 100%;
}

@media (max-width: 1100px) {
  .foundation-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 950px) {
  .app-shell {
    grid-template-columns: minmax(0, 1fr);
  }

  .title-input {
    width: min(100%, 78vw);
  }
}

@media (max-width: 650px) {
  .foundation-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .section-title {
    align-items: flex-start;
    flex-direction: column;
  }

  .steps {
    max-width: 100%;
  }
}

.choice-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.choice-row button{max-width:100%;border:1px solid var(--line);background:#17231f;color:var(--muted);padding:10px 12px;text-align:left;font:12px/1.45 "DM Mono";cursor:pointer}
.choice-row button:hover,.choice-row button.selected{border-color:var(--cyan);color:var(--ink)}
.truth-grid .choice-row button{flex:1 1 145px}
.detail-body select{width:100%;border:0;border-bottom:1px solid #31403d;background:#101816;color:var(--ink);outline:none;padding:10px 0;margin-top:10px}
.top-actions button,.section-title button,.empty-state button,.connection-panel button,.opening button,.steps button,.library button,.issue button{font-size:12px!important;line-height:1.35}
.truth-grid span,.foundation-row span,.detail-body span,.editor-main summary{font-size:12px!important}
.truth-grid small,.opening small,.node small,.issue p,.journal-preview p{font-size:12px!important;line-height:1.5}
.prompt-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 22px 18px;color:var(--muted);font-size:13px}
.prompt-head button{border:1px solid var(--orange);background:var(--orange);color:#16100a;padding:10px 13px;font:12px/1.35 "DM Mono";cursor:pointer}
.prompt-grid textarea{min-height:145px;font-size:13px;line-height:1.5}
.madlib-builder{border:1px solid var(--line);background:linear-gradient(145deg,var(--panel2),var(--panel));padding:24px;margin-bottom:42px}
.mission-type-picker{display:grid;grid-template-columns:130px minmax(220px,360px);align-items:center;gap:14px;margin-bottom:24px}
.mission-type-picker span{font:12px "DM Mono";text-transform:uppercase;color:var(--orange)}
.mission-type-picker select{background:#101816;color:var(--ink);border:1px solid var(--line);padding:12px;font-size:14px}
.madlib-sentence{font-size:18px;line-height:2.4;color:var(--muted)}
.madlib-sentence input{display:inline-block;width:min(230px,42vw);margin:0 6px;border:0;border-bottom:2px solid var(--orange);background:#0c1311;color:var(--ink);padding:8px 10px;font-size:16px;outline:none}
.madlib-sentence input:focus{border-color:var(--cyan)}
.madlib-actions{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid var(--line);margin-top:22px;padding-top:18px}
.madlib-actions p{color:var(--muted);font-size:13px}
.madlib-actions button{padding:12px 16px;font-size:13px;cursor:pointer}
.generated-title{margin-top:0}
@media(max-width:650px){.mission-type-picker{grid-template-columns:1fr}.madlib-actions{align-items:stretch;flex-direction:column}.madlib-sentence{line-height:2.8}.madlib-sentence input{width:55vw}}
