main,.screen,.card,.grid>*,.introgrid>*,.labelrow>*{min-width:0}
input,select,textarea,button{max-width:100%}
.labelrow{flex-wrap:wrap}
.summary,.status,.help,textarea{overflow-wrap:anywhere}
.fine-adjustments{margin:10px 0;border:1px solid var(--line);border-radius:6px;padding:0 12px}
.fine-adjustments>summary{padding:12px 0;min-height:44px;cursor:pointer;font-size:12px;color:var(--ink)}
.fine-adjustments .nudges{padding:8px 0 12px}
.editorquickhint{font-size:12px;line-height:1.5;text-align:center;margin:0;padding:6px 16px 12px;color:var(--soft)}
dialog.editor-responsive{max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);overflow:auto;overscroll-behavior:contain}
.editor-responsive .dialoghead{position:sticky;top:0;z-index:20;background:#101a2b}
.editor-responsive .stage{width:100%;max-width:390px}
.editor-responsive .editor-actions{position:sticky;bottom:0;z-index:20;background:#101a2b;margin:0;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
.editor-responsive .tools{padding-bottom:12px}
@media(max-width:1000px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.introcopy{padding:36px 28px}.intro h1{font-size:clamp(54px,7vw,80px)}}
@media(max-width:900px){#review .grid{grid-template-columns:minmax(0,1fr)}.reviewaside{position:static}.screen:not(.intro){padding:28px 20px}.sectionhead{margin-bottom:20px}}
@media(max-width:720px){
  .grid{grid-template-columns:minmax(0,1fr)}
  main{padding:16px 12px 28px}
  header.sitehead{padding:14px 16px}
  .wordmark{min-width:0}.brand{overflow-wrap:anywhere}
  .breadcrumb{margin-bottom:12px}
  .screen:not(.intro){padding:22px 14px}
  .sectionhead h2{font-size:clamp(27px,7vw,36px)}
  .card{padding:16px}
  .actions{gap:8px;margin-top:16px}
  .primary,.secondary,.textbutton{min-height:44px}
  input:not([type=checkbox]),select,textarea,input#countrySearch{font-size:16px}
  .surface{overflow:visible}.intro{overflow:hidden;border-radius:12px}
  .country-options{max-height:210px;max-height:min(210px,40dvh)}
  .country-option{min-height:44px;padding:13px}
  .introcopy{padding:28px 22px}.intro h1{font-size:clamp(52px,14vw,68px)}
  .pilots{gap:10px}.portrait{height:clamp(140px,38vw,200px)}
  .pilot strong{font-size:14px;padding:12px 10px 4px}.pilot small{padding:0 10px 12px}
  .editor-responsive .dialoghead{padding:12px 14px;gap:8px}
  .editor-responsive .dialoghead h2{font-size:22px}
  .editor-responsive .cockpit{padding:16px 22px 24px;background:#14223a}
  .editor-responsive .cockpit:before{display:none}
  .editor-responsive .tools{padding:10px 12px}
  .editor-responsive .addtools{gap:8px;margin:10px 0}
  .editor-responsive .addtools select{flex:1 1 130px;min-width:0}
  .editor-responsive .nudges select{max-width:100%;width:100%}
  .editor-responsive .nudges button{min-width:44px;min-height:44px}
  .editor-responsive .handle{width:30px;height:30px}
  .editor-responsive .nw{left:-15px;top:-15px}.editor-responsive .ne{right:-15px;top:-15px}
  .editor-responsive .sw{left:-15px;bottom:-15px}.editor-responsive .se{right:-15px;bottom:-15px}
  .editor-responsive .editor-actions .primary,.editor-responsive .editor-actions .secondary{flex:1 1 120px}
}
@media(max-width:380px){.actions>.primary,.actions>.secondary{flex-basis:100%}.screen:not(.intro){padding:18px 10px}.card{padding:12px}.routecard{gap:10px}.routecode{font-size:22px}.brand{letter-spacing:1px}}
@media(max-height:500px) and (orientation:landscape){.editor-responsive .stage{max-width:240px}.editor-responsive .cockpit{padding-top:14px;padding-bottom:20px}.editor-responsive .dialoghead{padding:8px 14px}.editorquickhint{padding-bottom:6px}}
@media(pointer:coarse){.handle{width:30px;height:30px}.nw{left:-15px;top:-15px}.ne{right:-15px;top:-15px}.sw{left:-15px;bottom:-15px}.se{right:-15px;bottom:-15px}.textbutton{min-height:44px}}
