.mini-pinball{--pinball-line:color-mix(in srgb, var(--foreground) 72%, transparent);--pinball-soft-line:color-mix(in srgb, var(--foreground) 18%, transparent);width:min(100%,30rem);color:var(--foreground);margin-inline:auto;padding-block:clamp(2rem,5vw,3.25rem)}.mini-pinball__header{justify-content:space-between;align-items:end;gap:1rem;margin:0 .35rem .85rem;display:flex}.mini-pinball__header h2,.mini-pinball__eyebrow{margin:0}.mini-pinball__header h2{letter-spacing:-.035em;font-size:clamp(1rem,3vw,1.15rem);font-weight:750;line-height:1.05}.mini-pinball__eyebrow{color:var(--muted-foreground);letter-spacing:.11em;text-transform:uppercase;margin-bottom:.25rem;font-size:.58rem;font-weight:650;line-height:1}.mini-pinball__score{border:1px solid var(--pinball-soft-line);background:color-mix(in srgb, var(--background) 92%, var(--muted));min-width:3.45rem;color:var(--foreground);text-align:right;border-radius:.5rem;align-content:center;padding:.25rem .45rem;line-height:1;display:grid}.mini-pinball__score span{color:var(--muted-foreground);letter-spacing:.1em;text-transform:uppercase;font-size:.42rem;font-weight:700}.mini-pinball__score strong{font-variant-numeric:tabular-nums;letter-spacing:.055em;margin-top:.16rem;font-size:.68rem;font-weight:750}.mini-pinball__cabinet,.mini-pinball__loader{border:1px solid var(--pinball-line);background:linear-gradient(145deg, color-mix(in srgb, var(--background) 98%, var(--muted)), var(--background) 58%);box-shadow:0 1px 0 color-mix(in srgb, var(--background) 75%, transparent) inset, 0 16px 44px color-mix(in srgb, var(--foreground) 9%, transparent);border-radius:1.4rem;position:relative;overflow:hidden}.mini-pinball__cabinet{--pinball-inset:0rem;isolation:isolate}.mini-pinball__cabinet:after,.mini-pinball__loader:after{z-index:4;border:1px solid color-mix(in srgb, var(--foreground) 7%, transparent);content:"";pointer-events:none;border-radius:1rem;position:absolute;inset:.45rem}.mini-pinball__reset{z-index:5;border:1px solid color-mix(in srgb, var(--foreground) 48%, transparent);background:color-mix(in srgb, var(--background) 88%, transparent);width:2.75rem;height:2.75rem;color:var(--foreground);box-shadow:0 4px 12px color-mix(in srgb, var(--foreground) 10%, transparent);cursor:pointer;backdrop-filter:blur(6px);border-radius:50%;place-items:center;padding:.48rem;transition:border-color .16s,background-color .16s,transform .16s;display:none;position:absolute;top:.75rem;right:.75rem}.mini-pinball__reset svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:100%;height:100%}.mini-pinball__reset:hover{border-color:var(--foreground);background:var(--foreground);color:var(--background);transform:rotate(-12deg)}.mini-pinball__reset:focus-visible{border-color:var(--foreground);outline:2px solid var(--foreground);outline-offset:3px}.mini-pinball__board{aspect-ratio:21/31;width:100%;height:auto;display:block}.mini-pinball__rail{stroke:color-mix(in srgb, var(--foreground) 82%, transparent);stroke-width:2px}.mini-pinball__pattern-background{fill:color-mix(in srgb, var(--background) 96%, var(--muted))}.mini-pinball__pattern-dot{fill:color-mix(in srgb, var(--foreground) 10%, transparent)}.mini-pinball__lane,.mini-pinball__guide{fill:none;stroke-linecap:round}.mini-pinball__lane{stroke:color-mix(in srgb, var(--foreground) 78%, transparent);stroke-width:2px}.mini-pinball__guide{stroke:color-mix(in srgb, var(--foreground) 30%, transparent);stroke-width:3px;stroke-dasharray:7 9}.mini-pinball__lane-gate{fill:none;stroke:var(--foreground);stroke-dasharray:34;stroke-dashoffset:34px;stroke-linecap:round;stroke-width:4px;transition:stroke-dashoffset .18s ease-out}.mini-pinball__lane-gate--closed{stroke-dashoffset:0}.mini-pinball__marquee{color:var(--foreground)}.mini-pinball__marquee text{fill:color-mix(in srgb, currentColor 50%, transparent);letter-spacing:.12em;font-family:inherit;font-size:7px;font-weight:700}.mini-pinball__marquee circle:first-of-type{fill:color-mix(in srgb, currentColor 76%, transparent)}.mini-pinball__marquee circle:last-of-type{fill:none;stroke:color-mix(in srgb, currentColor 52%, transparent);stroke-width:1px}.mini-pinball__bumper{filter:drop-shadow(0 4px 3px color-mix(in srgb, var(--foreground) 13%, transparent))}.mini-pinball__bumper-ring{fill:color-mix(in srgb, var(--background) 93%, var(--muted));stroke:var(--foreground);stroke-width:2.5px}.mini-pinball__bumper-core{fill:color-mix(in srgb, var(--foreground) 92%, transparent);stroke:var(--background);stroke-width:1.25px}.mini-pinball__bumper circle{transform-box:fill-box;transform-origin:50%}.mini-pinball__bumper--hit .mini-pinball__bumper-ring{animation:pinball-bumper-spring .42s cubic-bezier(.2, .8, .3, 1), pinball-circle-vibrate .18s ease-in-out var(--circle-vibrations)}.mini-pinball__bumper--hit .mini-pinball__bumper-core{animation:pinball-bumper-core-spring .42s cubic-bezier(.2, .8, .3, 1), pinball-circle-vibrate .18s ease-in-out var(--circle-vibrations)}.mini-pinball__bumper-effect{fill:var(--foreground);pointer-events:none;letter-spacing:.04em;opacity:0;text-transform:uppercase;font-family:inherit;font-size:13px;font-weight:800;animation:1s ease-out forwards pinball-bumper-text}.mini-pinball__bumper-effect--small{letter-spacing:.02em;font-size:9px}.mini-pinball__post circle{fill:var(--background);stroke:color-mix(in srgb, var(--foreground) 72%, transparent);stroke-width:2px;transform-box:fill-box;transform-origin:50%}.mini-pinball__post--hit circle{animation:pinball-circle-vibrate .18s ease-in-out var(--circle-vibrations)}.mini-pinball__hole-ring{fill:var(--background);stroke:color-mix(in srgb, var(--foreground) 34%, transparent);stroke-width:1.5px}.mini-pinball__hole-pocket{fill:color-mix(in srgb, var(--foreground) 15%, transparent)}.mini-pinball__hole{color:var(--foreground);pointer-events:none}.mini-pinball__hole text{fill:currentColor;letter-spacing:.025em;font-family:inherit;font-size:12px;font-weight:650}.mini-pinball__hole--active .mini-pinball__hole-ring{stroke:var(--foreground);stroke-width:2.25px;animation:.55s ease-in-out infinite alternate pinball-ring}.mini-pinball__hole--active .mini-pinball__hole-pocket{fill:color-mix(in srgb, var(--foreground) 76%, var(--background))}.mini-pinball__ball-layer{z-index:2;top:var(--pinball-inset);left:var(--pinball-inset);width:calc(100% - 2 * var(--pinball-inset));aspect-ratio:21/31;pointer-events:none;height:auto;position:absolute}.mini-pinball__ball{pointer-events:none;filter:drop-shadow(0 3px 2px color-mix(in srgb, var(--foreground) 20%, transparent))}.mini-pinball__ball>circle:first-child{fill:var(--foreground);stroke:var(--background);stroke-width:2px}.mini-pinball__ball-shine{fill:var(--background)}.mini-pinball__flipper-hit-area{fill:none;stroke:#0000;stroke-linecap:round;stroke-width:40px;pointer-events:stroke;cursor:pointer;touch-action:none}.mini-pinball__flipper{fill:none;stroke:var(--foreground);stroke-linecap:round;stroke-width:12px;pointer-events:none;filter:drop-shadow(0 4px 2px color-mix(in srgb, var(--foreground) 14%, transparent))}.mini-pinball__flipper-pivot{fill:var(--background);stroke:var(--foreground);stroke-width:3px;pointer-events:none}.mini-pinball__launcher{--launcher-offset:0%;z-index:1;aspect-ratio:1/4;cursor:ns-resize;touch-action:none;user-select:none;border-radius:999px;width:6.667%;position:absolute;bottom:5%;left:87.38%;transform:translate(-50%)}.mini-pinball__launcher:focus-visible{outline:2px solid var(--foreground);outline-offset:4px}.mini-pinball__launcher:focus-visible .mini-pinball__launcher-track{border-color:var(--foreground)}.mini-pinball__launcher[aria-disabled=true]{cursor:default;opacity:.5}.mini-pinball__launcher-label{color:color-mix(in srgb, var(--foreground) 46%, transparent);letter-spacing:.12em;text-transform:uppercase;writing-mode:vertical-rl;font-size:clamp(.34rem,1.25vw,.48rem);font-weight:700;line-height:1;position:absolute;bottom:12%;right:93%;transform:rotate(180deg)}.mini-pinball__launcher-track{border:1px solid color-mix(in srgb, var(--foreground) 28%, transparent);width:18%;position:absolute;top:10%;bottom:10%;left:50%;transform:translate(-50%)}.mini-pinball__launcher-rod{width:11%;height:calc(10% + var(--launcher-offset));background:color-mix(in srgb, var(--foreground) 84%, transparent);border-radius:999px;position:absolute;top:10%;left:50%;transform:translate(-50%)}.mini-pinball__launcher-handle{top:calc(7.32% + var(--launcher-offset));aspect-ratio:1;border:1.5px solid color-mix(in srgb, var(--foreground) 78%, transparent);background:var(--background);width:76%;box-shadow:inset 0 3px 0 color-mix(in srgb, var(--background) 74%, transparent), inset 0 -3px 4px color-mix(in srgb, var(--foreground) 10%, transparent), 0 4px 6px color-mix(in srgb, var(--foreground) 16%, transparent);cursor:grab;border-radius:50%;position:absolute;left:50%;transform:translate(-50%)}.mini-pinball__launcher:active .mini-pinball__launcher-handle{cursor:grabbing}.mini-pinball__launcher-handle:before{background:color-mix(in srgb, var(--background) 64%, white);content:"";border-radius:999px;width:30%;height:16%;position:absolute;top:18%;left:27%}.mini-pinball__instructions{border:1px solid var(--pinball-soft-line);background:color-mix(in srgb, var(--background) 96%, var(--muted));color:var(--muted-foreground);border-radius:1rem;margin-top:.8rem;overflow:hidden}.mini-pinball__status,.mini-pinball__controls{margin:0}.mini-pinball__status{border-bottom:1px solid var(--pinball-soft-line);color:var(--foreground);text-align:center;text-overflow:ellipsis;white-space:nowrap;padding:.65rem .8rem;font-size:.7rem;font-weight:550;line-height:1.35;overflow:hidden}.mini-pinball__controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:.45rem .9rem;padding:.62rem .75rem .68rem;font-size:.58rem;line-height:1.4;display:flex}.mini-pinball__controls>span{white-space:nowrap;align-items:center;gap:.25rem;display:inline-flex}.mini-pinball__controls kbd{border:1px solid color-mix(in srgb, var(--foreground) 28%, transparent);background:var(--background);min-width:1.35rem;color:var(--foreground);box-shadow:0 1px 0 color-mix(in srgb, var(--foreground) 36%, transparent);font:inherit;text-align:center;border-radius:.3rem;padding:.13rem .28rem;font-weight:650}.mini-pinball__loader{aspect-ratio:21/31;color:var(--muted-foreground);text-align:center;place-items:center;display:grid}.mini-pinball__loader:before{background:linear-gradient(90deg, transparent 49.8%, color-mix(in srgb, var(--foreground) 5%, transparent) 50%, transparent 50.2%), linear-gradient(transparent 49.8%, color-mix(in srgb, var(--foreground) 5%, transparent) 50%, transparent 50.2%);content:"";pointer-events:none;background-size:2rem 2rem;position:absolute;inset:0}.mini-pinball__loader-physics{opacity:.78;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.mini-pinball__physics-ball{fill:var(--foreground);stroke:var(--background);stroke-width:2px}.mini-pinball__physics-ball-shine{fill:var(--background)}.mini-pinball__loader-content{z-index:3;border:1px solid color-mix(in srgb, var(--foreground) 24%, transparent);background:color-mix(in srgb, var(--background) 88%, transparent);width:min(100% - 3rem,21rem);box-shadow:0 10px 32px color-mix(in srgb, var(--foreground) 8%, transparent);backdrop-filter:blur(8px);border-radius:1rem;place-items:center;gap:.62rem;padding:1.35rem 1.25rem 1rem;display:grid;position:relative}.mini-pinball__loader-kicker,.mini-pinball__loader-title,.mini-pinball__loader-copy{margin:0}.mini-pinball__loader-kicker{color:var(--muted-foreground);letter-spacing:.1em;text-transform:uppercase;font-size:.58rem;font-weight:700}.mini-pinball__loader-title{color:var(--foreground);letter-spacing:-.055em;font-size:clamp(1.25rem,5vw,1.55rem);font-weight:760;line-height:1.1}.mini-pinball__loader-copy{max-width:30ch;color:var(--muted-foreground);font-size:.69rem;line-height:1.55}.mini-pinball__gatcha{border:1px solid var(--foreground);background:var(--foreground);width:min(100%,12.5rem);min-height:2.55rem;color:var(--background);font:inherit;cursor:pointer;border-radius:.65rem;justify-content:space-between;align-items:center;gap:1rem;margin-top:.18rem;padding:.58rem .75rem;font-size:.69rem;font-weight:700;transition:background-color .16s,color .16s,transform .16s;display:inline-flex}.mini-pinball__gatcha:hover:not(:disabled){background:var(--background);color:var(--foreground);transform:translateY(-1px)}.mini-pinball__gatcha:focus-visible{outline:2px solid var(--foreground);outline-offset:3px}.mini-pinball__gatcha:disabled{border-color:color-mix(in srgb, var(--foreground) 24%, transparent);background:color-mix(in srgb, var(--foreground) 10%, transparent);color:var(--muted-foreground);cursor:not-allowed}.mini-pinball__loader-status{color:var(--muted-foreground);letter-spacing:.035em;font-size:.52rem}.mini-pinball__modal-backdrop{z-index:100;background:color-mix(in srgb, var(--background) 86%, transparent);backdrop-filter:blur(6px);place-items:center;padding:1rem;animation:.18s ease-out both pinball-backdrop-in;display:grid;position:fixed;inset:0}.mini-pinball__modal{border:1px solid var(--foreground);background:var(--background);width:min(100%,25rem);color:var(--foreground);text-align:center;box-shadow:0 20px 60px color-mix(in srgb, var(--foreground) 14%, transparent);border-radius:1.2rem;padding:2.15rem 2rem 1.75rem;animation:.22s cubic-bezier(.2,.8,.3,1) both pinball-modal-in;position:relative}.mini-pinball__modal-pocket{color:var(--muted-foreground);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .25rem;font-size:.61rem;font-weight:700}.mini-pinball__modal h3{letter-spacing:-.06em;margin:0;font-size:clamp(1.8rem,8vw,2.3rem);font-weight:780;line-height:1.05}.mini-pinball__modal p:not(.mini-pinball__modal-pocket){max-width:31ch;color:var(--muted-foreground);margin:.65rem auto 1.25rem;font-size:.76rem;line-height:1.55}.mini-pinball__modal-close{border:1px solid var(--pinball-soft-line);width:2rem;height:2rem;color:var(--foreground);font:inherit;background:0 0;border-radius:50%;place-items:center;padding:0;font-size:1.2rem;line-height:1;transition:background-color .16s,color .16s;display:grid;position:absolute;top:.65rem;right:.65rem}.mini-pinball__modal-close:hover{background:var(--foreground);color:var(--background)}.mini-pinball__modal-track{border-bottom:1px solid var(--border);height:4.75rem;margin:0 2rem 1.1rem;position:relative;overflow:hidden}.mini-pinball__modal-physics{pointer-events:none;width:100%;height:100%;display:block}.mini-pinball__modal-actions{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:.55rem;display:grid}.mini-pinball__modal-link,.mini-pinball__modal-replay{border:1px solid var(--foreground);min-height:2.7rem;font:inherit;border-radius:.65rem;justify-content:center;align-items:center;gap:.65rem;padding:.62rem .8rem;font-size:.69rem;font-weight:700;text-decoration:none;transition:background-color .16s,color .16s;display:inline-flex}.mini-pinball__modal-link{background:var(--foreground);color:var(--background);justify-content:space-between}.mini-pinball__modal-link:hover{background:var(--background);color:var(--foreground)}.mini-pinball__modal-replay{background:var(--background);color:var(--foreground);cursor:pointer}.mini-pinball__modal-replay:hover{background:var(--foreground);color:var(--background)}@keyframes pinball-circle-vibrate{0%,to{translate:0}20%{translate:-2px 1px}40%{translate:3px -2px}60%{translate:-2px -3px}80%{translate:3px 2px}}@keyframes pinball-bumper-spring{0%,to{transform:scale(1)}18%{transform:scale(.82)}42%{transform:scale(1.2)}66%{transform:scale(.94)}84%{transform:scale(1.05)}}@keyframes pinball-bumper-core-spring{0%,to{transform:scale(1)}18%{transform:scale(1.28)}42%{transform:scale(.86)}68%{transform:scale(1.08)}}@keyframes pinball-bumper-text{0%{opacity:0;translate:0}15%{opacity:1}75%{opacity:1}to{opacity:0;translate:0 calc(-1 * var(--bumper-text-travel))}}@keyframes pinball-ring{to{transform:scale(1.09)}}@keyframes pinball-backdrop-in{0%{opacity:0}}@keyframes pinball-modal-in{0%{opacity:0;transform:translateY(.75rem)scale(.98)}}@media (width<=40rem){.mini-pinball{padding-block:1.8rem}.mini-pinball__header{margin-inline:.2rem}.mini-pinball__cabinet,.mini-pinball__loader{border-radius:1.15rem}.mini-pinball__cabinet:after,.mini-pinball__loader:after{border-radius:.85rem;inset:.35rem}.mini-pinball__reset{display:grid}.mini-pinball__desktop-reset-hint{display:none!important}.mini-pinball__controls{gap-inline:.65rem}}@media (width<=24rem){.mini-pinball__status{white-space:normal}.mini-pinball__loader-content{width:calc(100% - 2rem);padding-inline:1rem}.mini-pinball__modal{padding-inline:1.25rem}.mini-pinball__modal-actions{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.mini-pinball__hole--active .mini-pinball__hole-ring,.mini-pinball__bumper--hit circle,.mini-pinball__post--hit circle,.mini-pinball__bumper-effect,.mini-pinball__modal-backdrop,.mini-pinball__modal{animation:none}.mini-pinball__lane-gate,.mini-pinball__reset,.mini-pinball__gatcha,.mini-pinball__modal-close,.mini-pinball__modal-link,.mini-pinball__modal-replay{transition:none}.mini-pinball__bumper-effect{opacity:1;translate:0 calc(-1 * var(--bumper-text-travel))}}
