*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;overflow:hidden;position:fixed;width:100%}:root{--primary-bg:#0a0a0f;--secondary-bg:#1c1c28;--accent-primary:#30d5c8;--accent-secondary:#b794f6;--accent-tertiary:#4ade80;--text-primary:#fff;--text-secondary:#9ca3af;--text-muted:#6b7280;--border-glow:rgba(48,213,200,.3);--grid-color:rgba(48,213,200,.08);--glass-bg:hsla(0,0%,100%,.03);--glass-border:hsla(0,0%,100%,.08);--status-dot-color:var(--accent-tertiary);--status-dot-shadow1:var(--accent-tertiary);--status-dot-shadow2:var(--accent-tertiary);--app-container-bg:rgba(28,28,40,.92);--app-container-border:rgba(48,213,200,.15);--top-nav-bg:linear-gradient(135deg,rgba(48,213,200,.03),rgba(183,148,246,.03));--scanline-color:rgba(48,213,200,.08);--portfolio-link-bg:rgba(0,0,0,.4);--portfolio-link-hover-bg:rgba(48,213,200,.12);--email-container-bg:rgba(0,0,0,.4);--social-link-bg:rgba(0,0,0,.4);--chat-grid-color:rgba(48,213,200,.02);--scrollbar-track:rgba(0,0,0,.3);--scrollbar-thumb:linear-gradient(180deg,var(--accent-primary),var(--accent-secondary));--user-msg-bg:linear-gradient(135deg,rgba(48,213,200,.12),rgba(183,148,246,.12));--user-msg-border:rgba(48,213,200,.25);--model-msg-bg:linear-gradient(135deg,rgba(183,148,246,.15),rgba(0,0,0,.5));--model-msg-border:var(--accent-secondary);--code-bg:rgba(0,0,0,.7);--code-inline-bg:rgba(48,213,200,.12);--input-bg:linear-gradient(180deg,rgba(0,0,0,.3),rgba(28,28,40,.5));--input-wrapper-bg:rgba(0,0,0,.5);--blockquote-bg:rgba(48,213,200,.06);--table-hover-bg:rgba(48,213,200,.06);--table-header-bg:rgba(48,213,200,.12);--message-shadow:0 0 20px rgba(48,213,200,.15),inset 0 1px 0 hsla(0,0%,100%,.05);--button-shadow:0 0 20px rgba(48,213,200,.3),inset 0 1px 0 hsla(0,0%,100%,.15);--text-glow:0 0 10px var(--accent-primary),0 0 20px var(--accent-primary),0 0 30px var(--accent-primary)}:root[data-theme=light]{--primary-bg:#fff;--secondary-bg:#f8f9fa;--accent-primary:#06c;--accent-secondary:#e91e63;--accent-tertiary:#6366f1;--text-primary:#1a1a1a;--text-secondary:#6b7280;--text-muted:#9ca3af;--border-glow:rgba(0,102,204,.2);--grid-color:rgba(0,102,204,.05);--glass-bg:hsla(0,0%,100%,.8);--glass-border:rgba(0,0,0,.1);--status-dot-color:#10b981;--status-dot-shadow1:rgba(16,185,129,.4);--status-dot-shadow2:rgba(16,185,129,.2);--app-container-bg:hsla(0,0%,100%,.95);--app-container-border:rgba(0,0,0,.1);--top-nav-bg:linear-gradient(135deg,rgba(99,102,241,.02),rgba(236,72,153,.02));--scanline-color:rgba(99,102,241,.03);--portfolio-link-bg:linear-gradient(135deg,hsla(0,0%,100%,.9),rgba(248,249,250,.9));--portfolio-link-hover-bg:linear-gradient(135deg,rgba(99,102,241,.1),rgba(236,72,153,.1));--email-container-bg:linear-gradient(135deg,hsla(0,0%,100%,.9),rgba(248,249,250,.9));--social-link-bg:linear-gradient(135deg,hsla(0,0%,100%,.9),rgba(248,249,250,.9));--chat-grid-color:rgba(0,102,204,.02);--scrollbar-track:rgba(0,0,0,.05);--scrollbar-thumb:rgba(0,102,204,.5);--user-msg-bg:linear-gradient(135deg,rgba(0,102,204,.1),rgba(233,30,99,.1));--user-msg-border:rgba(0,102,204,.2);--model-msg-bg:linear-gradient(135deg,rgba(99,102,241,.1),rgba(248,249,250,.8));--model-msg-border:rgba(99,102,241,.3);--code-bg:rgba(248,249,250,.8);--code-inline-bg:rgba(0,102,204,.1);--input-bg:linear-gradient(180deg,rgba(248,249,250,.9),hsla(0,0%,100%,.95));--input-wrapper-bg:#fff;--blockquote-bg:rgba(0,102,204,.05);--table-hover-bg:rgba(0,102,204,.05);--table-header-bg:rgba(0,102,204,.1);--message-shadow:0 2px 8px rgba(0,102,204,.15),0 1px 3px rgba(0,0,0,.05);--button-shadow:0 2px 8px rgba(0,102,204,.3),0 1px 3px rgba(0,0,0,.1);--text-glow:none}body{background:var(--primary-bg);color:var(--text-primary);font-family:Exo\ 2,sans-serif;position:relative}body:before{background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);background-size:100px 100px;content:"";height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:0}@media (min-width:769px){body:before{animation:gridTraverse 20s linear infinite}}@keyframes gridTraverse{0%{background-position:0 0,0 0}to{background-position:100px 100px,100px 100px}}.app-container{backdrop-filter:blur(20px);background:var(--app-container-bg);border:1px solid var(--app-container-border);border-radius:20px;box-shadow:var(--message-shadow);display:flex;flex-direction:column;height:100vh;height:100dvh;margin:0 auto;max-width:1200px;position:relative;z-index:2}.top-nav{backdrop-filter:blur(30px);background:var(--top-nav-bg);border-bottom:1px solid var(--border-glow);border-radius:20px 20px 0 0;border-top:none;margin:0;overflow:hidden;padding:1rem 2rem;position:relative}.top-nav:before{animation:scanLine 4s ease-in-out infinite;background:linear-gradient(90deg,transparent,var(--scanline-color),transparent);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}.top-nav-content{align-items:center;display:flex;justify-content:space-between;position:relative;z-index:1}.portfolio-link{align-items:center;backdrop-filter:blur(10px);background:var(--portfolio-link-bg);border:1px solid var(--border-glow);border-radius:25px;box-shadow:var(--button-shadow);color:var(--text-primary);display:flex;font-family:Orbitron,monospace;font-size:1rem;font-weight:600;gap:.5rem;left:50%;letter-spacing:.1em;padding:.75rem 1.5rem;position:absolute;text-decoration:none;text-transform:none;transform:translateX(-50%);transition:all .3s cubic-bezier(.4,0,.2,1)}.portfolio-link:hover{background:var(--portfolio-link-hover-bg);border-color:var(--accent-primary);box-shadow:var(--button-shadow);text-shadow:var(--text-glow);transform:translateX(-50%) translateY(-2px)}:root[data-theme=light] .portfolio-link:hover{background:linear-gradient(135deg,rgba(99,102,241,.08),rgba(236,72,153,.08));border-color:rgba(99,102,241,.3);box-shadow:0 4px 15px rgba(99,102,241,.15),inset 0 1px 0 hsla(0,0%,100%,.8)}:root[data-theme=light] .tech-details-link:hover{transform:translateX(-50%) translateY(-2px)}:root[data-theme=light] .tech-details-link:active{transform:translateX(-50%) translateY(0)}.tech-details-link{left:50%;position:absolute;transform:translateX(-50%)}.tech-details-link:hover{transform:translateX(-50%) translateY(-2px)}.portfolio-link:active,.tech-details-link:active{transform:translateX(-50%) translateY(0)}.portfolio-link svg{filter:drop-shadow(0 0 3px var(--border-glow));height:16px;width:16px}:root[data-theme=light] .portfolio-link{background:linear-gradient(135deg,hsla(0,0%,100%,.9),rgba(248,249,250,.9));background-clip:padding-box;border:1px solid transparent}:root[data-theme=light] .portfolio-link:before{background:linear-gradient(135deg,rgba(99,102,241,.2),rgba(236,72,153,.2));border-radius:inherit;bottom:0;content:"";left:0;margin:-1px;position:absolute;right:0;top:0;z-index:-1}:root[data-theme=light] .tech-details-link{left:50%;position:absolute;transform:translateX(-50%)}:root[data-theme=light] .portfolio-link svg{filter:none}.app-header{backdrop-filter:blur(30px);background:var(--top-nav-bg);border-bottom:1px solid var(--border-glow);overflow:hidden;padding:1rem 2rem;position:relative}.app-header:before{animation:scanLine 3s ease-in-out infinite;background:linear-gradient(90deg,transparent,var(--scanline-color),transparent);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}.header-content{gap:2rem;justify-content:space-between;position:relative;z-index:1}.header-content,.title-section{align-items:center;display:flex}.title-section{gap:1.5rem}.app-title{color:var(--text-primary);font-family:Orbitron,monospace;font-size:1.4rem;font-weight:900;letter-spacing:.1em;position:relative;text-shadow:var(--text-glow)}.app-title:after{background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));bottom:-5px;content:"";height:2px;left:0;position:absolute;width:100%}.app-subtitle{color:var(--text-secondary);font-family:Exo\ 2,sans-serif;font-size:.9rem;font-weight:300;letter-spacing:.05em;margin-top:.3rem;opacity:.8}.status-indicator{align-items:center;backdrop-filter:blur(10px);background:var(--portfolio-link-bg);border:1px solid var(--border-glow);border-radius:50px;box-shadow:var(--button-shadow);display:flex;gap:1rem;padding:.75rem 1.5rem}.status-dot{animation:pulse 2s infinite;background:var(--status-dot-color);border-radius:50%;box-shadow:0 0 10px var(--status-dot-shadow1),0 0 20px var(--status-dot-shadow2);height:12px;width:12px}.status-text{color:var(--text-primary);font-family:Orbitron,monospace;font-size:.875rem;font-weight:500;letter-spacing:.1em;text-transform:none}.developer-info{display:flex;flex-direction:column;gap:.5rem}.developer-name{color:var(--text-primary);font-family:Orbitron,monospace;font-size:1.5rem;font-weight:900;letter-spacing:.08em;text-transform:none}.developer-title{color:var(--text-secondary);font-family:Exo\ 2,sans-serif;font-size:.9rem;font-weight:400}.social-links{gap:1rem}.email-container,.social-links{align-items:center;display:flex}.email-container{backdrop-filter:blur(10px);background:var(--email-container-bg);border:1px solid var(--border-glow);border-radius:25px;box-shadow:var(--button-shadow);gap:.75rem;padding:.75rem 1rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.email-container:hover{background:rgba(0,102,204,.1);border-color:var(--accent-primary);box-shadow:0 4px 15px rgba(0,102,204,.3),0 1px 3px rgba(0,0,0,.1)}.email-text{font-family:Orbitron,monospace;font-size:.875rem;font-weight:500;letter-spacing:.05em}.copy-button,.email-text{color:var(--text-primary)}.copy-button{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;display:flex;justify-content:center;padding:.25rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.copy-button:hover{background:rgba(0,102,204,.1);transform:scale(1.1)}.copy-button:active{transform:scale(.9)}.copy-button svg{height:16px;width:16px}.social-link{align-items:center;backdrop-filter:blur(10px);background:var(--social-link-bg);border:1px solid var(--border-glow);border-radius:50%;box-shadow:var(--button-shadow);color:var(--text-primary);display:flex;height:45px;justify-content:center;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);width:45px}.social-link:hover{border-color:var(--accent-primary);box-shadow:0 4px 15px rgba(0,102,204,.3),0 1px 3px rgba(0,0,0,.1);transform:scale(1.1) translateY(-2px)}.social-link.linkedin:hover{background:#0077b5;border-color:#0077b5;box-shadow:0 4px 15px rgba(0,119,181,.4),0 1px 3px rgba(0,0,0,.1)}.social-link.github:hover svg,.social-link.linkedin:hover svg,.social-link:hover svg{color:#fff}.social-link.github:hover{background:#333;border-color:#333;box-shadow:0 4px 15px rgba(51,51,51,.4),0 1px 3px rgba(0,0,0,.1)}.social-link svg{height:24px;width:24px}.social-link.email:hover{background:rgba(234,67,53,.2);border-color:#ea4335;box-shadow:0 0 30px rgba(234,67,53,.4),inset 0 1px 0 hsla(0,0%,100%,.2)}.copy-feedback{animation:copyPulse 2s ease-in-out;background:var(--accent-primary);border-radius:8px;box-shadow:0 4px 20px rgba(0,102,204,.5);color:#fff;font-family:Orbitron,monospace;font-size:.875rem;font-weight:600;left:50%;letter-spacing:.05em;opacity:0;padding:.75rem 1.5rem;pointer-events:none;position:fixed;text-transform:none;top:50%;transform:translate(-50%,-50%);z-index:1000}@keyframes copyPulse{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.user-info{backdrop-filter:blur(30px);background:linear-gradient(135deg,rgba(99,102,241,.05),rgba(248,249,250,.8));border-bottom:1px solid rgba(0,0,0,.08);overflow:hidden;padding:1.5rem 2rem;position:relative}.user-info:before{animation:scanLine 4s ease-in-out infinite;background:linear-gradient(90deg,transparent,rgba(99,102,241,.05),transparent);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}.user-info-content{align-items:center;display:flex;gap:1.5rem;position:relative;z-index:1}.back-button{align-items:center;backdrop-filter:blur(10px);background:hsla(0,0%,100%,.8);border:1px solid rgba(0,102,204,.2);border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.1),0 2px 8px rgba(0,102,204,.1);cursor:pointer;display:flex;height:50px;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);width:50px}.back-button:hover{background:rgba(0,102,204,.1);border-color:var(--accent-primary);box-shadow:0 4px 15px rgba(0,102,204,.3),0 1px 3px rgba(0,0,0,.1);transform:scale(1.05) translateY(-1px)}.back-button:active{transform:scale(.95)}.back-button svg{color:var(--text-primary);height:24px;width:24px}.user-details{display:flex;flex:1;flex-direction:column;gap:.5rem}.user-name{color:var(--text-primary);font-family:Orbitron,monospace;font-size:1.25rem;font-weight:700;letter-spacing:.05em;text-transform:none}.user-status{color:var(--text-secondary);font-family:Exo\ 2,sans-serif;font-size:.875rem;font-weight:400}.user-avatar{align-items:center;background:linear-gradient(135deg,var(--accent-tertiary) 0,var(--accent-primary) 100%);border:2px solid rgba(0,0,0,.1);border-radius:50%;box-shadow:0 2px 8px rgba(99,102,241,.3),0 1px 3px rgba(0,0,0,.1);color:#fff;display:flex;font-family:Orbitron,monospace;font-size:1.25rem;font-weight:900;height:45px;justify-content:center;width:45px}.chat-container{overflow:hidden}.chat-container,.chat-messages{display:flex;flex:1;flex-direction:column;min-height:0;position:relative}.chat-messages{gap:1.25rem;overflow-y:auto;padding:1.5rem;-webkit-overflow-scrolling:touch;background-image:linear-gradient(var(--chat-grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--chat-grid-color) 1px,transparent 1px);background-position:0 0,0 0;background-size:25px 25px}.chat-messages::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}.chat-messages::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px;box-shadow:0 0 10px var(--accent-primary)}:root[data-theme=light] .chat-messages::-webkit-scrollbar-thumb{box-shadow:none}.message{animation:messageSlide .6s cubic-bezier(.4,0,.2,1);font-size:1rem;line-height:1.8;max-width:70%;padding:.75rem 1.25rem;position:relative;word-wrap:break-word;backdrop-filter:blur(10px);border:1px solid transparent;transition:all .3s ease;word-break:break-word}.message p{line-height:1.8;margin:0 0 .75rem}.message p:last-child{margin-bottom:0}.message h1,.message h2,.message h3,.message h4,.message h5,.message h6{color:var(--accent-primary);font-weight:600;line-height:1.3;margin:1rem 0 .75rem}.message h1:first-child,.message h2:first-child,.message h3:first-child{margin-top:0}.message h1{font-size:1.5rem}.message h2{font-size:1.3rem}.message h3{font-size:1.1rem}.message h4{font-size:1rem}.message ol,.message ul{line-height:1.8;margin:.75rem 0;padding-left:1.5rem}.message li{margin-bottom:.25rem}.message li:last-child{margin-bottom:0}.message>:first-child{margin-top:0}.message>:last-child{margin-bottom:0}.message.assistant{font-size:.95rem;letter-spacing:.02em;max-width:80%}.message hr{background:linear-gradient(90deg,transparent,var(--border-glow),transparent);border:none;height:1px;margin:1.5rem 0}.message blockquote{background:var(--blockquote-bg);border-left:3px solid var(--accent-primary);color:var(--text-secondary);font-style:italic;margin:.75rem 0;padding:.5rem 0 .5rem 1rem}:root[data-theme=dark] .message blockquote{color:hsla(0,0%,100%,.9)}.message table{border-collapse:collapse;display:block;margin:.75rem 0;overflow-x:auto;width:100%}.message table td,.message table th{border:1px solid rgba(0,0,0,.1);padding:.5rem;text-align:left}.message table th{background:rgba(0,102,204,.1);color:var(--accent-primary);font-weight:600}.message table tr:hover{background:var(--table-hover-bg)}.message strong{color:var(--accent-primary);font-weight:600}.message.assistant.long-content{font-size:.95rem;line-height:1.9;max-width:85%}.message:hover{filter:brightness(1.05);transform:translateY(-1px)}.user{align-self:flex-end;background:var(--user-msg-bg);border:1px solid var(--user-msg-border);border-radius:18px 18px 4px 18px;margin-left:auto;margin-right:1rem}.model,.user{box-shadow:var(--message-shadow);color:var(--text-primary);position:relative}.model{align-self:flex-start;background:var(--model-msg-bg);border:1px solid var(--model-msg-border);border-radius:18px 18px 18px 4px;margin-left:1rem}.message pre{background:var(--code-bg);border:1px solid var(--border-glow);border-radius:12px;box-shadow:inset 0 0 20px var(--grid-color);font-family:Courier New,Courier,monospace;font-size:.875rem;line-height:1.6;margin:.75rem 0;overflow-x:auto;padding:1rem;white-space:pre-wrap;word-wrap:break-word}:root[data-theme=light] .message pre{box-shadow:0 1px 3px rgba(0,0,0,.05)}.message pre code{background:none;border:none;color:var(--text-primary);font-size:inherit;font-weight:400;padding:0}.message code{background:var(--code-inline-bg);border:1px solid var(--border-glow);border-radius:4px;font-family:Courier New,Courier,monospace;font-size:.9em;padding:.2rem .4rem;white-space:nowrap}.message a,.message code{color:var(--accent-primary);font-weight:500}.message a{text-decoration:underline;text-decoration-color:var(--accent-primary);transition:all .3s ease}.message a:hover{background:rgba(233,30,99,.1);border-radius:4px;color:var(--accent-secondary);padding:2px 4px;text-decoration-color:var(--accent-secondary)}.message a:visited{color:var(--accent-tertiary);text-decoration-color:var(--accent-tertiary)}.typing-indicator{align-items:center;display:none;gap:1rem;padding:1rem 2rem}.typing-indicator.active{display:flex}.typing-indicator:before{color:var(--accent-primary);content:"AI PROCESSING";font-family:Orbitron,monospace;font-size:.875rem;letter-spacing:.1em;margin-right:1rem;text-transform:none}.typing-indicator span{animation:typing 1.4s ease-in-out infinite;background:var(--accent-primary);border-radius:50%;box-shadow:0 2px 4px rgba(0,102,204,.3);height:10px;width:10px}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}.input-container{backdrop-filter:blur(20px);background:var(--input-bg);border-radius:0 0 20px 20px;border-top:1px solid var(--border-glow);flex-shrink:0;padding:1.25rem;position:relative}.input-container:before{animation:inputGlow 3s ease-in-out infinite;background:linear-gradient(90deg,transparent,rgba(0,102,204,.3),transparent);content:"";height:1px;left:0;position:absolute;right:0;top:0}.input-wrapper{align-items:center;backdrop-filter:blur(15px);background:var(--input-wrapper-bg);border:2px solid var(--border-glow);border-radius:50px;box-shadow:var(--button-shadow);display:flex;gap:1rem;padding:.75rem 1.25rem .75rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.input-wrapper:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 4px rgba(0,102,204,.1),0 4px 15px rgba(0,102,204,.2),0 1px 3px rgba(0,0,0,.1);transform:translateY(-3px)}.input-wrapper.disabled{border-color:rgba(0,102,204,.15);box-shadow:0 1px 3px rgba(0,0,0,.05);opacity:.7}.message-input{background:none;border:none;color:var(--text-primary);flex:1;font-family:Exo\ 2,sans-serif;font-size:16px;font-weight:400;outline:none;transition:color .3s ease,opacity .3s ease}.message-input:disabled{color:#888;cursor:not-allowed;opacity:.7}.message-input::placeholder{color:var(--text-muted);font-style:italic}.message-input:disabled::placeholder{color:hsla(0,0%,53%,.6)}.send-button{align-items:center;backdrop-filter:blur(10px);background:rgba(0,0,0,.8);border:2px solid var(--accent-primary);border-radius:50%;box-shadow:0 0 15px rgba(0,245,255,.3),inset 0 0 15px rgba(0,245,255,.1);cursor:pointer;display:flex;height:42px;justify-content:center;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:42px}.send-button:before{background:var(--accent-primary);border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .3s ease;width:0}.send-button:hover{background:rgba(0,245,255,.1);border-color:var(--accent-primary);box-shadow:0 0 25px rgba(0,245,255,.5),inset 0 0 25px rgba(0,245,255,.2),0 5px 15px rgba(0,0,0,.3);transform:scale(1.1)}.send-button:hover:before{height:100%;opacity:.3;width:100%}.send-button:active{box-shadow:0 0 10px rgba(0,245,255,.3),inset 0 0 10px rgba(0,245,255,.1);transform:scale(.95)}.send-button svg{color:var(--accent-primary);filter:drop-shadow(0 0 5px currentColor);height:20px;position:relative;transition:all .3s ease;width:20px;z-index:1}.send-button:hover svg{color:#fff;filter:drop-shadow(0 0 8px currentColor);transform:scale(1.1)}.new-chat-button{align-items:center;backdrop-filter:blur(10px);background:rgba(0,0,0,.8);border:2px solid var(--accent-primary);border-radius:12px;box-shadow:0 0 20px rgba(0,245,255,.3),inset 0 0 20px rgba(0,245,255,.1);cursor:pointer;display:inline-flex;gap:.4rem;justify-content:center;overflow:hidden;padding:.5rem 1rem;position:relative;transform:skewX(-10deg);transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.new-chat-button:before{background:var(--accent-primary);content:"";height:100%;left:0;position:absolute;top:0;transition:width .3s ease;width:0;z-index:-1}.new-chat-button:hover{background:rgba(0,245,255,.1);border-color:var(--accent-primary);box-shadow:0 0 30px rgba(0,245,255,.5),inset 0 0 30px rgba(0,245,255,.2),0 5px 15px rgba(0,0,0,.3);transform:skewX(-10deg) translateY(-2px)}.new-chat-button:hover:before{width:100%}.new-chat-button:active{box-shadow:0 0 15px rgba(0,245,255,.3),inset 0 0 15px rgba(0,245,255,.1);transform:skewX(-10deg) translateY(0)}.new-chat-button:disabled{background:linear-gradient(135deg,rgba(99,102,241,.3),rgba(233,30,99,.3));box-shadow:0 1px 3px rgba(0,0,0,.1);cursor:not-allowed;opacity:.6}.new-chat-button:disabled:hover{box-shadow:0 1px 3px rgba(0,0,0,.1);transform:none}.new-chat-button svg{color:var(--accent-primary);filter:drop-shadow(0 0 5px currentColor);height:16px;transform:skewX(10deg);transition:all .3s ease;width:16px}.new-chat-button:hover svg{color:#fff;filter:drop-shadow(0 0 8px currentColor);transform:skewX(10deg) scale(1.1)}.new-chat-button-text{color:var(--accent-primary);font-family:Orbitron,monospace;font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;transform:skewX(10deg);transition:color .3s ease}.new-chat-button:hover .new-chat-button-text{color:#fff}.new-chat-container{align-items:center;display:none;justify-content:center;margin-top:.5rem;opacity:0;transition:opacity .3s ease}.new-chat-container.show{animation:glitchIn .5s ease forwards;display:flex;opacity:1}@keyframes glitchIn{0%{filter:blur(5px);opacity:0;transform:translateY(20px) scaleX(.9)}50%{filter:blur(2px);opacity:.5;transform:translateY(10px) scaleX(1.05)}to{filter:blur(0);opacity:1;transform:translateY(0) scaleX(1)}}.error-message{animation:slideDown .3s ease-out;background:linear-gradient(135deg,#ff0080,#f44);border:1px solid rgba(0,0,0,.1);border-radius:12px;box-shadow:0 4px 15px rgba(255,0,128,.3),0 1px 3px rgba(0,0,0,.1);color:#fff;display:none;font-family:Orbitron,monospace;font-size:.875rem;font-weight:500;left:50%;letter-spacing:.05em;padding:1rem 2rem;position:absolute;text-transform:none;top:2rem;transform:translateX(-50%)}.error-message.show{display:block}@keyframes particlesFloat{0%,to{transform:translateY(0) rotate(0deg)}33%{transform:translateY(-20px) rotate(120deg)}66%{transform:translateY(20px) rotate(240deg)}}@keyframes scanLine{0%{left:-100%}to{left:100%}}@keyframes titleGlow{0%{box-shadow:0 0 5px var(--accent-primary)}to{box-shadow:0 0 20px var(--accent-primary),0 0 30px var(--accent-secondary)}}@keyframes messageSlide{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.theme-toggle{align-items:center;backdrop-filter:blur(10px);background:var(--social-link-bg);border:1px solid var(--border-glow);border-radius:50%;box-shadow:var(--button-shadow);color:var(--text-primary);cursor:pointer;display:flex;height:45px;justify-content:center;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:45px}.theme-toggle:hover{background:var(--portfolio-link-hover-bg);border-color:var(--accent-primary);box-shadow:var(--button-shadow);text-shadow:var(--text-glow);transform:scale(1.1) translateY(-2px)}:root[data-theme=light] .theme-toggle:hover{background:hsla(0,0%,98%,.95);border-color:rgba(0,0,0,.12);box-shadow:0 4px 12px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.05),inset 0 1px 0 #fff;text-shadow:none;transform:scale(1.1) translateY(-2px)}.theme-toggle:active{transform:scale(.95)}.theme-toggle svg{filter:drop-shadow(0 0 3px currentColor);height:20px;position:absolute;transition:all .3s cubic-bezier(.4,0,.2,1);width:20px}:root[data-theme=light] .theme-toggle{background:hsla(0,0%,100%,.9);border:1px solid rgba(0,0,0,.08);box-shadow:0 1px 3px rgba(0,0,0,.1),inset 0 1px 0 #fff;position:relative}:root[data-theme=light] .theme-toggle svg{filter:none}.sun-icon{color:#fbbf24;opacity:0;transform:rotate(-180deg) scale(0)}.moon-icon{color:var(--accent-primary);filter:drop-shadow(0 0 8px var(--accent-primary));opacity:1;transform:rotate(0deg) scale(1)}:root[data-theme=light] .sun-icon{color:#1a1a1a;opacity:1;transform:rotate(0deg) scale(1)}:root[data-theme=light] .theme-toggle:hover .sun-icon{color:#000}@keyframes shimmer{0%,to{filter:drop-shadow(0 0 8px rgba(245,158,11,.6))}50%{filter:drop-shadow(0 0 12px rgba(245,158,11,.8)) drop-shadow(0 0 20px rgba(236,72,153,.3))}}:root[data-theme=light] .moon-icon{color:var(--accent-tertiary);opacity:0;transform:rotate(180deg) scale(0)}:root[data-theme=light] .new-chat-button{background:hsla(0,0%,100%,.9);border:2px solid var(--accent-primary);box-shadow:0 0 20px rgba(0,102,204,.2),0 2px 8px rgba(0,0,0,.1)}:root[data-theme=light] .new-chat-button:before{background:var(--accent-primary)}:root[data-theme=light] .new-chat-button:hover{background:rgba(0,102,204,.05);box-shadow:0 0 30px rgba(0,102,204,.3),0 4px 12px rgba(0,0,0,.15)}:root[data-theme=light] .new-chat-button:active{box-shadow:0 0 15px rgba(0,102,204,.2),0 2px 6px rgba(0,0,0,.1)}:root[data-theme=light] .new-chat-button svg{filter:none}:root[data-theme=light] .new-chat-button-text{font-weight:700}:root[data-theme=light] .send-button{background:hsla(0,0%,100%,.9);border:2px solid var(--accent-primary);box-shadow:0 0 15px rgba(0,102,204,.2),0 2px 6px rgba(0,0,0,.1)}:root[data-theme=light] .send-button:before{background:var(--accent-primary)}:root[data-theme=light] .send-button:hover{background:rgba(0,102,204,.05);box-shadow:0 0 25px rgba(0,102,204,.3),0 4px 12px rgba(0,0,0,.15)}:root[data-theme=light] .send-button:active{box-shadow:0 0 10px rgba(0,102,204,.2),0 2px 4px rgba(0,0,0,.1)}:root[data-theme=light] .send-button svg{filter:none}@keyframes pulse{0%{box-shadow:0 0 10px var(--status-dot-shadow1),0 0 20px var(--status-dot-shadow2)}50%{box-shadow:0 0 20px var(--status-dot-shadow1),0 0 30px var(--status-dot-shadow2)}to{box-shadow:0 0 10px var(--status-dot-shadow1),0 0 20px var(--status-dot-shadow2)}}@keyframes typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-10px)}}@keyframes inputGlow{0%,to{opacity:.3}50%{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-30px)}to{opacity:1;transform:translate(-50%)}}@media (max-width:768px){.app-container{border-radius:0;height:100vh;height:100dvh;margin:0;max-width:100%}.top-nav{border-radius:0;padding:.75rem 1rem}.portfolio-link{font-size:.875rem;padding:.5rem 1rem;position:static;transform:none}.portfolio-link:hover{transform:translateY(-2px)}.portfolio-link:active{transform:translateY(0)}.status-text{display:none}.app-header{padding:.75rem 1rem}.header-content{flex-direction:row;gap:.5rem;justify-content:space-between}.app-title{font-size:1.1rem}.developer-name{font-size:1.25rem}.social-links{gap:.5rem}.email-container{display:none}.social-link{height:40px;width:40px}.social-link svg{height:20px;width:20px}.chat-messages{gap:1rem;padding:1rem}.message{font-size:.925rem;max-width:85%;padding:.875rem 1.25rem}.input-container{border-radius:0;padding:.75rem}.input-wrapper{padding:.6rem 1rem .6rem 1.25rem}.send-button{border-width:1.5px;height:38px;width:38px}.send-button svg{height:18px;width:18px}.new-chat-button{padding:.4rem .8rem;transform:skewX(-8deg)}.new-chat-button-text{font-size:.7rem;letter-spacing:.1em}.new-chat-container{margin-top:.5rem}}@media (max-width:480px){.top-nav{padding:.5rem .75rem}.portfolio-link{font-size:.75rem;padding:.4rem .75rem}.app-header{padding:.5rem .75rem}.app-title{font-size:1rem}.social-link{height:35px;width:35px}.social-link svg{height:18px;width:18px}.message{font-size:.875rem;max-width:90%;padding:.75rem 1rem}.message code{font-size:.8em}.input-container{padding:.5rem}.input-wrapper{gap:.75rem;padding:.5rem .75rem .5rem 1rem}.message-input{font-size:16px}.send-button{border-width:1.5px;height:34px;width:34px}.send-button svg{height:16px;width:16px}.new-chat-button{padding:.4rem .75rem;transform:skewX(-5deg)}.new-chat-button svg{height:14px;width:14px}.new-chat-button-text{font-size:.65rem;letter-spacing:.08em}}@supports (-webkit-touch-callout:none){.app-container{height:100vh;height:-webkit-fill-available;padding-bottom:env(safe-area-inset-bottom);padding-top:env(safe-area-inset-top)}.top-nav{padding-top:calc(.75rem + env(safe-area-inset-top))}.input-container{padding-bottom:calc(.75rem + env(safe-area-inset-bottom))}@media (max-width:768px){.top-nav{padding-top:calc(.5rem + env(safe-area-inset-top))}.input-container{padding-bottom:calc(.5rem + env(safe-area-inset-bottom))}}}@media (max-width:768px) and (pointer:coarse){.app-container{bottom:0;height:100%;left:0;position:fixed;right:0;top:0;width:100%}.chat-messages{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}}