*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f4f4f4;color:#333}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}.home-container{align-items:center;background:linear-gradient(90deg,#3b82f6,#9333ea);display:flex;flex-direction:column;height:100vh;justify-content:center;padding:20px}.greeting-container{background-color:#f0f0f0;border-radius:8px;margin-bottom:20px;max-width:380px;padding:20px;text-align:center;width:100%}.content-box{box-shadow:0 5px 15px #0003;padding:20px}h1{color:#333}p{color:#555;font-size:1.2rem}.cpp{color:#ec4a4a}.cpp,.sql{font-weight:700}.sql{color:orange}.unity{color:#adad04}.js,.unity{font-weight:700}.js{color:#06b306}.ts{color:#11e9de}.shell,.ts{font-weight:700}.shell{color:#5347ff}.java{color:purple;font-weight:700}.learn-more{background:#3b82f6;border:none;border-radius:50px;color:#fff;cursor:pointer;font-size:1rem;margin-top:20px;padding:10px 20px;transition:background .3s}.learn-more:hover{background:#2563eb}.floating-about-button{background:linear-gradient(135deg,#ff416c,#ff4b2b);border:none;border-radius:50px;box-shadow:0 5px 15px #ff4b2b66;color:#fff;cursor:pointer;font-size:16px;margin-left:100px;margin-top:20px;padding:15px 20px;transition:transform .3s ease,box-shadow .3s ease}.floating-about-button:hover{box-shadow:0 10px 20px #ff4b2b99;transform:scale(1.1)}.floating-about-button:active{transform:scale(.95)}.language-toggle-button{background-color:#7285f0;border:none;border-radius:5px;bottom:15px;color:#fdfdfd;cursor:pointer;font-size:16px;font-weight:700;left:15px;padding:10px 15px;position:fixed;z-index:1000}.language-toggle-button:hover{background-color:#3b82f6}.user-count{animation:fadeIn 1s ease-in-out;background:linear-gradient(135deg,#ff9800,#ff5722);border-radius:20px;box-shadow:0 5px 15px #ff572266;color:#fff;display:inline-block;font-size:1.5rem;font-weight:700;margin-left:50px;margin-top:20px;padding:10px 20px;text-align:center}.user-count-container{display:flex}@keyframes fadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media (max-width:768px){.home-container{flex-direction:column;padding:15px}.content-box,.greeting-container{max-width:100%;width:90%}.learn-more{font-size:.9rem;width:100%}.floating-about-button{margin-left:50px}.language-toggle-button{bottom:10px;font-size:14px;left:10px}.user-count{font-size:1.2rem;padding:8px 15px}}@media (max-width:480px){.home-container{padding:10px}.content-box,.greeting-container{max-width:100%;padding:15px;width:100%}h1{font-size:1.8rem}p{font-size:1rem}.learn-more{font-size:.85rem;padding:8px 15px}.floating-about-button{font-size:14px;padding:12px 15px}.language-toggle-button{bottom:5px;font-size:14px;left:5px}.user-count{font-size:1.2rem;padding:8px 15px}}.projects-container{align-items:center;background:linear-gradient(90deg,#3b82f6e6,#9333eae6);display:flex;height:100vh;justify-content:center}.content-box{background:#fffffff2;box-shadow:0 10px 25px #00000026;padding:25px;transition:transform .3s ease-in-out}.content-box:hover{transform:scale(1.03)}h1{background:linear-gradient(90deg,#3b82f6,#9333ea);-webkit-background-clip:text;color:#0000;font-size:2rem;font-weight:700}ul{list-style:none;margin-top:15px;padding:0}li{background:#0000000d;border-radius:10px;color:#333;font-size:1.2rem;margin:12px 0;padding:8px 12px;transition:background .3s,transform .2s}li:hover{background:#0000001a;transform:translateY(-3px)}@media (max-width:900px){.projects-container{padding:20px}.content-box{padding:20px;width:90%}h1{font-size:1.8rem}li{font-size:1.1rem}}.contact-container{align-items:center;background:linear-gradient(135deg,#6e7dff,#80d0c7);box-sizing:border-box;display:flex;font-family:Arial,sans-serif;justify-content:center;min-height:100vh;padding:20px}.content-box{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0000001a;box-sizing:border-box;max-width:500px;padding:20px 30px;text-align:center;width:90%}.content-box h1{color:#333;font-size:1.8rem;font-weight:600;margin-bottom:15px}.content-box p{color:#555;font-size:1rem;line-height:1.5;margin-bottom:10px;word-break:break-word}a{color:#007bff;font-weight:500;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#0056b3;text-decoration:underline}a:active{color:#003d80}@media screen and (max-width:600px){.content-box{max-width:90%;padding:15px 20px}.content-box h1{font-size:1.5rem}.content-box p{font-size:.95rem}}.about-container{background:#a4def0;border-radius:10px;box-shadow:0 4px 10px #0000001a;color:#333;display:flex;flex-direction:column;margin:auto;max-width:800px;padding:20px}.title-container{align-items:center;display:flex;justify-content:center;margin-bottom:20px;width:100%}.title{color:#222;font-size:26px;font-weight:700;margin-bottom:20px;margin-left:250px;text-align:center}.avatar{border:5px solid #3498db;border-radius:50%;box-shadow:0 4px 10px #0000001a;height:150px;margin-left:200px;object-fit:cover;width:150px}.section{background:#fff;border-radius:8px;box-shadow:0 2px 5px #0000001a;margin-bottom:20px;padding:15px}.icon{color:#3498db;font-size:26px;margin-right:10px}p{font-size:18px;margin-bottom:5px}h3{font-size:22px;margin-bottom:10px}h3,span{font-weight:700}span{font-size:30px;position:relative;top:5px}@media (max-width:768px){.title-container{flex-direction:column;text-align:center}.title{font-size:22px;margin-left:0}.avatar{height:120px;margin-left:0;margin-top:10px;width:120px}.section{padding:10px}p{font-size:16px}h3{font-size:20px}}.project-detail{background-color:#f8f8f8;border-radius:8px;color:#333;font-family:Arial,sans-serif;padding:20px}.project-detail h1{color:#2e7d32;font-size:2.5rem;margin-bottom:20px;text-align:center}.project-summary{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;padding:20px}.project-summary h2{color:#2e7d32;font-size:1.8rem;margin-top:20px}.project-summary ul{list-style:none;padding:0}.project-summary li{font-size:1rem;margin-bottom:10px}.project-summary pre{background-color:#333;border-radius:8px;color:#fff;overflow-x:auto;padding:10px}@media (max-width:900px){.project-detail{padding:15px}.project-detail h1{font-size:2rem}.project-summary{padding:15px}.project-summary h2{font-size:1.6rem}.project-summary li{font-size:.9rem}.project-summary pre{font-size:.9rem;padding:8px}}@media (max-width:600px){.project-detail{padding:10px}.project-detail h1{font-size:1.6rem}.project-summary{padding:10px}.project-summary h2{font-size:1.4rem}.project-summary li{font-size:.85rem}.project-summary pre{font-size:.85rem;padding:6px}}body{background:linear-gradient(90deg,#5dc322e6,#88ece4e6);margin:0}.form-container{background-color:#f9f9f9;border-radius:8px;box-shadow:0 4px 6px #0000001a;margin:50px auto;max-width:400px;padding:20px;transition:all .3s ease-in-out}h2{color:#333;font-size:1.8rem;text-align:center}.form{gap:15px;margin-bottom:20px}.form,.form-group{display:flex;flex-direction:column}.form-group label{font-size:14px;margin-bottom:5px}.form-input{border:1px solid #ccc;border-radius:4px;font-size:16px;outline:none;padding:10px;transition:border-color .3s ease-in-out}.form-input:focus{border-color:#007bff}.form-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:12px;transition:background-color .3s ease,transform .2s}.form-button:hover{background-color:#0056b3;transform:scale(1.05)}.register-link{color:#007bff;cursor:pointer;display:block;font-size:1rem;margin-top:10px;text-align:center;text-decoration:underline}.register-link:hover{color:#0056b3}.error{color:red;font-size:14px}.error,p{text-align:center}p{font-size:.9rem;margin-top:10px}@media (max-width:768px){.form-container{max-width:90%;padding:18px}h2{font-size:1.6rem}.form-input{font-size:15px;padding:9px}.form-button{font-size:15px;padding:11px}.register-link{font-size:.95rem}p{font-size:.85rem}}.music-container{background:linear-gradient(135deg,#0c0c0c,#1a1a1a 50%,#2d2d2d);color:#fff;font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:20px;position:relative;z-index:1}.music-header{margin-bottom:40px;text-align:center}.music-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,#ff6b6b,#4ecdc4,#45b7d1);-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:700;margin-bottom:20px;text-shadow:0 4px 8px #0000004d}.header-controls{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.search-bar{flex:1 1;max-width:500px;min-width:250px}.search-bar input{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:2px solid #ffffff1a;border-radius:30px;color:#fff;font-size:16px;outline:none;padding:16px 24px;transition:all .3s ease;width:100%}.search-bar input::placeholder{color:#fff9}.search-bar input:focus{background:#ffffff1f;border-color:#ffffff4d;box-shadow:0 10px 30px #0003;transform:translateY(-2px)}.language-toggle-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:2px solid #ffffff26;border-radius:20px;color:#fff;cursor:pointer;display:flex;gap:8px;justify-content:center;min-width:80px;padding:12px 20px;transition:all .3s ease}.language-toggle-btn:hover{background:#ffffff26;border-color:#ffffff4d;box-shadow:0 8px 20px #0003;transform:translateY(-2px)}.language-toggle-btn:active{box-shadow:0 4px 10px #0003;transform:translateY(0)}.language-icon{font-size:1.2rem;opacity:.8}.language-text{font-size:.9rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.now-playing{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff08;border:1px solid #ffffff14;border-radius:25px;box-shadow:0 15px 35px #0000001a;display:flex;gap:30px;margin-bottom:40px;padding:30px;position:relative;z-index:2}.song-artwork{flex-shrink:0}.vinyl-record{align-items:center;animation:spin 3s linear infinite;background:linear-gradient(45deg,#1a1a1a,#333);border-radius:50%;box-shadow:0 8px 16px #0000004d;display:flex;height:120px;justify-content:center;position:relative;width:120px}.vinyl-record:before{background:repeating-conic-gradient(from 0deg,#0000 0deg,#ffffff1a 1deg,#0000 2deg);border-radius:50%;content:"";height:100%;position:absolute;width:100%}.record-center{background:linear-gradient(45deg,#ff6b6b,#4ecdc4);border-radius:50%;height:30px;position:relative;width:30px;z-index:1}.record-center:after{background:#1a1a1a;border-radius:50%;content:"";height:8px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:8px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.song-details{flex:1 1;min-width:0}.song-details h3{font-size:1rem;font-weight:500;letter-spacing:1px;margin-bottom:8px;opacity:.7;text-transform:uppercase}.song-title{color:#fff;font-size:1.8rem;font-weight:700;line-height:1.2;margin-bottom:25px;text-shadow:0 2px 4px #0000004d}.progress-container{align-items:center;display:flex;gap:15px;margin-bottom:25px}.progress-bar{-webkit-appearance:none;background:#ffffff26;border-radius:4px;cursor:pointer;flex:1 1;height:8px;outline:none;position:relative}.progress-bar::-webkit-slider-track{background:#ffffff26;border-radius:4px;height:8px}.progress-bar::-webkit-slider-thumb{-webkit-appearance:none;background:linear-gradient(45deg,#ff6b6b,#4ecdc4);border:3px solid #fff;border-radius:50%;box-shadow:0 4px 12px #0000004d;cursor:pointer;height:20px;-webkit-transition:all .2s ease;transition:all .2s ease;width:20px}.progress-bar::-webkit-slider-thumb:hover{box-shadow:0 6px 20px #0006;transform:scale(1.2)}.time{font-size:.9rem;font-weight:500;min-width:50px;opacity:.7;text-align:center}.player-controls{align-items:center;display:flex;gap:20px;justify-content:space-between}.left-controls,.right-controls{align-items:center;display:flex;flex:1 1}.left-controls{justify-content:flex-start}.right-controls{justify-content:flex-end}.mode-selector{display:flex;flex-direction:column;gap:8px}.mode-label{font-size:.8rem;font-weight:500;letter-spacing:.5px;opacity:.6;text-align:center;text-transform:uppercase}.mode-options{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;display:flex;gap:6px;padding:4px}.mode-option{align-items:center;background:#0000;border:none;border-radius:16px;color:#fff;cursor:pointer;display:flex;flex-direction:column;gap:4px;min-width:55px;padding:8px 12px;transition:all .3s ease}.mode-option:hover{background:#ffffff1a}.mode-option.active{background:linear-gradient(45deg,#ff6b6b,#4ecdc4);box-shadow:0 4px 12px #ff6b6b4d}.mode-option .mode-icon{display:block;font-size:1.2rem}.mode-option .mode-text{font-size:.7rem;font-weight:500;opacity:.9}.mode-option.active .mode-text{font-weight:600;opacity:1}.main-controls{flex:0 0 auto;gap:15px}.control-btn,.main-controls{align-items:center;display:flex}.control-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:2px solid #ffffff26;border-radius:50%;color:#fff;cursor:pointer;font-size:1.2rem;height:50px;justify-content:center;transition:all .3s ease;width:50px}.control-btn:hover{background:#ffffff26;border-color:#ffffff4d;box-shadow:0 8px 20px #0003;transform:translateY(-2px)}.play-btn{background:linear-gradient(45deg,#ff6b6b,#4ecdc4);border:none;box-shadow:0 8px 20px #ff6b6b4d;font-size:1.5rem;height:60px;width:60px}.play-btn:hover{box-shadow:0 12px 30px #ff6b6b66;transform:translateY(-3px)}.volume-control{align-items:center;display:flex;gap:12px}.volume-icon{font-size:1.1rem;opacity:.7}.volume-slider{-webkit-appearance:none;background:#ffffff26;border-radius:3px;cursor:pointer;height:6px;outline:none;width:80px}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;background:linear-gradient(45deg,#ff6b6b,#4ecdc4);border-radius:50%;box-shadow:0 2px 8px #0000004d;cursor:pointer;height:16px;-webkit-transition:all .2s ease;transition:all .2s ease;width:16px}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.playlist-section{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff08;border:1px solid #ffffff14;border-radius:25px;box-shadow:0 15px 35px #0000001a;overflow:hidden;padding:0;position:relative;z-index:2}.playlist-header{align-items:center;background:linear-gradient(135deg,#ff6b6b1a,#4ecdc41a);border-bottom:1px solid #ffffff14;display:flex;gap:20px;justify-content:space-between;padding:30px}.playlist-info h2.playlist-name{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,#ff6b6b,#4ecdc4);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:800;margin:0 0 8px}.playlist-description{font-size:1.1rem;font-weight:400;margin:0 0 10px;opacity:.8}.song-count{font-size:.9rem;font-weight:500;opacity:.6}.playlist-actions{flex-shrink:0}.play-all-btn{align-items:center;background:linear-gradient(45deg,#ff6b6b,#4ecdc4);border:none;border-radius:25px;box-shadow:0 6px 20px #ff6b6b4d;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.play-all-btn:hover{box-shadow:0 10px 30px #ff6b6b66;transform:translateY(-2px)}.play-icon{font-size:1.1rem}.song-list{display:flex;flex-direction:column;gap:0;max-height:500px;overflow-y:auto;padding:0}.song-list::-webkit-scrollbar{width:8px}.song-list::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.song-list::-webkit-scrollbar-thumb{background:linear-gradient(45deg,#ff6b6b,#4ecdc4);border-radius:4px}.song-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(45deg,#ff5252,#26c6da)}.song-item{align-items:center;border-bottom:1px solid #ffffff0d;cursor:pointer;display:flex;gap:16px;padding:16px 30px;transition:all .3s ease}.song-item:hover{background:#ffffff0d}.song-item.active{background:#ff6b6b1a;border-bottom-color:#ff6b6b33}.song-number{font-size:.9rem;font-weight:500;opacity:.6;text-align:center;width:20px}.playing-indicator{align-items:center;display:flex;gap:2px;height:14px}.playing-indicator span{animation:bounce 1.4s ease-in-out infinite both;background:linear-gradient(45deg,#ff6b6b,#4ecdc4);border-radius:2px;width:3px}.playing-indicator span:first-child{animation-delay:-.32s;height:8px}.playing-indicator span:nth-child(2){animation-delay:-.16s;height:12px}.playing-indicator span:nth-child(3){animation-delay:0s;height:6px}@keyframes bounce{0%,80%,to{opacity:.5;transform:scaleY(.5)}40%{opacity:1;transform:scaleY(1)}}.track-number{font-size:.9rem;opacity:.6}.song-info{flex:1 1;min-width:0}.song-item .song-title{font-size:1rem;font-weight:500;margin-bottom:0;opacity:.9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-duration{font-size:.9rem;font-weight:400;min-width:50px;opacity:.5;text-align:right}.play-button{font-size:1.2rem;min-width:30px;opacity:0;text-align:center;transition:all .2s ease}.song-item:hover .play-button{opacity:.8}.song-item.active .play-button{opacity:1}@media (max-width:768px){.music-container{padding:15px}.music-header h1{font-size:2rem}.header-controls{flex-direction:column;gap:15px}.search-bar{max-width:100%;order:1}.language-toggle-btn{min-width:100px;order:2;padding:10px 16px}.now-playing{text-align:center}.now-playing,.player-controls{flex-direction:column;gap:20px}.player-controls{width:100%}.left-controls,.right-controls{justify-content:center}.mode-selector{align-items:center}.mode-options{gap:4px;padding:3px}.mode-option{min-width:50px;padding:6px 10px}.mode-option .mode-icon{font-size:1.1rem}.mode-option .mode-text{font-size:.65rem}.playlist-header{flex-direction:column;gap:15px;text-align:center}.song-item{gap:12px;padding:12px 20px}.song-number{width:16px}.song-item .song-title{font-size:.9rem}}@media (max-width:480px){.music-container{padding:10px}.music-header h1{font-size:1.8rem}.language-toggle-btn{min-width:70px;padding:8px 12px}.language-icon{font-size:1rem}.language-text{font-size:.8rem}.now-playing,.playlist-section{border-radius:20px}.playlist-header{padding:20px}.playlist-info h2.playlist-name{font-size:2rem}.vinyl-record{height:100px;width:100px}.song-title{font-size:1.4rem}.control-btn{height:45px;width:45px}.play-btn{height:55px;width:55px}.mode-option{min-width:45px;padding:5px 8px}.mode-option .mode-icon{font-size:1rem}.mode-option .mode-text{font-size:.6rem}.song-item{padding:12px 16px}}nav{align-items:center;background-color:#333;display:flex;justify-content:space-between;padding:10px 20px;position:relative;z-index:9999}.nav-links{display:flex;gap:20px}body{background:no-repeat cover;font-family:Arial,sans-serif}body.zh{font-family:Microsoft YaHei,微软雅黑,sans-serif}.back-button,.login-button,.logout-button{background:linear-gradient(135deg,coral,tomato);border:none;border-radius:25px;box-shadow:0 4px 8px #ff758c4d;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:10px 20px;pointer-events:auto;position:relative;transition:all .3s ease-in-out;z-index:10000}.back-button:hover,.login-button:hover,.logout-button:hover{background:linear-gradient(135deg,tomato,coral);box-shadow:0 6px 12px #ff758c80;transform:scale(1.05)}.logout-button,nav a{color:#fff;text-decoration:none}nav a:hover{color:#f4a261;text-decoration:underline}
/*# sourceMappingURL=main.7623995b.css.map*/