
        /* Chart Container Strict Sizing */
        .chart-container {
            position: relative;
            width: 100%;
            max-width: 100%;
            height: 300px; /* Base height for mobile */
            margin: 0 auto;
        }

        .i2-section-03-drift-chart-column {
            min-height: 0;
            display: flex;
            flex-direction: column;
            align-self: stretch;
        }

        .i2-section-03-drift-chart-area {
            flex: 1 1 auto;
            min-height: 320px;
            max-height: 500px;
            height: 100%;
        }

        .i2-section-03-drift-chart-area canvas {
            width: 100% !important;
            height: 100% !important;
        }

        .plotly-container {
            position: relative;
            width: 100%;
            height: 400px;
        }

        @media (min-width: 768px) {
            .chart-container {
                height: 400px; /* Taller on desktop */
            }

            .i2-section-03-drift-chart-area {
                min-height: 360px;
                max-height: 620px;
            }
            .plotly-container {
                height: 500px;
            }
        }

        @media (min-width: 1024px) {
            .i2-section-03-drift-chart-area {
                height: min(100%, 620px);
            }
        }

        body.bg-brand-dark {
            background: radial-gradient(1200px 800px at 20% 0%, rgba(122, 162, 247, 0.18), transparent 55%),
                        radial-gradient(900px 700px at 100% 30%, rgba(36, 204, 142, 0.10), transparent 55%),
                        #0b0c10;
        }

		        /* Custom Scrollbar */
		        body.bg-brand-dark::-webkit-scrollbar {
		            width: 8px;
		        }
        body.bg-brand-dark::-webkit-scrollbar-track {
            background: #11131a;
        }
        body.bg-brand-dark::-webkit-scrollbar-thumb {
            background: rgba(255, 255, 255, 0.16);
            border-radius: 4px;
        }
		        body.bg-brand-dark::-webkit-scrollbar-thumb:hover {
		            background: rgba(255, 255, 255, 0.24);
		        }

	        /* Hedge Builder */
	        .hedge-toggle {
	            display: inline-flex;
	            align-items: center;
	            justify-content: center;
	            padding: 0.55rem 0.75rem;
	            border-radius: 0.75rem;
	            border: 1px solid rgba(255, 255, 255, 0.14);
	            background: rgba(6, 7, 12, 0.72);
	            color: rgba(181, 182, 191, 0.96);
	            font-size: 0.85rem;
	            font-weight: 600;
	            line-height: 1.2;
	            text-align: left;
	            transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
	            user-select: none;
	        }
	        .hedge-toggle:hover {
	            border-color: rgba(187, 154, 247, 0.38);
	        }
	        .hedge-toggle[aria-pressed="true"] {
	            border-color: rgba(187, 154, 247, 0.78);
	            background: rgba(187, 154, 247, 0.14);
	            color: rgba(242, 243, 248, 0.96);
	            box-shadow: 0 0 0 1px rgba(187, 154, 247, 0.25), 0 0 18px rgba(187, 154, 247, 0.12);
	        }
	        .hedge-toggle:active {
	            transform: translateY(1px);
	        }
	        @media (prefers-reduced-motion: reduce) {
	            .hedge-toggle {
	                transition: none;
	            }
	        }

	        /* Flow Chart CSS Elements (NO SVG) */
	        .flow-node {
	            position: relative;
	            transition: transform 0.2s;
	        }
        .flow-node:hover {
            transform: translateY(-2px);
        }
        
        /* CSS Arrows */
        .arrow-down::after {
            content: '';
            position: absolute;
            bottom: -20px;
            left: 50%;
            transform: translateX(-50%);
            border-left: 10px solid transparent;
            border-right: 10px solid transparent;
            border-top: 10px solid rgba(255, 255, 255, 0.22);
        }
        
        /* Pyramid CSS (NO SVG) */
        .pyramid-shell {
            position: relative;
            width: min(100%, 56rem);
            margin-inline: auto;
            clip-path: polygon(18% 0, 82% 0, 96% 100%, 4% 100%);
            overflow: hidden;
            isolation: isolate;
        }
        .pyramid-shell::after {
            content: '';
            position: absolute;
            inset: 0;
            pointer-events: none;
            clip-path: polygon(18% 0, 82% 0, 96% 100%, 4% 100%);
            border: 1px solid rgba(255, 255, 255, 0.16);
        }
        .pyramid-level {
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 92px;
            padding: 0.75rem 1.5rem;
            font-weight: bold;
            position: relative;
            z-index: 1;
            transition: opacity 0.2s ease;
        }
        .pyramid-level + .pyramid-level {
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
        }
        .pyramid-level:hover {
            opacity: 0.94;
        }

        .shape-scale-btn {
            border-left: 3px solid transparent;
            transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
        }
        .shape-scale-btn.is-active {
            border-left-color: rgba(187, 154, 247, 0.95);
            background: rgba(255, 255, 255, 0.05);
            color: #f2f3f8;
        }
        .shape-tab-btn {
            position: relative;
            color: #b5b6bf;
            transition: color 0.15s ease;
        }
        .shape-tab-btn:hover {
            color: #e7e7ea;
        }
        .shape-tab-btn.is-active {
            color: #f2f3f8;
        }
        .shape-tab-btn.is-active::after {
            content: '';
            position: absolute;
            left: 0;
            right: 0;
            bottom: -0.45rem;
            height: 2px;
            background: rgba(187, 154, 247, 0.95);
        }
        .shape-visualizer-grid {
            background-image: radial-gradient(rgba(181, 182, 191, 0.3) 1px, transparent 1px);
            background-size: 20px 20px;
        }
        .shape-particle {
            transition: transform 0.1s linear, opacity 0.1s linear;
            will-change: transform, opacity;
        }

        .sandwich-select {
            transition: background-color 0.15s ease, border-color 0.15s ease;
        }
        .sandwich-select[aria-pressed="true"] {
            border-color: rgba(122, 162, 247, 0.65);
            background: rgba(122, 162, 247, 0.14);
        }
        
    
        .chart-container {
            position: relative;
            width: 100%;
            height: 350px;
            margin: 0 auto;
        }

        @media (min-width: 768px) {
            .chart-container {
                height: 400px;
            }
        }

        .fractal-layer {
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-left: 4px solid;
            padding: 16px;
            margin: 8px 0;
            background: rgba(21, 27, 43, 0.5);
            transition: all 0.3s ease;
            cursor: default;
        }

        .fractal-layer:hover {
            transform: translateX(5px);
            background: rgba(99, 102, 241, 0.1);
            border-color: rgba(99, 102, 241, 0.5);
        }

        .loop-node {
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .arrow-right::after {
            content: "→";
            font-family: 'JetBrains Mono', monospace;
            font-size: 34px;
            color: #94a3b8;
        }

        .moat-loop {
            position: relative;
        }

        .moat-loop-svg {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
        }

        .moat-loop-track {
            stroke: rgba(148, 163, 184, 0.18);
            stroke-width: 2;
            fill: none;
        }

        .moat-loop-runner {
            stroke: rgba(217, 70, 239, 0.95);
            stroke-width: 3;
            fill: none;
            stroke-linecap: round;
            stroke-dasharray: 18 82;
            animation-name: moat-run;
            animation-duration: var(--moat-loop-duration, 3.2s);
            animation-timing-function: linear;
            animation-iteration-count: infinite;
            will-change: stroke-dashoffset;
            filter: drop-shadow(0 0 10px rgba(217, 70, 239, 0.35)) drop-shadow(0 0 14px rgba(6, 182, 212, 0.2));
        }

        .moat-loop:hover .moat-loop-runner {
            animation-duration: var(--moat-loop-duration-hover, 2.2s);
        }

        @keyframes moat-run {
            to { stroke-dashoffset: -100; }
        }

        @media (prefers-reduced-motion: reduce) {
            .moat-loop-runner {
                animation: none;
            }
        }

	        body.bg-cyber-dark::-webkit-scrollbar {
	            width: 8px;
	        }
	        body.bg-cyber-dark::-webkit-scrollbar-track {
	            background: #0B0F19;
	        }
	        body.bg-cyber-dark::-webkit-scrollbar-thumb {
	            background: #334155;
	            border-radius: 4px;
	        }
	        body.bg-cyber-dark::-webkit-scrollbar-thumb:hover {
	            background: #475569;
	        }
    
        .chart-container {
            position: relative;
            width: 100%;
            max-width: 100%;
            height: 320px;
            margin: 0 auto;
        }

        @media (min-width: 768px) {
            .chart-container {
                height: 420px;
            }
        }

        body.bg-brand-dark {
            background: radial-gradient(1200px 800px at 20% 0%, rgba(122, 162, 247, 0.18), transparent 55%),
                        radial-gradient(900px 700px at 100% 30%, rgba(36, 204, 142, 0.10), transparent 55%),
                        #0b0c10;
        }

	        body.bg-brand-dark::-webkit-scrollbar { width: 8px; }
	        body.bg-brand-dark::-webkit-scrollbar-track { background: #11131a; }
	        body.bg-brand-dark::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.16); border-radius: 4px; }
	        body.bg-brand-dark::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, 0.24); }

        .pill-tab {
            padding: 0.45rem 0.75rem;
            border-radius: 0.6rem;
            color: rgba(181, 182, 191, 0.95);
            transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease, transform 150ms ease;
            border: 1px solid transparent;
            font-weight: 700;
        }
        .pill-tab[aria-pressed="true"] {
            background: rgba(122, 162, 247, 0.16);
            border-color: rgba(122, 162, 247, 0.35);
            color: rgba(242, 243, 248, 0.98);
        }
        .pill-tab:hover { transform: translateY(-1px); }

        .trace-line {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.08rem 0.35rem;
            border-radius: 0.4rem;
        }
        .trace-read { background: rgba(122, 162, 247, 0.14); }
        .trace-write { background: rgba(187, 154, 247, 0.14); }
        .trace-exec { background: rgba(42, 195, 222, 0.12); }
        .trace-swatch {
            width: 10px;
            height: 10px;
            border-radius: 999px;
            border: 1px solid rgba(255, 255, 255, 0.18);
        }
        .trace-swatch.read { background: rgba(122, 162, 247, 0.85); }
        .trace-swatch.write { background: rgba(187, 154, 247, 0.85); }
        .trace-swatch.exec { background: rgba(42, 195, 222, 0.75); }

        .soft-toggle {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 0.5rem 0.75rem;
            border-radius: 0.75rem;
            border: 1px solid rgba(255, 255, 255, 0.14);
            background: rgba(6, 7, 12, 0.72);
            color: rgba(181, 182, 191, 0.96);
            font-size: 0.85rem;
            font-weight: 700;
            transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
            user-select: none;
        }
        .soft-toggle[aria-pressed="true"] {
            border-color: rgba(187, 154, 247, 0.78);
            background: rgba(187, 154, 247, 0.14);
            color: rgba(242, 243, 248, 0.96);
            box-shadow: 0 0 0 1px rgba(187, 154, 247, 0.25), 0 0 18px rgba(187, 154, 247, 0.12);
        }
        .soft-toggle:active { transform: translateY(1px); }

        .attempt-pill {
            height: 10px;
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.10);
            transition: background-color 150ms ease, border-color 150ms ease, transform 150ms ease;
        }
        .attempt-pill.is-fail { background: rgba(247, 118, 142, 0.26); border-color: rgba(247, 118, 142, 0.30); }
        .attempt-pill.is-pass { background: rgba(42, 195, 222, 0.22); border-color: rgba(42, 195, 222, 0.28); }

        /* Prevent Safari/iOS range inputs from overflowing grid cells and visually overlapping neighbors. */
        input[type="range"] {
            display: block;
            min-width: 0;
            max-width: 100%;
        }

        @media (prefers-reduced-motion: reduce) {
            .pill-tab, .soft-toggle, .attempt-pill { transition: none; }
            .pill-tab:hover { transform: none; }
        }
    
