        :root {
            --primary: #8F0177;
            --primary-light: #b30296;
            --base: #ffffff;
            --text: #000000;
        }

        body {
            font-family: 'Inconsolata', monospace;
            background-color: var(--base);
            color: var(--text);
            margin: 0;
            overflow-x: hidden;
            letter-spacing: 0.08em;
            line-height: 1.6;
        }

        /* --- Animations & UI Effects --- */
        .blink { animation: blink 1.2s step-end infinite; }
        @keyframes blink { 50% { opacity: 0; } }

        .scanline {
            width: 100%;
            height: 2px;
            background: rgba(143, 1, 119, 0.1);
            position: fixed;
            top: 0;
            z-index: 999;
            pointer-events: none;
            animation: scan 8s linear infinite;
        }
        @keyframes scan { 0% { top: 0; } 100% { top: 100%; } }

        .nav-link { position: relative; transition: color 0.3s; }
        .nav-link::after {
            content: '';
            position: absolute;
            bottom: -2px;
            left: 0;
            width: 0;
            height: 2px;
            background: var(--primary);
            transition: width 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .nav-link:hover::after { width: 100%; }
        .nav-link:hover { color: var(--primary); }

        /* --- Grid System & Layout --- */
        .broken-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 20px; }
        .border-system { border: 1px solid var(--primary); }
        .border-thin { border: 1px solid rgba(143, 1, 119, 0.2); }

        /* Stacked Cards System */
        .stack-card { 
            position: sticky; 
            top: 120px; 
            min-height: 60vh; 
            margin-bottom: 25vh;
            background: white;
            border: 1px solid var(--primary);
            box-shadow: 0 0 0 1px white inset;
            transform-origin: center;
        }

        /* Page Handling */
        .page-node { display: none; }
        .page-node.active { display: block; animation: terminalIn 0.5s ease-out forwards; }
        @keyframes terminalIn {
            from { opacity: 0; filter: blur(5px); transform: translateY(10px); }
            to { opacity: 1; filter: blur(0); transform: translateY(0); }
        }

        /* Scroll Lab (Horizontal) */
        .scroll-lab {
            display: flex;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            scrollbar-width: none;
            cursor: grab;
        }
        .scroll-lab::-webkit-scrollbar { display: none; }
        .lab-item { 
            min-width: 450px; 
            height: 600px; 
            flex-shrink: 0; 
            margin-right: 2px; 
            scroll-snap-align: start;
            border: 1px solid var(--primary);
        }

        /* Cart Notification */
        #cart-feedback {
            position: fixed;
            bottom: 20px;
            right: 20px;
            background: var(--primary);
            color: white;
            padding: 10px 20px;
            z-index: 1000;
            display: none;
            font-weight: bold;
        }

        /* Mobile Menu */
        #mobile-menu {
            transform: translateX(100%);
            transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
        }
        #mobile-menu.active { transform: translateX(0); }
        
        /* Hero Animated Background */
        .hero-bg {
            background-image: radial-gradient(var(--primary) 0.5px, transparent 0.5px);
            background-size: 30px 30px;
            opacity: 0.1;
        }
