:root {
            --comic-yellow: #ffde00;
            --comic-red: #ff3e3e;
            --comic-blue: #2e5bff;
            --ink-black: #000000;
            --page-white: #ffffff;
        }

        /* Custom Lightning Bolt Cursor */
        * { cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"/></svg>'), auto; }

        html { scroll-behavior: smooth;
        
            overflow-x: hidden;
        }

        body {
            background-color: #e5e7eb;
            background-image: radial-gradient(var(--ink-black) 0.8px, transparent 0);
            background-size: 20px 20px;
            background-attachment: fixed;
            color: var(--ink-black);
            font-family: 'Inter', sans-serif;
            overflow-x: hidden;
            transition: background-color 0.3s ease;
        }

        .font-comic-title { font-family: 'Bangers', cursive; }
        .font-comic-marker { font-family: 'Permanent Marker', cursive; }

        /* Manga/Comic Layout Elements */
        .panel {
            background: white;
            border: 5px solid var(--ink-black);
            box-shadow: 10px 10px 0px var(--ink-black);
            position: relative;
            overflow: hidden;
            transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            opacity: 0;
            transform: scale(0.9) translateY(20px);
        }

        .panel.revealed {
            opacity: 1;
            transform: scale(1) translateY(0);
        }

        .panel:hover {
            transform: translateY(-8px) rotate(1deg);
            box-shadow: 18px 18px 0px var(--ink-black);
        }

        /* Interactive Nav Bar Styling */
        nav .nav-item {
            position: relative;
            transition: all 0.2s;
            cursor: pointer;
        }
        nav .nav-item:hover {
            transform: scale(1.1) rotate(-2deg);
            color: var(--comic-red);
        }
        nav .nav-item::after {
            content: 'GO!';
            position: absolute;
            top: -20px;
            left: 50%;
            transform: translateX(-50%);
            font-family: 'Bangers', cursive;
            font-size: 0.8rem;
            opacity: 0;
            transition: 0.2s;
            color: var(--comic-blue);
        }
        nav .nav-item:hover::after {
            opacity: 1;
            top: -25px;
        }

        /* Speed Lines Background */
        #speed-lines {
            position: fixed;
            top: 0; left: 0; width: 100%; height: 100%;
            pointer-events: none;
            opacity: 0.1;
            z-index: 0;
        }

        .halftone-blue { background-image: radial-gradient(var(--comic-blue) 15%, transparent 16%); background-size: 6px 6px; }
        .halftone-red { background-image: radial-gradient(var(--comic-red) 15%, transparent 16%); background-size: 6px 6px; }

        .onomatopoeia {
            position: absolute;
            font-family: 'Bangers', cursive;
            -webkit-text-stroke: 2px var(--ink-black);
            text-shadow: 4px 4px 0px var(--ink-black);
            z-index: 100;
            pointer-events: none;
            text-transform: uppercase;
            animation: bounceIn 0.5s cubic-bezier(0.36, 0, 0.66, -0.56) forwards;
        }

        @keyframes bounceIn {
            0% { transform: scale(0) rotate(-45deg); opacity: 0; }
            70% { transform: scale(1.2) rotate(10deg); opacity: 1; }
            100% { transform: scale(1) rotate(5deg); opacity: 1; }
        }

        .btn-comic {
            background: var(--comic-yellow);
            border: 4px solid var(--ink-black);
            box-shadow: 5px 5px 0px var(--ink-black);
            font-family: 'Bangers', cursive;
            padding: 0.75rem 1.5rem;
            font-size: 1.5rem;
            transition: all 0.1s;
            display: inline-block;
            cursor: pointer;
        }

        .btn-comic:hover { background: var(--comic-red); color: white; transform: scale(1.05); }
        .btn-comic:active { transform: translate(3px, 3px); box-shadow: 2px 2px 0px var(--ink-black); }

        .speech-bubble {
            position: relative;
            background: #fff;
            border: 4px solid #000;
            border-radius: 20px;
            padding: 15px;
            box-shadow: 5px 5px 0 #000;
            min-width: 150px;
            text-align: center;
        }
        .speech-bubble::after {
            content: '';
            position: absolute;
            bottom: -15px;
            left: 50%;
            transform: translateX(-50%);
            border-width: 15px 15px 0;
            border-style: solid;
            border-color: #000 transparent transparent;
        }

        /* Dimension Scanner Styling */
        #scanner-lens {
            position: absolute;
            width: 220px;
            height: 220px;
            border: 6px solid var(--comic-yellow);
            border-radius: 50%;
            pointer-events: none;
            z-index: 50;
            box-shadow: 0 0 50px rgba(255, 222, 0, 0.5), inset 0 0 50px rgba(255, 222, 0, 0.5);
            display: none;
            background: radial-gradient(circle, rgba(46, 91, 255, 0.15) 0%, transparent 70%);
            overflow: hidden;
        }

        #scanner-lens::before {
            content: 'SCANNING...';
            position: absolute;
            top: 20px;
            left: 50%;
            transform: translateX(-50%);
            font-family: 'Bangers', cursive;
            color: var(--comic-yellow);
            font-size: 0.9rem;
            letter-spacing: 2px;
        }

        .blueprint-grid {
            background-image: linear-gradient(#2e5bff 1px, transparent 1px), linear-gradient(90deg, #2e5bff 1px, transparent 1px);
            background-size: 40px 40px;
            background-color: #0a0a0a;
            border: 10px solid #000;
            position: relative;
        }

        /* Chapter Hero Animations */
        .hero-chapter {
            display: none;
            animation: pageFlip 0.6s ease-in-out forwards;
        }
        .hero-chapter.active {
            display: block;
        }
        @keyframes pageFlip {
            from { transform: rotateY(90deg); opacity: 0; }
            to { transform: rotateY(0deg); opacity: 1; }
        }

        .view-container { display: none; }
        .view-container.active { display: block; }

        input, textarea {
            border: 4px solid black !important;
            padding: 1rem !important;
            font-weight: bold !important;
            font-family: 'Inter', sans-serif !important;
        }
        input:focus, textarea:focus {
            background-color: #fff9e6;
            outline: none;
            box-shadow: 6px 6px 0 var(--comic-blue);
        }

        .shake { animation: shake 0.5s cubic-bezier(.36,.07,.19,.97) both; }
        @keyframes shake {
            10%, 90% { transform: translate3d(-1px, 0, 0); }
            20%, 80% { transform: translate3d(2px, 0, 0); }
            30%, 50%, 70% { transform: translate3d(-4px, 0, 0); }
            40%, 60% { transform: translate3d(4px, 0, 0); }
        }

        #trail-canvas {
            position: fixed;
            top: 0; left: 0;
            pointer-events: none;
            z-index: 99;
        }

        .footer-link {
            display: block;
            font-family: 'Permanent Marker', cursive;
            margin-bottom: 0.5rem;
            transition: 0.2s;
            cursor: pointer;
        }
        .footer-link:hover {
            color: var(--comic-yellow);
            transform: translateX(10px);
        }
        
        /* Manga Page Formats */
        .manga-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            grid-template-rows: repeat(2, 300px);
            gap: 15px;
        }
        @media (max-width: 768px) {
            .manga-grid {
                grid-template-columns: 1fr;
                grid-template-rows: auto;
            }
        }