/* A miniature physical switch inspired by the supplied sun / moon traveler. */
.theme-toggle{position:relative;isolation:isolate;flex:0 0 74px;width:74px;height:40px;min-height:40px;padding:0;overflow:hidden;direction:ltr;border:1px solid #52678170;border-radius:14px;background:linear-gradient(145deg,#24344c,#101c30);box-shadow:inset 1px 1px 2px #95bad32b,inset -2px -2px 4px #02081599,0 3px 5px #02091866;color:#9ce8ff;cursor:pointer;touch-action:manipulation}
.theme-toggle:focus-visible{outline:2px solid #40b6e1;outline-offset:4px}
.theme-disc{position:absolute;left:6px;top:7px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(140deg,#2d435b,#0a1729);box-shadow:2px 3px 5px #0007,inset 0 1px #b9edff20;transition:transform .55s cubic-bezier(.2,.8,.2,1),background .55s}
.theme-disc svg{position:absolute;width:15px;height:15px;transition:opacity .35s,transform .55s}
.theme-moon{fill:#89e5ff;stroke:none;filter:drop-shadow(0 0 3px #23cbff66);transform:rotate(-10deg)}
.theme-sun{fill:#dfa135;stroke:#dfa135;stroke-width:1.6;stroke-linecap:round;opacity:0;transform:rotate(-80deg) scale(.5)}
.theme-portal{position:absolute;right:10px;bottom:10px;width:15px;height:4px;border-radius:50%;background:#030a18;box-shadow:inset 0 1px 1px #000,0 1px #9bb6cb35}
.theme-traveler{position:absolute;left:39px;top:12px;width:8px;height:16px;opacity:.7;transform:scale(.8);color:#b9d4ea}
.theme-traveler i{position:absolute;top:0;left:2px;width:4px;height:4px;background:currentColor;border-radius:50%}
.theme-traveler b{position:absolute;left:3px;top:5px;width:2px;height:6px;background:currentColor;transform:rotate(-7deg)}
.theme-traveler em,.theme-traveler strong{position:absolute;left:3px;top:10px;width:1.5px;height:6px;transform-origin:top;background:currentColor;transform:rotate(22deg)}
.theme-traveler strong{transform:rotate(-22deg)}
.theme-stars{position:absolute;top:3px;right:5px;font:9px monospace;letter-spacing:4px;color:#a0dff572;pointer-events:none}
.theme-travel .theme-traveler{animation:theme-walk 900ms cubic-bezier(.3,.1,.2,1)}
.theme-travel .theme-traveler em{animation:theme-step .16s alternate 5}
.theme-travel .theme-traveler strong{animation:theme-step .16s alternate-reverse 5}
.theme-travel .theme-disc{transform:rotate(360deg)}
@keyframes theme-walk{0%{translate:0 0;opacity:.7}35%{translate:8px -2px;rotate:8deg;opacity:1}65%{translate:15px 7px;scale:.6;opacity:0}75%{translate:-8px 7px;scale:.4;opacity:0}100%{translate:0 0;scale:1;opacity:.7}}
@keyframes theme-step{from{rotate:20deg}to{rotate:-30deg}}
:root[data-theme=light]{color-scheme:light;--bg:#f0f3f8;--surface:#e8eef6;--panel:#e9eff6;--ink:#172d45;--muted:#526a82;--accent:#087eaa;--line:#7c9bb438;--ice:#087b9e;--violet:#536ab8;--neon:#087eaa;--border:#91a8bf50;background:#f0f3f8;color:#172d45}
:root[data-theme=light] body{background:#f0f3f8;color:#172d45}
:root[data-theme=light]{--paper:#f0f3f8;--sheet:#f9fbfd;--text:#18314a;--subtle:#526a82;--teal:#087b92;--orange:#a55832;--wash:#e7eff6;--warm:#fbefe1;--lavender:#f0edf7}
:root[data-theme=light] .theme-toggle{background:linear-gradient(145deg,#f9fbff,#e3e9f2);border-color:#c6d3e3;box-shadow:inset 1px 1px 2px #fff,inset -1px -1px 2px #b4c2d34d,3px 3px 6px #9fb0c74d,-2px -2px 5px #fff;color:#516c85}
:root[data-theme=light] .theme-disc{background:linear-gradient(140deg,#fff,#e9edf4);box-shadow:2px 2px 4px #b1bfd15c,-1px -1px 3px #fff}
:root[data-theme=light] .theme-sun{opacity:1;transform:rotate(0) scale(1)}
:root[data-theme=light] .theme-moon{opacity:0;transform:rotate(70deg) scale(.4)}
:root[data-theme=light] .theme-traveler{color:#718194}
:root[data-theme=light] .theme-portal{background:#a8b6c9;box-shadow:inset 0 1px 2px #506b8a60,0 1px #fff}
:root[data-theme=light] .theme-stars{opacity:0}
:root.theme-transition::view-transition-old(root),:root.theme-transition::view-transition-new(root){animation:none;mix-blend-mode:normal}
:root.theme-transition::view-transition-new(root){z-index:2147483646}
:root[data-theme=light] .app :is(h1,h2,h3,h4){color:#18314a;text-shadow:none}
:root[data-theme=light] .app :is(h1,h2,h3) em{color:#0c83a8}
:root[data-theme=light] .app :is(.button.primary,.send-message-button){color:#fff!important;background:linear-gradient(120deg,#167ba5,#516bd2)!important;border-color:#1b78a3!important;box-shadow:0 4px 0 #2b4f8b25,0 12px 24px #537da525!important}
:root[data-theme=light] .app .nav-shell{background:#f2f6fbeF;border-color:#b8cce0;box-shadow:0 4px 0 #b6c8de40,0 15px 35px #718ba51a}
:root[data-theme=light] .app .hero h1 span{color:#1d3956;text-shadow:0 2px #fff,0 4px #a4b9d070}
:root[data-theme=light] .app .hero h1 .title-dot{color:#0896bd}
:root[data-theme=light] .app :is(.overview-card,.service-card,.carousel-project>button){box-shadow:inset 0 1px #fff,0 8px 24px #4f6f8c18}
:root[data-theme=light] .mai-launch{background:linear-gradient(120deg,#f8fcff,#e3eff6)!important;color:#194658!important;border-color:#79b5c8!important;box-shadow:0 6px 22px #58778925}
:root[data-theme=light] :is(.project-dialog,.license-dialog){color:#18314a}
.header .theme-toggle{order:5}
.site-header .theme-toggle{margin-inline-start:8px}
@media(max-width:600px){.header .theme-toggle{flex-basis:58px;width:58px;height:36px;min-height:36px;border-radius:12px}.header .theme-disc{left:4px;top:5px}.header .theme-traveler{left:32px;top:11px}.header .theme-portal{right:5px;bottom:8px;width:11px}.header .theme-stars{right:0;letter-spacing:2px}.header .nav-shell{gap:6px;padding-inline:12px}.header .brand{font-size:25px}.header .nav-contact{padding-inline:8px;font-size:10px}.header .language-trigger{min-width:33px;padding-inline:5px}.header .language-trigger>svg{display:none}}
@media(max-width:380px){.header .theme-toggle{flex-basis:48px;width:48px}.header .theme-traveler{left:29px;scale:.75}.header .theme-portal{right:3px;width:9px}.header .brand{font-size:21px}.header .nav-shell{gap:4px;padding-inline:9px}.header .nav-contact{font-size:9px;padding-inline:6px}.header .menu-toggle{width:29px;flex-basis:29px}}
@media(prefers-reduced-motion:reduce){.theme-toggle *{animation:none!important;transition:none!important}}
@media(max-width:600px){.site-header .theme-toggle,.site-head .theme-toggle{flex-basis:54px;width:54px;height:36px;min-height:36px}.site-header .theme-disc,.site-head .theme-disc{left:4px;top:5px}.site-header .theme-traveler,.site-head .theme-traveler{left:31px;top:11px}.site-header .theme-portal,.site-head .theme-portal{right:4px;width:10px;bottom:8px}.site-header .theme-stars,.site-head .theme-stars{display:none}.site-head .head-inner{gap:8px}.site-head .theme-toggle{margin-inline-start:auto}.site-header .theme-toggle{margin-inline-start:0}}

.journey-export .bot-journey-visual{z-index:-3!important}

.bot-journey-poster-light{display:none}
:root[data-theme=light] .bot-journey-poster:not(.bot-journey-poster-light){display:none}
:root[data-theme=light] .bot-journey-poster-light{display:block}
@media(max-width:650px){.site-header{gap:8px}.site-header nav{flex:none;margin-inline-start:auto}.site-header .contact-link{white-space:nowrap;gap:8px}.site-header .language summary{white-space:nowrap;display:flex;align-items:center;gap:5px}.site-header .brand{font-size:25px}}
@media(max-width:360px){.site-header{gap:6px;padding-inline:9px}.site-header .brand{font-size:22px}.site-header .theme-toggle{flex-basis:48px;width:48px}.site-header .contact-link{font-size:9px;padding-inline:7px}.site-header .contact-link>span{display:none}.site-header .language summary{font-size:10px;padding-inline:5px;gap:3px}}

/* Compact invitation in daylight. */
:root[data-theme=light] .home-contact.collaboration-spotlight{background:transparent}
:root[data-theme=light] .collaboration-panel{background:radial-gradient(ellipse at 90% 0,#ddf0f7,transparent 68%),linear-gradient(110deg,#f8fbfd,#eaf2f8 70%,#edf4f9);border-color:#a8bfd580;box-shadow:inset 0 1px #fff,0 12px 32px #38506a12}
:root[data-theme=light] .collaboration-panel h2>span{background-image:linear-gradient(100deg,#173b59 18%,#23667c 38%,#6a98ac 49%,#a17d39 50%,#23667c 53%,#183650 73%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:#173b59}
:root[data-theme=light] .collaboration-panel .eyebrow{color:#376477}
:root[data-theme=light] .collaboration-panel .collaboration-description{color:#526a82}
:root[data-theme=light] .collaboration-panel .eyebrow .collaboration-signal{background:#17866f;box-shadow:0 0 0 4px #248a7211,0 0 12px #429b8c30}
:root[data-theme=light] .collaboration-panel .collaboration-button{color:#fff;background:linear-gradient(125deg,#086d8a,#24548e 60%,#3b508b) padding-box,linear-gradient(120deg,#79c3ce,#416e9f,#a69b71) border-box;border-color:transparent;box-shadow:inset 0 1px #def7ff24,0 3px 0 #163b61,0 8px 21px #28476120}
:root[data-theme=light] .collaboration-panel .collaboration-button-icon{color:#143850;background:linear-gradient(145deg,#f0ffff,#a8dce9);border-color:#e7ffff6b}
:root[data-theme=light] .collaboration-panel .collaboration-button:focus-visible{outline-color:#236f9b}

:root[data-theme=light] .laptop-open-progress{background:#43728e33}:root[data-theme=light] .laptop-open-progress i{background:linear-gradient(90deg,#28758b,#1c8a8a)}

:root[data-theme=light] .gallery-swipe-coach{color:#173f59;background:linear-gradient(145deg,#f9fdfff5,#e5f2faf5);border-color:#72a8c699;box-shadow:inset 0 1px #fff,0 12px 32px #264f7126,0 0 0 5px #467e9b0a}
:root[data-theme=light] .gallery-swipe-label>b{color:#173f59}:root[data-theme=light] .gallery-swipe-label>span{color:#4c6a80}
:root[data-theme=light] .gallery-swipe-track{background:linear-gradient(90deg,transparent,#3e85ac80 25%,#287b9fb3 75%,transparent)}
:root[data-theme=light] .gallery-swipe-track:before,:root[data-theme=light] .gallery-swipe-track:after{background:#d3ebf8;border-color:#4589ad80}
:root[data-theme=light] .gallery-swipe-arrow{color:#236687}:root[data-theme=light] .gallery-swipe-hand>svg{fill:#fff;stroke:#245477}
:root[data-theme=light] .gallery-swipe-hand>i{border-color:#287b9f;background:#76b9d938}
