/* ── «Актуальный адрес»: светлая схема (по умолчанию) ── */
.gt-shell {
    --gt-bg: #f3f0e8;
    --gt-grid-line: rgba(30, 28, 22, 0.055);
    --gt-ink: #17160f;
    --gt-ink-2: #55524a;
    --gt-ink-3: #8a867b;
    --gt-surface: #fffdf8;
    --gt-surface-2: #f7f4ec;
    --gt-line: #e2ddd0;
    --gt-ok: #1f9a5c;
    --gt-warn: #d8a227;
    --gt-shadow: 0 1px 0 rgba(23, 22, 15, 0.04), 0 18px 40px -22px rgba(23, 22, 15, 0.28);
    --gt-tile-dark: #1d1c17;
    --gt-tile-light: #ffffff;
    --gt-acc: var(--gt-acc-l, #0f8a63);
    --gt-on-acc: #ffffff;
}

html[data-gt-scheme="dark"] .gt-shell {
    --gt-bg: #0f1012;
    --gt-grid-line: rgba(255, 255, 255, 0.035);
    --gt-ink: #f1efe9;
    --gt-ink-2: #b5b2aa;
    --gt-ink-3: #7d7a73;
    --gt-surface: #17181b;
    --gt-surface-2: #1d1e22;
    --gt-line: #2a2b30;
    --gt-ok: #40d08a;
    --gt-warn: #e8b84a;
    --gt-shadow: 0 1px 0 rgba(255, 255, 255, 0.03), 0 24px 48px -24px rgba(0, 0, 0, 0.7);
    --gt-tile-dark: #26272c;
    --gt-tile-light: #f4f2ec;
    --gt-acc: var(--gt-acc-d, #3ddc9f);
    --gt-on-acc: #0f1012;
}

body.has-landing-mirror {
    margin: 0;
    font-family: Manrope, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif !important;
}

.gt-shell {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    padding: 0 clamp(16px, 4vw, 48px);
    color: var(--gt-ink);
    background-color: var(--gt-bg);
    background-image:
        linear-gradient(var(--gt-grid-line) 1px, transparent 1px),
        linear-gradient(90deg, var(--gt-grid-line) 1px, transparent 1px);
    background-size: 44px 44px;
    background-position: -1px -1px;
    font-family: Manrope, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    -webkit-font-smoothing: antialiased;
}
.gt-shell *,
.gt-shell *::before,
.gt-shell *::after {
    box-sizing: border-box;
}

/* ── Верхняя строка ── */
.gt-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    padding: 18px 0;
    border-bottom: 1px solid var(--gt-line);
    font-size: 13px;
    color: var(--gt-ink-3);
}
.gt-bar__name {
    font-weight: 800;
    letter-spacing: 0.01em;
    color: var(--gt-ink);
}
.gt-bar__sep {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--gt-ink-3);
}
.gt-bar__age {
    margin-left: auto;
    padding: 3px 8px;
    border: 1px solid var(--gt-line);
    border-radius: 6px;
    font-weight: 700;
    font-size: 12px;
    color: var(--gt-ink-2);
}

/* ── Сетка ── */
.gt-grid {
    flex: 1 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    align-items: center;
    gap: clamp(28px, 5vw, 72px);
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    padding: clamp(28px, 6vh, 72px) 0;
}

/* ── Левая колонка ── */
.gt-tile {
    display: inline-flex;
    align-items: center;
    min-height: 64px;
    margin-bottom: 28px;
}
.gt-tile img {
    display: block;
    max-width: 180px;
    max-height: 56px;
    width: auto;
    height: auto;
    object-fit: contain;
}
.gt-tile--light,
.gt-tile--dark {
    padding: 10px 18px;
    border-radius: 14px;
    border: 1px solid var(--gt-line);
}
.gt-tile--light { background: var(--gt-tile-dark); }
.gt-tile--dark { background: var(--gt-tile-light); }
.gt-tile__text {
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.gt-kicker {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 14px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--gt-acc);
}
.gt-kicker::before {
    content: '';
    width: 28px;
    height: 2px;
    background: currentColor;
}

.gt-h1 {
    margin: 0 0 18px;
    font-size: clamp(34px, 5.2vw, 60px);
    line-height: 1.02;
    font-weight: 800;
    letter-spacing: -0.035em;
}
.gt-h1 span {
    display: block;
    color: var(--gt-acc);
}

.gt-text {
    max-width: 30em;
    margin: 0 0 32px;
    font-size: 16px;
    line-height: 1.6;
    color: var(--gt-ink-2);
}

/* ── Кнопка с таймером ── */
.gt-go {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    padding: 8px 8px 8px 28px;
    border-radius: 16px;
    background: var(--gt-ink);
    color: var(--gt-bg);
    font-size: 17px;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.15s ease, background-color 0.25s ease, color 0.25s ease;
}
.gt-go:hover { transform: translateY(-1px); }
.gt-go:active { transform: translateY(0); }
.gt-go:focus-visible {
    outline: 3px solid var(--gt-acc);
    outline-offset: 3px;
}
.gt-shell[data-gt-state="ready"] .gt-go {
    background: var(--gt-acc);
    color: var(--gt-on-acc);
}

.gt-go__timer {
    position: relative;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 11px;
    background: rgba(128, 128, 128, 0.2);
}
.gt-go__timer svg {
    position: absolute;
    inset: 4px;
    width: 36px;
    height: 36px;
    transform: rotate(-90deg);
}
.gt-go__track,
.gt-go__arc {
    fill: none;
    stroke-width: 2.5;
}
.gt-go__track { stroke: currentColor; opacity: 0.18; }
.gt-go__arc {
    stroke: currentColor;
    stroke-linecap: round;
    stroke-dasharray: 97.4;
    stroke-dashoffset: 97.4;
    transition-property: stroke-dashoffset;
    transition-timing-function: linear;
}
.gt-go__arc.is-run { stroke-dashoffset: 0; }
.gt-go__timer b {
    position: relative;
    font-size: 15px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.gt-under {
    margin: 14px 0 0;
    font-size: 13px;
    color: var(--gt-ink-3);
}

/* ── Правая колонка: протокол ── */
.gt-card {
    padding: 22px;
    border: 1px solid var(--gt-line);
    border-radius: 20px;
    background: var(--gt-surface);
    box-shadow: var(--gt-shadow);
}
.gt-card__top {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 14px;
}
.gt-card__title {
    font-size: 15px;
    font-weight: 800;
}
.gt-card__count {
    font-size: 13px;
    color: var(--gt-ink-3);
    font-variant-numeric: tabular-nums;
}
.gt-card__count b { color: var(--gt-ink); }

.gt-list {
    margin: 0;
    padding: 0;
    list-style: none;
}
.gt-row {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-top: 1px dashed var(--gt-line);
    font-size: 14px;
}
.gt-row:first-child { border-top: 0; }
.gt-row__mark {
    position: relative;
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 2px solid var(--gt-line);
    transition: background-color 0.25s ease, border-color 0.25s ease;
}
.gt-row__mark svg {
    width: 12px;
    height: 12px;
    fill: none;
    stroke: #fff;
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 16;
    stroke-dashoffset: 16;
    transition: stroke-dashoffset 0.3s ease 0.1s;
}
.gt-row__label { font-weight: 600; }
.gt-row__value {
    font-size: 13px;
    color: var(--gt-ink-3);
    text-align: right;
    opacity: 0;
    transform: translateX(6px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.gt-row.is-ok .gt-row__mark {
    background: var(--gt-ok);
    border-color: var(--gt-ok);
}
.gt-row.is-ok .gt-row__mark svg { stroke-dashoffset: 0; }
.gt-row.is-ok .gt-row__value {
    opacity: 1;
    transform: none;
    color: var(--gt-ink-2);
}
/* текущая проверка — пульс */
.gt-row:not(.is-ok) .gt-row__mark { border-top-color: var(--gt-acc); animation: gt-spin 0.8s linear infinite; }
.gt-row:not(.is-ok) ~ .gt-row:not(.is-ok) .gt-row__mark { border-top-color: var(--gt-line); animation: none; }
@keyframes gt-spin { to { transform: rotate(360deg); } }

/* ── Полоса доступности ── */
.gt-up {
    margin-top: 10px;
    padding: 16px;
    border-radius: 14px;
    background: var(--gt-surface-2);
}
.gt-up__head {
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
    font-size: 13px;
    color: var(--gt-ink-2);
}
.gt-up__head b { color: var(--gt-ok); font-variant-numeric: tabular-nums; }
.gt-up__bars {
    display: grid;
    grid-template-columns: repeat(30, minmax(0, 1fr));
    gap: 3px;
    height: 28px;
}
.gt-up__bars i {
    border-radius: 2px;
    background: var(--gt-ok);
    opacity: 0.85;
}
.gt-up__bars i.w { background: var(--gt-warn); }
.gt-up__axis {
    display: flex;
    justify-content: space-between;
    margin-top: 8px;
    font-size: 11px;
    color: var(--gt-ink-3);
}

/* ── Низ ── */
.gt-foot {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    padding: 16px 0 22px;
    border-top: 1px solid var(--gt-line);
    font-size: 12px;
    color: var(--gt-ink-3);
}

/* ── Адаптив ── */
@media (max-width: 860px) {
    .gt-grid {
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
        gap: 28px;
        padding: 28px 0;
    }
    .gt-tile { margin-bottom: 20px; }
    .gt-text { margin-bottom: 24px; }
}
@media (max-width: 480px) {
    .gt-shell { background-size: 32px 32px; }
    .gt-bar { padding: 14px 0; font-size: 12px; }
    .gt-go {
        display: flex;
        justify-content: space-between;
        width: 100%;
    }
    .gt-card { padding: 16px; border-radius: 16px; }
    .gt-row { grid-template-columns: 22px minmax(0, 1fr); row-gap: 2px; }
    .gt-row__value { grid-column: 2; text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
    .gt-shell *,
    .gt-shell *::before,
    .gt-shell *::after {
        animation: none !important;
        transition-duration: 0.01ms !important;
    }
}
