.op{display:none}html[data-opener=ready] .op,html[data-opener=sealed] .op{display:block}html[data-opener=ready] body,html[data-opener=sealed] body{overflow:hidden}@keyframes op-deadman-hide{to{visibility:hidden;pointer-events:none}}@keyframes op-deadman-unlock{to{overflow:auto}}html[data-opener=sealed] .op{animation:op-deadman-hide 10s step-end forwards}html[data-opener=sealed] body{animation:op-deadman-unlock 10s step-end forwards}.op{position:fixed;inset:0;z-index:200}.op-backdrop{z-index:0;background:radial-gradient(120% 90% at 50% 40%,transparent 55%,color-mix(in srgb,var(--theme-primary,#1A1625) 8%,transparent) 100%),var(--theme-tint,var(--color-surface-2,#f4ecd8))}.op-backdrop,.op-scene{position:absolute;inset:0}.op-scene{z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;width:100%;height:100%;margin:0;padding:0;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.op-persp{perspective:1200px}.op-env{position:relative;transform-style:preserve-3d;width:min(86vw,460px);aspect-ratio:3/2}.op-layer{position:absolute;inset:0;border-radius:6px}.op-paper{background:color-mix(in srgb,var(--theme-tint,#f4ecd8) 76%,var(--theme-primary,#7a1f2b))}.op-env-back{z-index:10;border:1px solid color-mix(in srgb,var(--theme-primary,#1a1625) 22%,transparent);box-shadow:0 20px 50px -20px color-mix(in srgb,var(--theme-primary,#1A1625) 45%,transparent)}.op-env-liner{z-index:20;background:color-mix(in srgb,var(--theme-primary,#7a1f2b) 24%,var(--theme-tint,#f4ecd8));clip-path:polygon(0 0,100% 0,50% 62%)}.op-card{z-index:30;top:6%;left:7%;width:86%;height:104%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:10% 8%;text-align:center;background:var(--color-surface,#fff);border:1px solid color-mix(in srgb,var(--theme-secondary,#c9a227) 45%,transparent);box-shadow:0 10px 30px -12px color-mix(in srgb,var(--theme-primary,#1A1625) 45%,transparent)}.op-card-mono{font-family:var(--font-display);font-weight:600;font-size:clamp(13px,3.2vw,17px);color:var(--theme-primary,var(--color-ink));white-space:nowrap}.op-card-rule{width:34px;height:1px;background:color-mix(in srgb,var(--theme-secondary,#c9a227) 65%,transparent)}.op-card-names{font-family:var(--font-display);font-weight:600;font-size:clamp(18px,4.6vw,26px);letter-spacing:-.02em;color:var(--color-ink)}.op-card-date{font-size:clamp(11px,2.6vw,13px);color:var(--color-text-muted,#6b6b6b)}.op-env-pocket{z-index:40;clip-path:polygon(0 42%,50% 60%,100% 42%,100% 100%,0 100%);box-shadow:inset 0 8px 18px -12px color-mix(in srgb,var(--theme-primary,#1A1625) 40%,transparent)}.op-flap{position:absolute;top:0;left:0;width:100%;height:62%;z-index:50;transform-style:preserve-3d;transform-origin:center top}.op-flap-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:6px 6px 0 0;clip-path:polygon(0 0,100% 0,50% 100%)}.op-flap-back{transform:rotateX(180deg);background:color-mix(in srgb,var(--theme-tint,#f4ecd8) 80%,var(--theme-primary,#7a1f2b))}.op-seal{position:absolute;z-index:60;left:50%;top:55%;transform:translate(-50%,-50%);width:19%;aspect-ratio:1;border-radius:9999px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 36% 32%,color-mix(in srgb,var(--theme-secondary,#c9a227) 55%,#fff) 0,var(--theme-secondary,#c9a227) 52%,color-mix(in srgb,var(--theme-secondary,#c9a227) 72%,var(--theme-primary,#1A1625)) 100%);border:1px solid color-mix(in srgb,var(--theme-primary,#1a1625) 30%,transparent);box-shadow:0 4px 10px -2px color-mix(in srgb,var(--theme-primary,#1A1625) 65%,transparent),inset 0 1px 2px color-mix(in srgb,#fff 55%,transparent)}.op-seal-mono{font-family:var(--font-display);font-weight:700;font-size:clamp(11px,2.6vw,15px);letter-spacing:.02em;color:color-mix(in srgb,var(--theme-primary,#7a1f2b) 88%,#000);white-space:nowrap}.op-particles{position:absolute;z-index:55;left:50%;top:46%;width:0;height:0;pointer-events:none}.op-particle{position:absolute;width:10px;height:10px;border-radius:2px 8px 2px 8px;opacity:0;background:var(--theme-expressive,var(--theme-secondary,#c9a227))}.op-particle-alt{background:var(--theme-secondary,#c9a227);border-radius:8px 2px 8px 2px}.op-label{position:absolute;z-index:2;left:0;right:0;bottom:18%;text-align:center;font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb,var(--theme-primary,#1A1625) 70%,var(--color-text-muted,#6b6b6b));pointer-events:none}.op-skip{position:absolute;z-index:3;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));min-height:44px;padding:8px 16px;border:0;border-radius:9999px;cursor:pointer;font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--color-text-muted,#555);background:color-mix(in srgb,var(--color-surface,#fff) 70%,transparent)}.op[data-phase=sealed] .op-env{animation:op-breathe 4s ease-in-out infinite alternate}[data-motion=calm] .op[data-phase=sealed] .op-env{animation:none}[data-motion=calm] .op[data-phase=sealed] .op-label{animation:op-shimmer 2.4s ease-in-out infinite alternate}@keyframes op-breathe{to{transform:scale(1.015)}}@keyframes op-shimmer{0%{opacity:.72}to{opacity:1}}.op[data-phase=opening] .op-env{animation:none}.op[data-phase=opening] .op-label,.op[data-phase=settling] .op-label{animation:op-fade var(--dur-fast) var(--ease-out) forwards}.op[data-phase=opening] .op-seal{will-change:transform,opacity;animation:op-seal-lift var(--dur-view) var(--ease-out) .1s forwards}@keyframes op-seal-lift{to{transform:translate(-50%,-66%) rotate(-6deg) scale(1.05);opacity:0}}.op[data-phase=opening] .op-flap{will-change:transform;animation:op-flap-rotate var(--dur-expressive) var(--ease-in-out) .3s forwards,op-flap-z var(--dur-expressive) step-end .3s forwards}@keyframes op-flap-rotate{to{transform:rotateX(-180deg)}}@keyframes op-flap-z{0%,49.9%{z-index:50}50%,to{z-index:15}}.op[data-phase=opening] .op-card{will-change:transform;animation:op-card-rise var(--dur-expressive) var(--ease-out) .66s forwards}@keyframes op-card-rise{0%{transform:translateY(0) rotate(-1.2deg)}to{transform:translateY(-72%) rotate(0deg)}}.op[data-phase=opening] .op-particle{animation:op-fall .9s var(--ease-out) .9s forwards}@keyframes op-fall{0%{opacity:0;transform:translateY(-8px) rotate(0deg)}15%{opacity:1}to{opacity:0;transform:translate(var(--op-dx,0),150px) rotate(var(--op-dr,180deg))}}.op[data-phase=settling]{animation:op-fade var(--dur-view) var(--ease-out) forwards}.op[data-phase=settling] .op-card{z-index:70;will-change:transform;animation:op-card-settle var(--dur-view) var(--ease-out) forwards}.op[data-phase=settling] .op-env{animation:op-env-drop var(--dur-view) var(--ease-out) forwards}@keyframes op-fade{to{opacity:0}}@keyframes op-card-settle{0%{transform:translateY(-72%) scale(1)}to{transform:translateY(-90%) scale(1.35);opacity:0}}@keyframes op-env-drop{to{transform:translateY(6%);opacity:0}}.op-gate{position:relative;transform-style:preserve-3d;width:min(86vw,460px);aspect-ratio:3/2}.op-gate-card{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:8%;background:var(--color-surface,#fff);border:1px solid color-mix(in srgb,var(--theme-secondary,#c9a227) 40%,transparent)}.op-gate-shade{position:absolute;inset:0;z-index:25;background:color-mix(in srgb,var(--theme-primary,#1A1625) 35%,transparent);pointer-events:none}.op-gate-panel{position:absolute;top:0;height:100%;width:50%;z-index:40;backface-visibility:hidden}.op-gate-left{left:0;border-radius:6px 0 0 6px;border-right:1px solid color-mix(in srgb,var(--theme-secondary,#c9a227) 45%,transparent)}.op-gate-right{right:0;border-radius:0 6px 6px 0}.op-gate-medallion{position:absolute;z-index:45;left:50%;top:50%;transform:translate(-50%,-50%);width:13%;aspect-ratio:1;border-radius:3px;rotate:45deg;background:color-mix(in srgb,var(--theme-secondary,#c9a227) 85%,#fff);box-shadow:0 2px 6px -2px color-mix(in srgb,var(--theme-primary,#1A1625) 55%,transparent)}[data-geometry-only] .op-gate-medallion{display:none}.op-gate-left{transform-origin:left center}.op-gate-right{transform-origin:right center}.op[data-phase=opening] .op-gate-left{will-change:transform;animation:op-door-left var(--dur-expressive) var(--ease-in-out) .1s forwards}.op[data-phase=opening] .op-gate-right{will-change:transform;animation:op-door-right var(--dur-expressive) var(--ease-in-out) .19s forwards}.op[data-phase=opening] .op-gate-shade{animation:op-fade var(--dur-view) var(--ease-out) .3s forwards}.op[data-phase=opening] .op-gate-medallion{animation:op-fade var(--dur-fast) var(--ease-out) .12s forwards}@keyframes op-door-left{to{transform:rotateY(-125deg)}}@keyframes op-door-right{to{transform:rotateY(125deg)}}.op[data-phase=settling] .op-gate-card{z-index:70;will-change:transform;animation:op-card-settle var(--dur-view) var(--ease-out) forwards}.op-letter{position:relative;transform-style:preserve-3d;width:min(78vw,380px);aspect-ratio:5/7}.op-letter-face{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12% 10%;background:var(--color-surface,#fff);border:1px solid color-mix(in srgb,var(--theme-secondary,#c9a227) 35%,transparent)}.op-letter-panel{position:absolute;left:0;width:100%;height:33.34%;z-index:40;backface-visibility:hidden;background:color-mix(in srgb,var(--theme-tint,#f4ecd8) 90%,var(--theme-primary,#7a1f2b))}.op-letter-top{top:0;transform-origin:center top;border-bottom:1px solid color-mix(in srgb,var(--theme-primary,#1a1625) 12%,transparent)}.op-letter-bottom{bottom:0;transform-origin:center bottom;border-top:1px solid color-mix(in srgb,var(--theme-primary,#1a1625) 12%,transparent)}.op-letter-shade{position:absolute;inset:0;background:color-mix(in srgb,var(--theme-primary,#1A1625) 20%,transparent)}.op[data-phase=opening] .op-letter-top{will-change:transform;animation:op-fold-top var(--dur-expressive) var(--ease-in-out) .1s forwards,op-ztop var(--dur-expressive) step-end .1s forwards}.op[data-phase=opening] .op-letter-bottom{will-change:transform;animation:op-fold-bottom var(--dur-expressive) var(--ease-in-out) .48s forwards,op-zbottom var(--dur-expressive) step-end .48s forwards}.op[data-phase=opening] .op-letter-shade{animation:op-fade var(--dur-expressive) var(--ease-out) .1s forwards}@keyframes op-fold-top{0%{transform:rotateX(-178deg)}to{transform:rotateX(0deg)}}@keyframes op-fold-bottom{0%{transform:rotateX(178deg)}to{transform:rotateX(0deg)}}@keyframes op-ztop{0%,49.9%{z-index:40}50%,to{z-index:10}}@keyframes op-zbottom{0%,49.9%{z-index:40}50%,to{z-index:10}}.op[data-phase=settling] .op-letter-face{z-index:70;will-change:transform;animation:op-card-settle var(--dur-view) var(--ease-out) forwards}@media (prefers-reduced-motion:reduce){.op,.op *{animation:none!important;transition:none!important}html[data-opener] .op{display:none!important}html[data-opener] body{overflow:auto!important}}@supports not (transform-style:preserve-3d){html[data-opener] .op{display:none!important}html[data-opener] body{overflow:auto!important}}