/* Glass is confined to the temporary transition layer; text stays unfiltered. */
html.ye-glass-enter::before,html.ye-glass-exit::before,
html.ye-glass-enter::after,html.ye-glass-exit::after{content:"";position:fixed;pointer-events:none;z-index:2000}
html.ye-glass-enter::before,html.ye-glass-exit::before{inset:0;background:rgba(250,247,245,.5);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
html.ye-glass-enter::after,html.ye-glass-exit::after{inset:24px;border:1px solid rgba(255,255,255,.8);border-radius:28px;background:linear-gradient(125deg,rgba(255,255,255,.65),rgba(255,255,255,.12) 38%,rgba(232,93,111,.08));box-shadow:0 24px 80px rgba(86,52,58,.1),inset 0 1px 0 rgba(255,255,255,.9)}
html.ye-glass-enter::before{animation:yeGlassClear .68s ease-out both}
html.ye-glass-enter::after{animation:yeGlassFloat .68s cubic-bezier(.2,.7,.2,1) both}
html.ye-glass-enter body>main{animation:yeContentFloat .68s cubic-bezier(.2,.7,.2,1) both}
html.ye-glass-exit::before{animation:yeGlassCover .26s ease-in both}
html.ye-glass-exit::after{animation:yeGlassCover .26s ease-in both}
@keyframes yeGlassClear{from{opacity:1}to{opacity:0}}
@keyframes yeGlassFloat{0%{opacity:.85;transform:translateY(22px) scale(.985)}100%{opacity:0;transform:translateY(-12px) scale(1.015)}}
@keyframes yeContentFloat{from{opacity:.65;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes yeGlassCover{from{opacity:0}to{opacity:1}}
@media(max-width:760px),(pointer:coarse){html.ye-glass-enter::after,html.ye-glass-exit::after{inset:12px;border-radius:22px}body[data-page=hitokoto]{overscroll-behavior:none}body[data-page=hitokoto]>main{touch-action:pan-x}}
@media(prefers-reduced-motion:reduce){html.ye-glass-enter::before,html.ye-glass-enter::after,html.ye-glass-exit::before,html.ye-glass-exit::after{display:none}html.ye-glass-enter body>main{animation:none}}
