
        /* 原有CSS保持不变 */
        body {
            font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif;
            margin: 0;
            padding: 20px;
            background: linear-gradient(135deg, #DCF5D9 0%, #F8F9F7 100%);
            min-height: 100vh;
            color: #102620;
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
            background: #F8F9F7;
            border-radius: 20px;
            padding: 30px;
            box-shadow: 0 8px 32px rgba(16, 38, 32, 0.1);
        }

        .title {
            text-align: center;
            font-size: 32px;
            font-weight: bold;
            color: #004737;
            margin-bottom: 30px;
            text-shadow: 2px 2px 4px rgba(0, 71, 55, 0.1);
        }

        .section {
            margin-bottom: 40px;
            padding: 25px;
            background: white;
            border-radius: 15px;
            border: 3px solid #A7DB9A;
            position: relative;
        }

        .section-title {
            font-size: 24px;
            color: #004737;
            margin-bottom: 20px;
            font-weight: bold;
        }

        .interactive-area {
            display: flex;
            flex-wrap: wrap;
            gap: 20px;
            align-items: center;
            justify-content: center;
            margin: 20px 0;
        }

        .fraction-visual {
            width: 200px;
            height: 120px;
            border: 3px solid #636D6A;
            border-radius: 10px;
            position: relative;
            background: white;
            cursor: pointer;
            transition: all 0.3s ease;
            overflow: hidden;
        }

        .fraction-visual:hover {
            transform: scale(1.05);
            box-shadow: 0 8px 20px rgba(167, 219, 154, 0.4);
        }

        .fraction-part {
            height: 100%;
            background: #A7DB9A;
            transition: all 0.5s ease;
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: bold;
            color: #004737;
        }

        .fraction-display {
            text-align: center;
            margin-top: 10px;
            font-size: 28px;
            font-weight: bold;
            color: #004737;
        }

        .operation-controls {
            display: flex;
            gap: 15px;
            align-items: center;
            justify-content: center;
            margin: 20px 0;
        }

        .control-button {
            padding: 12px 20px;
            background: #FF6421;
            color: white;
            border: none;
            border-radius: 25px;
            font-size: 18px;
            font-weight: bold;
            cursor: pointer;
            transition: all 0.3s ease;
            box-shadow: 0 4px 15px rgba(255, 100, 33, 0.3);
        }

        .control-button:hover {
            background: #FF9364;
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(255, 100, 33, 0.4);
        }

        .control-button:active {
            transform: translateY(0);
        }

        .multiplier-input {
            width: 60px;
            height: 40px;
            text-align: center;
            font-size: 20px;
            font-weight: bold;
            border: 3px solid #A7DB9A;
            border-radius: 10px;
            background: white;
            color: #004737;
        }

        .equals-sign {
            font-size: 36px;
            font-weight: bold;
            color: #FF6421;
            margin: 0 15px;
        }

        .drag-area {
            min-height: 150px;
            border: 3px dashed #AACA9F;
            border-radius: 15px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: rgba(170, 202, 159, 0.1);
            margin: 20px 0;
            position: relative;
            transition: all 0.3s ease;
        }

        .drag-area.drag-over {
            background: rgba(170, 202, 159, 0.3);
            border-color: #A7DB9A;
            transform: scale(1.02);
        }

        .draggable-fraction {
            width: 120px;
            height: 80px;
            background: #FFDE5E;
            border: 3px solid #636D6A;
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 20px;
            font-weight: bold;
            color: #102620;
            cursor: grab;
            margin: 10px;
            transition: all 0.3s ease;
            user-select: none;
        }

        .draggable-fraction:active {
            cursor: grabbing;
            transform: rotate(5deg) scale(1.1);
        }

        .draggable-fraction.dragging {
            opacity: 0.7;
            z-index: 1000;
            transform: rotate(5deg) scale(1.1);
        }

        .quiz-section {
            background: linear-gradient(135deg, #C4DAFB 0%, #F8F9F7 100%);
            border: 3px solid #C4DAFB;
        }

        .quiz-question {
            font-size: 20px;
            margin-bottom: 20px;
            color: #004737;
            font-weight: bold;
        }

        .quiz-options {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 15px;
            margin: 20px 0;
        }

        .quiz-option {
            padding: 15px;
            background: white;
            border: 3px solid #C4DAFB;
            border-radius: 10px;
            text-align: center;
            cursor: pointer;
            transition: all 0.3s ease;
            font-size: 18px;
            font-weight: bold;
        }

        .quiz-option:hover {
            background: #C4DAFB;
            transform: translateY(-2px);
        }

        .quiz-option.correct {
            background: #AACA9F;
            border-color: #A7DB9A;
            color: white;
        }

        .quiz-option.incorrect {
            background: #FF9364;
            border-color: #FF6421;
            color: white;
        }

        .feedback {
            padding: 15px;
            border-radius: 10px;
            margin: 15px 0;
            font-size: 18px;
            font-weight: bold;
            text-align: center;
            opacity: 0;
            transition: all 0.5s ease;
        }

        .feedback.show {
            opacity: 1;
        }

        .feedback.success {
            background: #AACA9F;
            color: white;
        }

        .feedback.error {
            background: #FF9364;
            color: white;
        }

        .progress-bar {
            width: 100%;
            height: 8px;
            background: #DCF5D9;
            border-radius: 4px;
            margin: 20px 0;
            overflow: hidden;
        }

        .progress-fill {
            height: 100%;
            background: linear-gradient(90deg, #A7DB9A 0%, #AACA9F 100%);
            width: 0%;
            transition: width 0.5s ease;
            border-radius: 4px;
        }

        .step-indicator {
            display: flex;
            justify-content: center;
            gap: 10px;
            margin: 20px 0;
        }

        .step-dot {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: #DCF5D9;
            transition: all 0.3s ease;
        }

        .step-dot.active {
            background: #A7DB9A;
            transform: scale(1.3);
        }

        .step-dot.completed {
            background: #004737;
        }

        .animation-container {
            position: relative;
            height: 200px;
            margin: 20px 0;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        /* 修复：添加动画元素的初始状态 */
        .animated-fraction {
            position: absolute;
            transition: all 1s ease;
            font-size: 24px;
            font-weight: bold;
            padding: 10px 15px;
            background: white;
            border: 3px solid #A7DB9A;
            border-radius: 10px;
            color: #004737;
            opacity: 0;
            transform: translateX(-30px);
        }

        .explanation-box {
            background: linear-gradient(135deg, #FFDE5E 0%, #FFE98F 100%);
            border: 3px solid #FFDE5E;
            border-radius: 15px;
            padding: 20px;
            margin: 20px 0;
            font-size: 18px;
            line-height: 1.6;
            color: #102620;
        }

        .footer {
            background: linear-gradient(to right, #2c3e50, #1a2530);
            color: #ecf0f1;
            text-align: center;
            padding: 20px;
            margin-top: 25px;
            border-radius: 0 0 10px 10px;
        }

        .reset-button {
            background: #636D6A;
            color: white;
            padding: 10px 20px;
            border: none;
            border-radius: 20px;
            font-size: 16px;
            cursor: pointer;
            transition: all 0.3s ease;
            margin: 10px;
        }

        .reset-button:hover {
            background: #102620;
            transform: translateY(-2px);
        }

        @media (max-width: 768px) {
            .container {
                padding: 20px;
            }
            
            .title {
                font-size: 28px;
            }
            
            .interactive-area {
                flex-direction: column;
            }
            
            .fraction-visual {
                width: 100%;
                max-width: 300px;
            }
            
            .quiz-options {
                grid-template-columns: 1fr;
            }
        }
