
        :root {
            color-scheme: light;
            font-family: Arial, Helvetica, sans-serif;
            color: #18334a;
            background: #f3f7fa;
        }

        * { box-sizing: border-box; }

        body {
            margin: 0;
            padding: 0;
            background: radial-gradient(ellipse at top, #e4f2f7 0, #f3f7fa 58%);
        }

        #search-app {
            width: min(100%, 760px);
            margin: 0 auto;
            padding: 44px 20px 60px;
        }

        .search-title {
            margin: 0 0 24px;
            color: #123c59;
            font-size: clamp(25px, 4vw, 34px);
            line-height: 1.2;
            letter-spacing: -.03em;
        }

        .search-form {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 20px;
            padding: clamp(22px, 4vw, 34px);
            border: 1px solid #dce8ee;
            border-radius: 18px;
            background: #fff;
            box-shadow: 0 14px 40px rgba(24, 61, 84, .09);
        }

        .search-field { min-width: 0; }
        .search-field-full, .search-actions { grid-column: 1 / -1; }

        .search-field label {
            display: block;
            margin: 0 0 8px;
            color: #26485e;
            font-size: 14px;
            font-weight: 700;
        }

        .search-field input, .search-field select {
            display: block;
            width: 100%;
            min-height: 48px;
            padding: 11px 14px;
            border: 1px solid #cbd9e1;
            border-radius: 9px;
            outline: none;
            background: #fbfdfe;
            color: #18334a;
            font: inherit;
            transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
        }

        .search-field input::placeholder { color: #8799a5; }
        .search-field input:hover, .search-field select:hover { border-color: #93b2c2; }
        .search-field input:focus, .search-field select:focus {
            border-color: #1683a5;
            background: #fff;
            box-shadow: 0 0 0 3px rgba(22, 131, 165, .15);
        }

        .date-range-input { cursor: pointer; }
        .flatpickr-calendar { border-radius: 12px; box-shadow: 0 12px 32px rgba(24, 61, 84, .18); }
        .flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange,
        .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange,
        .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus,
        .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus,
        .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover,
        .flatpickr-day.endRange:hover { background: #087da0; border-color: #087da0; }
        .flatpickr-day.inRange { background: #e4f2f7; border-color: #e4f2f7; box-shadow: -5px 0 0 #e4f2f7, 5px 0 0 #e4f2f7; }

        .search-actions {
            display: flex;
            gap: 12px;
            align-items: center;
            margin-top: 4px;
        }

        .search-actions button {
            min-height: 47px;
            padding: 0 24px;
            border: 1px solid transparent;
            border-radius: 9px;
            font: inherit;
            font-weight: 700;
            cursor: pointer;
            transition: background .18s ease, box-shadow .18s ease, transform .18s ease;
        }

        .search-button {
            color: #fff;
            background: #087da0;
            box-shadow: 0 5px 12px rgba(8, 125, 160, .2);
        }
        .search-button:hover:not(:disabled) { background: #066988; transform: translateY(-1px); }
        .reset-button { color: #365568; background: #eef4f6; border-color: #dce7eb !important; }
        .reset-button:hover:not(:disabled) { background: #e2ecef; }
        .search-actions button:focus-visible { outline: 3px solid rgba(22, 131, 165, .3); outline-offset: 2px; }
        .search-actions button:disabled { opacity: .6; cursor: wait; }

        .search-status { color: #365568; }
        .search-error {
            margin-top: 18px;
            padding: 14px 16px;
            border: 1px solid #f0c6c2;
            border-radius: 10px;
            color: #8c332c;
            background: #fff5f3;
        }

        .search-loading { margin: 20px 2px; color: #45677a; }
        .search-results {
            margin-top: 28px;
            color: #344e60;
            font-size: 15px;
            line-height: 1.65;
        }

        .yandex-search-results { min-width: 0; }
        .yandex-search-results ul,
        .yandex-search-results ol {
            margin: 0;
            padding: 0;
            list-style: none;
        }
        .yandex-search-results li::marker { content: ""; }
        .yandex-search-results table {
            width: 100%;
            border: 0;
            border-collapse: collapse;
            color: inherit;
            font: inherit;
        }
        .yandex-search-results tr { border-bottom: 1px solid #e3ebef; }
        .yandex-search-results tr:last-child { border-bottom: 0; }
        .yandex-search-results td {
            padding: 23px 6px;
            border: 0;
            vertical-align: top;
        }
        .yandex-search-results td table td { padding: 0; }

        .yandex-search-results .b-serp-item {
            position: relative;
            margin: 0 0 8px;
            padding: 0 0 18px 38px;
            border-bottom: 1px solid #e3ebef;
        }
        .yandex-search-results .b-serp-item:last-child { border-bottom: 0; }
        .yandex-search-results .b-serp-item__number {
            position: absolute;
            top: 1px;
            left: 0;
            width: 26px;
            color: #78909d;
            font-size: 14px;
            font-weight: 700;
            line-height: 1.5;
            text-align: right;
        }

        .yandex-search-results a {
            color: #087da0;
            text-decoration: none;
            text-underline-offset: 3px;
        }
        .yandex-search-results a:hover {
            color: #075d79;
            text-decoration: underline;
        }
        .yandex-search-results a:focus-visible {
            border-radius: 3px;
            outline: 3px solid rgba(22, 131, 165, .25);
            outline-offset: 2px;
        }

        .yandex-search-results .b-serp-item__title,
        .yandex-search-results .b-serp-item__title a,
        .yandex-search-results h2,
        .yandex-search-results h3 {
            color: #086f91;
            font-size: 19px;
            font-weight: 700;
            line-height: 1.35;
            text-align: left;
            padding: 0;
        }
        .yandex-search-results .b-serp-item__title,
        .yandex-search-results h2,
        .yandex-search-results h3 { margin: 0 0 6px; }
        .yandex-search-results .b-serp-item__text,
        .yandex-search-results .b-serp-item__snippet {
            max-width: 72ch;
            color: #405766;
        }
        .yandex-search-results .b-serp-url,
        .yandex-search-results cite {
            display: inline-block;
            margin-top: 5px;
            color: #527b63;
            font-size: 13px;
            font-style: normal;
            overflow-wrap: anywhere;
        }

        .yandex-search-results .b-pager {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: center;
            gap: 7px;
            margin: 22px 0 4px;
            padding: 16px 0 0;
            border-top: 1px solid #e3ebef;
            color: #456273;
        }
        .yandex-search-results .b-pager__page,
        .yandex-search-results .b-pager__prev,
        .yandex-search-results .b-pager__next,
        .yandex-search-results .b-pager__current {
            display: inline-flex;
            min-width: 40px;
            min-height: 40px;
            align-items: center;
            justify-content: center;
            padding: 0 12px;
            border: 1px solid #d7e4e9;
            border-radius: 9px;
            background: #fff;
            color: #236078;
            font-size: 14px;
            font-weight: 700;
            text-decoration: none;
        }
        .yandex-search-results .b-pager__page:hover,
        .yandex-search-results .b-pager__prev:hover,
        .yandex-search-results .b-pager__next:hover {
            border-color: #1683a5;
            background: #edf7fa;
            text-decoration: none;
        }
        .yandex-search-results .b-pager__current,
        .yandex-search-results .b-pager__page_current,
        .yandex-search-results .b-pager__page_selected {
            border-color: #087da0;
            background: #087da0;
            color: #fff;
        }
        .yandex-search-results .b-pager__page:focus-visible,
        .yandex-search-results .b-pager__prev:focus-visible,
        .yandex-search-results .b-pager__next:focus-visible {
            outline: 3px solid rgba(22, 131, 165, .25);
            outline-offset: 2px;
        }

        @media (max-width: 560px) {
            #search-app { padding: 30px 14px 44px; }
            .search-form { grid-template-columns: 1fr; gap: 17px; border-radius: 14px; }
            .search-field-full, .search-actions { grid-column: auto; }
            .search-actions button { flex: 1; padding: 0 14px; }
            .yandex-search-results td { padding: 18px 2px; }
            .yandex-search-results .b-serp-item { padding-left: 32px; }
            .yandex-search-results .b-serp-item__title,
            .yandex-search-results .b-serp-item__title a,
            .yandex-search-results h2,
            .yandex-search-results h3 { font-size: 17px; }
            .yandex-search-results .b-pager { gap: 5px; }
            .yandex-search-results .b-pager__page,
            .yandex-search-results .b-pager__prev,
            .yandex-search-results .b-pager__next,
            .yandex-search-results .b-pager__current { min-width: 36px; min-height: 38px; padding: 0 9px; }
        }
    