/* Floating glass bubbles sit outside controls, so they never cover the label. */
.interaction-bubbles{position:fixed;inset:0;pointer-events:none;z-index:1000;overflow:hidden;contain:strict}.interaction-bubble{position:absolute;display:block;border-radius:50%;border:1px solid #d7edbb80;background:radial-gradient(circle at 29% 24%,#f4ffe573 0%,#d4ebad1c 22%,#a6c48c09 50%,#d6e6b333 85%,#c8e4ac44);box-shadow:inset -1px -2px 3px #d4e9c032,0 0 9px #b3d28010;opacity:0;animation:control-bubble 1000ms cubic-bezier(.2,.65,.3,1) var(--bubble-delay,0ms) forwards}.interaction-bubble:before{content:'';position:absolute;left:22%;top:15%;width:28%;height:13%;background:#f4ffeabf;border-radius:50%;transform:rotate(-35deg)}
@keyframes control-bubble{0%{opacity:0;transform:translate(-50%,0) scale(.35)}15%{opacity:.85}75%{opacity:.5}100%{opacity:0;transform:translate(calc(-50% + var(--bubble-drift)),calc(-1 * var(--bubble-rise))) scale(1.14)}}
@media(hover:hover) and (pointer:fine){.button,.text-button,.icon-button,.round-button,.journal-tools button,.book-navigation button,.scope-objectives button,.scope-capture button,.scope-assist,.scope-pan button{transition:transform .23s cubic-bezier(.2,.7,.3,1),box-shadow .25s,background .25s,border-color .25s,color .2s}.button:hover:not(:disabled),.journal-tools button:hover:not(:disabled),.scope-capture button:hover:not(:disabled),.scope-assist:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 7px 19px #0003,inset 0 1px 0 #f1f8d927}.text-button:hover:not(:disabled){text-shadow:0 0 18px #d6eab044}.text-button:hover svg{transform:translateX(3px)}.text-button svg{transition:transform .25s}.icon-button:hover:not(:disabled),.round-button:hover:not(:disabled){transform:translateY(-2px) scale(1.06);box-shadow:0 0 0 5px #c4dca90b,0 5px 15px #0002}.scope-slides button:hover{transform:translateY(-3px);border-color:#c5d9a76b}.scope-slides button:hover .slide-glass{transform:rotate(-3deg) translateY(-1px)}.slide-glass{transition:transform .3s}.desktop-nav a{padding:11px 12px;margin-inline:-7px;border-radius:24px;transition:background .25s,box-shadow .25s,color .2s}.desktop-nav a:hover{background:#b7d29012;box-shadow:inset 0 1px 0 #d4e7b21c,0 5px 18px #0002}.desktop-nav .active{background:#b5cb8d0c;box-shadow:inset 0 1px 0 #d5e5b810}.desktop-nav .active:after{bottom:1px!important;left:12px}.scope-objectives button:hover,.book-navigation button:hover:not(:disabled){box-shadow:0 0 0 3px #bfd9a409}.button:active:not(:disabled),.icon-button:active:not(:disabled),.scope-capture button:active:not(:disabled){transform:translateY(0) scale(.98)}}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #c3daa4;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.interaction-bubbles{display:none}.button,.text-button,.icon-button,.round-button,.desktop-nav a,.journal-tools button,.book-navigation button,.scope-slides button,.scope-objectives button,.scope-capture button,.scope-assist,.scope-pan button{transition:none!important;transform:none!important}.text-button svg{transition:none!important}}
