:root {
            --bg-color: #0b0f19;
            --fence-border: #1e293b;
            --text-main: #f8fafc;
            --text-muted: #64748b;
            --accent-blueprint: #38bdf8;
            --node-pending: #475569;
        }

        body {
            background-color: var(--bg-color);
            color: var(--text-main);
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
            line-height: 1.6;
            margin: 0;
            padding: 40px 20px;
        }

        .container {
            max-width: 800px;
            margin: 0 auto;
            border-left: 2px solid var(--fence-border);
            padding-left: 30px;
        }

        /* Manifesto Construction Fence Header */
        header {
            margin-bottom: 30px;
            border-bottom: 1px dashed var(--fence-border);
            padding-bottom: 10px;
        }

        h1 {
            font-size: 2.2rem;
            font-weight: 700;
            letter-spacing: -0.05em;
            margin: 0 0 10px 0;
            color: var(--accent-blueprint);
        }

        .tagline {
            font-size: 1.1rem;
            color: var(--text-muted);
            margin: 0 0 20px 0;
            font-style: italic;
        }

        .manifesto {
            font-size: 0.95rem;
            color: var(--text-main);
            max-width: 650px;
            margin-bottom: 25px;
        }
        
        .construction-note {
            font-size: 0.9rem;
            color: var(--accent-blueprint);
            border-left: 2px dashed #334155;
            padding-left: 15px;
            margin: 20px 0 25px 0;
            max-width: 650px;
            opacity: 0.85;
        }

        .counter-badge {
            display: inline-block;
            background-color: #1e293b;
            color: var(--accent-blueprint);
            font-family: monospace;
            padding: 6px 12px;
            border-radius: 4px;
            font-size: 0.9rem;
            border: 1px solid #334155;
        }

        /* 3-Tier Tree Architecture */
        .tree {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        /* Tier 1: Master Domains */
        .domain-node {
            margin-bottom: 45px;
        }

        .domain-node > h2 {
            font-size: 1.3rem;
            font-weight: 700;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            color: var(--accent-blueprint);
            margin: 0 0 15px 0;
            border-bottom: 1px solid #1e293b;
            padding-bottom: 5px;
        }

        /* Description text for Tier 1 Master Domains */
        .domain-desc {
            font-size: 0.95rem;
            color: var(--text-main);
            margin: -10px 0 20px 0;
            max-width: 650px;
        }

        /* Description text for Tier 2 Subdomains */
        .subdomain-desc {
            font-size: 0.85rem;
            color: var(--text-main); 
            margin: 0 0 12px 0;      
            max-width: 650px;
        }

        /* Subdued Metadata Labels */
        .subdomain-desc strong {
            color: var(--text-muted);  
            font-size: 0.75rem;        
            text-transform: uppercase; 
            letter-spacing: 0.05em;
            margin-right: 6px;
        }

        /* Tier 2: Subdomains */
        .subdomain-list {
            list-style: none;
            padding-left: 20px;
            margin: 0;
        }

        .subdomain-node {
            margin-bottom: 20px;
        }

        .subdomain-node > h3 {
            font-size: 1.05rem;
            font-weight: 600;
            color: var(--text-main);
            margin: 0 0 8px 0;
        }

        /* Tier 3: Core Cards */
        .card-list {
            list-style: none;
            padding-left: 20px;
            margin: 0;
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
            gap: 8px;
        }

        .card-item {
            font-size: 0.9rem;
            color: var(--node-pending);
            display: flex;
            align-items: center;
        }

        .card-item::before {
            content: "◦";
            margin-right: 8px;
            color: var(--node-pending);
            font-weight: bold;
        }

        /* Completed Archetype State */
        .card-item.completed {
            color: var(--text-main);
        }
        .card-item.completed::before {
            content: "•";
            color: var(--accent-blueprint);
        }
        .card-item.completed a {
            color: var(--text-main);
            text-decoration: none;
            border-bottom: 1px dotted var(--accent-blueprint);
        }
        .card-item.completed a:hover {
            color: var(--accent-blueprint);
            border-bottom-style: solid;
        }
        .domain-node > h2 a:focus {
            outline: 2px dashed var(--accent-blueprint);
            outline-offset: 4px;
        }

        html {
            scroll-behavior: smooth;
        }
        /* Back to Top Arrow Button */
        .back-to-top {
            position: fixed;
            bottom: 25px;
            right: 25px;
            width: 44px;
            height: 44px;
            background-color: var(--bg-color);
            color: var(--accent-blueprint);
            border: 2px solid var(--accent-blueprint);
            border-radius: 4px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.2rem;
            font-weight: bold;
            text-decoration: none;
            z-index: 1000;
            transition: opacity 0.3s ease, visibility 0.3s ease;
            
            /* Initially hidden */
            opacity: 0;
            visibility: hidden;
        }

        /* Clear visual hover state */
        .back-to-top:hover {
            background-color: var(--accent-blueprint);
            color: var(--bg-color);
        }

        /* Class toggled by JavaScript to show the button */
        .back-to-top.visible {
            opacity: 1;
            visibility: visible;
        }

        /* Glanceable Menu Index Track */
        .blueprint-menu {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            padding: 10px 0 10px 0; /* Reduced space above the block */
            margin-bottom: 20px;
            /*border-bottom: 1px dashed var(--fence-border);*/
            list-style: none;
        }

        .blueprint-menu li {
            margin: 0;
        }

        .blueprint-menu a {
            font-family: monospace;
            font-size: 0.8rem;
            color: var(--text-muted);
            text-decoration: none;
            border: 1px solid var(--fence-border);
            padding: 4px 10px;
            border-radius: 4px;
            background-color: #0f172a;
            display: inline-block;
            transition: color 0.2s ease, border-color 0.2s ease;
        }

        .blueprint-menu a:hover {
            color: var(--accent-blueprint);
            border-color: var(--accent-blueprint);
        }

        /* Standard Inline Text Links */
        a {
            color: var(--accent-blueprint); /* Forces links to ALWAYS use your blueprint blue */
            text-decoration: underline;     /* Solid underline signifier */
            text-decoration-style: solid;
            transition: color 0.2s ease;
        }

        a:hover {
            color: var(--text-main);        /* Flips cleanly to bright white on mouse hover */
        }