/* Jointed ink ribbons and a cursor cocoon, confined to marked authentication links. */
[data-symbiote],.header-login [data-symbiote],.account-header [data-symbiote]{box-sizing:border-box;min-height:56px;padding:15px 26px;border-radius:999px;font-size:15px;font-weight:650;line-height:1.3;gap:18px;white-space:nowrap}
.header-actions .login-link[data-symbiote]{min-width:120px;justify-content:center;border:1px solid #292b2238;background:#ffffff6b}
.header-actions .header-cta[data-symbiote]{min-width:212px}
.login-header [data-symbiote],.account-header [data-symbiote]{display:inline-flex;align-items:center;justify-content:center}
.header-actions [data-symbiote]>span,.header-login [data-symbiote]>span{font-size:24px}
@media(min-width:701px){.header-actions{gap:16px}}
@media(max-width:700px){
    [data-symbiote],.header-login [data-symbiote],.account-header [data-symbiote]{min-height:48px;padding:12px 18px;font-size:13px;gap:12px}
    .header-actions .login-link[data-symbiote]{min-width:102px}
    .header-actions .header-cta[data-symbiote]{min-width:180px}
}
@media(max-width:380px){.login-header [data-symbiote]{font-size:12px;padding-inline:12px;gap:8px}}
.symbiote-web{position:fixed;inset:0;width:100%;height:100%;z-index:150;pointer-events:none!important;overflow:hidden;opacity:0;transition:opacity 90ms linear;contain:strict}
.symbiote-web.is-visible{opacity:var(--symbiote-strength,1)}
.symbiote-strand,.symbiote-ink{fill:#08090c;stroke:none}
.symbiote-shine{fill:none;stroke:#626773;stroke-width:.65;stroke-opacity:.55;stroke-linecap:round}
.symbiote-branch{fill:none;stroke:#08090c;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.symbiote-branch:nth-child(3n){stroke-width:.7}
.symbiote-curl{fill:none;stroke:#050507;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.symbiote-curl:nth-child(2n){stroke-width:1.1}
.symbiote-ink-shine{fill:none;stroke:#858995;stroke-width:1.1;stroke-opacity:.55;stroke-linecap:round}
@media(hover:hover) and (pointer:fine){
    /* JS integrates translate itself; a CSS transition here would feed delayed geometry back into the solver. */
    .symbiote-button{translate:var(--symbiote-x,0px) var(--symbiote-y,0px);transition:background-color 140ms ease,color 140ms ease,border-color 140ms ease,box-shadow 140ms ease;border-radius:999px}
    .symbiote-button.is-symbiote-near{background-color:#08090c!important;border-color:#08090c!important;color:#fff!important;box-shadow:inset 0 1px 0 #ffffff25,0 3px 12px #08090c26}
    .symbiote-button:focus-visible{outline:3px solid #8170dc;outline-offset:5px}
    html.is-symbiote-captured,html.is-symbiote-captured *{cursor:none!important}
}
@media(prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.symbiote-web{display:none}.symbiote-button{translate:none!important}html.is-symbiote-captured,html.is-symbiote-captured *{cursor:revert!important}}
html[data-motion=off] .symbiote-web{display:none}html[data-motion=off] .symbiote-button{translate:none!important}
html[data-motion=off].is-symbiote-captured,html[data-motion=off].is-symbiote-captured *{cursor:revert!important}
