
        body {
            background-color: #060a13;
            color: #f1f5f9;
        }

        /* Prevent text selection when coloring dragging */
        #drawing-table {
            user-select: none;
            -webkit-user-select: none;
            -moz-user-select: none;
            border-collapse: collapse;
        }

        /* Table cells definition for standard interactive Paito (Desktop Default) */
        .asu {
            font-family: 'JetBrains Mono', monospace;
            text-align: center;
            font-size: 1rem;
            font-weight: 800;
            cursor: crosshair;
            transition: background-color 0.15s, transform 0.05s;
            border: 1px solid #111e38 !important;
            width: 34px;
            height: 38px;
            min-width: 34px;
        }
        
        .asu:hover {
            box-shadow: inset 0 0 5px rgba(255, 255, 255, 0.2);
            filter: brightness(1.1);
        }

        /* Divider space cells styling (asux) */
        .asux {
            background-color: #04070e !important;
            border: 1px solid #0b1329 !important;
            width: 12px;
            min-width: 12px;
            font-size: 0px;
            padding: 0px;
            pointer-events: none;
        }

        /* Kunci agar elemen layout utama dan body tidak pecah/melar keluar layar di HP */
        body, main, section {
            max-width: 100%;
            overflow-x: hidden;
        }

        /* Wadah khusus tabel dengan scrollbar internal yang aman dan lancar di layar sentuh */
        #table-wrap {
            position: relative;
            width: 100%;
            max-width: 100%;
            overflow-x: auto !important;
            -webkit-overflow-scrolling: touch;
            padding-left: 2px !important;
            padding-right: 2px !important;
        }

        /* Aturan Responsif Ukuran Sel Paito khusus Layar Sedang (Tablet) */
        @media (max-width: 1200px) {
            .asu {
                width: 26px;
                height: 30px;
                min-width: 26px;
                font-size: 0.85rem;
            }
            .asux {
                width: 8px;
                min-width: 8px;
            }
        }

        /* Aturan Responsif Ukuran Sel Paito khusus Layar HP (Mobile) */
        @media (max-width: 768px) {
            .asu {
                width: 18px;
                height: 22px;
                min-width: 18px;
                font-size: 0.7rem;
            }
            .asux {
                width: 4px;
                min-width: 4px;
            }
            #drawing-table thead tr.headd td {
                font-size: 0.6rem;
                padding: 4px 1px !important;
            }
            #drawing-table thead tr:nth-child(2) td {
                font-size: 0.5rem;
                padding: 1px 0px !important;
            }
        }

        /* Aturan Responsif Ukuran Sel Paito khusus Layar HP Kecil */
        @media (max-width: 480px) {
            .asu {
                width: 14px;
                height: 18px;
                min-width: 14px;
                font-size: 0.55rem;
            }
            .asux {
                width: 3px;
                min-width: 3px;
            }
        }

        /* Color Circle Palette Selectors */
        .color {
            width: 28px;
            height: 28px;
            border-radius: 50%;
            cursor: pointer;
            border: 2px solid #1e294b;
            transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
            flex-shrink: 0;
        }
        
        .color:hover {
            transform: scale(1.18);
        }
        
        .color.selected {
            border-color: #ffffff !important;
            box-shadow: 0 0 14px rgba(255, 255, 255, 0.5);
            transform: scale(1.22);
        }

        /* Alt-Eraser helper design */
        .eraser {
            background: #0b1329;
            position: relative;
            border: 2px dashed #475569;
        }
        
        .eraser::after {
            content: "\f12d";
            font-family: "Font Awesome 6 Free";
            font-weight: 900;
            font-size: 11px;
            color: #94a3b8;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }

        /* Sticky Control Menu (Gaya default desktop saat melayang) */
        #colormenu.fixed {
            position: fixed;
            top: 15px;
            z-index: 50;
            background-color: rgba(6, 10, 19, 0.95);
            backdrop-filter: blur(12px);
            border: 2px solid #3b82f6;
            box-shadow: 0 15px 35px -5px rgba(0, 0, 0, 0.7);
            border-radius: 20px;
            padding: 10px 14px;
            max-width: 95%;
            width: auto;
            left: 50% !important;
            transform: translateX(-50%);
        }

        /* Khusus tampilan mobile pada menu warna agar membungkus dengan rapi */
        @media (max-width: 640px) {
            #color-selector {
                justify-content: center;
                gap: 6px;
            }
            .color {
                width: 24px;
                height: 24px;
            }
            .eraser::after {
                font-size: 9px;
            }
            
            /* KETIKA MELAYANG DI HP: Ubah menjadi Bar Tipis yang Sangat Rapi di Paling Atas Layar */
            #colormenu.fixed {
                position: fixed !important;
                top: 0 !important;
                left: 0 !important;
                right: 0 !important;
                width: 100% !important;
                max-width: 100% !important;
                transform: none !important;
                border-radius: 0 0 14px 14px !important;
                border: none !important;
                border-bottom: 2.5px solid #2563eb !important; /* Batas bawah biru solid modern */
                background-color: rgba(6, 10, 19, 0.97) !important;
                backdrop-filter: blur(16px) !important;
                box-shadow: 0 10px 30px rgba(0, 0, 0, 0.9) !important;
                padding: 10px 8px !important;
                display: flex !important;
                flex-direction: row !important; /* Sejajar horizontal */
                align-items: center !important;
                justify-content: space-between !important;
                gap: 8px !important;
                z-index: 9999 !important;
            }

            /* Sesuaikan ukuran tombol 'Clear Coretan' di bar atas HP agar tidak gemuk */
            #colormenu.fixed #btnSubmit {
                width: auto !important;
                padding: 6px 10px !important;
                font-size: 10px !important;
                flex-shrink: 0 !important;
                border-radius: 8px !important;
            }

            /* Sesuaikan barisan warna di bar atas HP */
            #colormenu.fixed #color-selector {
                gap: 4px !important;
                flex-wrap: nowrap !important; /* Paksa satu baris agar rapi kesamping */
                overflow-x: auto !important;
                justify-content: flex-end !important;
                width: auto !important;
            }

            /* Perkecil sedikit lingkaran warna pada mode sticky HP agar muat satu baris */
            #colormenu.fixed .color {
                width: 18px !important;
                height: 18px !important;
                border-width: 1px !important;
            }
            
            #colormenu.fixed .eraser::after {
                font-size: 8px !important;
            }
        }

        /* Aturan Khusus Padding 2px di HP agar Tabel Paito Membentang Maksimal */
        @media (max-width: 640px) {
            body {
                padding-left: 0px !important;
                padding-right: 0px !important;
            }
            main {
                padding: 4px 2px !important;
            }
            #table-wrap {
                padding-left: 2px !important;
                padding-right: 2px !important;
            }
            header {
                padding-left: 8px !important;
                padding-right: 8px !important;
            }
        }

        /* Tracing Image background layout overlays */
        #table-wrap {
            position: relative;
        }
        
        #tracing-image {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            opacity: 0.25;
            pointer-events: none;
            background-size: cover;
            background-position: center;
            z-index: 0;
        }

        /* Scrollbar Stylings */
        .custom-scroll::-webkit-scrollbar {
            height: 10px;
            width: 8px;
        }
        .custom-scroll::-webkit-scrollbar-track {
            background: #04070e;
            border-radius: 10px;
        }
        .custom-scroll::-webkit-scrollbar-thumb {
            background: #1e294b;
            border-radius: 10px;
        }
        .custom-scroll::-webkit-scrollbar-thumb:hover {
            background: #2563eb;
        }

        /* Custom Colors Highlight Classes (Orisinal jQuery classes compatibility) */
        /* Ekor (Green) */
        .e0, .e1, .e2, .e3, .e4, .e5, .e6, .e7, .e8, .e9 {
            background-color: #10b981 !important;
            color: #ffffff !important;
            box-shadow: inset 0 0 0 3px #34d399;
            text-shadow: 0 1px 2px rgba(0,0,0,0.5);
        }
        /* Kepala (Amber/Yellow-Orange) */
        .k0, .k1, .k2, .k3, .k4, .k5, .k6, .k7, .k8, .k9 {
            background-color: #f59e0b !important;
            color: #ffffff !important;
            box-shadow: inset 0 0 0 3px #fbbf24;
            text-shadow: 0 1px 2px rgba(0,0,0,0.5);
        }
        /* Kop (Cyan/Blue) */
        .c0, .c1, .c2, .c3, .c4, .c5, .c6, .c7, .c8, .c9 {
            background-color: #06b6d4 !important;
            color: #ffffff !important;
            box-shadow: inset 0 0 0 3px #22d3ee;
            text-shadow: 0 1px 2px rgba(0,0,0,0.5);
        }
        /* As (Crimson/Red) */
        .a0, .a1, .a2, .a3, .a4, .a5, .a6, .a7, .a8, .a9 {
            background-color: #ef4444 !important;
            color: #ffffff !important;
            box-shadow: inset 0 0 0 3px #fca5a5;
            text-shadow: 0 1px 2px rgba(0,0,0,0.5);
        }
