﻿/* extracted verbatim 2026-08-28 estate speed sweep. New content = new filename. */

        /* ============================================================
           NBG = NHL Betting Guide namespace — zero collision with master.
           Card and terminal styles kept as-is (page-scoped, no conflict).
           ============================================================ */
        :root {
            --nbg-bg:       var(--void);
            --nbg-surface:  var(--panel);
            --nbg-surface2: var(--panel-2);
            --nbg-border:   var(--line);
            --nbg-border2:  var(--line-strong);
            --nbg-accent:   var(--action);
            --nbg-green:    var(--model);
            --nbg-red:      var(--book);
            --nbg-text:     var(--ink);
            --nbg-muted:    var(--ink-dim);
            --nbg-dim:      var(--ink-faint);
            --nbg-font-ui:  var(--ui);
            --nbg-font-data:var(--mono);
            --nbg-radius:   0.5em;
            --nbg-radius-lg:0.75em;
        }

        .nbg-wrapper {
            width: 100%;
            max-width: 1200px;
            margin: 0 auto;
            padding: 1.5em 5%;
            box-sizing: border-box;
        }

        /* Enforce high contrast throughout the guide */
        .nbg-wrapper h1, .nbg-wrapper h2, .nbg-wrapper h3,
        .nbg-wrapper h4, .nbg-wrapper strong, .nbg-wrapper b,
        .nbg-wrapper dt { color: var(--ink); }
        .nbg-wrapper p, .nbg-wrapper li, .nbg-wrapper span,
        .nbg-wrapper td, .nbg-wrapper th, .nbg-wrapper dd { color: var(--ink); }
        .nbg-wrapper a { color: var(--action); text-decoration: none; transition: color 0.2s; }
        .nbg-wrapper a:hover { color: var(--action-hi); }

        /* BREADCRUMB */
        .nbg-breadcrumb { margin-bottom: 1.5em; font-size: 0.82em; font-family: var(--nbg-font-data); }
        .nbg-breadcrumb a { color: var(--ink-dim); text-decoration: none; text-transform: uppercase; }
        .nbg-breadcrumb .sep { margin: 0 0.4em; color: var(--nbg-dim); }
        .nbg-breadcrumb a:hover { color: var(--nbg-accent); }

        /* POPULARITY WIDGET */
        .nbg-pop-wrap { margin-bottom: 1.75em; padding: 1em; background: var(--nbg-surface); border: 1px solid var(--nbg-border); border-radius: var(--nbg-radius-lg); min-height: 140px; }

        /* PAGE TITLE */
        .nbg-h1 { font-family: var(--display); font-size: clamp(1.5rem, 3.5vw, 2.1rem); font-weight: 800; color: var(--ink); margin: 0 0 1.25em; }

        /* ANSWER CAPSULE */
        .nbg-answer-capsule {
            background: var(--panel);
            border: 1px solid var(--card-edge);
            border-left: 4px solid var(--action);
            border-radius: var(--nbg-radius);
            box-shadow: 0 20px 40px -22px var(--accent-glow);
            padding: 1.25em;
            margin-bottom: 1.75em;
        }
        .nbg-answer-capsule dl { margin: 0; display: grid; grid-template-columns: 1fr; gap: 1em; }
        @media (min-width: 768px) { .nbg-answer-capsule dl { grid-template-columns: 1fr 1fr 1fr; } }
        .nbg-answer-capsule dt { font-weight: 700; color: var(--nbg-accent) !important; font-size: 0.88em; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.25em; }
        .nbg-answer-capsule dd { margin: 0; font-size: 0.9em; line-height: 1.65; color: var(--ink); }

        /* GUIDE CARDS */
        .nbg-card {
            background: var(--nbg-surface);
            border: 1px solid var(--nbg-border);
            border-radius: var(--nbg-radius-lg);
            padding: 1.25em;
            margin-bottom: 1.5em;
        }
        .nbg-card-header {
            display: flex; align-items: center; gap: 0.75em;
            margin-bottom: 0.75em; border-bottom: 1px solid var(--nbg-border); padding-bottom: 0.75em;
        }
        .nbg-card-header i { color: var(--nbg-accent); font-size: 1.1em; }
        .nbg-card-header h2, .nbg-card-header h3 { margin: 0; }

        /* TERMINAL EXAMPLES */
        .nbg-terminal {
            background: var(--nbg-bg);
            border-left: 3px solid var(--action-hi);
            padding: 0.85em 1em;
            margin: 0.85em 0;
            border-radius: 0 var(--nbg-radius) var(--nbg-radius) 0;
            font-family: var(--nbg-font-data);
            font-size: 0.88em;
            color: var(--ink-dim);
        }
        .nbg-terminal .val  { color: var(--model); font-family: var(--mono); font-variant-numeric: tabular-nums; font-weight: 700; }
        .nbg-terminal .loss { color: var(--nbg-red);   font-weight: 700; }
        .nbg-terminal .cmt  { color: var(--nbg-dim); }

        /* GRIDS */
        .nbg-grid-2 { display: grid; grid-template-columns: 1fr; gap: 1.25em; }
        .nbg-props-grid { display: grid; grid-template-columns: 1fr; gap: 0.75em; margin-top: 1.25em; }
        @media (min-width: 768px) {
            .nbg-grid-2 { grid-template-columns: 1fr 1fr; }
            .nbg-props-grid { grid-template-columns: repeat(3, 1fr); }
        }

        .nbg-prop-tile {
            background: var(--nbg-bg);
            padding: 0.85em;
            border-radius: var(--nbg-radius);
            border: 1px solid var(--nbg-border);
        }
        .nbg-prop-tile strong { display: block; margin-bottom: 0.25em; color: var(--ink); font-size: 0.88em; }
        .nbg-prop-tile span { color: var(--nbg-muted); font-size: 0.82em; }

        /* TAGS */
        .nbg-tag {
            display: inline-flex; align-items: center; gap: 0.4em;
            font-family: var(--nbg-font-data); font-size: 0.82em;
            border: 1px solid var(--card-edge); color: var(--action-hi);
            padding: 0.3em 0.75em; border-radius: var(--nbg-radius);
        }

        /* FAQ — native <details> */
        .nbg-faq-section { max-width: 800px; margin: 2.5em auto 0; }
        .nbg-faq-section h2 { font-size: 1.35em; margin-bottom: 1em; text-align: center; color: var(--ink); }
        .nbg-faq-item {
            background: var(--panel-2);
            border: 1px solid var(--nbg-border);
            border-radius: var(--nbg-radius);
            margin-bottom: 0.65em;
            overflow: hidden;
            transition: border-color 0.15s;
        }
        .nbg-faq-item[open] { border-color: var(--card-edge); }
        .nbg-faq-item summary {
            padding: 0.85em 1em;
            cursor: pointer;
            font-weight: 600;
            color: var(--ink);
            list-style: none;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 1em;
            font-size: 0.9em;
        }
        .nbg-faq-item summary::-webkit-details-marker { display: none; }
        .nbg-faq-item summary::after { content: '+'; font-family: var(--nbg-font-data); color: var(--nbg-accent); flex-shrink: 0; }
        .nbg-faq-item[open] summary::after { content: '−'; }
        .nbg-faq-answer {
            padding: 0 1em 0.85em;
            color: var(--ink-dim);
            line-height: 1.75;
            font-size: 0.88em;
            border-top: 1px solid var(--nbg-border);
        }
        .nbg-faq-answer p { margin-top: 0.75em; margin-bottom: 0; color: var(--ink); }

        /* STRATEGY LIBRARY */
        .nbg-library { margin-top: 2.5em; }
        .nbg-library h3 { color: var(--ink); margin-bottom: 0.85em; }
        .nbg-library ul {
            list-style: none;
            padding: 0;
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
            gap: 0.75em;
        }
        .nbg-library li a { color: var(--action); font-size: 0.9em; }
        .nbg-library li a:hover { color: var(--action-hi); }
        .nbg-library li a i { margin-right: 0.4em; }

        /* CTA BUTTON */
        .nbg-btn {
            display: inline-flex; align-items: center; justify-content: center; gap: 0.4em;
            background: var(--accent-grad); color: #fff;
            box-shadow: 0 8px 24px -8px var(--accent-glow);
            padding: 0.75em 1.5em; border-radius: var(--nbg-radius);
            font-weight: 700; font-size: 0.9em;
            text-decoration: none; width: 100%; margin-top: 1.25em;
            transition: box-shadow 0.15s, filter 0.15s;
        }
        .nbg-btn:hover { filter: brightness(1.08); box-shadow: 0 10px 28px -8px var(--accent-glow); color: #fff; }
    