/* Transparent logo and a short, non-blocking welcome sequence. */
body:not(.system-mode) .logo img,.logo img,.sidebar-brand img{background:transparent!important;object-fit:contain!important}
body:not(.system-mode) .logo img{width:clamp(150px,19vw,230px)!important;height:clamp(130px,17vw,200px)!important}
body:not(.system-mode)>header{gap:22px;padding-top:10px!important;padding-bottom:10px!important}
.tessa-intro{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#fffafb;pointer-events:none;opacity:1}
.tessa-intro-stage{position:relative;width:min(76vw,540px);aspect-ratio:1}
.tessa-logo-part{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;background:transparent!important;will-change:transform,opacity}
.tessa-logo-part.scissors{clip-path:polygon(0 0,31% 0,31% 29%,78% 29%,78% 39%,34% 39%,45% 76%,30% 76%,23% 43%,0 43%);transform-origin:26% 34%}
.tessa-logo-part.name{clip-path:polygon(34% 37%,93% 37%,93% 68%,34% 68%)}
.tessa-logo-part.dog{clip-path:inset(40% 69% 24% 3%)}
.tessa-logo-part.paw{clip-path:inset(65% 20% 1% 35%)}
.tessa-logo-part.title{clip-path:inset(14% 34% 69% 31%)}
.tessa-logo-part.bubble-a{clip-path:circle(4% at 79% 18%)}
.tessa-logo-part.bubble-b{clip-path:circle(6% at 72% 26%)}
.tessa-logo-part.bubble-c{clip-path:circle(6% at 86% 28%)}
.tessa-logo-part.bubble-d{clip-path:circle(4% at 84% 35%)}
.tessa-logo-part.bubble-e{clip-path:circle(5% at 96% 41%)}
.tessa-logo-part.bubble-f{clip-path:circle(4% at 94% 52%)}
.tessa-logo-part.bubble-g{clip-path:polygon(78% 57%,94% 57%,94% 74%,78% 74%)}
.is-playing .scissors{animation:tessa-scissors 2.7s both}
.is-playing .name{animation:tessa-name 2.7s .08s both}
.is-playing .dog{animation:tessa-dog 2.7s .13s both}
.is-playing .paw{animation:tessa-paw 2.7s .18s both}
.is-playing .title{animation:tessa-title 2.7s .08s both}
.is-playing [class*="bubble-"]{animation:tessa-bubbles 2.5s .12s both}
.is-playing .bubble-b,.is-playing .bubble-e{animation-delay:.22s}
.is-playing .bubble-c,.is-playing .bubble-g{animation-delay:.32s}
.is-playing .complete{animation:tessa-complete 2.9s both}
.tessa-intro.is-playing{animation:tessa-exit 3.2s both}
.tessa-intro-skip{position:absolute;bottom:max(26px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);pointer-events:auto;background:transparent!important;color:#71324e!important;border:1px solid #eed3df;padding:12px 20px;border-radius:24px;font:500 13px system-ui}
@keyframes tessa-scissors{0%{opacity:0;transform:translate(-45px,-25px) rotate(-14deg)}25%{opacity:1;transform:rotate(7deg)}43%{transform:rotate(-5deg)}64%,80%{opacity:1;transform:none}100%{opacity:0;transform:none}}
@keyframes tessa-name{0%{opacity:0;transform:translateX(42px)}34%,80%{opacity:1;transform:none}100%{opacity:0}}
@keyframes tessa-dog{0%{opacity:0;transform:translate(-28px,22px) rotate(-7deg)}32%{opacity:1;transform:translateY(-8px) rotate(3deg)}56%,80%{opacity:1;transform:none}100%{opacity:0}}
@keyframes tessa-paw{0%{opacity:0;transform:translateY(45px) scale(.8)}32%{opacity:1;transform:scale(1.07)}53%,80%{opacity:1;transform:none}100%{opacity:0}}
@keyframes tessa-title{0%{opacity:0;transform:translateY(-24px)}35%,80%{opacity:1;transform:none}100%{opacity:0}}
@keyframes tessa-bubbles{0%{opacity:0;transform:translateY(34px) scale(.85)}40%{opacity:1;transform:translateY(-12px)}65%,80%{opacity:1;transform:none}100%{opacity:0}}
@keyframes tessa-complete{0%,64%{opacity:0}81%,100%{opacity:1}}
@keyframes tessa-exit{0%,81%{opacity:1}100%{opacity:0;visibility:hidden;transform:scale(1.025)}}
@media(max-width:600px){body:not(.system-mode)>header{display:grid!important;grid-template-columns:150px minmax(0,1fr);gap:12px;padding-left:4%!important;padding-right:4%!important}body:not(.system-mode) .logo img{width:150px!important;height:140px!important}body:not(.system-mode)>header nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}body:not(.system-mode)>header nav button{font-size:12px!important;padding:12px 14px!important}body:not(.system-mode)>header nav a{font-size:13px}.tessa-intro-stage{width:min(86vw,460px)}}
@media(max-width:360px){body:not(.system-mode)>header{grid-template-columns:125px minmax(0,1fr)}body:not(.system-mode) .logo img{width:125px!important;height:120px!important}}
@media(prefers-reduced-motion:reduce){.tessa-intro{display:none!important}.tessa-logo-part{animation:none!important}}
