*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;height:100%;min-height:100vh;font-size:clamp(14px,2.5vw,16px)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;color:#333;height:100%;min-height:100vh;transition:background-color .3s ease,color .3s ease;padding:0 clamp(1rem,4vw,2rem)}body.dark-mode{background-color:#1a1a1a;color:#e0e0e0}body.light-mode{background-color:#fff;color:#333}#root{min-height:100vh;height:auto}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:linear-gradient(45deg,#007acc,#09f);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(45deg,#0056b3,#007acc)}::selection{background:#007acc33;color:#333}:focus{outline:2px solid #007acc;outline-offset:2px}img{max-width:100%;height:auto}ul,ol{list-style:none}a{text-decoration:none;color:inherit}button{background:none;border:none;font:inherit;cursor:pointer}.auth-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.auth-modal{background:#fff;border-radius:16px;width:90%;max-width:450px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #00000026;animation:modalSlideIn .3s ease-out}.auth-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #eee}.auth-modal-header h2{margin:0;font-size:1.25rem;color:#333}.auth-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:.5rem;border-radius:50%;transition:all .2s ease}.auth-modal-close:hover{background:#f5f5f5;color:#333}.auth-form{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column}.form-group input{padding:.875rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#007acc;box-shadow:0 0 0 3px #007acc1a}.auth-toggle{padding:1rem 1.5rem;text-align:center;border-top:1px solid #eee;background:#f9f9f9}.auth-toggle p{margin:0;color:#666;font-size:.9rem}.auth-toggle-btn{background:none;border:none;color:#007acc;font-weight:600;cursor:pointer;margin-left:.5rem;padding:0;text-decoration:underline}.auth-toggle-btn:hover{color:#0056b3}@media (max-width: 480px){.auth-modal{width:95%;margin:1rem}.auth-modal-header{padding:1rem 1rem .75rem}.auth-form{padding:1rem}.auth-toggle{padding:.75rem 1rem}}.auth-modal-close{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:.25rem;border-radius:4px;transition:color .2s,background-color .2s}.auth-modal-close:hover{color:#333;background-color:#f5f5f5}.auth-form{padding:1.5rem}.auth-error{background:#fee;color:#c33;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;border:1px solid #fcc;font-size:.9rem}.auth-field{margin-bottom:1rem}.auth-field label{display:block;margin-bottom:.5rem;font-weight:500;color:#333;font-size:.9rem}.auth-field input{width:100%;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .2s;box-sizing:border-box}.auth-field input:focus{outline:none;border-color:#007acc;box-shadow:0 0 0 3px #007acc1a}.auth-submit-btn{width:100%;padding:.875rem;background:linear-gradient(45deg,#007acc,#09f);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:.5rem}.auth-submit-btn:hover:not(:disabled){background:linear-gradient(45deg,#0056b3,#007acc);transform:translateY(-1px);box-shadow:0 4px 15px #007acc4d}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-submit-btn.loading{position:relative;color:transparent}.auth-submit-btn.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-switch{padding:1rem 1.5rem;text-align:center;border-top:1px solid #eee;background:#f9f9f9}.auth-switch p{margin:0;color:#666;font-size:.9rem}.auth-switch-btn{background:none;border:none;color:#007acc;font-weight:600;cursor:pointer;margin-left:.5rem;padding:0;text-decoration:underline}.auth-switch-btn:hover{color:#0056b3}.auth-demo-info{padding:1rem 1.5rem;background:#f0f7ff;border-bottom-left-radius:16px;border-bottom-right-radius:16px;font-size:.85rem;color:#555}.auth-demo-info p{margin:.25rem 0}.auth-demo-info strong{color:#007acc}.auth-oauth-section{margin-top:1rem}.auth-divider{position:relative;text-align:center;margin:1rem 0}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#e0e0e0}.auth-divider span{background:#fff;padding:0 1rem;color:#666;font-size:.875rem}.auth-oauth-btn{width:100%;padding:.75rem 1rem;border:2px solid #007acc;background:transparent;color:#007acc;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.auth-oauth-btn:hover{background:#007acc;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #007acc4d}.auth-oauth-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-oauth-btn:disabled:hover{background:transparent;color:#007acc;box-shadow:none}@media (max-width: 480px){.auth-modal{width:95%;margin:1rem}.auth-modal-header{padding:1rem 1rem .75rem}.auth-modal-header h2{font-size:1.1rem}.auth-form{padding:1rem}.auth-switch,.auth-demo-info{padding:.75rem 1rem}}.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f172a);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,107,53,.3);box-shadow:0 8px 32px #0000004d;padding:0;transition:all .3s ease}.container{max-width:1400px;margin:0 auto;padding:0 2rem}.header-content{display:flex;align-items:center;justify-content:space-between;height:70px;gap:2rem}.logo{display:flex;flex-direction:column;align-items:flex-start;gap:0}.logo h3{margin:0;font-size:1.45rem;font-weight:700;background:linear-gradient(135deg,#ff6b35,#f7931e,#ffcc02);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 30px rgba(255,107,53,.5);letter-spacing:-.5px}.logo span{font-size:.75rem;color:#ffffffb3;font-weight:400;letter-spacing:.5px;margin-top:-2px}.navigation{display:flex;align-items:center;gap:2rem;flex:1;justify-content:center}.navigation a{color:#fffc;text-decoration:none;font-weight:500;font-size:.95rem;padding:.5rem 1rem;border-radius:8px;transition:all .3s ease;position:relative;letter-spacing:.3px}.navigation a:hover{color:#ffcc02;background:#ff6b351a;transform:translateY(-1px)}.navigation a:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:linear-gradient(90deg,#ff6b35,#f7931e);transition:all .3s ease;transform:translate(-50%)}.navigation a:hover:after{width:80%}.auth-section,.user-menu{display:flex;align-items:center;gap:1rem}.user-name{color:#ffffffe6;font-weight:500;font-size:.9rem;padding:.5rem 1rem;background:#ff6b351a;border-radius:20px;border:1px solid rgba(255,107,53,.3)}.login-btn,.logout-btn{background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;border:none;padding:.7rem 1.5rem;border-radius:25px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #ff6b354d;letter-spacing:.3px}.login-btn:hover,.logout-btn:hover{background:linear-gradient(135deg,#f7931e,#ffcc02);transform:translateY(-2px);box-shadow:0 6px 20px #ff6b3566}.logout-btn{background:linear-gradient(135deg,#dc2626,#ef4444);box-shadow:0 4px 15px #dc26264d}.logout-btn:hover{background:linear-gradient(135deg,#ef4444,#f87171);box-shadow:0 6px 20px #dc262666}@media (max-width: 1200px){.header-content,.navigation{gap:1.5rem}.navigation a{font-size:.9rem;padding:.4rem .8rem}}@media (max-width: 900px){.container{padding:0 1.5rem}.header-content{height:65px;gap:1rem}.logo h1{font-size:1.6rem}.navigation{gap:1rem}.navigation a{font-size:.85rem;padding:.4rem .6rem}}@media (max-width: 600px){.container{padding:0 1rem}.header-content{height:60px;flex-wrap:wrap;gap:.5rem}.logo{flex-shrink:0}.logo h1{font-size:1.4rem}.logo span{font-size:.7rem}.navigation{display:none}.auth-section{margin-left:auto}.login-btn,.logout-btn{padding:.6rem 1.2rem;font-size:.8rem}.user-name{font-size:.8rem;padding:.4rem .8rem}}.radeonrx-footer{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#ecf0f1;padding:2.5rem 0 1rem;border-top:1px solid rgba(255,107,53,.2);margin-top:auto}.footer-content{max-width:1400px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1.5fr 1fr 1fr .8fr;gap:2rem;align-items:start;margin-bottom:1.5rem}.footer-brand h3{font-size:1.6rem;font-weight:700;margin-bottom:.8rem;background:linear-gradient(45deg,#ff6b35,#f7931e,#ffcc02);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-brand p{line-height:1.5;color:#bdc3c7;margin-bottom:1rem;font-size:.95rem}.link-section h4{font-size:1rem;font-weight:600;margin-bottom:.8rem;color:#ff6b35}.link-section ul{list-style:none;padding:0;margin:0}.link-section li{margin-bottom:.4rem}.link-section a{color:#bdc3c7;text-decoration:none;transition:all .3s ease;position:relative;display:inline-block;font-size:.9rem;padding:.2rem 0}.link-section a:before{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:linear-gradient(45deg,#ff6b35,#f7931e);transition:width .3s ease}.link-section a:hover{color:#ff6b35;transform:translate(5px)}.link-section a:hover:before{width:100%}.social-links{display:flex;gap:.8rem;margin-top:.8rem;flex-wrap:wrap}.social-links a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ff6b351a;border:2px solid rgba(255,107,53,.3);border-radius:50%;text-decoration:none;font-size:1.1rem;transition:all .3s ease;position:relative;overflow:hidden}.social-links a:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(45deg,#ff6b35,#f7931e);transition:left .5s ease;z-index:1}.social-links a:hover:before{left:0}.social-links a:hover{transform:translateY(-3px) scale(1.1);border-color:#ff6b35;box-shadow:0 5px 15px #ff6b3566}.footer-bottom{max-width:1400px;margin:0 auto;padding:1rem 2rem 0;border-top:1px solid rgba(255,107,53,.2);text-align:center}.footer-bottom p{color:#95a5a6;margin:0;font-size:.85rem}@media (max-width: 1200px){.footer-content{grid-template-columns:1.5fr 1fr 1fr;gap:1.8rem}.social-links{grid-column:1;margin-top:1rem}}@media (max-width: 900px){.footer-content{grid-template-columns:1fr 1fr;gap:1.5rem}.footer-brand{grid-column:1 / -1;text-align:center;margin-bottom:1rem}.social-links{justify-content:center;grid-column:1 / -1;margin-top:1.5rem}}@media (max-width: 600px){.radeonrx-footer{padding:2rem 0 1rem}.footer-content{grid-template-columns:1fr;gap:1.5rem;text-align:center;padding:0 1.5rem}.footer-brand h3{font-size:1.4rem}.footer-brand p{font-size:.9rem}.link-section{margin-bottom:1rem}.social-links{justify-content:center;margin-top:1rem}}@media (max-width: 480px){.footer-content{padding:0 1rem}.footer-brand h3{font-size:1.3rem}.social-links a{width:36px;height:36px;font-size:1rem}}.hero{min-height:100vh;display:flex;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding-top:80px}.hero-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.hero-content{animation:fadeInUp 1s ease-out}.hero-title{font-size:clamp(2rem,6vw,3.5rem);font-weight:700;line-height:1.2;margin-bottom:1.5rem}.highlight{background:linear-gradient(45deg,gold,#ffed4a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-description{font-size:clamp(1rem,3vw,1.25rem);line-height:1.6;margin-bottom:2rem;opacity:.9}.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap}.hero-visual{display:flex;justify-content:center;animation:fadeInRight 1s ease-out .3s both}.hero-avatar{width:300px;height:300px;border-radius:50%;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.2)}.avatar-placeholder{font-size:8rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3));display:flex;align-items:center;justify-content:center}.developer-icon{width:120px;height:120px;background:#ffffff1a;border-radius:20px;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.2)}.code-symbol{font-size:3rem;font-weight:700;color:gold;text-shadow:0 2px 4px rgba(0,0,0,.3);font-family:Courier New,monospace}@media (max-width: 768px){.hero-container{grid-template-columns:1fr;text-align:center;gap:2rem}.hero-title{font-size:2.5rem}.hero-description{font-size:1.1rem}.hero-buttons{justify-content:center}.hero-avatar{width:200px;height:200px}.avatar-placeholder{font-size:5rem}}body.dark-mode .hero{background:linear-gradient(135deg,#2c3e50,#34495e)}.about{padding:5rem 0;background:#f8f9fa;min-height:50vh}.section-title{text-align:center;font-size:2.5rem;font-weight:700;margin-bottom:3rem;color:#333;position:relative}.section-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(45deg,#007acc,#09f);border-radius:2px}.about-content,.about-text{display:grid;gap:2rem}.about-item{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000000d;transition:transform .3s ease,box-shadow .3s ease}.about-item:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0000001a}.about-item h3{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:#333}.about-item p{line-height:1.6;color:#666;margin:0}.about-item blockquote{background:#f8f9fa;border-left:4px solid #007acc;padding:1rem 1.5rem;margin:0;font-style:italic;line-height:1.6;color:#555;border-radius:0 8px 8px 0}.about-item ul{list-style:none;padding:0;margin:0}.about-item li{padding:.5rem 0;color:#666;line-height:1.5;border-bottom:1px solid #eee}.about-item li:last-child{border-bottom:none}.about-item li:hover{color:#007acc;transition:color .3s ease}@media (max-width: 768px){.about{padding:3rem 0}.section-title{font-size:2rem}.about-item{padding:1.5rem}.about-item h3{font-size:1.1rem}}body.dark-mode .about{background:#2c2c2c}body.dark-mode .about-item{background:#3c3c3c;color:#e0e0e0}body.dark-mode .about-item h3{color:#fff}body.dark-mode .about-item p,body.dark-mode .about-item li{color:#ccc}body.dark-mode .about-item blockquote{background:#2c2c2c;color:#e0e0e0}.services{padding:5rem 0;background:#f8f9fa}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.service-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 6px #0000000d;transition:all .3s ease;position:relative;display:flex;flex-direction:column;height:480px}.service-card:hover{transform:translateY(-8px);box-shadow:0 15px 35px #0000001a}.service-image{position:relative;height:200px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;overflow:hidden}.service-emoji{font-size:4rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.service-icon-wrapper{position:relative}.css-link-icon{width:80px;height:80px;position:relative;display:flex;align-items:center;justify-content:center}.css-link-icon:before,.css-link-icon:after{content:"";width:24px;height:24px;border:4px solid #fff;border-radius:50%;position:absolute;box-shadow:0 4px 8px #0000004d}.css-link-icon:before{left:10px;top:50%;transform:translateY(-50%)}.css-link-icon:after{right:10px;top:50%;transform:translateY(-50%)}.css-link-icon{background:linear-gradient(to right,transparent 30%,#fff 30%,#fff 35%,transparent 35%,transparent 65%,#fff 65%,#fff 70%,transparent 70%);background-size:100% 4px;background-position:center;background-repeat:no-repeat;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.service-emoji:empty:before,.service-emoji:contains("?"):before{content:"⧉";display:inline-block;font-size:4rem;color:#fff;text-shadow:0 4px 8px rgba(0,0,0,.3)}.service-status{position:absolute;top:1rem;right:1rem;padding:.25rem .75rem;border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.service-content{padding:1.5rem;display:flex;flex-direction:column;flex-grow:1}.service-title{font-size:1.25rem;font-weight:600;margin-bottom:.75rem;color:#333;line-height:1.3}.service-description{color:#666;line-height:1.6;margin-bottom:1rem;font-size:.95rem}.service-technologies{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;flex-grow:1;align-content:flex-start}.tech-tag{background:#e9ecef;color:#495057;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;transition:all .3s ease}.tech-tag:hover{background:#007acc;color:#fff;transform:scale(1.05)}.service-links{display:flex;gap:1rem;margin-top:auto}.service-link{padding:.75rem 1.5rem;text-decoration:none;border-radius:25px;font-weight:600;font-size:.9rem;transition:all .3s ease;text-align:center;flex:1;border:none;cursor:pointer}.demo-link{background:linear-gradient(45deg,#007acc,#09f);color:#fff}.demo-link:hover{background:linear-gradient(45deg,#0056b3,#007acc);transform:translateY(-2px);box-shadow:0 5px 15px #007acc4d}.try-link{background:linear-gradient(45deg,#28a745,#20c997);color:#fff;width:100%}.try-link:hover{background:linear-gradient(45deg,#218838,#1db584);transform:translateY(-2px);box-shadow:0 5px 15px #28a7454d}.info-link{background:transparent;color:#333;border:2px solid #333}.info-link:hover{background:#333;color:#fff;transform:translateY(-2px)}.service-card:nth-child(1) .service-image{background:linear-gradient(135deg,#667eea,#764ba2)}.service-card:nth-child(2) .service-image{background:linear-gradient(135deg,#f093fb,#f5576c)}.service-card:nth-child(3) .service-image{background:linear-gradient(135deg,#4facfe,#00f2fe)}.service-card:nth-child(4) .service-image{background:linear-gradient(135deg,#43e97b,#38f9d7)}.service-card:nth-child(5) .service-image{background:linear-gradient(135deg,#fa709a,#fee140)}.service-card:nth-child(6) .service-image{background:linear-gradient(135deg,#a8edea,#fed6e3)}@media (max-width: 768px){.services{padding:3rem 0}.services-grid{grid-template-columns:1fr;gap:1.5rem}.service-card{margin:0 1rem}.service-image{height:150px}.service-emoji{font-size:3rem}.service-content{padding:1.25rem}.service-links{flex-direction:column}}body.dark-mode .services{background:#1a1a1a}body.dark-mode .service-card{background:#2c2c2c;color:#e0e0e0}body.dark-mode .service-card:hover{box-shadow:0 15px 35px #ffffff1a}body.dark-mode .service-title{color:#fff}body.dark-mode .service-description{color:#ccc}body.dark-mode .tech-tag{background:#3c3c3c;color:#e0e0e0;border-color:#555}@media (max-width: 768px){.services{padding:3rem 0}.services-grid{gap:1.5rem;padding:0 1rem}.service-card{max-width:100%;min-width:unset}.service-image{height:150px}.service-emoji{font-size:3rem}.css-link-icon{width:60px;height:60px}.service-content{padding:1.5rem}.service-title{font-size:1.3rem;margin-bottom:.75rem}.service-description{font-size:.9rem;line-height:1.5}.tech-tags{gap:.4rem;margin:1rem 0}.tech-tag{font-size:.75rem;padding:.3rem .6rem}}@media (max-width: 480px){.services{padding:2rem 0}.section-title{font-size:2rem;margin-bottom:2rem}.services-grid{gap:1rem;padding:0 .5rem}.service-card{border-radius:8px}.service-image{height:120px}.service-emoji{font-size:2.5rem}.css-link-icon{width:50px;height:50px}.service-content{padding:1.25rem}.service-title{font-size:1.2rem;margin-bottom:.5rem}.service-description{font-size:.85rem;line-height:1.4;margin-bottom:1rem}.tech-tags{gap:.3rem;margin:.75rem 0}.tech-tag{font-size:.7rem;padding:.25rem .5rem}.service-status{font-size:.75rem;padding:.25rem .6rem}.service-links{margin-top:1rem}.try-link{width:100%;text-align:center;font-size:.9rem;padding:.75rem 1rem}}@media (max-width: 360px){.services{padding:1.5rem 0}.section-title{font-size:1.8rem;margin-bottom:1.5rem}.service-content{padding:1rem}.service-title{font-size:1.1rem}.service-description{font-size:.8rem}.tech-tag{font-size:.65rem;padding:.2rem .4rem}.service-image{height:100px}.service-emoji{font-size:2rem}.css-link-icon{width:40px;height:40px}}.skills{padding:5rem 0;background:#fff}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.skill-category{background:#f8f9fa;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000000d;transition:transform .3s ease,box-shadow .3s ease}.skill-category:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0000001a}.category-title{font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;color:#333;text-align:center;padding-bottom:1rem;border-bottom:2px solid #007acc}.skills-list{display:flex;flex-direction:column;gap:1rem}.skill-item{background:#fff;padding:1rem;border-radius:8px;box-shadow:0 2px 4px #0000000d}.skill-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.skill-name{font-weight:600;color:#333}.skill-percentage{font-size:.9rem;color:#007acc;font-weight:600}.skill-bar{width:100%;height:8px;background:#e9ecef;border-radius:4px;overflow:hidden}.skill-progress{height:100%;background:linear-gradient(45deg,#007acc,#09f);border-radius:4px;transition:width 1s ease;animation:fillBar 2s ease-in-out}@keyframes fillBar{0%{width:0%}}.skill-category:nth-child(1) .skill-progress{background:linear-gradient(45deg,#007acc,#09f)}.skill-category:nth-child(2) .skill-progress{background:linear-gradient(45deg,#28a745,#20c997)}.skill-category:nth-child(3) .skill-progress{background:linear-gradient(45deg,#ffc107,#fd7e14)}.skill-category:nth-child(1) .category-title{border-bottom-color:#007acc}.skill-category:nth-child(2) .category-title{border-bottom-color:#28a745}.skill-category:nth-child(3) .category-title{border-bottom-color:#ffc107}@media (max-width: 768px){.skills{padding:3rem 0}.skills-grid{grid-template-columns:1fr;gap:1.5rem}.skill-category{padding:1.5rem}.category-title{font-size:1.25rem}}body.dark-mode .skills{background:#1a1a1a}body.dark-mode .skill-category{background:#2c2c2c;color:#e0e0e0}body.dark-mode .skill-category:hover{box-shadow:0 10px 25px #ffffff1a}body.dark-mode .category-title{color:#fff;border-bottom-color:#4a90e2}body.dark-mode .skill-item{background:#3c3c3c;color:#e0e0e0}body.dark-mode .skill-name{color:#fff}body.dark-mode .skill-percentage{color:#4a90e2}body.dark-mode .skill-bar{background:#555}.skills-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem;flex-wrap:wrap;gap:1rem}.skills-toggle{display:flex;gap:.5rem;background:#f8f9fa;border-radius:8px;padding:.25rem}.toggle-btn{padding:.5rem 1rem;border:none;background:transparent;border-radius:6px;cursor:pointer;transition:all .3s ease;font-size:.9rem;font-weight:500}.toggle-btn.active{background:#007acc;color:#fff}.toggle-btn:disabled{opacity:.5;cursor:not-allowed}.skills-loading,.skills-error{text-align:center;padding:2rem;background:#f8f9fa;border-radius:8px;margin-bottom:2rem}.skills-error{background:#fee;color:#c33}.skills-error button{margin-top:1rem;padding:.5rem 1rem;background:#007acc;color:#fff;border:none;border-radius:4px;cursor:pointer}.skill-accounts{margin-top:.5rem;font-size:.75rem;color:#666;font-style:italic}.skills-info{text-align:center;margin-top:2rem;padding:1rem;background:#e3f2fd;border-radius:8px;color:#1976d2;font-size:.9rem}body.dark-mode .skills-toggle{background:#3c3c3c}body.dark-mode .toggle-btn.active{background:#4a90e2}body.dark-mode .skills-loading{background:#3c3c3c;color:#e0e0e0}body.dark-mode .skills-error{background:#4a1e1e;color:#ff6b6b}body.dark-mode .skill-accounts{color:#aaa}body.dark-mode .skills-info{background:#1e3a5f;color:#64b5f6}.blog-editor-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.blog-editor{background:#fff;border-radius:16px;width:90%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #00000026;animation:modalSlideIn .3s ease-out}.blog-editor-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #eee}.blog-editor-header h2{margin:0;font-size:1.25rem;color:#333}.blog-editor-close{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:.25rem;border-radius:4px;transition:color .2s,background-color .2s}.blog-editor-close:hover{color:#333;background-color:#f5f5f5}.blog-editor-form{padding:1.5rem}.blog-editor-error{background:#fee;color:#c33;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;border:1px solid #fcc;font-size:.9rem}.blog-editor-row{display:flex;gap:1rem;margin-bottom:1rem;align-items:end}.blog-editor-field{margin-bottom:1rem}.blog-editor-field.flex-1{flex:1}.blog-editor-field label{display:block;margin-bottom:.5rem;font-weight:500;color:#333;font-size:.9rem}.blog-editor-field input,.blog-editor-field select,.blog-editor-field textarea{width:100%;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .2s;box-sizing:border-box;font-family:inherit}.blog-editor-field input:focus,.blog-editor-field select:focus,.blog-editor-field textarea:focus{outline:none;border-color:#007acc;box-shadow:0 0 0 3px #007acc1a}.blog-editor-field textarea{resize:vertical;min-height:100px}.blog-editor-field select{cursor:pointer}.blog-editor-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1rem;border-top:1px solid #eee}.blog-editor-cancel{padding:.75rem 1.5rem;background:#f5f5f5;color:#666;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s}.blog-editor-cancel:hover{background:#e0e0e0;color:#333}.blog-editor-save{padding:.75rem 1.5rem;background:linear-gradient(45deg,#007acc,#09f);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.blog-editor-save:hover:not(:disabled){background:linear-gradient(45deg,#0056b3,#007acc);transform:translateY(-1px);box-shadow:0 4px 15px #007acc4d}.blog-editor-save:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.blog-editor{width:95%;margin:1rem}.blog-editor-header{padding:1rem 1rem .75rem}.blog-editor-header h2{font-size:1.1rem}.blog-editor-form{padding:1rem}.blog-editor-row{flex-direction:column;gap:.5rem}.blog-editor-actions{flex-direction:column-reverse;gap:.5rem}.blog-editor-cancel,.blog-editor-save{width:100%;padding:1rem}}.blog{padding:5rem 0;background:#fff}.blog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.blog-admin-btn{background:linear-gradient(45deg,#28a745,#20c997);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9rem}.blog-admin-btn:hover{background:linear-gradient(45deg,#218838,#1a9981);transform:translateY(-1px);box-shadow:0 4px 15px #28a7454d}.blog-intro{text-align:center;margin-bottom:3rem}.blog-intro p{font-size:1.2rem;color:#666;margin:0}.blog-filters{display:flex;justify-content:center;gap:.75rem;margin-bottom:3rem;flex-wrap:wrap}.filter-btn{padding:.5rem 1rem;background:transparent;border:2px solid #e9ecef;border-radius:20px;font-weight:500;cursor:pointer;transition:all .3s ease;color:#666;font-size:.9rem}.filter-btn.active,.filter-btn:hover{background:linear-gradient(45deg,#007acc,#09f);border-color:#007acc;color:#fff;transform:scale(1.05)}.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:3rem}.blog-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 6px #0000000d;transition:all .3s ease;border:2px solid transparent;padding:1.5rem}.blog-card:hover{transform:translateY(-8px);box-shadow:0 15px 35px #0000001a;border-color:#007acc}.blog-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.blog-admin-actions{display:flex;gap:.5rem}.blog-image{position:relative;min-height:180px;aspect-ratio:16 / 9;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center}.blog-emoji{font-size:3.5rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.blog-category{position:absolute;top:1rem;right:1rem;background:#ffffffe6;color:#333;padding:.25rem .75rem;border-radius:15px;font-size:.8rem;font-weight:600}.blog-content{padding:1.5rem}.blog-full-content{margin:1rem 0;padding:1rem;background:#f8f9fa;border-radius:8px;border-left:4px solid #007acc}.blog-full-content p{margin:.5rem 0;line-height:1.6;color:#333}.blog-full-content p:empty{display:none}.blog-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:.85rem;color:#666}.blog-date{color:#007acc;font-weight:500}.draft-badge{background:#ffc107;color:#333;padding:.25rem .5rem;border-radius:10px;font-size:.7rem;font-weight:600}.blog-read-time{background:#f8f9fa;padding:.25rem .5rem;border-radius:10px}.blog-title{font-size:1.2rem;font-weight:600;color:#333;margin-bottom:.75rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.blog-excerpt{color:#666;line-height:1.6;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:.95rem}.blog-tags{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.blog-tag{background:#e9ecef;color:#495057;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500;transition:all .3s ease}.blog-tag:hover{background:#007acc;color:#fff;transform:scale(1.05)}.blog-footer{display:flex;justify-content:flex-end;align-items:center;padding-top:1rem;margin-top:1rem;border-top:1px solid #e9ecef}.blog-stats{display:flex;gap:1rem;font-size:.85rem;color:#666;margin:1rem 0}.blog-views,.blog-likes{display:flex;align-items:center;gap:.25rem}.no-posts{text-align:center;padding:3rem;color:#6c757d}.no-posts p{font-size:1.1rem;margin:0}.blog-actions{display:flex;justify-content:center;gap:1rem}.view-all-btn,.rss-btn{padding:1rem 2rem;border-radius:25px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block}.view-all-btn{background:linear-gradient(45deg,#007acc,#09f);color:#fff;border:none}.view-all-btn:hover{background:linear-gradient(45deg,#0056b3,#007acc);transform:translateY(-2px);box-shadow:0 8px 20px #007acc4d}.rss-btn{background:transparent;color:#666;border:2px solid #e9ecef}.rss-btn:hover{background:#f8f9fa;border-color:#007acc;color:#007acc;transform:translateY(-2px)}.blog-card:nth-child(odd) .blog-image{background:linear-gradient(135deg,#667eea,#764ba2)}.blog-card:nth-child(2n) .blog-image{background:linear-gradient(135deg,#f093fb,#f5576c)}.blog-card:nth-child(3n) .blog-image{background:linear-gradient(135deg,#4facfe,#00f2fe)}.blog-card:nth-child(4n) .blog-image{background:linear-gradient(135deg,#43e97b,#38f9d7)}@media (max-width: 768px){.blog{padding:3rem 0}.blog-filters{gap:.5rem}.tag-filter{padding:.4rem .8rem;font-size:.8rem}.blog-grid{grid-template-columns:1fr;gap:1.5rem}.blog-card{margin:0 1rem}.blog-image{min-height:150px;aspect-ratio:16 / 9}.blog-emoji{font-size:2.5rem}.blog-content{padding:1.25rem}.blog-actions{flex-direction:column;align-items:center}.view-all-btn,.rss-btn{width:200px;text-align:center}}@media (max-width: 480px){.blog-meta{flex-direction:column;align-items:flex-start;gap:.5rem}.blog-footer{flex-direction:column;gap:1rem;align-items:flex-start}.blog-stats{gap:.75rem}}body.dark-mode .blog{background:#1a1a1a}body.dark-mode .blog-card{background:#2c2c2c;border-color:#444}body.dark-mode .blog-card:hover{border-color:#4a90e2}body.dark-mode .blog-title{color:#fff}body.dark-mode .blog-excerpt{color:#ccc}body.dark-mode .blog-full-content{background:#3c3c3c;color:#e0e0e0}.announcement-editor-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.announcement-editor{background:#fff;border-radius:16px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #00000026;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.announcement-editor-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #eee}.announcement-editor-header h2{margin:0;font-size:1.25rem;color:#333}.announcement-editor-close{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:.25rem;border-radius:4px;transition:color .2s,background-color .2s}.announcement-editor-close:hover{color:#333;background-color:#f5f5f5}.announcement-editor-form{padding:1.5rem}.announcement-editor-error{background:#fee;color:#c33;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;border:1px solid #fcc;font-size:.9rem}.announcement-editor-row{display:flex;gap:1rem;margin-bottom:1rem;align-items:end}.announcement-editor-field{margin-bottom:1rem}.announcement-editor-field.flex-1{flex:1}.announcement-editor-field label{display:block;margin-bottom:.5rem;font-weight:500;color:#333;font-size:.9rem}.announcement-editor-field input,.announcement-editor-field select,.announcement-editor-field textarea{width:100%;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .2s;box-sizing:border-box;font-family:inherit}.announcement-editor-field input:focus,.announcement-editor-field select:focus,.announcement-editor-field textarea:focus{outline:none;border-color:#007acc;box-shadow:0 0 0 3px #007acc1a}.announcement-editor-field textarea{resize:vertical;min-height:120px}.announcement-editor-field select{cursor:pointer}.publish-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:1rem;background:#f8f9fa;border-radius:8px;border:2px solid #e0e0e0;transition:all .2s}.publish-toggle:hover{background:#e9ecef;border-color:#007acc}.publish-toggle input[type=checkbox]{width:auto;margin:0;transform:scale(1.2);accent-color:#007acc}.toggle-text{font-weight:600;color:#333}.announcement-editor-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1rem;border-top:1px solid #eee}.announcement-editor-cancel{padding:.75rem 1.5rem;background:#f5f5f5;color:#666;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s}.announcement-editor-cancel:hover{background:#e0e0e0;color:#333}.announcement-editor-save{padding:.75rem 1.5rem;background:linear-gradient(45deg,#007acc,#09f);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.announcement-editor-save:hover:not(:disabled){background:linear-gradient(45deg,#0056b3,#007acc);transform:translateY(-1px);box-shadow:0 4px 15px #007acc4d}.announcement-editor-save:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.announcement-editor{width:95%;margin:1rem}.announcement-editor-header{padding:1rem 1rem .75rem}.announcement-editor-header h2{font-size:1.1rem}.announcement-editor-form{padding:1rem}.announcement-editor-row{flex-direction:column;gap:.5rem}.announcement-editor-actions{flex-direction:column-reverse;gap:.5rem}.announcement-editor-cancel,.announcement-editor-save{width:100%;padding:1rem}}.announcements{padding:5rem 0;background:#f8f9fa}.announcements-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.announcements-admin-btn{background:linear-gradient(45deg,#dc3545,#e83e8c);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9rem}.announcements-admin-btn:hover{background:linear-gradient(45deg,#c82333,#dc3571);transform:translateY(-1px);box-shadow:0 4px 15px #dc35454d}.announcements-filters{display:flex;justify-content:center;gap:1rem;margin-bottom:3rem;flex-wrap:wrap}.filter-btn{padding:.75rem 1.5rem;background:#fff;border:2px solid #e9ecef;border-radius:25px;font-weight:600;cursor:pointer;transition:all .3s ease;color:#666}.filter-btn.active,.filter-btn:hover{background:linear-gradient(45deg,#007acc,#09f);border-color:#007acc;color:#fff;transform:translateY(-2px);box-shadow:0 5px 15px #007acc4d}.announcements-list{display:flex;flex-direction:column;gap:1.5rem}.announcement-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000000d;transition:all .3s ease;border-left:4px solid transparent}.announcement-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0000001a}.announcement-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.announcement-admin-actions{display:flex;gap:.5rem}.admin-action-btn{background:none;border:none;padding:.25rem;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .2s}.admin-action-btn:hover{background:#f0f0f0;transform:scale(1.1)}.admin-action-btn.edit:hover{background:#e8f4fd}.admin-action-btn.delete:hover{background:#fee}.announcement-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.announcement-meta{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.announcement-category{background:#e9ecef;color:#495057;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600}.announcement-priority{color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase}.announcement-new{background:linear-gradient(45deg,#ff6b6b,#ffa726);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.7rem;font-weight:700;text-transform:uppercase;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.announcement-date{color:#6c757d;font-size:.9rem;white-space:nowrap}.announcement-title{font-size:1.3rem;font-weight:600;color:#333;margin-bottom:1rem;line-height:1.4}.announcement-content{color:#666;line-height:1.6;margin-bottom:1.5rem}.announcement-footer{display:flex;justify-content:flex-end}.read-more-btn{background:transparent;color:#007acc;border:2px solid #007acc;padding:.5rem 1rem;border-radius:20px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9rem}.read-more-btn:hover{background:#007acc;color:#fff;transform:translateY(-2px)}.no-announcements{text-align:center;padding:3rem;color:#6c757d}.no-announcements p{font-size:1.1rem;margin:0}.announcement-card:has(.announcement-category:contains("공지")){border-left-color:#dc3545}.announcement-card:has(.announcement-category:contains("서비스")){border-left-color:#28a745}.announcement-card:has(.announcement-category:contains("블로그")){border-left-color:#ffc107}.announcement-card:has(.announcement-category:contains("업데이트")){border-left-color:#007acc}@media (max-width: 768px){.announcements{padding:3rem 0}.announcement-filters{gap:.5rem}.filter-button{padding:.5rem 1rem;font-size:.9rem}.announcements-grid{grid-template-columns:1fr;gap:1.5rem}.announcement-card{padding:1.5rem}.announcement-header{flex-direction:column;align-items:flex-start;gap:.5rem}.announcement-title{font-size:1.1rem}}@media (max-width: 480px){.announcement-card{padding:1rem}.announcement-meta{gap:.25rem}.announcement-category,.announcement-priority,.announcement-new{font-size:.7rem;padding:.2rem .5rem}}body.dark-mode .announcements{background:#1a1a1a}body.dark-mode .announcement-card{background:#2c2c2c;color:#e0e0e0}body.dark-mode .announcement-card:hover{box-shadow:0 10px 25px #ffffff1a}body.dark-mode .announcement-title{color:#fff}body.dark-mode .announcement-excerpt{color:#ccc}body.dark-mode .filter-btn{background:#2c2c2c;border-color:#444;color:#e0e0e0}.contact{padding:5rem 0;background:#fff}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.contact-info h3{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:#333}.contact-info p{color:#666;line-height:1.6;margin-bottom:2rem}.contact-items{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.contact-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:10px;text-decoration:none;transition:all .3s ease;border:2px solid transparent}.contact-item:hover{background:#007acc;color:#fff;transform:translate(5px);border-color:#007acc}.contact-icon{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:50%;transition:all .3s ease}.contact-item:hover .contact-icon{transform:scale(1.1)}.contact-details{display:flex;flex-direction:column}.contact-title{font-weight:600;font-size:.9rem;opacity:.8}.contact-value{font-weight:500;margin-top:.25rem}.availability{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#e8f5e8;border-radius:10px;border-left:4px solid #28a745}.status-indicator{width:12px;height:12px;background:#28a745;border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #28a745b3}70%{box-shadow:0 0 0 10px #28a74500}to{box-shadow:0 0 #28a74500}}.availability span{color:#155724;font-weight:500;font-size:.9rem}.contact-form-container h3{font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;color:#333}.contact-form{background:#f8f9fa;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000000d}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;transition:border-color .3s ease;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#007acc;box-shadow:0 0 0 3px #007acc1a}.form-group textarea{resize:vertical;min-height:120px}.submit-btn{width:100%;padding:1rem 2rem;background:linear-gradient(45deg,#007acc,#09f);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.submit-btn:hover{background:linear-gradient(45deg,#0056b3,#007acc);transform:translateY(-2px);box-shadow:0 5px 15px #007acc4d}.submit-btn:active{transform:translateY(0)}@media (max-width: 768px){.contact{padding:3rem 0}.contact-content{grid-template-columns:1fr;gap:2rem}.contact-form{padding:1.5rem}.contact-item{padding:.75rem}.contact-icon{width:35px;height:35px;font-size:1.25rem}}body.dark-mode .contact{background:#1a1a1a}body.dark-mode .contact-info h3{color:#fff}body.dark-mode .contact-info p{color:#ccc}body.dark-mode .contact-item{background:#2c2c2c;color:#e0e0e0}body.dark-mode .contact-item:hover{background:#007acc;color:#fff}body.dark-mode .contact-form{background:#2c2c2c}body.dark-mode .form-group label{color:#e0e0e0}body.dark-mode .form-group input,body.dark-mode .form-group textarea{background:#3c3c3c;border-color:#555;color:#e0e0e0}body.dark-mode .form-group input:focus,body.dark-mode .form-group textarea:focus{border-color:#4a90e2}.chatbot-toggle{position:fixed;bottom:2rem;right:2rem;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;font-size:1.5rem;cursor:pointer;box-shadow:0 4px 20px #00000026;transition:all .3s ease;z-index:1000;display:flex;align-items:center;justify-content:center}.chatbot-toggle:hover{transform:scale(1.1);box-shadow:0 6px 25px #0003}.chatbot-toggle.open{background:#dc3545}.chatbot-window{position:fixed;bottom:100px;right:2rem;width:350px;height:500px;background:#fff;border-radius:16px;box-shadow:0 10px 40px #00000026;z-index:999;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.chatbot-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem;display:flex;justify-content:space-between;align-items:center}.chatbot-title{display:flex;align-items:center;gap:.5rem}.chatbot-avatar{font-size:1.2rem}.chatbot-title h4{margin:0;font-size:1rem;font-weight:600}.chatbot-status{font-size:.8rem;opacity:.8}.chatbot-close{background:none;border:none;color:#fff;font-size:1.2rem;cursor:pointer;padding:.25rem;border-radius:4px;transition:background-color .2s}.chatbot-close:hover{background:#fff3}.chatbot-messages{flex:1;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.message{display:flex;max-width:80%}.message.user{align-self:flex-end}.message.bot{align-self:flex-start}.message-content{background:#f1f3f5;padding:.75rem 1rem;border-radius:18px;position:relative}.message.user .message-content{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.message-content p{margin:0 0 .25rem;line-height:1.4;font-size:.9rem}.message-time{font-size:.7rem;opacity:.6}.message.user .message-time{color:#ffffffb3}.typing-indicator{display:flex;gap:.25rem;align-items:center}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:#666;animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.chatbot-input-form{padding:1rem;border-top:1px solid #e9ecef;display:flex;gap:.5rem}.chatbot-input-form input{flex:1;padding:.75rem;border:1px solid #e9ecef;border-radius:20px;outline:none;font-size:.9rem}.chatbot-input-form input:focus{border-color:#667eea}.chatbot-input-form button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem;border-radius:50%;cursor:pointer;font-size:1rem;transition:all .2s;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.chatbot-input-form button:hover:not(:disabled){transform:scale(1.05)}.chatbot-input-form button:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width: 768px){.chatbot-window{width:calc(100vw - 2rem);height:70vh;bottom:80px;right:1rem;left:1rem}.chatbot-toggle{bottom:1rem;right:1rem}}body.dark-mode .chatbot-window{background:#2c2c2c;color:#e0e0e0}body.dark-mode .chatbot-header{background:#1a1a1a;border-bottom-color:#444}body.dark-mode .chatbot-title h4{color:#fff}body.dark-mode .chatbot-status{color:#28a745}body.dark-mode .chatbot-close{color:#e0e0e0}body.dark-mode .chatbot-close:hover{background:#444}body.dark-mode .chatbot-messages{background:#2c2c2c}body.dark-mode .message.user .message-content{background:#667eea;color:#fff}body.dark-mode .message.bot .message-content{background:#444;color:#e0e0e0}body.dark-mode .message-time{color:#999}body.dark-mode .chatbot-input-form{background:#1a1a1a;border-top-color:#444}body.dark-mode .chatbot-input-form input{background:#444;color:#e0e0e0;border-color:#555}body.dark-mode .chatbot-input-form input::placeholder{color:#999}body.dark-mode .chatbot-input-form input:focus{border-color:#667eea}body.dark-mode .typing-indicator span{background:#999}.back-btn{display:inline-flex;align-items:center;gap:.5rem;color:#007acc;text-decoration:none;font-weight:600;margin-bottom:2rem;transition:color .3s ease}.back-btn:hover{color:#0056b3}.no-content{text-align:center;padding:4rem 2rem;color:#666}.no-content h2{color:#333;margin-bottom:1rem}.no-content p{margin-bottom:2rem;font-size:1.1rem}.blog-detail .blog-header,.announcement-detail .announcement-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem}.blog-article,.announcement-article{max-width:800px;margin:0 auto}.blog-article-header,.announcement-article-header{margin-bottom:3rem;text-align:center;padding-bottom:2rem;border-bottom:2px solid #e9ecef}.blog-article-title,.announcement-article-title{font-size:2.5rem;font-weight:700;color:#333;line-height:1.2;margin-top:1rem}.blog-article-content,.announcement-article-content{font-size:1.1rem;line-height:1.8;color:#333}.blog-article-content h2,.announcement-article-content h2{font-size:1.8rem;margin:2rem 0 1rem;color:#333}.blog-article-content h3,.announcement-article-content h3{font-size:1.4rem;margin:1.5rem 0 1rem;color:#333}.blog-article-content p,.announcement-article-content p{margin-bottom:1.5rem}.blog-article-content ul,.announcement-article-content ul{margin-bottom:1.5rem;padding-left:2rem}.blog-article-content li,.announcement-article-content li{margin-bottom:.5rem}.blog-navigation,.announcement-navigation{text-align:center;margin-top:4rem;padding-top:2rem;border-top:1px solid #e9ecef}.blog-editor-page,.announcement-editor-page{min-height:100vh}.editor-header{margin-bottom:2rem}.blog-actions,.announcement-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1rem}.read-more{color:#007acc;text-decoration:none;font-weight:600;transition:color .3s ease}.read-more:hover{color:#0056b3}.edit-link{color:#6c757d;text-decoration:none;font-size:.9rem;transition:color .3s ease}.edit-link:hover{color:#495057}.error-message{text-align:center;padding:4rem 2rem;background:#f8f9fa;border-radius:12px;margin:2rem 0}.error-message h2{color:#dc3545;margin-bottom:1rem}.error-message p{color:#666;margin-bottom:2rem}@media (max-width: 768px){.blog-article-title,.announcement-article-title{font-size:2rem}.blog-article-content,.announcement-article-content{font-size:1rem}.blog-detail .blog-header,.announcement-detail .announcement-header{flex-direction:column;gap:1rem;align-items:flex-start}.blog-actions,.announcement-actions{flex-direction:column;gap:.5rem;align-items:flex-start}}body.dark-mode .back-btn{color:#4a90e2}body.dark-mode .back-btn:hover{color:#357abd}body.dark-mode .no-content{color:#ccc}body.dark-mode .no-content h2{color:#fff}body.dark-mode .blog-article-header,body.dark-mode .announcement-article-header{border-bottom-color:#444}body.dark-mode .blog-article-title,body.dark-mode .announcement-article-title{color:#fff}body.dark-mode .blog-article-content,body.dark-mode .announcement-article-content{color:#e0e0e0}body.dark-mode .blog-article-content h2,body.dark-mode .blog-article-content h3,body.dark-mode .announcement-article-content h2,body.dark-mode .announcement-article-content h3{color:#fff}body.dark-mode .blog-navigation,body.dark-mode .announcement-navigation{border-top-color:#444}body.dark-mode .read-more{color:#4a90e2}body.dark-mode .read-more:hover{color:#357abd}body.dark-mode .edit-link{color:#adb5bd}body.dark-mode .edit-link:hover{color:#dee2e6}body.dark-mode .error-message{background:#2c2c2c}body.dark-mode .error-message h2{color:#dc3545}body.dark-mode .error-message p{color:#ccc}:root{--radeonrx-primary: #ff6b35;--radeonrx-secondary: #f7931e;--radeonrx-accent: #ffcc02;--radeonrx-dark: #1a1a2e;--radeonrx-darker: #16213e;--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--text-primary: #333333;--text-secondary: #666666;--border-color: rgba(255, 107, 53, .3);--hover-bg: rgba(255, 107, 53, .1);--radeonrx-gradient: linear-gradient(135deg, var(--radeonrx-primary), var(--radeonrx-secondary));--radeonrx-gradient-accent: linear-gradient(135deg, var(--radeonrx-secondary), var(--radeonrx-accent))}[data-theme=dark]{--bg-primary: var(--radeonrx-dark);--bg-secondary: var(--radeonrx-darker);--text-primary: #ecf0f1;--text-secondary: #bdc3c7;--border-color: rgba(255, 107, 53, .4);--hover-bg: rgba(255, 107, 53, .15)}.App{min-height:100vh;overflow-x:hidden;height:auto;background:var(--bg-primary);color:var(--text-primary);transition:all .3s ease;padding-top:70px;display:flex;flex-direction:column}main{position:relative;min-height:calc(100vh - 70px);flex:1}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.section-title{text-align:center;font-size:2.5rem;font-weight:700;margin-bottom:3rem;color:var(--text-primary);position:relative}.section-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60px;height:3px;background:var(--radeonrx-gradient);border-radius:2px}.btn{display:inline-block;padding:.875rem 2rem;border-radius:8px;font-weight:600;text-decoration:none;transition:all .3s ease;cursor:pointer;border:none;font-size:1rem;text-align:center}.btn-primary{background:var(--radeonrx-gradient);color:#fff;box-shadow:0 4px 15px #ff6b354d}.btn-primary:hover{background:var(--radeonrx-gradient-accent);transform:translateY(-2px);box-shadow:0 6px 20px #ff6b3566}.btn-secondary{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.3)}.btn-secondary:hover{background:#ffffff1a;border-color:#ffffff80;transform:translateY(-2px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@media (max-width: 768px){.container{padding:0 1rem}.section-title{font-size:2rem}}@media (max-width: 480px){.section-title{font-size:1.75rem}}body.dark-mode .App{background-color:#1a1a1a}body.dark-mode .section-title{color:#e0e0e0}body.dark-mode .btn-primary{background:linear-gradient(45deg,#4a90e2,#357abd)}body.dark-mode .btn-secondary{border-color:#e0e0e04d;color:#e0e0e0}body.dark-mode .btn-secondary:hover{background:#e0e0e01a;border-color:#e0e0e080}@media (max-width: 768px){.container{padding:0 1.5rem}.section-title{font-size:2rem;margin-bottom:2rem}.btn{padding:.75rem 1.5rem;font-size:.9rem}}@media (max-width: 480px){.container{padding:0 1rem}.section-title{font-size:1.8rem;margin-bottom:1.5rem}.btn{padding:.6rem 1.2rem;font-size:.85rem;border-radius:6px}.btn-primary,.btn-secondary{width:100%;margin:.25rem 0}}@media (max-width: 360px){.container{padding:0 .75rem}.section-title{font-size:1.6rem;margin-bottom:1rem}.btn{padding:.5rem 1rem;font-size:.8rem}}.account-page .page-title{margin-bottom:2rem}.account-grid{display:grid;grid-template-columns:2fr 1fr;grid-template-areas:"profile info" "password sessions";gap:1.5rem}.card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000f;padding:1.25rem 1.25rem 1rem}.card h2{margin-top:0;margin-bottom:1rem}.profile-card{grid-area:profile}.info-card{grid-area:info}.password-card{grid-area:password}.sessions-card{grid-area:sessions}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1rem}.form-grid label{display:flex;flex-direction:column;gap:.5rem;font-weight:600}.form-grid input,.form-grid textarea{border:1px solid #e0e0e0;border-radius:8px;padding:.6rem .75rem;font-size:1rem}.form-grid .full{grid-column:1 / -1}.form-actions{display:flex;justify-content:flex-end;gap:.5rem}.btn{border:1px solid #e0e0e0;background:#f8f9fa;border-radius:8px;padding:.5rem .9rem;cursor:pointer}.btn.small{padding:.35rem .6rem;font-size:.9rem}.btn-primary{background:linear-gradient(45deg,#007acc,#09f);color:#fff;border:none}.btn.danger{background:#e74c3c;color:#fff;border:none}.info-list{display:flex;flex-direction:column;gap:.5rem}.info-item{display:flex;justify-content:space-between;gap:1rem}.info-item span{color:#666}.card-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.notice{padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem}.notice.success{background:#e8f7ee;color:#1e7e34}.notice.error{background:#fdecea;color:#a71d2a}.avatar-preview{grid-row:span 3;display:flex;align-items:center;justify-content:center}.avatar-preview img{width:96px;height:96px;border-radius:50%;object-fit:cover;border:3px solid #f0f0f0}.avatar-fallback{width:96px;height:96px;border-radius:50%;background:#007acc;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.5rem}.sessions-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.session-row{display:flex;justify-content:space-between;align-items:center;border:1px solid #eee;border-radius:8px;padding:.75rem}.session-meta{display:flex;flex-direction:column;gap:.25rem}.session-device{font-weight:600}.session-time,.session-ip{color:#666;font-size:.9rem}.muted{color:#666}@media (max-width: 1024px){.account-grid{grid-template-columns:1fr;grid-template-areas:"profile" "info" "password" "sessions"}.form-grid{grid-template-columns:1fr}.avatar-preview{grid-row:auto}}body.dark-mode .card{background:#2c2c2c}body.dark-mode .form-grid input,body.dark-mode .form-grid textarea{background:#1f1f1f;border-color:#444;color:#e0e0e0}body.dark-mode .info-item span,body.dark-mode .session-time,body.dark-mode .session-ip{color:#adb5bd}
