.gws{--gws-bg:#0f0a14;--gws-ink:#1a0b17;--gws-word:#f6eef6;--gws-small:#a596a8;z-index:50;background:var(--gws-bg);pointer-events:none;contain:strict;-webkit-user-select:none;user-select:none;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.gws--boot{animation:.32s ease-in 1.65s forwards gws-out}.gws--held{animation:.3s ease-in 1.2s forwards gws-out}.gws--held.gws-chime{animation:.3s ease-in 1s forwards gws-out-chime}.gws--reprise{animation:1.15s linear forwards gws-reprise}.gws--skip{animation:.16s ease-out forwards gws-out}.gws-lockup{width:min(72vw,520px,120vh);margin-bottom:5vh;position:relative}.gws--boot .gws-lockup{animation:1.7s cubic-bezier(.16,1,.3,1) both gws-settle}.gws-piece{position:absolute}.gws-fill{width:100%;height:100%;display:block}.gws-glow{opacity:.5;background:radial-gradient(closest-side,#ff6fae73,#b07bff2e 55%,#0000);position:absolute;inset:-70%}.gws--boot .gws-mark-in{animation:.56s cubic-bezier(.34,1.45,.64,1) 80ms both gws-mark-in}.gws--boot .gws-glow{animation:.9s ease-out .1s both gws-fade}.gws-letter{color:var(--gws-word)}.gws--boot .gws-letter{animation:.44s cubic-bezier(.2,.8,.2,1) both gws-rise;animation-delay:calc(.22s + var(--i) * 22ms)}.gws-presents{color:var(--gws-small)}.gws--boot .gws-presents{animation:.5s ease-out .56s both gws-rise-small}.gws-shine{position:absolute;inset:0;overflow:hidden;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.gws-band{will-change:transform;background:linear-gradient(100deg,#0000 8%,#b07bffcc 30%,#ff6faee6 42%,#fff 50%,#ffd36ee6 58%,#6fd3ffcc 70%,#0000 92%);width:34%;position:absolute;top:0;bottom:0;left:0;transform:translate(-110%)}.gws--boot .gws-band--boot{animation:.72s cubic-bezier(.5,0,.3,1) .8s both gws-sweep}.gws-chime .gws-band--chime{animation:.62s cubic-bezier(.45,0,.3,1) .15s both gws-sweep}.gws-chime .gws-ping{animation:.5s cubic-bezier(.3,1.6,.5,1) both gws-ping}.gws-chime .gws-glow{animation:1s ease-out both gws-glow}@keyframes gws-out{0%{opacity:1}to{opacity:0}}@keyframes gws-out-chime{0%{opacity:1}to{opacity:0}}@keyframes gws-reprise{0%{opacity:0}8%{opacity:1}76%{opacity:1}to{opacity:0}}@keyframes gws-settle{0%{transform:scale(.965)}to{transform:scale(1)}}@keyframes gws-mark-in{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:none}}@keyframes gws-fade{0%{opacity:0}}@keyframes gws-rise{0%{opacity:0;transform:translateY(22%)}to{opacity:1;transform:none}}@keyframes gws-rise-small{0%{opacity:0;transform:translateY(60%)}to{opacity:1;transform:none}}@keyframes gws-sweep{0%{transform:translate(-110%)}to{transform:translate(310%)}}@keyframes gws-ping{0%{transform:scale(1)}28%{transform:scale(1.09)}to{transform:scale(1)}}@keyframes gws-glow{0%{opacity:.5}18%{opacity:1}to{opacity:.5}}@media (prefers-reduced-motion:reduce){.gws *{animation:none!important}}
.bsh{--from:0%;z-index:40;will-change:transform;-webkit-user-select:none;user-select:none;cursor:pointer;background:#16141c;position:absolute;inset:0;overflow:hidden}.bsh[data-state=opening],.bsh[data-state=open]{pointer-events:none}.bsh-door{background:#16141c;position:absolute;inset:0;overflow:hidden}.bsh-slats{background-blend-mode:multiply;background:repeating-linear-gradient(#4d505c 0,#626572 6px,#474a55 22px,#2e3039 27px,#121318 29px,#4d505c 30px),linear-gradient(90deg,#00000080,#ffffff0d 30%,#ffffff14 55%,#0000008c);position:absolute;inset:0}.bsh-night{background:radial-gradient(70% 55% at 50% -8%,#aac4ff57,#788cdc1a 55%,#0000 75%),linear-gradient(#08061426,#0806148c 80%);position:absolute;inset:0}.bsh-lockup{width:min(68vw,520px,110vh);position:absolute;top:36%;left:50%;transform:translate(-50%,-50%)rotate(-2.5deg)}.bsh-piece{position:absolute;overflow:visible}.bsh-paint{color:#f0e8f0e6;filter:drop-shadow(0 0 2px #f0e8f059)}.bsh-small{color:#d6c8d8d1}.bsh-prompt{text-align:center;color:#ffd23f;text-shadow:0 3px #140a1e,0 0 18px #ffd23f59;width:min(92vw,760px);font-size:clamp(15px,2.6vw,30px);line-height:1.15;animation:1.4s ease-in-out infinite bsh-pulse;position:absolute;bottom:calc(5.5% + max(56px,9vh));left:50%;transform:translate(-50%)}.bsh-tap,.bsh-pad{display:none}@media (hover:none) and (pointer:coarse){.bsh-tap{display:inline}.bsh-press{display:none}}.bsh[data-input=pad] .bsh-pad{display:inline}.bsh[data-input=pad] .bsh-press,.bsh[data-input=pad] .bsh-tap{display:none}.bsh-label{transition:opacity .15s;animation:none}.bsh-rattle{animation:.32s linear infinite bsh-rattle}@keyframes bsh-rattle{0%,to{transform:translateY(0)}20%{transform:translateY(-2px)}40%{transform:translateY(1px)}60%{transform:translateY(-3px)}80%{transform:translateY(.5px)}}.bsh[data-state=jammed] .bsh-prompt,.bsh[data-state=opening] .bsh-prompt{opacity:0;transition:opacity .15s;animation:none}.bsh-bar{background:linear-gradient(#7d808b,#3f414b);border-top:4px solid #121318;height:5.5%;min-height:32px;position:absolute;inset:auto 0 0}.bsh-bar i{background:#121318;border-radius:99px;width:64px;height:10px;position:absolute;top:50%;transform:translateY(-50%)}.bsh-bar i:first-child{left:18%}.bsh-bar i:last-child{right:18%}.bsh-leak{opacity:.7;background:#ffd23f;height:4px;animation:3.2s step-end infinite bsh-flicker;position:absolute;inset:auto 0 0;box-shadow:0 0 24px 6px #ffd23f99}.bsh[data-state=jammed]{animation:.26s cubic-bezier(.3,0,.4,1) both bsh-jam-up,.3s linear .26s infinite bsh-jam}.bsh[data-state=opening]{animation:1.2s cubic-bezier(.45,0,.25,1) both bsh-open}.bsh[data-state=opening][data-from=jammed]{--from:-6%}@keyframes bsh-pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes bsh-flicker{0%,to{opacity:.7}47%{opacity:.45}49%{opacity:.75}}@keyframes bsh-jam-up{0%{transform:translateY(0)}to{transform:translateY(-6%)}}@keyframes bsh-jam{0%,to{transform:translateY(-6%)}30%{transform:translateY(-6.6%)}60%{transform:translateY(-5.6%)}}@keyframes bsh-open{0%{transform:translateY(var(--from))}7%{transform:translateY(calc(var(--from) + 1.6%))}22%{transform:translateY(calc(var(--from) - 10%))}30%{transform:translateY(calc(var(--from) - 7.5%))}to{transform:translateY(-102%)}}@keyframes bsh-fade{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.bsh,.bsh *,.bsh-rattle{animation:none!important}.bsh[data-state=opening]{animation:.35s ease-out both bsh-fade!important}}
