/* AniMood · optical annotations. Typography stays in the DOM and stays sharp. */
#labels{z-index:4;pointer-events:none}
.glass-note{position:absolute;box-sizing:border-box;width:300px;max-width:calc(100vw - 36px);padding:19px 22px 20px;border-radius:24px;color:#f7f6ff;background:linear-gradient(135deg,rgba(28,30,53,.9),rgba(16,19,36,.91));border:1px solid rgba(219,220,255,.28);box-shadow:0 12px 40px #0002,inset 0 1px 0 #ffffff1a;transform-origin:50% 50%;will-change:transform,opacity;pointer-events:auto;cursor:default;backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15);isolation:isolate}
.optical-glass .glass-note{background:linear-gradient(135deg,#e5d5ff05,#a0e7f102);backdrop-filter:none;-webkit-backdrop-filter:none;border-color:#dcdfff24;box-shadow:0 16px 36px #0002,inset 0 1px 0 #ffffff14}
.glass-note:before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at var(--light-x,30%) var(--light-y,0%),#d5eaff14,transparent 68%);z-index:-1}
.glass-eyebrow{display:flex;align-items:center;gap:8px;color:#bbb7d4;font-size:9px;line-height:1.3;font-weight:600;letter-spacing:.17em;margin-bottom:9px}
.glass-eyebrow:before{content:'';width:4px;height:4px;flex:none;border-radius:50%;background:#84d9da;box-shadow:0 0 8px #77dddf59}
.glass-note h2{font-size:19px;line-height:1.2;font-weight:500;letter-spacing:-.025em;margin:0 0 10px;color:#fbfaff}
.glass-note p{font-size:13px;line-height:1.55;letter-spacing:.005em;color:#d8d9e9;margin:0;max-width:35ch;text-wrap:pretty}
#leaders{z-index:3;overflow:visible}.glass-leader{fill:none;stroke:#bdb4d9;stroke-width:.8;stroke-linecap:round}.glass-anchor{fill:#d6f5f3;stroke:#8fdddc66;stroke-width:4}
@media(min-width:1400px){.glass-note h2{font-size:21px}.glass-note p{font-size:14px}.glass-note{padding:22px 24px}}
@media(max-width:759px){.glass-note{padding:14px 18px;border-radius:24px}.glass-eyebrow{font-size:8px;margin-bottom:6px;letter-spacing:.15em}.glass-note h2{font-size:17px;margin-bottom:7px}.glass-note p{font-size:12px;line-height:1.45;max-width:none}.glass-leader{stroke-width:.7}}
@media(max-height:560px) and (min-width:760px){.glass-note{padding:14px 18px}.glass-note h2{font-size:17px;margin-bottom:7px}.glass-note p{font-size:12px;line-height:1.4}.glass-eyebrow{margin-bottom:6px}}
@media(prefers-reduced-motion:reduce){.glass-note{will-change:auto}.glass-note:before{display:none}}

/* Five component stops, with a quiet icon rail rather than an extra text panel. */
.controls{inset:0;transform:none;display:block;pointer-events:none}
.controls>#replay{position:absolute;left:28px;bottom:23px;pointer-events:auto;color:#c7c6db}
#chapters{position:absolute;right:19px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:14px;pointer-events:auto}
#chapters button{position:relative;width:46px;height:46px;display:grid;place-items:center;border:1px solid #d9d9f329;border-radius:50%;background:linear-gradient(145deg,#e1d2ff09,#a6e9eb03);color:#8c8ba3;transition:color .35s,border-color .35s,box-shadow .35s,background .35s}
#chapters button:before{display:none}
#chapters button svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.35;fill:none;stroke-linecap:round;stroke-linejoin:round}
#chapters button.active{color:#e5fffd;border-color:#80d9d8aa;background:radial-gradient(circle at 35% 20%,#a0e8f229,#5b3d911a 75%);box-shadow:inset 0 0 15px #95e9eb0e,0 0 20px #6bcbcf17}
#chapters button:hover{color:#fff;border-color:#d7d0f1a1}
.step-tooltip{position:absolute;right:59px;top:50%;transform:translate(5px,-50%);width:max-content;max-width:170px;font-size:11px;line-height:1.4;padding:7px 10px;border-radius:9px;background:#151324eb;color:#e9e7f5;border:1px solid #b9b0d82b;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
#chapters button:hover .step-tooltip,#chapters button:focus-visible .step-tooltip{opacity:1;transform:translate(0,-50%)}
#scroll-hint{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);margin:0;text-align:center;font-size:12px;letter-spacing:.015em;color:#d2c9e3;pointer-events:none}
#scroll-hint span{display:block;margin-top:7px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#92879f}
@media(max-width:759px){
 #chapters{top:auto;right:12px;bottom:14px;transform:none;flex-direction:row;gap:4px}
 #chapters button{width:44px;height:44px}
 #chapters button svg{width:19px;height:19px}
 .controls>#replay{left:8px;bottom:14px}
 .step-tooltip{display:none}
 #scroll-hint{bottom:83px;width:90%}
}
@media(max-height:450px) and (min-width:760px){#chapters{gap:6px}}
