.feature-block { margin: 0 0 1.1rem; }
.feature-title {
    font-family: "Arial Black", Impact, Haettenschweiler, sans-serif;
    font-size: 1.35rem;
    line-height: 1.1;
    margin: 0.55rem 0 0.35rem;
}
.yt-frame {
    position: relative;
    width: 100%;
    max-width: 880px;
    aspect-ratio: 16 / 9;
    min-height: 320px;
    background: #000;
    border: 4px solid #0433ff;
}
.yt-frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
.story-yt { grid-template-columns: 1fr; }
.story-yt .yt-frame { margin-bottom: 0.55rem; min-height: 360px; }
.oil-board {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
    margin: 0.7rem 0 0.4rem;
}
.oil-card { border: 3px solid #0433ff; background: #fff; }
.oil-card h3 {
    margin: 0;
    background: #0433ff;
    color: #fff;
    font-family: "Arial Black", Impact, sans-serif;
    font-size: 0.78rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    padding: 0.35rem 0.45rem;
}
.oil-price {
    font-family: "Arial Black", Impact, sans-serif;
    font-size: 2rem;
    line-height: 1;
    margin: 0.45rem 0.5rem 0;
}
.oil-unit { margin: 0.15rem 0.5rem 0.25rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
.oil-move { margin: 0.15rem 0.5rem; font-size: 0.82rem; font-weight: 700; }
.oil-up { color: #0b6b32; }
.oil-down { color: #d02108; }
.wire-list { list-style: none; margin: 0.6rem 0; padding: 0; }
.wire-list li { border-bottom: 1px solid #c5cad6; padding: 0.4rem 0; }
.wire-list a { font-weight: 700; text-decoration: none; }
.wire-list a:hover { text-decoration: underline; }
.wire-note { color: #333; font-size: 0.82rem; margin: 0.35rem 0 0.8rem; }
.rundown .section-title a { color: inherit; text-decoration: none; }
.rundown .section-title a:hover { text-decoration: underline; }
.wire-cards { display: grid; gap: 0.7rem; }
.wire-card { border-bottom: 1px solid #c5cad6; padding-bottom: 0.65rem; }
.wire-card h3 { margin: 0; font-size: 1.05rem; line-height: 1.25; }
.wire-card-link { display: grid; grid-template-columns: 96px 1fr; gap: 0.65rem; align-items: start; color: inherit; text-decoration: none; }
.wire-card-text { grid-template-columns: 1fr; }
.wire-card-link:hover h3 { text-decoration: underline; }
.wire-thumb { width: 96px; height: 72px; object-fit: cover; background: #d9deea; border: 2px solid #0433ff; }
.wire-card p { margin: 0.35rem 0 0; }
.wire-date { color: #6b6b6b; font-size: 0.75rem; margin: 0.2rem 0 0; }
.yt-post { margin: 0 0 1.2rem; }
.yt-channel { margin: 0.8rem 0 0.15rem; font-size: 1.05rem; }
.yt-topics { display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 0 0 0.8rem; }
.yt-topics a {
    display: inline-block;
    padding: 0.2rem 0.45rem;
    border: 2px solid #0433ff;
    color: #0433ff;
    font-family: "Arial Black", Impact, sans-serif;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    text-decoration: none;
    text-transform: uppercase;
}
.yt-topics a.is-on, .yt-topics a:hover { background: #0433ff; color: #fff; }
.yt-list li { margin: 0.35rem 0 0.55rem; }
.yt-list .wire-date span + span::before,
.yt-list .wire-date span + time::before { content: " · "; }
.weather-board { display: flex; flex-direction: column; gap: 0.7rem; }
.weather-search { margin: 0 0 0.85rem; padding: 0.55rem 0.65rem; border: 3px solid #0433ff; background: #f4f6ff; }
.weather-search label { display: block; font-family: "Arial Black", Impact, sans-serif; font-size: 0.78rem; letter-spacing: 0.04em; text-transform: uppercase; margin-bottom: 0.35rem; }
.weather-search-row { display: flex; gap: 0.4rem; flex-wrap: wrap; }
.weather-search input[type="search"] { flex: 1 1 14rem; min-width: 10rem; border: 2px solid #0433ff; padding: 0.4rem 0.5rem; font: inherit; }
.weather-search button { border: 2px solid #0433ff; background: #0433ff; color: #fff; font-weight: 700; padding: 0.4rem 0.8rem; cursor: pointer; }
.weather-search button:hover { background: #d02108; border-color: #d02108; }
.weather-match-list { list-style: none; margin: 0 0 0.9rem; padding: 0; border: 2px solid #0433ff; }
.weather-match-list li { display: flex; flex-wrap: wrap; gap: 0.45rem; align-items: baseline; padding: 0.35rem 0.55rem; border-top: 1px solid #c5cad6; }
.weather-match-list li:first-child { border-top: 0; }
.weather-card { border: 3px solid #0433ff; background: #fff; padding: 0.45rem 0.6rem 0.2rem; }
.weather-card h3 { margin: 0 0 0.45rem; font-family: "Arial Black", Impact, sans-serif; font-size: 1rem; text-transform: uppercase; }
.weather-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.4rem; }
.weather-slot { border: 2px solid #0433ff; background: #f4f6ff; padding: 0.35rem 0.3rem 0.45rem; text-align: center; }
.weather-slot h4 { margin: 0 0 0.15rem; font-family: "Arial Black", Impact, sans-serif; font-size: 0.72rem; letter-spacing: 0.04em; text-transform: uppercase; }
.weather-slot img { width: 52px; height: 52px; }
.weather-temp { margin: 0.1rem 0; font-family: "Arial Black", Impact, sans-serif; font-size: 1.6rem; line-height: 1; }
.weather-line { margin: 0.2rem 0 0; font-size: 0.78rem; font-weight: 700; }
.weather-meta { margin: 0.1rem 0 0; color: #6b6b6b; font-size: 0.75rem; }
.storm-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.55rem; }
.storm-card { border: 3px solid #d02108; background: #fff; padding: 0.4rem 0.55rem 0.15rem; }
.storm-card h4 { margin: 0 0 0.2rem; font-size: 1rem; }
.storm-card h4 a { color: inherit; text-decoration: none; }
.storm-cone { width: 100%; height: auto; display: block; margin: 0.35rem 0 0.5rem; border: 2px solid #0433ff; background: #f4f6ff; }
.storm-card h4 a:hover { text-decoration: underline; }
.storm-card p { margin: 0.15rem 0; font-size: 0.85rem; }
.article-page { max-width: 46rem; }
.article-page h2 { font-family: "Arial Black", Impact, sans-serif; font-size: 1.7rem; line-height: 1.05; margin: 0.2rem 0 0.4rem; }
.article-hero { margin: 0.5rem 0; }
.article-hero img { width: 100%; height: auto; border: 4px solid #0433ff; display: block; }
.article-body { font-size: 1rem; line-height: 1.55; }
.article-body p { margin: 0 0 0.9rem; }
.article-body p:last-child { margin-bottom: 0; }
.article-page .summary { font-size: 1.05rem; margin-bottom: 0.9rem; }
.trending-board { margin: 0.6rem 0 1.2rem; }
.trend-board-note { margin: 0 0 0.75rem; }
.trend-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem 0.9rem;
    align-items: start;
}
.trend-col h3 {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.2;
}
.trend-col h4 {
    margin: 0.15rem 0 0.4rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: #444;
}
.trend-list { margin: 0; padding-left: 1.1rem; }
.trend-list li { margin: 0.25rem 0; }
.trend-meta { display: block; font-size: 0.75rem; color: #444; }
@media (max-width: 980px) {
    .trend-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .trend-grid { grid-template-columns: 1fr; }
}
.shop-summary { font-weight: 700; margin: 0.2rem 0 0.8rem; }
.shop-add { margin-bottom: 0.8rem; }
.shop-list { display: grid; gap: 0.35rem; margin: 0.4rem 0 1.5rem; }
.shop-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 4.6rem;
    gap: 0.55rem 0.75rem;
    align-items: center;
    border: 2px solid #0433ff;
    background: #fff;
    color: inherit;
    text-decoration: none;
    padding: 0.28rem 0.5rem;
}
.shop-row:hover { background: #f4f6ff; }
.shop-row-title { display: block; font-weight: 700; line-height: 1.2; }
.shop-row-meta { display: block; color: #444; font-size: 0.75rem; }
.shop-row-price { font-family: "Arial Black", Impact, sans-serif; font-size: 0.95rem; white-space: nowrap; }
.shop-spark { width: 4.6rem; height: 1.45rem; display: block; }
.shop-spark polyline { fill: none; stroke: #0433ff; stroke-width: 2; }
.shop-down .shop-spark polyline, .shop-row-spark.shop-down .shop-spark polyline { stroke: #0b6b2a; }
.shop-up .shop-spark polyline, .shop-row-spark.shop-up .shop-spark polyline { stroke: #d02108; }
.shop-price { margin: 0.25rem 0 0.1rem; font-family: "Arial Black", Impact, sans-serif; font-size: 1.6rem; line-height: 1; }
.shop-down { color: #0b6b2a; font-weight: 700; }
.shop-up { color: #d02108; font-weight: 700; }
.shop-chart { width: 100%; max-width: 28rem; height: auto; display: block; margin: 0.4rem 0; background: #f4f6ff; border: 2px solid #0433ff; }
.shop-chart polyline { fill: none; stroke: #0433ff; stroke-width: 2; }
.shop-chart circle { fill: #0433ff; }
.shop-parser { margin: 0.35rem 0 0.1rem; font-size: 0.9rem; }
.shop-history { width: 100%; max-width: 28rem; border-collapse: collapse; font-size: 0.85rem; margin: 0.4rem 0 0.6rem; }
.shop-history th, .shop-history td { text-align: left; padding: 0.2rem 0.45rem; border-bottom: 1px solid #ddd; }
.shop-parser + p code { font-size: 0.78rem; word-break: break-all; }
@media (min-width: 800px) {
    .yt-frame { min-height: 420px; }
}
@media (max-width: 800px) {
    .oil-board, .storm-board, .weather-strip { grid-template-columns: 1fr 1fr; }
    .wire-card-link { grid-template-columns: 72px 1fr; }
    .wire-card-link.wire-card-text { grid-template-columns: 1fr; }
    .yt-frame, .story-yt .yt-frame { min-height: 220px; }
}
