/* The original centred composition never changes. The mascot is an overlay. */
.signature-hero:not([data-mascot-layout="active"]) .linud-mascot { display:none; }
.mascot-integrated .signature-hero { position:relative; }
.mascot-integrated .signature-content { position:relative; z-index:2; }
.mascot-integrated .signature-bottom { position:relative; z-index:2; }
.linud-mascot {
 position:absolute; inset:0; z-index:auto; margin:0; padding:0;
 pointer-events:none; overflow:visible;
}
.mascot-stage { position:absolute; inset:0; z-index:1; overflow:hidden; pointer-events:none; }
.mascot-stage[data-follow="true"] { position:fixed; inset:0; z-index:4; pointer-events:none; contain:strict; }
body:has(.site-header.is-nav-open) > .mascot-stage[data-follow="true"],
body:has(dialog[open]) > .mascot-stage[data-follow="true"] { visibility:hidden; }
#mascot-canvas { display:block; position:absolute; inset:0; width:100%; height:100%; opacity:0; pointer-events:none; }
.mascot-stage[data-ready="true"][data-frame-ready="true"] #mascot-canvas { opacity:1; }
#mascot-image { display:none; }
.mascot-stage[data-state="fallback"] #mascot-image {
 display:block; position:absolute; left:var(--mascot-fallback-x,50%); top:var(--mascot-fallback-y,100px);
 width:var(--mascot-fallback-width,150px); height:auto; transform:translateX(-50%);
}
.mascot-controls {
 position:absolute; top:var(--mascot-controls-top,70%); left:50%; transform:translateX(-50%);
 z-index:4; display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
 width:max-content; max-width:calc(100% - 40px); gap:0 18px;
 color:#465064; text-align:center; font:12px/1.55 'Linud Sans',sans-serif;
 pointer-events:auto;
}
.mascot-controls button {
 background:none; border:0; color:#174dcd; font:inherit;
 min-height:44px; padding:6px 2px; cursor:pointer; text-underline-offset:4px;
 touch-action:manipulation;
}
@media(hover:hover) { .mascot-controls button:hover { text-decoration:underline; } }
.mascot-controls button:disabled { color:#596576; cursor:default; text-decoration:none; }
.mascot-controls button:focus-visible { outline:2px solid #174dcd; outline-offset:3px; border-radius:4px; }
.mascot-controls button[hidden] { display:none; }
.mascot-hint { flex-basis:100%; margin:0; color:#566174; font-size:11px; min-height:17px; }
.linud-mascot[data-controls-compact="true"] .mascot-hint { position:absolute; width:1px; height:1px; min-height:0; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.linud-mascot[data-controls-corner="true"] .mascot-controls { left:22px; transform:none; width:110px; flex-direction:column; gap:0; }
.linud-mascot[data-reduced-motion="true"] .mascot-controls { display:none; }
.signature-hero[data-mascot-scene="story"] .mascot-hint { visibility:hidden; }
.mascot-question {
 display:inline; color:inherit; font:inherit; letter-spacing:inherit; line-height:inherit;
 background:none; border:0; padding:0; margin:0; text-align:inherit; vertical-align:baseline;
 cursor:pointer; position:relative; touch-action:manipulation;
}
.mascot-integrated.signature-preview #signature-title .mascot-question { font-family:inherit!important; font-weight:inherit!important; }
.mascot-question::after {
 content:''; position:absolute; left:0; right:0; bottom:.03em; height:2px;
 background:#86dce9; border-radius:2px; opacity:0; transition:opacity 160ms ease;
}
@media(hover:hover) { .mascot-question:not(:disabled):hover::after { opacity:1; } }
.mascot-question:focus-visible { outline:2px solid #174dcd; outline-offset:7px; border-radius:3px; }
.mascot-question:disabled { cursor:default; }
.signature-hero:not([data-mascot-layout="active"]) .mascot-question::after { display:none; }
@media(max-width:700px) { .mascot-controls { gap:0 14px; font-size:11px; } .mascot-hint { font-size:10px; } }
@media(prefers-reduced-motion:reduce) { .mascot-question::after { transition:none; } }
