.language-switcher{display:flex;gap:.5rem;align-items:center}.lang-btn{padding:.4rem .8rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:var(--text);cursor:pointer;transition:all .3s;font-size:.85rem}.lang-btn:hover{background:#00d9ff33;border-color:var(--accent)}.lang-btn.active{background:var(--accent);color:var(--primary);border-color:var(--accent)}.navbar{position:fixed;top:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:1.5rem 5%;z-index:1000;background:#0f1621cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1);transition:background .3s}.nav-right{display:flex;align-items:center;gap:2rem}.logo{display:flex;align-items:center;gap:.75rem;font-size:1.8rem;font-weight:700;color:var(--accent);text-decoration:none}.logo-icon{height:40px;width:auto;object-fit:contain}.nav-links{display:flex;gap:2rem}.nav-links a{color:var(--text);text-decoration:none;font-weight:500;transition:color .3s;position:relative}.nav-links a:hover{color:var(--accent)}.nav-links a:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background:var(--accent);transition:width .3s}.nav-links a:hover:after{width:100%}@media (max-width: 768px){.navbar{padding:1rem 5%}.nav-right{gap:1rem}.nav-links{display:none}.logo{font-size:1.5rem}}.hero{height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.hero-content{text-align:center;z-index:10;max-width:800px;padding:0 2rem}.hero h1{font-size:4rem;margin-bottom:1.5rem;background:linear-gradient(to right,#ffffff,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;animation:fadeInUp 1s ease-out}.hero p{font-size:1.5rem;margin-bottom:2rem;color:var(--text-secondary);animation:fadeInUp 1s ease-out .3s both}.cta-button{display:inline-block;padding:1rem 2.5rem;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:var(--primary);text-decoration:none;font-weight:600;border-radius:50px;transition:transform .3s,box-shadow .3s;animation:fadeInUp 1s ease-out .6s both}.cta-button:hover{transform:translateY(-5px);box-shadow:0 10px 20px #00d9ff4d}#three-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.hero h1{font-size:2.5rem}.hero p{font-size:1.2rem}}.about{padding:8rem 5%;background:var(--secondary);position:relative}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about-text h3{font-size:1.8rem;margin-bottom:1.5rem;color:var(--text)}.about-text p{line-height:1.6;color:var(--text-secondary);margin-bottom:1.5rem}.skills{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.skill{background:#ffffff1a;padding:.5rem 1.5rem;border-radius:50px;font-size:.9rem;transition:background .3s}.skill:hover{background:#00d9ff33}.about-visual{position:relative;height:400px;border-radius:10px;overflow:hidden;box-shadow:0 15px 30px #0000004d}.about-logo{width:100%;height:100%;object-fit:fill;display:block}@media (max-width: 768px){.about-content{grid-template-columns:1fr}}.project-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .3s ease-out}.project-modal{background:var(--primary);border-radius:10px;width:90%;max-width:1400px;height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease-out}.project-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid rgba(255,255,255,.1)}.project-modal-header h2{color:var(--text);font-size:1.8rem;margin:0}.project-modal-content{flex:1;overflow:hidden;position:relative}.project-modal-content iframe{width:100%;height:100%;border:none;display:block}@media (max-width: 768px){.project-modal{width:95%;height:95vh}.project-modal-header{padding:1rem}.project-modal-header h2{font-size:1.3rem}.close-btn{width:40px;height:40px;font-size:2rem}}.video-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.video-modal{background:var(--primary);border-radius:10px;width:90%;max-width:1200px;height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.video-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid rgba(255,255,255,.1)}.video-modal-header h2{color:var(--text);font-size:1.8rem;margin:0}.close-btn{background:transparent;border:none;color:var(--text);font-size:2.5rem;cursor:pointer;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s}.close-btn:hover{background:#ffffff1a;color:var(--accent);transform:rotate(90deg)}.video-modal-content{flex:1;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;background:#000}.video-modal-content video{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}@media (max-width: 768px){.video-modal{width:95%;height:90vh}.video-modal-header{padding:1rem}.video-modal-header h2{font-size:1.3rem}.close-btn{width:40px;height:40px;font-size:2rem}}.portfolio{padding:8rem 5%}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.portfolio-item{position:relative;border-radius:10px;overflow:hidden;height:300px;background:var(--secondary);transition:transform .3s,box-shadow .3s}.portfolio-item:hover{transform:translateY(-10px);box-shadow:0 15px 30px #0006}.portfolio-image{width:100%;height:100%;object-fit:cover;transition:transform .5s}.portfolio-item video.portfolio-image{cursor:pointer;background:#000}.portfolio-item:hover .portfolio-image{transform:scale(1.1)}.portfolio-overlay{position:absolute;bottom:0;left:0;width:100%;padding:1.5rem;background:linear-gradient(to top,rgba(15,22,33,.7),transparent);transition:all .3s}.view-project-btn{margin-top:1rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:var(--primary);border:none;border-radius:25px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s;text-transform:uppercase;letter-spacing:.5px}.view-project-btn:hover{transform:translateY(-2px);box-shadow:0 8px 16px #00d9ff66;background:linear-gradient(135deg,var(--accent-dark),var(--accent))}.view-project-btn:active{transform:translateY(0)}@media (max-width: 768px){.portfolio-grid{grid-template-columns:1fr}}.contact{padding:8rem 5%;background:var(--secondary);text-align:center}.section-title{text-align:center;font-size:2.5rem;margin-bottom:3rem;color:var(--accent)}.contact-form{max-width:600px;margin:0 auto}.form-group{margin-bottom:1.5rem;text-align:left}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-secondary)}.form-group input,.form-group textarea{width:100%;padding:1rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:5px;color:var(--text);font-size:1rem;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent)}.submit-btn{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:var(--primary);border:none;padding:1rem 2.5rem;font-size:1rem;font-weight:600;border-radius:50px;cursor:pointer;transition:transform .3s,box-shadow .3s}.submit-btn:hover{transform:translateY(-3px);box-shadow:0 10px 20px #00d9ff4d}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}footer{padding:3rem 5%;text-align:center;background:var(--primary);border-top:1px solid rgba(255,255,255,.1)}.record-number{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem;text-align:center}.record-number a{color:var(--text-secondary);text-decoration:none;transition:color .3s}.record-number a:hover{color:var(--accent)}.beian-icon{vertical-align:middle;margin-right:5px;width:16px;height:17px}.copyright{color:var(--text-secondary);font-size:.9rem}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #0f1621;--secondary: #1c2333;--accent: #00d9ff;--accent-dark: #0099cc;--text: #ffffff;--text-secondary: #a0aec0}body{background-color:var(--primary);color:var(--text);overflow-x:hidden;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}#root{min-height:100vh}.app{width:100%;min-height:100vh}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--secondary)}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--accent-dark)}
