.brief-needs p {font-weight:400; line-height:1.6; margin:12px 0;}
.brief-needs .brief-options {grid-template-columns:1fr;}
.brief-needs label {display:flex; align-items:flex-start; gap:10px; min-height:44px; line-height:1.5; cursor:pointer;}
.brief-needs input {flex:none; margin-top:5px;}
.brief-needs label:focus-within {outline:3px solid var(--ink); outline-offset:3px;}
.brief-source-library {margin:32px 0;}
.brief-source-library details {border-top:1px solid var(--ink); padding:12px 0;}
.brief-source-library summary {min-height:44px; display:list-item; padding:10px; cursor:pointer; font-weight:700;}
.brief-source-library summary:focus-visible {outline:3px solid var(--ink); outline-offset:3px;}
.brief-source-library h3, .brief-extra h3 {margin:20px 0 12px; line-height:1.25;}
.brief-extra {margin:24px 0; border-top:1px solid var(--ink);}
.brief-extra a, .brief-source-library a {overflow-wrap:anywhere;}
@media print {
  .brief-extra a[href^="http"]::after, .brief-source-library a[href^="http"]::after {content:" (" attr(href) ")"; font-size:.85em;}
  .brief-form {display:none!important;}
  .brief-actions {display:none!important;}
  .brief-result, .brief-extra {color:#000; background:#fff;}
  .brief-source-library details>div {display:block;}
  .trip-brief:has(.brief-result:not([hidden])) ~ .brief-source-library {display:none;}
  .trip-brief:has(.brief-result[hidden]) .brief-form {display:block!important;}
  .trip-brief:has(.brief-result[hidden]) {display:block;}
  .trip-brief:has(.brief-result[hidden]) .brief-form> :not(.brief-needs) {display:none!important;}
  .brief-needs input {display:none;}
  .brief-source-library details::details-content {content-visibility:visible;}
}
