/* THE CURATOR'S VAULT — V12 REALM GATE
   Isolated styles. All decorated rings and doors ignore pointer input. */
.vault-gate-v12,.vault-gate-v12 *{box-sizing:border-box}
.vault-gate-v12{--chosen-glow:#c5a272;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(330px,.72fr);gap:15px;max-width:1660px;margin:0 auto 54px;padding:0 14px;align-items:stretch}
.gate-v12-heading{padding-bottom:20px}
.gate-v12-visual{position:relative;min-width:0;min-height:730px;overflow:hidden;background-image:linear-gradient(95deg,rgba(3,5,11,.65),rgba(1,2,7,.33) 48%,rgba(4,5,11,.68)),var(--world);background-position:center;background-size:cover;background-color:#080911;isolation:isolate;border:2px solid #ae8451}
.gate-v12-visual::after{content:'';position:absolute;inset:9px;border:1px solid #a3844d59;pointer-events:none;z-index:1}
.gate-v12-halo{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 47%,transparent 7%,rgba(2,4,10,.16) 29%,rgba(1,2,7,.4) 75%);pointer-events:none}
.gate-v12-dial{width:min(63%,570px);aspect-ratio:1;position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);border-radius:50%;border:12px ridge #97714d;box-shadow:0 0 0 4px #130e12,0 0 0 6px #e0b26c,0 0 0 12px #12111bbd,0 0 0 16px #ac854a85,0 0 34px 15px #000c,inset 0 0 0 5px #bc8b4d,inset 0 0 27px 18px #080910;z-index:2;pointer-events:none;background:repeating-conic-gradient(from 9deg,#c09b5f35 0 2deg,#06070e15 2deg 12deg,#ad834a2c 12deg 14deg,#09090f10 14deg 24deg)}
.gate-v12-dial::before,.gate-v12-dial::after{content:'';position:absolute;pointer-events:none;inset:11%;border-radius:50%;border:4px double #cfad7d9e;box-shadow:inset 0 0 0 3px #1d171aaa,0 0 0 3px #140d14a9}
.gate-v12-dial::after{inset:23%;border:5px solid #c59c639b;box-shadow:0 0 0 5px #120e14,inset 0 0 20px 10px #070814}
.gate-v12-dial-inscription{position:absolute;top:-7%;left:14%;right:14%;text-align:center;letter-spacing:.21em;color:#ecd0a6;text-shadow:0 0 7px #daa464;font-size:14px;line-height:1.3}
.gate-v12-portal{position:absolute;width:min(29%,250px);height:46%;left:50%;top:49%;transform:translate(-50%,-50%);overflow:hidden;border:8px ridge #99734a;border-radius:51% 51% 8% 8%;box-shadow:0 0 0 4px #170c13,0 0 0 7px #e2b86b99,inset 0 0 27px #000,0 0 38px var(--chosen-glow);z-index:3;pointer-events:none;background:#0b0b13}
.gate-v12-vista{position:absolute;inset:0;background:radial-gradient(ellipse at center,#4d2b604b 10%,#110e1f 80%);background-size:cover;background-position:center;filter:saturate(1.1);opacity:.24;transition:opacity .85s}
.gate-v12-door{position:absolute;top:0;bottom:0;width:50.3%;background:repeating-linear-gradient(92deg,#070c11 0 9px,#483329 10px 12px,#171720 13px 22px,#91734b 23px 26px,#100f1a 27px 41px);border:3px ridge #a98a54;box-shadow:inset 0 0 32px #000;transition:transform 1.2s cubic-bezier(.3,.2,.15,1)}
.gate-v12-door-left{left:0;border-right:4px double #d9b47d;border-radius:67% 0 0 0}
.gate-v12-door-right{right:0;border-left:4px double #d9b47d;border-radius:0 67% 0 0}
.gate-v12-portal-glint{position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 20px #b78f63b0;pointer-events:none}
.vault-gate-v12[data-state=preview] .gate-v12-door-left{transform:translateX(-103%)}
.vault-gate-v12[data-state=preview] .gate-v12-door-right{transform:translateX(103%)}
.vault-gate-v12[data-state=preview] .gate-v12-vista{opacity:1}
.vault-gate-v12[data-state=aligning] .gate-v12-dial{animation:vault-gate-v12-spin 1.3s cubic-bezier(.25,.45,.15,1)}
.vault-gate-v12[data-state=preview] .gate-v12-portal{box-shadow:0 0 0 4px #170c13,0 0 0 7px #e2b86b99,0 0 65px var(--chosen-glow)}
@keyframes vault-gate-v12-spin{0%{transform:translate(-50%,-50%) rotate(0)}100%{transform:translate(-50%,-50%) rotate(360deg)}}
.gate-v12-sigil-controls{position:absolute;inset:0;z-index:6;pointer-events:none}
.gate-v12-sigil{position:absolute;transform:translate(-50%,-50%);width:96px;min-height:96px;padding:7px 5px;border-radius:50%;border:2px solid var(--sigil-color);display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle,#141621 29%,#080914 76%);color:#f8deaa;box-shadow:0 0 0 3px #0a0c15,0 0 17px var(--sigil-color),inset 0 0 20px #ebc58625;text-shadow:0 0 9px var(--sigil-color);pointer-events:auto;cursor:pointer;z-index:7;touch-action:manipulation;transition:box-shadow .2s,filter .2s,background .2s}
.gate-v12-sigil:hover,.gate-v12-sigil[aria-pressed=true]{filter:brightness(1.25);box-shadow:0 0 0 3px #edd2a3,0 0 23px var(--sigil-color),inset 0 0 30px #ebc58647}
.gate-v12-sigil:focus-visible{outline:4px solid #fff;outline-offset:5px}
.gate-v12-glyph{color:var(--sigil-color);font-size:32px;line-height:1.05}
.gate-v12-sigil-name{font-size:10px;letter-spacing:.06em;text-transform:uppercase;line-height:1.1}
.gate-v12-sigil-seal{font-size:10px;opacity:.6;color:#e1c18c}
.gate-v12-sigil-horror{left:78%;top:38%}
.gate-v12-sigil-nightmare{left:70%;top:76%}
.gate-v12-sigil-science{left:30%;top:76%}
.gate-v12-sigil-fantasy{left:22%;top:38%}
.gate-v12-sigil-earthly{left:50%;top:12%}
.gate-v12-visual-caption{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#efce9b;border:1px solid #b88a53;background:#080b12eb;padding:13px 18px;white-space:nowrap;z-index:5;text-align:center}
.gate-v12-corner-note{position:absolute;bottom:10px;left:10px;right:10px;text-align:center;color:#d8c6a7;font-size:9px;letter-spacing:.11em;z-index:4;pointer-events:none}
.gate-v12-panel{min-width:0;min-height:650px;display:flex;flex-direction:column;box-shadow:0 0 25px #0008}
.gate-v12-panel-copy{flex:1}.gate-v12-panel-copy p{line-height:1.7}.gate-v12-realm-state{margin:28px 0 13px;padding:10px 12px;background:#190f10;border:1px solid #8d683f;color:#f2d19e;text-align:center;font-size:12px;letter-spacing:.13em}
.gate-v12-instruction{font-style:italic;color:#55371e}
.gate-v12-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0 20px}
.gate-v12-steps li{border:1px solid #b2956d;padding:10px 8px;text-align:center;text-transform:uppercase;letter-spacing:.06em;font-size:11px;color:#866d50;background:#d2bf9e44}
.gate-v12-steps li.is-current{border-color:#835528;color:#3d2919;background:#e9c890;font-weight:bold}
.gate-v12-actions{display:grid;gap:9px}.gate-v12-actions .action-primary,.gate-v12-actions .action-secondary{display:block;width:100%;min-height:48px;text-align:center;padding:12px 10px;cursor:pointer;text-decoration:none;font-size:13px;letter-spacing:.06em;touch-action:manipulation}
.gate-v12-actions button:disabled{cursor:not-allowed;opacity:.56}.gate-v12-sealed{margin-top:16px;padding:13px 16px;border:1px solid #9a6f53;background:#6b383119}.gate-v12-sealed strong{letter-spacing:.11em;color:#6c3029}.gate-v12-sealed p{font-size:13px;line-height:1.55;margin:5px 0}
.gate-v12-panel-bottom{border-top:1px solid #a88653;margin-top:22px;padding-top:14px;display:flex;flex-direction:column;gap:8px;text-align:right}.gate-v12-panel-bottom a{color:#604020;font-size:12px}
.vault-gate-v12 [hidden]{display:none!important}
@media(max-width:1050px){.vault-gate-v12{grid-template-columns:minmax(0,1.3fr) minmax(280px,.8fr)}.gate-v12-visual{min-height:620px}.gate-v12-sigil{width:82px;min-height:82px}.gate-v12-glyph{font-size:25px}.gate-v12-sigil-name{font-size:9px}.gate-v12-dial{width:73%}}
@media(max-width:780px){.vault-gate-v12{grid-template-columns:1fr;padding:0 10px}.gate-v12-visual{min-height:610px}.gate-v12-panel{min-height:auto}.gate-v12-dial{width:min(66%,510px)}}
@media(max-width:500px){.gate-v12-visual{min-height:470px}.gate-v12-dial{width:72%;top:49%;border-width:6px}.gate-v12-dial-inscription{font-size:10px;letter-spacing:.02em}.gate-v12-portal{height:43%;width:29%;top:49%;border-width:5px}.gate-v12-sigil{width:61px;min-height:61px;padding:2px;border-width:1px}.gate-v12-glyph{font-size:19px}.gate-v12-sigil-name{font-size:7px}.gate-v12-sigil-horror{left:83%;top:37%}.gate-v12-sigil-fantasy{left:17%;top:37%}.gate-v12-sigil-nightmare{left:76%;top:73%}.gate-v12-sigil-science{left:24%;top:73%}.gate-v12-sigil-earthly{left:50%;top:13%}.gate-v12-visual-caption{bottom:29px;white-space:normal;font-size:9px;width:75%;padding:10px}.gate-v12-corner-note{font-size:7px}}
@media(prefers-reduced-motion:reduce){.vault-gate-v12 *{animation:none!important;transition-duration:.01ms!important}}
