/* Compact, page-aligned navigation band for the idea tool. */
.idea-generator-page > .px-site-header{
  --px-brand-ink:#fff;
  --px-brand-muted:rgba(255,255,255,.65);
  width:min(1500px,90vw);
  margin:12px auto 0;
  padding:13px 16px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:16px;
  background:linear-gradient(110deg,#17294f 0%,#234baf 62%,#315fcb 100%);
  box-shadow:0 12px 30px rgba(27,49,92,.13),inset 0 1px 0 rgba(255,255,255,.16);
}
.idea-generator-page > .px-site-header .px-header-back{
  border-color:rgba(255,255,255,.18);
  color:rgba(255,255,255,.78);
  background:rgba(255,255,255,.09);
  box-shadow:none;
}
.idea-generator-page > .px-site-header .px-header-back:hover{
  color:#fff;
  background:rgba(255,255,255,.15);
}

@media (min-width:901px){
  .idea-generator-page .px-site-brand .px-brand-english{
    width:100%;
    text-align:justify;
    text-align-last:justify;
  }
  .idea-generator-page .idea-page{
    width:min(1500px,90vw);
    padding:0 0 38px;
  }
  .idea-generator-page .idea-hero{
    grid-template-columns:minmax(0,1fr) 230px;
    align-items:end;
    gap:40px;
    padding:18px 0 24px;
  }
  .idea-generator-page .idea-kicker{font-size:9px;letter-spacing:.2em}
  .idea-generator-page .idea-hero h1{
    max-width:none;
    margin-top:13px;
    font-size:clamp(34px,3.15vw,50px);
    font-weight:650;
    line-height:1.14;
    letter-spacing:.015em;
    white-space:nowrap;
  }
  .idea-generator-page .idea-hero h1 em{margin-left:.12em;color:#234baf}
  .idea-generator-page .idea-hero-copy{
    max-width:860px;
    margin-top:13px;
    font-size:12px;
    line-height:1.75;
  }
  .idea-generator-page .idea-hero-note{
    --idea-note-radius:12px;
    min-width:0;
    min-height:0;
    padding:14px;
    border-radius:12px;
    border:1px solid rgba(35,75,175,.12);
    background:rgba(255,255,255,.72);
    box-shadow:none;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  .idea-generator-page .idea-hero-note strong{font-size:22px;font-weight:600;line-height:1.1}
  .idea-generator-page .idea-hero-note span{font-size:9px}
  .idea-generator-page .idea-layout{
    grid-template-columns:minmax(360px,.78fr) minmax(0,1.22fr);
    align-items:stretch;
    gap:14px;
  }
  .idea-generator-page .brief-card,
  .idea-generator-page .result-card{
    min-height:620px;
    border-radius:18px;
  }
  .idea-generator-page .brief-card{
    position:relative;
    top:auto;
    padding:24px;
  }
  .idea-generator-page .brief-card>.card-kicker{display:none}
  .idea-generator-page .brief-card h2{
    margin:0;
    font-size:23px;
    line-height:1.3;
  }
  .idea-generator-page .field-grid{
    gap:10px 12px;
    margin-top:18px;
  }
  .idea-generator-page .idea-field{gap:5px}
  .idea-generator-page .idea-field label{font-size:11px}
  .idea-generator-page .idea-field input,
  .idea-generator-page .idea-field select{
    height:40px;
    padding:0 12px;
  }
  .idea-generator-page .idea-field textarea{
    min-height:58px;
    padding:8px 12px;
  }
  .idea-generator-page .brief-card .field-note{display:none}
  .idea-generator-page .quick-goals{
    gap:6px;
    margin-top:14px;
  }
  .idea-generator-page .quick-goals-label{font-size:9px}
  .idea-generator-page .goal-chip{padding:5px 9px;font-size:9px}
  .idea-generator-page .form-footer{margin-top:16px}
  .idea-generator-page .primary-btn{min-height:46px}
  .idea-generator-page .secondary-btn{min-height:46px}
  .idea-generator-page .result-card{
    padding:24px 26px;
  }
  .idea-generator-page .result-toolbar{padding-bottom:16px}
  .idea-generator-page .empty-state{
    min-height:510px;
    padding:28px;
  }
  .idea-generator-page .empty-mark{
    width:64px;
    height:64px;
    margin-bottom:16px;
    border-radius:21px;
    font-size:26px;
  }
  .idea-generator-page .empty-state h2{font-size:21px}
  .idea-generator-page .empty-state p{font-size:11px}
}

@media (min-width:901px) and (max-width:1120px){
  .idea-generator-page .idea-hero{grid-template-columns:minmax(0,1fr) 215px;gap:24px}
  .idea-generator-page .idea-hero h1{font-size:34px;white-space:normal}
  .idea-generator-page .idea-layout{grid-template-columns:minmax(340px,.85fr) minmax(0,1.15fr)}
}

@media (max-width:900px){
  .idea-generator-page > .px-site-header{
    width:calc(100% - 56px);
  }
  .idea-generator-page .px-site-brand .px-brand-english{
    width:100%;
    text-align:justify;
    text-align-last:justify;
  }
  .idea-generator-page .idea-hero{padding:20px 0 24px}
  .idea-generator-page .idea-hero h1 em{margin-left:.1em;color:#234baf}
}

@media (max-width:620px){
  .idea-generator-page > .px-site-header{
    width:calc(100% - 28px);
    margin-top:8px;
    padding:11px 13px;
    border-radius:13px;
  }
  .idea-generator-page .idea-hero{padding:18px 0 23px}
}

/* Desktop first-screen fit: let the two work panels absorb the available viewport height. */
@media (min-width:901px){
  html:has(body.idea-generator-page){
    min-height:100%;
  }
  body.idea-generator-page{
    min-height:100dvh;
    display:flex;
    flex-direction:column;
  }
  body.idea-generator-page > .px-site-header{
    flex:0 0 auto;
  }
  body.idea-generator-page > .idea-page{
    flex:1 1 auto;
    min-height:0;
    display:flex;
    flex-direction:column;
    padding-bottom:14px;
  }
  body.idea-generator-page > .idea-page > main{
    flex:1 1 auto;
    min-height:0;
    display:flex;
    flex-direction:column;
  }
  body.idea-generator-page .idea-hero{
    flex:0 0 auto;
  }
  body.idea-generator-page .idea-layout{
    flex:1 1 auto;
    min-height:0;
  }
  body.idea-generator-page .brief-card,
  body.idea-generator-page .result-card{
    height:100%;
    min-height:0;
  }
  body.idea-generator-page .result-card{
    display:flex;
    flex-direction:column;
  }
  body.idea-generator-page .result-toolbar{
    flex:0 0 auto;
  }
  body.idea-generator-page .empty-state,
  body.idea-generator-page .thinking-panel{
    flex:1 1 auto;
    min-height:0;
  }
  body.idea-generator-page .result-content{
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
  }
  body.idea-generator-page .idea-footer{
    flex:0 0 auto;
    margin-top:14px;
    padding-top:12px;
  }
}
