/* Quiet surfaces and readable supporting pages; the reference hero keeps its layout. */
:root{--polish-soft:#f4f7f1;--polish-muted:#637164}
:where(button,a,input,select,textarea,summary):not(:focus-visible){outline:none}
.ask-form,.ask-form:focus-within{border-color:transparent;box-shadow:0 5px 26px #153c2210}
.ask-form input:focus-visible{outline:none}
.solid-button{transition:background-color .18s ease,box-shadow .18s ease}
.solid-button:hover{background:#0c6549;box-shadow:0 4px 14px #07543d12}
.solid-button:disabled{box-shadow:none}
#nav-menu{background:#fff;box-shadow:0 18px 70px #173b221a}
#nav-menu>a,#nav-menu>button:not(.nav-close){border-radius:24px}
#nav-menu>a:hover,#nav-menu>button:not(.nav-close):hover{background:var(--polish-soft);color:var(--green)}
.menu-note{background:var(--polish-soft);color:var(--polish-muted)}
.information-page{max-width:810px}
.information-page h1{max-width:780px;font-size:clamp(44px,6.4vw,72px);line-height:1.08;letter-spacing:-.055em;margin-bottom:25px}
.information-page .lead{max-width:660px;font-size:22px;line-height:1.5;letter-spacing:-.4px;margin-bottom:34px;color:var(--polish-muted)}
.information-page h2{font-size:28px;line-height:1.25;letter-spacing:-.7px;margin-top:44px;margin-bottom:16px}
.information-page p,.information-page li{font-size:17px;line-height:1.7;color:var(--polish-muted)}
.information-page #page-content>details{border:0;border-radius:22px;background:var(--polish-soft);padding:22px 25px;margin:12px 0}
.information-page #page-content>details>summary{font-size:18px;line-height:1.4;align-items:center;color:var(--ink);gap:20px}
.information-page #page-content>details>summary:after{font-size:23px;color:#647d65;flex:none}
.information-page #page-content>details>p{font-size:15px;line-height:1.75;margin-top:18px;margin-bottom:0}
.information-page .page-note{font-size:14px;line-height:1.6;margin-top:30px}
.information-page .source-grid{gap:12px;margin:23px 0}
.source-card{border:0;background:var(--polish-soft);transition:background-color .18s ease}
.source-card:hover{background:#eaf1e4}
.information-page .source-card b{font-size:17px;line-height:1.4}
.information-page .source-card span{font-size:12px;color:var(--polish-muted)}
.source-control{margin:30px 0}
.health-summary{gap:12px;margin:28px 0}
.health-summary>div{flex:1;border-radius:22px;background:var(--polish-soft);padding:24px}
.health-summary span{font-size:12px;color:var(--polish-muted)}
.health-source{border:0;border-radius:22px;background:#f8faf6;padding:25px;margin:12px 0}
.health-source h3{font-size:18px;line-height:1.4;margin:0 0 12px}
.health-source p{font-size:13px;line-height:1.55;margin:10px 0}
.health-source small{font-size:11px;line-height:1.6;color:var(--polish-muted)}
.health-status{background:#e9f1e5;color:#426b45}
.health-status.warning{background:#f7efd9;color:#78642a}
.answer-actions{gap:7px}
.answer-actions button{border-radius:50%;transition:background-color .18s ease}
.answer-actions button:hover{background:var(--polish-soft);color:var(--green)}
.answer-actions .listen-answer{border-radius:22px;padding:8px 14px}
.answer-sources>summary{background:var(--polish-soft);color:#58715b}
.chat-bottom>p{color:#6f7c6c}
dialog:not(.language-transition){background:#fff;box-shadow:0 25px 90px #123b2224}
dialog:not(.language-transition) h2{font-size:36px;line-height:1.15;letter-spacing:-1.4px;margin-bottom:22px}
dialog .dialog-note{font-size:12px;line-height:1.65;color:var(--polish-muted)}
dialog textarea{background:var(--polish-soft);border:0;line-height:1.5}
.feedback-ratings{gap:10px;flex-wrap:wrap}
.feedback-ratings label{min-height:44px;background:var(--polish-soft);border-radius:16px;padding:12px 16px}
.feedback-ratings label:has(input:checked){background:#e4eee0;color:var(--green)}
/* Stop background motion while the language transition finishes a stable page. */
body.language-loading #landing-main *,body.language-loading #landing-main *:before,body.language-loading #landing-main *:after{animation-play-state:paused!important}
@media(max-width:680px){
  .information-page h1{font-size:46px;margin-top:30px;margin-bottom:22px}
  .information-page .lead{font-size:19px;line-height:1.5;margin-bottom:28px}
  .information-page h2{font-size:25px;margin-top:36px;margin-bottom:14px}
  .information-page p,.information-page li{font-size:16px;line-height:1.65}
  .information-page #page-content>details{padding:20px;border-radius:20px;margin:10px 0}
  .information-page #page-content>details>summary{font-size:17px;gap:14px}
  .information-page #page-content>details>p{font-size:14px;line-height:1.7}
  .health-summary>div{padding:18px;min-width:0}
  .health-source{padding:22px}
  dialog:not(.language-transition) h2{font-size:32px}
  .answer-actions{gap:5px}
}
@media(prefers-reduced-motion:reduce){.solid-button,.source-card,.answer-actions button{transition:none}}

.answer-content .service-action-link{font-weight:500;text-decoration-thickness:1px;text-underline-offset:4px}.answer-content .service-action-link>span[aria-hidden]{display:inline-block;vertical-align:baseline;font-size:.95em;margin-inline-start:2px}.answer-content .service-action-link:hover{color:var(--green)}

/* Focus stays clean; input surfaces do not change colour while typing. */
:where(button,a,input,select,textarea,summary,dialog,[tabindex],[role="combobox"]):focus,:where(button,a,input,select,textarea,summary,dialog,[tabindex],[role="combobox"]):focus-visible{outline:none!important;box-shadow:none!important}
.ask-form:has(input:focus-visible){outline:none!important;box-shadow:0 5px 26px #153c2210}
:where(button,summary):focus-visible{filter:brightness(.95)}
:where(a):focus-visible{text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:5px}
.ask-form input,.ask-form input:focus,.ask-form input:focus-visible{background:transparent!important}
.ng-select-search-wrap:focus-within{background:#f4f6f2}
.language-button{gap:12px;padding:7px 15px;min-height:46px;align-items:center;line-height:1.15}
.language-button-copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:3px;text-align:start}
.language-button .language-button-copy .language-caption{font-size:9px;line-height:1.1;letter-spacing:.02em;color:#718071}
.language-button .language-button-copy [data-language-name]{font-size:13px;line-height:1.2;color:var(--ink);max-width:140px;overflow:hidden;text-overflow:ellipsis}
.language-button .language-chevron{display:block;flex:0 0 15px;align-self:center;width:15px;height:15px;stroke:currentColor;stroke-width:1.7;color:#627565}
@media(max-width:680px){.header-actions .language-button{padding:7px 11px;gap:8px;max-width:112px;min-height:44px}.language-button .language-button-copy [data-language-name]{font-size:11px;max-width:70px}.language-button .language-button-copy .language-caption{font-size:8px}.language-button .language-chevron{width:13px;height:13px;flex-basis:13px}}

button:focus-visible,summary:focus-visible{text-decoration:underline;text-underline-offset:4px}.icon-button:focus-visible{background:#e3ede2;border-radius:50%}label:has(input:focus-visible){color:var(--green)}

html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(max-width:820px),(pointer:coarse){
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),textarea,select,[contenteditable=true]{font-size:16px!important}
}

/* Fixed controls follow the visible area, including keyboard and home indicator. */
@media(max-width:820px),(pointer:coarse){
  .chat-bottom{bottom:calc(15px + var(--ng-keyboard-inset,0px))}
  .floating-ask{bottom:calc(16px + env(safe-area-inset-bottom,0px) + var(--ng-keyboard-inset,0px))}
  .chat-active .conversation{padding-bottom:calc(230px + env(safe-area-inset-bottom,0px) + var(--ng-keyboard-inset,0px))}
  #toast{bottom:calc(125px + env(safe-area-inset-bottom,0px) + var(--ng-keyboard-inset,0px))}
  .answer-actions button,.answer-actions .listen-answer{min-width:44px;min-height:44px}
}
@media(max-width:680px){
  dialog:not(.language-transition){max-height:calc(var(--ng-visual-height,100dvh) - 24px);margin-bottom:var(--ng-keyboard-inset,0px);overscroll-behavior:contain;scroll-padding-block:24px}
  #nav-menu{max-height:calc(var(--ng-visual-height,100dvh) - 24px)}
}
