/* MUHAMMAD SHOAIB — dark, motion-led portfolio */
:root{--bg:#080b13;--bg-soft:#0d1220;--panel:#101827;--panel-2:#141e30;--text:#eef3f8;--muted:#a0adbf;--muted-2:#65738a;--line:rgba(199,218,242,.13);--mint:#8cf3d3;--cyan:#65d8e7;--violet:#a99aff;--blue:#6d99ff;--font:'Manrope',system-ui,sans-serif;--mono:'DM Mono',monospace;--max:1180px;--ease:cubic-bezier(.2,.75,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.65;overflow-x:hidden}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit}.page-container,.header-inner,.footer-inner{width:min(var(--max),calc(100% - 64px));margin-inline:auto}.ambient{position:fixed;z-index:-3;pointer-events:none;border-radius:50%;filter:blur(85px);opacity:.17;animation:ambientDrift 17s ease-in-out infinite alternate}.ambient-one{width:480px;height:480px;background:#235d75;top:5%;left:-260px}.ambient-two{width:440px;height:440px;background:#55408f;top:35%;right:-250px;animation-delay:-6s}.ambient-three{width:380px;height:380px;background:#1d806b;bottom:-230px;left:32%;animation-delay:-10s}.noise-layer{position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.94' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E")}
#siteHeader{position:sticky;z-index:50;top:0;background:rgba(8,11,19,.76);backdrop-filter:blur(22px);border-bottom:1px solid rgba(200,220,245,.07)}.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px;min-width:235px}.brand-symbol{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;color:var(--mint);border:1px solid rgba(140,243,211,.4);font-size:21px;background:rgba(140,243,211,.07);box-shadow:0 0 28px rgba(90,220,194,.08)}.brand-copy{font-size:11px;font-weight:800;letter-spacing:.14em;line-height:1.5}.brand-copy small{display:block;color:var(--muted-2);font:9px var(--mono);letter-spacing:.12em;margin-top:3px}.main-nav{display:flex;gap:35px;align-items:center}.main-nav a{font-size:12px;color:#9aa9bc;transition:color .25s;position:relative}.main-nav a:after{content:'';position:absolute;left:0;right:100%;height:1px;bottom:-8px;background:var(--mint);transition:right .3s}.main-nav a:hover,.main-nav a.active{color:var(--text)}.main-nav a:hover:after,.main-nav a.active:after{right:0}.header-tools{display:flex;align-items:center;gap:17px}.theme-button,.mobile-menu{width:37px;height:37px;display:grid;place-items:center;border:1px solid var(--line);background:rgba(255,255,255,.025);border-radius:50%;font-size:18px;cursor:pointer;transition:.25s}.theme-button:hover{border-color:var(--mint);color:var(--mint);transform:rotate(35deg)}.header-contact{font-size:11px;letter-spacing:.03em;padding:11px 17px;border:1px solid rgba(140,243,211,.38);border-radius:30px;color:var(--mint);transition:.25s}.header-contact span{margin-left:10px}.header-contact:hover{background:var(--mint);color:#07110f}.mobile-menu{display:none;border-radius:10px}.mobile-menu i{height:1px;width:15px;background:currentColor;display:block;transition:.2s}.hero{min-height:670px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;position:relative;padding-top:64px;padding-bottom:88px}.hero-main{position:relative;z-index:2;padding-bottom:15px}.status-line{display:flex;align-items:center;gap:10px;color:#b3c2d4;font:10px var(--mono);letter-spacing:.13em}.status-line i{height:3px;width:3px;border-radius:50%;background:#607286;margin-inline:4px}.status-pulse{height:7px;width:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 13px var(--mint);animation:pulse 1.9s infinite}.hero-pretitle{font:10px var(--mono);letter-spacing:.2em;color:var(--muted-2);margin:54px 0 8px}.hero h1,.page-hero h1{font-size:clamp(66px,8.3vw,112px);letter-spacing:-.085em;line-height:.94;font-weight:700;margin:0;max-width:740px}.gradient-word{background:linear-gradient(105deg,#8cf3d3 5%,#79d6e9 48%,#a99aff 92%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-role{font-size:19px;letter-spacing:-.03em;color:#d4dce8;margin:24px 0 12px}.hero-role span{color:var(--mint)}.hero-description{max-width:475px;color:var(--muted);font-size:14px;line-height:1.9;margin:0}.hero-buttons{display:flex;align-items:center;gap:13px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:23px;min-height:48px;padding:0 20px;border-radius:5px;font-size:11px;font-weight:700;letter-spacing:.015em;border:1px solid transparent;cursor:pointer;transition:transform .25s var(--ease),background .25s,border-color .25s,box-shadow .25s}.button span{font-size:15px}.button:hover{transform:translateY(-3px)}.button-primary{color:#06110f;background:linear-gradient(110deg,var(--mint),#a5e5ea);box-shadow:0 8px 30px rgba(105,229,204,.13)}.button-primary:hover{box-shadow:0 12px 38px rgba(105,229,204,.25)}.button-quiet{border-color:var(--line);color:#d1d9e5;background:rgba(255,255,255,.02)}.button-quiet:hover{border-color:rgba(140,243,211,.5)}.hero-footnote{display:flex;gap:28px;margin-top:76px;color:var(--muted-2);font:9px var(--mono);letter-spacing:.12em}.hero-art{height:510px;position:relative;display:grid;place-items:center;isolation:isolate}.art-grid{position:absolute;inset:7% 0;background-image:linear-gradient(rgba(135,165,199,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(135,165,199,.07) 1px,transparent 1px);background-size:38px 38px;mask-image:radial-gradient(ellipse,black 15%,transparent 70%);transform:perspective(450px) rotateX(58deg) scale(1.2);opacity:.55}.art-halo{position:absolute;border-radius:50%;filter:blur(2px)}.halo-a{width:350px;height:350px;background:radial-gradient(circle,rgba(78,224,200,.14),rgba(71,117,211,.08) 46%,transparent 72%);animation:haloPulse 5s ease-in-out infinite}.halo-b{width:250px;height:250px;border:1px solid rgba(147,234,220,.16);box-shadow:0 0 50px rgba(100,224,205,.08),inset 0 0 45px rgba(100,224,205,.06);animation:spin 32s linear infinite}.art-ring{position:absolute;border:1px solid rgba(143,199,222,.29);border-radius:50%;transform:rotate(-28deg);animation:spin 22s linear infinite}.art-ring b{position:absolute;top:50%;left:-4px;width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 17px var(--mint)}.ring-a{width:370px;height:175px}.ring-b{width:420px;height:230px;transform:rotate(58deg);border-color:rgba(162,147,255,.22);animation-direction:reverse;animation-duration:29s}.ring-b b{left:auto;right:14%;background:var(--violet);box-shadow:0 0 17px var(--violet)}.ring-c{width:280px;height:350px;transform:rotate(68deg);border-color:rgba(116,210,224,.2);animation-duration:34s}.ring-c b{top:13%;left:50%;background:var(--cyan)}.art-core{width:150px;height:150px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;border:1px solid rgba(177,236,227,.34);background:radial-gradient(circle at 30% 25%,rgba(160,244,224,.2),rgba(29,53,76,.88) 55%,rgba(11,17,30,.95));box-shadow:0 0 70px rgba(94,216,199,.2),inset 0 0 40px rgba(120,204,222,.15);animation:coreFloat 6s ease-in-out infinite}.core-glass{position:absolute;inset:-50%;background:linear-gradient(125deg,transparent 38%,rgba(210,255,244,.17) 48%,transparent 57%);transform:rotate(22deg);animation:glassSweep 8s ease-in-out infinite}.core-monogram{font-size:43px;font-weight:800;letter-spacing:-.09em;z-index:1;background:linear-gradient(135deg,#e2fff6,var(--mint));color:transparent;-webkit-background-clip:text}.art-core small{font:8px var(--mono);letter-spacing:.12em;color:#b0d9d2;z-index:1}.art-star{position:absolute;color:var(--mint);font-size:22px;text-shadow:0 0 20px currentColor;animation:starFloat 5s ease-in-out infinite}.star-a{top:14%;right:19%}.star-b{bottom:17%;left:19%;color:#b7aaff;animation-delay:-2s}.star-c{top:53%;right:8%;font-size:13px;animation-delay:-3s}.art-label{position:absolute;font:9px var(--mono);letter-spacing:.14em;color:#9aaabd}.art-label span{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--mint);margin-right:8px}.label-a{top:13%;left:2%}.label-b{bottom:14%;right:0;color:#8795aa}.art-coordinate{position:absolute;bottom:31%;left:2%;font:8px/1.7 var(--mono);color:#63758a;letter-spacing:.1em}.ticker-band{overflow:hidden;border-block:1px solid var(--line);background:rgba(255,255,255,.018);padding:17px 0}.ticker-track{display:flex;align-items:center;justify-content:space-around;gap:45px;min-width:1100px;animation:tickerMove 38s linear infinite;white-space:nowrap;font:10px var(--mono);letter-spacing:.16em;color:#aab8c9}.ticker-track i{font-style:normal;color:var(--mint);font-size:15px}.section-block{padding-top:100px;padding-bottom:30px;opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.section-block.is-visible,.featured-project.is-visible,.home-contact.is-visible{opacity:1;transform:none}.section-index{display:flex;align-items:center;gap:17px;color:#7b8ba0;font:9px var(--mono);letter-spacing:.14em}.index-line{height:1px;flex:1;background:var(--line)}.section-index span:last-child{color:#59677d}.intro-layout{display:grid;grid-template-columns:1fr .7fr;gap:10%;padding-top:43px}.intro-layout h2,.section-title-row h2,.capability-heading h2,.story-grid h2,.skills-layout h2,.contact-bottom-row h2{font-size:clamp(36px,5vw,61px);line-height:1.12;letter-spacing:-.065em;margin:0;font-weight:650}.muted-gradient{color:#75849a}.intro-copy{padding-top:4px;max-width:480px}.lead-copy{font-size:18px;line-height:1.7;color:#e4edf5;margin:0 0 17px}.intro-copy p:not(.lead-copy),.story-copy p:not(.lead-copy){color:var(--muted);font-size:13px;line-height:1.95}.underlined-link{display:inline-flex;align-items:center;gap:22px;border-bottom:1px solid rgba(140,243,211,.45);padding-bottom:8px;color:var(--mint);font-size:11px;font-weight:700;margin-top:12px;transition:gap .25s}.underlined-link:hover{gap:31px}.section-title-row{display:flex;justify-content:space-between;align-items:end;padding:40px 0 30px}.section-title-row .underlined-link{margin-bottom:6px}.featured-project{display:grid;grid-template-columns:1.08fr .92fr;min-height:400px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(24,39,56,.78),rgba(12,19,31,.92));border-radius:10px;overflow:hidden;opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s,border-color .3s}.featured-project:hover{border-color:rgba(140,243,211,.36)}.project-artwork{position:relative;min-height:380px;padding:32px;background:radial-gradient(circle at 50% 45%,rgba(62,132,128,.27),transparent 57%),linear-gradient(145deg,#152b36,#101d2a 54%,#20203c);overflow:hidden;display:flex;align-items:center;justify-content:center}.project-artwork:before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(177,219,221,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(177,219,221,.06) 1px,transparent 1px);background-size:29px 29px;mask-image:linear-gradient(black,transparent 88%)}.project-browser{position:absolute;top:24px;left:24px;right:24px;height:37px;border-radius:5px 5px 0 0;background:rgba(7,14,22,.83);border:1px solid rgba(207,232,238,.13);display:flex;align-items:center;gap:12px;padding:0 12px;color:#8da6b7;font:9px var(--mono);z-index:2}.browser-controls{display:flex;gap:4px}.browser-controls i{height:6px;width:6px;border-radius:50%;background:#d77e7e}.browser-controls i:nth-child(2){background:#d6b96d}.browser-controls i:nth-child(3){background:#77c99f}.project-browser span{margin-left:7px;flex:1}.project-browser b{font-size:14px;color:var(--mint)}.project-preview-art{position:relative;width:88%;height:260px;margin-top:25px;background:linear-gradient(145deg,#dce9df,#a6c7b0);color:#16261e;box-shadow:0 24px 55px rgba(0,0,0,.3);transform:perspective(900px) rotateY(-7deg) rotateX(3deg);overflow:hidden;z-index:1}.preview-topline{height:39px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid rgba(20,46,30,.14);position:relative;z-index:2}.preview-topline b{font-size:17px;letter-spacing:-.08em}.preview-topline b span{color:#4e8f6b}.preview-topline small,.preview-topline em{font:7px var(--mono);letter-spacing:.07em}.preview-topline em{font-style:normal}.preview-main{position:relative;padding:30px 26px;z-index:2}.preview-main small{font:7px var(--mono);letter-spacing:.12em;color:#547061}.preview-main strong{display:block;font-size:38px;line-height:.98;letter-spacing:-.07em;margin-top:10px}.preview-main strong i{font-style:normal;color:#528f6a}.preview-main>span{display:inline-block;margin-top:17px;padding:7px 10px;background:#172c22;color:#e2f1e6;font:7px var(--mono);letter-spacing:.06em}.preview-shapes{position:absolute;right:-12px;bottom:-45px;width:190px;height:190px}.preview-shapes div{position:absolute;border:1px solid rgba(27,80,48,.3);border-radius:50%;width:180px;height:180px;right:0;bottom:0}.preview-shapes div:nth-child(2){width:130px;height:130px;right:25px;bottom:25px}.preview-shapes div:nth-child(3){width:80px;height:80px;right:50px;bottom:50px;background:rgba(255,255,255,.18)}.project-floating-tag{position:absolute;bottom:19px;left:25px;font:8px var(--mono);letter-spacing:.12em;color:#b4d9ce}.project-floating-tag i{font-style:normal;color:var(--mint);margin-left:10px}.project-details{display:flex;flex-direction:column;justify-content:space-between;padding:39px 39px 33px}.project-meta{display:flex;gap:22px;font:8px var(--mono);letter-spacing:.12em;color:#74869b}.project-meta span:first-child{color:var(--mint)}.project-details h3{font-size:32px;letter-spacing:-.06em;margin:20px 0 8px}.project-details p{font-size:12px;color:var(--muted);line-height:1.9;max-width:330px;margin:0}.tag-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:22px}.tag-list span{font:8px var(--mono);letter-spacing:.07em;color:#9aabbc;border:1px solid var(--line);padding:6px 8px;border-radius:3px}.project-cta-stack{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:30px}.project-cta-stack .button{min-height:42px}.project-cta-stack .underlined-link{margin:0;font-size:10px}.capability-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;padding-top:45px}.capability-heading p{color:var(--muted);font-size:13px;max-width:300px;line-height:1.9;margin-top:22px}.capability-list{border-top:1px solid var(--line)}.capability-item{display:grid;grid-template-columns:44px 1fr 22px;gap:16px;align-items:start;padding:23px 0;border-bottom:1px solid var(--line)}.capability-item>span{font:9px var(--mono);color:var(--mint);padding-top:5px}.capability-item h3{font-size:17px;margin:0 0 4px}.capability-item p{font-size:11px;color:var(--muted);margin:0;line-height:1.8}.capability-item>b{font-size:18px;font-weight:400;color:#76879a;transition:.25s}.capability-item:hover>b{color:var(--mint);transform:translate(3px,-3px)}.home-contact{margin-top:110px;margin-bottom:100px;min-height:350px;border-radius:10px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 70% 40%,rgba(109,165,182,.2),transparent 50%),linear-gradient(105deg,#172b34,#171a32 70%,#25203f);border:1px solid rgba(177,223,222,.16);display:flex;align-items:center;opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.contact-inner{position:relative;z-index:2;padding:55px 65px}.contact-inner>p,.contact-overline{font:9px var(--mono);letter-spacing:.17em;color:#a6c8c7}.contact-inner h2{font-size:clamp(44px,6vw,68px);line-height:.99;letter-spacing:-.075em;margin:16px 0 25px}.button-light{background:#e7fff5;color:#091610;min-width:150px}.contact-orbit{position:absolute;width:440px;height:440px;border-radius:50%;right:7%;top:-47px;border:1px solid rgba(157,232,219,.22);animation:spin 36s linear infinite}.contact-orbit:before,.contact-orbit:after{content:'';position:absolute;inset:35px;border-radius:50%;border:1px dashed rgba(157,232,219,.22)}.contact-orbit:after{inset:95px;border-style:solid}.contact-orbit span{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--mint);box-shadow:0 0 22px var(--mint);top:18%;right:23%}.contact-orbit span:nth-child(2){top:auto;right:auto;bottom:19%;left:16%;background:var(--violet);box-shadow:0 0 22px var(--violet)}.contact-orbit span:nth-child(3){top:51%;right:-4px;width:6px;height:6px}.footer-inner{min-height:130px;border-top:1px solid var(--line);display:flex;align-items:center;gap:26px}.footer-brand{font-size:29px;font-weight:800;letter-spacing:-.1em;color:#e3edf4}.footer-brand span{color:var(--mint)}.footer-mid{display:flex;flex-direction:column;gap:3px}.footer-mid b{font-size:11px}.footer-mid small,.footer-copy{font:8px var(--mono);letter-spacing:.1em;color:var(--muted-2)}.footer-links{display:flex;gap:20px;margin-left:auto}.footer-links a{font-size:10px;color:#94a3b6}.footer-links a:hover{color:var(--mint)}.footer-copy{margin-left:10px}
/* Inner pages */
.inner-page{padding-bottom:80px}.page-hero{position:relative;padding:100px 0 72px;min-height:400px;overflow:hidden}.page-hero .hero-pretitle{margin-top:50px}.page-hero h1{font-size:clamp(64px,9vw,105px)}.page-lede{font-size:15px;color:var(--muted);max-width:550px;line-height:1.9;margin:22px 0 0}.page-hero-art{position:absolute;right:7%;top:48px;width:360px;height:300px;display:grid;place-items:center}.page-hero-art>span{font-size:55px;font-weight:800;letter-spacing:-.12em;color:#c4f6e7;text-shadow:0 0 40px rgba(140,243,211,.35);z-index:2}.page-hero-art small{position:absolute;bottom:10px;font:8px var(--mono);letter-spacing:.15em;color:#8396a8}.mini-orbit{position:absolute;border:1px solid rgba(140,243,211,.2);border-radius:50%;width:330px;height:130px;animation:spin 23s linear infinite}.orbit-y{width:300px;height:190px;transform:rotate(60deg);border-color:rgba(169,154,255,.24);animation-direction:reverse}.orbit-z{width:180px;height:260px;transform:rotate(-65deg);border-color:rgba(101,216,231,.2);animation-duration:29s}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:42px}.story-grid h2{font-size:clamp(42px,5.5vw,64px)}.story-copy{max-width:530px}.story-copy .lead-copy{font-size:18px}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding-top:38px}.principle-grid article{position:relative;min-height:270px;padding:25px 24px;background:linear-gradient(145deg,rgba(24,38,57,.72),rgba(13,19,31,.7));border:1px solid var(--line);border-radius:7px;transition:transform .3s,border-color .3s}.principle-grid article:hover{transform:translateY(-7px);border-color:rgba(140,243,211,.3)}.principle-grid article>span{font:9px var(--mono);color:var(--mint)}.principle-icon{font-size:26px;color:#a7f0df;margin-top:28px}.principle-grid h3{font-size:21px;margin:16px 0 7px}.principle-grid p{font-size:12px;line-height:1.9;color:var(--muted);margin:0}.skills-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:40px}.skill-cloud{display:flex;align-content:start;gap:10px;flex-wrap:wrap}.skill-cloud span{border:1px solid var(--line);border-radius:40px;padding:12px 17px;color:#c2d0df;background:rgba(255,255,255,.025);font-size:11px;transition:.25s}.skill-cloud span:hover{border-color:var(--mint);color:var(--mint);transform:translateY(-3px)}.inner-cta{margin-top:100px;padding:55px;border:1px solid var(--line);border-radius:8px;background:radial-gradient(circle at 85% 30%,rgba(135,111,230,.12),transparent 42%),rgba(255,255,255,.02)}.inner-cta>p,.project-note p{font:9px var(--mono);letter-spacing:.16em;color:var(--mint)}.inner-cta h2{font-size:clamp(40px,5vw,58px);line-height:1.05;letter-spacing:-.07em;margin:15px 0 25px}.projects-hero{min-height:370px}.projects-single{padding-top:10px}.project-page-card{grid-template-columns:1.05fr .95fr;margin-top:32px}.project-note{display:flex;align-items:center;gap:28px;padding:70px 4px}.note-symbol{font-size:45px;color:var(--mint);text-shadow:0 0 30px rgba(140,243,211,.3)}.project-note h2{font-size:34px;letter-spacing:-.06em;line-height:1.1;margin:9px 0}.project-note span{font-size:12px;color:var(--muted)}.contact-hero{min-height:365px}.contact-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;padding-top:10px}.contact-main-card{min-height:370px;position:relative;overflow:hidden;padding:37px;border-radius:8px;border:1px solid rgba(143,223,209,.17);background:radial-gradient(circle at 82% 24%,rgba(106,172,177,.19),transparent 43%),linear-gradient(135deg,#172a36,#15182d)}.contact-main-card h2{font-size:clamp(36px,4.5vw,52px);line-height:1.08;letter-spacing:-.07em;margin:20px 0 12px}.contact-main-card>p:not(.contact-overline){font-size:12px;color:#a6b6c6;max-width:350px}.contact-main-card .button{margin-top:18px}.contact-decoration{position:absolute;width:220px;height:220px;border:1px solid rgba(140,243,211,.16);border-radius:50%;right:-55px;bottom:-105px}.contact-decoration div{position:absolute;inset:28px;border:1px dashed rgba(140,243,211,.18);border-radius:50%}.contact-decoration div:nth-child(2){inset:60px}.contact-decoration div:nth-child(3){inset:90px;background:rgba(140,243,211,.08)}.contact-methods{display:flex;flex-direction:column;justify-content:space-between;gap:10px}.contact-method{display:flex;align-items:center;gap:16px;min-height:110px;padding:18px 20px;border:1px solid var(--line);border-radius:7px;background:rgba(255,255,255,.025);transition:.3s}.contact-method:hover{border-color:rgba(140,243,211,.45);background:rgba(140,243,211,.045);transform:translateX(5px)}.method-icon{width:40px;height:40px;border-radius:50%;border:1px solid rgba(140,243,211,.22);display:grid;place-items:center;color:var(--mint);font-size:17px}.contact-method>div{display:flex;flex-direction:column;gap:3px}.contact-method small{font:8px var(--mono);letter-spacing:.14em;color:#76889b}.contact-method b{font-size:12px;font-weight:600}.method-arrow{margin-left:auto;color:var(--mint)}.contact-bottom-row{display:grid;grid-template-columns:1fr .8fr;gap:10%;padding-top:40px}.contact-bottom-row>div{max-width:410px}.contact-bottom-row p{font-size:13px;color:var(--muted);line-height:1.9}.inbox-page{padding-bottom:100px}.inbox-heading{min-height:310px;padding-bottom:45px}.inbox-heading h1{margin-top:35px}.inbox-login{max-width:450px;margin:0 auto 100px;padding:35px;border:1px solid var(--line);border-radius:10px;background:rgba(17,27,43,.82);text-align:center}.login-lock{font-size:33px;color:var(--mint)}.inbox-login h2{font-size:31px;margin:9px 0}.inbox-login>p:not(.contact-overline){font-size:12px;color:var(--muted)}.inbox-login form{display:flex;flex-direction:column;gap:10px;text-align:left;margin-top:24px}.inbox-login label{font:9px var(--mono);color:#9aaabd;letter-spacing:.12em}.inbox-login input{height:46px;background:#080e18;border:1px solid var(--line);border-radius:5px;color:var(--text);padding:0 13px;outline:none}.inbox-login input:focus{border-color:var(--mint)}.inbox-login .button{margin-top:7px}.inbox-login small{font-size:9px;color:var(--muted-2);text-align:center;margin-top:8px}.inbox-app{margin-bottom:80px}.inbox-app[hidden],.inbox-login[hidden]{display:none}.inbox-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.inbox-toolbar h2{font-size:24px;margin:3px 0}.status-switch{display:flex;gap:6px;padding:5px;background:#0d1522;border:1px solid var(--line);border-radius:8px}.status-switch button{border:0;background:transparent;color:#9aabc0;padding:9px 12px;border-radius:5px;font-size:10px;cursor:pointer}.status-switch button.active{background:rgba(140,243,211,.14);color:var(--mint)}.inbox-layout{display:grid;grid-template-columns:310px 1fr;min-height:500px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:rgba(14,22,35,.8)}.inbox-sidebar{border-right:1px solid var(--line)}.inbox-list-heading{display:flex;justify-content:space-between;padding:18px;font:9px var(--mono);letter-spacing:.12em;color:#93a5b9;border-bottom:1px solid var(--line)}.inbox-list-heading span{color:var(--mint)}.inbox-conversation-list{padding:8px}.inbox-person{display:flex;align-items:center;gap:11px;text-align:left;width:100%;padding:12px 9px;background:transparent;border:0;border-radius:6px;cursor:pointer}.inbox-person:hover,.inbox-person.selected{background:rgba(140,243,211,.08)}.inbox-person-avatar{width:34px;height:34px;flex:none;display:grid;place-items:center;background:rgba(140,243,211,.12);color:var(--mint);border-radius:50%;font-size:12px}.inbox-person>span:nth-child(2){display:flex;flex-direction:column;min-width:0;flex:1}.inbox-person b{font-size:11px}.inbox-person small{font-size:9px;color:var(--muted-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.inbox-person time{font:8px var(--mono);color:var(--muted-2)}.inbox-empty{padding:24px 16px;text-align:center;color:var(--muted-2);font-size:11px;line-height:1.8}.inbox-thread{min-width:0;display:flex;flex-direction:column}.inbox-thread-empty{margin:auto;text-align:center;padding:30px}.inbox-thread-empty>div{font-size:38px;color:var(--mint)}.inbox-thread-empty h3{font-size:16px}.inbox-thread-empty p{font-size:11px;color:var(--muted)}.thread-top{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}.thread-avatar{height:36px;width:36px;border-radius:50%;display:grid;place-items:center;background:#163c3a;color:var(--mint);font-size:11px;font-weight:800}.thread-top>div:nth-child(2){display:flex;flex-direction:column}.thread-top b{font-size:11px}.thread-top small{font:8px var(--mono);color:var(--muted-2)}.thread-top>span{margin-left:auto;font:8px var(--mono);color:var(--mint)}.inbox-messages{height:380px;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:12px}.inbox-message{max-width:75%;align-self:flex-start}.inbox-message>div{padding:11px 14px;background:#182438;border:1px solid var(--line);border-radius:3px 12px 12px 12px;font-size:11px;line-height:1.7}.inbox-message small{display:block;font:8px var(--mono);color:var(--muted-2);margin-top:5px}.inbox-from-owner{align-self:flex-end}.inbox-from-owner>div{background:#17473f;border-color:rgba(140,243,211,.2);border-radius:12px 3px 12px 12px}.inbox-from-ai>div{background:#25213d;border-color:rgba(169,154,255,.2)}.inbox-reply{display:flex;padding:13px;border-top:1px solid var(--line);gap:8px}.inbox-reply input{flex:1;min-width:0;border:1px solid var(--line);background:#0a111d;color:var(--text);border-radius:5px;padding:0 12px;outline:none;font-size:11px}.inbox-reply button{height:42px;width:44px;border:0;border-radius:5px;background:var(--mint);color:#07120f;font-size:18px;cursor:pointer}.inbox-warning{font-size:10px;color:#d3b98a;line-height:1.8;margin-top:15px}
/* Chat UI */
.chat-launcher{position:fixed;z-index:90;right:30px;bottom:28px;height:56px;padding:0 20px 0 17px;border:1px solid rgba(165,245,224,.4);border-radius:50px;background:linear-gradient(115deg,#b7f5e4,#7edbcf);color:#071510;display:flex;align-items:center;gap:10px;box-shadow:0 12px 45px rgba(75,220,190,.22);font-size:11px;font-weight:800;cursor:pointer;transition:transform .25s,box-shadow .25s}.chat-launcher:hover{transform:translateY(-4px);box-shadow:0 16px 50px rgba(75,220,190,.33)}.chat-launcher svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.launcher-pulse{height:7px;width:7px;background:#0d956e;border-radius:50%;box-shadow:0 0 0 5px rgba(12,149,110,.13)}.launcher-hidden{opacity:0;pointer-events:none;transform:translateY(14px)}.chat-panel{position:fixed;z-index:91;right:30px;bottom:96px;width:min(390px,calc(100vw - 30px));height:570px;max-height:calc(100vh - 125px);display:flex;flex-direction:column;border-radius:13px;border:1px solid rgba(152,225,214,.24);background:#0c1421;box-shadow:0 30px 100px rgba(0,0,0,.55),0 0 45px rgba(69,177,160,.08);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(15px) scale(.98);transform-origin:bottom right;transition:.28s var(--ease)}.chat-panel.chat-open{opacity:1;visibility:visible;transform:none}.chat-header{height:76px;flex:none;display:flex;align-items:center;gap:11px;padding:0 18px;background:linear-gradient(110deg,#14332f,#17243b);border-bottom:1px solid rgba(255,255,255,.08)}.chat-agent-avatar{position:relative;height:39px;width:39px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#8cf3d3,#6bafc7);color:#071a17;font-size:12px;font-weight:800}.chat-agent-avatar .chat-avatar-presence{position:absolute;right:-1px;bottom:0;width:10px;height:10px;border-radius:50%;background:#4fe09e;border:2px solid #17332f}.chat-agent-info{display:flex;flex-direction:column;gap:3px}.chat-agent-info b{font-size:11px}.chat-agent-info small{font-size:9px;color:#a3c4c5}.chat-close{margin-left:auto;border:0;background:rgba(255,255,255,.08);height:30px;width:30px;border-radius:50%;font-size:20px;line-height:1;cursor:pointer;color:#d7e7e7}.chat-intro{padding:20px 20px 5px}.chat-welcome-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(140,243,211,.1);color:var(--mint);font-size:19px;margin-bottom:10px}.chat-intro b{font-size:16px;letter-spacing:-.03em}.chat-intro p{font-size:10px;line-height:1.75;color:#9baabd;margin:5px 0}.chat-name-step{padding:13px 20px 20px}.chat-name-step label{font:8px var(--mono);letter-spacing:.13em;color:#8294a9}.chat-name-step form{display:flex;gap:7px;margin-top:8px}.chat-name-step input{flex:1;min-width:0;height:43px;padding:0 11px;border:1px solid rgba(185,211,231,.15);border-radius:5px;background:#111e2e;color:#edf6f5;outline:none;font-size:10px}.chat-name-step input:focus{border-color:var(--mint)}.chat-name-step form button{border:0;border-radius:5px;background:var(--mint);color:#071410;padding:0 13px;font-size:9px;font-weight:800;white-space:nowrap;cursor:pointer}.chat-name-step form button span{margin-left:7px}.chat-name-step>small{display:block;color:#687b8d;font-size:8px;margin-top:9px}.chat-conversation{display:flex;flex:1;min-height:0;flex-direction:column}.chat-messages{flex:1;overflow:auto;padding:15px 15px 8px;display:flex;flex-direction:column;gap:11px}.chat-message{max-width:85%;align-self:flex-start}.chat-message>div{padding:10px 12px;border-radius:3px 11px 11px 11px;background:#17263a;border:1px solid rgba(191,220,241,.08);font-size:10px;line-height:1.7;color:#e2edf3}.chat-message small{display:block;margin-top:4px;font:7px var(--mono);color:#71849a}.chat-message.from-visitor{align-self:flex-end}.chat-message.from-visitor>div{background:#17473f;border-color:rgba(140,243,211,.17);border-radius:11px 3px 11px 11px}.chat-message.from-assistant>div{background:#20223a;border-color:rgba(169,154,255,.13)}.chat-typing{font-size:9px;color:var(--mint);padding:0 3px;animation:typingPulse 1s infinite alternate}.chat-compose{display:flex;gap:7px;padding:12px 13px 8px;border-top:1px solid rgba(255,255,255,.07)}.chat-compose input{height:43px;flex:1;min-width:0;padding:0 12px;border-radius:5px;border:1px solid rgba(185,211,231,.13);background:#111e2e;color:#fff;outline:none;font-size:10px}.chat-compose input:focus{border-color:rgba(140,243,211,.6)}.chat-compose button{width:44px;border:0;border-radius:5px;background:var(--mint);color:#081510;font-size:19px;cursor:pointer}.chat-footnote{text-align:center;padding:0 0 10px;font:7px var(--mono);color:#687b8d}.contact-dock{position:fixed;z-index:85;left:25px;bottom:28px;display:flex;flex-direction:column;gap:9px}.dock-link{width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:rgba(16,27,42,.9);border:1px solid rgba(185,215,237,.16);color:#c8d9e8;box-shadow:0 8px 28px rgba(0,0,0,.24);transition:transform .25s,border-color .25s,color .25s,background .25s}.dock-link svg{height:17px;width:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.dock-facebook svg{fill:currentColor;stroke:none}.dock-link:hover{transform:translateX(5px);border-color:var(--mint);color:var(--mint);background:#142a2b}.dock-whatsapp:hover{color:#63e6a2}.dock-facebook:hover{color:#8cb5ff}.dock-email:hover{color:#f5c78a}
/* Project preview */
.preview-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;visibility:hidden;opacity:0;transition:.25s}.preview-modal.open{visibility:visible;opacity:1}.preview-backdrop{position:absolute;inset:0;background:rgba(2,5,10,.82);backdrop-filter:blur(9px)}.preview-dialog{position:relative;width:min(1180px,calc(100% - 48px));height:min(790px,calc(100% - 60px));border:1px solid rgba(151,207,203,.22);border-radius:9px;background:#0d1623;overflow:hidden;display:flex;flex-direction:column;transform:translateY(15px);transition:transform .25s}.open .preview-dialog{transform:none}.preview-dialog>header{height:55px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border-bottom:1px solid var(--line)}.preview-dialog>header>div:first-child{display:flex;align-items:center;gap:9px}.preview-dialog>header b{font-size:11px}.preview-dialog>header small{font:8px var(--mono);color:var(--muted-2);margin-left:5px}.preview-live-dot{height:7px;width:7px;background:var(--mint);border-radius:50%;box-shadow:0 0 10px var(--mint)}.preview-controls{display:flex;gap:8px;align-items:center}.preview-controls a,.preview-controls button{font-size:9px;color:#b6c6d6;border:1px solid var(--line);padding:7px 10px;border-radius:4px;background:transparent;cursor:pointer}.preview-controls button{font-size:16px;padding:3px 10px}.preview-controls a:hover,.preview-controls button:hover{color:var(--mint);border-color:var(--mint)}.preview-dialog iframe{border:0;flex:1;width:100%;background:#fff}.preview-fallback{flex:none;padding:8px 14px;background:#111d2a;font-size:9px;color:#8fa2b4}.preview-fallback a{color:var(--mint);margin-left:5px}
/* Cursor */
#cursorTrail{position:fixed;inset:0;z-index:200;pointer-events:none}#cursorDot{position:fixed;z-index:201;left:0;top:0;width:10px;height:10px;border-radius:50%;background:#c4fff0;box-shadow:0 0 8px 2px rgba(140,243,211,.8),0 0 24px 8px rgba(140,243,211,.25);pointer-events:none;opacity:0;transition:width .18s,height .18s,background .18s,box-shadow .18s;will-change:transform}.custom-cursor-enabled #cursorDot{opacity:1}.custom-cursor-enabled, .custom-cursor-enabled a,.custom-cursor-enabled button,.custom-cursor-enabled input{cursor:none!important}#cursorDot.cursor-hover{width:16px;height:16px;background:#a99aff;box-shadow:0 0 9px 3px rgba(169,154,255,.7),0 0 30px 10px rgba(169,154,255,.2)}#cursorDot.cursor-pressed{width:7px;height:7px;background:#fff}
/* Light theme */
body.light-theme{--bg:#f1f5f4;--bg-soft:#e8efed;--panel:#fff;--panel-2:#eaf1f0;--text:#10201f;--muted:#586b70;--muted-2:#77898d;--line:rgba(27,61,62,.16);background:var(--bg);color:var(--text)}.light-theme #siteHeader{background:rgba(241,245,244,.83);border-color:rgba(27,61,62,.1)}.light-theme .brand-copy,.light-theme .main-nav a{color:#44565a}.light-theme .hero-role,.light-theme .lead-copy{color:#223a3b}.light-theme .hero-description,.light-theme .intro-copy p:not(.lead-copy),.light-theme .story-copy p:not(.lead-copy){color:#52666a}.light-theme .hero-footnote,.light-theme .section-index,.light-theme .section-index span:last-child{color:#75888c}.light-theme .ticker-band{background:rgba(255,255,255,.5)}.light-theme .ticker-track{color:#42585b}.light-theme .featured-project,.light-theme .principle-grid article{background:rgba(255,255,255,.75)}.light-theme .project-details p,.light-theme .capability-heading p,.light-theme .capability-item p{color:#5c7074}.light-theme .project-details h3,.light-theme .capability-item h3,.light-theme .principle-grid h3{color:#172c2d}.light-theme .tag-list span{color:#5a7172}.light-theme .button-quiet{color:#294042}.light-theme .footer-mid b{color:#1b3233}.light-theme .footer-links a{color:#5a7073}.light-theme .page-lede,.light-theme .page-hero .hero-pretitle,.light-theme .muted-gradient{color:#819396}.light-theme .story-copy,.light-theme .principle-grid p,.light-theme .skill-cloud span,.light-theme .contact-method b,.light-theme .contact-bottom-row p{color:#41595b}.light-theme .principle-grid article{background:rgba(255,255,255,.8)}.light-theme .skill-cloud span{background:rgba(255,255,255,.6)}.light-theme .contact-method{background:rgba(255,255,255,.7)}.light-theme .inbox-login,.light-theme .inbox-layout{background:rgba(255,255,255,.88)}.light-theme .inbox-message>div{color:#203b3b;background:#e8f0ef}.light-theme .inbox-from-owner>div{background:#d4f1e8}.light-theme .inbox-reply input,.light-theme .inbox-login input{background:#fff;color:#10201f}.light-theme .status-switch{background:#e7efed}.light-theme .status-switch button{color:#607477}.light-theme .chat-panel{background:#f5f9f8;border-color:rgba(30,85,78,.2)}.light-theme .chat-intro b{color:#172e2c}.light-theme .chat-intro p,.light-theme .chat-name-step label{color:#5d7273}.light-theme .chat-name-step input,.light-theme .chat-compose input{background:#fff;color:#163231;border-color:rgba(30,85,78,.2)}.light-theme .chat-message>div{color:#203b3b;background:#e8f0ef}.light-theme .chat-message.from-visitor>div{background:#d4f1e8}.light-theme .chat-message.from-assistant>div{background:#eeebfa}.light-theme .chat-message small{color:#788d8c}.light-theme .chat-footnote{color:#718583}.light-theme .dock-link{background:rgba(255,255,255,.92);color:#355351;border-color:rgba(30,85,78,.2)}.light-theme .preview-dialog{background:#f8fbfa}.light-theme .preview-dialog>header b{color:#173230}.light-theme .preview-fallback{background:#e8f0ef;color:#536b69}
@keyframes pulse{50%{box-shadow:0 0 0 6px rgba(140,243,211,0),0 0 15px var(--mint)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes haloPulse{50%{transform:scale(1.12);opacity:.65}}@keyframes coreFloat{50%{transform:translateY(-9px) rotate(2deg)}}@keyframes glassSweep{0%,100%{transform:translateX(-25%) rotate(22deg)}50%{transform:translateX(28%) rotate(22deg)}}@keyframes starFloat{50%{transform:translateY(-12px) rotate(35deg);opacity:.6}}@keyframes tickerMove{to{transform:translateX(-34%)}}@keyframes ambientDrift{to{transform:translate(50px,35px) scale(1.12)}}@keyframes typingPulse{to{opacity:.35}}
@media(max-width:980px){.page-container,.header-inner,.footer-inner{width:min(100% - 44px,var(--max))}.hero{grid-template-columns:1fr .85fr;min-height:620px}.hero h1{font-size:clamp(61px,8vw,88px)}.hero-art{transform:scale(.85);margin-inline:-35px}.main-nav{gap:20px}.brand{min-width:auto}.featured-project{grid-template-columns:1fr}.project-artwork{min-height:350px}.project-details{min-height:290px}.footer-copy{display:none}.page-hero-art{right:-3%;transform:scale(.8)}.contact-layout{grid-template-columns:1fr}.contact-methods{display:grid;grid-template-columns:repeat(3,1fr)}.contact-method{padding:14px;gap:9px}.contact-method b{font-size:10px}.inbox-layout{grid-template-columns:260px 1fr}}
@media(max-width:700px){.page-container,.header-inner,.footer-inner{width:calc(100% - 36px)}.header-inner{height:70px}.brand-symbol{width:32px;height:32px}.brand-copy{font-size:10px}.brand-copy small{font-size:8px}.header-contact{display:none}.mobile-menu{display:grid}.main-nav{position:absolute;top:70px;left:0;right:0;padding:0 22px;max-height:0;overflow:hidden;display:flex;flex-direction:column;align-items:stretch;gap:0;background:rgba(8,11,19,.97);border-bottom:1px solid transparent;transition:max-height .3s,padding .3s}.main-nav.nav-open{max-height:280px;padding:10px 22px 18px;border-color:var(--line)}.main-nav a{padding:13px 3px;border-bottom:1px solid rgba(255,255,255,.06)}.theme-button{width:34px;height:34px}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:72px;padding-bottom:55px;min-height:auto}.hero-main{padding:0}.hero-pretitle{margin-top:42px}.hero h1{font-size:clamp(62px,16vw,91px)}.hero-role{font-size:17px}.hero-description{font-size:13px}.hero-buttons{gap:9px;flex-wrap:wrap}.hero-buttons .button{padding:0 15px;gap:12px}.hero-footnote{margin-top:38px;font-size:8px;gap:16px}.hero-art{height:340px;transform:scale(.83);margin:-5px -25px -12px}.ticker-band{padding:13px 0}.section-block{padding-top:72px}.section-index{font-size:8px;gap:9px}.section-index span:last-child{font-size:7px}.intro-layout,.story-grid,.skills-layout,.contact-bottom-row{grid-template-columns:1fr;gap:22px;padding-top:30px}.intro-layout h2,.section-title-row h2,.capability-heading h2,.story-grid h2,.skills-layout h2,.contact-bottom-row h2{font-size:clamp(37px,10vw,51px)}.lead-copy{font-size:16px}.section-title-row{align-items:start;gap:15px;flex-direction:column;padding:31px 0 24px}.featured-project{border-radius:7px}.project-artwork{min-height:300px;padding:16px}.project-browser{left:13px;right:13px;top:13px}.project-preview-art{width:94%;height:235px}.preview-main{padding:26px 19px}.preview-main strong{font-size:33px}.project-details{padding:25px 21px;min-height:280px}.project-details h3{font-size:28px}.project-cta-stack{gap:15px}.capability-grid{grid-template-columns:1fr;gap:25px;padding-top:31px}.capability-item{grid-template-columns:30px 1fr 20px}.home-contact{min-height:310px;margin:75px 0}.contact-inner{padding:37px 27px}.contact-orbit{width:300px;height:300px;right:-135px;top:4px}.footer-inner{padding:27px 0;min-height:0;display:grid;grid-template-columns:40px 1fr;gap:15px}.footer-links{grid-column:1/-1;margin:0;flex-wrap:wrap}.footer-copy{display:block;grid-column:1/-1;margin:0}.page-hero{padding:75px 0 52px;min-height:340px}.page-hero h1{font-size:clamp(60px,15vw,88px)}.page-hero .hero-pretitle{margin-top:40px}.page-lede{font-size:13px;max-width:90%}.page-hero-art{opacity:.45;right:-125px;top:50px;transform:scale(.65)}.projects-hero{min-height:325px}.project-page-card .project-artwork{min-height:300px}.principle-grid{grid-template-columns:1fr;gap:10px;padding-top:28px}.principle-grid article{min-height:220px}.principle-icon{margin-top:20px}.inner-cta{padding:31px 25px;margin-top:65px}.inner-cta h2{font-size:43px}.project-note{padding:52px 0;gap:17px}.project-note h2{font-size:29px}.contact-layout{padding-top:0}.contact-main-card{padding:26px;min-height:340px}.contact-main-card h2{font-size:39px}.contact-methods{grid-template-columns:1fr;gap:8px}.contact-method{min-height:82px;padding:13px 16px}.contact-bottom-row{gap:13px}.contact-bottom-row>div{padding-bottom:0}.inbox-heading{min-height:270px}.inbox-toolbar{align-items:flex-start;gap:15px;flex-direction:column}.inbox-layout{grid-template-columns:1fr}.inbox-sidebar{border-right:0;border-bottom:1px solid var(--line)}.inbox-conversation-list{display:flex;overflow:auto}.inbox-person{min-width:210px}.inbox-messages{height:330px}.status-switch{width:100%;justify-content:space-between}.status-switch button{flex:1}.inbox-warning{font-size:9px}.chat-launcher{right:15px;bottom:15px;height:51px;padding:0 16px}.chat-panel{right:10px;bottom:75px;width:calc(100vw - 20px);height:min(550px,calc(100vh - 95px))}.contact-dock{left:13px;bottom:18px;flex-direction:row;gap:6px}.dock-link{height:38px;width:38px}.contact-dock:after{content:'';position:absolute;z-index:-1;inset:-5px -6px;border-radius:30px;background:rgba(8,11,19,.55);backdrop-filter:blur(8px)}.preview-dialog{width:calc(100% - 16px);height:calc(100% - 24px)}.preview-dialog>header{padding:0 9px}.preview-controls{gap:4px}.preview-controls a{font-size:8px;padding:6px}.preview-controls button{padding:2px 8px}.preview-fallback{font-size:8px}.preview-fallback a{display:block;margin:3px 0 0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}#cursorTrail,#cursorDot{display:none!important}body.custom-cursor-enabled,body.custom-cursor-enabled a,body.custom-cursor-enabled button{cursor:auto!important}}


/* CHAT UPGRADE — roomy messenger layout, not a tiny website card */
[hidden]{display:none!important}
.chat-panel{right:26px;bottom:98px;width:min(490px,calc(100vw - 44px));height:min(710px,calc(100dvh - 130px));max-height:calc(100dvh - 110px);border:1px solid rgba(22,48,45,.14);border-radius:22px;background:#f3f6f7;color:#1c2b2d;box-shadow:0 28px 90px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.06);transform:translateY(18px) scale(.985);display:flex;flex-direction:column}
.chat-panel.chat-open{transform:none}
.chat-header{height:82px;min-height:82px;padding:0 22px;gap:13px;background:linear-gradient(115deg,#113b34,#1a5148);border-bottom:1px solid rgba(255,255,255,.1)}
.chat-agent-avatar{height:45px;width:45px;min-width:45px;border-radius:15px;background:linear-gradient(145deg,#a9f1d8,#77d9c9);color:#153b34;font-size:14px;box-shadow:0 5px 18px rgba(0,0,0,.16)}
.chat-agent-avatar .chat-avatar-presence{height:11px;width:11px;border:2px solid #17473e;background:#61e39b}
.chat-agent-info{gap:2px;min-width:0}.chat-agent-info b{font-size:14px;color:#fff;letter-spacing:-.025em}.chat-agent-info small{font-size:10px;color:#c4ddd7}.chat-agent-info em{font-style:normal;font-size:10px;color:#a2e6ca}
.chat-close{width:36px;height:36px;font-size:23px;background:rgba(255,255,255,.12);color:#fff;transition:background .2s,transform .2s}.chat-close:hover{background:rgba(255,255,255,.22);transform:rotate(90deg)}
.chat-welcome{display:flex;gap:13px;padding:20px 22px 17px;background:#fff;border-bottom:1px solid #e8eeee}.chat-welcome-mark{height:39px;width:39px;min-width:39px;display:grid;place-items:center;border-radius:13px;background:#e5f6ef;color:#168163;font-size:22px}.chat-welcome b{display:block;font-size:14px;color:#203330;letter-spacing:-.025em}.chat-welcome p{font-size:12px;line-height:1.65;color:#6d7d7a;margin:4px 0 0;max-width:350px}
.chat-name-step{padding:23px 22px 25px;background:#fff}.chat-name-heading{display:flex;align-items:center;gap:12px;margin-bottom:15px}.chat-name-heading>span{height:34px;width:34px;display:grid;place-items:center;border-radius:11px;background:#e9f6f1;color:#168163;font:11px var(--mono)}.chat-name-heading b{display:block;color:#203330;font-size:14px}.chat-name-heading small{display:block;color:#84918f;font-size:11px;margin-top:2px}.chat-name-step form{display:flex;gap:9px;margin:0}.chat-name-step input{height:48px;padding:0 15px;border:1px solid #dce6e3;border-radius:12px;background:#f8fbfa;color:#203330;font-size:13px;outline:none;flex:1;min-width:0}.chat-name-step input:focus{border-color:#58b99d;box-shadow:0 0 0 3px rgba(61,173,139,.1)}.chat-name-step form button{height:48px;border:0;border-radius:12px;padding:0 17px;background:#168365;color:#fff;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer;transition:transform .2s,background .2s}.chat-name-step form button:hover{transform:translateY(-2px);background:#116e55}.chat-name-step form button span{font-size:16px;margin-left:8px}.chat-privacy-note{display:block;color:#92a09d;font-size:10px;margin:12px 0 0}
.chat-conversation{flex:1;min-height:0;display:flex;flex-direction:column;background:#edf2f1}.chat-thread-strip{height:36px;min-height:36px;display:flex;align-items:center;gap:8px;padding:0 18px;border-bottom:1px solid #e2e9e7;background:#f9fbfa;color:#6b7b76;font-size:10px}.thread-live-dot{height:7px;width:7px;border-radius:50%;background:#35bb83;box-shadow:0 0 0 3px rgba(53,187,131,.12)}.chat-thread-strip small{margin-left:auto;color:#9aa6a3;font:9px var(--mono)}
.chat-messages{flex:1;min-height:0;overflow-y:auto;padding:21px 18px 16px;display:flex;flex-direction:column;gap:13px;background:linear-gradient(180deg,#edf2f1,#f4f7f6)}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-thumb{background:#c9d7d2;border-radius:20px}
.chat-message{max-width:84%;align-self:flex-start;display:flex;flex-direction:column;gap:5px}.chat-message>small{font:9px var(--mono);color:#91a09a;padding:0 5px}.chat-message-text{padding:12px 15px;border-radius:5px 17px 17px 17px;background:#fff;border:1px solid #e4ece8;box-shadow:0 3px 10px rgba(30,57,47,.035);font-size:13px;line-height:1.65;color:#344642;overflow-wrap:anywhere}.chat-message.from-visitor{align-self:flex-end}.chat-message.from-visitor .chat-message-text{background:#d9f5e7;border-color:#c8eedb;border-radius:17px 5px 17px 17px;color:#244b3c}.chat-message.from-developer .chat-message-text{background:#e4edff;border-color:#d5e1fb}.chat-message.from-assistant .chat-message-text{background:#fff}
.chat-image-link{display:block;max-width:280px;border-radius:14px;overflow:hidden;border:1px solid #dbe6e1;background:#fff}.chat-shared-image{display:block;width:100%;max-height:260px;object-fit:contain;background:#fff}.chat-audio-message{display:flex;align-items:center;gap:11px;min-width:245px;padding:11px 13px;border-radius:15px;background:#fff;border:1px solid #e1eae5}.audio-message-icon{height:34px;width:34px;display:grid;place-items:center;border-radius:50%;background:#e0f5eb;color:#168365;font-size:19px}.chat-audio-message b{display:block;font-size:11px;color:#3b5149;margin-bottom:5px}.chat-audio-message audio{display:block;width:225px;height:34px;max-width:100%}.chat-sticker-message{display:flex;align-items:center;gap:10px;padding:4px 5px}.chat-sticker-message>span{font-size:54px;line-height:1.1;filter:drop-shadow(0 4px 6px rgba(20,50,40,.12));animation:stickerPop .3s cubic-bezier(.2,.8,.2,1)}.chat-sticker-message small{font-size:11px;color:#678078;font-weight:700}.message-is-sticker>small{margin-top:1px}.chat-typing{align-self:flex-start;font-size:11px;color:#408b71;padding:8px 13px;background:#fff;border-radius:14px;animation:typingPulse 1s infinite alternate}
.chat-composer-wrap{position:relative;flex:none;background:#fff;border-top:1px solid #e2eae6;padding:9px 13px max(10px,env(safe-area-inset-bottom))}.chat-tools-row{display:flex;align-items:center;gap:5px;min-height:34px;margin-bottom:7px}.chat-tool-button{height:31px;padding:0 9px;border:1px solid transparent;border-radius:9px;background:transparent;color:#63766f;display:inline-flex;align-items:center;gap:5px;font-size:15px;cursor:pointer;transition:background .2s,color .2s}.chat-tool-button span{font-size:10px;font-weight:700}.chat-tool-button:hover{background:#edf7f2;color:#147a5d}.voice-tool{margin-left:auto}.voice-tool.is-recording{background:#ffe9e9;color:#c83e49;animation:recordPulse 1s infinite}.voice-status{font:10px var(--mono);color:#cf4c55;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-compose{display:flex;align-items:flex-end;gap:9px;padding:7px 7px 7px 14px;border:1px solid #dce7e2;border-radius:16px;background:#f8fbf9;box-shadow:inset 0 1px 2px rgba(21,57,41,.025)}.chat-compose:focus-within{border-color:#8ccdb4;box-shadow:0 0 0 3px rgba(50,166,122,.09)}.chat-compose textarea{resize:none;flex:1;min-width:0;max-height:112px;min-height:38px;padding:9px 0 6px;border:0;background:transparent;color:#263b34;outline:none;font:13px/1.5 var(--font)}.chat-compose textarea::placeholder{color:#9ba9a3}.chat-compose button{height:39px;width:42px;min-width:42px;border:0;border-radius:12px;background:#168365;color:#fff;font-size:18px;cursor:pointer;transition:transform .2s,background .2s}.chat-compose button:hover{transform:translateY(-2px);background:#116f56}.chat-footnote{text-align:center;padding-top:7px;color:#a0aca7;font-size:9px}
.chat-picker{position:absolute;left:13px;right:13px;bottom:115px;z-index:4;padding:12px;background:#fff;border:1px solid #dfe9e4;border-radius:15px;box-shadow:0 12px 35px rgba(21,49,38,.16);display:grid;grid-template-columns:repeat(10,1fr);gap:5px}.emoji-choice{height:35px;border:0;border-radius:9px;background:transparent;font-size:21px;cursor:pointer}.emoji-choice:hover,.sticker-choice:hover{background:#eaf6ef;transform:translateY(-2px)}.sticker-picker{grid-template-columns:repeat(4,1fr);bottom:115px}.sticker-choice{min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:11px;background:#f6f9f7;cursor:pointer;transition:.2s}.sticker-choice span{font-size:27px}.sticker-choice small{font-size:9px;color:#728079}
@keyframes stickerPop{from{transform:scale(.55) rotate(-9deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes recordPulse{50%{box-shadow:0 0 0 5px rgba(220,68,76,.12)}}
body.chat-mobile-open{overflow:hidden}
@media(max-width:700px){
  .chat-launcher{right:15px;bottom:15px;height:53px;padding:0 17px;border-radius:30px}
  .chat-panel{inset:0;right:0;bottom:0;width:100vw;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;border:0;border-radius:0;box-shadow:none;transform:translateY(12px);padding-bottom:env(safe-area-inset-bottom)}
  .chat-panel.chat-open{transform:none}
  .chat-header{height:74px;min-height:74px;padding:0 16px;padding-top:env(safe-area-inset-top)}
  .chat-welcome{padding:17px 16px 15px}.chat-welcome p{font-size:12px;max-width:none}
  .chat-name-step{padding:19px 16px 22px}.chat-name-step form{flex-direction:column}.chat-name-step form button{width:100%}
  .chat-thread-strip{padding:0 14px}.chat-messages{padding:17px 12px 12px;gap:12px}.chat-message{max-width:89%}.chat-message-text{font-size:14px;padding:12px 14px}.chat-message>small{font-size:9px}
  .chat-composer-wrap{padding:8px 9px max(10px,env(safe-area-inset-bottom))}.chat-tools-row{gap:2px}.chat-tool-button{padding:0 7px}.chat-tool-button span{font-size:9px}.chat-compose textarea{font-size:16px;min-height:40px}.chat-compose button{height:40px;width:43px}
  .chat-picker{left:9px;right:9px;bottom:112px;grid-template-columns:repeat(8,1fr)}.sticker-picker{grid-template-columns:repeat(4,1fr)}
  .chat-close{width:38px;height:38px}
}
@media(prefers-reduced-motion:reduce){.chat-sticker-message>span{animation:none}.voice-tool.is-recording{animation:none}}

.inbox-shared-image{display:block;max-width:min(340px,100%);max-height:260px;object-fit:contain;border-radius:12px;background:#fff;margin-bottom:5px}.inbox-audio-wrap{display:grid;gap:8px;min-width:min(280px,100%);font-size:12px}.inbox-audio-wrap audio{width:min(290px,100%);height:36px}.inbox-sticker{font-size:45px;display:grid;gap:2px}.inbox-sticker small{font-size:11px;color:var(--muted)}


/* V5 CHAT — clean messenger UI, theme-aware, single adaptive mic/send control */
.chat-launcher{z-index:140}
.chat-panel{z-index:150;right:26px;bottom:96px;width:min(590px,calc(100vw - 44px));height:min(780px,calc(100dvh - 118px));max-height:calc(100dvh - 118px);display:flex;flex-direction:column;overflow:hidden;border-radius:22px;border:1px solid rgba(145,165,190,.22);background:#111a29;color:#edf3fb;box-shadow:0 28px 90px rgba(0,0,0,.48);transform:translateY(18px) scale(.985);transform-origin:bottom right}
.chat-panel.chat-open{transform:none}
.chat-header{height:78px;min-height:78px;display:flex;align-items:center;gap:13px;padding:0 20px;background:#121d2d;border-bottom:1px solid rgba(180,198,222,.12)}
.chat-agent-avatar{position:relative;flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#e3f0ff,#91baff);color:#18345c;font-size:13px;font-weight:900;box-shadow:0 4px 16px rgba(83,140,232,.2)}
.chat-agent-avatar .chat-avatar-presence{position:absolute;right:0;bottom:0;width:11px;height:11px;border:2px solid #121d2d;border-radius:50%;background:#20c77a}
.chat-agent-info{display:grid;gap:1px;min-width:0}.chat-agent-info b{font-size:14px;letter-spacing:-.02em;color:#f3f7fd}.chat-agent-info small{font-size:10px;color:#9eacc0}.chat-agent-info em{font-size:10px;font-style:normal;color:#77d8ae}
.chat-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.chat-header-email,.chat-close{width:37px;height:37px;display:grid;place-items:center;border:1px solid rgba(184,201,224,.13);border-radius:50%;background:rgba(255,255,255,.045);color:#cbd7e8;transition:.2s}.chat-header-email svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}.chat-header-email:hover,.chat-close:hover{background:rgba(100,150,235,.18);color:#fff;border-color:rgba(125,169,244,.4)}.chat-close{font-size:22px;line-height:1}
.chat-welcome{display:flex;gap:12px;align-items:flex-start;padding:16px 20px;background:#172337;border-bottom:1px solid rgba(185,202,225,.1)}.chat-welcome-mark{flex:none;width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:rgba(85,143,235,.16);color:#8db7ff;font-size:21px}.chat-welcome b{display:block;font-size:13px;font-weight:800;color:#f0f5fc}.chat-welcome p{margin:3px 0 0;max-width:430px;color:#9eacc0;font-size:11px;line-height:1.55}
.chat-name-step{padding:19px 20px 22px;background:#121d2d}.chat-name-heading{display:flex;align-items:center;gap:10px;margin-bottom:13px}.chat-name-heading>span{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:rgba(78,139,237,.16);color:#91baff;font:11px var(--mono)}.chat-name-heading b{display:block;color:#f2f6fd;font-size:13px}.chat-name-heading small{display:block;margin-top:2px;color:#98a8bd;font-size:10px}.chat-name-step form{display:flex;gap:9px;margin:0}.chat-name-step input{flex:1;min-width:0;height:45px;padding:0 14px;border:1px solid rgba(174,195,224,.17);border-radius:12px;background:#0c1523;color:#eff5ff;outline:none;font-size:13px}.chat-name-step input:focus{border-color:#6097f0;box-shadow:0 0 0 3px rgba(72,130,224,.15)}.chat-name-step form button{height:45px;padding:0 17px;border:0;border-radius:12px;background:#3478e5;color:#fff;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}.chat-name-step form button:hover{background:#2867d0}.chat-name-step form button span{padding-left:8px}.chat-privacy-note{display:block;margin-top:10px;color:#7f91aa;font-size:9px}
.chat-conversation{display:flex;flex:1;min-height:0;flex-direction:column;background:#0b1422}.chat-thread-strip{height:34px;min-height:34px;display:flex;align-items:center;gap:8px;padding:0 20px;border-bottom:1px solid rgba(174,195,224,.1);background:#101b2b;color:#9dadc2;font-size:10px}.thread-live-dot{width:7px;height:7px;border-radius:50%;background:#23c87b;box-shadow:0 0 0 3px rgba(35,200,123,.12)}.chat-thread-strip small{margin-left:auto;color:#7789a2;font:9px var(--mono)}
.chat-messages{display:flex;flex:1;min-height:0;flex-direction:column;gap:13px;overflow-y:auto;padding:21px 22px 17px;background:linear-gradient(180deg,#0d1726 0%,#111c2d 100%);scroll-behavior:smooth}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-thumb{background:#34445b;border-radius:20px}
.chat-message{display:flex;max-width:min(82%,450px);flex-direction:column;align-self:flex-start;gap:4px}.chat-message.from-visitor,.chat-message.from-developer{align-self:flex-end}.message-bubble{overflow:hidden;border:1px solid rgba(190,208,232,.09);border-radius:17px 17px 17px 5px;background:#202c3e;color:#e8eef8;box-shadow:0 3px 10px rgba(0,0,0,.08)}.chat-message.from-visitor .message-bubble{border-color:rgba(90,145,240,.2);border-radius:17px 17px 5px 17px;background:#286de0;color:#fff}.chat-message.from-developer .message-bubble{border-radius:17px 17px 5px 17px;background:#4d54b6;color:#fff}.chat-message-text{padding:11px 14px;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.message-meta{display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:0 4px}.chat-message>small,.message-meta small{color:#8292a9;font:9px var(--mono)}.message-delete{width:22px;height:20px;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:#8394a9;font-size:15px;opacity:.5;cursor:pointer;transition:.18s}.message-delete:hover{background:rgba(226,75,88,.16);color:#ff8e99;opacity:1}.chat-message:hover .message-delete{opacity:1}
.chat-image-link{display:block;max-width:300px;overflow:hidden;background:#0b1422}.chat-shared-image{display:block;width:100%;max-height:280px;object-fit:contain;background:#0b1422}.chat-video-card{width:min(320px,72vw);padding:8px}.chat-video-card video{display:block;width:100%;max-height:240px;border-radius:11px;background:#05080e}.chat-video-card small{display:block;margin:6px 3px 0;color:#c4d0e2;font-size:9px}.chat-audio-message{display:flex;align-items:center;gap:10px;min-width:min(280px,72vw);padding:10px 12px;border-radius:13px;background:rgba(7,13,22,.18)}.audio-message-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:rgba(82,145,240,.2);color:#a8c8ff;font-size:18px}.chat-audio-message b{display:block;margin-bottom:4px;color:inherit;font-size:10px}.chat-audio-message audio{display:block;width:min(225px,52vw);height:34px;max-width:100%}.chat-message.from-visitor .chat-audio-message audio{filter:invert(.85) hue-rotate(180deg)}.chat-sticker-message{display:grid;justify-items:center;gap:3px;padding:7px 15px}.chat-sticker-message>span{font-size:58px;line-height:1.15;filter:drop-shadow(0 5px 8px rgba(0,0,0,.18));animation:stickerPop .32s cubic-bezier(.2,.8,.2,1)}.chat-sticker-message small{color:#c0cee2;font-size:10px;font-weight:700}.chat-gift-message{position:relative;display:grid;justify-items:center;gap:4px;min-width:160px;padding:15px 20px;background:radial-gradient(circle at 50% 10%,rgba(255,196,91,.2),transparent 55%),linear-gradient(135deg,#24365a,#3a3471);text-align:center}.chat-gift-message>span{font-size:55px;line-height:1.1;animation:giftFloat 2.3s ease-in-out infinite}.chat-gift-message b{color:#fff;font-size:12px}.chat-gift-message small,.gift-sparkles{color:#d7c9ff;font-size:10px}.gift-sparkles{letter-spacing:8px;animation:giftSparkle 1.5s ease-in-out infinite}
.chat-typing{align-self:flex-start;padding:9px 13px;border-radius:14px;background:#202c3e;color:#a9bbd3;font-size:11px;animation:typingPulse 1s infinite alternate}
.chat-composer-wrap{position:relative;flex:none;padding:12px 14px max(12px,env(safe-area-inset-bottom));border-top:1px solid rgba(173,194,220,.12);background:#111c2d}.chat-compose{display:flex;align-items:center;gap:6px;margin:0;padding:6px 7px;border:1px solid rgba(169,190,219,.2);border-radius:17px;background:#0b1422;box-shadow:0 4px 18px rgba(0,0,0,.1)}.chat-compose:focus-within{border-color:rgba(100,154,241,.72);box-shadow:0 0 0 3px rgba(75,133,226,.12)}.composer-icon-button{flex:none;width:37px;height:38px;display:grid;place-items:center;border:0;border-radius:11px;background:transparent;color:#91a2ba;font-size:23px;line-height:1;cursor:pointer;transition:.18s}.composer-icon-button:hover{background:rgba(116,158,225,.14);color:#dbe8ff}.emoji-compose-button{font-size:21px}.chat-compose textarea{flex:1;min-width:0;min-height:38px;max-height:108px;resize:none;padding:9px 3px 7px;border:0;outline:0;background:transparent;color:#edf4ff;font:13px/1.5 var(--font)}.chat-compose textarea::placeholder{color:#73849c}.chat-action-button{flex:none;width:43px;height:43px;display:grid;place-items:center;border:0;border-radius:50%;background:#367be7;color:white;box-shadow:0 5px 14px rgba(44,111,218,.24);cursor:pointer;transition:transform .18s,background .18s,box-shadow .18s}.chat-action-button:hover{transform:translateY(-2px);background:#4d8ef4;box-shadow:0 8px 18px rgba(44,111,218,.32)}.chat-action-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}.chat-action-button.is-recording{background:#e34d5d;box-shadow:0 0 0 5px rgba(227,77,93,.14);animation:recordPulse 1s infinite}.chat-footnote{padding-top:7px;text-align:center;color:#72839b;font-size:9px}
.chat-picker,.chat-attach-menu{position:absolute;z-index:8;left:14px;right:14px;bottom:83px;padding:12px;border:1px solid rgba(160,183,214,.2);border-radius:17px;background:#172337;color:#edf4ff;box-shadow:0 15px 42px rgba(0,0,0,.38)}.emoji-picker{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}.emoji-choice{height:35px;border:0;border-radius:9px;background:transparent;color:inherit;font-size:22px;cursor:pointer}.emoji-choice:hover,.sticker-choice:hover,.gift-choice:hover{background:rgba(115,161,235,.15);transform:translateY(-2px)}.sticker-picker,.gift-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.sticker-choice,.gift-choice{min-height:75px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px solid rgba(167,190,219,.1);border-radius:12px;background:rgba(255,255,255,.035);color:inherit;cursor:pointer;transition:.18s}.sticker-choice span,.gift-choice span{font-size:29px}.sticker-choice small,.gift-choice small{color:#9aabc2;font-size:9px}.gift-choice b{font-size:10px}.chat-attach-menu{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.chat-attach-menu button{min-height:81px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 5px;border:1px solid rgba(167,190,219,.1);border-radius:12px;background:rgba(255,255,255,.035);color:inherit;cursor:pointer;transition:.18s}.chat-attach-menu button:hover{background:rgba(115,161,235,.15);transform:translateY(-2px)}.chat-attach-menu button>span{font-size:22px;color:#a9c8ff}.chat-attach-menu button b{font-size:10px}.chat-attach-menu button small{font-size:8px;color:#95a6bd}
.chat-recording-bar{display:flex;align-items:center;gap:9px;margin:0 2px 9px;padding:8px 10px;border:1px solid rgba(227,77,93,.25);border-radius:12px;background:rgba(227,77,93,.08);color:#f0b3ba}.recording-indicator{width:8px;height:8px;border-radius:50%;background:#ee5363;box-shadow:0 0 0 4px rgba(238,83,99,.13);animation:recordPulse .9s infinite}.chat-recording-bar b{font-size:10px;white-space:nowrap}.chat-recording-bar time{font:10px var(--mono);color:#f2c7cb}.chat-recording-bar>button{margin-left:auto;padding:5px 8px;border:0;border-radius:8px;background:rgba(227,77,93,.15);color:#ffc0c7;font-size:10px;cursor:pointer}.voice-wave{height:24px;flex:1;display:flex;align-items:center;justify-content:center;gap:2px;overflow:hidden}.voice-wave i{width:3px;height:calc(4px + var(--bar)*2px);border-radius:5px;background:#e86574;animation:waveBars .62s ease-in-out infinite alternate;animation-delay:calc(var(--bar)*-.08s)}
body.chat-ui-open,body.chat-ui-open a,body.chat-ui-open button,body.chat-ui-open input,body.chat-ui-open textarea{cursor:auto!important}body.chat-ui-open #cursorTrail,body.chat-ui-open #cursorDot{display:none!important}body.chat-mobile-open{overflow:hidden}
body.light-theme .chat-panel{background:#fff;color:#202c3b;border-color:rgba(26,49,77,.15);box-shadow:0 28px 90px rgba(22,40,66,.2)}body.light-theme .chat-header,body.light-theme .chat-name-step,body.light-theme .chat-composer-wrap{background:#fff;border-color:#e5eaf0}body.light-theme .chat-agent-avatar .chat-avatar-presence{border-color:#fff}body.light-theme .chat-agent-info b{color:#182638}body.light-theme .chat-agent-info small{color:#748298}body.light-theme .chat-agent-info em{color:#19845c}body.light-theme .chat-header-email,body.light-theme .chat-close{color:#64748b;border-color:#e1e7ef;background:#f7f9fc}body.light-theme .chat-welcome{background:#f5f8fc;border-color:#e5eaf0}body.light-theme .chat-welcome b,body.light-theme .chat-name-heading b{color:#1d2b3e}body.light-theme .chat-welcome p,body.light-theme .chat-name-heading small{color:#69788c}body.light-theme .chat-name-step input{background:#f8fafc;border-color:#dfe6ef;color:#17263a}body.light-theme .chat-privacy-note{color:#7d8ba0}body.light-theme .chat-conversation{background:#f4f6fa}body.light-theme .chat-thread-strip{background:#fff;border-color:#e6ebf2;color:#6b7a8d}body.light-theme .chat-messages{background:linear-gradient(180deg,#f3f6fa,#f8faff)}body.light-theme .chat-messages::-webkit-scrollbar-thumb{background:#cbd5e1}body.light-theme .message-bubble{background:#fff;border-color:#e4eaf1;color:#253449}body.light-theme .chat-message.from-assistant .message-bubble{background:#fff}body.light-theme .chat-message.from-developer .message-bubble{background:#4c59c8;color:#fff}body.light-theme .message-meta small{color:#8794a7}body.light-theme .chat-message.from-visitor .message-meta small{color:#8794a7}body.light-theme .chat-sticker-message small{color:#66758b}body.light-theme .chat-composer-wrap{border-color:#e4eaf1}body.light-theme .chat-compose{background:#f7f9fc;border-color:#dfe6ef}body.light-theme .chat-compose textarea{color:#17263a}body.light-theme .chat-compose textarea::placeholder{color:#8a97a9}body.light-theme .composer-icon-button{color:#758399}body.light-theme .composer-icon-button:hover{background:#eaf1fd;color:#356fc9}body.light-theme .chat-footnote{color:#8794a7}body.light-theme .chat-picker,body.light-theme .chat-attach-menu{background:#fff;border-color:#e0e7f0;color:#233349;box-shadow:0 15px 42px rgba(24,44,75,.18)}body.light-theme .sticker-choice,body.light-theme .gift-choice,body.light-theme .chat-attach-menu button{background:#f7f9fc;border-color:#e6ebf2}body.light-theme .sticker-choice small,body.light-theme .gift-choice small,body.light-theme .chat-attach-menu button small{color:#7d8ba0}body.light-theme .emoji-choice:hover,body.light-theme .sticker-choice:hover,body.light-theme .gift-choice:hover,body.light-theme .chat-attach-menu button:hover{background:#eaf1fd}body.light-theme .chat-video-card small{color:#55657c}
@keyframes waveBars{from{transform:scaleY(.45);opacity:.65}to{transform:scaleY(1.1);opacity:1}}@keyframes giftFloat{50%{transform:translateY(-5px) rotate(3deg)}}@keyframes giftSparkle{50%{opacity:.45;transform:scale(.94)}}
.inbox-shared-video{display:block;width:min(340px,100%);max-height:260px;border-radius:12px;background:#05080e}.inbox-gift{display:grid;gap:4px;justify-items:center;padding:13px;border-radius:12px;background:linear-gradient(135deg,#25375b,#443a79);color:#fff;font-size:42px}.inbox-gift b{font-size:12px}.inbox-message-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px}.inbox-message-footer small{font-size:9px;color:var(--muted-2)}.inbox-message-footer button{width:22px;height:20px;border:0;border-radius:6px;background:transparent;color:var(--muted-2);cursor:pointer}.inbox-message-footer button:hover{background:rgba(226,75,88,.13);color:#e66b79}
@media(max-width:700px){
 .chat-launcher{right:15px;bottom:15px;height:53px;padding:0 17px;border-radius:30px}
 .chat-panel{inset:0;right:0;bottom:0;width:100vw;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;border:0;border-radius:0;box-shadow:none;transform:translateY(12px);padding-bottom:env(safe-area-inset-bottom)}
 .chat-panel.chat-open{transform:none}.chat-header{height:calc(70px + env(safe-area-inset-top));min-height:calc(70px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 14px 0}
 .chat-welcome{padding:14px}.chat-name-step{padding:17px 14px 20px}.chat-name-step form{flex-direction:row}.chat-name-step form button{width:auto;padding:0 13px}
 .chat-thread-strip{padding:0 14px}.chat-messages{padding:16px 12px 12px;gap:11px}.chat-message{max-width:88%}.chat-message-text{font-size:14px;padding:11px 13px}.message-delete{opacity:.8}
 .chat-composer-wrap{padding:9px 8px max(10px,env(safe-area-inset-bottom))}.chat-compose{gap:3px;padding:5px}.composer-icon-button{width:33px;height:38px}.chat-compose textarea{font-size:16px;min-height:40px}.chat-action-button{width:41px;height:41px}.chat-picker,.chat-attach-menu{left:8px;right:8px;bottom:80px;padding:10px}.emoji-picker{grid-template-columns:repeat(8,minmax(0,1fr))}.sticker-picker,.gift-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.chat-attach-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.chat-footnote{font-size:8px}
}
@media(max-width:380px){.chat-agent-info small{display:none}.chat-agent-avatar{width:40px;height:40px}.chat-compose{gap:1px}.composer-icon-button{width:30px}.chat-action-button{width:38px;height:38px}.chat-message{max-width:92%}}
@media(prefers-reduced-motion:reduce){.chat-sticker-message>span,.chat-gift-message>span,.gift-sparkles,.voice-wave i,.recording-indicator{animation:none!important}}

/* V6 CHAT POLISH — minimal messenger, no email shortcut inside the chat header */
.chat-panel{
  right:28px;bottom:104px;width:min(560px,calc(100vw - 48px));
  height:min(760px,calc(100dvh - 136px));max-height:calc(100dvh - 136px);
  border-radius:24px;border:1px solid rgba(145,165,190,.2);
  background:#111827;color:#edf3fb;box-shadow:0 30px 100px rgba(0,0,0,.42);
}
.chat-header{
  height:76px;min-height:76px;padding:0 22px;gap:14px;
  background:#101927;border-bottom:1px solid rgba(170,190,218,.11);
}
.chat-agent-avatar{width:46px;height:46px;min-width:46px;border-radius:50%;font-size:13px;background:linear-gradient(145deg,#dceaff,#91baff);color:#19365d}
.chat-agent-info{gap:4px}
.chat-agent-info b{font-size:14px;font-weight:800;letter-spacing:-.025em;color:#f5f8ff}
.chat-agent-info small{display:none}
.chat-agent-info em{font-style:normal;font-size:11px;color:#91a6c2}
.chat-header-actions{margin-left:auto;display:flex;align-items:center;gap:8px}
.chat-close{width:36px;height:36px;border:1px solid rgba(184,201,224,.14);border-radius:50%;background:rgba(255,255,255,.045);color:#d6e0ef;font-size:22px;line-height:1;cursor:pointer;transition:background .18s,transform .18s}
.chat-close:hover{background:rgba(255,255,255,.11);transform:rotate(90deg)}
.chat-welcome{padding:17px 22px;gap:12px;align-items:center;background:#162235;border-bottom:1px solid rgba(170,190,218,.1)}
.chat-welcome-mark{width:36px;height:36px;min-width:36px;border-radius:50%;background:rgba(75,135,224,.16);color:#9fc2ff}
.chat-welcome b{font-size:13px;color:#f2f6fd}
.chat-welcome p{font-size:11px;line-height:1.6;color:#a7b5c8;max-width:400px}
.chat-name-step{padding:19px 22px 21px;background:#121e2e}
.chat-name-heading{margin-bottom:13px}
.chat-name-heading>span{width:32px;height:32px;border-radius:50%;background:rgba(75,135,224,.16);color:#a7c5ff}
.chat-name-heading b{font-size:13px;color:#f3f6fc}
.chat-name-heading small{font-size:10px;color:#a2b0c4}
.chat-name-step input{height:46px;border-radius:24px;background:#0d1726;border:1px solid rgba(175,195,222,.18);color:#f2f6fd;font-size:13px;padding:0 16px}
.chat-name-step form button{height:46px;border-radius:24px;padding:0 19px;background:#397de7;font-size:12px}
.chat-name-step form button:hover{background:#4b8bf0}
.chat-privacy-note{font-size:10px;color:#8294ad}
.chat-conversation{background:#0c1523}
.chat-thread-strip{height:32px;min-height:32px;padding:0 22px;background:#111c2b;border-bottom:1px solid rgba(170,190,218,.09);color:#9eacc0;font-size:10px}
.chat-thread-strip small{font-size:9px;color:#71839d}
.chat-messages{padding:22px 22px 18px;gap:13px;background:radial-gradient(ellipse at 50% 0%,rgba(61,104,166,.09),transparent 54%),#0c1523}
.chat-message{max-width:min(80%,410px);gap:4px}
.message-bubble{border:1px solid rgba(190,208,232,.1);border-radius:18px 18px 18px 6px;background:#1c293b;color:#edf3fb;box-shadow:0 4px 14px rgba(0,0,0,.1)}
.chat-message.from-visitor .message-bubble,.chat-message.from-developer .message-bubble{border-color:rgba(91,149,244,.22);border-radius:18px 18px 6px 18px;background:#286fe1;color:white}
.chat-message.from-assistant .message-bubble{background:#1d2a3d;color:#edf3fb}
.chat-message-text{padding:11px 15px;font-size:13px;line-height:1.65}
.message-meta{padding:0 5px;gap:8px}
.message-meta small{font-size:9px;color:#778ba6}
.message-delete{opacity:0;width:23px;height:21px;color:#91a2bb}
.chat-message:hover .message-delete,.message-delete:focus-visible{opacity:.9}
.chat-typing{border-radius:16px;padding:9px 13px;background:#1d2a3d;color:#a8bfdc}
.chat-composer-wrap{padding:12px 16px max(13px,env(safe-area-inset-bottom));background:#111c2b;border-top:1px solid rgba(170,190,218,.11)}
.chat-compose{gap:7px;padding:6px 7px 6px 10px;border:1px solid rgba(170,190,218,.18);border-radius:28px;background:#0b1421;box-shadow:none}
.chat-compose:focus-within{border-color:rgba(105,157,240,.55);box-shadow:0 0 0 3px rgba(75,133,226,.1)}
.composer-icon-button{width:37px;height:38px;border-radius:50%;color:#a4b3c8;font-size:21px}
.composer-icon-button:hover{background:rgba(116,158,225,.13);color:#ecf4ff}
.chat-compose textarea{min-height:38px;padding:9px 2px 7px;color:#edf4ff;font-size:13px}
.chat-compose textarea::placeholder{color:#8494aa}
.chat-action-button{width:42px;height:42px;background:#397de7;box-shadow:0 5px 16px rgba(44,111,218,.2)}
.chat-action-button:hover{background:#4d8cf0}
.chat-action-button.is-recording{background:#e34d5d}
.chat-footnote{padding-top:7px;font-size:9px;color:#8494aa}
.chat-picker,.chat-attach-menu{bottom:84px;border-radius:18px;background:#18263a;border-color:rgba(165,188,220,.17);color:#eef4ff}
.emoji-choice{height:38px}
.sticker-choice,.gift-choice,.chat-attach-menu button{border-color:rgba(167,190,219,.12);background:rgba(255,255,255,.035)}
body.chat-ui-open .contact-dock{opacity:0;pointer-events:none;transition:opacity .18s}
/* Light mode remains high contrast and calm. */
body.light-theme .chat-panel{background:#fff;color:#1d2939;border-color:#dce4ee;box-shadow:0 28px 85px rgba(24,42,70,.2)}
body.light-theme .chat-header{background:#fff;border-bottom-color:#e7edf4}
body.light-theme .chat-agent-info b{color:#182638}
body.light-theme .chat-agent-info em{color:#21845d}
body.light-theme .chat-close{background:#f5f7fb;border-color:#e3e9f1;color:#526178}
body.light-theme .chat-welcome{background:#f8faff;border-bottom-color:#e8edf5}
body.light-theme .chat-welcome b{color:#25344b}
body.light-theme .chat-welcome p{color:#68788e}
body.light-theme .chat-name-step{background:#fff}
body.light-theme .chat-name-heading b{color:#26354a}
body.light-theme .chat-name-heading small{color:#7e8ba0}
body.light-theme .chat-name-step input{background:#f7f9fc;border-color:#dfe6ef;color:#1b2a40}
body.light-theme .chat-privacy-note{color:#8190a4}
body.light-theme .chat-conversation{background:#f7f9fc}
body.light-theme .chat-thread-strip{background:#fff;border-bottom-color:#e8edf4;color:#718098}
body.light-theme .chat-messages{background:linear-gradient(180deg,#f5f8fc,#f9fbfe)}
body.light-theme .chat-message .message-bubble{background:#fff;border-color:#e2e9f1;color:#26364b}
body.light-theme .chat-message.from-visitor .message-bubble,body.light-theme .chat-message.from-developer .message-bubble{background:#3278e8;border-color:#3278e8;color:#fff}
body.light-theme .chat-message.from-assistant .message-bubble{background:#fff;color:#26364b}
body.light-theme .message-meta small{color:#8996a8}
body.light-theme .chat-composer-wrap{background:#fff;border-top-color:#e8edf4}
body.light-theme .chat-compose{background:#f7f9fc;border-color:#dfe6ef}
body.light-theme .chat-compose textarea{color:#1b2a40}
body.light-theme .chat-compose textarea::placeholder{color:#8b98aa}
body.light-theme .composer-icon-button{color:#718098}
body.light-theme .chat-footnote{color:#8b98aa}
body.light-theme .chat-picker,body.light-theme .chat-attach-menu{background:#fff;border-color:#e1e8f0;color:#25364d;box-shadow:0 15px 42px rgba(24,44,75,.16)}
body.light-theme .sticker-choice,body.light-theme .gift-choice,body.light-theme .chat-attach-menu button{background:#f7f9fc;border-color:#e6ebf2}
body.light-theme .sticker-choice small,body.light-theme .gift-choice small,body.light-theme .chat-attach-menu button small{color:#78869b}
body.light-theme .chat-audio-message{background:#f1f5fb}
body.light-theme .chat-message.from-visitor .chat-audio-message{background:rgba(255,255,255,.14)}
@media(max-width:700px){
  .chat-panel{inset:0;right:0;bottom:0;width:100vw;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;border:0;border-radius:0;box-shadow:none}
  .chat-header{height:calc(72px + env(safe-area-inset-top));min-height:calc(72px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 16px 0}
  .chat-welcome{padding:15px 16px}
  .chat-name-step{padding:18px 16px 20px}
  .chat-thread-strip{padding:0 16px}
  .chat-messages{padding:17px 14px 14px;gap:12px}
  .chat-message{max-width:88%}
  .chat-message-text{font-size:14px;padding:11px 14px}
  .chat-composer-wrap{padding:9px 10px max(12px,env(safe-area-inset-bottom))}
  .chat-compose{gap:4px;padding:5px}
  .composer-icon-button{width:35px;height:38px}
  .chat-compose textarea{font-size:16px;min-height:40px}
  .chat-action-button{width:42px;height:42px}
  .chat-picker,.chat-attach-menu{left:9px;right:9px;bottom:82px;padding:10px}
  .emoji-picker{grid-template-columns:repeat(8,minmax(0,1fr))}
  .sticker-picker,.gift-picker{grid-template-columns:repeat(4,minmax(0,1fr))}
}


/* V7 — clearer chat layout, selected-message actions, custom voice player and theme-safe motion. */
.chat-panel{
  right:24px;bottom:18px;width:min(560px,calc(100vw - 48px));
  height:min(820px,calc(100dvh - 104px));max-height:calc(100dvh - 104px);
  border-radius:25px;display:flex;flex-direction:column;
}
.chat-panel.chat-open{display:flex}
.chat-header{flex:0 0 78px}
.chat-agent-avatar{overflow:visible;padding:0;border:2px solid rgba(255,255,255,.78);box-shadow:0 4px 18px rgba(15,32,54,.16)}
.chat-agent-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%;}
.chat-avatar-fallback{display:none;width:100%;height:100%;place-items:center;border-radius:50%;font-weight:800;}
.chat-agent-avatar.avatar-fallback .chat-avatar-fallback{display:grid}
.chat-avatar-presence{position:absolute;right:-2px;bottom:-1px;width:12px;height:12px;border:2px solid #111927;border-radius:50%;background:#29c987}
body.light-theme .chat-avatar-presence{border-color:#fff}
.chat-welcome{flex:0 0 auto}
.chat-conversation{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.chat-thread-strip{flex:0 0 34px}
.chat-messages{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(129,158,195,.55) transparent;}
.chat-message{position:relative;max-width:min(82%,440px);}
.chat-message .message-bubble{cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}
.chat-message.is-selected .message-bubble{outline:2px solid #e4a64b;outline-offset:3px;box-shadow:0 0 0 6px rgba(228,166,75,.12)}
.message-selection-bar{display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:3px 5px 5px;animation:selectionPop .16s ease-out}
.message-selection-bar span{margin-right:auto;color:var(--muted);font:9px var(--mono);letter-spacing:.05em}
.message-selection-bar button{border:1px solid rgba(221,87,99,.3);border-radius:999px;padding:5px 11px;background:rgba(221,87,99,.1);color:#d95663;font-size:10px;font-weight:800;cursor:pointer}
.message-selection-bar button:last-child{border-color:var(--line);background:var(--panel);color:var(--muted);font-size:15px;line-height:1;padding:4px 9px}
.message-meta{display:flex;align-items:center;justify-content:flex-end;min-height:14px}
.message-meta small{font:8px var(--mono);letter-spacing:.035em}
.message-delete{display:none!important}
.voice-note-card{display:flex;align-items:center;gap:11px;min-width:min(290px,62vw);max-width:100%;padding:10px 12px;border-radius:16px;background:linear-gradient(135deg,#234e83,#326fbd);color:#fff;}
.chat-message.from-assistant .voice-note-card,.chat-message.from-developer .voice-note-card{background:linear-gradient(135deg,#e8f0fb,#dfeafa);color:#203c60}
.voice-play-button{width:38px;height:38px;min-width:38px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.2);color:inherit;cursor:pointer;transition:transform .18s,background .18s}
.voice-play-button:hover{transform:scale(1.06);background:rgba(255,255,255,.32)}
.voice-play-button svg{width:19px;height:19px;fill:currentColor;stroke:none}
.voice-play-button.is-playing svg{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.voice-note-main{flex:1;min-width:0}
.voice-note-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:5px}
.voice-note-heading b{font-size:10px;letter-spacing:.01em}
.voice-note-heading time{font:9px var(--mono);white-space:nowrap;opacity:.82}
.voice-wave-track{position:relative;display:block;width:100%;height:32px;padding:0;border:0;background:transparent;cursor:pointer;overflow:hidden}
.voice-wave-base,.voice-wave-fill{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;gap:2px;overflow:hidden;pointer-events:none}
.voice-wave-base i,.voice-wave-fill i{display:block;flex:1;min-width:2px;max-width:4px;height:var(--h);border-radius:5px;background:currentColor;opacity:.34}
.voice-wave-fill{width:0;right:auto;color:#fff;overflow:hidden}
.voice-wave-fill i{opacity:1;background:#fff}
.chat-message.from-assistant .voice-wave-fill,.chat-message.from-developer .voice-wave-fill{color:#2765aa}
.chat-message.from-assistant .voice-wave-fill i,.chat-message.from-developer .voice-wave-fill i{background:#2765aa}
.voice-audio{display:none!important}
.voice-note-unavailable{display:flex;gap:10px;align-items:center;padding:10px 12px;color:inherit;background:rgba(110,130,155,.1);border-radius:13px}
.voice-note-unavailable>span{font-size:22px}
.voice-note-unavailable b,.voice-note-unavailable small{display:block}
.voice-note-unavailable small{font-size:9px;opacity:.7}
.chat-audio-message audio{display:none!important}
.chat-message .media-caption{font-size:11px;margin:6px 2px 0;line-height:1.45}
.chat-recording-bar{gap:10px;min-height:48px;padding:9px 12px;background:rgba(220,72,88,.10);border-color:rgba(220,72,88,.38);box-shadow:0 0 0 3px rgba(220,72,88,.055)}
.chat-recording-bar b{font-size:11px;letter-spacing:.01em}
.voice-wave{height:30px;gap:2px}
.voice-wave i{width:3px;min-width:2px;height:var(--h);animation:recordWave .58s ease-in-out infinite alternate;animation-delay:calc(var(--bar)*-.055s);background:linear-gradient(180deg,#ff8390,#d94359);box-shadow:0 0 7px rgba(227,77,93,.22)}
.chat-action-button.is-recording{animation:recordPulse 1s infinite;}
.chat-action-button.is-recording:after{content:'';position:absolute;inset:-5px;border:1px solid rgba(227,77,93,.4);border-radius:50%;animation:recordHalo 1.4s ease-out infinite}
.chat-action-button{position:relative}
.chat-compose textarea{max-height:120px;}
.chat-footnote{min-height:17px;}
.chat-name-step{flex:0 0 auto;}
.chat-typing{width:max-content;max-width:80%;display:flex;align-items:center;gap:8px;}
.chat-typing:after{content:'•••';letter-spacing:2px;animation:typingDots 1s ease-in-out infinite}
body.light-theme .chat-panel{background:#fbfdff;border-color:#cbd8e7;box-shadow:0 28px 95px rgba(36,59,92,.24)}
body.light-theme .chat-header{background:linear-gradient(120deg,#ffffff,#f5f9ff);border-bottom:1px solid #cbd8e7}
body.light-theme .chat-avatar-presence{border-color:#fff}
body.light-theme .chat-thread-strip{background:#f3f7fc;border-bottom:1px solid #d2deec;color:#455c77}
body.light-theme .chat-thread-strip small{color:#536a87}
body.light-theme .chat-messages{background:radial-gradient(ellipse at 50% 0%,rgba(74,129,203,.12),transparent 54%),linear-gradient(180deg,#edf3fa,#f8fbff)}
body.light-theme .chat-message .message-bubble{border:1px solid #d1dce9;box-shadow:0 4px 15px rgba(36,61,91,.07)}
body.light-theme .chat-message.from-assistant .message-bubble{background:#fff;border-color:#cbd8e7;color:#20344c}
body.light-theme .chat-message.from-visitor .message-bubble,body.light-theme .chat-message.from-developer .message-bubble{background:linear-gradient(135deg,#2d70d3,#3a83eb);border-color:#2c6fcf;color:#fff}
body.light-theme .message-meta small{color:#536985}
body.light-theme .chat-composer-wrap{background:#fff;border-top:1px solid #cbd8e7;box-shadow:0 -5px 18px rgba(38,63,95,.04)}
body.light-theme .chat-compose{background:#f4f8fd;border:1px solid #c4d3e4;box-shadow:0 3px 13px rgba(35,64,102,.07)}
body.light-theme .composer-icon-button{color:#3c5878}
body.light-theme .composer-icon-button:hover{background:#e1ecf9;color:#155db8}
body.light-theme .chat-action-button{background:#1768c8;color:#fff;box-shadow:0 5px 16px rgba(23,104,200,.25)}
body.light-theme .chat-footnote{color:#586f8b}
body.light-theme .chat-recording-bar{background:#fff1f2;border-color:#eea6ad;color:#9b2434}
body.light-theme .chat-recording-bar time{color:#942b39}
body.light-theme .message-selection-bar span{color:#526a84}
body.light-theme .message-selection-bar button:last-child{background:#fff;color:#405a77;border-color:#cbd8e7}
body.light-theme .voice-note-card{background:linear-gradient(135deg,#2869bb,#397fe0);color:#fff}
body.light-theme .chat-message.from-assistant .voice-note-card,body.light-theme .chat-message.from-developer .voice-note-card{background:linear-gradient(135deg,#e5effc,#d4e5fa);color:#1e4777}
body.light-theme .voice-wave-fill i{background:#fff}
body.light-theme .chat-message.from-assistant .voice-wave-fill i,body.light-theme .chat-message.from-developer .voice-wave-fill i{background:#2869bb}
/* Keep the orbital artwork, fine lines and motion visible over the light canvas. */
body.light-theme .art-grid{opacity:.9;background-image:linear-gradient(rgba(34,99,101,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(34,99,101,.18) 1px,transparent 1px)}
body.light-theme .art-halo.halo-a{background:radial-gradient(circle,rgba(52,193,169,.2),rgba(82,132,222,.12) 46%,transparent 72%)}
body.light-theme .halo-b{border-color:rgba(55,129,129,.34);box-shadow:0 0 55px rgba(55,145,142,.11),inset 0 0 45px rgba(55,145,142,.09)}
body.light-theme .art-ring{border-color:rgba(44,112,140,.48)}
body.light-theme .ring-b{border-color:rgba(114,89,200,.37)}
body.light-theme .ring-c{border-color:rgba(34,145,155,.36)}
body.light-theme .art-label{color:#526d85}
body.light-theme .art-coordinate{color:#536d84}
body.light-theme .art-star{color:#159c86;text-shadow:0 0 18px rgba(21,156,134,.42)}
body.light-theme .star-b{color:#7b67c7}
body.light-theme .ticker-track{color:#3d5960}
body.light-theme .section-index,.body.light-theme .section-index span:last-child{color:#536c75}
.about-profile-photo{width:108px;height:108px;display:block;object-fit:cover;object-position:center 27%;border-radius:50%;border:3px solid rgba(255,255,255,.88);box-shadow:0 8px 30px rgba(18,54,70,.2);z-index:2}
body.light-theme .about-profile-photo{border-color:#fff;box-shadow:0 8px 32px rgba(38,76,105,.2)}
.thread-avatar{overflow:hidden}
.thread-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;}
.inbox-message{position:relative;cursor:pointer}
.inbox-message-body{padding:0}
.inbox-selection-bar{display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:3px 4px 6px;animation:selectionPop .16s ease-out}
.inbox-selection-bar b{margin-right:auto;font:9px var(--mono);color:var(--muted)}
.inbox-selection-bar button{border:1px solid rgba(221,87,99,.3);border-radius:999px;padding:5px 11px;background:rgba(221,87,99,.1);color:#d95663;font-size:10px;font-weight:800;cursor:pointer}
.inbox-selection-bar button:last-child{border-color:var(--line);background:var(--panel);color:var(--muted);font-size:15px;padding:4px 9px}
.inbox-message.is-selected .inbox-message-body{outline:2px solid #e4a64b;outline-offset:3px;border-radius:12px}
.inbox-message-footer button{display:none!important}
.inbox-voice-card{display:flex;align-items:center;gap:10px;min-width:220px;padding:10px 12px;border-radius:14px;background:linear-gradient(135deg,#e2efff,#d6e5fb);color:#244c78}
.inbox-voice-card>button{width:34px;height:34px;border:0;border-radius:50%;background:#397de7;color:#fff;cursor:pointer}
.inbox-voice-main{flex:1;min-width:0}.inbox-voice-main>b{font-size:10px}
.inbox-voice-wave{height:30px;display:flex;align-items:center;justify-content:space-between;gap:2px;cursor:pointer}
.inbox-voice-wave i{flex:1;max-width:4px;height:var(--h);border-radius:4px;background:#3d78c0;opacity:.75}
.inbox-voice-card audio{display:none}.inbox-voice-unavailable{font-size:10px;opacity:.75}
@keyframes selectionPop{from{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:none}}
@keyframes recordWave{from{transform:scaleY(.36);opacity:.55}to{transform:scaleY(1.18);opacity:1}}
@keyframes recordHalo{0%{opacity:.7;transform:scale(.9)}100%{opacity:0;transform:scale(1.55)}}
@keyframes typingDots{0%,100%{opacity:.25}50%{opacity:1}}
@media(max-width:700px){
  .chat-panel{inset:0;right:0;bottom:0;width:100vw;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;border:0;border-radius:0;}
  .chat-header{flex:0 0 calc(74px + env(safe-area-inset-top));height:calc(74px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 16px 0}
  .chat-messages{padding:18px 14px calc(14px + env(safe-area-inset-bottom));gap:13px}
  .chat-composer-wrap{padding:10px 10px max(12px,env(safe-area-inset-bottom))}
  .voice-note-card{min-width:min(250px,72vw)}
}
@media(prefers-reduced-motion:reduce){.voice-wave i,.voice-wave-fill i,.chat-recording-bar .voice-wave i{animation:none!important}.message-selection-bar,.inbox-selection-bar{animation:none!important}}

/* Final avatar and inbox polish. */
.chat-agent-avatar .chat-avatar-fallback{position:absolute;inset:0;display:none;place-items:center;border-radius:50%;font-size:13px;}
.chat-agent-avatar.avatar-fallback .chat-avatar-fallback{display:grid;}
.inbox-message>div.inbox-selection-bar,.inbox-message>div.inbox-message-footer{padding:0;background:transparent;border:0;border-radius:0;}
.inbox-message>div.inbox-message-body{padding:11px 14px;background:#182438;border:1px solid var(--line);border-radius:3px 12px 12px 12px;}
.inbox-from-owner>div.inbox-message-body{background:#17473f;border-color:rgba(140,243,211,.2);border-radius:12px 3px 12px 12px;}
.inbox-from-ai>div.inbox-message-body{background:#25213d;border-color:rgba(169,154,255,.2);}
body.light-theme .inbox-message>div.inbox-message-body{background:#e8f0ef;color:#203b3b;border-color:#cbdcda;}
body.light-theme .inbox-from-owner>div.inbox-message-body{background:#d4f1e8;color:#203b3b;}
body.light-theme .inbox-from-ai>div.inbox-message-body{background:#efedfb;color:#29344c;}


/* Supabase-backed inbox and chat connection states */
.inbox-toolbar-actions{display:flex;align-items:center;gap:12px}.inbox-logout{border:1px solid var(--line);background:transparent;color:var(--text);border-radius:999px;padding:10px 14px;font:9px var(--mono);cursor:pointer}.inbox-logout:hover{border-color:var(--mint);color:var(--mint)}.inbox-login-error{margin:12px 0 0!important;padding:11px 12px;border:1px solid rgba(220,80,90,.35);border-radius:8px;background:rgba(220,80,90,.08);color:#e36b78!important;font-size:11px!important;line-height:1.5}.inbox-message>.inbox-message-body{padding:11px 14px;background:#182438;border:1px solid var(--line);border-radius:3px 12px 12px 12px;font-size:11px;line-height:1.7;color:var(--text)}.inbox-message>.inbox-message-footer{padding:0 3px;background:transparent;border:0;border-radius:0}.inbox-message-footer small{display:block;font:8px var(--mono);color:var(--muted-2);margin-top:5px}.inbox-from-owner>.inbox-message-body{background:#17473f;border-color:rgba(140,243,211,.2);border-radius:12px 3px 12px 12px}.inbox-from-ai>.inbox-message-body{background:#25213d;border-color:rgba(169,154,255,.2)}.inbox-shared-image{display:block;max-width:min(320px,100%);max-height:260px;border-radius:9px;object-fit:contain}.inbox-shared-video{display:block;width:min(360px,100%);max-height:260px;border-radius:9px;background:#000}.inbox-voice-card{display:flex;align-items:center;gap:11px;min-width:220px}.inbox-voice-card>[data-play-voice]{width:36px;height:36px;border:0;border-radius:50%;background:var(--mint);color:#07120f;cursor:pointer}.inbox-voice-main{display:grid;gap:6px;min-width:150px}.inbox-voice-main>b{font-size:10px}.inbox-voice-main>small{font:8px var(--mono);color:var(--muted-2)}.inbox-voice-wave{display:flex;align-items:center;gap:2px;height:30px;padding:0;border:0;background:transparent;cursor:pointer}.inbox-voice-wave i{display:block;width:3px;height:var(--h);border-radius:4px;background:var(--mint);opacity:.8}.inbox-sticker{display:grid;justify-items:center;font-size:58px;line-height:1.15}.inbox-sticker small{font:9px var(--mono);color:var(--muted-2)}.inbox-gift{display:grid;justify-items:center;gap:5px;font-size:39px}.inbox-gift b{font-size:11px}.inbox-selection-bar{display:flex;align-items:center;gap:8px;margin-bottom:7px;padding:6px 8px!important;background:rgba(18,160,137,.1)!important;border:1px solid rgba(18,160,137,.28)!important;border-radius:7px!important}.inbox-selection-bar b{font:8px var(--mono);color:var(--mint);margin-right:auto}.inbox-selection-bar button{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:6px;padding:5px 9px;font:9px var(--mono);cursor:pointer}.inbox-selection-bar button[data-inbox-delete]{color:#d95f6a;border-color:rgba(217,95,106,.3)}.inbox-message.is-selected>.inbox-message-body{outline:2px solid var(--mint);outline-offset:2px}.chat-backend-notice{position:absolute;left:14px;right:14px;bottom:100%;margin-bottom:8px;z-index:30;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);font-size:11px;line-height:1.5;box-shadow:0 12px 32px rgba(0,0,0,.18);opacity:0;transform:translateY(5px);pointer-events:none;transition:opacity .2s,transform .2s}.chat-backend-notice.notice-visible{opacity:1;transform:translateY(0)}.inbox-toolbar-actions .status-switch{flex-shrink:0}.light-theme .inbox-message>.inbox-message-body{background:#e8f0ef;color:#203b3b;border-color:rgba(27,61,62,.18)}.light-theme .inbox-from-owner>.inbox-message-body{background:#d4f1e8;color:#173b33;border-color:rgba(20,125,99,.24)}.light-theme .inbox-from-ai>.inbox-message-body{background:#eeebfa;color:#342e52;border-color:rgba(107,91,172,.22)}.light-theme .inbox-message>.inbox-message-footer{background:transparent;border:0}.light-theme .inbox-selection-bar{background:#e5f5f0!important}.light-theme .inbox-selection-bar button{background:#fff;color:#203b3b;border-color:rgba(27,61,62,.2)}.light-theme .chat-backend-notice{background:#fff;color:#173230;border-color:rgba(30,85,78,.22)}
@media(max-width:700px){.inbox-toolbar-actions{width:100%;flex-direction:column;align-items:stretch}.inbox-logout{width:100%}.inbox-voice-card{min-width:190px}.inbox-voice-main{min-width:130px}}


/* Guest-chat startup diagnostics: readable in dark and light themes. */
.chat-start-error {
  margin: 12px 0 0;
  padding: 11px 13px;
  border: 1px solid rgba(205, 91, 91, .48);
  border-radius: 12px;
  background: rgba(205, 91, 91, .10);
  color: var(--text, #f4f5fa);
  font-size: 12px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.chat-start-error[hidden] { display: none !important; }
body.light-theme .chat-start-error {
  color: #7f2424;
  background: rgba(205, 91, 91, .075);
  border-color: rgba(163, 57, 57, .38);
}
#guestNameForm button[disabled] { opacity: .72; cursor: wait; }
