:root{--gold:#d4a853;--gold-light:#f0d080;--gold-dark:#b8923e}*,:after,:before{margin:0;padding:0;box-sizing:border-box}body,html{height:100%;overflow:hidden}body{font-family:Cormorant Garamond,Georgia,serif;background:#050507;color:#e8e6e3}.bg-deep{z-index:0;background:radial-gradient(ellipse at 50% 40%,rgba(212,168,83,.025) 0,transparent 50%),radial-gradient(ellipse at 25% 70%,rgba(60,40,120,.015) 0,transparent 40%),radial-gradient(ellipse at 80% 20%,rgba(50,100,180,.01) 0,transparent 40%),#030306}.bg-deep,.bg-mist{position:fixed;inset:0}.bg-mist{z-index:2;pointer-events:none;opacity:0;transition:opacity 4s ease}.bg-mist.visible{opacity:1}.bg-mist:after,.bg-mist:before{content:"";position:absolute;border-radius:50%;filter:blur(100px)}.bg-mist:before{width:500px;height:500px;top:15%;left:-8%;background:rgba(212,168,83,.025);animation:mistFloat1 18s ease-in-out infinite}.bg-mist:after{width:400px;height:400px;bottom:5%;right:-8%;background:rgba(100,60,180,.02);animation:mistFloat2 22s ease-in-out infinite}@keyframes mistFloat1{0%,to{transform:translate(0)}33%{transform:translate(80px,-50px)}66%{transform:translate(-30px,40px)}}@keyframes mistFloat2{0%,to{transform:translate(0)}33%{transform:translate(-60px,40px)}66%{transform:translate(50px,-30px)}}.entrance-container{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10;gap:0}.hero-logo{width:120px;height:120px;object-fit:contain;margin-bottom:1.5rem;opacity:0;transform:scale(.88);transition:opacity 2.5s cubic-bezier(.4,0,.2,1),transform 2.5s cubic-bezier(.16,1,.3,1);filter:drop-shadow(0 0 30px rgba(212,168,83,.3))}.hero-logo.visible{opacity:1;transform:scale(1);animation:logoPulse 6s ease-in-out 3s infinite}@keyframes logoPulse{0%,to{filter:drop-shadow(0 0 25px rgba(212,168,83,.3)) drop-shadow(0 0 60px rgba(212,168,83,.1));transform:scale(1)}50%{filter:drop-shadow(0 0 40px rgba(212,168,83,.5)) drop-shadow(0 0 100px rgba(212,168,83,.2)) drop-shadow(0 0 160px rgba(212,168,83,.08));transform:scale(1.025)}}.hero-title{font-family:Cinzel,serif;font-size:2.8rem;font-weight:300;letter-spacing:.45em;margin-bottom:1rem;display:flex;gap:0;padding-right:-.45em}.hero-letter{display:inline-block;opacity:0;transform:translateY(15px);color:hsla(0,0%,100%,.9);text-shadow:0 0 40px rgba(212,168,83,.1),0 0 80px rgba(212,168,83,.05)}.hero-title.visible .hero-letter{animation:letterReveal .8s cubic-bezier(.25,1,.5,1) forwards}@keyframes letterReveal{0%{opacity:0;transform:translateY(15px);filter:blur(4px)}60%{filter:blur(0)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.hero-tagline{font-family:Cormorant Garamond,Georgia,serif;font-size:1.35rem;font-style:italic;letter-spacing:.08em;margin-bottom:2.5rem;opacity:0;transform:translateY(12px);transition:opacity 2.5s cubic-bezier(.4,0,.2,1),transform 2.5s cubic-bezier(.16,1,.3,1);background:linear-gradient(180deg,hsla(43,79%,72%,.85),rgba(212,168,83,.7) 50%,rgba(184,146,62,.5));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 2px 8px rgba(0,0,0,.5))}.hero-tagline.visible{opacity:1;transform:translateY(0)}.vault-section{opacity:0;transform:translateY(25px);transition:opacity 2s cubic-bezier(.4,0,.2,1),transform 2s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;align-items:center;gap:1rem}.vault-section.visible{opacity:1;transform:translateY(0)}.tabs{display:flex;gap:2.5rem}.tab{font-family:Cinzel,serif;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:hsla(0,0%,100%,.3);background:none;border:none;cursor:pointer;padding:.4rem 0;transition:color .3s;position:relative}.tab.active{color:rgba(212,168,83,.8)}.tab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(212,168,83,.4),transparent)}.tab:hover{color:var(--gold-light)}.vault-canvas{width:180px;height:180px;cursor:pointer}.auth-flow{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:360px}.auth-panel{text-align:center;padding:1rem 0;width:100%;position:relative;border-radius:12px;transition:background .18s ease,box-shadow .18s ease}.auth-panel--dragging{background:rgba(212,168,83,.06);box-shadow:inset 0 0 0 2px rgba(212,168,83,.4)}.auth-drop-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:rgba(10,11,15,.85);border:2px dashed rgba(212,168,83,.55);border-radius:12px;z-index:5;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.auth-drop-icon{color:var(--gold);filter:drop-shadow(0 0 12px rgba(212,168,83,.5))}.auth-drop-text{font-family:Cinzel,serif;font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}.auth-hint{font-size:.75rem;line-height:1.6;color:hsla(0,0%,100%,.45);margin-top:.85rem;font-style:italic}.auth-hint code{font-family:JetBrains Mono,Consolas,monospace;font-size:.72rem;background:rgba(212,168,83,.08);color:var(--gold);padding:1px 6px;border-radius:3px;border:1px solid rgba(212,168,83,.18)}.auth-hint-mono{color:hsla(0,0%,100%,.7);font-style:normal;font-weight:500}.picker-help-side{position:fixed;top:50%;right:32px;transform:translateY(-50%);z-index:9999;max-width:320px;pointer-events:auto;animation:pickerHelpIn .4s cubic-bezier(.16,1,.3,1)}@keyframes pickerHelpIn{0%{opacity:0;transform:translate(20px,-50%)}to{opacity:1;transform:translateY(-50%)}}.picker-help-card{background:rgba(15,13,22,.97);border:1px solid rgba(212,168,83,.3);border-radius:12px;padding:18px 20px 16px;box-shadow:0 16px 60px rgba(0,0,0,.6),0 0 40px rgba(212,168,83,.08);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:hsla(0,0%,100%,.85);text-align:left}.picker-help-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(212,168,83,.15)}.picker-help-step{font-family:Cinzel,serif;font-size:.7rem;font-weight:500;letter-spacing:.18em;color:var(--gold);text-transform:uppercase}.picker-help-close{background:none;border:none;color:hsla(0,0%,100%,.4);font-size:1.2rem;line-height:1;cursor:pointer;padding:0 4px;transition:color .15s}.picker-help-close:hover{color:hsla(0,0%,100%,.8)}.picker-help-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;counter-reset:helpsteps}.picker-help-list li{counter-increment:helpsteps;position:relative;padding-left:28px;font-size:.78rem;line-height:1.5;color:hsla(0,0%,100%,.78)}.picker-help-list li:before{content:counter(helpsteps);position:absolute;left:0;top:-1px;width:20px;height:20px;border-radius:50%;background:rgba(212,168,83,.12);border:1px solid rgba(212,168,83,.35);color:var(--gold);font-family:Cinzel,serif;font-size:.7rem;font-weight:600;display:flex;align-items:center;justify-content:center}.picker-help-list strong{color:hsla(0,0%,100%,.95);font-weight:500;display:block;margin-bottom:2px}.picker-help-list code{display:inline-block;font-family:JetBrains Mono,Consolas,Courier New,monospace;font-size:.72rem;background:rgba(212,168,83,.1);color:var(--gold);padding:2px 7px;border-radius:4px;border:1px solid rgba(212,168,83,.2);margin-top:2px}.picker-help-path{display:block!important;margin-top:4px!important;word-break:break-all;font-size:.7rem!important}.picker-help-sub{display:block;margin-top:2px;font-size:.7rem;color:hsla(0,0%,100%,.5);font-style:italic}.picker-help-tip{margin-top:14px;padding:10px 12px;background:rgba(212,168,83,.05);border:1px solid rgba(212,168,83,.18);border-radius:8px;font-size:.72rem;line-height:1.55;color:hsla(0,0%,100%,.65)}.picker-help-tip strong{color:var(--gold);font-weight:500}@media (max-width:768px){.picker-help-side{right:16px;left:16px;max-width:none;transform:translateY(-50%)}}.key-icon{width:56px;height:56px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(212,168,83,.04);border:1px solid rgba(212,168,83,.15);color:var(--gold);transition:all .4s ease}.key-icon.scanning{animation:scanPulse 1.5s ease-in-out infinite}.key-icon.found{background:rgba(74,222,128,.08);border-color:rgba(74,222,128,.3);color:#4ade80}@keyframes scanPulse{0%,to{box-shadow:0 0 0 0 rgba(212,168,83,.15)}50%{box-shadow:0 0 0 12px rgba(212,168,83,0)}}.auth-btn{display:block;width:100%;padding:13px 0;font-family:Cinzel,serif;font-size:.78rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:hsla(0,0%,100%,.7);background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.1);border-radius:8px;cursor:pointer;transition:all .3s ease}.auth-btn:hover{background:hsla(0,0%,100%,.06);border-color:rgba(212,168,83,.3);color:hsla(0,0%,100%,.9)}.auth-btn:disabled{opacity:.5;cursor:default}.auth-btn.gold{color:#0a0b0f;background:linear-gradient(135deg,var(--gold-light),var(--gold),var(--gold-dark));border:none;font-weight:500;box-shadow:0 4px 20px rgba(212,168,83,.25)}.auth-btn.gold:hover{box-shadow:0 6px 30px rgba(212,168,83,.4);transform:translateY(-1px)}.auth-status{font-size:.78rem;margin-top:.75rem;color:hsla(0,0%,100%,.5);line-height:1.5}.auth-status.error{color:#f87171}.auth-status.success{color:#4ade80}.auth-status.loading{color:var(--gold)}@keyframes softGoldFlash{0%,to{box-shadow:0 2px 14px rgba(212,168,83,.25);border-color:rgba(212,168,83,.3)}50%{box-shadow:0 6px 28px rgba(212,168,83,.55);border-color:rgba(212,168,83,.7)}}.auth-btn--nudge,.auth-btn.gold.auth-btn--nudge{animation:softGoldFlash 1.4s ease-in-out 2}.tour-icon{width:48px;height:48px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(212,168,83,.06);border:1px solid rgba(212,168,83,.15);color:var(--gold)}.tour-heading{font-family:Cinzel,serif;font-size:1.1rem;color:hsla(0,0%,100%,.85);margin-bottom:.4rem}.tour-body{font-size:.88rem;color:hsla(0,0%,100%,.45);margin-bottom:1.25rem;line-height:1.6}.portal-mode{animation:portalFadeIn 1s ease forwards}@keyframes portalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.portal-key-visual{width:100px;height:100px;margin:0 auto 1.25rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:radial-gradient(ellipse at center,rgba(212,168,83,.12),rgba(212,168,83,.02) 70%,transparent);border:1px solid rgba(212,168,83,.25);color:var(--gold);position:relative;animation:portalFadeIn 1s ease forwards}.portal-key-visual svg{animation:keySpin 3s ease-in-out infinite}@keyframes keySpin{0%,to{filter:drop-shadow(0 0 8px rgba(212,168,83,.4))}50%{filter:drop-shadow(0 0 16px rgba(212,168,83,.8))}}.portal-key-visual:after{content:"";position:absolute;inset:-15px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(212,168,83,.1),transparent 70%);animation:keyGlow 3s ease-in-out infinite;pointer-events:none}@keyframes keyGlow{0%,to{opacity:.4}50%{opacity:1}}.portal-key-visual:before{content:"";position:absolute;inset:-8px;border-radius:50%;border:1px solid transparent;border-top-color:rgba(212,168,83,.4);animation:keyRotate 4s linear infinite;pointer-events:none}@keyframes keyRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.portal-message{font-family:Cinzel,serif;font-size:1.15rem;color:var(--gold);letter-spacing:.08em;margin-bottom:.4rem}.portal-sub{font-size:.85rem;color:hsla(0,0%,100%,.5);line-height:1.6;margin-bottom:1.25rem}.silent-check{display:flex;align-items:center;justify-content:center;padding:2rem}.silent-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);opacity:.4;animation:silentPulse 1.5s ease-in-out infinite}@keyframes silentPulse{0%,to{opacity:.2;transform:scale(1);box-shadow:0 0 0 0 rgba(212,168,83,0)}50%{opacity:.6;transform:scale(1.3);box-shadow:0 0 20px rgba(212,168,83,.2)}}.footer{position:fixed;bottom:1rem;left:50%;transform:translateX(-50%);font-size:.65rem;color:hsla(0,0%,100%,.15);letter-spacing:.12em;z-index:10}@media (max-width:640px){.hero-logo{width:80px;height:80px}.hero-title{font-size:2rem;letter-spacing:.25em}.hero-tagline{font-size:1rem}.vault-canvas{width:140px;height:140px}}