.pass-page{--pass-w:min(320px, calc(100vw - 56px));--pass-warm:color-mix(in oklab, var(--gold) 55%, white)}.pass-card{width:var(--pass-w);aspect-ratio:2/3;isolation:isolate;text-align:center;-webkit-user-select:none;user-select:none;position:relative;container-type:inline-size}.pass-card-frame{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.pass-card-sheen{z-index:1;pointer-events:none;background:linear-gradient(108deg, transparent 38%, color-mix(in oklab, var(--moon) 34%, transparent) 48%, #ffffff6b 50%, color-mix(in oklab, var(--moon) 30%, transparent) 52%, transparent 62%) var(--sheen-x,130%) 0 / 260% 100% no-repeat;mix-blend-mode:soft-light;position:absolute;inset:2%}@supports (color:lab(0% 0 0)){.pass-card-sheen{background:linear-gradient(108deg, transparent 38%, color-mix(in oklab, var(--moon) 34%, transparent) 48%, lab(100% -.0000298023 .0000119209/.42) 50%, color-mix(in oklab, var(--moon) 30%, transparent) 52%, transparent 62%) var(--sheen-x,130%) 0 / 260% 100% no-repeat}}.pass-card-body{z-index:2;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:21.5cqw 9cqw 11.5cqw}.pass-card-tier{letter-spacing:.22em;color:var(--moon);font-size:3.5cqw;line-height:1.2}.pass-card-name{overflow-wrap:anywhere;margin-top:1.6cqw;font-size:9cqw;line-height:1}.pass-card-college{color:var(--muted-foreground);margin-top:.8cqw;font-size:4.1cqw;line-height:1.25}.pass-card-qr{aspect-ratio:1;width:64cqw;box-shadow:0 0 0 1cqw var(--gold), 0 0 0 1.6cqw var(--bg-deep), 0 0 6cqw color-mix(in oklab, var(--gold) 45%, transparent);background:#fff;flex:none;margin-top:3.4cqw}.pass-card-qr-note{text-wrap:balance;height:100%;color:var(--bg-deep);place-items:center;padding:9cqw;font-size:4.6cqw;line-height:1.35;display:grid}.pass-card-qr-note a{text-underline-offset:.2em;text-decoration:underline}.pass-card-qr-img{width:100%}.pass-card-timer{align-items:center;gap:2.4cqw;width:64cqw;margin-top:3.6cqw;display:flex}.pass-card-timer-bar{background:var(--bg-deep);height:2.2cqw;box-shadow:0 0 0 .6cqw color-mix(in oklab, var(--gold) 75%, transparent);flex:1;position:relative}.pass-card-timer-fill{background:linear-gradient(90deg, var(--gold), var(--pass-warm) 70%, var(--moon));box-shadow:0 0 2cqw color-mix(in oklab, var(--gold) 60%, transparent);transform-origin:0;animation:30s linear forwards pass-drain;position:absolute;inset:0}@keyframes pass-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.pass-card-timer-label{white-space:nowrap;color:var(--muted-foreground);font-size:3.1cqw;line-height:1}.pass-card-timer-label b{text-align:right;min-width:3ch;font-weight:inherit;font-variant-numeric:tabular-nums;text-transform:none;color:var(--moon);display:inline-block}.pass-card-flash{z-index:3;pointer-events:none;background:radial-gradient(closest-side, white, var(--pass-warm) 55%, color-mix(in oklab, var(--gold) 80%, transparent));opacity:0;position:absolute;inset:0}.pass-glow{pointer-events:none;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:radial-gradient(closest-side,#000 45%,#0000);mask-image:radial-gradient(closest-side,#000 45%,#0000)}.pass-rays,.pass-aura,.pass-burst{aspect-ratio:1;pointer-events:none;position:absolute;top:50%;left:50%;translate:-50% -50%}.pass-rays{background:repeating-conic-gradient(from 0deg, color-mix(in oklab, var(--pass-warm) 55%, transparent) 0deg 7deg, transparent 7deg 22deg);-webkit-mask-image:radial-gradient(closest-side,#000 18%,#0000 100%);mask-image:radial-gradient(closest-side,#000 18%,#0000 100%)}.pass-aura{background:radial-gradient(closest-side, color-mix(in oklab, var(--pass-warm) 70%, transparent), color-mix(in oklab, var(--gold) 30%, transparent) 45%, transparent)}@keyframes pass-turn{to{rotate:360deg}}@keyframes pass-bob{50%{translate:0 -6px}}@keyframes pass-breathe{50%{opacity:.7;scale:.94}}.pass-altar{flex-direction:column;align-items:center;display:flex;position:relative}.pass-altar-chest{z-index:2;width:var(--chest-w);margin-bottom:calc(var(--chest-w) * -.18);position:relative}.pass-chest-open{opacity:0;position:absolute;inset:0}.pass-altar-pedestal{z-index:1;width:calc(var(--chest-w) * 1.45);position:relative}.pass-altar-chest img,.pass-altar-pedestal img,.pass-vault-art img{width:100%}.pass-unlock{z-index:110;cursor:pointer;position:fixed;inset:0;overflow:hidden}.pass-unlock-bg{background:radial-gradient(circle at 50% 58%, var(--secondary), var(--background) 45%, var(--bg-deep));position:absolute;inset:0}.pass-unlock-stage{--chest-w:min(230px, 56vw);position:absolute;bottom:max(9svh,56px);left:50%;translate:-50%}.pass-unlock-stage .pass-rays{opacity:0;width:640px;top:34%}.pass-unlock-stage .pass-aura{opacity:.25;width:380px;top:34%}.pass-burst{z-index:3;background:radial-gradient(closest-side, white, color-mix(in oklab, var(--pass-warm) 60%, transparent) 50%, transparent);opacity:0;width:300px;top:40%}.pass-sparks{z-index:3;position:absolute;top:40%;left:50%}.pass-sparks i{width:var(--s);height:var(--s);margin:calc(var(--s) / -2);background:var(--c);box-shadow:0 0 8px var(--c);opacity:0;position:absolute}.pass-unlock-card{z-index:4;width:var(--pass-w);position:absolute;top:50%;left:50%}.pass-unlock-card>.pass-aura{z-index:-1;width:170%}.pass-unlock-label{text-align:center;white-space:nowrap;color:var(--moon);text-shadow:0 0 18px color-mix(in oklab, var(--gold) 80%, transparent), 0 2px 0 var(--bg-deep);opacity:0;font-size:56px;line-height:1;position:absolute;bottom:calc(100% + 18px);left:0;right:0}.pass-unlock-skip{z-index:5;opacity:.85;font-size:12px;position:absolute;bottom:max(2.5svh,16px);left:50%;translate:-50%}@media (prefers-reduced-motion:reduce){.pass-card-timer-fill{transform:scaleX(var(--left));animation:none}.pass-unlock{display:none}}.pass-held{--vault-w:min(420px, calc((100svh - 228px) / 1.48));--pass-w:min(320px, calc(100vw - 56px), calc(var(--vault-w) * .762))}@media (max-width:1023px){.pass-stage .pass-rays,.pass-stage .pass-aura{top:calc(var(--stage-pad) + var(--chest-w) * .55)}.pass-held .pass-panel{margin-top:auto}.pass-held:has(.pass-message){--vault-w:min(420px, calc((100svh - 298px) / 1.48))}}.pass-vault{min-height:calc(var(--vault-w) * 1.48 + 8px);padding-top:calc(var(--vault-w) * .23);justify-content:center;align-items:flex-start;display:flex;position:relative}.pass-vault-art{width:var(--vault-w);pointer-events:none;position:absolute;top:0;left:50%;translate:-50%}.pass-vault .pass-rays{opacity:.4;width:720px;top:52%}.pass-vault .pass-aura{opacity:.55;width:560px;top:52%}.pass-tilt{perspective:1100px;position:relative}.pass-tilt>.pass-card{transform-style:preserve-3d;filter:drop-shadow(0 22px 26px color-mix(in oklab, var(--bg-deep) 75%, transparent))}.pass-card-control{z-index:1;cursor:zoom-in;position:absolute;inset:0}.pass-tilt[data-gate]{--gate-w:min(calc(100vw - 16px), calc((100svh - 112px) * 2 / 3), 440px);perspective:none}.pass-tilt[data-gate]>.pass-card,.pass-tilt[data-gate]>.pass-card-control{z-index:120;width:var(--gate-w);height:calc(var(--gate-w) * 1.5);cursor:zoom-out;margin:auto;position:fixed;inset:0}.pass-dim{z-index:110;background:radial-gradient(closest-side, color-mix(in oklab, var(--gold) 16%, transparent), transparent) 50% 50% / min(900px, 150vw) min(900px, 150vw) no-repeat, var(--scrim);animation:pass-fade .3s var(--ease-std);position:fixed;inset:0}.pass-close{top:max(12px, env(safe-area-inset-top));z-index:130;animation:pass-fade .3s var(--ease-std);position:fixed;right:16px}@keyframes pass-fade{0%{opacity:0}}.pass-nudge{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:60;background:color-mix(in oklab, var(--bg-deep) 88%, transparent);-webkit-backdrop-filter:blur(10px)saturate(1.2);backdrop-filter:blur(10px)saturate(1.2);width:min(300px,100vw - 32px);box-shadow:0 0 0 2px var(--line), inset 0 2px 0 color-mix(in oklab, var(--moon) 30%, transparent), 4px 4px 0 2px color-mix(in oklab, var(--bg-deep) 60%, transparent);position:fixed}@media (max-width:639px){.pass-nudge{width:272px}}.pass-nudge~.ft{padding-bottom:calc(114px + env(safe-area-inset-bottom))}.pass-nudge-chest{flex:none;width:56px;height:62px;position:relative}.pass-nudge-chest .pass-aura{width:92px}.pass-nudge-chest img{transform-origin:50% 90%;position:relative}@keyframes pass-wobble{0%,16%,to{translate:0;rotate:0deg}4%{translate:0 -3px;rotate:-7deg}8%{translate:0 -4px;rotate:6deg}12%{translate:0 -2px;rotate:-4deg}}.pass-screen{--nav-h:56px;--stage-pad:clamp(16px, 14svh, 120px);min-height:calc(100svh - var(--nav-h));flex-direction:column;display:flex;position:relative}.pass-frame{flex-direction:column;flex:1;display:flex;position:relative}.pass-stage{padding-top:var(--stage-pad);--chest-w:min(256px, 64vw, 30svh);flex-direction:column;flex:1;align-items:center;display:flex;position:relative;overflow:hidden}.pass-stage-art{flex-direction:column;align-items:center;display:flex;position:relative}.pass-stage .pass-rays{opacity:.32;width:760px}.pass-stage .pass-aura{opacity:.6;width:420px}.pass-strip{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 16px 14px;display:grid}.pass-strip>div{text-align:center;flex-direction:column;align-items:center;gap:4px;padding:2px 6px;display:flex}.pass-strip>div+div{border-left:2px solid var(--line)}.pass-strip-label{color:var(--muted-foreground);font-size:11px;line-height:1.2}.pass-strip-value{white-space:nowrap;font-size:20px;line-height:1}.pass-bar{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:2px solid var(--line);background:var(--card);box-shadow:0 -4px 0 color-mix(in oklab, var(--bg-deep) 25%, transparent);flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.pass-head{flex:1;min-width:0}.pass-title{font-size:30px;line-height:.9}.pass-price{margin-top:4px;font-size:24px;line-height:1}.pass-was{color:var(--muted-foreground);font-size:.7em}.pass-action{flex:none;width:160px}.pass-status{text-align:center;min-height:48px;color:var(--accent2);background:color-mix(in oklab, var(--accent2) 16%, transparent);justify-content:center;align-items:center;padding:0 10px;font-size:11px;line-height:1.2;display:flex}.pass-status.is-off{color:var(--muted-foreground);background:color-mix(in oklab, var(--muted-foreground) 14%, transparent)}.pass-message{flex-basis:100%}.pass-profile-link{text-underline-offset:4px;justify-content:center;align-items:center;gap:8px;min-height:36px;font-size:15px;text-decoration:underline;display:flex}@media (pointer:coarse){.pass-card-qr-note a{align-content:center;min-height:44px}.pass-profile-link{min-height:44px}}.pass-held .pass-frame{padding-top:16px}.pass-held .pass-head{flex-basis:100%}.pass-tip{border-top:2px solid var(--line);text-align:center;flex-direction:column;align-items:center;gap:4px;padding-top:16px;display:flex}.pass-tip .pass-strip-value{white-space:normal;text-wrap:balance}.pass-held .pass-strip{border-top:2px solid var(--line);flex-basis:100%;margin:0;padding-top:12px}.pass-holder{overflow-wrap:anywhere;font-size:26px;line-height:.95}.pass-holder-number{letter-spacing:.06em;align-items:baseline;gap:8px;margin-top:6px;font-size:15px;line-height:1.3;display:flex}.pass-holder-number-label{color:var(--muted-foreground);font-size:11px}@media (prefers-reduced-motion:no-preference){.pass-rays.is-turning{animation:40s linear infinite pass-turn}.pass-bob{animation:3.2s ease-in-out infinite pass-bob}.pass-aura.is-breathing{animation:3.2s ease-in-out infinite pass-breathe}.pass-nudge-chest img{animation:3.6s ease-in-out 1.4s infinite pass-wobble}.pass-panel{animation:pass-rise .32s var(--ease-decel) .12s backwards}}@keyframes pass-rise{0%{opacity:0;transform:translateY(16px)}}@media (min-width:1024px){.pass-page{--pass-w:340px}.pass-held{--vault-w:560px}.pass-vault{padding-top:calc(var(--vault-w) * .22)}.pass-screen{--nav-h:64px}.pass-frame{grid-template-columns:minmax(0,1fr) 424px;align-items:center;column-gap:64px;width:100%;max-width:72rem;margin-inline:auto;padding:24px 32px 40px;display:grid}.pass-stage{--chest-w:min(280px, 34svh);justify-content:center;align-self:stretch;padding-top:0}.pass-panel{background:var(--card);box-shadow:0 0 0 2px var(--line), 4px 4px 0 2px var(--bg-deep);flex-direction:column;padding:28px;display:flex}.pass-bar{display:contents}.pass-head{order:1}.pass-title{font-size:52px}.pass-price{margin-top:8px;font-size:34px}.pass-strip{border-block:2px solid var(--line);order:2;margin:24px 0;padding:16px 0}.pass-action{order:3;width:100%}.pass-message{order:4;margin-top:8px}.pass-held .pass-frame{padding-block:24px 0}.pass-held .pass-strip{border-bottom:0;margin:24px 0 0;padding:16px 0 0}.pass-held .pass-message{margin-top:24px}.pass-holder{font-size:40px}.pass-holder-number{margin-top:10px;font-size:16px}}
