.modern-subpage #content.ot-page {
  --ot-ink: #19363a;
  --ot-muted: #415d61;
  --ot-line: #cbdcdb;
  --ot-panel: #fff;
  --ot-soft: #edf6f3;
  --ot-accent: #075d54;
  --ot-danger: #9d272e;
  --ot-primary: #136b61;
  color: var(--ot-ink);
}
.ot-page *, .ot-page *::before, .ot-page *::after { box-sizing: border-box; min-width: 0; }
.ot-page [hidden] { display: none !important; }
.modern-subpage #content.ot-page :is(h1,h2,h3,h4,strong,legend,caption) { color: var(--ot-ink); }
.modern-subpage #content.ot-page h1 { font-size: clamp(24px, 4.5vw, 34px); line-height: 1.35; margin: 10px 0 14px; word-break: keep-all; }
.modern-subpage #content.ot-page h2 { font-size: clamp(20px, 3.7vw, 26px); line-height: 1.45; margin: 0 0 12px; }
.modern-subpage #content.ot-page h3 { font-size: 18px; line-height: 1.5; margin: 18px 0 10px; }
.modern-subpage #content.ot-page p { margin: 10px 0 14px; color: var(--ot-muted); line-height: 1.75; overflow-wrap: anywhere; }
.modern-subpage #content.ot-page .ot-kicker { color: var(--ot-accent); font-size: 13px; font-weight: 700; }
.modern-subpage #content.ot-page .ot-header p:not(.ot-kicker) { font-size: 16px; font-weight: 400; margin: 12px 0; }
.ot-page .ot-header { margin-bottom: 24px; }
.ot-page .ot-panel, .ot-page .ot-record {
  background: var(--ot-panel); border: 1px solid var(--ot-line); border-radius: 10px; padding: clamp(12px, 2.7vw, 22px); margin: 16px 0 22px;
}
.ot-page .ot-record, .ot-page .ot-card, .ot-page .ot-break { background: var(--ot-soft); }
.ot-page fieldset { border: 0; padding: 0; margin: 16px 0; }
.ot-page legend { font-weight: 750; margin: 0 0 7px; padding: 0; }
.ot-page .ot-grid, .ot-page .ot-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 12px 0; }
.ot-page .ot-component { display: grid; grid-template-columns: 1.2fr 1fr; gap: 12px; align-items: end; margin: 8px 0; }
.ot-page .ot-actions, .ot-page .ot-choices { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
.ot-page label { display: block; color: var(--ot-ink); font-size: 14px; font-weight: 650; }
.ot-page .ot-check, .ot-page .ot-choices label { display: flex; align-items: center; gap: 8px; min-height: 44px; cursor: pointer; }
.ot-page .ot-choices label { border: 1px solid var(--ot-line); border-radius: 7px; padding: 7px 12px; background: var(--ot-soft); }
.modern-subpage #content.ot-page :is(input[type=radio], input[type=checkbox]) {
  appearance: auto; position: static; display: block; opacity: 1; width: 19px; height: 19px; margin: 0; flex: 0 0 19px; accent-color: var(--ot-primary);
}
.modern-subpage #content.ot-page :is(input[type=text],input[type=date],input[type=time],input[type=month],select,textarea) {
  display: block; width: 100%; min-height: 44px; height: auto; margin-top: 4px; padding: 7px 9px; font: inherit; color: var(--ot-ink);
  background: var(--ot-panel); border: 1px solid var(--ot-line); border-radius: 6px;
}
.modern-subpage #content.ot-page select { appearance: auto; }
.modern-subpage #content.ot-page button {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; height: auto; padding: 8px 12px;
  font: inherit; font-size: 14px; font-weight: 750; line-height: 1.45; white-space: normal; color: var(--ot-ink);
  background: var(--ot-panel); border: 1px solid var(--ot-line); border-radius: 7px; box-shadow: none; cursor: pointer;
}
.modern-subpage #content.ot-page button:hover { background: var(--ot-soft); }
.modern-subpage #content.ot-page button.ot-primary { background: var(--ot-primary); color: white; }
.modern-subpage #content.ot-page button.ot-primary:hover { background: #0c4c45; }
.modern-subpage #content.ot-page button:disabled { opacity: .6; cursor: not-allowed; }
.ot-page :is(input,select,textarea,button,summary,a,[tabindex]):focus-visible { outline: 3px solid var(--ot-accent); outline-offset: 3px; }
.ot-page details { border-top: 1px solid var(--ot-line); padding: 7px 0; margin-top: 10px; }
.ot-page summary { color: var(--ot-accent); font-weight: 700; min-height: 40px; padding: 7px 0; cursor: pointer; }
.ot-page .ot-note { background: var(--ot-soft); padding: 10px 12px; border-radius: 6px; }
.modern-subpage #content.ot-page :is(.ot-note,.ot-small,small) { font-size: 13px; }
.modern-subpage #content.ot-page .ot-error { color: var(--ot-danger); font-weight: 700; }
.ot-page .ot-error:empty { display: none; }
.ot-page .ot-break { padding: 7px; border: 1px dashed var(--ot-line); border-radius: 7px; }
.ot-page .ot-card { border-radius: 8px; padding: 10px; border: 1px solid var(--ot-line); }
.ot-page .ot-card span { display: block; font-size: 13px; color: var(--ot-muted); }
.ot-page .ot-card strong { display: block; font-size: clamp(17px,3vw,24px); overflow-wrap: anywhere; }
.ot-page .ot-warnings { border-inline-start: 3px solid var(--ot-accent); background: var(--ot-soft); padding: 10px 12px 10px 28px; }
.ot-page .ot-bar { margin: 10px 0; }
.ot-page .ot-bar > div:first-child { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 8px; }
.ot-page .ot-track { height: 8px; background: var(--ot-line); border-radius: 8px; overflow: hidden; }
.ot-page .ot-track i { display: block; height: 100%; background: var(--ot-accent); }
.ot-page .ot-calendar { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 2px; text-align: center; align-items: center; }
.ot-page .ot-calendar > span { min-height: 44px; display: grid; place-items: center; color: var(--ot-muted); }
.modern-subpage #content.ot-page .ot-calendar button { padding: 0; background: var(--ot-soft); color: var(--ot-accent); text-decoration: underline; }
.ot-page .ot-table-wrap { max-width: 100%; overflow-x: auto; margin: 12px 0; }
.ot-page table { margin: 0; width: 100%; border-collapse: collapse; font-size: 13px; color: var(--ot-ink); }
.ot-page :is(td,th) { padding: 6px; border: 1px solid var(--ot-line); overflow-wrap: normal; }
.ot-page thead { background: var(--ot-soft); }
.ot-page caption { text-align: left; font-weight: 750; padding: 4px 0; }
.ot-page .ot-guide { border-top: 1px solid var(--ot-line); padding-top: 18px; margin-top: 22px; }
.ot-page .ot-related { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.ot-page .ot-related a { border: 1px solid var(--ot-line); border-radius: 7px; padding: 8px; }
.ot-page #ot-result-heading { scroll-margin-top: 95px; }
.modern-subpage #content.ot-page.ot-dark {
  color-scheme: dark; --ot-ink: #ecf6f5; --ot-muted: #c6dedb; --ot-line: #50736e; --ot-panel: #172d30;
  --ot-soft: #223d3d; --ot-accent: #a4ebd6; --ot-danger: #ffbdc1; background: var(--ot-panel);
}
.modern-subpage #content.ot-page.ot-dark a { color: var(--ot-accent); }
.modern-subpage #content.ot-page.ot-dark button:not(.ot-primary) { background: var(--ot-panel); color: var(--ot-ink); }
.modern-subpage #content.ot-page.ot-dark button:not(.ot-primary):hover { background: var(--ot-soft); }
@media (max-width: 540px) {
  .ot-page .ot-grid, .ot-page .ot-related { grid-template-columns: 1fr; }
  .ot-page .ot-actions button { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) { .ot-page * { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
@media print {
  body.modern-subpage:has(.ot-page) :is(.modern-site-header,#sidebar,#copyright,.ot-header,.ot-guide,.ot-no-print,.ot-panel:not(#ot-result),.modern-mobile-dock,ins,iframe) { display: none !important; }
  body.modern-subpage:has(.ot-page) :is(#main,#main > .row > div,#content,.wrapper,#ot-result) {
    width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; box-shadow: none !important;
    --ot-panel: #fff; --ot-ink: #111; --ot-muted: #222; --ot-soft: #f5f5f5; background: white !important; color: black !important;
  }
  .ot-page .ot-table-wrap { overflow: visible; }
  .ot-page :is(th,td) { white-space: normal; overflow-wrap: anywhere; font-size: 10px; }
  .ot-page tr, .ot-page .ot-card { break-inside: avoid; }
}
