:root{--ink: #f4efe7;--ink-soft: #d9d2c3;--metal: #b7b0a2;--shadow: #0b1014;--accent: #f6b32c;--accent-deep: #c77200;--festive-red: #e24b3b;--festive-green: #2ec27e;--festive-gold: #ffcc5a;--panel: rgba(13, 18, 24, .85);--panel-border: rgba(255, 255, 255, .08)}*{box-sizing:border-box}html,body{min-height:100%}html{background:radial-gradient(circle at top,rgba(255,204,90,.25) 0%,transparent 45%),radial-gradient(circle at 15% 20%,rgba(226,75,59,.18) 0%,transparent 40%),radial-gradient(circle at 85% 25%,rgba(46,194,126,.2) 0%,transparent 42%),radial-gradient(circle at top,#223036,#11191f 55%,#0a0f13);background-repeat:no-repeat;background-attachment:fixed;background-size:cover}body{margin:0}.vault-body{min-height:100vh;font-family:Palatino Linotype,Book Antiqua,Palatino,serif;color:var(--ink);background:radial-gradient(circle at top,rgba(255,204,90,.25) 0%,transparent 45%),radial-gradient(circle at 15% 20%,rgba(226,75,59,.18) 0%,transparent 40%),radial-gradient(circle at 85% 25%,rgba(46,194,126,.2) 0%,transparent 42%),radial-gradient(circle at top,#223036,#11191f 55%,#0a0f13);background-repeat:no-repeat;background-attachment:fixed;background-size:cover;background-color:#0a0f13;position:relative;overflow-x:hidden}.vault-body:before,.vault-body:after{content:"";position:absolute;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(242,159,5,.18) 0%,transparent 70%);filter:blur(2px);opacity:.8;z-index:0}.vault-body:before{top:-180px;right:-200px}.vault-body:after{bottom:-240px;left:-200px;background:radial-gradient(circle,rgba(42,204,180,.18) 0%,transparent 70%)}.vault-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px 24px 64px;position:relative;z-index:1}.vault-shell{width:min(1100px,100%);background:var(--panel);border:1px solid var(--panel-border);border-radius:28px;padding:clamp(24px,4vw,48px);box-shadow:0 35px 90px #00000073;display:flex;flex-direction:column;gap:32px;animation:rise .8s ease-out;position:relative;overflow:hidden}.vault-header{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.vault-title h1{font-size:clamp(2rem,3.4vw,3.2rem);margin:8px 0 12px;letter-spacing:.02em}.vault-eyebrow{font-size:.85rem;text-transform:uppercase;letter-spacing:.25em;color:var(--ink-soft);margin:0}.vault-subtitle{max-width:420px;color:var(--ink-soft);margin:0;font-size:1.05rem}.vault-status{display:inline-flex;align-items:center;gap:12px;padding:10px 16px;border-radius:999px;border:1px solid var(--panel-border);background:#0003;font-size:.95rem}.status-dot{width:12px;height:12px;border-radius:50%;background:#e2b04d;box-shadow:0 0 12px #f29f05a6}.status-dot.status-open{background:#3ddc97;box-shadow:0 0 12px #3ddc9799}.vault-stage{display:grid;grid-template-columns:minmax(260px,1fr) minmax(240px,.75fr);gap:32px;align-items:center}.vault-side{display:flex;flex-direction:column;gap:20px}.vault-info{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(260px,1fr);gap:24px;padding:24px;border-radius:22px;background:#00000047;border:1px solid rgba(255,255,255,.08)}.vault-info.qr-hidden{grid-template-columns:1fr}.vault-info.qr-hidden .vault-qr{display:none}.vault-door{position:relative;width:min(420px,100%);aspect-ratio:1;margin:0 auto;border-radius:50%;background:radial-gradient(circle at 35% 30%,#46545c,#222c33 55%,#141b21);box-shadow:inset 0 0 60px #0000008c,0 20px 45px #0006;border:8px solid rgba(255,255,255,.08)}.vault-door.vault-shake{animation:vault-shake .35s ease-in-out}.vault-hatch{position:absolute;inset:16%;border-radius:50%;border:2px solid rgba(255,255,255,.12);background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 60%)}.vault-dial{position:absolute;inset:28%;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#2b3339,#1a2227 70%);border:4px solid rgba(255,255,255,.08);animation:slow-spin 16s linear infinite}.dial-ring{width:82%;height:82%;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.65) 0deg 2deg,transparent 2deg 12deg);-webkit-mask:radial-gradient(circle,transparent 58%,#000 59%);mask:radial-gradient(circle,transparent 58%,#000 59%)}.dial-center{position:absolute;width:34%;height:34%;border-radius:50%;background:linear-gradient(145deg,#d4c9b1,#7f7566);box-shadow:inset 0 2px 8px #0006}.vault-bolts span{position:absolute;width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#e9ddc5,#8a8175);box-shadow:inset 0 1px 4px #0006}.vault-bolts span:nth-child(1){top:10%;left:26%}.vault-bolts span:nth-child(2){top:10%;right:26%}.vault-bolts span:nth-child(3){top:46%;left:6%}.vault-bolts span:nth-child(4){top:46%;right:6%}.vault-bolts span:nth-child(5){bottom:10%;left:26%}.vault-bolts span:nth-child(6){bottom:10%;right:26%}.vault-console{display:flex;flex-direction:column;gap:18px;padding:24px;border-radius:20px;background:#00000059;border:1px solid rgba(255,255,255,.08)}.vault-rules{padding:0;border:none;background:transparent}.rules-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.rules-title{margin:0;font-size:1rem;letter-spacing:.12em;text-transform:uppercase}.qr-toggle{border:1px solid rgba(255,255,255,.3);background:transparent;color:var(--ink-soft);padding:6px 10px;border-radius:999px;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:color .2s ease,border-color .2s ease}.qr-toggle:hover{color:var(--accent);border-color:#fff9}.rules-list{margin:0;padding-left:20px;color:var(--ink-soft);display:grid;gap:8px;font-size:.95rem}.console-screen{padding:18px 20px;border-radius:16px;background:linear-gradient(135deg,#1a2127e6,#12181ccc);border:1px solid rgba(255,255,255,.08)}.console-label{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;color:var(--ink-soft);margin-bottom:8px}.console-value{font-size:1.8rem;letter-spacing:.18em}.console-result{margin-top:12px;font-size:.95rem;color:var(--ink-soft)}.console-result.is-error{color:#f8c15a;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.vault-qr{display:flex;align-items:center;gap:16px;padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:#0c101499}.qr-card{padding:10px;border-radius:14px;background:#ffffff14;display:grid;place-items:center}.qr-image{width:120px;height:120px;border-radius:8px;background:#fff}.qr-copy{display:flex;flex-direction:column;gap:6px}.qr-title{margin:0;font-size:1rem;letter-spacing:.08em;text-transform:uppercase}.qr-text{margin:0;color:var(--ink-soft);font-size:.95rem}.qr-link{color:var(--ink);text-decoration:none;font-size:.85rem;word-break:break-all}.qr-link:hover{color:var(--accent)}.console-controls{display:flex;flex-direction:column;gap:16px;flex-wrap:wrap}.combo-inputs{display:flex;gap:12px;flex-wrap:nowrap;justify-content:center;align-items:center;width:min(100%,360px);margin:0 auto}.combo-input{width:clamp(56px,18vw,84px);padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#0b0e12bf;color:var(--ink);font-size:1.1rem;text-align:center;letter-spacing:.12em}.combo-input:focus{outline:none;border-color:#f29f05cc;box-shadow:0 0 0 2px #f29f0540}.combo-actions{display:flex;gap:12px;flex-wrap:wrap}.vault-btn{border:1px solid rgba(255,255,255,.1);background:transparent;color:var(--ink);padding:12px 20px;border-radius:999px;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease}.vault-btn:hover{transform:translateY(-1px);border-color:#ffffff59}.vault-btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#1d1406;font-weight:600;box-shadow:0 10px 20px #f29f0540}.console-hint{margin:0;font-size:.95rem;color:var(--ink-soft)}@keyframes slow-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rise{0%{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes vault-shake{0%{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}to{transform:translate(0)}}@media(max-width:900px){.vault-stage,.vault-info{grid-template-columns:1fr}.vault-console{text-align:center}.console-controls{align-items:center}}@media(max-width:600px){.vault-page{padding:28px 16px 36px}.vault-shell{padding:20px 14px 24px;gap:20px}.vault-stage{gap:18px;justify-items:center}.vault-header{gap:12px}.vault-title h1{font-size:1.6rem;margin:6px 0 8px}.vault-eyebrow{font-size:.72rem;letter-spacing:.2em}.vault-subtitle{font-size:.95rem}.vault-status{padding:6px 12px;font-size:.85rem}.vault-door{width:min(220px,80vw);max-width:100%}.vault-dial{inset:32%}.vault-info{padding:14px;gap:16px}.vault-qr{flex-direction:column;text-align:center;padding:10px}.qr-image{width:84px;height:84px}.qr-title,.qr-text{font-size:.9rem}.rules-header{margin-bottom:8px}.qr-toggle{font-size:.7rem;padding:5px 8px}.rules-list{font-size:.9rem;gap:6px}.vault-console{padding:16px;gap:12px}.console-value{font-size:1.4rem;letter-spacing:.12em}.combo-inputs{gap:8px}.combo-input{width:clamp(46px,17vw,64px);font-size:.95rem;padding:7px 8px}.combo-actions{gap:8px;justify-content:center}.combo-actions .vault-btn{flex:1 1 120px}.vault-btn{padding:10px 14px;font-size:.82rem}.console-result,.console-hint{font-size:.9rem}}@media(prefers-reduced-motion:reduce){.vault-shell,.vault-dial,.vault-door.vault-shake{animation:none}.vault-btn{transition:none}}
