Hostinger's credentials format

๐Ÿ“ฆ Server
โœจ The Prompt Phrase
=== DATABASE CREDENTIALS (Hostinger) ===
Environment: hostinger
Type: MYSQL
Host: localhost
Port: 3306
Database: u419999707_Bunny
Username: u419999707_naif
Password: P@master5007
Charset: utf8mb4

๐Ÿ’ป Code Preview

๐Ÿ“ฆ All-in-One Code
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>๐Ÿฐ Tutorial Hostinger Credentials Report</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
            min-height: 100vh;
            overflow-x: hidden;
            color: #fff;
        }

        /* Floating particles */
        .particles {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            overflow: hidden;
            z-index: 0;
        }

        .particle {
            position: absolute;
            width: 10px;
            height: 10px;
            background: rgba(255, 255, 255, 0.1);
            border-radius: 50%;
            animation: float 15s infinite;
        }

        @keyframes float {
            0%, 100% { transform: translateY(100vh) rotate(0deg); opacity: 0; }
            10% { opacity: 1; }
            90% { opacity: 1; }
            100% { transform: translateY(-100vh) rotate(720deg); opacity: 0; }
        }

        /* Header */
        .header {
            text-align: center;
            padding: 60px 20px;
            position: relative;
            z-index: 1;
        }

        .header h1 {
            font-size: 3rem;
            background: linear-gradient(90deg, #ff6b6b, #feca57, #48dbfb, #ff9ff3, #ff6b6b);
            background-size: 400% 400%;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            animation: gradientShift 5s ease infinite;
            margin-bottom: 20px;
        }

        @keyframes gradientShift {
            0% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
            100% { background-position: 0% 50%; }
        }

        .header .subtitle {
            font-size: 1.3rem;
            color: #a0a0a0;
            animation: fadeInUp 1s ease;
        }

        .bunny-mascot {
            font-size: 5rem;
            animation: bounce 2s ease infinite;
            display: inline-block;
        }

        @keyframes bounce {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-20px); }
        }

        /* Progress Bar */
        .progress-container {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 5px;
            background: rgba(255, 255, 255, 0.1);
            z-index: 1000;
        }

        .progress-bar {
            height: 100%;
            background: linear-gradient(90deg, #ff6b6b, #feca57, #48dbfb);
            width: 0%;
            transition: width 0.5s ease;
        }

        /* Navigation dots */
        .nav-dots {
            position: fixed;
            right: 30px;
            top: 50%;
            transform: translateY(-50%);
            z-index: 100;
        }

        .nav-dot {
            width: 15px;
            height: 15px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.3);
            margin: 15px 0;
            cursor: pointer;
            transition: all 0.3s ease;
            border: 2px solid transparent;
        }

        .nav-dot:hover, .nav-dot.active {
            background: #48dbfb;
            transform: scale(1.3);
            border-color: #fff;
            box-shadow: 0 0 20px #48dbfb;
        }

        /* Main Container */
        .container {
            max-width: 1000px;
            margin: 0 auto;
            padding: 20px;
            position: relative;
            z-index: 1;
        }

        /* Credential Cards */
        .credential-section {
            margin: 100px 0;
            opacity: 0;
            transform: translateY(50px);
            transition: all 0.8s ease;
        }

        .credential-section.visible {
            opacity: 1;
            transform: translateY(0);
        }

        .credential-card {
            background: rgba(255, 255, 255, 0.05);
            backdrop-filter: blur(10px);
            border-radius: 25px;
            padding: 40px;
            border: 1px solid rgba(255, 255, 255, 0.1);
            position: relative;
            overflow: hidden;
            transition: all 0.4s ease;
        }

        .credential-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4);
            border-color: rgba(255, 255, 255, 0.3);
        }

        .credential-card::before {
            content: '';
            position: absolute;
            top: -50%;
            left: -50%;
            width: 200%;
            height: 200%;
            background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.03), transparent);
            transform: rotate(45deg);
            animation: shine 3s infinite;
        }

        @keyframes shine {
            0% { transform: translateX(-100%) rotate(45deg); }
            100% { transform: translateX(100%) rotate(45deg); }
        }

        .card-icon {
            font-size: 4rem;
            margin-bottom: 20px;
            display: inline-block;
            animation: pulse 2s ease infinite;
        }

        @keyframes pulse {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.1); }
        }

        .card-title {
            font-size: 2rem;
            margin-bottom: 15px;
            display: flex;
            align-items: center;
            gap: 15px;
        }

        .card-value {
            font-family: 'Courier New', monospace;
            background: linear-gradient(135deg, #2d3436 0%, #000000 100%);
            padding: 15px 25px;
            border-radius: 15px;
            font-size: 1.3rem;
            color: #00ff88;
            margin: 20px 0;
            border: 2px solid #00ff88;
            position: relative;
            overflow: hidden;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .card-value:hover {
            background: linear-gradient(135deg, #000000 0%, #2d3436 100%);
            box-shadow: 0 0 30px rgba(0, 255, 136, 0.3);
        }

        .card-value.copied {
            border-color: #feca57;
            color: #feca57;
        }

        .card-value.copied::after {
            content: 'โœ“ Copied!';
            position: absolute;
            right: 20px;
            top: 50%;
            transform: translateY(-50%);
            color: #feca57;
            animation: fadeIn 0.3s ease;
        }

        .card-description {
            font-size: 1.1rem;
            line-height: 1.8;
            color: #b0b0b0;
        }

        .fun-fact {
            background: linear-gradient(135deg, rgba(254, 202, 87, 0.1) 0%, rgba(255, 107, 107, 0.1) 100%);
            border-left: 4px solid #feca57;
            padding: 20px;
            border-radius: 0 15px 15px 0;
            margin-top: 25px;
        }

        .fun-fact-title {
            color: #feca57;
            font-weight: bold;
            margin-bottom: 10px;
            display: flex;
            align-items: center;
            gap: 10px;
        }

        /* Type badges */
        .badge {
            display: inline-block;
            padding: 5px 15px;
            border-radius: 20px;
            font-size: 0.9rem;
            font-weight: bold;
            text-transform: uppercase;
        }

        .badge-mysql { background: linear-gradient(135deg, #4479A1, #00758F); }
        .badge-hostinger { background: linear-gradient(135deg, #673DE6, #8B5CF6); }
        .badge-secure { background: linear-gradient(135deg, #ff6b6b, #ee5a24); }
        .badge-charset { background: linear-gradient(135deg, #00b894, #00cec9); }

        /* Interactive elements */
        .interactive-demo {
            background: rgba(0, 0, 0, 0.3);
            border-radius: 20px;
            padding: 30px;
            margin-top: 25px;
        }

        .demo-title {
            color: #48dbfb;
            margin-bottom: 15px;
            font-size: 1.2rem;
        }

        .connection-animation {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 20px;
            padding: 30px;
        }

        .connection-node {
            width: 80px;
            height: 80px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2rem;
            background: linear-gradient(135deg, #2d3436, #000);
            border: 3px solid #48dbfb;
        }

        .connection-line {
            width: 100px;
            height: 4px;
            background: linear-gradient(90deg, #48dbfb, transparent, #48dbfb);
            position: relative;
            overflow: hidden;
        }

        .connection-line::after {
            content: '';
            position: absolute;
            width: 30px;
            height: 100%;
            background: #fff;
            animation: dataFlow 1s linear infinite;
        }

        @keyframes dataFlow {
            0% { left: -30px; }
            100% { left: 100%; }
        }

        /* Quiz section */
        .quiz-section {
            background: linear-gradient(135deg, rgba(72, 219, 251, 0.1), rgba(255, 107, 107, 0.1));
            border-radius: 25px;
            padding: 40px;
            margin: 50px 0;
            border: 2px solid rgba(72, 219, 251, 0.3);
        }

        .quiz-question {
            font-size: 1.3rem;
            margin-bottom: 25px;
        }

        .quiz-options {
            display: grid;
            gap: 15px;
        }

        .quiz-option {
            background: rgba(255, 255, 255, 0.05);
            padding: 20px;
            border-radius: 15px;
            cursor: pointer;
            transition: all 0.3s ease;
            border: 2px solid transparent;
        }

        .quiz-option:hover {
            background: rgba(255, 255, 255, 0.1);
            transform: translateX(10px);
            border-color: #48dbfb;
        }

        .quiz-option.correct {
            background: rgba(0, 184, 148, 0.3);
            border-color: #00b894;
        }

        .quiz-option.wrong {
            background: rgba(255, 107, 107, 0.3);
            border-color: #ff6b6b;
        }

        .quiz-feedback {
            margin-top: 20px;
            padding: 20px;
            border-radius: 15px;
            display: none;
            animation: fadeIn 0.5s ease;
        }

        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(-10px); }
            to { opacity: 1; transform: translateY(0); }
        }

        /* Summary section */
        .summary-section {
            background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05));
            border-radius: 25px;
            padding: 50px;
            margin: 100px 0;
            text-align: center;
        }

        .summary-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 25px;
            margin-top: 40px;
        }

        .summary-item {
            background: rgba(0, 0, 0, 0.3);
            padding: 25px;
            border-radius: 20px;
            transition: all 0.3s ease;
        }

        .summary-item:hover {
            transform: scale(1.05);
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
        }

        .summary-item .label {
            color: #a0a0a0;
            font-size: 0.9rem;
            margin-bottom: 10px;
        }

        .summary-item .value {
            color: #48dbfb;
            font-family: 'Courier New', monospace;
            font-size: 1.1rem;
            word-break: break-all;
        }

        /* Footer */
        .footer {
            text-align: center;
            padding: 50px;
            color: #666;
        }

        .footer-hearts {
            font-size: 2rem;
            animation: heartbeat 1s ease infinite;
        }

        @keyframes heartbeat {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.2); }
        }

        /* Scroll indicator */
        .scroll-indicator {
            position: fixed;
            bottom: 30px;
            left: 50%;
            transform: translateX(-50%);
            animation: scrollBounce 2s ease infinite;
            z-index: 100;
            cursor: pointer;
        }

        @keyframes scrollBounce {
            0%, 100% { transform: translateX(-50%) translateY(0); }
            50% { transform: translateX(-50%) translateY(10px); }
        }

        .scroll-arrow {
            width: 30px;
            height: 30px;
            border-right: 3px solid #48dbfb;
            border-bottom: 3px solid #48dbfb;
            transform: rotate(45deg);
        }

        /* Responsive */
        @media (max-width: 768px) {
            .header h1 { font-size: 2rem; }
            .card-title { font-size: 1.5rem; }
            .nav-dots { display: none; }
            .connection-animation { flex-direction: column; }
            .connection-line { width: 4px; height: 50px; }
        }

        /* Tooltip */
        .tooltip {
            position: relative;
        }

        .tooltip-text {
            visibility: hidden;
            position: absolute;
            bottom: 100%;
            left: 50%;
            transform: translateX(-50%);
            background: #333;
            color: #fff;
            padding: 10px 15px;
            border-radius: 10px;
            font-size: 0.9rem;
            white-space: nowrap;
            opacity: 0;
            transition: all 0.3s ease;
        }

        .tooltip:hover .tooltip-text {
            visibility: visible;
            opacity: 1;
            bottom: calc(100% + 10px);
        }

        /* Confetti styles */
        .confetti {
            position: fixed;
            width: 10px;
            height: 10px;
            pointer-events: none;
            z-index: 9999;
        }

        /* Typewriter effect */
        .typewriter {
            overflow: hidden;
            border-right: 3px solid #48dbfb;
            white-space: nowrap;
            animation: typing 3s steps(40) 1s forwards, blink 0.75s step-end infinite;
            width: 0;
        }

        @keyframes typing {
            from { width: 0; }
            to { width: 100%; }
        }

        @keyframes blink {
            50% { border-color: transparent; }
        }

        /* Glow effect for important elements */
        .glow {
            animation: glow 2s ease-in-out infinite alternate;
        }

        @keyframes glow {
            from { text-shadow: 0 0 5px #fff, 0 0 10px #48dbfb, 0 0 15px #48dbfb; }
            to { text-shadow: 0 0 10px #fff, 0 0 20px #48dbfb, 0 0 30px #48dbfb, 0 0 40px #48dbfb; }
        }

        /* Warning box */
        .warning-box {
            background: linear-gradient(135deg, rgba(255, 107, 107, 0.2), rgba(238, 90, 36, 0.2));
            border: 2px solid #ff6b6b;
            border-radius: 15px;
            padding: 25px;
            margin-top: 25px;
        }

        .warning-box-title {
            color: #ff6b6b;
            font-weight: bold;
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 10px;
        }

        /* Step indicator */
        .step-indicator {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 30px;
        }

        .step-number {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background: linear-gradient(135deg, #48dbfb, #0abde3);
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: bold;
            font-size: 1.2rem;
        }

        .step-text {
            color: #48dbfb;
            font-size: 0.9rem;
            text-transform: uppercase;
            letter-spacing: 2px;
        }
    </style>
</head>
<body>
    <!-- Progress bar -->
    <div class="progress-container">
        <div class="progress-bar" id="progressBar"></div>
    </div>

    <!-- Floating particles -->
    <div class="particles" id="particles"></div>

    <!-- Navigation dots -->
    <div class="nav-dots" id="navDots"></div>

    <!-- Scroll indicator -->
    <div class="scroll-indicator" id="scrollIndicator">
        <div class="scroll-arrow"></div>
    </div>

    <!-- Header -->
    <header class="header">
        <div class="bunny-mascot">๐Ÿฐ</div>
        <h1>Tutorial Hostinger Credentials Report</h1>
        <p class="subtitle">Your Interactive Guide to Database Connection Magic! โœจ</p>
    </header>

    <div class="container">
        <!-- Introduction -->
        <section class="credential-section" id="section-intro">
            <div class="credential-card">
                <div class="step-indicator">
                    <div class="step-number">0</div>
                    <span class="step-text">Welcome</span>
                </div>
                <div class="card-icon">๐ŸŽญ</div>
                <h2 class="card-title">What Are Database Credentials?</h2>
                <p class="card-description">
                    Imagine you're trying to enter a super-secret bunny club ๐Ÿฐ. You can't just walk in โ€“ 
                    you need to know <strong>where</strong> the club is, <strong>what's</strong> your secret 
                    handshake, and <strong>who</strong> you are! Database credentials work exactly the same way.
                    <br><br>
                    They're like your VIP pass to access all the precious data stored in your database. 
                    Without them, your application would be standing outside in the rain, unable to store 
                    or retrieve any information! ๐ŸŒง๏ธ
                </p>
                <div class="fun-fact">
                    <div class="fun-fact-title">๐Ÿ’ก Fun Fact!</div>
                    Every second, millions of database connections are made worldwide using credentials 
                    just like these. You're about to join this exclusive club!
                </div>
            </div>
        </section>

        <!-- Environment -->
        <section class="credential-section" id="section-env">
            <div class="credential-card">
                <div class="step-indicator">
                    <div class="step-number">1</div>
                    <span class="step-text">Environment</span>
                </div>
                <div class="card-icon">๐ŸŒ</div>
                <h2 class="card-title">
                    Environment
                    <span class="badge badge-hostinger">Hostinger</span>
                </h2>
                <div class="card-value tooltip" onclick="copyToClipboard(this, 'hostinger')">
                    hostinger
                    <span class="tooltip-text">Click to copy!</span>
                </div>
                <p class="card-description">
                    The <strong>environment</strong> tells your application which "world" it's operating in. 
                    Think of it like different dimensions in a video game! ๐ŸŽฎ
                    <br><br>
                    <strong>Hostinger</strong> is your hosting provider โ€“ they're the company that gives 
                    your website and database a cozy home on the internet. It's like a luxurious hotel 
                    for your code! ๐Ÿจ
                </p>
                <div class="interactive-demo">
                    <div class="demo-title">๐ŸŽฏ Why Does This Matter?</div>
                    <p style="color: #b0b0b0;">
                        Different environments can have different settings. Your development environment 
                        might be on your laptop, while production runs on Hostinger. Same code, 
                        different settings!
                    </p>
                </div>
            </div>
        </section>

        <!-- Type -->
        <section class="credential-section" id="section-type">
            <div class="credential-card">
                <div class="step-indicator">
                    <div class="step-number">2</div>
                    <span class="step-text">Database Type</span>
                </div>
                <div class="card-icon">๐Ÿ—„๏ธ</div>
                <h2 class="card-title">
                    Database Type
                    <span class="badge badge-mysql">MySQL</span>
                </h2>
                <div class="card-value tooltip" onclick="copyToClipboard(this, 'MYSQL')">
                    MYSQL
                    <span class="tooltip-text">Click to copy!</span>
                </div>
                <p class="card-description">
                    <strong>MySQL</strong> is the language your database speaks! It's one of the most 
                    popular database systems in the world, powering giants like Facebook, Twitter, 
                    and YouTube! ๐Ÿš€
                    <br><br>
                    Think of it as choosing what language to speak. If you go to France, you speak 
                    French. If you talk to a MySQL database, you speak... SQL! ๐Ÿ‡ซ๐Ÿ‡ทโžก๏ธ๐Ÿ—„๏ธ
                </p>
                <div class="fun-fact">
                    <div class="fun-fact-title">๐Ÿฌ Did You Know?</div>
                    MySQL's logo is a dolphin named "Sakila"! The name MySQL comes from the 
                    co-founder's daughter, My. So it's literally "My's SQL"! 
                </div>
            </div>
        </section>

        <!-- Host -->
        <section class="credential-section" id="section-host">
            <div class="credential-card">
                <div class="step-indicator">
                    <div class="step-number">3</div>
                    <span class="step-text">Host</span>
                </div>
                <div class="card-icon">๐Ÿ </div>
                <h2 class="card-title">Host</h2>
                <div class="card-value tooltip" onclick="copyToClipboard(this, 'localhost')">
                    localhost
                    <span class="tooltip-text">Click to copy!</span>
                </div>
                <p class="card-description">
                    The <strong>host</strong> is the address where your database lives. 
                    <code>localhost</code> means "right here, on this same server!" ๐Ÿ 
                    <br><br>
                    It's like telling a pizza delivery guy that you want the pizza delivered 
                    to your own house. The database server and web server are roommates! ๐Ÿ•
                </p>
                <div class="interactive-demo">
                    <div class="demo-title">๐Ÿ”Œ Connection Flow</div>
                    <div class="connection-animation">
                        <div class="connection-node">๐Ÿ’ป</div>
                        <div class="connection-line"></div>
                        <div class="connection-node">๐Ÿ </div>
                        <div class="connection-line"></div>
                        <div class="connection-node">๐Ÿ—„๏ธ</div>
                    </div>
                    <p style="color: #b0b0b0; text-align: center; margin-top: 15px;">
                        Your App โ†’ localhost โ†’ Database (All on the same machine!)
                    </p>
                </div>
            </div>
        </section>

        <!-- Port -->
        <section class="credential-section" id="section-port">
            <div class="credential-card">
                <div class="step-indicator">
                    <div class="step-number">4</div>
                    <span class="step-text">Port</span>
                </div>
                <div class="card-icon">๐Ÿšช</div>
                <h2 class="card-title">Port</h2>
                <div class="card-value tooltip" onclick="copyToClipboard(this, '3306')">
                    3306
                    <span class="tooltip-text">Click to copy!</span>
                </div>
                <p class="card-description">
                    If the host is the building address, the <strong>port</strong> is the specific 
                    apartment number! ๐Ÿข
                    <br><br>
                    Port <strong>3306</strong> is MySQL's favorite door โ€“ it's the default port 
                    MySQL listens on. Just like how web browsers use port 80 for HTTP or 443 
                    for HTTPS!
                </p>
                <div class="fun-fact">
                    <div class="fun-fact-title">๐Ÿ”ข Port Party!</div>
                    There are 65,535 possible ports on a computer! MySQL claimed 3306 as its home. 
                    PostgreSQL lives at 5432, and MongoDB hangs out at 27017. Each database has 
                    its favorite number!
                </div>
            </div>
        </section>

        <!-- Database Name -->
        <section class="credential-section" id="section-database">
            <div class="credential-card">
                <div class="step-indicator">
                    <div class="step-number">5</div>
                    <span class="step-text">Database Name</span>
                </div>
                <div class="card-icon">๐Ÿ“š</div>
                <h2 class="card-title">Database Name</h2>
                <div class="card-value tooltip" onclick="copyToClipboard(this, 'u419999707_Bunny')">
                    u419999707_Bunny
                    <span class="tooltip-text">Click to copy!</span>
                </div>
                <p class="card-description">
                    This is YOUR database's name! ๐Ÿฐ It's like the title of a book that contains 
                    all your tables, data, and precious information.
                    <br><br>
                    The <code>u419999707_</code> prefix is Hostinger's way of organizing things โ€“ 
                    it's your unique user ID. And <code>Bunny</code>? Well, that's the adorable 
                    name you chose! ๐Ÿฅ•
                </p>
                <div class="interactive-demo">
                    <div class="demo-title">๐Ÿ“Š What's Inside?</div>
                    <p style="color: #b0b0b0;">
                        A database contains multiple <strong>tables</strong> (like chapters in a book), 
                        and each table has <strong>rows</strong> (individual entries) and 
                        <strong>columns</strong> (different pieces of information). Your Bunny database 
                        is ready to hop with data! ๐Ÿ‡
                    </p>
                </div>
            </div>
        </section>

        <!-- Username -->
        <section class="credential-section" id="section-username">
            <div class="credential-card">
                <div class="step-indicator">
                    <div class="step-number">6</div>
                    <span class="step-text">Username</span>
                </div>
                <div class="card-icon">๐Ÿ‘ค</div>
                <h2 class="card-title">Username</h2>
                <div class="card-value tooltip" onclick="copyToClipboard(this, 'u419999707_naif')">
                    u419999707_naif
                    <span class="tooltip-text">Click to copy!</span>
                </div>
                <p class="card-description">
                    Your <strong>username</strong> is your database identity! When you connect, 
                    you're basically saying "Hey database, it's me, <em>naif</em>!" ๐Ÿ‘‹
                    <br><br>
                    The database checks this username to verify you're allowed in and to determine 
                    what you're permitted to do (read data, write data, delete stuff, etc.)
                </p>
                <div class="fun-fact">
                    <div class="fun-fact-title">๐ŸŽญ Identity Check!</div>
                    Just like how different keys open different doors in a hotel, different 
                    database users can have different permissions. The username helps the database 
                    know exactly what you're allowed to do!
                </div>
            </div>
        </section>

        <!-- Password -->
        <section class="credential-section" id="section-password">
            <div class="credential-card">
                <div class="step-indicator">
                    <div class="step-number">7</div>
                    <span class="step-text">Password</span>
                </div>
                <div class="card-icon">๐Ÿ”</div>
                <h2 class="card-title">
                    Password
                    <span class="badge badge-secure">Top Secret</span>
                </h2>
                <div class="card-value tooltip" onclick="copyToClipboard(this, 'password')" id="passwordField">
                    โ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ข
                    <span class="tooltip-text">Click to copy!</span>
                </div>
                <button onclick="togglePassword()" style="background: linear-gradient(135deg, #48dbfb, #0abde3); border: none; padding: 10px 20px; border-radius: 10px; color: #fff; cursor: pointer; margin-top: 10px; font-weight: bold; transition: all 0.3s ease;">
                    ๐Ÿ‘๏ธ Toggle Visibility
                </button>
                <p class="card-description">
                    The <strong>password</strong> is your secret key! Combined with the username, 
                    it proves you are who you say you are. Never share this with strangers! ๐Ÿคซ
                </p>
                <div class="warning-box">
                    <div class="warning-box-title">โš ๏ธ Security Warning!</div>
                    <p style="color: #ff9f9f;">
                        NEVER commit passwords directly in your code! Use environment variables 
                        or secure vaults. Passwords in plain sight are like leaving your house 
                        key under the doormat โ€“ everyone knows to look there! ๐Ÿ”‘
                    </p>
                </div>
            </div>
        </section>

        <!-- Charset -->
        <section class="credential-section" id="section-charset">
            <div class="credential-card">
                <div class="step-indicator">
                    <div class="step-number">8</div>
                    <span class="step-text">Charset</span>
                </div>
                <div class="card-icon">๐Ÿ”ค</div>
                <h2 class="card-title">
                    Charset
                    <span class="badge badge-charset">Unicode</span>
                </h2>
                <div class="card-value tooltip" onclick="copyToClipboard(this, 'utf8mb4')">
                    utf8mb4
                    <span class="tooltip-text">Click to copy!</span>
                </div>
                <p class="card-description">
                    <strong>utf8mb4</strong> is the character encoding โ€“ it's how your database 
                    understands text! This magical setting allows your database to store ANY 
                    character from ANY language, including emojis! ๐ŸŽ‰๐ŸŒ๐Ÿฐ
                    <br><br>
                    Without proper charset, you might see weird symbols instead of 
                    "ู…ุฑุญุจุง" or "ใ“ใ‚“ใซใกใฏ" or "๐Ÿš€"!
                </p>
                <div class="fun-fact">
                    <div class="fun-fact-title">๐ŸŽฏ mb4 = 4 bytes!</div>
                    The "mb4" means "multibyte 4" โ€“ each character can use up to 4 bytes. 
                    This is crucial for emojis because they need 4 bytes! Regular utf8 only 
                    uses 3 bytes and would turn your ๐Ÿ˜€ into a question mark! โ“
                </div>
            </div>
        </section>

        <!-- Quiz Section -->
        <section class="credential-section" id="section-quiz">
            <div class="quiz-section">
                <div class="step-indicator">
                    <div class="step-number">๐ŸŽฎ</div>
                    <span class="step-text">Pop Quiz!</span>
                </div>
                <h2 style="font-size: 2rem; margin-bottom: 20px;">Test Your Knowledge! ๐Ÿง </h2>
                
                <div id="quiz1">
                    <p class="quiz-question">What is the default port for MySQL?</p>
                    <div class="quiz-options">
                        <div class="quiz-option" onclick="checkAnswer(this, false)">๐Ÿ…ฐ๏ธ 8080</div>
                        <div class="quiz-option" onclick="checkAnswer(this, false)">๐Ÿ…ฑ๏ธ 5432</div>
                        <div class="quiz-option" onclick="checkAnswer(this, true)">๐Ÿ…ฒ๏ธ 3306</div>
                        <div class="quiz-option" onclick="checkAnswer(this, false)">๐Ÿ…ณ๏ธ 27017</div>
                    </div>
                    <div class="quiz-feedback" id="quizFeedback"></div>
                </div>
            </div>
        </section>

        <!-- Summary -->
        <section class="credential-section" id="section-summary">
            <div class="summary-section">
                <h2 style="font-size: 2.5rem; margin-bottom: 10px;" class="glow">๐Ÿ“‹ Complete Credentials Summary</h2>
                <p style="color: #a0a0a0; margin-bottom: 30px;">All your database credentials in one place!</p>
                
                <div class="summary-grid">
                    <div class="summary-item">
                        <div class="label">๐ŸŒ Environment</div>
                        <div class="value">hostinger</div>
                    </div>
                    <div class="summary-item">
                        <div class="label">๐Ÿ—„๏ธ Type</div>
                        <div class="value">MYSQL</div>
                    </div>
                    <div class="summary-item">
                        <div class="label">๐Ÿ  Host</div>
                        <div class="value">localhost</div>
                    </div>
                    <div class="summary-item">
                        <div class="label">๐Ÿšช Port</div>
                        <div class="value">3306</div>
                    </div>
                    <div class="summary-item">
                        <div class="label">๐Ÿ“š Database</div>
                        <div class="value">u419999707_Bunny</div>
                    </div>
                    <div class="summary-item">
                        <div class="label">๐Ÿ‘ค Username</div>
                        <div class="value">u419999707_naif</div>
                    </div>
                    <div class="summary-item">
                        <div class="label">๐Ÿ” Password</div>
                        <div class="value">โ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ข</div>
                    </div>
                    <div class="summary-item">
                        <div class="label">๐Ÿ”ค Charset</div>
                        <div class="value">utf8mb4</div>
                    </div>
                </div>

                <div style="margin-top: 50px;">
                    <button onclick="copyAllCredentials()" style="background: linear-gradient(135deg, #00b894, #00cec9); border: none; padding: 20px 40px; border-radius: 15px; color: #fff; cursor: pointer; font-size: 1.2rem; font-weight: bold; transition: all 0.3s ease; box-shadow: 0 10px 30px rgba(0, 184, 148, 0.3);">
                        ๐Ÿ“‹ Copy All Credentials
                    </button>
                </div>
            </div>
        </section>
    </div>

    <!-- Footer -->
    <footer class="footer">
        <div class="footer-hearts">๐Ÿ’œ๐Ÿฐ๐Ÿ’œ</div>
        <p style="margin-top: 20px;">Made with love for the Bunny Project</p>
        <p style="margin-top: 10px; font-size: 0.9rem;">Keep your credentials safe! ๐Ÿ”’</p>
    </footer>

    <script>
        // Create floating particles
        function createParticles() {
            const container = document.getElementById('particles');
            for (let i = 0; i < 50; i++) {
                const particle = document.createElement('div');
                particle.className = 'particle';
                particle.style.left = Math.random() * 100 + '%';
                particle.style.animationDelay = Math.random() * 15 + 's';
                particle.style.animationDuration = (Math.random() * 10 + 10) + 's';
                container.appendChild(particle);
            }
        }

        // Update progress bar on scroll
        function updateProgress() {
            const scrollTop = window.scrollY;
            const docHeight = document.documentElement.scrollHeight - window.innerHeight;
            const progress = (scrollTop / docHeight) * 100;
            document.getElementById('progressBar').style.width = progress + '%';
            
            // Hide scroll indicator when scrolled
            const scrollIndicator = document.getElementById('scrollIndicator');
            if (scrollTop > 200) {
                scrollIndicator.style.opacity = '0';
            } else {
                scrollIndicator.style.opacity = '1';
            }
        }

        // Reveal sections on scroll
        function revealSections() {
            const sections = document.querySelectorAll('.credential-section');
            sections.forEach((section, index) => {
                const rect = section.getBoundingClientRect();
                const isVisible = rect.top < window.innerHeight * 0.8;
                if (isVisible) {
                    section.classList.add('visible');
                    // Update nav dots
                    document.querySelectorAll('.nav-dot').forEach((dot, i) => {
                        dot.classList.toggle('active', i === index);
                    });
                }
            });
        }

        // Create navigation dots
        function createNavDots() {
            const sections = document.querySelectorAll('.credential-section');
            const container = document.getElementById('navDots');
            sections.forEach((section, index) => {
                const dot = document.createElement('div');
                dot.className = 'nav-dot';
                dot.onclick = () => section.scrollIntoView({ behavior: 'smooth' });
                container.appendChild(dot);
            });
        }

        // Copy to clipboard
        function copyToClipboard(element, text) {
            navigator.clipboard.writeText(text).then(() => {
                element.classList.add('copied');
                setTimeout(() => element.classList.remove('copied'), 2000);
            });
        }

        // Toggle password visibility
        let passwordVisible = false;
        function togglePassword() {
            const field = document.getElementById('passwordField');
            passwordVisible = !passwordVisible;
            field.textContent = passwordVisible ? 'password' : 'โ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ข';
        }

        // Quiz check
        function checkAnswer(element, isCorrect) {
            const options = element.parentElement.querySelectorAll('.quiz-option');
            options.forEach(opt => {
                opt.style.pointerEvents = 'none';
            });
            
            element.classList.add(isCorrect ? 'correct' : 'wrong');
            
            const feedback = document.getElementById('quizFeedback');
            feedback.style.display = 'block';
            
            if (isCorrect) {
                feedback.style.background = 'rgba(0, 184, 148, 0.2)';
                feedback.innerHTML = '๐ŸŽ‰ <strong>Correct!</strong> MySQL\'s default port is 3306!';
                createConfetti();
            } else {
                feedback.style.background = 'rgba(255, 107, 107, 0.2)';
                feedback.innerHTML = 'โŒ <strong>Oops!</strong> The correct answer is 3306. Try to remember it!';
                // Highlight correct answer
                options.forEach(opt => {
                    if (opt.textContent.includes('3306')) {
                        opt.classList.add('correct');
                    }
                });
            }
        }

        // Confetti effect
        function createConfetti() {
            const colors = ['#ff6b6b', '#feca57', '#48dbfb', '#ff9ff3', '#00b894'];
            for (let i = 0; i < 100; i++) {
                const confetti = document.createElement('div');
                confetti.className = 'confetti';
                confetti.style.background = colors[Math.floor(Math.random() * colors.length)];
                confetti.style.left = Math.random() * 100 + 'vw';
                confetti.style.top = '-10px';
                confetti.style.borderRadius = Math.random() > 0.5 ? '50%' : '0';
                document.body.appendChild(confetti);
                
                // Animate
                const animation = confetti.animate([
                    { transform: 'translateY(0) rotate(0deg)', opacity: 1 },
                    { transform: `translateY(100vh) rotate(${Math.random() * 720}deg)`, opacity: 0 }
                ], {
                    duration: Math.random() * 2000 + 2000,
                    easing: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)'
                });
                
                animation.onfinish = () => confetti.remove();
            }
        }

        // Copy all credentials
        function copyAllCredentials() {
            const credentials = `=== DATABASE CREDENTIALS (Hostinger) ===
Environment: hostinger
Type: MYSQL
Host: localhost
Port: 3306
Database: u419999707_Bunny
Username: u419999707_naif
Password: password
Charset: utf8mb4`;
            
            navigator.clipboard.writeText(credentials).then(() => {
                createConfetti();
                alert('๐ŸŽ‰ All credentials copied to clipboard!');
            });
        }

        // Initialize
        document.addEventListener('DOMContentLoaded', () => {
            createParticles();
            createNavDots();
            revealSections();
        });

        window.addEventListener('scroll', () => {
            updateProgress();
            revealSections();
        });

        // Smooth scroll for indicator
        document.getElementById('scrollIndicator').onclick = () => {
            document.querySelector('.credential-section').scrollIntoView({ behavior: 'smooth' });
        };
    </script>
</body>
</html>
Live Preview