Change filament color (Copy)

๐Ÿ“ฆ BAMU LAB
โœจ The Prompt Phrase
You change the filament color in the device tab of the Bamboo Lab 3D printer application.

๐Ÿ’ป Code Preview

๐Ÿ“ฆ All-in-One Code
<img src="/imgs/Screenshot 2026-01-20 134807.png" alt="Image">

```html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="Interactive tutorial for changing filament color in Bambu Lab 3D printer application">
    <title>Change Filament Color - Interactive Tutorial ๐ŸŽจ</title>
    <style>
        @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700;800&family=Fira+Code:wght@400;600&display=swap');

        :root {
            --primary: #667eea;
            --secondary: #764ba2;
            --accent: #f093fb;
            --success: #4ade80;
            --warning: #fbbf24;
            --danger: #f87171;
            --info: #3b82f6;
            --dark: #1a1a2e;
            --darker: #0f0f1e;
            --light: #eaeaea;
            --glass: rgba(255, 255, 255, 0.1);
            --glass-border: rgba(255, 255, 255, 0.2);
            --shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            font-family: 'Poppins', sans-serif;
            background: linear-gradient(135deg, var(--dark) 0%, var(--darker) 100%);
            color: var(--light);
            line-height: 1.6;
            overflow-x: hidden;
            min-height: 100vh;
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 20px;
        }

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

        .progress-bar {
            height: 100%;
            background: linear-gradient(90deg, var(--primary), var(--accent));
            width: 0%;
            transition: width 0.3s ease;
            box-shadow: 0 0 10px var(--accent);
        }

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

        .particle {
            position: absolute;
            width: 4px;
            height: 4px;
            background: var(--accent);
            border-radius: 50%;
            opacity: 0.3;
            animation: float 20s infinite;
        }

        @keyframes float {
            0%, 100% {
                transform: translateY(0) translateX(0);
            }
            25% {
                transform: translateY(-100px) translateX(50px);
            }
            50% {
                transform: translateY(-200px) translateX(-50px);
            }
            75% {
                transform: translateY(-100px) translateX(100px);
            }
        }

        /* Hero Section */
        .hero {
            text-align: center;
            padding: 100px 20px 80px;
            position: relative;
            z-index: 1;
        }

        .hero::before {
            content: '';
            position: absolute;
            top: -50%;
            left: -50%;
            width: 200%;
            height: 200%;
            background: radial-gradient(circle, var(--primary) 0%, transparent 70%);
            opacity: 0.15;
            animation: rotate 30s linear infinite;
        }

        @keyframes rotate {
            from { transform: rotate(0deg); }
            to { transform: rotate(360deg); }
        }

        .hero-badge {
            display: inline-block;
            padding: 8px 20px;
            background: var(--glass);
            backdrop-filter: blur(10px);
            border: 2px solid var(--glass-border);
            border-radius: 50px;
            font-size: 0.9rem;
            margin-bottom: 20px;
            animation: fadeInDown 1s ease;
        }

        .hero h1 {
            font-size: clamp(2.5rem, 6vw, 4rem);
            font-weight: 800;
            background: linear-gradient(135deg, var(--primary), var(--accent));
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            margin-bottom: 20px;
            animation: fadeInDown 1s ease 0.2s backwards;
            line-height: 1.2;
        }

        .hero-subtitle {
            font-size: clamp(1rem, 2vw, 1.3rem);
            color: var(--light);
            opacity: 0.8;
            margin-bottom: 40px;
            animation: fadeInUp 1s ease 0.4s backwards;
        }

        .phrase-box {
            background: var(--glass);
            backdrop-filter: blur(10px);
            border: 2px solid var(--glass-border);
            border-radius: 20px;
            padding: 30px;
            margin: 40px auto;
            max-width: 900px;
            box-shadow: var(--shadow);
            animation: fadeIn 1s ease 0.6s backwards;
            position: relative;
            overflow: hidden;
        }

        .phrase-box::before {
            content: '๐Ÿ’ก';
            position: absolute;
            top: 20px;
            right: 20px;
            font-size: 2rem;
            opacity: 0.3;
        }

        .phrase-box code {
            font-family: 'Fira Code', monospace;
            font-size: clamp(1rem, 2vw, 1.2rem);
            color: var(--accent);
            display: block;
            padding: 20px;
            background: rgba(0, 0, 0, 0.3);
            border-radius: 10px;
            border-left: 4px solid var(--primary);
            line-height: 1.8;
        }

        /* Section Styles */
        .section {
            background: var(--glass);
            backdrop-filter: blur(10px);
            border: 1px solid var(--glass-border);
            border-radius: 20px;
            padding: 40px;
            margin: 40px 0;
            box-shadow: var(--shadow);
            animation: fadeInUp 0.8s ease;
            position: relative;
            z-index: 1;
        }

        .section-icon {
            display: inline-block;
            font-size: 2.5rem;
            margin-bottom: 10px;
        }

        .section h2 {
            font-size: clamp(2rem, 4vw, 2.5rem);
            margin-bottom: 25px;
            background: linear-gradient(135deg, var(--primary), var(--accent));
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            display: flex;
            align-items: center;
            gap: 15px;
            flex-wrap: wrap;
        }

        .section h3 {
            font-size: clamp(1.5rem, 3vw, 1.8rem);
            margin: 30px 0 15px;
            color: var(--accent);
        }

        .section p {
            font-size: clamp(1rem, 2vw, 1.1rem);
            margin-bottom: 15px;
            opacity: 0.9;
            line-height: 1.8;
        }

        /* Step Cards */
        .steps-container {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 20px;
            margin: 30px 0;
        }

        .step-card {
            background: rgba(102, 126, 234, 0.1);
            border: 2px solid var(--primary);
            border-radius: 15px;
            padding: 25px;
            transition: all 0.3s ease;
            cursor: pointer;
            position: relative;
            overflow: hidden;
        }

        .step-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
            transition: left 0.5s ease;
        }

        .step-card:hover::before {
            left: 100%;
        }

        .step-card:hover {
            transform: translateY(-5px) scale(1.02);
            box-shadow: 0 10px 40px rgba(102, 126, 234, 0.4);
            border-color: var(--accent);
        }

        .step-number {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 50px;
            height: 50px;
            background: linear-gradient(135deg, var(--primary), var(--accent));
            border-radius: 50%;
            font-weight: 700;
            font-size: 1.5rem;
            margin-bottom: 15px;
            box-shadow: 0 5px 15px rgba(102, 126, 234, 0.4);
        }

        .step-card h4 {
            font-size: 1.3rem;
            margin-bottom: 10px;
            color: var(--accent);
        }

        .step-card p {
            font-size: 1rem;
            opacity: 0.85;
        }

        /* Interactive Demo */
        .demo-container {
            background: rgba(0, 0, 0, 0.3);
            border-radius: 15px;
            padding: 30px;
            margin: 30px 0;
            position: relative;
        }

        .demo-header {
            text-align: center;
            margin-bottom: 30px;
        }

        .demo-header h3 {
            color: var(--accent);
            margin-bottom: 10px;
        }

        .demo-tabs {
            display: flex;
            gap: 10px;
            margin-bottom: 30px;
            flex-wrap: wrap;
            justify-content: center;
        }

        .demo-tab {
            padding: 12px 24px;
            background: rgba(102, 126, 234, 0.2);
            border: 2px solid var(--primary);
            border-radius: 10px;
            cursor: pointer;
            transition: all 0.3s ease;
            font-weight: 600;
            font-size: 1rem;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .demo-tab:hover {
            background: rgba(102, 126, 234, 0.3);
            transform: translateY(-2px);
        }

        .demo-tab.active {
            background: linear-gradient(135deg, var(--primary), var(--accent));
            transform: scale(1.05);
            box-shadow: 0 5px 20px rgba(102, 126, 234, 0.4);
        }

        .demo-content {
            display: none;
            animation: fadeIn 0.5s ease;
        }

        .demo-content.active {
            display: block;
        }

        .device-simulator {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            border-radius: 20px;
            padding: 40px;
            text-align: center;
            margin: 20px 0;
            box-shadow: 0 10px 40px rgba(102, 126, 234, 0.4);
        }

        .simulator-screen {
            background: #2a2a3e;
            border-radius: 15px;
            padding: 30px;
            margin: 20px 0;
            min-height: 300px;
        }

        .simulator-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 20px;
            padding-bottom: 15px;
            border-bottom: 2px solid rgba(255, 255, 255, 0.1);
        }

        .simulator-title {
            font-size: 1.2rem;
            font-weight: 600;
        }

        .color-picker-demo {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(70px, 1fr));
            gap: 15px;
            margin: 30px 0;
            max-width: 600px;
            margin-left: auto;
            margin-right: auto;
        }

        .color-option {
            width: 70px;
            height: 70px;
            border-radius: 50%;
            cursor: pointer;
            border: 3px solid transparent;
            transition: all 0.3s ease;
            position: relative;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
        }

        .color-option:hover {
            transform: scale(1.15);
            border-color: white;
        }

        .color-option.selected {
            border-color: var(--success);
            box-shadow: 0 0 25px var(--success);
            transform: scale(1.2);
        }

        .color-option::after {
            content: 'โœ“';
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            font-size: 28px;
            color: white;
            opacity: 0;
            transition: opacity 0.3s ease;
            text-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
        }

        .color-option.selected::after {
            opacity: 1;
        }

        .color-label {
            text-align: center;
            margin-top: 10px;
            font-size: 0.9rem;
            font-weight: 600;
        }

        .filament-preview {
            width: 200px;
            height: 200px;
            margin: 30px auto;
            background: var(--selected-color, #ff6b6b);
            border-radius: 20px;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 4rem;
            transition: all 0.5s ease;
            animation: pulse 2s ease-in-out infinite;
        }

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

        /* Code Block */
        .code-block {
            background: rgba(0, 0, 0, 0.5);
            border-radius: 15px;
            padding: 25px;
            margin: 20px 0;
            position: relative;
            overflow-x: auto;
            border: 1px solid rgba(255, 255, 255, 0.1);
        }

        .code-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 15px;
            padding-bottom: 10px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        }

        .code-title {
            color: var(--accent);
            font-weight: 600;
        }

        .code-block pre {
            font-family: 'Fira Code', monospace;
            font-size: 0.95rem;
            line-height: 1.8;
            color: #e0e0e0;
            margin: 0;
        }

        .copy-btn {
            padding: 8px 16px;
            background: var(--primary);
            border: none;
            border-radius: 8px;
            color: white;
            cursor: pointer;
            font-weight: 600;
            transition: all 0.3s ease;
            font-size: 0.9rem;
            display: flex;
            align-items: center;
            gap: 5px;
        }

        .copy-btn:hover {
            background: var(--accent);
            transform: scale(1.05);
        }

        .copy-btn.copied {
            background: var(--success);
        }

        /* Syntax Highlighting */
        .keyword { color: #ff79c6; }
        .string { color: #50fa7b; }
        .comment { color: #6272a4; font-style: italic; }
        .function { color: #8be9fd; }
        .number { color: #bd93f9; }

        /* Common Mistakes */
        .mistake-card {
            background: rgba(248, 113, 113, 0.1);
            border-left: 4px solid var(--danger);
            border-radius: 10px;
            padding: 20px;
            margin: 15px 0;
            transition: all 0.3s ease;
        }

        .mistake-card:hover {
            background: rgba(248, 113, 113, 0.15);
            transform: translateX(5px);
        }

        .mistake-card h4 {
            color: var(--danger);
            margin-bottom: 10px;
            display: flex;
            align-items: center;
            gap: 10px;
            font-size: 1.2rem;
        }

        /* Pro Tips */
        .tip-card {
            background: rgba(74, 222, 128, 0.1);
            border-left: 4px solid var(--success);
            border-radius: 10px;
            padding: 20px;
            margin: 15px 0;
            transition: all 0.3s ease;
        }

        .tip-card:hover {
            background: rgba(74, 222, 128, 0.15);
            transform: translateX(5px);
        }

        .tip-card h4 {
            color: var(--success);
            margin-bottom: 10px;
            display: flex;
            align-items: center;
            gap: 10px;
            font-size: 1.2rem;
        }

        /* Info Card */
        .info-card {
            background: rgba(59, 130, 246, 0.1);
            border-left: 4px solid var(--info);
            border-radius: 10px;
            padding: 20px;
            margin: 15px 0;
        }

        .info-card h4 {
            color: var(--info);
            margin-bottom: 10px;
            display: flex;
            align-items: center;
            gap: 10px;
        }

        /* Quiz Section */
        .quiz-container {
            background: rgba(102, 126, 234, 0.1);
            border-radius: 20px;
            padding: 40px;
            margin: 30px 0;
            border: 2px solid var(--primary);
        }

        .quiz-header {
            text-align: center;
            margin-bottom: 30px;
        }

        .quiz-score {
            display: inline-block;
            padding: 10px 20px;
            background: var(--glass);
            border-radius: 50px;
            font-weight: 600;
            margin-top: 10px;
        }

        .quiz-question {
            background: rgba(0, 0, 0, 0.3);
            border-radius: 15px;
            padding: 30px;
            margin: 25px 0;
            border: 2px solid transparent;
            transition: all 0.3s ease;
        }

        .quiz-question.answered {
            border-color: var(--success);
        }

        .quiz-question h4 {
            font-size: 1.3rem;
            margin-bottom: 20px;
            color: var(--accent);
            display: flex;
            align-items: flex-start;
            gap: 10px;
        }

        .question-number {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 30px;
            height: 30px;
            background: linear-gradient(135deg, var(--primary), var(--accent));
            border-radius: 50%;
            font-size: 0.9rem;
            flex-shrink: 0;
        }

        .quiz-options {
            display: flex;
            flex-direction: column;
            gap: 12px;
        }

        .quiz-option {
            padding: 18px 24px;
            background: rgba(255, 255, 255, 0.05);
            border: 2px solid var(--glass-border);
            border-radius: 12px;
            cursor: pointer;
            transition: all 0.3s ease;
            display: flex;
            align-items: center;
            gap: 12px;
            font-size: 1rem;
        }

        .quiz-option:hover {
            background: rgba(255, 255, 255, 0.1);
            border-color: var(--primary);
            transform: translateX(5px);
        }

        .quiz-option.correct {
            background: rgba(74, 222, 128, 0.2);
            border-color: var(--success);
            animation: correctAnswer 0.5s ease;
        }

        .quiz-option.incorrect {
            background: rgba(248, 113, 113, 0.2);
            border-color: var(--danger);
            animation: shake 0.5s ease;
        }

        .quiz-option.disabled {
            pointer-events: none;
            opacity: 0.6;
        }

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

        @keyframes shake {
            0%, 100% { transform: translateX(0); }
            25% { transform: translateX(-10px); }
            75% { transform: translateX(10px); }
        }

        .option-letter {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 30px;
            height: 30px;
            background: var(--primary);
            border-radius: 50%;
            font-weight: 700;
            flex-shrink: 0;
        }

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

        .quiz-feedback.show {
            display: block;
        }

        .quiz-feedback.correct {
            background: rgba(74, 222, 128, 0.2);
            border: 2px solid var(--success);
            color: var(--success);
        }

        .quiz-feedback.incorrect {
            background: rgba(248, 113, 113, 0.2);
            border: 2px solid var(--danger);
            color: var(--danger);
        }

        .quiz-complete {
            display: none;
            text-align: center;
            padding: 40px;
            background: linear-gradient(135deg, var(--primary), var(--secondary));
            border-radius: 20px;
            margin-top: 30px;
            animation: fadeIn 0.5s ease;
        }

        .quiz-complete.show {
            display: block;
        }

        .quiz-complete h3 {
            font-size: 2.5rem;
            margin-bottom: 20px;
            color: white;
        }

        .quiz-complete .trophy {
            font-size: 6rem;
            animation: bounce 1s ease infinite;
        }

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

        /* Summary Card */
        .summary-card {
            background: linear-gradient(135deg, var(--primary), var(--secondary));
            border-radius: 25px;
            padding: 50px;
            margin: 40px 0;
            box-shadow: 0 15px 50px rgba(102, 126, 234, 0.4);
        }

        .summary-card h2 {
            color: white;
            text-align: center;
            margin-bottom: 40px;
            font-size: 2.5rem;
        }

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

        .summary-item {
            background: rgba(255, 255, 255, 0.15);
            backdrop-filter: blur(10px);
            border-radius: 15px;
            padding: 25px;
            text-align: center;
            transition: all 0.3s ease;
            border: 2px solid rgba(255, 255, 255, 0.2);
        }

        .summary-item:hover {
            transform: translateY(-5px);
            background: rgba(255, 255, 255, 0.2);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
        }

        .summary-item-icon {
            font-size: 3rem;
            margin-bottom: 15px;
        }

        .summary-item h4 {
            font-size: 1.3rem;
            margin-bottom: 10px;
            color: white;
        }

        .summary-item p {
            font-size: 1rem;
            opacity: 0.9;
            color: white;
        }

        .summary-checklist {
            background: rgba(0, 0, 0, 0.3);
            border-radius: 15px;
            padding: 30px;
            margin-top: 30px;
        }

        .summary-checklist h3 {
            color: white;
            margin-bottom: 20px;
            text-align: center;
        }

        .summary-checklist ul {
            list-style: none;
            max-width: 700px;
            margin: 0 auto;
        }

        .summary-checklist li {
            padding: 15px;
            margin: 10px 0;
            background: rgba(255, 255, 255, 0.1);
            border-radius: 10px;
            display: flex;
            align-items: center;
            gap: 15px;
            font-size: 1.1rem;
            transition: all 0.3s ease;
        }

        .summary-checklist li:hover {
            background: rgba(255, 255, 255, 0.15);
            transform: translateX(10px);
        }

        .check-icon {
            font-size: 1.5rem;
            color: var(--success);
        }

        /* Footer */
        .footer {
            text-align: center;
            padding: 60px 20px 40px;
            margin-top: 80px;
            border-top: 2px solid var(--glass-border);
            position: relative;
        }

        .footer-content {
            max-width: 800px;
            margin: 0 auto;
        }

        .footer h3 {
            font-size: 2rem;
            margin-bottom: 20px;
            background: linear-gradient(135deg, var(--primary), var(--accent));
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .footer p {
            opacity: 0.7;
            margin: 15px 0;
            font-size: 1rem;
        }

        .footer-badges {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            gap: 10px;
            margin: 30px 0;
        }

        .badge {
            display: inline-block;
            padding: 8px 18px;
            background: linear-gradient(135deg, var(--primary), var(--accent));
            border-radius: 25px;
            font-size: 0.9rem;
            font-weight: 600;
            transition: all 0.3s ease;
        }

        .badge:hover {
            transform: scale(1.1);
            box-shadow: 0 5px 20px rgba(102, 126, 234, 0.4);
        }

        .footer-logo {
            font-size: 1.2rem;
            font-weight: 700;
            margin-top: 30px;
            opacity: 0.8;
        }

        /* Animations */
        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }

        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

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

        /* Confetti */
        .confetti {
            position: fixed;
            width: 10px;
            height: 10px;
            background: var(--accent);
            pointer-events: none;
            z-index: 9999;
            animation: confettiFall 3s ease-out forwards;
        }

        @keyframes confettiFall {
            0% {
                transform: translateY(0) rotate(0deg);
                opacity: 1;
            }
            100% {
                transform: translateY(100vh) rotate(720deg);
                opacity: 0;
            }
        }

        /* Tooltip */
        .tooltip {
            position: relative;
            display: inline-block;
            border-bottom: 2px dotted var(--primary);
            cursor: help;
        }

        .tooltip .tooltiptext {
            visibility: hidden;
            width: 220px;
            background: var(--darker);
            color: var(--light);
            text-align: center;
            border-radius: 10px;
            padding: 12px;
            position: absolute;
            z-index: 1;
            bottom: 125%;
            left: 50%;
            margin-left: -110px;
            opacity: 0;
            transition: opacity 0.3s;
            border: 2px solid var(--primary);
            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.5);
        }

        .tooltip:hover .tooltiptext {
            visibility: visible;
            opacity: 1;
        }

        /* Accordion */
        .accordion {
            margin: 25px 0;
        }

        .accordion-item {
            background: rgba(255, 255, 255, 0.05);
            border-radius: 12px;
            margin: 15px 0;
            overflow: hidden;
            border: 1px solid var(--glass-border);
        }

        .accordion-header {
            padding: 20px 25px;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            transition: all 0.3s ease;
            background: rgba(102, 126, 234, 0.1);
        }

        .accordion-header:hover {
            background: rgba(102, 126, 234, 0.2);
        }

        .accordion-header h4 {
            margin: 0;
            color: var(--accent);
            font-size: 1.2rem;
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .accordion-icon {
            font-size: 1.5rem;
            transition: transform 0.3s ease;
        }

        .accordion-item.active .accordion-icon {
            transform: rotate(180deg);
        }

        .accordion-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease;
        }

        .accordion-content-inner {
            padding: 25px;
        }

        /* Responsive Design */
        @media (max-width: 768px) {
            .hero {
                padding: 80px 20px 60px;
            }

            .section {
                padding: 25px 20px;
            }

            .steps-container {
                grid-template-columns: 1fr;
            }

            .demo-tabs {
                flex-direction: column;
            }

            .color-picker-demo {
                grid-template-columns: repeat(4, 1fr);
            }

            .summary-card {
                padding: 30px 20px;
            }

            .summary-grid {
                grid-template-columns: 1fr;
            }
        }

        /* Scroll to Top Button */
        .scroll-top {
            position: fixed;
            bottom: 30px;
            right: 30px;
            width: 50px;
            height: 50px;
            background: linear-gradient(135deg, var(--primary), var(--accent));
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            opacity: 0;
            pointer-events: none;
            transition: all 0.3s ease;
            z-index: 999;
            box-shadow: 0 5px 20px rgba(102, 126, 234, 0.4);
        }

        .scroll-top.show {
            opacity: 1;
            pointer-events: all;
        }

        .scroll-top:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 30px rgba(102, 126, 234, 0.6);
        }

        /* Loading Animation */
        .loading {
            display: inline-block;
            width: 20px;
            height: 20px;
            border: 3px solid rgba(255, 255, 255, 0.3);
            border-radius: 50%;
            border-top-color: white;
            animation: spin 1s ease-in-out infinite;
        }

        @keyframes spin {
            to { transform: rotate(360deg); }
        }
    </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>

    <div class="container">
        <!-- Hero Section -->
        <section class="hero">
            <div class="hero-badge">๐ŸŽ“ Interactive Tutorial</div>
            <h1>๐ŸŽจ Change Filament Color in Bambu Lab</h1>
            <p class="hero-subtitle">Master the art of customizing your 3D prints with vibrant colors!</p>
            
            <div class="phrase-box">
                <code>You change the filament color in the device tab of the Bambu Lab 3D printer application.</code>
            </div>
        </section>

        <!-- What Is It Section -->
        <section class="section" id="what-is-it">
            <div class="section-icon">๐Ÿค”</div>
            <h2>What Is It?</h2>
            <p>
                This phrase is your <span class="tooltip">guide<span class="tooltiptext">A set of instructions to help you complete a specific task</span></span> to one of the most exciting features in 3D printing - <strong>changing filament colors</strong>! ๐ŸŒˆ
            </p>
            <p>
                The <strong>Bambu Lab application</strong> is the software control center for your Bambu Lab 3D printer. Think of it as the "brain" that tells your printer what to do. It's where you can:
            </p>
            <div class="info-card">
                <h4>๐Ÿ“ฑ What is the Bambu Lab Application?</h4>
                <p>
                    It's a powerful software suite that lets you control every aspect of your 3D printing experience - from slicing models to monitoring prints in real-time. The <strong>Device Tab</strong> is specifically where you manage your printer's hardware settings, including filament configuration!
                </p>
            </div>
            <p>
                Changing filament colors allows you to create stunning multi-colored 3D prints without needing multiple printers or manual intervention during the print process. It's like having a digital paint palette for your creations! ๐ŸŽจโœจ
            </p>
        </section>

        <!-- Why Use It Section -->
        <section class="section" id="why-use-it">
            <div class="section-icon">๐ŸŒŸ</div>
            <h2>Why Use It?</h2>
            <p>Changing filament colors opens up a world of creative possibilities! Here's why it's awesome:</p>
            
            <div class="steps-container">
                <div class="step-card">
                    <div class="step-number">1</div>
                    <h4>๐ŸŽจ Multi-Color Masterpieces</h4>
                    <p>Create vibrant, eye-catching prints with multiple colors in a single print job. Perfect for logos, artistic designs, and functional parts that need color coding!</p>
                </div>
                <div class="step-card">
                    <div class="step-number">2</div>
                    <h4>๐Ÿ”„ Material Flexibility</h4>
                    <p>Switch between different filament types (PLA, ABS, PETG, TPU) for different parts of your model. Use flexible filament for hinges and rigid for structure!</p>
                </div>
                <div class="step-card">
                    <div class="step-number">3</div>
                    <h4>๐Ÿ‘๏ธ Visual Preview</h4>
                    <p>See exactly how your print will look before wasting time and material. The preview feature shows you the final result in stunning detail!</p>
                </div>
                <div class="step-card">
                    <div class="step-number">4</div>
                    <h4>๐Ÿ’ผ Professional Results</h4>
                    <p>Achieve professional-grade prints with color-coded sections, making your projects stand out in presentations and portfolios!</p>
                </div>
                <div class="step-card">
                    <div class="step-number">5</div>
                    <h4>โฑ๏ธ Time Saver</h4>
                    <p>No need to pause prints manually to swap filament. The printer handles color changes automatically at the right layers!</p>
                </div>
                <div class="step-card">
                    <div class="step-number">6</div>
                    <h4>๐ŸŽฏ Precision Control</h4>
                    <p>Assign specific colors to specific parts of your model with pixel-perfect accuracy. Every detail exactly as you envision it!</p>
                </div>
            </div>
        </section>

        <!-- How Does It Work Section -->
        <section class="section" id="how-it-works">
            <div class="section-icon">โš™๏ธ</div>
            <h2>How Does It Work?</h2>
            <p>Let's break down the process into easy-to-follow steps! Click each step to learn more:</p>
            
            <div class="accordion">
                <div class="accordion-item">
                    <div class="accordion-header" onclick="toggleAccordion(this)">
                        <h4><span>๐Ÿ“ฑ</span> Step 1: Launch Bambu Lab Studio</h4>
                        <span class="accordion-icon">โ–ผ</span>
                    </div>
                    <div class="accordion-content">
                        <div class="accordion-content-inner">
                            <p>Open the Bambu Lab Studio application on your computer. This is your command center for all 3D printing operations!</p>
                            <div class="tip-card">
                                <h4>๐Ÿ’ก Quick Tip</h4>
                                <p>Make sure your printer is connected and powered on before starting. You'll see a green indicator when everything is ready!</p>
                            </div>
                            <div class="badge">๐Ÿ–ฅ๏ธ Desktop App</div>
                            <div class="badge">๐Ÿ“ฑ Mobile Compatible</div>
                            <div class="badge">โ˜๏ธ Cloud Sync</div>
                        </div>
                    </div>
                </div>

                <div class="accordion-item">
                    <div class="accordion-header" onclick="toggleAccordion(this)">
                        <h4><span>๐ŸŽฏ</span> Step 2: Navigate to Device Tab</h4>
                        <span class="accordion-icon">โ–ผ</span>
                    </div>
                    <div class="accordion-content">
                        <div class="accordion-content-inner">
                            <p>Look at the top navigation bar and click on the <strong>"Device"</strong> tab. This is the hardware control center where all your printer settings live!</p>
                            <div class="code-block">
                                <div class="code-header">
                                    <span class="code-title">Navigation Path</span>
                                </div>
                                <pre><span class="keyword">Home</span> โ†’ <span class="function">Device Tab</span> โ†’ <span class="string">Printer Settings</span> โ†’ <span class="keyword">Filament Management</span></pre>
                            </div>
                            <p>The Device tab contains all hardware-related settings including temperature, speed, and of course - filament configuration!</p>
                        </div>
                    </div>
                </div>

                <div class="accordion-item">
                    <div class="accordion-header" onclick="toggleAccordion(this)">
                        <h4><span>๐Ÿงต</span> Step 3: Locate Filament Settings</h4>
                        <span class="accordion-icon">โ–ผ</span>
                    </div>
                    <div class="accordion-content">
                        <div class="accordion-content-inner">
                            <p>Within the Device tab, find the filament management section. It's usually marked with a spool icon ๐Ÿงต or labeled "Filament Settings".</p>
                            <div class="info-card">
                                <h4>๐Ÿ“ Where to Look</h4>
                                <p>The filament section typically shows all your loaded filament spools with their current colors, types, and remaining amounts. Each slot is numbered for easy identification!</p>
                            </div>
                        </div>
                    </div>
                </div>

                <div class="accordion-item">
                    <div class="accordion-header" onclick="toggleAccordion(this)">
                        <h4><span>๐ŸŽจ</span> Step 4: Select Your Color</h4>
                        <span class="accordion-icon">โ–ผ</span>
                    </div>
                    <div class="accordion-content">
                        <div class="accordion-content-inner">
                            <p>Click on the filament slot you want to modify. A color picker or palette will appear with various color options!</p>
                            <p>You can either:</p>
                            <ul style="margin-left: 20px; margin-top: 10px;">
                                <li>โœ… Choose from preset colors</li>
                                <li>โœ… Use a color wheel for custom colors</li>
                                <li>โœ… Enter HEX color codes for exact matches</li>
                                <li>โœ… Sample colors from images</li>
                            </ul>
                        </div>
                    </div>
                </div>

                <div class="accordion-item">
                    <div class="accordion-header" onclick="toggleAccordion(this)">
                        <h4><span>๐Ÿ’พ</span> Step 5: Apply & Save Changes</h4>
                        <span class="accordion-icon">โ–ผ</span>
                    </div>
                    <div class="accordion-content">
                        <div class="accordion-content-inner">
                            <p>After selecting your desired color, click the "Apply" or "Save" button. This ensures your changes are stored!</p>
                            <div class="mistake-card">
                                <h4>โš ๏ธ Important!</h4>
                                <p>Always click Save! Forgetting this step means your color changes won't take effect, and you'll wonder why your preview looks wrong!</p>
                            </div>
                        </div>
                    </div>
                </div>

                <div class="accordion-item">
                    <div class="accordion-header" onclick="toggleAccordion(this)">
                        <h4><span>๐Ÿ‘๏ธ</span> Step 6: Preview Your Masterpiece</h4>
                        <span class="accordion-icon">โ–ผ</span>
                    </div>
                    <div class="accordion-content">
                        <div class="accordion-content-inner">
                            <p>Switch to the <strong>Preview</strong> tab to see how your model will look with the new filament colors. The preview updates in real-time!</p>
                            <div class="tip-card">
                                <h4>โœจ Pro Tip</h4>
                                <p>Rotate the preview 360ยฐ to see how colors look from all angles. You can also toggle layer-by-layer view to see exactly when color changes occur!</p>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>

        <!-- Live Demo Section -->
        <section class="section" id="live-demo">
            <div class="section-icon">๐ŸŽฎ</div>
            <h2>Interactive Demo</h2>
            <p>Try it yourself! Explore the interface and change filament colors in this interactive simulator:</p>
            
            <div class="demo-container">
                <div class="demo-header">
                    <h3>Bambu Lab Studio Simulator</h3>
                    <p>Click through the tabs to experience the workflow!</p>
                </div>

                <div class="demo-tabs">
                    <div class="demo-tab active" onclick="switchDemoTab(0)">
                        <span>๐Ÿ“ฑ</span> Device Tab
                    </div>
                    <div class="demo-tab" onclick="switchDemoTab(1)">
                        <span>๐ŸŽจ</span> Color Picker
                    </div>
                    <div class="demo-tab" onclick="switchDemoTab(2)">
                        <span>๐Ÿ‘๏ธ</span> Preview
                    </div>
                </div>

                <!-- Demo Tab 1: Device Tab -->
                <div class="demo-content active" id="demo0">
                    <div class="device-simulator">
                        <div class="simulator-screen">
                            <div class="simulator-header">
                                <span class="simulator-title">๐Ÿ–จ๏ธ Device Settings</span>
                                <span style="color: var(--success);">โ— Connected</span>
                            </div>
                            <div style="text-align: left; margin: 20px 0;">
                                <p><strong>Printer Model:</strong> Bambu Lab X1-Carbon</p>
                                <p><strong>Status:</strong> Ready to Print</p>
                                <p><strong>Temperature:</strong> 25ยฐC</p>
                            </div>
                            <div style="background: rgba(0,0,0,0.3); padding: 20px; border-radius: 10px; margin: 20px 0;">
                                <h4 style="color: var(--accent); margin-bottom: 15px;">๐Ÿงต Filament Slots</h4>
                                <div style="display: grid; gap: 10px;">
                                    <div style="background: rgba(255,255,255,0.1); padding: 15px; border-radius: 8px; display: flex; justify-content: space-between; align-items: center;">
                                        <span><strong>Slot 1:</strong> <span id="currentColorName" style="color: #ff6b6b;">Red PLA</span></span>
                                        <button class="copy-btn" onclick="switchDemoTab(1)" style="position: static;">Change Color</button>
                                    </div>
                                    <div style="background: rgba(255,255,255,0.05); padding: 15px; border-radius: 8px; opacity: 0.6;">
                                        <span><strong>Slot 2:</strong> Empty</span>
                                    </div>
                                    <div style="background: rgba(255,255,255,0.05); padding: 15px; border-radius: 8px; opacity: 0.6;">
                                        <span><strong>Slot 3:</strong> Empty</span>
                                    </div>
                                    <div style="background: rgba(255,255,255,0.05); padding: 15px; border-radius: 8px; opacity: 0.6;">
                                        <span><strong>Slot 4:</strong> Empty</span>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>

                <!-- Demo Tab 2: Color Picker -->
                <div class="demo-content" id="demo1">
                    <div class="device-simulator">
                        <div class="simulator-screen">
                            <div class="simulator-header">
                                <span class="simulator-title">๐ŸŽจ Select Filament Color</span>
                                <span>Slot 1</span>
                            </div>
                            <p style="margin: 20px 0; text-align: center;">Choose a color for your filament:</p>
                            <div class="color-picker-demo">
                                <div>
                                    <div class="color-option selected" style="background: #ff6b6b;" onclick="selectColor('#ff6b6b', 'Red')" data-color="Red"></div>
                                    <div class="color-label">Red</div>
                                </div>
                                <div>
                                    <div class="color-option" style="background: #4ade80;" onclick="selectColor('#4ade80', 'Green')" data-color="Green"></div>
                                    <div class="color-label">Green</div>
                                </div>
                                <div>
                                    <div class="color-option" style="background: #3b82f6;" onclick="selectColor('#3b82f6', 'Blue')" data-color="Blue"></div>
                                    <div class="color-label">Blue</div>
                                </div>
                                <div>
                                    <div class="color-option" style="background: #fbbf24;" onclick="selectColor('#fbbf24', 'Yellow')" data-color="Yellow"></div>
                                    <div class="color-label">Yellow</div>
                                </div>
                                <div>
                                    <div class="color-option" style="background: #a855f7;" onclick="selectColor('#a855f7', 'Purple')" data-color="Purple"></div>
                                    <div class="color-label">Purple</div>
                                </div>
                                <div>
                                    <div class="color-option" style="background: #ec4899;" onclick="selectColor('#ec4899', 'Pink')" data-color="Pink"></div>
                                    <div class="color-label">Pink</div>
                                </div>
                                <div>
                                    <div class="color-option" style="background: #14b8a6;" onclick="selectColor('#14b8a6', 'Cyan')" data-color="Cyan"></div>
                                    <div class="color-label">Cyan</div>
                                </div>
                                <div>
                                    <div class="color-option" style="background: #f97316;" onclick="selectColor('#f97316', 'Orange')" data-color="Orange"></div>
                                    <div class="color-label">Orange</div>
                                </div>
                            </div>
                            <div style="text-align: center; margin-top: 30px;">
                                <button class="copy-btn" onclick="applyColor()" style="position: static; font-size: 1.1rem; padding: 12px 30px;">
                                    โœ“ Apply Color
                                </button>
                            </div>
                        </div>
                    </div>
                </div>

                <!-- Demo Tab 3: Preview -->
                <div class="demo-content" id="demo2">
                    <div class="device-simulator">
                        <div class="simulator-screen">
                            <div class="simulator-header">
                                <span class="simulator-title">๐Ÿ‘๏ธ Print Preview</span>
                                <span>3D Model View</span>
                            </div>
                            <p style="margin: 20px 0; text-align: center;">Your model with the selected filament color:</p>
                            <div class="filament-preview" id="filamentPreview">
                                ๐ŸŽฒ
                            </div>
                            <div style="text-align: center; margin-top: 20px;">
                                <p style="font-size: 1.2rem;"><strong>Current Color:</strong> <span id="previewColorName" style="color: #ff6b6b;">Red</span></p>
                                <p style="opacity: 0.7; margin-top: 10px;">Rotate the view to see all angles!</p>
                            </div>
                            <div style="display: flex; justify-content: center; gap: 10px; margin-top: 20px;">
                                <button class="copy-btn" onclick="switchDemoTab(1)" style="position: static;">Change Color</button>
                                <button class="copy-btn" onclick="switchDemoTab(0)" style="position: static; background: var(--success);">Back to Device</button>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>

        <!-- Code Breakdown Section -->
        <section class="section" id="code-breakdown">
            <div class="section-icon">๐Ÿ“</div>
            <h2>Phrase Breakdown</h2>
            <p>Let's dissect each part of the instruction to understand it completely:</p>
            
            <div class="code-block">
                <div class="code-header">
                    <span class="code-title">Annotated Instruction</span>
                    <button class="copy-btn" onclick="copyCode(this)">
                        <span>๐Ÿ“‹</span> Copy
                    </button>
                </div>
                <pre><span class="string">"You change the filament color"</span>
<span class="comment">// ACTION: What you're doing - modifying filament settings
// This is the main task you want to accomplish</span>

<span class="keyword">in the device tab</span>
<span class="comment">// LOCATION: Where to perform the action
// The Device tab is the hardware control center</span>

<span class="function">of the Bambu Lab 3D printer application</span>
<span class="comment">// SOFTWARE: Which program to use
// Bambu Lab Studio - the official control software</span>

<span class="number">Result:</span> <span class="string">Color change applied to filament slot</span>
<span class="comment">// OUTCOME: What happens after following these steps</span></pre>
            </div>

            <h3>Breaking It Down Further:</h3>
            
            <div class="steps-container">
                <div class="step-card">
                    <div class="step-number">๐ŸŽฏ</div>
                    <h4>The Action</h4>
                    <p><strong>"You change the filament color"</strong> - This is your objective. You're not just viewing or monitoring - you're actively modifying a setting.</p>
                </div>
                <div class="step-card">
                    <div class="step-number">๐Ÿ“</div>
                    <h4>The Location</h4>
                    <p><strong>"in the device tab"</strong> - This tells you exactly where to go. Not the Prepare tab, not the Preview tab - specifically the Device tab.</p>
                </div>
                <div class="step-card">
                    <div class="step-number">๐Ÿ’ป</div>
                    <h4>The Software</h4>
                    <p><strong>"of the Bambu Lab 3D printer application"</strong> - This specifies which program. Make sure you're using the official Bambu Lab software!</p>
                </div>
            </div>

            <div class="tip-card">
                <h4>๐ŸŽฏ Key Takeaway</h4>
                <p>This is a navigation instruction that follows a simple pattern: <strong>Action โ†’ Location โ†’ Software</strong>. Think of it as a GPS direction for your 3D printing workflow!</p>
            </div>
        </section>

        <!-- Common Mistakes Section -->
        <section class="section" id="common-mistakes">
            <div class="section-icon">โš ๏ธ</div>
            <h2>Common Mistakes to Avoid</h2>
            <p>Learn from others' mistakes! Here are the most common pitfalls and how to avoid them:</p>
            
            <div class="mistake-card">
                <h4>โŒ Mistake #1: Looking in the Wrong Tab</h4>
                <p>Many beginners search in the "Prepare" or "Preview" tabs first. Remember: filament settings are hardware-related, so they're in the <strong>Device</strong> tab! Think of it this way: Device = Hardware = Filament.</p>
            </div>

            <div class="mistake-card">
                <h4>โŒ Mistake #2: Forgetting to Save Changes</h4>
                <p>You pick a beautiful color, close the dialog, and... nothing changes! Always click "Apply" or "Save" after selecting a color. The software won't automatically save your changes.</p>
            </div>

            <div class="mistake-card">
                <h4>โŒ Mistake #3: Not Checking the Preview</h4>
                <p>Skipping the preview step is like cooking without tasting. Always verify your color changes in the Preview tab before starting the print. This saves time, material, and frustration!</p>
            </div>

            <div class="mistake-card">
                <h4>โŒ Mistake #4: Wrong Filament Slot</h4>
                <p>If you have multiple filament slots (AMS system), make sure you're changing the correct one! Check which slot your model is assigned to before modifying colors.</p>
            </div>

            <div class="mistake-card">
                <h4>โŒ Mistake #5: Virtual vs. Physical Mismatch</h4>
                <p>Setting a blue color in the software when you have red filament loaded will give you... red prints! Always match your virtual color selection to your actual physical filament.</p>
            </div>

            <div class="mistake-card">
                <h4>โŒ Mistake #6: Ignoring Filament Type</h4>
                <p>Changing color doesn't change the filament type! If you need different materials (PLA vs ABS), you need to change both the color AND the material profile.</p>
            </div>
        </section>

        <!-- Pro Tips Section -->
        <section class="section" id="pro-tips">
            <div class="section-icon">๐Ÿš€</div>
            <h2>Pro Tips & Advanced Techniques</h2>
            <p>Take your filament color management to the next level with these expert tips!</p>
            
            <div class="tip-card">
                <h4>๐Ÿ’Ž Pro Tip #1: Create Color Presets</h4>
                <p>Save your favorite color combinations as presets! This is perfect for brand colors or recurring projects. Navigate to Settings โ†’ Filament Presets โ†’ Create New. Give it a memorable name like "Company Logo Colors" or "Rainbow Set".</p>
            </div>

            <div class="tip-card">
                <h4>๐Ÿ’Ž Pro Tip #2: Use Color Coding for Assembly</h4>
                <p>Assign different colors to different parts that need to be assembled later. For example: red for part A, blue for part B. This makes assembly instructions crystal clear and reduces errors!</p>
            </div>

            <div class="tip-card">
                <h4>๐Ÿ’Ž Pro Tip #3: Preview from Multiple Angles</h4>
                <p>Don't just look at the front view! Rotate your preview 360ยฐ and check top, bottom, and side views. Colors can look different from various angles, especially with lighting effects.</p>
            </div>

            <div class="tip-card">
                <h4>๐Ÿ’Ž Pro Tip #4: Match Physical Filament Exactly</h4>
                <p>Take a photo of your actual filament spool and use a color picker tool to get the exact HEX code. This
Live Preview