:root{--navy:#01264f;--navy-dark:#001a38;--navy-light:#0a3a6b;--gold:#f7cb02;--gold-light:#ffde59;--gold-dark:#c7a302;--bg:#001126;--panel:#04234a;--panel-deep:#021a38;--steel:#8fa1b8;--steel-border:#2c4260;--steel-highlight:#4a5d78;--ink:#e9eef6;--ink-muted:#9db0c9;--ok:#6ee08a;--err:#ff9b9b}*{box-sizing:border-box}html{height:100%}body{margin:0;min-height:100vh;display:flex;flex-direction:column;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:radial-gradient(1100px 700px at 50% -180px,#06315e 0,transparent 60%),linear-gradient(180deg,var(--navy-dark) 0,var(--bg) 100%);background-attachment:fixed;color:var(--ink);-webkit-font-smoothing:antialiased}a{color:var(--gold-light);text-decoration:none}a:hover{color:#fff;text-decoration:underline;text-underline-offset:2px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}main{width:100%;max-width:1040px;margin:0 auto;padding:2rem 1.25rem 3rem}h1{font-size:1.6rem;font-weight:800;letter-spacing:-.01em;margin:.5rem 0 .75rem}h1:after{content:"";display:block;width:4.5rem;height:.25rem;margin-top:.55rem;border-radius:.25rem;background:var(--gold)}h2{font-size:1.1rem;font-weight:700;margin:2.2rem 0 .6rem}table{border-collapse:collapse;width:100%;font-size:.9rem}td,th{text-align:left;padding:.55rem .65rem;border-bottom:1px solid rgba(44,66,96,.7);vertical-align:top}th{color:var(--steel);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;border-bottom:2px solid rgba(247,203,2,.45)}tbody tr:nth-child(2n){background:rgba(255,255,255,.025)}tbody tr:hover{background:rgba(247,203,2,.05)}button{background:var(--gold);color:var(--navy);border:0;border-radius:999px;padding:.42rem 1.05rem;font-size:.85rem;font-weight:700;font-family:inherit;cursor:pointer}button:hover{background:var(--gold-light)}button:disabled{opacity:.65;cursor:default}button.ghost{color:var(--ink);font-weight:600;border:1px solid var(--steel-border)}button.ghost,button.ghost:hover{background:rgba(255,255,255,.05)}button.ghost:hover{border-color:rgba(247,203,2,.6);color:var(--gold-light)}button.danger{background:transparent;color:var(--err);font-weight:600;border:1px solid rgba(214,69,69,.55)}button.danger:hover{background:rgba(214,69,69,.16)}input,select{background:var(--panel-deep);color:var(--ink);border:1px solid var(--steel-border);border-radius:8px;padding:.45rem .65rem;font-size:.9rem;font-family:inherit}input:focus,select:focus{border-color:rgba(247,203,2,.6)}input::placeholder{color:#7488a3}.mono,code{font-family:ui-monospace,Cascadia Code,Consolas,monospace}.card{position:relative;background:radial-gradient(circle 2.5px at 11px 11px,var(--steel-highlight) 42%,transparent 46%),radial-gradient(circle 2.5px at calc(100% - 11px) 11px,var(--steel-highlight) 42%,transparent 46%),radial-gradient(circle 2.5px at 11px calc(100% - 11px),var(--steel-highlight) 42%,transparent 46%),radial-gradient(circle 2.5px at calc(100% - 11px) calc(100% - 11px),var(--steel-highlight) 42%,transparent 46%),linear-gradient(180deg,var(--panel) 0,var(--panel-deep) 100%);border:1px solid var(--steel-border);border-top:3px solid var(--gold);border-radius:12px;padding:1.1rem 1.4rem;margin:1rem 0;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 3px 10px rgba(0,0,0,.35)}.muted{color:var(--ink-muted);font-size:.85rem}.pill{display:inline-block;background:rgba(247,203,2,.1);border:1px solid rgba(247,203,2,.35);border-radius:999px;padding:.08rem .6rem;font-size:.72rem;font-weight:600;letter-spacing:.04em;color:var(--gold-light);white-space:nowrap}.row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.error{color:var(--err)}.ok{color:var(--ok)}nav.top{position:relative;display:flex;gap:1.4rem;align-items:center;background:var(--navy-dark);border-bottom:1px solid rgba(247,203,2,.2);padding:.7rem 1.4rem;box-shadow:0 2px 8px rgba(0,0,0,.35)}nav.top:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.55}nav.top a{color:#d7e1ee;font-size:.9rem;font-weight:600}nav.top a:hover{color:var(--gold-light);text-decoration:none}nav.top .brand{display:inline-flex;align-items:center;gap:.6rem;font-weight:800;font-size:1rem;color:#fff}nav.top .brand img{display:block}nav.top .brand .brand-vault{color:var(--gold)}.foot{margin-top:auto;padding:1.1rem 1.4rem 1.4rem;font-size:.75rem;color:#7488a3;border-top:1px solid rgba(44,66,96,.5)}.foot,.gate{text-align:center}.gate{max-width:520px;margin-top:6vh;display:flex;flex-direction:column;align-items:center}.gate h1{font-size:1.9rem;margin-top:1.4rem}.gate h1:after{margin-left:auto;margin-right:auto}.gate .muted{max-width:40ch;line-height:1.6}.vault-door{display:block;filter:drop-shadow(0 14px 30px rgba(0,0,0,.55))}.vault-door .dial{transform-origin:130px 130px;transition:transform 1.8s cubic-bezier(.68,-.15,.35,1)}.vault-door.unlocking .dial{transform:rotate(690deg)}.vault-door.unlocking{filter:drop-shadow(0 14px 30px rgba(0,0,0,.55)) drop-shadow(0 0 22px rgba(247,203,2,.35))}@media (prefers-reduced-motion:reduce){.vault-door .dial{transition:none}}.unlock-btn{margin-top:1.5rem;padding:.65rem 1.9rem;font-size:.95rem;box-shadow:0 4px 14px rgba(247,203,2,.25)}.lockers{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1rem;gap:1rem;margin-top:1.25rem}.locker{position:relative;display:flex;gap:.9rem;align-items:center;background:radial-gradient(circle 2.5px at 10px 10px,var(--steel-highlight) 42%,transparent 46%),radial-gradient(circle 2.5px at calc(100% - 10px) 10px,var(--steel-highlight) 42%,transparent 46%),radial-gradient(circle 2.5px at 10px calc(100% - 10px),var(--steel-highlight) 42%,transparent 46%),radial-gradient(circle 2.5px at calc(100% - 10px) calc(100% - 10px),var(--steel-highlight) 42%,transparent 46%),linear-gradient(180deg,#0b2c55 0,#062042 100%);border:1px solid var(--steel-border);border-radius:10px;padding:1rem 1.15rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 2px 8px rgba(0,0,0,.35);color:var(--ink);transition:border-color .15s ease,transform .15s ease}a.locker:hover{text-decoration:none;color:var(--ink);border-color:rgba(247,203,2,.55);transform:translateY(-1px)}.locker-dial{flex:none;display:flex;color:var(--steel)}a.locker:hover .locker-dial{color:var(--gold)}.locker-info{display:flex;flex-direction:column;gap:.2rem;min-width:0}.locker-info strong{font-size:.98rem;overflow-wrap:anywhere}.locker .pill{margin-left:auto;flex:none}button.secret-door{display:inline-flex;align-items:center;gap:.5rem;max-width:100%;background:linear-gradient(180deg,#123457,#0a2547);border:1px solid var(--steel-border);border-radius:7px;padding:.28rem .65rem;font-size:.85rem;font-weight:600;color:var(--ink-muted);box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}button.secret-door:hover{background:linear-gradient(180deg,#16406a,#0d2c53);border-color:rgba(247,203,2,.5);color:var(--gold-light)}button.secret-door .mask-dots{letter-spacing:.22em}button.secret-door.open{background:var(--panel-deep);border-color:rgba(247,203,2,.45);border-left:3px solid var(--gold);color:var(--ink)}button.secret-door.open .secret-value{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-weight:400;text-align:left;word-break:break-all;white-space:pre-wrap}.lock-icon{flex:none;display:block}.card.token-issued{border-color:rgba(247,203,2,.6);border-top-color:var(--gold)}.table-scroll{overflow-x:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}