@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Space+Grotesk:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg: #0b0c10;--surface: #121418;--surface-2: #1f2228;--surface-3: #2d3238;--border: rgba(255, 255, 255, .08);--border-glow: rgba(0, 229, 255, .3);--text: #ffffff;--text-dim: #a1a1aa;--text-muted: #71717a;--text-faint: #52525b;--primary: #00e5ff;--primary-dim: rgba(0, 229, 255, .1);--secondary: #1e293b;--secondary-dim: rgba(30, 41, 59, .2);--accent: #00e5ff;--amber: #f59e0b;--cyan: #9ca3af;--font-body: "Inter", sans-serif;--font-display: "Space Grotesk", sans-serif;--font-mono: "JetBrains Mono", monospace;--scanline-opacity: .04;--crt-opacity: .015}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;cursor:none!important}html{scroll-behavior:smooth;overflow-x:hidden}body{background-color:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.7;overflow-x:hidden}::selection{background:var(--primary);color:#000}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--secondary);border-radius:0;box-shadow:0 0 6px var(--primary)}.cursor-ring{position:fixed;top:0;left:0;width:24px;height:24px;border-radius:50%;border:1px solid rgba(255,255,255,.15);pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .2s ease,height .2s ease,border-color .2s ease,background .2s ease}.cursor-ring:before,.cursor-ring:after{content:"";position:absolute;background:#fff6}.cursor-ring:before{top:50%;left:-6px;right:-6px;height:1px;transform:translateY(-50%)}.cursor-ring:after{left:50%;top:-6px;bottom:-6px;width:1px;transform:translate(-50%)}.cursor-dot{position:fixed;top:0;left:0;width:4px;height:4px;background:red;border-radius:50%;pointer-events:none;z-index:10000;transform:translate(-50%,-50%);box-shadow:0 0 4px red,0 0 8px #ff000080;transition:width .15s ease,height .15s ease,box-shadow .15s ease}.cursor-ring.hovered{width:32px;height:32px;border-color:var(--primary);background:var(--primary-dim);box-shadow:0 0 10px var(--primary-dim)}.cursor-dot.hovered{width:4px;height:4px;background:#f33;box-shadow:0 0 6px red,0 0 12px #f006}.cursor-ring.clicked{width:10px;height:10px;border-color:red;background:#ff00001a;box-shadow:0 0 10px red,0 0 24px #ff00004d}.target-lock{position:fixed;pointer-events:none;z-index:9990;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center}.target-bracket{position:absolute;width:12px;height:12px;border-color:red;border-style:solid;animation:lock-snap .3s cubic-bezier(.175,.885,.32,1.275) forwards}.target-bracket.tl{top:-20px;left:-20px;border-width:2px 0 0 2px;transform-origin:top left}.target-bracket.tr{top:-20px;right:-20px;border-width:2px 2px 0 0;transform-origin:top right}.target-bracket.bl{bottom:-20px;left:-20px;border-width:0 0 2px 2px;transform-origin:bottom left}.target-bracket.br{bottom:-20px;right:-20px;border-width:0 2px 2px 0;transform-origin:bottom right}@keyframes lock-snap{0%{transform:scale(3);opacity:0}to{transform:scale(1);opacity:1}}.target-text{position:absolute;top:24px;color:red;font-family:var(--font-mono);font-size:.6rem;font-weight:600;letter-spacing:.15em;white-space:nowrap;opacity:0;animation:text-flash .8s steps(2,end) forwards}@keyframes text-flash{0%,20%,40%,60%{opacity:0}10%,30%,50%,70%,to{opacity:1}}.cursor-glow{position:fixed;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,rgba(0,229,255,.06) 0%,transparent 70%);pointer-events:none;transform:translate(-50%,-50%);z-index:0;transition:left .1s ease-out,top .1s ease-out}.gradient-text{background:linear-gradient(135deg,#00e5ff,#fff,#4bc6d9);background-size:200% 200%;animation:gradient-shift 5s ease infinite;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.glitch{position:relative}.glitch:before,.glitch:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#00e5ff,#00b8d4,#4bc6d9 80%,#00e5ff);background-size:300% 300%;animation:gradient-shift 4s ease infinite}.glitch:before{animation:glitch-before 2.5s infinite linear;clip-path:polygon(0 0,100% 0,100% 35%,0 35%)}.glitch:after{animation:glitch-after 2.5s infinite linear;clip-path:polygon(0 65%,100% 65%,100% 100%,0 100%)}@keyframes glitch-before{0%,85%,to{transform:translate(0);opacity:0}87%{transform:translate(-4px,2px);opacity:.8;filter:hue-rotate(90deg)}89%{transform:translate(4px,-2px);opacity:.8}91%{transform:translate(-2px,1px);opacity:.8}}@keyframes glitch-after{0%,85%,to{transform:translate(0);opacity:0}86%{transform:translate(4px,-2px);opacity:.8;filter:hue-rotate(-90deg)}88%{transform:translate(-4px,2px);opacity:.8}90%{transform:translate(2px,-1px);opacity:.8}}.type-cursor:after{content:"_";animation:blink 1s step-end infinite;color:var(--primary)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.prompt:before{content:"> ";color:var(--primary);opacity:.6}.glass{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#0f172a99;border:1px solid var(--border)}.grid-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(0,229,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,229,255,.03) 1px,transparent 1px);background-size:40px 40px}.blob{position:fixed;border-radius:50%;filter:blur(120px);opacity:.12;pointer-events:none;z-index:0}.blob-1{width:600px;height:600px;top:-200px;left:-200px;background:radial-gradient(circle,#00e5ff,#030);animation:blob-float 18s ease-in-out infinite}.blob-2{width:500px;height:500px;bottom:-150px;right:-150px;background:radial-gradient(circle,#00e5ff,#034);animation:blob-float 14s ease-in-out infinite reverse}.blob-3{display:none}@keyframes blob-float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(60px,-60px) scale(1.05)}66%{transform:translate(-40px,40px) scale(.96)}}.noise-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:1}.section{position:relative;z-index:2;padding:7rem 1.5rem}.container{max-width:1100px;margin:0 auto}.section-label{font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;margin-bottom:1rem;font-family:var(--font-body)}.reveal{opacity:0;transform:translateY(40px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transform:translate(-50px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}.reveal-left.visible{opacity:1;transform:translate(0)}.reveal-right{opacity:0;transform:translate(50px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}.reveal-right.visible{opacity:1;transform:translate(0)}.reveal-scale{opacity:0;transform:scale(.9);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)}.reveal-scale.visible{opacity:1;transform:scale(1)}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}.delay-4{transition-delay:.4s}.delay-5{transition-delay:.5s}.delay-6{transition-delay:.6s}.delay-7{transition-delay:.7s}.delay-8{transition-delay:.8s}.btn-primary{display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 2.2rem;border-radius:0;font-weight:700;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;background:var(--surface-3);color:var(--text);border:1px solid var(--border);text-decoration:none;position:relative;overflow:hidden;transition:color .3s ease,background .3s ease,border-color .3s ease,transform .35s cubic-bezier(.34,1.56,.64,1);font-family:var(--font-display)}.btn-primary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.22,1,.36,1);z-index:0}.btn-primary:hover:before{transform:scaleX(1)}.btn-primary:hover{color:var(--bg);border-color:var(--primary);transform:translateY(-2px)}.btn-primary:active{transform:translateY(1px)}.btn-primary span{position:relative;z-index:1}.btn-primary:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1px solid rgba(255,255,255,.1);pointer-events:none;z-index:1;transition:border-color .3s ease}.btn-primary:hover:after{border-color:#0b0c1033}.btn-outline{display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 2.2rem;border-radius:0;font-weight:700;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;background:transparent;color:var(--text-muted);border:1px solid var(--border);text-decoration:none;position:relative;overflow:hidden;transition:color .3s ease,border-color .3s ease,background .3s ease,transform .35s cubic-bezier(.34,1.56,.64,1);font-family:var(--font-display)}.btn-outline:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--surface-2);opacity:0;transition:opacity .3s ease;z-index:0}.btn-outline:hover:before{opacity:1}.btn-outline:hover{color:var(--text);border-color:#ffffff4d;transform:translateY(-2px)}.btn-outline:active{transform:translateY(1px)}.btn-outline>*{position:relative;z-index:1}.btn-neon{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2.5rem;border-radius:0;font-weight:800;font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;background:transparent;color:var(--primary);border:1px solid var(--primary);text-decoration:none;position:relative;overflow:hidden;transition:color .3s ease,box-shadow .3s ease,transform .35s cubic-bezier(.34,1.56,.64,1);font-family:var(--font-mono)}.btn-neon:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.22,1,.36,1);z-index:0}.btn-neon:hover:before{transform:scaleX(1)}.btn-neon:hover{color:#000;box-shadow:0 0 40px #00e5ff8c,0 0 80px #00e5ff40;transform:translateY(-4px)}.btn-neon:active{transform:translateY(1px)}.btn-neon span{position:relative;z-index:1}.tag{display:inline-block;padding:.2rem .75rem;border-radius:0;font-size:.65rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;font-family:var(--font-display);transition:all .25s ease}.tag:hover{transform:scale(1.05) translateY(-1px)}.tag-primary{background:var(--surface-3);color:var(--text);border:1px solid rgba(255,255,255,.2)}.tag-secondary{background:var(--surface-2);color:var(--text-dim);border:1px solid var(--border)}.tag-secondary:hover{border-color:#ffffff4d}.marquee-wrapper{overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:1.2rem 0;background:#00e5ff05}.marquee-track{display:flex;white-space:nowrap;animation:marquee 30s linear infinite}.marquee-track:hover{animation-play-state:paused}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.skill-card{background:var(--surface);border:1px solid var(--border);border-radius:0;padding:1.75rem 1rem;text-align:center;transition:all .35s cubic-bezier(.25,1,.5,1);position:relative;overflow:hidden;will-change:transform}.skill-card:before{content:"";position:absolute;top:0;right:0;border-width:0 12px 12px 0;border-style:solid;border-color:var(--surface-3) var(--bg) transparent transparent;transition:border-color .3s ease}.skill-card:hover{transform:translateY(-8px);border-color:#fff3;background:linear-gradient(135deg,#1e293b,#00e5ff26);box-shadow:0 20px 40px #00e5ff1a,0 0 20px #00e5ff0d}.skill-card:hover:before{border-color:var(--primary) var(--bg) transparent transparent}.skill-icon{width:3.5rem;height:3.5rem;margin:0 auto 1rem;border-radius:0;display:flex;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--border);position:relative;z-index:1;transition:all .3s ease}.skill-card:hover .skill-icon{border-color:#fff3;transform:scale(1.1)}.skill-name{font-size:.78rem;font-weight:600;color:var(--text-dim);position:relative;z-index:1;letter-spacing:.15em;text-transform:uppercase;font-family:var(--font-display)}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:0;overflow:hidden;transition:all .4s cubic-bezier(.25,1,.5,1);position:relative;will-change:transform}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--border);transition:background .4s ease;z-index:2}.project-card:hover{transform:translateY(-8px);border-color:#ffffff26;box-shadow:0 30px 60px #000000e6}.project-card:hover:before{background:var(--primary)}.project-thumbnail{aspect-ratio:16/9;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.project-thumbnail-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0b0c10d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.project-card:hover .project-thumbnail-overlay{opacity:1}.project-thumbnail-icon{width:7rem;height:7rem;display:flex;align-items:center;justify-content:center;transition:transform .5s cubic-bezier(.175,.885,.32,1.275);opacity:.5}.project-card:hover .project-thumbnail-icon{transform:scale(1.15);opacity:.8}.project-body{padding:1.5rem}.project-title{font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--text);margin-bottom:.5rem;letter-spacing:.05em}.project-desc{font-size:.83rem;color:var(--text-muted);line-height:1.7}.social-btn{width:3rem;height:3rem;border-radius:0;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-muted);text-decoration:none;transition:all .3s cubic-bezier(.25,1,.5,1);position:relative}.social-btn:hover{color:var(--text);border-color:#fff3;transform:translateY(-4px);background:var(--surface-2)}.nav-link{font-size:.8rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;position:relative;transition:color .3s ease;font-family:var(--font-display)}.nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:100%;height:1px;background:var(--text);transform:scaleX(0);transform-origin:right;transition:transform .35s ease}.nav-link:hover{color:var(--text)}.nav-link:hover:after{transform:scaleX(1);transform-origin:left}.stat-item{text-align:center}.stat-value{font-family:var(--font-display);font-size:2.5rem;font-weight:800;display:block;letter-spacing:.05em}.stat-label{font-size:.7rem;color:var(--text-muted);letter-spacing:.15em;text-transform:uppercase;font-family:var(--font-body)}.contact-email-btn{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2.5rem;border-radius:0;font-weight:800;font-size:.9rem;letter-spacing:.15em;text-transform:uppercase;background:var(--surface-2);color:var(--text);border:1px solid var(--border);text-decoration:none;position:relative;overflow:hidden;transition:color .3s ease,border-color .3s ease,background .3s ease,transform .35s cubic-bezier(.34,1.56,.64,1);font-family:var(--font-display)}.contact-email-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform .35s ease;z-index:0}.contact-email-btn:hover:before{transform:scaleX(1)}.contact-email-btn>*{position:relative;z-index:1}.contact-email-btn:hover{color:var(--bg);border-color:var(--primary);transform:translateY(-4px)}.avatar-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.avatar-ring{width:100%;max-width:420px;aspect-ratio:1;border-radius:0;background:transparent;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;transition:transform .5s ease,box-shadow .5s ease}.avatar-ring:hover{transform:scale(1.02);box-shadow:0 0 60px #00e5ff33;border-color:var(--primary)}.avatar-inner{width:78%;height:78%;border-radius:0;background:linear-gradient(135deg,#1e293b,#0f172a);display:flex;align-items:center;justify-content:center;border:1px solid rgba(0,229,255,.2)}.float-badge{position:absolute;border-radius:0;background:var(--surface-2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center}.float-badge-1{top:-1rem;right:-1rem;width:4rem;height:4rem;border-color:#00e5ff66;animation:badge-float 4s ease-in-out infinite}.float-badge-2{bottom:-1rem;left:-1rem;width:3.5rem;height:3.5rem;border-color:#0fc6;animation:badge-float 4s ease-in-out infinite .5s reverse}@keyframes badge-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.footer{position:relative;z-index:2;border-top:1px solid var(--border);padding:2rem 1.5rem}.grid-2{display:grid;grid-template-columns:1fr;gap:3rem}@media (min-width: 768px){.grid-2{grid-template-columns:1fr 1fr}}.grid-4{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media (min-width: 768px){.grid-4{grid-template-columns:repeat(4,1fr)}}.hero-section{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:6rem 1.5rem 4rem;position:relative;z-index:2}.hero-eyebrow{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--primary);opacity:.7;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-body)}.hero-headline{font-family:var(--font-display);font-size:clamp(3rem,9vw,7.5rem);font-weight:900;line-height:.95;margin-bottom:1.5rem;letter-spacing:.02em;text-shadow:0 0 40px rgba(0,229,255,.3)}.hero-sub{font-family:var(--font-body);font-size:clamp(.95rem,2vw,1.35rem);font-weight:400;color:var(--text-muted);margin-bottom:1.5rem;letter-spacing:.05em}.hero-tagline{font-size:.95rem;color:var(--text-muted);max-width:560px;margin:0 auto 2.5rem;line-height:1.8;font-family:var(--font-body)}.hero-cta-row{display:flex;gap:1.2rem;justify-content:center;flex-wrap:wrap}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;animation:scroll-bounce 2s ease-in-out infinite;font-family:var(--font-body)}@keyframes scroll-bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(8px)}}.mobile-menu{padding:1rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:1rem;border-top:1px solid var(--border);background:var(--surface)}.items-center{align-items:center}.neon-text,.neon-text-cyan{text-shadow:0 0 20px rgba(255,255,255,.15)}.terminal-box{background:var(--surface);border:1px solid var(--border);padding:1.5rem;position:relative;font-family:var(--font-body)}.terminal-box:before{content:"● ● ●";display:block;font-size:.5rem;letter-spacing:.4em;color:var(--text-faint);margin-bottom:1rem}.ai-trigger-btn{position:fixed;bottom:2rem;right:2rem;z-index:9000;display:flex;align-items:center;gap:.55rem;padding:.75rem 1.3rem .75rem 1rem;background:var(--surface);border:1px solid var(--primary);color:var(--primary);font-family:var(--font-mono);font-size:.7rem;font-weight:600;letter-spacing:.12em;cursor:pointer;transition:all .3s ease;box-shadow:0 0 20px #00e5ff26,0 0 60px #00e5ff0d;overflow:visible}.ai-trigger-btn:hover{background:var(--primary-dim);box-shadow:0 0 30px #00e5ff4d,0 0 80px #00e5ff1a;transform:translateY(-3px)}.ai-trigger-label{font-family:var(--font-mono)}.ai-trigger-pulse{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border:1px solid rgba(0,229,255,.35);animation:ai-pulse-ring 2.5s ease-out infinite;pointer-events:none}@keyframes ai-pulse-ring{0%{opacity:.6;transform:scale(1)}70%{opacity:0;transform:scale(1.2)}to{opacity:0;transform:scale(1.2)}}.ai-panel{position:fixed;bottom:2rem;right:2rem;z-index:8999;width:clamp(320px,90vw,420px);max-height:620px;display:flex;flex-direction:column;background:#121418f5;border:1px solid rgba(0,229,255,.25);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 0 0 1px #00e5ff14,0 24px 48px #0009,0 0 60px #00e5ff14;animation:ai-panel-in .35s cubic-bezier(.22,1,.36,1) forwards}@keyframes ai-panel-in{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-panel--minimized{max-height:52px}.ai-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgba(0,229,255,.12);background:#00e5ff08;flex-shrink:0}.ai-header-left{display:flex;align-items:center;gap:.6rem}.ai-status-dot{width:7px;height:7px;border-radius:50%;background:var(--primary);box-shadow:0 0 8px var(--primary);animation:ai-pulse-dot 2s ease-in-out infinite}@keyframes ai-pulse-dot{0%,to{opacity:1;box-shadow:0 0 8px var(--primary)}50%{opacity:.6;box-shadow:0 0 16px var(--primary)}}.ai-header-title{font-family:var(--font-mono);font-size:.7rem;font-weight:600;color:var(--primary);letter-spacing:.1em}.ai-header-actions{display:flex;gap:.3rem}.ai-icon-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:transparent;border:1px solid var(--border);color:var(--text-dim);cursor:pointer;transition:all .2s ease}.ai-icon-btn:hover{border-color:#00e5ff59;color:var(--primary);background:var(--primary-dim)}.ai-icon-btn--close:hover{border-color:#ff3c3c66;color:#f55;background:#ff3c3c14}.ai-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.85rem;min-height:200px;max-height:360px;scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}.ai-messages::-webkit-scrollbar{width:3px}.ai-messages::-webkit-scrollbar-thumb{background:var(--surface-3)}.ai-msg-row{display:flex;align-items:flex-end;gap:.6rem;animation:ai-msg-in .3s cubic-bezier(.22,1,.36,1) forwards}.ai-msg-row--user{flex-direction:row-reverse}@keyframes ai-msg-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-avatar{width:28px;height:28px;border:1px solid rgba(0,229,255,.3);background:var(--surface-2);color:var(--primary);font-family:var(--font-mono);font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 0 10px #00e5ff1a}.ai-avatar--user{border-color:#ffffff26;color:var(--text-dim);box-shadow:none}.ai-bubble{max-width:82%;padding:.65rem .9rem;position:relative}.ai-bubble--ai{background:var(--surface-2);border:1px solid rgba(0,229,255,.12);border-bottom-left-radius:0;box-shadow:0 0 12px #00e5ff0a}.ai-bubble--user{background:#00e5ff1a;border:1px solid rgba(0,229,255,.25);border-bottom-right-radius:0}.ai-bubble-text{font-family:var(--font-mono);font-size:.8rem;line-height:1.65;color:var(--text);white-space:pre-wrap;word-break:break-word}.ai-bubble--user .ai-bubble-text{color:var(--text-dim);font-family:var(--font-body)}.ai-engine-badge{display:inline-block;margin-top:.4rem;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.08em;color:var(--text-faint);opacity:.7}.ai-bubble--typing{display:flex;align-items:center;gap:5px;padding:.75rem 1rem;background:var(--surface-2);border:1px solid rgba(0,229,255,.12);min-width:52px}.typing-dot{width:6px;height:6px;border-radius:50%;background:var(--primary);opacity:.4;animation:typing-bounce 1.1s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.18s}.typing-dot:nth-child(3){animation-delay:.36s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.3}30%{transform:translateY(-6px);opacity:1}}.ai-suggestions{padding:0 .85rem .75rem;display:flex;flex-direction:column;gap:.4rem;flex-shrink:0}.ai-suggestion-chip{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;background:transparent;border:1px solid var(--border);color:var(--text-dim);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.03em;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.ai-suggestion-chip:hover{border-color:#00e5ff59;color:var(--primary);background:var(--primary-dim);transform:translate(3px)}.ai-input-row{display:flex;align-items:flex-end;gap:.5rem;padding:.75rem .85rem .5rem;border-top:1px solid rgba(0,229,255,.1);flex-shrink:0}.ai-input{flex:1;resize:none;background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-family:var(--font-mono);font-size:.78rem;line-height:1.6;padding:.55rem .8rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease;max-height:100px;overflow-y:auto}.ai-input:focus{border-color:#00e5ff59;box-shadow:0 0 12px #00e5ff12}.ai-input::placeholder{color:var(--text-faint)}.ai-input:disabled{opacity:.5}.ai-send-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--primary);border:none;color:#000;cursor:pointer;transition:all .2s ease;flex-shrink:0}.ai-send-btn:hover:not(:disabled){background:#33ecff;box-shadow:0 0 16px #00e5ff66;transform:scale(1.05)}.ai-send-btn:disabled{background:var(--surface-3);color:var(--text-faint);cursor:not-allowed}.ai-footer-hint{text-align:center;font-family:var(--font-mono);font-size:.58rem;color:var(--text-faint);padding:0 .85rem .65rem;letter-spacing:.05em;flex-shrink:0}@media (max-width: 480px){.ai-panel,.ai-trigger-btn{right:1rem;bottom:1rem}.ai-panel{width:calc(100vw - 2rem);max-height:70vh}}
