.corner-tl,.corner-tr,.corner-bl,.corner-br{border-color:var(--rhod-edge);z-index:3;pointer-events:none;border-style:solid;border-width:0;width:24px;height:24px;position:fixed}.corner-tl{border-top-width:1px;border-left-width:1px;top:16px;left:16px}.corner-tr{border-top-width:1px;border-right-width:1px;top:16px;right:16px}.corner-bl{border-bottom-width:1px;border-left-width:1px;bottom:16px;left:16px}.corner-br{border-bottom-width:1px;border-right-width:1px;bottom:16px;right:16px}@media (width<=640px){.corner-tl,.corner-tr,.corner-bl,.corner-br{display:none}}.ribbon{z-index:50;pointer-events:none;justify-content:space-between;align-items:center;padding:0 36px;display:flex;position:fixed;top:24px;left:0;right:0}.ribbon>*{pointer-events:auto}.ribbon .cyan{color:var(--rhod-cyan)}.ribbon-status{border:1px solid var(--rhod-edge);-webkit-backdrop-filter:blur(6px);font-family:var(--font-mono);letter-spacing:.16em;color:var(--rhod-fg-mute);text-transform:uppercase;background:#0a0e18d9;border-radius:100px;align-items:center;gap:10px;padding:7px 14px;font-size:11px;display:inline-flex}.ribbon-status .pip{background:var(--rhod-cyan);width:6px;height:6px;box-shadow:0 0 10px var(--rhod-cyan);border-radius:50%;animation:2s ease-in-out infinite rhod-pip-pulse}.ribbon-status .pip-locked{background:var(--rhod-danger);box-shadow:0 0 10px var(--rhod-danger);animation:1s ease-in-out infinite rhod-pip-pulse}@keyframes rhod-pip-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.ribbon-meta{font-family:var(--font-mono);letter-spacing:.16em;color:var(--rhod-fg-dim);text-transform:uppercase;font-size:11px}@media (width<=640px){.ribbon{padding:0 20px}.ribbon-meta{display:none}}.vault{z-index:5;flex-direction:column;justify-content:center;align-items:center;gap:22px;min-height:100vh;padding:80px 24px 64px;display:flex;position:relative}.vault:not(.vault-rejected):not(.vault-locked)>*{animation:rhod-vault-enter .7s var(--ease-out) backwards}.vault:not(.vault-rejected):not(.vault-locked)>:first-child{animation-delay:.1s}.vault:not(.vault-rejected):not(.vault-locked)>:nth-child(2){animation-delay:.2s}.vault:not(.vault-rejected):not(.vault-locked)>:nth-child(3){animation-delay:.3s}.vault:not(.vault-rejected):not(.vault-locked)>:nth-child(4){animation-delay:.4s}.vault:not(.vault-rejected):not(.vault-locked)>:nth-child(5){animation-delay:.5s}@keyframes rhod-vault-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.vault-display{width:clamp(200px,24vw,260px);height:clamp(200px,24vw,260px);position:relative}.vault-ring{filter:drop-shadow(0 0 20px #00d4ff38);width:100%;height:100%;position:absolute;inset:0}.ring-outer{transform-origin:100px 100px;animation:28s linear infinite rhod-ring-spin}.ring-inner{transform-origin:100px 100px;animation:42s linear infinite reverse rhod-ring-spin}@keyframes rhod-ring-spin{to{transform:rotate(360deg)}}.vault-rhino{filter:drop-shadow(0 0 14px #00d4ff8c);opacity:.92;width:38%;height:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vault-rejected .vault-display{animation:.5s ease-in-out rhod-vault-shake}.vault-rejected .vault-ring{filter:drop-shadow(0 0 18px #ff547073)}.vault-rejected .vault-ring circle,.vault-rejected .vault-ring polygon,.vault-rejected .vault-ring line{stroke:var(--rhod-danger)}.vault-rejected .vault-rhino{filter:drop-shadow(0 0 14px #ff547099)}@keyframes rhod-vault-shake{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(7px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.vault-locked .ring-outer,.vault-locked .ring-inner{animation-play-state:paused}.vault-locked .vault-ring{filter:drop-shadow(0 0 18px #ff547059)saturate(.4)}.vault-locked .vault-rhino{opacity:.5;filter:grayscale(.7)}.vault-title{font-family:var(--font-mono);letter-spacing:.5em;color:var(--rhod-fg-mute);text-transform:uppercase;text-indent:.5em;margin:0;font-size:clamp(12px,1.2vw,14px);font-weight:500}.vault-sub{font-family:var(--font-body);color:var(--rhod-fg-dim);margin:-8px 0 0;font-size:clamp(13px,1.2vw,15px)}.vault-sr{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.vault-form{flex-direction:column;align-items:stretch;gap:14px;width:100%;max-width:440px;display:flex}.vault-codes{flex-direction:column;gap:12px;width:100%;display:flex}.vault-code-group{flex-direction:column;gap:5px;display:flex}.vault-code-label{font-family:var(--font-mono);letter-spacing:.32em;color:var(--rhod-fg-mute);text-transform:uppercase;text-indent:.32em;user-select:none;cursor:default;padding-left:4px;font-size:10px;font-weight:500}.vault-code-group:focus-within .vault-code-label{color:var(--rhod-cyan);transition:color .2s var(--ease-out)}.vault-input-wrap{isolation:isolate;position:relative}.vault-input{border:1px solid var(--rhod-edge);width:100%;color:var(--rhod-fg);font-family:var(--font-mono);letter-spacing:.28em;text-align:center;transition:border-color .3s var(--ease-out), box-shadow .3s var(--ease-out), background .3s var(--ease-out);-webkit-backdrop-filter:blur(8px);background:linear-gradient(#00d4ff0a 0%,#00d4ff00 60%),#0a0e18b8;border-radius:11px;outline:none;padding:14px 18px;font-size:15px;font-weight:500;box-shadow:inset 0 1px #ffffff0a,inset 0 -1px #0000004d}.vault-input::placeholder{color:var(--rhod-fg-dim);letter-spacing:.24em;font-size:11px;font-weight:400}.vault-input:focus{border-color:var(--rhod-cyan);background:linear-gradient(#00d4ff14 0%,#00d4ff00 60%),#0a0e18d9;box-shadow:0 0 0 3px #00d4ff1a,0 0 20px #00d4ff26,inset 0 1px #ffffff0f,inset 0 -1px #0000004d}.vault-input:disabled{opacity:.5;cursor:not-allowed}.vault-input-glow{background:var(--rhod-cyan);width:0;height:1px;box-shadow:0 0 8px var(--rhod-cyan);transition:width .4s var(--ease-out);pointer-events:none;z-index:2;position:absolute;bottom:-1px;left:50%;transform:translate(-50%)}.vault-input:focus~.vault-input-glow{width:80%}.vault-rejected .vault-input{border-color:var(--rhod-danger);animation:.45s ease-in-out rhod-input-shake;box-shadow:0 0 0 2px #ff54701a,0 0 18px #ff547029,inset 0 1px #ffffff0a}.vault-rejected .vault-input-glow{background:var(--rhod-danger);box-shadow:0 0 8px var(--rhod-danger)}.vault-rejected .vault-code-label{color:var(--rhod-danger);opacity:.85}@keyframes rhod-input-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}}.vault-submit{justify-content:center;width:100%;margin-top:4px}.vault-submit:disabled{opacity:.45;pointer-events:none;transform:none}.vault-msg{text-align:center;min-height:22px;margin-top:2px}.vault-error{font-family:var(--font-mono);color:var(--rhod-danger);letter-spacing:.18em;text-transform:uppercase;font-size:11.5px;display:inline-block}.vault-warn{font-family:var(--font-mono);color:var(--rhod-fg-dim);letter-spacing:.16em;text-transform:uppercase;font-size:11px;display:inline-block}.vault-foot{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--rhod-fg-dim);opacity:.7;text-align:center;max-width:460px;margin-top:12px;font-size:10.5px}.vault-request-access{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:20px;padding:14px 16px;font-size:11.5px;display:flex}.vault-request-access-prompt{color:var(--rhod-fg-mute)}.vault-request-access-link{color:var(--rhod-cyan);align-items:center;gap:6px;font-weight:700;text-decoration:none;transition:color .2s,transform .2s;display:inline-flex}.vault-request-access-link:hover{color:var(--rhod-fg);transform:translate(2px)}.vault-request-access-link svg{transition:transform .2s}.vault-request-access-link:hover svg{transform:translate(2px)}.vault-back-row{text-align:center;margin-top:18px}.vault-back{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--rhod-fg-dim);align-items:center;gap:7px;font-size:12px;text-decoration:none;transition:color .2s,transform .2s;display:inline-flex}.vault-back svg{transition:transform .2s}.vault-back:hover,.vault-back:focus-visible{color:var(--rhod-cyan)}.vault-back:hover svg,.vault-back:focus-visible svg{transform:translate(-3px)}