.gw{--gw-bg:#f6f8fb;--gw-fg:#1d2530;--gw-mut:#5b6675;--gw-line:#dde3ec;--gw-acc:#1f6feb;font:inherit;color:inherit;margin:1em 0}
@media (prefers-color-scheme:dark){.gw{--gw-bg:#1b2230;--gw-fg:#e7ecf4;--gw-mut:#9aa6b8;--gw-line:#2c3648;--gw-acc:#6ea8ff}}
.gw section{margin:1.6em 0}.gw h2{font-size:1.25em;margin:0 0 .6em}
.gw-controls{display:flex;flex-wrap:wrap;gap:.5em;align-items:center;margin-bottom:1em}
.gw-controls select,.gw-btn,.gw-search input{padding:.35em .6em;border:1px solid var(--gw-line);border-radius:6px;background:var(--gw-bg);color:var(--gw-fg);font:inherit}
.gw-btn{cursor:pointer}.gw-btn:hover{border-color:var(--gw-acc)}
.gw-now{background:var(--gw-bg);border:1px solid var(--gw-line);border-radius:12px;padding:1em 1.2em}
.gw-now-main{display:flex;align-items:center;gap:.6em;flex-wrap:wrap}.gw-big{font-size:2.8em;font-weight:700;line-height:1}.gw-ic{font-size:2.2em}
.gw-computed,.gw-source,.gw-desc-sm{color:var(--gw-mut);font-size:.85em}
.gw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6em;margin:1em 0 0}
.gw-grid div{background:transparent;border-top:1px solid var(--gw-line);padding-top:.4em}.gw-grid dt{color:var(--gw-mut);font-size:.8em}.gw-grid dd{margin:0;font-weight:600}
.gw-note{padding:.6em .9em;border-left:4px solid var(--gw-acc);background:var(--gw-bg)}.gw-stale{border-color:#d29922}
.gw-scroll{overflow-x:auto}.gw-table{width:100%;border-collapse:collapse;font-size:.92em}
.gw-table th,.gw-table td{padding:.4em .6em;border-bottom:1px solid var(--gw-line);text-align:left;white-space:nowrap}
.gw-best-row{background:rgba(31,111,235,.12)}
.gw-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.6em}
.gw-cards a{display:flex;align-items:center;gap:.5em;padding:.6em .8em;border:1px solid var(--gw-line);border-radius:10px;text-decoration:none;color:inherit;background:var(--gw-bg)}
.gw-cards a:hover{border-color:var(--gw-acc)}.gw-cards .gw-n{flex:1}.gw-cards .gw-t{font-weight:700}
.gw-chart svg{width:100%;height:auto;display:block}.gw-chart text{fill:var(--gw-mut);font-size:10px}
.gw-search{position:relative;max-width:520px}.gw-search input{width:100%;box-sizing:border-box}
.gw-results{position:absolute;z-index:20;left:0;right:0;margin:2px 0 0;padding:0;list-style:none;background:var(--gw-bg);border:1px solid var(--gw-line);border-radius:8px}
.gw-results li a{display:block;padding:.5em .8em;text-decoration:none;color:inherit}.gw-results li a:hover{background:rgba(31,111,235,.12)}
@media print{.gw-controls,.gw-search,.gw-btn{display:none}}

.gw-informer{background:var(--gw-bg);border:1px solid var(--gw-line);border-radius:12px;padding:.8em 1em;max-width:340px}
.gw-inf-head{font-weight:700;margin-bottom:.3em}.gw-inf-head a{color:inherit;text-decoration:none}
.gw-informer .gw-big.gw-inf-t{font-size:2em}.gw-informer .gw-ic{font-size:1.8em}
.gw-inf-days{list-style:none;margin:.6em 0;padding:0}.gw-inf-days li{display:flex;align-items:center;gap:.6em;padding:.25em 0;border-top:1px solid var(--gw-line)}
.gw-inf-days li span:first-child{width:2.6em;color:var(--gw-mut)}.gw-inf-days .gw-ic{font-size:1.3em}.gw-inf-days li span:last-child{margin-left:auto}
.gw-inf-more{font-size:.85em;color:var(--gw-acc);text-decoration:none}
.gw-text{margin:2em 0;line-height:1.65}.gw-text h2{margin-top:1.6em}
.gw-text h3{font-size:1.05em;margin:1.1em 0 .3em}
/* Единая переменная темы */
:root {
    --gw-border: #e2e4e7;
    --gw-bg-subtle: #f8f9fa;
    --gw-primary: #0073aa;
    --gw-text: #1d2327;
    --gw-radius: 8px;
}

/* Единый контейнер */
.gw-wrap, .gw-hub-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 1.5rem 1rem;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    color: var(--gw-text);
}

/* Единые Заголовки */
.gw-title, h1.gw-title {
    font-size: 2.2rem;
    font-weight: 700;
    margin: 0.5rem 0 1.25rem 0;
    color: var(--gw-text);
    line-height: 1.2;
}

/* Единые Хлебные крошки */
.gw-breadcrumbs {
    margin-bottom: 1.25rem;
    font-size: 0.9rem;
    color: #666;
}
.gw-breadcrumbs ol {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}
.gw-breadcrumbs a {
    color: var(--gw-primary);
    text-decoration: none;
}
.gw-breadcrumbs a:hover {
    text-decoration: underline;
}

/* Единые карточки погодных объектов */
.gw-cards, .gw-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0 2rem 0;
}

.gw-cards li {
    margin: 0;
}

.gw-card, .gw-cards a {
    display: block;
    background: #fff;
    border: 1px solid var(--gw-border);
    border-radius: var(--gw-radius);
    padding: 1rem 1.25rem;
    text-decoration: none;
    color: var(--gw-text);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    box-shadow: 0 1px 3px rgba(0,0,0,0.03);
}

.gw-card:hover, .gw-cards a:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    border-color: var(--gw-primary);
}

/* Выравнивание элементов внутри карточки */
.gw-cards a {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.gw-cards .gw-n {
    font-weight: 600;
    font-size: 1rem;
}

.gw-cards .gw-t {
    font-weight: 700;
    font-size: 1.15rem;
    color: var(--gw-text);
}

.gw-cards .gw-ic {
    font-size: 1.6rem;
    line-height: 1;
    margin-right: 0.5rem;
}

/* Единая панель единиц измерения */
.gw-controls {
    background: var(--gw-bg-subtle);
    border: 1px solid var(--gw-border);
    border-radius: var(--gw-radius);
    padding: 0.75rem 1rem;
    margin-bottom: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
