.storage-zen-overlay { position: absolute; inset: 0; z-index: 60; pointer-events: auto; cursor: url(assets/cursor/mano.png) 2 2, default; }
.storage-zen-overlay[hidden] { display: none; }
.storage-zen-window { position: absolute; left: 50%; top: calc(100px * var(--zen-ry)); width: calc(230px * var(--zen-rx)); height: calc(132px * var(--zen-ry)); margin: 0; padding: 0; transform: translateX(-50%); color: #eee; font: 12px/15px Tahoma, Arial, sans-serif; letter-spacing: 0; }
.storage-zen-window::before { content: ''; position: absolute; z-index: -2; inset: 1.51515% 3.47826% 6.06061% 0; background-image: var(--zen-surface); background-position: left top; background-size: 101.35135% 419.67213%; background-repeat: no-repeat; pointer-events: none; }
.storage-zen-window::after { content: ''; position: absolute; z-index: -1; inset: 0; background-image: var(--zen-top), var(--zen-bottom), var(--zen-middle); background-position: center top, center bottom, center; background-size: 100% calc(67px * var(--zen-ry)), 100% calc(50px * var(--zen-ry)), 100% calc(15px * var(--zen-ry)); background-repeat: no-repeat, no-repeat, repeat-y; pointer-events: none; }
.storage-zen-window label { position: absolute; top: calc(35px * var(--zen-ry)); left: 20px; right: 20px; text-align: center; }
.storage-zen-window input { box-sizing: border-box; position: absolute; top: calc(57px * var(--zen-ry)); left: 50%; transform: translateX(-50%); width: calc(50px * var(--zen-rx)); height: calc(12px * var(--zen-ry)); min-height: 18px; padding: 0 3px; border: 0; border-radius: 0; background: #000; color: #ffe6d2; box-shadow: none; font: 12px Tahoma, Arial, sans-serif; letter-spacing: 0; text-align: left; cursor: text; }
.storage-zen-window button { position: absolute; bottom: calc(20px * var(--zen-ry)); width: calc(54px * var(--zen-rx)); height: calc(30px * var(--zen-ry)); padding: 0; border: 0; border-radius: 0; background-color: transparent; background-repeat: no-repeat; background-position: 0 0; background-size: 100% 300%; cursor: url(assets/cursor/mano.png) 2 2, pointer; }
.storage-zen-ok { left: calc(30.5px * var(--zen-rx)); background-image: var(--zen-ok); }
.storage-zen-cancel { right: calc(30.5px * var(--zen-rx)); background-image: var(--zen-cancel); }
.storage-zen-window button:hover { background-position: 0 50%; }
.storage-zen-window button:active { background-position: 0 100%; }
.storage-zen-window button:disabled { opacity: .55; cursor: default; }
.storage-zen-window :focus-visible { outline: 1px solid #d1ab62; outline-offset: 1px; }
.storage-zen-error { position: absolute; top: 100%; left: 0; right: 0; padding: 5px; text-align: center; color: #ffc2b8; background: rgba(0,0,0,.85); }
.storage-footer:not(:disabled):hover { background-position: 0 0; }
.storage-footer:not(:disabled):active { background-position: 0 -29px; }
@media (max-width: 600px) {
  .storage-zen-window { width: min(92vw, 360px); height: 240px; top: 20%; }
  .storage-zen-window::after { background-size: 100% 122px, 100% 91px, 100% 27px; }
  .storage-zen-window label { top: 45px; }
  .storage-zen-window input { top: 106px; width: 120px; height: 24px; }
  .storage-zen-window button { bottom: 26px; width: 90px; height: 50px; }
  .storage-zen-ok { left: 24px; }
  .storage-zen-cancel { right: 24px; }
}
