@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Outfit:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;min-height:100vh}.entry-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.entry-container{text-align:center;padding:60px 80px;background:#fffffff2;border-radius:16px;box-shadow:0 20px 60px #00000026}.entry-title{font-size:36px;font-weight:600;color:#333;margin:0 0 48px;letter-spacing:2px}.entry-buttons{display:flex;gap:24px;justify-content:center}.entry-btn{padding:16px 48px;font-size:18px;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;min-width:140px}.entry-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.entry-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.entry-btn-secondary{background:#f5f5f5;color:#666;border:1px solid #ddd}.entry-btn-secondary:hover{background:#eee;transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.header{width:100%;height:96px;padding:24px 48px;display:flex;justify-content:space-between;align-items:center;background:#fff}.filter-section{width:100%;padding:16px 48px;display:flex;flex-direction:column;gap:8px;position:relative;flex-shrink:0}.content-area{flex:1;padding:24px 48px 48px;display:flex;flex-direction:column;gap:32px;background:#f5faff;overflow-y:auto;min-height:0}.grade-section{width:100%;background:#fff;border-radius:20px;padding:28px 32px;box-shadow:0 2px 16px #0000000a;display:flex;flex-direction:column;gap:24px}.grade-header{display:flex;gap:12px;align-items:center}.grade-title{font-family:Outfit,sans-serif;font-size:22px;font-weight:700;margin:0}.grade-count{font-size:16px;color:#64748b}.grade-grid{display:flex;flex-direction:column;gap:16px}.experiment-row{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}@media(max-width:1200px){.experiment-row{flex-direction:column}.experiment-card{width:100%}}@media(max-width:768px){.header{padding:16px 24px}.tab-bar{padding:16px 24px;flex-direction:column;gap:16px}.tabs{flex-wrap:wrap;justify-content:center}.search-box{width:100%}.filter-section{padding:16px 24px}.dropdown-menu{left:24px}.content-area{padding:16px 24px 24px}.grade-section{padding:20px}.page-title{font-size:28px}}.experiment-page{height:100vh;display:flex;flex-direction:column;background:#fff;overflow:hidden}.browser-tip{width:100%;padding:12px 48px;background:#fff5f5;border-bottom:1px solid #ffcdd2;font-size:14px;font-weight:500;color:#d32f2f;text-align:center;flex-shrink:0}.header{width:100%;height:96px;padding:24px 48px;display:flex;justify-content:space-between;align-items:center;background:#fff;flex-shrink:0}.title-wrapper{display:flex;flex-direction:column;padding:12px 0}.title-container{display:flex;gap:16px;align-items:center}.logo{width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,#606dff,#a4acff)}.page-title{font-family:Space Grotesk,sans-serif;font-size:36px;font-weight:600;color:#2a241b;margin:0}.home-button{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#1678ff;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.home-button:hover{background:#0d6efd;transform:translateY(-1px);box-shadow:0 2px 8px #1678ff4d}.home-button svg{width:16px;height:16px}.tab-bar{width:100%;background:#87c7ff;padding:24px 48px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.tabs{display:flex;gap:24px}.tab{padding:12px 32px;border-radius:16px;background:#ffffff1a;font-family:Space Grotesk,sans-serif;font-size:16px;font-weight:400;color:#fff;cursor:pointer;transition:all .2s ease}.tab:hover{background:#fff3}.tab.active{background:#fff;color:#1678ff;font-weight:700;box-shadow:0 4px 4px #ffffff40}.search-box{width:320px;height:48px;background:#fafafa;border-radius:16px;padding:12px 16px;display:flex;align-items:center;gap:12px}.search-icon{width:20px;height:20px;color:#7a7a7a;flex-shrink:0}.search-input{flex:1;border:none;outline:none;background:transparent;font-size:14px;color:#334155}.search-input::placeholder{color:#b0b0b0}.filter-section{width:100%;padding:16px 48px;display:flex;flex-direction:column;gap:16px;position:relative;flex-shrink:0}.version-filter{width:200px;height:48px;background:#fafafa;border:1px solid #e2e8f0;border-radius:8px;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000000f;cursor:pointer;transition:all .2s ease}.version-filter:hover{box-shadow:0 2px 12px #0000001a}.version-filter-text{font-size:14px;font-weight:500;color:#1678ff}.dropdown-icon{width:16px;height:16px;color:#4f46e5;transition:transform .2s ease}.dropdown-icon.open{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:72px;left:48px;width:200px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001f;overflow:hidden;z-index:100}.dropdown-option{width:100%;height:44px;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;background:#fff;cursor:pointer;transition:background .2s ease}.dropdown-option:hover{background:#f8fafc}.dropdown-option.selected{background:#fff}.dropdown-option-text{font-size:14px;color:#475569}.dropdown-option.selected .dropdown-option-text{font-weight:500;color:#1678ff}.check-icon{width:16px;height:16px;color:#4f46e5}.subject-tabs{display:flex;gap:16px}.subject-tab{padding:10px 24px;border-radius:12px;background:#f1f5f9;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.subject-tab:hover{background:#e2e8f0}.subject-tab.active{background:#1678ff;color:#fff;font-weight:600}.search-result-info{padding:16px 0;font-size:14px;color:#64748b}.search-result-count{font-weight:600;color:#1678ff}.search-result-keyword{color:#1e293b;font-weight:500}.content-area{flex:1;padding:24px 48px 48px;display:flex;flex-direction:column;gap:16px;background:#f5faff;overflow-y:auto;min-height:0}.experiment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 20px}.experiment-card{height:64px;background:#f8fafc;border-radius:16px;border:1px solid #e2e8f0;padding:20px 24px;display:flex;align-items:center;cursor:pointer;transition:all .2s ease}.experiment-card:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.experiment-card-content{width:100%;display:flex;justify-content:space-between;align-items:center}.experiment-name{font-size:17px;font-weight:500;color:#334155}.card-arrow{width:16px;height:16px;color:#7a7a7a;transform:rotate(-90deg);transition:transform .2s ease}.experiment-card:hover .card-arrow{transform:rotate(-90deg) translate(4px)}.empty-state{flex:1;display:flex;flex-direction:column;gap:32px;justify-content:center;align-items:center;padding:48px}.empty-illustration{width:280px;height:200px;background:#f8fafc;border-radius:24px;position:relative;display:flex;justify-content:center;align-items:center}.empty-search-icon{width:100px;height:100px;color:#e2e8f0}.empty-dot{position:absolute;border-radius:50%}.empty-dot-1{width:16px;height:16px;background:#4f46e5;top:35px;left:55px}.empty-dot-2{width:12px;height:12px;background:#a4acff;top:55px;right:55px}.empty-dot-3{width:8px;height:8px;background:#cbd5e1;bottom:35px;left:65px}.empty-title{font-size:20px;font-weight:600;color:#1e293b;margin:0}.empty-description{font-size:14px;color:#64748b;margin:0}@media(max-width:1200px){.experiment-grid{grid-template-columns:1fr}}@media(max-width:768px){.header{padding:16px 24px}.tab-bar{padding:16px 24px;flex-direction:column;gap:16px}.tabs{flex-wrap:wrap;justify-content:center}.search-box{width:100%}.filter-section{padding:16px 24px}.dropdown-menu{left:24px}.content-area{padding:16px 24px 24px}.page-title{font-size:28px}.subject-tabs{flex-wrap:wrap}}.experiment-detail-page{width:100vw;height:100vh;position:relative;background:#231f20;overflow:hidden}.experiment-detail-content{width:100%;height:100%}.experiment-iframe{width:100%;height:100%;border:none;background-color:#231f20}.experiment-iframe.hidden{visibility:hidden}.experiment-placeholder{width:100%;height:100%;display:flex;justify-content:center;align-items:center;font-size:18px;color:#64748b}.back-button{position:fixed;right:32px;bottom:32px;display:flex;align-items:center;justify-content:center;gap:8px;width:56px;height:56px;padding:0;background:#fff;border:1px solid #e2e8f0;border-radius:50%;box-shadow:0 4px 12px #0000001a;cursor:pointer;color:#334155;transition:all .2s ease;z-index:1000}.back-button:hover{background:#f8fafc;box-shadow:0 6px 16px #0000001f;transform:translateY(-2px)}@media(max-width:768px){.back-button{right:16px;bottom:16px;padding:10px 20px}}@media screen and (max-width:768px)and (orientation:portrait){.experiment-detail-page:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;z-index:9999}.experiment-detail-page:after{content:"请将设备横屏查看";position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:18px;font-weight:500;z-index:10000;text-align:center;white-space:nowrap}.experiment-detail-content,.back-button{display:none!important}}@media screen and (max-width:768px)and (orientation:landscape){.experiment-detail-page{width:100vw;height:100vh}.back-button{width:48px;height:48px;right:12px;bottom:12px}.back-button svg{width:18px;height:18px}}.loading-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-image:url(http://data.xiyilab.com/web/main/static/实验/bg.png);background-size:cover;background-position:center;background-repeat:no-repeat;overflow:hidden;z-index:100;display:flex;flex-direction:column;align-items:center}.loading-logo{position:fixed;z-index:10;width:15vw;top:27vw;left:14vw;background-image:url(http://data.xiyilab.com/web/main/static/实验/xy.png);background-size:contain;background-position:center;background-repeat:no-repeat;min-height:80px}.loading-text{width:40vw;margin-top:43vh;text-align:center;color:#fff}.loading-title{font-size:1.5vw;font-weight:600;margin-bottom:1vw;line-height:2vw}.loading-knowledge{font-size:1.2vw;line-height:2vw;max-width:50vw}.loading-progress{position:fixed;top:40vw;left:17.5vw;width:65vw;display:flex;flex-direction:column;align-items:center}.progress-bar{width:100%;height:30px;background-image:url(http://data.xiyilab.com/web/main/static/实验/加载白色.png);background-position:center;background-size:cover;background-repeat:no-repeat;border-bottom-right-radius:0;border-top-right-radius:0;border-bottom-left-radius:1.2vw;border-top-left-radius:1.2vw;overflow:hidden}.progress-fill{height:100%;background-image:url(http://data.xiyilab.com/web/main/static/实验/加载进度.png);background-position:right;background-repeat:no-repeat;background-size:cover;transition:width .3s ease}.progress-text{position:absolute;width:100%;text-align:center;color:#fff;font-size:14px;font-weight:600;line-height:30px;pointer-events:none}.loading-bottom-text{position:fixed;bottom:5vw;left:45vw;width:10vw;height:1vw;background-image:url(http://data.xiyilab.com/web/main/static/实验/正在加载配置文件....png);background-size:contain;background-position:center;background-repeat:no-repeat}.cocos-experiment-page{width:100vw;height:100vh;position:relative;background:#1a1a2e;overflow:hidden}.cocos-experiment-content{width:100%;height:100%}.cocos-iframe{width:100%;height:100%;border:none}.cocos-placeholder{width:100%;height:100%;display:flex;justify-content:center;align-items:center;font-size:18px;color:#a0a0a0}.back-button{position:fixed;right:32px;bottom:32px;display:flex;align-items:center;justify-content:center;gap:8px;width:56px;height:56px;padding:0;background:#fff;border:1px solid #e2e8f0;border-radius:50%;box-shadow:0 4px 12px #0000004d;cursor:pointer;color:#334155;transition:all .2s ease;z-index:1000}.back-button:hover{background:#f8fafc;box-shadow:0 6px 16px #00000059;transform:translateY(-2px)}.back-button svg{width:20px;height:20px}.back-button span{display:none}@media(max-width:768px){.back-button{right:16px;bottom:16px;width:48px;height:48px}.back-button svg{width:18px;height:18px}}.login-page{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:24px}.login-container{width:100%;max-width:420px;background:#fff;border-radius:24px;padding:48px 40px;box-shadow:0 20px 60px #00000026}.login-header{text-align:center;margin-bottom:40px}.login-title{font-family:Space Grotesk,sans-serif;font-size:32px;font-weight:700;color:#1e293b;margin:0 0 8px}.login-subtitle{font-size:14px;color:#64748b;margin:0}.login-form{display:flex;flex-direction:column;gap:24px}.login-error{padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px;text-align:center}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:14px;font-weight:500;color:#334155}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:16px;width:20px;height:20px;color:#94a3b8;flex-shrink:0}.form-input{width:100%;height:52px;padding:0 48px;border:1px solid #e2e8f0;border-radius:12px;font-size:15px;color:#334155;background:#f8fafc;transition:all .2s ease}.form-input::placeholder{color:#94a3b8}.form-input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.toggle-password{position:absolute;right:16px;width:20px;height:20px;background:none;border:none;padding:0;cursor:pointer;color:#94a3b8;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.toggle-password:hover{color:#667eea}.toggle-password svg{width:20px;height:20px}.login-button{width:100%;height:52px;margin-top:8px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;font-size:16px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease}.login-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.login-button:active{transform:translateY(0)}@media(max-width:480px){.login-container{padding:32px 24px}.login-title{font-size:28px}}
