@keyframes typingCursorBlink{0%,to{opacity:1}50%{opacity:0}}.typewriter-cursor{display:inline-block;width:2.5px;height:.85em;background-color:#222;margin-left:4px;vertical-align:middle;border-radius:1px;animation:typingCursorBlink .75s ease-in-out infinite}@keyframes wordFadeSlideIn{0%{opacity:0;transform:translateY(8px) scale(.96);filter:blur(2px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.typewriter-word{display:inline-block;opacity:0;animation:wordFadeSlideIn .45s cubic-bezier(.16,1,.3,1) forwards}@keyframes bookPageTurnEntrance{0%{opacity:0;transform:perspective(1200px) rotateX(-50deg) translateY(-20px);transform-origin:top center;filter:blur(4px)}65%{opacity:.95;transform:perspective(1200px) rotateX(6deg) translateY(2px);filter:blur(0)}to{opacity:1;transform:perspective(1200px) rotateX(0deg) translateY(0);transform-origin:top center;filter:blur(0)}}@keyframes glassImageEntrance{0%{opacity:0;transform:translateY(-28px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes buttonsEntrance{0%{opacity:0;transform:translateY(28px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes glassPulseFloat{0%{transform:translateY(0) scale(1) rotate(0deg);filter:drop-shadow(0 4px 12px rgba(0,0,0,.06))}30%{transform:translateY(-8px) scale(1.03) rotate(-1.2deg);filter:drop-shadow(0 14px 24px rgba(0,0,0,.12))}60%{transform:translateY(-4px) scale(1.01) rotate(1.2deg);filter:drop-shadow(0 8px 16px rgba(0,0,0,.08))}to{transform:translateY(0) scale(1) rotate(0deg);filter:drop-shadow(0 4px 12px rgba(0,0,0,.06))}}@keyframes glassShadowPulse{0%,to{transform:scale(1);opacity:.5}30%{transform:scale(.75);opacity:.25}60%{transform:scale(.88);opacity:.4}}.glass-motion-step-1{opacity:0;animation:glassImageEntrance 1.1s cubic-bezier(.16,1,.3,1) .2s forwards}.glass-motion-step-2{animation:bookPageTurnEntrance 1.3s cubic-bezier(.22,1,.36,1) .5s forwards}.glass-motion-step-2,.glass-motion-step-3{opacity:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1200px}.glass-motion-step-3{animation:bookPageTurnEntrance 1.3s cubic-bezier(.22,1,.36,1) .8s forwards}.glass-motion-step-4{opacity:0;animation:buttonsEntrance 1.1s cubic-bezier(.16,1,.3,1) 1.1s forwards}.glass-exception-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:100vh;background-color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;box-sizing:border-box;padding:40px 24px}.glass-exception-wrapper.full-screen{min-height:100vh}.glass-exception-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;max-width:800px;margin:0 auto;background-color:#fff;box-sizing:border-box}.glass-exception-close-btn{position:absolute;top:24px;right:24px;width:32px;height:32px;border-radius:50%;background-color:#525252;color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease-in-out;outline:none;z-index:20;padding:0;box-shadow:0 2px 8px rgba(0,0,0,.15)}.glass-exception-close-btn:hover{background-color:#2b2b2b;transform:scale(1.1);box-shadow:0 4px 12px rgba(0,0,0,.25)}.glass-exception-close-btn:active{transform:scale(.95)}.glass-exception-close-btn svg{width:15px;height:15px;stroke:currentColor}.glass-exception-image-container{position:relative;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;margin-bottom:32px}.glass-exception-img{max-width:280px;width:100%;height:auto;object-fit:contain;display:block;animation:glassPulseFloat 3s ease-in-out 1.2s infinite;transform-origin:center center;will-change:transform,filter}.glass-exception-shadow-reflection{width:180px;height:14px;background:radial-gradient(ellipse at center,rgba(0,0,0,.15) 0,transparent 70%);border-radius:50%;margin-top:4px;animation:glassShadowPulse 3s ease-in-out 1.2s infinite;pointer-events:none}.glass-exception-title{font-size:28px;font-weight:700;color:#222;margin:0 0 16px;line-height:1.3;letter-spacing:-.3px}.glass-exception-title,.glass-exception-title-word{position:relative;display:inline-block}.glass-exception-underline-svg{position:absolute;left:0;bottom:-6px;width:100%;height:8px;overflow:visible;pointer-events:none}.glass-exception-subtitle{font-size:15px;color:#888;line-height:1.6;margin:0 0 36px;font-weight:400;max-width:520px}.glass-exception-subtitle p{margin:0 0 4px;padding:0}.glass-exception-subtitle p:last-child{margin-bottom:0}.glass-exception-actions{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:16px;width:100%}.glass-exception-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 22px;font-size:14px;font-weight:500;border-radius:9px;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);outline:none;text-decoration:none;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.glass-exception-btn-primary{background-color:#2b2b2b;color:#fff;border:1px solid #2b2b2b;box-shadow:0 2px 6px rgba(0,0,0,.08)}.glass-exception-btn-primary:hover{background-color:#1a1a1a;border-color:#1a1a1a;transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,0,0,.16)}.glass-exception-btn-primary:hover .glass-exception-icon svg{transform:rotate(45deg)}.glass-exception-btn-primary:active{transform:translateY(0);background-color:#000}.glass-exception-btn-secondary{background-color:#fff;color:#2b2b2b;border:1.5px solid #2b2b2b}.glass-exception-btn-secondary:hover{background-color:#f8f8f8;border-color:#1a1a1a;color:#1a1a1a;transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,0,0,.06)}.glass-exception-btn-secondary:active{transform:translateY(0);background-color:#f0f0f0}.glass-exception-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}.glass-exception-icon svg{display:block;transition:transform .3s ease}@media (max-width:680px){.glass-exception-wrapper{padding:32px 16px}.glass-exception-close-btn{top:16px;right:16px;width:28px;height:28px}.glass-exception-img{max-width:210px}.glass-exception-shadow-reflection{width:140px}.glass-exception-title{font-size:22px;margin-bottom:12px}.glass-exception-subtitle{font-size:14px;margin-bottom:28px}.glass-exception-actions{flex-direction:row;flex-wrap:wrap;gap:12px;justify-content:center}.glass-exception-btn{padding:9px 18px;font-size:13.5px}}@media (max-width:380px){.glass-exception-actions{flex-direction:column;width:100%}.glass-exception-btn{width:100%}}:root{--glass-shatter-color:#111;--glass-shatter-lens-fill:hsla(0,0%,7%,.03)}.glasses-shatter-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;position:relative}.glasses-shatter-svg{width:min(90vw,420px);max-width:100%;height:auto;overflow:visible;display:block}.glasses-shatter-shard{transform-box:view-box;transition-property:transform,opacity;transition-timing-function:cubic-bezier(.16,1,.3,1),ease-out;will-change:transform,opacity}@keyframes glassesFloatIn{0%{opacity:0;transform:translateY(-28px) scale(.82) rotate(-4deg)}65%{opacity:1;transform:translateY(4px) scale(1.03) rotate(1deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0deg)}}@keyframes glassesGlintSweep{0%{transform:translateX(-120%) rotate(25deg);opacity:0}30%{opacity:.85}70%{opacity:.85}to{transform:translateX(180%) rotate(25deg);opacity:0}}.glasses-shatter-group{transform-box:view-box;transform-origin:center;opacity:0}.glasses-shatter-group.visible{opacity:1;animation:glassesFloatIn .9s cubic-bezier(.22,1,.36,1) forwards}.glasses-glint-bar{animation:glassesGlintSweep 1.2s ease-in-out .4s 1 forwards}.glasses-shatter-replay-btn{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--glass-shatter-color);background:transparent;border:1px solid hsla(0,0%,7%,.25);border-radius:999px;padding:8px 18px;cursor:pointer;margin-top:16px;transition:all .2s ease}.glasses-shatter-replay-btn:hover{background:hsla(0,0%,7%,.06);transform:translateY(-1px)}