:root{--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-section: #fafafa;--text-primary: #333333;--text-secondary: #666666;--text-heading: #222222;--accent: #11ABB0;--accent-hover: #0d8a95;--border-color: #e0e0e0;--card-bg: #ffffff;--card-shadow: rgba(0, 0, 0, .08);--toast-bg: #333;--toast-text: #fff}body{background-color:var(--bg-primary);color:var(--text-primary)}section{background-color:var(--bg-section)}.hover-lift{transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0000001f}.hover-glow{transition:box-shadow .3s ease,transform .3s ease}.hover-glow:hover{box-shadow:0 0 20px #11abb04d}.img-zoom{overflow:hidden}.img-zoom img{transition:transform .5s cubic-bezier(.16,1,.3,1)}.img-zoom:hover img{transform:scale(1.08)}.social li a i,.social-links li a i{transition:transform .3s cubic-bezier(.34,1.56,.64,1),color .3s ease}.social li a:hover i,.social-links li a:hover i{transform:translateY(-4px) scale(1.15)}button.submit,.download .button,.glow-btn{position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease,background .3s ease}button.submit:hover,.download .button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #11abb040}button.submit:active,.download .button:active{transform:translateY(0)}.header-entrance{animation:headerSlideUp 1s cubic-bezier(.16,1,.3,1) forwards}@keyframes headerSlideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.scrolldown a i{animation:scrollBounce 2s ease-in-out infinite}@keyframes scrollBounce{0%,to{transform:translateY(0);opacity:.6}50%{transform:translateY(8px);opacity:1}}input:focus,textarea:focus{transition:border-color .3s ease,box-shadow .3s ease}.stagger-1{transition-delay:.1s}.stagger-2{transition-delay:.2s}.stagger-3{transition-delay:.3s}.stagger-4{transition-delay:.4s}.fade-in-section{opacity:0;transform:translateY(40px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.fade-in-section.is-visible{opacity:1;transform:translateY(0)}.fade-in-left{opacity:0;transform:translate(-40px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.fade-in-left.is-visible{opacity:1;transform:translate(0)}.fade-in-right{opacity:0;transform:translate(40px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.fade-in-right.is-visible{opacity:1;transform:translate(0)}.fade-in-scale{opacity:0;transform:scale(.9);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.fade-in-scale.is-visible{opacity:1;transform:scale(1)}.profile-pic{transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s ease}.profile-pic:hover{transform:scale(1.02) translateY(-4px);box-shadow:0 20px 40px #00000026}.bar-expand{transition:width 1.2s cubic-bezier(.16,1,.3,1)}.portfolio-item .item-wrap{cursor:pointer;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s ease}.portfolio-item .item-wrap:hover{transform:translateY(-6px);box-shadow:0 16px 40px #0000001f}.portfolio-item .item-wrap img{transition:transform .5s cubic-bezier(.16,1,.3,1)}.portfolio-item .item-wrap:hover img{transform:scale(1.06)}.portfolio-modal{animation:modalBounce .4s cubic-bezier(.16,1,.3,1)}@keyframes modalBounce{0%{transform:translateY(-30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}#nav-wrap ul li a{position:relative}#nav-wrap ul li a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--accent);transition:width .3s cubic-bezier(.16,1,.3,1)}#nav-wrap ul li a:hover:after,#nav-wrap ul li.current a:after{width:100%}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:8px}.toast{padding:14px 20px;border-radius:8px;color:var(--toast-text);background:var(--toast-bg);box-shadow:0 4px 12px #0003;font-size:14px;animation:toastSlideIn .4s ease,toastFadeOut .4s ease 3.6s forwards;max-width:360px;display:flex;align-items:center;gap:10px}.toast.success{border-left:4px solid #4CAF50}.toast.error{border-left:4px solid #F44336}.toast.info{border-left:4px solid #2196F3}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastFadeOut{0%{opacity:1}to{opacity:0}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#119ab0,#0d8a95);padding:20px}.login-card{background:var(--card-bg);border-radius:16px;padding:40px;width:100%;max-width:400px;box-shadow:0 20px 60px #00000026;animation:modalSlideIn .4s ease}.login-card h2{font-size:28px;color:var(--text-heading);margin-bottom:8px}.login-subtitle{color:var(--text-secondary);margin-bottom:28px;font-size:14px}.login-field{margin-bottom:20px}.login-field label{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.login-field input{width:100%;padding:12px 16px;border:2px solid var(--border-color);border-radius:8px;font-size:16px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .3s ease,box-shadow .3s ease;box-sizing:border-box}.login-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #11abb026;outline:none}.login-error{background:#fff0f0;color:#d32f2f;padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:16px;border:1px solid #ffcdd2}.login-btn{width:100%;padding:14px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .3s ease,transform .2s ease}.login-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.login-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-loading{display:flex;align-items:center;justify-content:center;gap:8px}.download-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#119ab0,#0d8a95);padding:20px}.download-card{background:var(--card-bg);border-radius:16px;padding:40px;width:100%;max-width:500px;text-align:center;box-shadow:0 20px 60px #00000026;animation:modalSlideIn .4s ease}.download-card h1{font-size:28px;color:var(--text-heading);margin-bottom:8px}.download-subtitle{color:var(--text-secondary);margin-bottom:32px;font-size:14px}.download-actions{display:flex;gap:16px;margin-bottom:24px}.download-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px 16px;border:2px solid var(--border-color);border-radius:12px;background:var(--bg-primary);cursor:pointer;transition:all .3s ease}.download-btn:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 8px 24px var(--card-shadow)}.download-icon{font-size:32px}.download-label{font-size:18px;font-weight:700;color:var(--text-heading)}.download-desc{font-size:12px;color:var(--text-secondary)}.logout-btn{width:100%;padding:12px;background:transparent;color:#f44336;border:2px solid #F44336;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease}.logout-btn:hover{background:#f44336;color:#fff}.download-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--text-secondary)}@media (max-width: 480px){.login-card,.download-card{padding:28px 20px}.download-actions{flex-direction:column}}.portfolio-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease}.portfolio-modal{background:var(--card-bg);color:var(--text-primary);border-radius:12px;padding:40px;max-width:500px;width:90%;position:relative;box-shadow:0 20px 60px #0000004d}.portfolio-modal h2{font-size:24px;margin-bottom:8px;color:var(--text-heading)}.portfolio-modal .modal-category{color:var(--text-secondary);margin-bottom:20px;font-size:14px}.modal-link{display:inline-block;padding:12px 24px;background:var(--accent);color:#fff;text-decoration:none;border-radius:6px;font-weight:500;transition:background .3s ease}.modal-link:hover{background:var(--accent-hover)}.modal-link i{margin-left:6px}.modal-close{position:absolute;top:12px;right:16px;background:none;border:none;font-size:32px;cursor:pointer;color:var(--text-primary);line-height:1;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s ease}.modal-close:hover{background:#0000001a}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{transform:translateY(-30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.testimonial-slider{display:flex;align-items:center;gap:20px;position:relative}.slider-arrow{background:#ffffff26;border:2px solid rgba(255,255,255,.3);color:#fff;font-size:32px;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0}.slider-arrow:hover{background:#ffffff4d;border-color:#fff;transform:scale(1.1)}.testimonial-slide{animation:slideFade .4s ease}@keyframes slideFade{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.slider-dots{display:flex;justify-content:center;gap:10px;margin-top:20px}.dot{width:12px;height:12px;border-radius:50%;background:#ffffff4d;cursor:pointer;transition:all .3s ease;border:none}.dot.active{background:#fff;transform:scale(1.3)}.dot:hover{background:#fff9}.form-field{margin-bottom:18px}.form-field.has-error input,.form-field.has-error textarea{border-color:#f44336!important;box-shadow:0 0 0 1px #f44336}.field-error{color:#f44336;font-size:12px;margin-top:4px;display:block}#contactForm button.submit:disabled{opacity:.7;cursor:not-allowed}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-hover)}.chatbot-container{position:fixed;bottom:20px;right:20px;z-index:1000}.chatbot-toggle{background:#11abb0;border:none;border-radius:50%;width:60px;height:60px;cursor:pointer;box-shadow:0 2px 10px #0000004d;display:flex;align-items:center;justify-content:center;transition:all .3s ease;animation:vibrate 2s infinite}.chatbot-toggle:hover{background:#0d8a95;transform:scale(1.1)}.chatbot-toggle img{font-size:24px;min-width:200%;color:#fff}@keyframes vibrate{0%{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-5px)}to{transform:translate(0)}}.chatbot-window{background:#fff;border-radius:10px;box-shadow:0 5px 25px #0000004d;width:400px;height:500px;display:flex;flex-direction:column;position:fixed;bottom:20px;right:20px}.chatbot-header{background:#119ab0;color:#fff;padding:15px;border-radius:10px 10px 0 0;display:flex;justify-content:space-between;align-items:center}.header-left{display:flex;align-items:center;gap:8px}.header-left h3{margin:0;font-size:15px;font-family:Helvetica Now Text,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;font-style:italic}.header-icon{width:30px;height:30px}.chatbot-header h3{margin:0;color:#fff;font-size:15px;font-family:Helvetica Now Text,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;font-style:italic}.header-actions{display:flex;align-items:center;gap:4px}.header-btn{background:none;border:none;color:#fff;font-size:16px;cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .3s ease;padding:0}.header-btn:hover{background:#fff3}.close-btn{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .3s ease;padding:0}.close-btn:hover{background:#fff3}.chatbot-messages{flex:1;overflow-y:auto;padding:15px;display:flex;flex-direction:column;gap:10px}.message-wrapper{position:relative;max-width:85%;align-self:flex-start}.message-wrapper:has(.user){align-self:flex-end}.message{padding:10px 15px;border-radius:15px;max-width:100%;word-wrap:break-word;line-height:1.4;white-space:pre-wrap}.message.user{background:#11abb0;color:#fff;border-bottom-right-radius:5px}.message.bot{background:#f5f5f5;color:#333;align-self:flex-start;border-bottom-left-radius:5px}.message-copy-btn{position:absolute;top:4px;right:-32px;background:none;border:none;font-size:14px;cursor:pointer;opacity:0;transition:opacity .2s ease;padding:2px 4px;border-radius:4px;line-height:1}.message-wrapper:hover .message-copy-btn{opacity:1}.message-copy-btn:hover{background:#0000001a}.suggestion-chips{display:flex;flex-wrap:wrap;gap:4px;padding:6px 12px 4px;border-top:1px solid #eee;max-height:58px;overflow-y:auto}.suggestion-chip{background:#e8f4f5;color:#119ab0;border:1px solid #b2e0e5;border-radius:12px;padding:3px 10px;font-size:11px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.suggestion-chip:hover{background:#11abb0;color:#fff;border-color:#11abb0;transform:translateY(-1px)}.suggestion-chip:disabled{opacity:.5;cursor:not-allowed;transform:none}.chatbot-input-container{border-top:1px solid #eee;display:flex}.chatbot-input{display:flex;padding:15px;gap:10px;background:none;margin-bottom:0!important;min-width:85%}.chat-export-btn{background:transparent;border:none;color:gray;font-size:18px;cursor:pointer;transition:color .2s ease;display:flex;align-items:center;justify-content:center;width:40px}.chat-export-btn:hover{color:#11abb0;background:none!important}.chatbot-input input{flex:1;padding:10px 15px;border:1px solid #11ABB0;border-radius:25px;outline:none;font-size:14px;background:#80808078;transition:all .3s ease}.chatbot-input input:focus{border:2px solid #11ABB0;border-radius:25px;background:#fff;color:#000000b5}.chatbot-input input:disabled{opacity:.6;cursor:not-allowed}.chatbot-input button{padding:10px 20px;background:#11abb0;color:#fff;border:none;border-radius:25px;cursor:pointer;transition:background .3s ease}.chatbot-input button:hover{background:#0d8a95}.chatbot-input button:disabled{background:#ccc;cursor:not-allowed}.typing-indicator{display:flex;align-items:center;gap:5px;padding:10px 15px}.typing-dot{width:8px;height:8px;background:#11abb0;border-radius:50%;animation:typing 1.4s infinite ease-in-out}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-5px)}}@media (max-width: 480px){.chatbot-window{width:95vw;height:75vh;bottom:10px;right:10px}.chatbot-header h3{font-size:16px}.chatbot-input input{font-size:13px;padding:8px 12px}.chatbot-input button{padding:8px 14px;font-size:13px}.suggestion-chip{font-size:10px;padding:2px 8px}}@media (max-height: 600px){.chatbot-window{height:65vh}}.status-indicator{width:12px;height:12px;border-radius:50%;display:inline-block;margin-left:6px}.status-indicator.online{background-color:#4caf50}.status-indicator.offline{background-color:#f44336}.status-text{margin-left:0;font-size:12px;color:#fff}.message.instruction{background:#e0e7ff;font-style:italic;border-left:4px solid #11ABB0;max-width:90%;align-self:flex-start}
