@font-face{font-family:Jacqualine;src:url(/assets/Jacqualine-BtC5eb31.otf) format("opentype");font-weight:400;font-display:swap}@font-face{font-family:Jacqualine;src:url(/assets/Jacqualine-Bold-D3dwNZxV.ttf) format("truetype");font-weight:700;font-display:swap}:root{--black: #000000;--surface: #161616;--surface-raised: #262626;--line: #474747;--muted: #9fa0a7;--white: #ffffff;--lime: #d6ff00;--blue: #0d53ff;--red: #ff4d4d;--pop: cubic-bezier(.2, 1.4, .4, 1)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--black);color:var(--white);font-family:Jacqualine,sans-serif;overflow:hidden;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.app{display:flex;flex-direction:column;height:100%;padding:clamp(20px,3vw,40px)}.brand img{display:block;height:clamp(18px,2.4vw,28px)}.screen{flex:1;min-height:0;animation:enter .32s ease-out both}.center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;font-size:24px;text-align:center}.pulse{animation:pulse 1.2s ease-in-out infinite}.eyebrow{margin:0 0 12px;color:var(--lime);font-size:clamp(16px,1.8vw,22px)}.title{margin:0;font-size:clamp(40px,5.4vw,72px);font-weight:700;line-height:1.02;letter-spacing:-.01em}.button{align-self:flex-start;margin-top:24px;padding:20px 44px;border:0;border-radius:25rem;background:var(--lime);color:var(--black);font-size:clamp(20px,2.2vw,26px);font-weight:700;transition:transform .12s ease-out}.button:active{transform:scale(.96)}.center .button{align-self:center}.entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;padding-top:12px}.entry-main{display:flex;flex-direction:column;min-width:0}.cells{display:flex;gap:clamp(6px,.9vw,12px);margin-top:clamp(24px,3.4vw,44px)}.cells--error{animation:shake .34s ease-out}.cells--busy .cell{animation:pulse .9s ease-in-out infinite}.cell{display:grid;flex:1;place-items:center;max-width:96px;aspect-ratio:4 / 5;border:2px solid var(--line);border-radius:16px;background:var(--surface);font-size:clamp(30px,4vw,54px);font-weight:700;transition:border-color .14s ease-out,background-color .14s ease-out}.cell--active{border-color:var(--lime)}.cells--error .cell{border-color:var(--red);color:var(--red)}.cell-char{animation:char-in .18s var(--pop) both}.entry-message{min-height:1.3em;margin:20px 0 0;color:var(--muted);font-size:clamp(18px,2vw,24px);user-select:text;-webkit-user-select:text}.entry-message--error{color:var(--red)}.keypad{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:clamp(6px,.8vw,10px)}.key{aspect-ratio:1;min-height:48px;padding:0;border:0;border-radius:14px;background:var(--surface-raised);color:var(--white);font-size:clamp(22px,2.6vw,34px);font-weight:700;transition:transform 90ms ease-out,background-color 90ms ease-out}.key:active{background:var(--lime);color:var(--black);transform:scale(.92)}.key--erase{background:var(--blue)}.marquee{margin-top:clamp(20px,3vw,40px);overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent)}.marquee-track{display:flex;gap:12px;width:max-content;animation:marquee 48s linear infinite}.marquee-item{width:clamp(64px,8vw,104px);aspect-ratio:1;flex:none}.art{display:block;width:100%;height:100%;border-radius:16px;background:var(--white);object-fit:contain}.art--empty{display:grid;place-items:center;background:var(--surface-raised)}.art--empty img{width:56%}.reel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(20px,3vw,40px)}.reel-title{font-size:clamp(32px,4.4vw,56px)}.reel-stage{position:relative;width:100vw;padding-top:26px}.reel-pointer{position:absolute;top:0;left:50%;z-index:1;width:0;height:0;border-top:30px solid var(--lime);border-right:20px solid transparent;border-left:20px solid transparent;transform:translate(-50%);transform-origin:50% 0}.reel-viewport{padding:20px 0;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(to right,transparent,#000 22%,#000 78%,transparent)}.reel-track{display:flex;gap:clamp(14px,2vw,24px);width:max-content;will-change:transform}.reel-card{flex:none;width:clamp(200px,26vw,340px);padding:14px;border:3px solid transparent;border-radius:24px;background:var(--surface);transition:border-color .26s ease-out,transform .42s var(--pop)}.reel-card .art{aspect-ratio:1;height:auto}.reel-card-title{display:-webkit-box;height:2.5em;margin:14px 4px 2px;overflow:hidden;font-size:clamp(17px,1.9vw,24px);font-weight:700;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.reel-card--won{border-color:var(--lime);transform:scale(1.06)}.win{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,5vw,72px);align-items:center}.win-card{justify-self:end;width:min(100%,62vh);aspect-ratio:1;padding:18px;border:4px solid var(--lime);border-radius:32px;background:var(--surface);animation:win-pop .62s var(--pop) both}.win-info{display:flex;flex-direction:column;min-width:0;animation:enter .42s .18s ease-out both}.win-title{overflow-wrap:anywhere}.win-hint{margin:20px 0 0;color:var(--muted);font-size:clamp(18px,2.1vw,26px)}@keyframes enter{0%{opacity:0;transform:translateY(10px)}}@keyframes pulse{50%{opacity:.45}}@keyframes char-in{0%{opacity:0;transform:translateY(10px) scale(.8)}}@keyframes shake{25%{transform:translate(-9px)}50%{transform:translate(7px)}75%{transform:translate(-4px)}}@keyframes marquee{to{transform:translate(-50%)}}@keyframes win-pop{0%{opacity:0;transform:scale(.72) rotate(-4deg)}}@media (orientation: portrait){.entry,.win{grid-template-columns:minmax(0,1fr);align-content:center}.win-card{justify-self:center;width:min(100%,44vh)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}
