*,*::before,*::after{box-sizing:border-box}
html{min-height:100%;background:#000}
body{margin:0;background:#000;color:#fff;font-family:"Courier New",Courier,monospace;font-weight:700;-webkit-font-smoothing:antialiased}
body.ws-password-page{background-color:var(--wst-background-color);color:var(--wst-text-color);font-family:var(--wst-font-family);font-size:var(--wst-base-font-size)}
body.ws-password-page.wst-bg-photo{background-image:linear-gradient(var(--wst-photo-darkness),var(--wst-photo-darkness)),var(--wst-background-photo);background-position:center,var(--wst-photo-position);background-size:cover;background-repeat:no-repeat;background-attachment:fixed}
button,input{font:inherit}
button:focus-visible,input:focus-visible{outline:2px solid #fff;outline-offset:4px}
.password-shell{position:relative;display:flex;align-items:center;justify-content:center;min-height:100svh;overflow:hidden;background:transparent;isolation:isolate}
.password-stars{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none}
.password-center{display:flex;flex-direction:column;align-items:center;width:min(100%,650px);padding:36px 24px;text-align:center}
.password-logo{width:300px;height:118px;margin-bottom:34px;perspective:1200px}
.password-logo .flip-mark{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;animation:password-flip var(--wst-logo-spin,28s) linear infinite}
.password-logo .flip-face{position:absolute;inset:0;display:grid;place-items:center;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.password-logo .flip-face.back{transform:rotateY(180deg)}
.password-logo img{display:block;max-width:100%;max-height:100px;width:auto;height:auto;object-fit:contain}
.password-logo .front img{max-width:245px}
.password-logo .back img{max-width:260px}
@keyframes password-flip{from{transform:rotateY(0)}to{transform:rotateY(360deg)}}
.password-center h1{margin:0;font-family:var(--wst-font-family);font-size:clamp(28px,4vw,42px);font-weight:700;line-height:1.1;letter-spacing:0;text-transform:uppercase;text-wrap:balance}
.password-description{margin:13px 0 0;color:#c9c9c9;font-size:13px;line-height:1.5}
.password-shop-message{max-width:480px;margin:13px 0 0;color:#b7b7b7;font-size:13px;line-height:1.5}
.password-shop-message p{margin:0}
.password-countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;width:min(100%,420px);margin-top:30px}
.password-countdown div{display:flex;flex-direction:column;align-items:center;gap:7px}
.password-countdown strong{font-family:var(--wst-font-family);font-size:clamp(26px,5vw,40px);font-weight:700;font-variant-numeric:tabular-nums;line-height:1}
.password-countdown span{color:#aaa;font-size:9px;letter-spacing:.15em}
.password-actions{position:relative;width:min(230px,100%);height:44px;margin:30px auto 0;border:1px solid var(--wst-button-color);background:var(--wst-button-color);transition:width .36s cubic-bezier(.2,.75,.2,1),height .36s cubic-bezier(.2,.75,.2,1),background-color .25s ease}
.password-actions.is-open{width:min(320px,100%);height:140px;border-color:transparent;background:transparent}
.password-actions.has-error.is-open{height:200px}
.password-access-button{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;padding:5px 14px;border:0;background:transparent;color:var(--wst-button-text-color);cursor:pointer;font-size:15px;font-weight:700;letter-spacing:0;transition:opacity .15s ease,color .2s}
.password-access-button:hover{color:#555}
.password-actions.is-open .password-access-button{opacity:0;pointer-events:none}
.password-access-panel{position:absolute;inset:0;padding:14px;text-align:left;opacity:0;visibility:hidden;transform:scale(.96);transition:opacity .2s ease,transform .3s ease,visibility .3s}
.password-actions.is-open .password-access-panel{opacity:1;visibility:visible;transform:none;transition-delay:.12s}
.password-access-panel[hidden]{display:none}
.password-access-panel label{display:block;margin-bottom:8px;font-size:10px;letter-spacing:.16em}
.password-close{position:absolute;top:7px;right:10px;width:24px;height:24px;padding:0;border:0;background:transparent;color:#fff;cursor:pointer;font-size:21px;line-height:1}
.password-input-line{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.password-input-line input{width:100%;height:42px;min-width:0;padding:0 12px;border:1px solid #fff;background:#000;color:#fff;font-size:14px}
.password-input-line input:focus-visible{outline:1px solid #fff;outline-offset:2px}
.password-input-line input::placeholder{color:#999}
.password-input-line button{width:100%;height:40px;border:1px solid var(--wst-button-color);background:var(--wst-button-color);color:var(--wst-button-text-color);cursor:pointer;font-size:14px;font-weight:700}
.password-error{margin:0 0 12px;font-size:12px;line-height:1.5}
.password-error ul{margin:0;padding-left:18px}
@media(max-width:600px){.password-center{padding:28px 20px}.password-logo{width:260px;height:105px;margin-bottom:28px}.password-logo img{max-height:78px}.password-logo .front img{max-width:210px}.password-center h1{font-size:clamp(29px,8vw,38px)}.password-countdown{gap:7px;margin-top:25px}.password-countdown span{font-size:8px}.password-actions{margin-top:25px}}
@media(prefers-reduced-motion:reduce){.password-logo .flip-mark{animation:none}}
::selection{background:#fff;color:#000}
::-moz-selection{background:#fff;color:#000}
