html[data-efoto-ui] { --efoto-ui-scale: 1; }
html[data-efoto-ui][data-efoto-text-size="120"] { --efoto-ui-scale: 1.2; }
html[data-efoto-ui][data-efoto-text-size="150"] { --efoto-ui-scale: 1.5; }
/* Progressive fallback for server-rendered preferences when JavaScript is disabled. */
html[data-efoto-ui][data-efoto-text-size="120"] body :is(p,label,input,textarea,select,button,small,th,td) { font-size: 1.2rem; }
html[data-efoto-ui][data-efoto-text-size="150"] body :is(p,label,input,textarea,select,button,small,th,td) { font-size: 1.5rem; }
html[data-efoto-ui] .efoto-ui-skip { position: fixed; top: 8px; left: 12px; z-index: 100000; padding: 12px 18px; min-height: 44px; box-sizing: border-box; background: #fff; color: #053b2c; border: 3px solid #053b2c; border-radius: 8px; font-weight: 700; transform: translateY(-180%); }
html[data-efoto-ui] .efoto-ui-skip:focus { transform: none; }
html[data-efoto-ui] :focus-visible { outline: 3px solid #ad6500; outline-offset: 3px; }
html[data-efoto-ui] .efoto-ui-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; color: #173b30; font-size: .875rem; }
html[data-efoto-ui] .efoto-ui-controls form { margin: 0; }
html[data-efoto-ui] .efoto-ui-language { display: inline-flex; gap: 3px; padding: 3px; background: #fff; border: 1px solid #647b70; border-radius: 12px; }
html[data-efoto-ui] .efoto-ui-controls button, html[data-efoto-ui] .efoto-ui-display summary, html[data-efoto-ui] .efoto-ui-controls select { box-sizing: border-box; min-height: 44px; min-width: 44px; padding: 9px 12px; border: 1px solid #647b70; border-radius: 9px; background: #fff; color: #173b30; font: inherit; cursor: pointer; }
html[data-efoto-ui] .efoto-ui-language button { border-color: transparent; }
html[data-efoto-ui] .efoto-ui-language button[aria-pressed="true"] { background: #064835; color: #fff; font-weight: 700; }
html[data-efoto-ui] .efoto-ui-display { position: relative; }
html[data-efoto-ui] .efoto-ui-display summary { list-style-position: inside; }
html[data-efoto-ui] .efoto-ui-display form { position: absolute; top: calc(100% + 8px); right: 0; z-index: 10000; display: grid; gap: 8px; width: min(280px, calc(100vw - 30px)); padding: 16px; background: #fff; color: #173b30; border: 1px solid #647b70; border-radius: 12px; box-shadow: 0 8px 25px #0002; }
html[data-efoto-ui] .efoto-ui-display label { font-weight: 700; }
html[data-efoto-ui] .efoto-ui-display-actions { display: flex; flex-wrap: wrap; gap: 8px; }
html[data-efoto-ui] :is(.research-link-button,.correction-link-button) { min-width: 44px; min-height: 44px; }
html[data-efoto-ui] .efoto-ui-status { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
html[data-efoto-ui][data-efoto-contrast="high"] body,
 html[data-efoto-ui][data-efoto-contrast="high"] :is(header,footer,main,nav,section,article,aside,details,summary,form,input,textarea,select,button,table,th,td,[role="dialog"],.hero-banner,.info-panel,.img-card,.main-content,.efoto-ui-controls,.efoto-ui-display form) { background-color: #fff !important; background-image: none !important; color: #111 !important; border-color: #333 !important; }
html[data-efoto-ui][data-efoto-contrast="high"] :is(p,span,small,strong,label,h1,h2,h3,h4,h5,h6,li) { background-color: #fff !important; color: #111 !important; }
html[data-efoto-ui][data-efoto-contrast="high"] a { background-color: #fff !important; color: #003f8a !important; text-decoration: underline; }
html[data-efoto-ui][data-efoto-contrast="high"] input::placeholder, html[data-efoto-ui][data-efoto-contrast="high"] textarea::placeholder { color: #424242 !important; opacity: 1; }
html[data-efoto-ui][data-efoto-contrast="high"] .efoto-ui-language button[aria-pressed="true"] { background: #111 !important; color: #fff !important; }
html[data-efoto-ui][data-efoto-contrast="high"] .efoto-ui-language button[aria-pressed="true"] * { background-color: transparent !important; color: #fff !important; }
html[data-efoto-ui][data-efoto-contrast="high"] :focus-visible { outline-color: #003f8a; }
@media (prefers-reduced-motion: reduce) {
  html[data-efoto-ui] *, html[data-efoto-ui] *::before, html[data-efoto-ui] *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
@media (max-width: 460px) { html[data-efoto-ui] .efoto-ui-controls { gap: 6px; } html[data-efoto-ui] .efoto-ui-controls button { padding-inline: 10px; } }
@media (max-width: 600px) {
  html[data-efoto-ui] .efoto-ui-display form {
    position: fixed; left: 12px; right: 12px; width: auto;
    top: var(--efoto-ui-panel-top, 80px);
    max-height: var(--efoto-ui-panel-space, calc(100dvh - var(--efoto-ui-panel-top, 80px) - 12px));
    overflow-y: auto; box-sizing: border-box;
  }
}
