body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0;padding:0;background-color:#f4f7f6;color:#333;line-height:1.6}.app-container{max-width:1200px;margin:0 auto;padding:20px;background-color:#fff;border-radius:12px;box-shadow:0 4px 15px #00000014}.app-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;border-bottom:1px solid #e0e0e0;margin-bottom:20px;flex-wrap:wrap}.header-title{display:flex;align-items:center;color:#007bff}.header-icon{width:30px;height:30px;margin-right:10px;stroke:#007bff}.app-header h1{margin:0;font-size:28px;font-weight:600;color:#2c3e50}.cloud-sync-indicator{font-size:14px;color:#6c757d;margin-left:15px;background-color:#e9ecef;padding:4px 8px;border-radius:5px;font-weight:500}.search-filter-container{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.search-box{display:flex;align-items:center;background-color:#f8f9fa;border-radius:8px;padding:8px 12px;border:1px solid #ced4da;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out}.search-box:focus-within{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.search-icon{width:20px;height:20px;margin-right:8px;color:#6c757d}.search-input{border:none;outline:none;background:transparent;font-size:16px;padding:4px 0;width:180px}.filter-dropdown{display:flex;align-items:center;background-color:#f8f9fa;border-radius:8px;padding:8px 12px;border:1px solid #ced4da}.filter-icon{width:20px;height:20px;margin-right:8px;color:#6c757d}.filter-select{border:none;outline:none;background:transparent;font-size:16px;padding:4px;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none}.upload-button{background-color:#28a745;color:#fff;border:none;padding:10px 18px;border-radius:8px;cursor:pointer;font-size:16px;display:flex;align-items:center;transition:background-color .2s ease-in-out,transform .1s ease-in-out;box-shadow:0 2px 5px #28a7454d}.upload-button:hover{background-color:#218838;transform:translateY(-1px)}.upload-icon{width:20px;height:20px;margin-right:8px}.loading-indicator{text-align:center;padding:50px 20px;font-size:18px;color:#6c757d;background-color:#e9ecef;border-radius:8px;margin-bottom:20px}.experiment-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:25px;padding-top:20px}.experiment-card{background-color:#fff;border-radius:10px;padding:20px;box-shadow:0 4px 10px #0000000d;transition:transform .3s ease-in-out,box-shadow .3s ease-in-out;cursor:pointer;border:1px solid #eee;display:flex;flex-direction:column;justify-content:space-between}.experiment-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #0000001a}.card-header{margin-bottom:15px}.category-tag{display:inline-block;padding:5px 12px;border-radius:15px;font-size:13px;font-weight:600;margin-bottom:10px;color:#fff}.category-tag.化学{background-color:#ff6b6b}.category-tag.物理{background-color:#4ecdc4}.category-tag.生物{background-color:#a2d5c4}.category-tag.工程{background-color:#7f8fa6}.category-tag.全部{background-color:#95a5a6}.experiment-title{font-size:22px;margin:0;color:#34495e;font-weight:600}.card-details{font-size:14px;color:#7f8fa6;display:flex;align-items:center;gap:15px;margin-top:auto}.detail-item{display:flex;align-items:center}.star-icon{width:16px;height:16px;margin-right:5px;fill:#f1c40f;stroke:#f1c40f}.no-results{text-align:center;grid-column:1 / -1;padding:50px;font-size:18px;color:#6c757d}.experiment-detail{padding-top:20px}.back-button{background-color:#6c757d;color:#fff;border:none;padding:10px 18px;border-radius:8px;cursor:pointer;font-size:16px;margin-bottom:25px;transition:background-color .2s ease-in-out;display:inline-flex;align-items:center}.back-button:hover{background-color:#5a6268}.detail-title{font-size:32px;font-weight:700;color:#2c3e50;margin-bottom:30px;text-align:center}.detail-content{background-color:#fdfdfd;padding:30px;border-radius:12px;box-shadow:inset 0 2px 10px #00000008}.section{margin-bottom:30px;padding-bottom:20px;border-bottom:1px dashed #e0e0e0}.section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.section h3{font-size:24px;color:#007bff;margin-bottom:15px;position:relative;padding-left:15px}.section h3:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:5px;height:20px;background-color:#007bff;border-radius:3px}.materials-section ul,.steps-section ol{padding-left:25px}.materials-section li,.steps-section li{margin-bottom:10px;font-size:16px;color:#444}.steps-section li{font-weight:500}.principle-section p{font-size:17px;color:#555;background-color:#f0f8ff;padding:15px;border-radius:8px;border-left:4px solid #007bff}.video-section video{border-radius:8px;box-shadow:0 4px 15px #0000001a;margin-top:15px}.like-button{background-color:#ffc107;color:#333;border:none;padding:12px 25px;border-radius:8px;cursor:pointer;font-size:18px;font-weight:600;transition:background-color .2s ease-in-out,transform .1s ease-in-out;display:flex;align-items:center;margin-top:20px;box-shadow:0 2px 8px #ffc10766}.like-button:hover{background-color:#e0a800;transform:translateY(-2px)}.like-button .star-icon{margin-right:10px;fill:#fff;stroke:#fff;width:22px;height:22px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;padding:30px 40px;border-radius:12px;box-shadow:0 5px 20px #00000026;width:90%;max-width:500px;text-align:center}.modal-content h2{margin-top:0;margin-bottom:25px;font-size:26px;color:#2c3e50}.modal-input,.modal-select{width:calc(100% - 24px);padding:12px;margin-bottom:15px;border:1px solid #ced4da;border-radius:8px;font-size:16px;box-sizing:border-box}.modal-select{cursor:pointer}.modal-buttons{display:flex;justify-content:flex-end;gap:15px;margin-top:25px}.modal-buttons button{padding:10px 20px;border-radius:8px;font-size:16px;cursor:pointer;border:none;transition:background-color .2s ease-in-out,transform .1s ease-in-out}.modal-buttons button:first-child{background-color:#6c757d;color:#fff}.modal-buttons button:first-child:hover{background-color:#5a6268}.modal-buttons button:last-child{background-color:#007bff;color:#fff}.modal-buttons button:last-child:hover{background-color:#0056b3}.modal-buttons button:disabled{background-color:#ccc;cursor:not-allowed}.user-videos-section{margin-top:40px;padding-top:30px;border-top:1px solid #e0e0e0}.user-videos-section h2{font-size:28px;color:#2c3e50;margin-bottom:25px;text-align:center}.user-video-card{background-color:#fdfdfd;border-radius:10px;padding:20px;margin-bottom:25px;box-shadow:0 4px 12px #0000000f;border:1px solid #eee}.video-info{display:flex;align-items:center;margin-bottom:15px}.user-avatar{width:50px;height:50px;border-radius:50%;margin-right:15px;background-color:#e0e0e0;object-fit:cover}.video-text h3{margin:0 0 5px;font-size:20px;color:#34495e}.video-text p{margin:0;font-size:14px;color:#7f8fa6}.user-video-card video{width:100%;border-radius:8px;margin-bottom:15px;box-shadow:0 2px 8px #0000001a}.no-video-placeholder{background-color:#f0f0f0;color:#888;text-align:center;padding:40px 20px;border-radius:8px;font-style:italic}.video-actions{font-size:14px;color:#7f8fa6;display:flex;align-items:center;gap:10px}.video-actions .star-icon{width:18px;height:18px;fill:#f1c40f;stroke:#f1c40f}.app-footer{text-align:center;padding-top:30px;margin-top:40px;border-top:1px solid #e0e0e0;font-size:14px;color:#95a5a6}@media (max-width: 768px){.app-header{flex-direction:column;align-items:flex-start}.header-title{margin-bottom:15px}.search-filter-container{width:100%;justify-content:space-between}.search-box,.filter-dropdown{flex-grow:1}.upload-button{margin-top:10px;width:100%;justify-content:center}.experiment-list{grid-template-columns:1fr}.detail-title{font-size:26px}.modal-content{width:95%;padding:25px}.user-videos-section h2{font-size:24px}}@media (max-width: 480px){.header-title h1{font-size:22px}.search-filter-container{flex-direction:column;align-items:stretch}.search-box,.filter-dropdown,.upload-button{width:100%;margin-bottom:10px}.search-input{width:100%}.modal-content{padding:20px}.modal-buttons{flex-direction:column;align-items:stretch}}
