.olymp-page {padding-bottom:24px;}
.olymp-page > section {margin-block:0;}
.olymp-intro {padding:32px 0 20px;}
.olymp-intro .eyebrow {margin-bottom:10px;}
.olymp-intro .lead {max-width:850px;margin-top:16px;line-height:1.55;}
.olymp-meta {margin-top:12px;font-size:14px;color:#697264;}
.olymp-alert {padding:14px 18px;background:#eef3ee;border:1px solid #dbe4d8;border-radius:8px;font-size:15px;line-height:1.6;}
.olymp-page a:not(.btn) {color:#355e4e;text-underline-offset:3px;}
.olymp-catalog {padding-top:28px;}
.olymp-catalog-head {display:flex;align-items:center;justify-content:space-between;gap:18px;}
.olymp-text-link {font-size:16px;white-space:nowrap;}
.olymp-hint,.olymp-footnote {font-size:14px;color:#626f5d;line-height:1.6;}
.olymp-hint {margin:8px 0 16px;}
.olymp-footnote {margin-top:14px;max-width:950px;}
.olymp-filters {display:flex;align-items:end;gap:12px;}
.olymp-filters[hidden] {display:none;}
.olymp-filters label {display:grid;gap:7px;font-size:14px;color:#53614e;}
.olymp-filters label:first-child {flex:1;}
.olymp-filters input,.olymp-filters select {box-sizing:border-box;width:100%;font:inherit;font-size:16px;min-height:46px;padding:10px 12px;color:#2a2f28;background:#fff;border:1px solid #cfdace;border-radius:7px;}
.olymp-filters button {font:inherit;font-size:16px;min-height:46px;padding:10px 15px;background:white;color:#355e4e;border:1px solid #cbd8ce;border-radius:7px;cursor:pointer;}
.olymp-count {font-size:14px;color:#62705b;margin:12px 0 10px;}
.olymp-table {width:100%;table-layout:fixed;border-spacing:0;border-collapse:separate;font-size:16px;line-height:1.45;background:white;border:1px solid #dce1d9;border-radius:10px;}
.olymp-table th,.olymp-table td {text-align:left;vertical-align:top;padding:12px;border-bottom:1px solid #e7eae3;overflow-wrap:anywhere;}
.olymp-table thead th {font-weight:600;font-size:14px;color:#53634f;background:#f1f4ef;vertical-align:middle;}
.olymp-table thead th:first-child {width:30%;border-radius:10px 0 0 0;}
.olymp-table thead th:nth-child(2) {width:12%;}
.olymp-table thead th:nth-child(3),.olymp-table thead th:nth-child(4) {width:9%;}
.olymp-table thead th:nth-child(5) {width:22%;}
.olymp-table thead th:last-child {width:18%;border-radius:0 10px 0 0;}
.olymp-table tbody tr:last-child>* {border-bottom:0;}
.olymp-table tbody tr:hover {background:#fafcf8;}
.olymp-table tr[hidden] {display:none!important;}
.olymp-table .olymp-title {display:block;font-weight:600;font-size:16px;text-decoration:none;color:#293c30;}
.olymp-title:hover {text-decoration:underline!important;}
.olymp-profile {display:block;font-weight:400;font-size:14px;color:#65725e;margin-top:5px;}
.old-level {color:#6d7666;}
.level-badge {display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:3px 8px;background:#e9f1ea;color:#345d48;border-radius:5px;font-weight:600;}
.level-outside {background:#f2efe7;color:#756747;font-size:14px;font-weight:400;}
.olymp-benefit {display:block;font-weight:600;color:#3e614e;font-size:15px;margin-bottom:6px;}
.olymp-links {font-size:15px;}
.olymp-links a {display:block;width:fit-content;margin-bottom:6px;}
.olymp-note {width:fit-content;font-size:15px;}
.olymp-note summary {list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;color:#466a55;padding:4px 0;}
.olymp-note summary::-webkit-details-marker {display:none;}
.info-dot {display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:#e9efe7;border:1px solid #c7d6c7;border-radius:50%;font-size:12px;line-height:1;}
.olymp-note[open] summary {text-decoration:underline;text-underline-offset:3px;}
.olymp-comment {box-sizing:border-box;margin:8px 0;padding:18px;background:#fff;border:1px solid #b8cdbd;border-radius:10px;box-shadow:0 10px 32px #243a2826;color:#3a4436;line-height:1.55;font-size:16px;}
.olymp-comment p {margin:8px 0 12px;}
.olymp-js .olymp-comment {position:fixed;z-index:1100;width:340px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 28px);overflow:auto;margin:0;}
.olymp-admission {scroll-margin-top:105px;padding:32px 0 24px;}
.olymp-admission .eyebrow {margin-bottom:8px;}
.olymp-admission h2 {max-width:850px;}
.olymp-admission-grid {display:grid;grid-template-columns:1.1fr 1fr;gap:28px;margin-top:20px;}
.olymp-admission ol {padding-left:20px;margin:0 0 16px;font-size:16px;line-height:1.6;}
.olymp-admission li {margin-bottom:10px;color:#626e5c;}
.olymp-admission li strong {color:#303d2e;}
.olymp-admission .olymp-note {margin-bottom:6px;}
.olymp-example {background:#f4f6f1;border:1px solid #dce3d7;border-radius:8px;padding:20px;align-self:start;}
.olymp-example .label {font-size:14px;letter-spacing:0;text-transform:none;}
.olymp-example h3 {font-size:24px;margin:12px 0;}
.olymp-example p {font-size:16px;color:#5c6b53;line-height:1.6;margin-bottom:12px;}
.olymp-example a {font-size:16px;}
.olymp-sources {padding:16px 0;border-top:1px solid #dce1d8;}
.olymp-page .olymp-sources h2 {font-size:22px;margin:0 0 10px;}
.olymp-sources p {font-size:15px;color:#626f5c;line-height:1.6;margin:8px 0;}
.olymp-page > .channel-card {margin-block:12px 0;padding:20px 24px;border-radius:8px;}
.olymp-page .channel-card h2 {font-size:28px;margin:0;}
.olymp-page .channel-card p {font-size:16px;margin-top:8px;}
.sr-only {position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.olymp-page :focus-visible {outline:2px solid #467861;outline-offset:4px;}
@media(max-width:1000px) {
  .olymp-table th,.olymp-table td {padding:12px 8px;}
  .olymp-admission-grid {gap:20px;}
}
@media(max-width:800px) {
  .olymp-intro {padding-top:24px;}
  .olymp-filters {flex-wrap:wrap;gap:12px;}
  .olymp-filters label:first-child {flex-basis:100%;}
  .olymp-filters label:nth-child(2) {flex:1;}
  .olymp-catalog-head {align-items:start;flex-direction:column;gap:10px;}
  .olymp-table,.olymp-table tbody {display:block;background:transparent;border:0;}
  .olymp-table thead {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
  .olymp-table tr {display:grid;grid-template-columns:1fr 1fr;background:white;border:1px solid #dce1d9;border-radius:8px;margin-bottom:12px;padding:16px;gap:12px 16px;}
  .olymp-table th,.olymp-table td {display:block;padding:0;border:0;}
  .olymp-table th {grid-column:1/-1;padding-bottom:12px;border-bottom:1px solid #edf0e9;}
  .olymp-table td::before {content:attr(data-label);display:block;font-size:14px;font-weight:400;color:#65735d;margin-bottom:5px;}
  .olymp-table td:nth-child(2) {grid-column:1/-1;}
  .olymp-table .olymp-title {font-size:18px;}
  .olymp-admission-grid {grid-template-columns:1fr;}
  .olymp-page > .channel-card {padding:20px;}
}
