        /* ─────────────── Reset ─────────────── */
        *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

        /* ─────────────── Design Tokens ─────────────── */
        :root {
            /* Light — warm ivory, gold, charcoal */
            --bg:           #FAF9F6;
            --bg-raised:    rgba(255,255,255,0.85);
            --text:         #1C1917;
            --text-2:       #78716C;
            --text-3:       #A8A29E;
            --border:       rgba(28,25,23,0.10);
            --border-strong:rgba(28,25,23,0.20);
            --accent:       #92400E;      /* deep amber-gold */
            --accent-light: #D97706;
            --ring:         rgba(146,64,14,0.25);

            --font-sans:    "DM Sans", system-ui, sans-serif;
            --font-serif:   "Playfair Display", Georgia, serif;

            --ease:         cubic-bezier(0.16, 1, 0.3, 1);
            --dur:          200ms;

            /* The key luxury variable — breathing room on both sides */
            --side:         clamp(1.5rem, 9vw, 9rem);
        }

        [data-theme="dark"] {
            --bg:           #0D0B0A;
            --bg-raised:    rgba(24,21,19,0.85);
            --text:         #F5F0EB;
            --text-2:       #A8A29E;
            --text-3:       #57534E;
            --border:       rgba(245,240,235,0.08);
            --border-strong:rgba(245,240,235,0.18);
            --accent:       #FBBF24;      /* warm gold */
            --accent-light: #FDE68A;
            --ring:         rgba(251,191,36,0.3);
        }

        @media (prefers-color-scheme: dark) {
            :root:not([data-theme]) {
                --bg:           #0D0B0A;
                --bg-raised:    rgba(24,21,19,0.85);
                --text:         #F5F0EB;
                --text-2:       #A8A29E;
                --text-3:       #57534E;
                --border:       rgba(245,240,235,0.08);
                --border-strong:rgba(245,240,235,0.18);
                --accent:       #FBBF24;
                --accent-light: #FDE68A;
                --ring:         rgba(251,191,36,0.3);
            }
        }

        /* ─────────────── Base ─────────────── */
        html { font-size: 16px; scroll-behavior: smooth; }

        body {
            font-family: var(--font-sans);
            background-color: var(--bg);
            /* ambient radial glow */
            background-image:
                radial-gradient(ellipse 80% 50% at 15% 10%, rgba(146,64,14,0.04) 0%, transparent 60%),
                radial-gradient(ellipse 60% 40% at 85% 90%, rgba(146,64,14,0.02) 0%, transparent 60%);
            background-attachment: fixed;
            color: var(--text);
            line-height: 1.75;
            -webkit-font-smoothing: antialiased;
            transition: background-color var(--dur) var(--ease), color var(--dur) var(--ease);
        }

        @media (prefers-reduced-motion: reduce) {
            *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
            html { scroll-behavior: auto; }
        }

        a { color: inherit; text-decoration: none; transition: color var(--dur) var(--ease); }
        @media (hover: hover) and (pointer: fine) {
            a:hover { color: var(--accent); }
        }
        a:focus-visible, button:focus-visible, input:focus-visible {
            outline: 2px solid var(--accent); outline-offset: 3px;
        }
        button, input { font-family: inherit; transition: color var(--dur) var(--ease), background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }

        /* ─────────────── The ONE layout primitive ─────────────── */
        /*
           .wrap centres content and provides generous lateral breathing room.
           clamp(1.5rem, 9vw, 9rem) means:
             375px  →  ~1.5rem  each side (min floor)
             768px  →  ~69px    each side (9% of vw)
             1024px →  ~92px    each side (9%)
             1280px →  9rem (144px) each side → content ≤ 992px  ✓
           max-width 1100px ensures the content column never sprawls.
        */
        .wrap {
            width: 100%;
            max-width: calc(1100px + var(--side) * 2);
            margin-left: auto;
            margin-right: auto;
            padding-left: var(--side);
            padding-right: var(--side);
        }

        /* ─────────────── Routing containers ─────────────── */
        #app { display: block; }
        #homepage, #postpage, #privacypage { display: block; }

        /* ─────────────── Typography ─────────────── */
        h1, h2, h3 {
            font-family: var(--font-serif);
            font-weight: 400;
            line-height: 1.15;
            letter-spacing: -0.01em;
            color: var(--text);
        }
        h1 { font-size: clamp(2.25rem, 5vw, 3.75rem); font-style: italic; }
        h2 { font-size: clamp(1.5rem, 3vw, 2.25rem); }
        h3 { font-size: 1.5rem; }
        p  { font-size: 1.0625rem; color: var(--text-2); line-height: 1.8; font-weight: 300; }

        /* ─────────────── Ornamental divider ─────────────── */
        .ornament {
            display: block; text-align: center;
            color: var(--accent); opacity: 0.5; font-size: 1rem;
            letter-spacing: 0.4em; margin: 0 auto;
        }

        /* ══════════════════════════════════════════════════════
           SITE HEADER  —  Apple-grade hero
        ══════════════════════════════════════════════════════ */

        /* ── Top navigation bar ── */
        .site-nav {
            position: fixed;
            top: 0; left: 0; right: 0;
            z-index: 50;
            padding: 1.125rem 0;
            background: color-mix(in srgb, var(--bg) 80%, transparent);
            backdrop-filter: blur(20px) saturate(180%);
            -webkit-backdrop-filter: blur(20px) saturate(180%);
            border-bottom: 1px solid var(--border);
            transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease);
        }
        .site-nav .wrap {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .nav-brand {
            display: flex;
            align-items: center;
            gap: 0.75rem;
        }
        .nav-avatar {
            width: 30px; height: 30px;
            border-radius: 50%;
            border: 1px solid var(--border-strong);
        }
        .nav-name {
            font-family: var(--font-serif);
            font-size: 0.9375rem;
            font-weight: 400;
            color: var(--text);
        }

        /* Theme toggle */
        .theme-toggle {
            flex-shrink: 0;
            width: 34px; height: 34px;
            border-radius: 50%;
            border: 1px solid var(--border);
            background: var(--bg-raised);
            backdrop-filter: blur(8px);
            cursor: pointer;
            display: flex; align-items: center; justify-content: center;
            font-size: 0.9rem;
            color: var(--text);
        }
        @media (hover: hover) and (pointer: fine) {
            .theme-toggle:hover { border-color: var(--accent); transform: scale(1.05); }
        }
        .theme-toggle:active { transform: scale(0.97); }

        /* ── Hero — the full-viewport stage ── */
        .site-hero {
            min-height: 100dvh;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            position: relative;
            padding: 8rem var(--side) 5rem;   /* top clears the nav bar */
            overflow: hidden;
        }

        /* Ambient glow layer */
        .site-hero::before {
            content: '';
            position: absolute;
            inset: 0;
            background:
                radial-gradient(ellipse 65% 55% at 50% 50%,
                    color-mix(in srgb, var(--accent) 8%, transparent) 0%,
                    transparent 70%);
            pointer-events: none;
            transition: background var(--dur) var(--ease);
        }

        /* Entrance animation */
        @keyframes riseIn {
            from { opacity: 0; transform: translateY(28px); }
            to   { opacity: 1; transform: none; }
        }

        .hero-inner {
            position: relative;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 2rem;
            max-width: 820px;
        }

        /* Eyebrow — tiny editorial label */
        .hero-eyebrow {
            font-size: 0.7rem;
            font-weight: 600;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: var(--accent);
            animation: riseIn 0.9s var(--ease) 0.05s both;
        }

        /* THE headline */
        .hero-headline {
            font-family: var(--font-serif);
            font-size: clamp(3.5rem, 9.5vw, 8rem);
            font-weight: 400;
            font-style: italic;
            line-height: 1.04;
            letter-spacing: -0.03em;
            /* Gradient text — cream to gold */
            background: linear-gradient(
                158deg,
                var(--text)        0%,
                var(--text)       45%,
                var(--accent-light) 100%
            );
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            animation: riseIn 1s var(--ease) 0.15s both;
            margin: 0;
        }

        /* Supporting sub-line */
        .hero-sub {
            font-size: clamp(1rem, 2.5vw, 1.25rem);
            font-weight: 300;
            color: var(--text-2);
            max-width: 46ch;
            line-height: 1.8;
            margin: 0;
            animation: riseIn 1s var(--ease) 0.3s both;
        }

        /* The one CTA */
        .hero-cta {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            margin-top: 0.5rem;
            padding: 0.75rem 1.875rem;
            border: 1px solid var(--border-strong);
            border-radius: 999px;
            font-size: 0.875rem;
            font-weight: 500;
            letter-spacing: 0.01em;
            color: var(--text-2);
            background: var(--bg-raised);
            backdrop-filter: blur(8px);
            transition: color var(--dur) var(--ease), background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
            animation: riseIn 1s var(--ease) 0.45s both;
        }
        @media (hover: hover) and (pointer: fine) {
            .hero-cta:hover {
                border-color: var(--accent);
                color: var(--accent);
                transform: translateY(-2px);
                box-shadow: 0 12px 30px -10px var(--ring);
            }
        }
        .hero-cta:active { transform: scale(0.97); }

        /* Scroll indicator */
        .hero-scroll {
            position: absolute;
            bottom: 2.5rem;
            left: 50%;
            transform: translateX(-50%);
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.5rem;
            animation: riseIn 1.2s var(--ease) 0.8s both;
        }
        .hero-scroll-label {
            font-size: 0.625rem;
            font-weight: 600;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: var(--text-3);
        }
        .hero-scroll-line {
            width: 1px;
            height: 44px;
            background: linear-gradient(to bottom, var(--border-strong), transparent);
            animation: scrollDrop 2.5s ease-in-out infinite;
            transform-origin: top;
        }
        @keyframes scrollDrop {
            0%   { transform: scaleY(0); opacity: 0; }
            30%  { transform: scaleY(1); opacity: 1; }
            70%  { transform: scaleY(1); opacity: 1; }
            100% { transform: scaleY(0) translateY(100%); opacity: 0; }
        }

        /* Responsive hero */
        @media (max-width: 640px) {
            .site-hero { padding-top: 7rem; }
            .hero-inner { gap: 1.5rem; }
        }

        /* ══════════════════════════════════════════════════════
           MAIN CONTENT LAYOUT  (posts + sidebar)
        ══════════════════════════════════════════════════════ */
        .site-main { padding-top: 5rem; padding-bottom: 8rem; }
        .site-main .wrap {
            display: grid;
            grid-template-columns: 1fr 300px;
            gap: 5rem;
            align-items: start;
        }

        /* ─── Posts column ─── */
        .posts-col {}

        .archive-header {
            display: flex;
            justify-content: space-between;
            align-items: baseline;
            border-bottom: 1px solid var(--border);
            padding-bottom: 1.25rem;
            margin-bottom: 4rem;
        }
        .archive-title {
            font-family: var(--font-serif);
            font-size: 1rem;
            font-style: italic;
            font-weight: 400;
            text-transform: none;
            letter-spacing: 0;
            color: var(--text-3);
        }

        /* Filter controls */
        .filter-controls { position: relative; display: flex; align-items: center; gap: 1rem; }
        .filter-button {
            background: none; border: none; cursor: pointer;
            font-size: 0.8rem; font-weight: 600; letter-spacing: 0.1em;
            text-transform: uppercase; color: var(--text);
            display: flex; align-items: center; gap: 0.5rem;
        }
        @media (hover: hover) and (pointer: fine) {
            .filter-button:hover { color: var(--accent); }
        }
        .filter-button:active { transform: scale(0.97); }
        .filter-badge {
            background: var(--accent); color: #FFF;
            font-size: 0.7rem; padding: 1px 6px; border-radius: 99px;
        }
        .filter-popover {
            position: absolute; top: calc(100% + 0.75rem); right: 0; width: 300px;
            background: var(--bg-raised); border: 1px solid var(--border-strong);
            backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
            box-shadow: 0 20px 40px rgba(0,0,0,0.08);
            z-index: 100; 
            
            /* Entry animation */
            display: none;
            opacity: 0;
            transform: scale(0.95);
            transform-origin: top right;
            transition: opacity 200ms cubic-bezier(0.16, 1, 0.3, 1), transform 200ms cubic-bezier(0.16, 1, 0.3, 1), display 200ms cubic-bezier(0.16, 1, 0.3, 1) allow-discrete;
        }
        .filter-popover.open {
            display: block;
            opacity: 1;
            transform: scale(1);
        }
        @starting-style {
            .filter-popover.open {
                opacity: 0;
                transform: scale(0.95);
            }
        }
        .filter-popover-header { padding: 1rem; border-bottom: 1px solid var(--border); }
        .tag-search {
            width: 100%; padding: 0.625rem 0.875rem;
            background: var(--bg); border: 1px solid var(--border);
            color: var(--text); font-size: 0.875rem;
        }
        .tag-search:focus { outline: none; border-color: var(--accent); }
        .filter-chips { padding: 1rem; max-height: 240px; overflow-y: auto; display: flex; flex-wrap: wrap; gap: 0.5rem; }
        .filter-chip {
            background: var(--bg); border: 1px solid var(--border);
            color: var(--text-2); padding: 0.25rem 0.75rem;
            font-size: 0.8rem; cursor: pointer;
        }
        @media (hover: hover) and (pointer: fine) {
            .filter-chip:hover { border-color: var(--accent); color: var(--text); }
        }
        .filter-chip:active { transform: scale(0.97); }
        .filter-chip.selected { background: var(--text); color: var(--bg); border-color: var(--text); }
        .filter-popover-footer { padding: 0.875rem 1rem; border-top: 1px solid var(--border); text-align: right; }
        .clear-filters-button {
            background: none; border: none; cursor: pointer;
            font-size: 0.8rem; color: var(--text-3); text-decoration: underline;
        }
        @media (hover: hover) and (pointer: fine) {
            .clear-filters-button:hover { color: var(--text); }
        }
        .clear-filters-button:active { transform: scale(0.97); }
        .clear-filters-compact {
            background: none; border: none; cursor: pointer;
            font-size: 0.8rem; color: var(--text-3); text-decoration: underline;
        }
        @media (hover: hover) and (pointer: fine) {
            .clear-filters-compact:hover { color: var(--text); }
        }
        .clear-filters-compact:active { transform: scale(0.97); }
        .filter-count-compact { font-size: 0.8rem; color: var(--text-3); }

        /* ─── Post cards ─── */
        .posts-list { list-style: none; display: flex; flex-direction: column; }
        .post-card {
            border-top: 1px solid var(--border);
            padding: 2.75rem 0;
            transition: border-color var(--dur) var(--ease);
            cursor: pointer;
        }
        .post-card:last-child { border-bottom: 1px solid var(--border); }
        @media (hover: hover) and (pointer: fine) {
            .post-card:hover { border-top-color: var(--accent); }
            
        }
        .post-card:active { transform: scale(0.98); }

        .post-meta {
            display: flex; align-items: center; gap: 1.25rem;
            margin-bottom: 1rem;
        }
        .post-date {
            font-size: 0.8rem; font-family: ui-monospace, monospace;
            text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-3);
        }
        .post-tags { display: flex; gap: 0.75rem; flex-wrap: wrap; }
        .tag {
            font-size: 0.75rem; font-weight: 600; letter-spacing: 0.08em;
            text-transform: uppercase; color: var(--accent);
        }
        .post-title {
            font-family: var(--font-serif); font-size: 1.875rem; font-weight: 400;
            line-height: 1.2; margin-bottom: 0.875rem; color: var(--text);
            transition: color var(--dur) var(--ease);
        }
        
        .post-summary {
            font-size: 1.0625rem; font-weight: 300; color: var(--text-2); line-height: 1.75;
            display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
        }

        /* ─── Sidebar ─── */
        .sidebar-col {
            display: flex; flex-direction: column; gap: 2rem;
            position: sticky; top: 5rem;
            max-height: calc(100vh - 7rem);
            overflow-y: auto;
            /* Hide scrollbar for a clean Apple-like aesthetic */
            scrollbar-width: none;
            -ms-overflow-style: none;
            /* Prevent shadow clipping */
            padding: 0.5rem;
            margin: -0.5rem;
        }
        .sidebar-col::-webkit-scrollbar { display: none; }

        .sidebar-card {
            background: var(--bg-raised);
            border: 1px solid var(--border);
            backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
            padding: 1.75rem;
            box-shadow: 0 4px 24px rgba(0,0,0,0.03);
            transition: border-color var(--dur) var(--ease), transform var(--dur) var(--ease);
        }
        @media (hover: hover) and (pointer: fine) {
            .sidebar-card:hover { border-color: var(--border-strong); transform: translateY(-3px); }
        }
        .sidebar-card:active { transform: scale(0.98); }

        .sidebar-label {
            font-size: 0.7rem; font-weight: 600; letter-spacing: 0.12em;
            text-transform: uppercase; color: var(--text-3);
            border-bottom: 1px solid var(--border); padding-bottom: 0.75rem; margin-bottom: 1.25rem;
        }
        .sidebar-card h3 { font-size: 1.125rem; margin-bottom: 0.875rem; line-height: 1.3; }
        .sidebar-card p { font-size: 0.9375rem; line-height: 1.7; margin-bottom: 0; }

        /* Donate card — slightly elevated */
        .donate-card { border-color: rgba(146,64,14,0.2); }
        [data-theme="dark"] .donate-card { border-color: rgba(251,191,36,0.2); }
        @media (hover: hover) and (pointer: fine) {
            .donate-card:hover { border-color: var(--accent); }
        }

        .donate-btn {
            display: block; width: 100%;
            margin-top: 1.25rem;
            padding: 0.875rem 1.5rem;
            background: var(--text); color: var(--bg);
            font-size: 0.8rem; font-weight: 600;
            letter-spacing: 0.1em; text-transform: uppercase;
            text-align: center; border: 1px solid var(--text);
            transition: color var(--dur) var(--ease), background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
        }
        @media (hover: hover) and (pointer: fine) {
            .donate-btn:hover {
                background: transparent; color: var(--text);
                box-shadow: 0 8px 24px -8px var(--ring);
            }
        }
        .donate-btn:active { transform: scale(0.97); }
        .donate-qr-premium {
            margin-top: 1.5rem;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 1.25rem;
            border-top: 1px solid var(--border);
            padding-top: 1.75rem;
        }
        .qr-svg-wrap {
            width: 140px;
            height: 140px;
            padding: 1rem;
            background: var(--bg);
            border: 1px solid var(--border);
            border-radius: 16px;
            box-shadow: inset 0 2px 8px rgba(0,0,0,0.02), 0 4px 12px rgba(0,0,0,0.04);
            color: var(--text);
            transition: color var(--dur) var(--ease), background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
            display: flex;
            align-items: center;
            justify-content: center;
        }
        @media (hover: hover) and (pointer: fine) {
            .donate-qr-premium:hover .qr-svg-wrap {
                border-color: var(--accent);
                transform: scale(1.04);
                box-shadow: inset 0 2px 8px rgba(0,0,0,0.02), 0 8px 24px -6px var(--ring);
                color: var(--accent);
            }
            
        }
        .donate-qr-premium:active .qr-svg-wrap { transform: scale(0.97); }
        .qr-svg {
            width: 100%;
            height: 100%;
            display: block;
            /* ensure crisp edges on the qr blocks */
            shape-rendering: crispEdges;
        }
        .qr-caption {
            font-size: 0.7rem;
            font-weight: 600;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            color: var(--text-3);
            transition: color var(--dur) var(--ease);
        }
        

        .sidebar-link {
            display: inline-flex; align-items: center; gap: 0.375rem;
            margin-top: 1rem; font-size: 0.875rem; font-weight: 500;
            text-decoration: underline; text-underline-offset: 5px;
            text-decoration-color: var(--accent); color: var(--text);
        }
        @media (hover: hover) and (pointer: fine) {
            .sidebar-link:hover { color: var(--accent); text-decoration-color: var(--text); }
        }
        .sidebar-link:active { transform: scale(0.97); }

        /* ══════════════════════════════════════════════════════
           FOOTER
        ══════════════════════════════════════════════════════ */
        .site-footer {
            border-top: 1px solid var(--border);
            padding: 3.5rem 0;
        }
        .site-footer .wrap {
            display: flex; justify-content: space-between;
            align-items: center; flex-wrap: wrap; gap: 2rem;
        }
        .social-icons { display: flex; gap: 0.875rem; }
        .social-btn {
            width: 42px; height: 42px;
            border-radius: 50%; border: 1px solid var(--border);
            background: var(--bg-raised);
            display: flex; align-items: center; justify-content: center;
            transition: color var(--dur) var(--ease), background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
        }
        @media (hover: hover) and (pointer: fine) {
            .social-btn:hover { border-color: var(--accent); transform: translateY(-2px); }
            
        }
        .social-btn:active { transform: scale(0.97); }
        .social-btn svg { width: 16px; height: 16px; fill: var(--text-2); transition: fill var(--dur) var(--ease); }
        
        .footer-copy { text-align: right; }
        .footer-copy p { font-size: 0.8125rem; color: var(--text-3); line-height: 1.6; }
        .footer-copy a { text-decoration: underline; text-underline-offset: 3px; color: var(--text-3); }
        @media (hover: hover) and (pointer: fine) {
            .footer-copy a:hover { color: var(--accent); }
        }

        /* ══════════════════════════════════════════════════════
           POST PAGE
        ══════════════════════════════════════════════════════ */
        .post-page-wrap { padding-top: 3.5rem; padding-bottom: 8rem; }

        .back-link {
            display: inline-flex; align-items: center; gap: 0.5rem;
            font-size: 0.8rem; font-weight: 600; letter-spacing: 0.1em;
            text-transform: uppercase; color: var(--text-3);
            margin-bottom: 4rem;
            transition: gap var(--dur) var(--ease), color var(--dur) var(--ease);
        }
        @media (hover: hover) and (pointer: fine) {
            .back-link:hover { color: var(--accent); gap: 0.875rem; }
        }
        .back-link:active { transform: scale(0.97); }

        .post-header { text-align: center; margin-bottom: 5rem; padding-bottom: 4rem; border-bottom: 1px solid var(--border); }
        .post-header h1 { font-size: clamp(2.25rem, 6vw, 4.5rem); margin-bottom: 2rem; }
        .post-info {
            display: flex; justify-content: center; flex-wrap: wrap; gap: 2rem;
            font-size: 0.8rem; font-family: ui-monospace, monospace;
            text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-3);
        }

        .post-content {
            max-width: 68ch;
            margin: 0 auto;
            font-size: 1.125rem; font-weight: 300; line-height: 1.85;
            color: var(--text);
        }
        .post-content h2 { font-size: 1.875rem; margin-top: 4rem; margin-bottom: 1.5rem; }
        .post-content h3 { font-size: 1.5rem; margin-top: 3rem; margin-bottom: 1.25rem; }
        .post-content p  { margin-bottom: 1.75rem; color: var(--text); }
        .post-content ul, .post-content ol { margin-bottom: 1.75rem; padding-left: 1.75rem; }
        .post-content li { margin-bottom: 0.625rem; }
        .post-content a  { text-decoration: underline; text-underline-offset: 5px; text-decoration-color: var(--accent); }
        @media (hover: hover) and (pointer: fine) {
            .post-content a:hover { color: var(--accent); text-decoration-color: var(--text); }
        }
        .post-content pre {
            padding: 1.75rem; background: var(--bg-raised); border: 1px solid var(--border);
            overflow-x: auto; margin-bottom: 2.5rem; font-size: 0.875rem; line-height: 1.6;
        }
        .post-content code {
            font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
            background: var(--bg-raised); padding: 0.1em 0.35em;
            border: 1px solid var(--border); font-size: 0.875em;
        }
        .post-content pre code { background: none; border: none; padding: 0; }

        .pdf-download {
            max-width: 68ch; margin: 4rem auto 0;
            padding: 2rem; background: var(--bg-raised); border: 1px solid var(--border);
            text-align: center;
        }
        .pdf-download a {
            font-size: 0.8rem; font-weight: 600; letter-spacing: 0.1em;
            text-transform: uppercase; display: inline-flex; align-items: center; gap: 0.5rem;
        }
        .pdf-download a::before { content: '↓'; color: var(--accent); font-size: 1.1em; }

        /* Related posts */
        .related-posts { max-width: 68ch; margin: 5rem auto 0; padding-top: 4rem; border-top: 1px solid var(--border); }
        .related-posts h2 { font-size: 1.25rem; font-style: italic; margin-bottom: 2rem; }
        .related-posts ul { list-style: none; display: flex; flex-direction: column; gap: 1.25rem; }
        .related-posts li a {
            display: block; padding: 1.5rem; border: 1px solid var(--border);
            background: var(--bg-raised);
            transition: color var(--dur) var(--ease), background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
        }
        @media (hover: hover) and (pointer: fine) {
            .related-posts li a:hover { border-color: var(--accent); transform: translateX(6px); }
        }
        .related-posts li a:active { transform: scale(0.97); }
        .related-meta { font-size: 0.75rem; font-family: ui-monospace, monospace; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-3); margin-bottom: 0.5rem; }
        .related-title { font-family: var(--font-serif); font-size: 1.25rem; color: var(--text); }

        /* Post navigation */
        .post-nav {
            max-width: 68ch; margin: 4rem auto 0;
            display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem;
        }
        .nav-item {
            display: flex; flex-direction: column; padding: 2rem;
            border: 1px solid var(--border); background: var(--bg-raised);
            transition: color var(--dur) var(--ease), background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
        }
        @media (hover: hover) and (pointer: fine) {
            .nav-item:hover { border-color: var(--accent); transform: translateY(-3px); }
        }
        .nav-item:active { transform: scale(0.97); }
        .nav-item:nth-child(2) { text-align: right; }
        .nav-label { font-size: 0.7rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text-3); margin-bottom: 1rem; }
        .nav-title { font-family: var(--font-serif); font-size: 1.125rem; font-style: italic; color: var(--text); }
        .nav-item.disabled { opacity: 0.25; pointer-events: none; }

        /* ══════════════════════════════════════════════════════
           PRIVACY PAGE
        ══════════════════════════════════════════════════════ */
        .privacy-content { max-width: 68ch; margin: 0 auto; padding: 3.5rem 0 8rem; }
        .privacy-content .post-header { margin-bottom: 3rem; }
        .privacy-content .post-content ul { padding-left: 1.5rem; }
        .privacy-content .post-content li { margin-bottom: 1.25rem; font-size: 1rem; color: var(--text-2); }
        .privacy-content .post-content strong { color: var(--text); font-weight: 500; }

        /* ══════════════════════════════════════════════════════
           RESPONSIVE
        ══════════════════════════════════════════════════════ */
        @media (max-width: 900px) {
            .site-main .wrap { grid-template-columns: 1fr; gap: 4rem; }
            .sidebar-col { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
        }
        @media (max-width: 640px) {
            :root { --side: 1.5rem; }
            .sidebar-col { grid-template-columns: 1fr; }
            .post-nav { grid-template-columns: 1fr; }
            .nav-item:nth-child(2) { text-align: left; }
            .post-info { flex-direction: column; gap: 0.75rem; align-items: center; }
            .donate-btn { width: 100%; }
        }

        /* ══════════════════════════════════════════════════════
           BEHIND THE SCENES MODAL (APPLE STYLE)
        ══════════════════════════════════════════════════════ */
        .bts-modal {
            position: fixed;
            top: 0; left: 0; right: 0; bottom: 0;
            z-index: 1000;
            background: color-mix(in srgb, var(--bg) 95%, transparent);
            backdrop-filter: blur(40px) saturate(220%);
            -webkit-backdrop-filter: blur(40px) saturate(220%);
            overflow-y: auto;
            overflow-x: hidden;
            display: flex;
            flex-direction: column;
            
            /* CSS Scroll Snapping for one-at-a-time slide view */
            scroll-snap-type: y mandatory;
            scroll-behavior: smooth;
            
            /* Hidden state */
            opacity: 0;
            visibility: hidden;
            transform: scale(1.02);
            transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.6s;
        }

        .bts-modal.open {
            opacity: 1;
            visibility: visible;
            transform: scale(1);
        }

        .bts-close-btn {
            position: fixed;
            top: 2rem;
            right: 2rem;
            width: 48px;
            height: 48px;
            border-radius: 50%;
            border: 1px solid var(--border);
            background: var(--bg-raised);
            color: var(--text-2);
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            z-index: 1010;
            box-shadow: 0 4px 24px rgba(0,0,0,0.06);
            transition: transform 0.4s var(--ease), background-color 0.4s var(--ease), color 0.4s var(--ease), border-color 0.4s var(--ease);
        }
        @media (hover: hover) and (pointer: fine) {
            .bts-close-btn:hover {
                transform: rotate(90deg) scale(1.08);
                background: var(--text);
                color: var(--bg);
                border-color: var(--text);
            }
        }

        .bts-content-wrap {
            max-width: 760px;
            margin: 0 auto;
            width: 100%;
        }

        /* 
           Fullscreen snaps. Only one visible at a time.
        */
        .bts-section {
            min-height: 100dvh;
            scroll-snap-align: start;
            scroll-snap-stop: always;
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding: 6rem 1.5rem;
            box-sizing: border-box;
            
            /* High-end opacity fade out when not centered */
            opacity: 0;
            transform: translateY(40px) scale(0.98);
            transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
            pointer-events: none;
        }

        .bts-section.in-view {
            opacity: 1;
            transform: translateY(0) scale(1);
            pointer-events: auto;
        }

        /* Hero Section overrides */
        .bts-hero {
            text-align: center;
            /* Override inherit transition behavior for start state */
            opacity: 1;
            transform: none;
            pointer-events: auto;
        }

        .bts-logo {
            width: 72px;
            height: 72px;
            border-radius: 50%;
            margin-bottom: 2rem;
            border: 1px solid var(--border-strong);
            opacity: 0;
            box-shadow: 0 0 40px color-mix(in srgb, var(--accent) 15%, transparent);
        }

        .bts-title {
            font-family: var(--font-serif);
            font-size: clamp(3.25rem, 8vw, 5.5rem);
            font-weight: 400;
            font-style: italic;
            line-height: 1.08;
            letter-spacing: -0.03em;
            color: var(--text);
            margin-bottom: 1.5rem;
            opacity: 0;
            background: linear-gradient(158deg, var(--text) 40%, var(--accent-light) 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .bts-subtitle {
            font-size: clamp(1.25rem, 3vw, 1.85rem);
            font-weight: 300;
            color: var(--text-2);
            margin-bottom: 4rem;
            opacity: 0;
        }

        .bts-author {
            font-size: 1rem;
            color: var(--text-3);
            line-height: 1.7;
            margin-bottom: 5rem;
            opacity: 0;
        }
        
        .bts-author strong {
            color: var(--text);
            font-weight: 500;
        }

        /* Subtle and slow pulsing Explore button */
        .bts-scroll-down {
            background: none;
            border: none;
            color: var(--text-2);
            font-size: 0.85rem;
            font-weight: 600;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            cursor: pointer;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.75rem;
            opacity: 0;
            transition: color 0.3s var(--ease);
        }
        @media (hover: hover) and (pointer: fine) {
            .bts-scroll-down:hover {
                color: var(--accent);
            }
        }
        
        .bts-arrow {
            /* No looping movement animations to prevent motion sickness */
            margin-top: 0.25rem;
            opacity: 0.7;
        }

        /* Orchestrated Intro Animations */
        .bts-modal.open .bts-logo {
            animation: btsFadeScale 1s cubic-bezier(0.16, 1, 0.3, 1) 0.1s both;
        }
        .bts-modal.open .bts-title {
            animation: btsSlideUp 1.2s cubic-bezier(0.16, 1, 0.3, 1) 0.3s both;
        }
        .bts-modal.open .bts-subtitle {
            animation: btsSlideUp 1.2s cubic-bezier(0.16, 1, 0.3, 1) 0.5s both;
        }
        .bts-modal.open .bts-author {
            animation: btsSlideUp 1.2s cubic-bezier(0.16, 1, 0.3, 1) 0.7s both;
        }
        .bts-modal.open .bts-scroll-down {
            animation: btsFadeIn 1s ease 1s both;
        }

        @keyframes btsFadeScale {
            from { opacity: 0; transform: scale(0.9); }
            to { opacity: 1; transform: scale(1); }
        }
        @keyframes btsSlideUp {
            from { opacity: 0; transform: translateY(30px); }
            to { opacity: 1; transform: translateY(0); }
        }
        @keyframes btsFadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }

        /* Abstract Section */
        .bts-abstract p {
            font-size: clamp(1.4rem, 3.5vw, 2.1rem);
            line-height: 1.6;
            font-weight: 300;
            color: var(--text);
            text-align: center;
            letter-spacing: -0.01em;
            background: linear-gradient(135deg, var(--text) 30%, var(--text-2) 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        /* Standard Sections */
        .bts-section h2 {
            font-size: clamp(2.25rem, 5vw, 3.75rem);
            margin-bottom: 2.5rem;
            color: var(--text);
            font-style: italic;
            letter-spacing: -0.02em;
            background: linear-gradient(135deg, var(--text) 40%, var(--accent) 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .bts-section h3 {
            font-size: 1.75rem;
            margin-top: 4rem;
            margin-bottom: 1.25rem;
            color: var(--text);
            font-weight: 400;
        }

        .bts-section p {
            font-size: 1.125rem;
            line-height: 1.85;
            color: var(--text-2);
            margin-bottom: 1.75rem;
            font-weight: 300;
        }

        /* Luxury Counters for Lists */
        .bts-list {
            list-style: none;
            counter-reset: bts-counter;
            padding-left: 0;
            margin-top: 2rem;
            margin-bottom: 3rem;
        }
        
        .bts-list li {
            font-size: 1.125rem;
            color: var(--text-2);
            margin-bottom: 2rem;
            font-weight: 300;
            line-height: 1.8;
            position: relative;
            padding-left: 4.5rem;
        }
        
        .bts-list li::before {
            counter-increment: bts-counter;
            content: "0" counter(bts-counter);
            position: absolute;
            left: 0;
            top: -0.25rem;
            font-family: var(--font-serif);
            font-size: 2.25rem;
            font-weight: 300;
            font-style: italic;
            color: var(--accent);
            opacity: 0.75;
            line-height: 1;
        }
        
        .bts-list strong {
            color: var(--text);
            font-weight: 500;
        }

        .bts-closing {
            font-family: var(--font-serif);
            font-size: clamp(1.75rem, 4vw, 2.5rem) !important;
            font-style: italic;
            text-align: center;
            margin-top: 6rem;
            color: var(--text) !important;
            background: linear-gradient(135deg, var(--text) 30%, var(--accent) 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .bts-section code {
            font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
            background: var(--bg-raised); 
            padding: 0.25em 0.5em;
            border: 1px solid var(--border); 
            font-size: 0.9em;
            border-radius: 6px;
            color: var(--text);
        }

        .bts-footer-close-btn {
            display: block;
            margin: 4rem auto 0;
            padding: 0.875rem 2.5rem;
            border-radius: 999px;
            border: 1px solid var(--border-strong);
            background: var(--text);
            color: var(--bg);
            font-size: 0.9rem;
            font-weight: 500;
            cursor: pointer;
            transition: transform 0.3s var(--ease), background-color 0.3s var(--ease), color 0.3s var(--ease), box-shadow 0.3s var(--ease);
        }
        @media (hover: hover) and (pointer: fine) {
            .bts-footer-close-btn:hover {
                transform: scale(1.04);
                background: var(--accent);
                border-color: var(--accent);
                color: #fff;
                box-shadow: 0 12px 30px -10px var(--ring);
            }
        }
        .bts-footer-close-btn:active {
            transform: scale(0.98);
        }

        @media (max-width: 640px) {
            .bts-close-btn {
                top: 1.25rem;
                right: 1.25rem;
                width: 44px;
                height: 44px;
            }
            .bts-content-wrap {
                padding: 0 1.25rem;
            }
            .bts-section { 
                padding: 4rem 1rem;
            }
            .bts-list li { padding-left: 3rem; }
            .bts-list li::before { font-size: 1.75rem; }
        }

        /* ══════════════════════════════════════════════════════
           VIEW TRANSITIONS & SCROLL PROGRESS
        ══════════════════════════════════════════════════════ */
        ::view-transition-old(root),
        ::view-transition-new(root) {
            animation-duration: 0.4s;
            animation-timing-function: var(--ease);
        }
        
        .reading-progress {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 3px;
            background: var(--accent);
            transform-origin: 0% 50%;
            transform: scaleX(0);
            z-index: 1000;
            display: none; 
            pointer-events: none;
        }

        #postpage .reading-progress {
            display: block;
        }

        @supports (animation-timeline: scroll()) {
            #postpage .reading-progress {
                animation: progress-grow linear;
                animation-timeline: scroll(root block);
            }
        }
        
        @keyframes progress-grow {
            from { transform: scaleX(0); }
            to { transform: scaleX(1); }
        }
