.pw-gate{min-height:100vh;--pw-a:#7848a08c;--pw-b:#a8466e80;--pw-base:#1a0f2e;background:radial-gradient(circle at 18% 12%, var(--pw-a), transparent 46%), radial-gradient(circle at 86% 88%, var(--pw-b), transparent 46%), var(--pw-base);color:#fff;flex-direction:column;justify-content:center;align-items:center;gap:26px;min-height:100dvh;padding:24px 16px;display:flex;position:relative;overflow:hidden}.pw-sparks{pointer-events:none;position:absolute;inset:0}.pw-sparks i{opacity:0;background:radial-gradient(circle,#ffe2f0e6,#ffe2f000);border-radius:50%;animation:linear infinite pw-rise;position:absolute;bottom:-20px}@keyframes pw-rise{0%{opacity:0;transform:translateY(0)}12%{opacity:.8}to{opacity:0;transform:translateY(-110vh)}}.pw-card{z-index:1;box-sizing:border-box;-webkit-backdrop-filter:blur(18px)saturate(1.3);backdrop-filter:blur(18px)saturate(1.3);text-align:center;background:#ffffff1a;border:1px solid #ffffff38;border-radius:30px;width:min(344px,92vw);padding:30px 24px 22px;position:relative;box-shadow:0 30px 70px #00000073,inset 0 1px #ffffff2e}.pw-icon{color:#ffe6b8;background:#ffffff1f;border:1px solid #ffffff47;border-radius:50%;place-items:center;width:46px;height:46px;display:inline-grid}.pw-card h1{letter-spacing:0;text-shadow:0 2px 16px #00000059;margin:14px 0 0;font-family:LetterPlayfairDisplay,Georgia,serif;font-size:1.55rem;font-style:italic;font-weight:500;line-height:1.2}.pw-sub{color:#ffffffc2;margin:8px 0 0;font-family:LetterNunito,system-ui,sans-serif;font-size:.9rem}.pw-dots{justify-content:center;gap:15px;margin:24px 0 26px;display:flex}.pw-dots span{border:1.5px solid #ffffffd1;border-radius:50%;width:13px;height:13px;transition:background .15s,transform .15s}.pw-dots span.on{background:#fff;transform:scale(1.08)}.pw-dots.checking span.on{animation:.9s ease-in-out infinite pw-pulse}.pw-dots.shake{animation:.5s pw-shake}.pw-dots.shake span.on{background:#ff9bb0;border-color:#ff9bb0}@keyframes pw-pulse{50%{opacity:.45}}@keyframes pw-shake{15%,55%,90%{transform:translate(-9px)}35%,75%{transform:translate(9px)}}.pw-keys{grid-template-columns:repeat(3,68px);justify-content:center;gap:14px 18px;display:grid}.pw-key{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff24;border:1px solid #fff3;border-radius:50%;place-items:center;width:68px;height:68px;padding:0;font:300 1.7rem/1 LetterNunito,system-ui,sans-serif;transition:background .12s,transform .12s;display:grid}.pw-key:hover:not(:disabled){background:#ffffff38}.pw-key:active:not(:disabled){background:#ffffff5c;transform:scale(.93)}.pw-key:disabled{cursor:default;opacity:.5}.pw-key:focus-visible{outline-offset:3px;outline:2px solid #ffe6b8}.pw-key--blank{visibility:hidden;border:0}.pw-key--delete{background:0 0;border-color:#0000}.pw-error{color:#ffffffb3;min-height:1.3em;margin:18px 0 0;font-family:LetterNunito,system-ui,sans-serif;font-size:.82rem}.pw-hint{z-index:1;color:#ffffff8c;letter-spacing:.34em;text-transform:uppercase;margin:0;font-family:LetterNunito,system-ui,sans-serif;font-size:.68rem;position:relative}@media (max-width:380px){.pw-keys{grid-template-columns:repeat(3,62px);gap:12px 14px}.pw-key{width:62px;height:62px}}@media (prefers-reduced-motion:reduce){.pw-sparks i,.pw-dots.checking span.on{animation:none}.pw-dots.shake{outline-offset:6px;border-radius:99px;outline:2px solid #ff9bb0;animation:none}}.pw-gate[data-tone=rose]{--pw-a:#b046648c;--pw-b:#78326480;--pw-base:#2a0f1d}.pw-gate[data-tone=amber]{--pw-a:#ce7c3480;--pw-b:#963e5e73;--pw-base:#2b1710}.pw-gate[data-tone=sky]{--pw-a:#467cd08c;--pw-b:#965ccc73;--pw-base:#0f1a34}.pw-gate[data-tone=lilac]{--pw-a:#9272e08c;--pw-b:#de7aac73;--pw-base:#1d1536}.pw-gate[data-tone=forest]{--pw-a:#46967080;--pw-b:#c0708e66;--pw-base:#0f2320}.pw-gate[data-tone=dusk]{--pw-a:#ff8cc06b;--pw-b:#647ae880;--pw-base:#1b1242}@font-face{font-family:LetterGeist;src:url(/fonts/Geist.ttf)format("truetype-variations"),url(/fonts/Geist.ttf)format("truetype");font-weight:100 900;font-display:swap}@font-face{font-family:LetterNunito;src:url(/fonts/Nunito.ttf)format("truetype-variations"),url(/fonts/Nunito.ttf)format("truetype");font-weight:200 1000;font-display:swap}@font-face{font-family:LetterCedarvilleCursive;src:url(/fonts/CedarvilleCursive.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:LetterLaBelleAurora;src:url(/fonts/LaBelleAurora.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:LetterSpaceMono;src:url(/fonts/SpaceMono-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:LetterSpaceMono;src:url(/fonts/SpaceMono-Bold.ttf)format("truetype");font-weight:700;font-display:swap}@font-face{font-family:LetterRobotoMono;src:url(/fonts/RobotoMono.ttf)format("truetype-variations"),url(/fonts/RobotoMono.ttf)format("truetype");font-weight:100 700;font-display:swap}@font-face{font-family:LetterPatrickHand;src:url(/fonts/PatrickHand.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:LetterIndieFlower;src:url(/fonts/IndieFlower.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:LetterInstrumentSerif;src:url(/fonts/InstrumentSerif.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:LetterPlayfairDisplay;src:url(/fonts/PlayfairDisplay.ttf)format("truetype-variations"),url(/fonts/PlayfairDisplay.ttf)format("truetype");font-weight:400 900;font-display:swap}
