@font-face {
            font-family: 'Midwinter';
            src: url('fonts/Midwinter.ttf') format('truetype');
            font-weight: normal;
            font-style: normal;
            font-display: swap;
        }

        :root {
            --bg-dark: #0a0a12;
            --border-blue: #4a6b9a;
            --border-light: #6a8bba;
            --text-ice: #a8c8e8;
            --text-white: #e8f0f8;
            --accent-orange: #e87040;
            --accent-yellow: #d4a840;
            --accent-red: #c04040;
            --tile-bg: #1a2030;
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }

        body {
            background: var(--bg-dark);
            min-height: 100vh;
            font-family: 'IBM Plex Mono', monospace;
            color: var(--text-ice);
        }

        .header {
            background: linear-gradient(180deg, #1a2a4a 0%, var(--bg-dark) 100%);
            padding: 1rem 2rem;
            border-bottom: 3px solid var(--border-blue);
        }

        .header a {
            font-family: 'Midwinter', cursive;
            font-size: 0.6rem;
            color: var(--text-ice);
            text-decoration: none;
        }

        .header a:hover { color: var(--accent-yellow); }

        .content {
            max-width: 1200px;
            margin: 0 auto;
            padding: 3rem 2rem;
        }

        .page-header {
            text-align: center;
            margin-bottom: 3rem;
        }

        .page-icon {
            width: 100px;
            height: 100px;
            margin-bottom: 1.5rem;
            image-rendering: pixelated;
        }

        h1 {
            font-family: 'Midwinter', cursive;
            font-size: 1.2rem;
            color: var(--text-white);
            margin-bottom: 1rem;
        }

        .page-subtitle {
            font-family: 'Midwinter', sans-serif;
            font-size: 0.9rem;
            color: var(--text-ice);
            max-width: 700px;
            margin: 0 auto;
            line-height: 1.6;
        }

        .category {
            margin-bottom: 3rem;
        }

        .category-title {
            font-family: 'Midwinter', cursive;
            font-size: 0.7rem;
            color: var(--accent-yellow);
            margin-bottom: 1.5rem;
            padding-bottom: 0.5rem;
            border-bottom: 2px solid var(--border-blue);
        }

        .buildings-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
            gap: 1.5rem;
        }

        .building-card {
            background: var(--tile-bg);
            border: 3px solid var(--border-blue);
            border-radius: 8px;
            padding: 1.5rem;
            display: flex;
            gap: 1.25rem;
            transition: border-color 0.2s, transform 0.2s;
        }

        .building-card:hover {
            border-color: var(--border-light);
            transform: translateY(-2px);
        }

        .building-card.strategic {
            border-color: var(--accent-red);
        }

        .building-card.strategic:hover {
            border-color: #e05050;
        }

        .building-icon {
            width: 100px;
            height: 100px;
            object-fit: contain;
            flex-shrink: 0;
            border-radius: 4px;
        }

        .building-info {
            flex: 1;
            min-width: 0;
        }

        .building-name {
            font-family: 'Midwinter', cursive;
            font-size: 0.55rem;
            color: var(--text-white);
            margin-bottom: 0.75rem;
            line-height: 1.4;
        }

        .building-desc {
            font-family: 'Midwinter', sans-serif;
            font-size: 0.85rem;
            line-height: 1.5;
            color: var(--text-ice);
        }

        .building-tag {
            display: inline-block;
            font-family: 'Midwinter', cursive;
            font-size: 0.4rem;
            padding: 0.25rem 0.5rem;
            border-radius: 3px;
            margin-bottom: 0.5rem;
        }

        .tag-critical {
            background: var(--accent-red);
            color: var(--text-white);
        }

        .tag-military {
            background: var(--accent-orange);
            color: var(--text-white);
        }

        .tag-demolition {
            background: #8b4513;
            color: var(--text-white);
        }

        .tag-sabotage {
            background: #6a5acd;
            color: var(--text-white);
        }

        .tag-food {
            background: #2e8b57;
            color: var(--text-white);
        }

        .tag-sleep {
            background: #4169e1;
            color: var(--text-white);
        }

        .tag-snipe {
            background: #dc143c;
            color: var(--text-white);
        }

        .tag-supplies {
            background: #b8860b;
            color: var(--text-white);
        }

        .tag-vehicle {
            background: #708090;
            color: var(--text-white);
        }

        .tag-fuel {
            background: #ff6347;
            color: var(--text-white);
        }

        .tag-rearm {
            background: #cd853f;
            color: var(--text-white);
        }

        .building-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 0.35rem;
            margin-bottom: 0.5rem;
        }

        /* Mobile */
        @media (max-width: 768px) {
            .content { padding: 1.5rem 1rem; }
            h1 { font-size: 0.8rem; }
            .category-title { font-size: 0.55rem; }
            .buildings-grid { grid-template-columns: 1fr; }
            .building-card { padding: 1rem; }
            .building-icon { width: 80px; height: 80px; }
            .building-name { font-size: 0.5rem; }
            .building-desc { font-size: 0.8rem; }
            .header { padding: 0.75rem 1rem; }
        }

        @media (max-width: 480px) {
            h1 { font-size: 0.65rem; }
            .building-card {
                flex-direction: column;
                align-items: center;
                text-align: center;
            }
            .building-icon { width: 120px; height: 120px; }
        }

        /* Lightbox Overlay */
        .lightbox-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.9);
            display: flex;
            justify-content: center;
            align-items: center;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.3s ease, visibility 0.3s ease;
            z-index: 999;
            pointer-events: none;
        }

        .lightbox-overlay.active {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
        }

        .lightbox-content {
            max-width: 90vw;
            max-height: 85vh;
            position: relative;
        }

        .lightbox-image {
            max-width: 100%;
            max-height: 80vh;
            border: 4px solid var(--border-light);
            box-shadow: 0 0 50px rgba(106, 139, 186, 0.3);
        }

        .lightbox-title {
            font-family: 'Midwinter', cursive;
            font-size: 0.6rem;
            color: var(--text-white);
            text-align: center;
            margin-top: 1rem;
            letter-spacing: 0.1em;
        }

        .building-card[data-interior] {
            cursor: pointer;
        }