/* The original eye, with internal eyelids and a dark green dialog. */
/* Eyelids stay inside the eye socket; the orbital rings remain visible. */
.eye-lid { display: none; }
.eye-inner::before, .eye-inner::after {
 content: '';
 position: absolute;
 left: -5%;
 width: 110%;
 z-index: 6;
 pointer-events: none;
 background: #100c12;
 will-change: transform;
}
.eye-inner::before {
 top: -1%;
 height: 76%;
 border-radius: 0 0 48% 48% / 0 0 17% 17%;
 border-bottom: 1px solid #453148;
 transform: translateY(-110%);
}
.eye-inner::after {
 bottom: -1%;
 height: 42%;
 border-radius: 48% 48% 0 0 / 24% 24% 0 0;
 border-top: 1px solid #392b3e;
 transform: translateY(110%);
}
.eye-portal.is-blinking .eye-inner::before { animation: gentle-upper-blink 280ms cubic-bezier(.4,0,.2,1) both; }
.eye-portal.is-blinking .eye-inner::after { animation: gentle-lower-blink 280ms cubic-bezier(.4,0,.2,1) both; }
.eye-portal.is-invoking .eye-inner::before { animation: ritual-upper-blink 1400ms cubic-bezier(.4,0,.2,1) infinite; }
.eye-portal.is-invoking .eye-inner::after { animation: ritual-lower-blink 1400ms cubic-bezier(.4,0,.2,1) infinite; }
@keyframes gentle-upper-blink {
 0%,100% { transform: translateY(-110%); }
 34%,44% { transform: translateY(0); }
}
@keyframes gentle-lower-blink {
 0%,100% { transform: translateY(110%); }
 38%,46% { transform: translateY(0); }
}
@keyframes ritual-upper-blink {
 0%,26%,36%,61%,71%,100% { transform: translateY(-110%); }
 9%,12%,45%,48%,80%,83% { transform: translateY(0); }
}
@keyframes ritual-lower-blink {
 0%,28%,38%,63%,73%,100% { transform: translateY(110%); }
 10%,13%,46%,49%,81%,84% { transform: translateY(0); }
}
@media(prefers-reduced-motion:reduce) {
 .eye-inner::before,.eye-inner::after { animation:none !important; }
}

.library-theme .eye-dialog { background:linear-gradient(135deg,#10251af7,#08140efc); border-color:#b8a27266; box-shadow:0 12px 36px #0006,0 0 28px #244b2e24; }
.library-theme .eye-dialog::after { background:#0a1911; border-color:#b8a27266; }
.library-theme .eye-dialog > span { color:#cbd6c8; }
