@import "https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@400;600;700;800&display=swap";html,body,#app{width:100%;height:100%}body{background:#dcdcdc;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}#app{--focus-ring-outer:#111;--focus-ring-inner:#fdde06;--app-pad-y:24px;--layout-max-width:520px;padding:var(--app-pad-y) 20px;box-sizing:border-box;flex-direction:column;display:flex}.app-shell{opacity:0;flex:1;justify-content:center;align-items:center;width:100%;transition:opacity .5s;display:flex}.app-shell--revealed{opacity:1}.app-shell--hidden{pointer-events:none}.game-layout{--frame-border:10px;--frame-padding:10px;--frame-gap:10px;--panel-padding:10px;--download-padding-y:10px;--download-padding-x:12px;--download-font-size:12px;--playfield-width-ratio:.652174;--playfield-height-ratio:2;width:min(var(--layout-max-width), 100%, calc(( ((100dvh - (2 * var(--app-pad-y))) - (2 * var(--frame-border)) - (2 * var(--frame-padding))) / var(--playfield-height-ratio) / var(--playfield-width-ratio) ) + (2 * var(--frame-border)) + (2 * var(--frame-padding)) + var(--frame-gap)));box-sizing:border-box;gap:var(--frame-gap);padding:var(--frame-padding);border:var(--frame-border) solid #111;background:#111;grid-template-columns:300fr 160fr;display:grid;box-shadow:25px 25px #0000001a}.canvas-container{aspect-ratio:1/2;background:#fff;width:100%}.canvas-container canvas{width:100%;height:100%;display:block}.ui-layer{height:100%}.hud{gap:var(--frame-gap);flex-direction:column;width:100%;height:100%;min-height:0;display:flex}.hud-panel{padding:var(--panel-padding);box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;min-height:0;display:flex}.hud-panel-score{color:#fff;background:#e70503;flex:0 0 20%;min-height:0}.hud-panel-time{color:#fff;background:#0300ad;flex:0 0 20%;min-height:0}.hud-panel-controls{color:#111;background:#fdde06;border:2px solid #111;border-radius:0;flex:1;justify-content:space-between;align-items:stretch;gap:10px;min-height:0;overflow:hidden}.hud-label{letter-spacing:.03em;text-transform:uppercase;font-family:Bebas Neue,Inter,sans-serif;font-size:clamp(13px,2vw,16px)}.hud-value{font-size:clamp(28px,5vw,40px);font-weight:700;line-height:1}.hud-led-screen{background:linear-gradient(90deg,#e70503 0 8px,#0000 8px),linear-gradient(90deg,#0000 calc(100% - 8px),#0300ad calc(100% - 8px)),#fff;border:3px solid #111;border-radius:0;justify-content:center;align-items:center;min-height:72px;padding:12px;font-family:Courier New,IBM Plex Mono,monospace;display:flex;position:relative;overflow:hidden}.hud-led-screen:after{content:"";pointer-events:none;opacity:.16;background:repeating-linear-gradient(#00000008 0 1px,#0000 1px 4px);position:absolute;inset:0}.hud-led-text{letter-spacing:.045em;text-transform:uppercase;color:#111;text-align:center;z-index:1;font-size:clamp(10px,1.6vw,12px);font-weight:700;line-height:1.2;position:relative}.hud-next-piece{z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding-top:8px;display:flex;position:relative}.hud-next-piece-label{letter-spacing:.06em;text-transform:uppercase;font-family:Bebas Neue,Inter,sans-serif;font-size:clamp(13px,1.8vw,16px);font-weight:700;line-height:1}.hud-next-piece-preview{width:50px;height:50px;image-rendering:pixelated;display:block}.hud-controls{gap:6px;padding:8px 0 2px;display:grid}.hud-volume-control{background:#fff;border:1px solid #111;grid-template-columns:auto 1fr auto;align-items:center;column-gap:6px;min-height:24px;padding:2px 4px;display:grid}.hud-volume-mute-button{appearance:none;color:#111;cursor:pointer;background:#fff;border:1px solid #111;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:inline-flex}.hud-volume-mute-button:hover{background:#efefef}.hud-volume-mute-button:focus{outline:none}.hud-volume-mute-button:focus-visible{box-shadow:0 0 0 2px var(--focus-ring-inner), 0 0 0 5px var(--focus-ring-outer)}.hud-volume-icon{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:11px;height:11px}.hud-volume-icon-muted-line{display:none}.hud-volume-mute-button.is-muted .hud-volume-icon-muted-line{display:block}.hud-volume-value{letter-spacing:.03em;color:#111;justify-self:end;font-family:Bebas Neue,Inter,sans-serif;font-size:12px}.hud-volume-slider{appearance:none;background:0 0;width:100%;height:14px;margin:0}.hud-volume-slider:focus{outline:none}.hud-volume-slider::-webkit-slider-runnable-track{background:#fff;border:1px solid #111;height:4px}.hud-volume-slider::-webkit-slider-thumb{appearance:none;width:10px;height:10px;box-shadow:none;cursor:pointer;background:#0300ad;border:1px solid #111;margin-top:-4px}.hud-volume-slider::-moz-range-track{background:#fff;border:1px solid #111;height:4px}.hud-volume-slider::-moz-range-thumb{width:10px;height:10px;box-shadow:none;cursor:pointer;background:#0300ad;border:1px solid #111}.hud-volume-mute-button.is-muted,.hud-volume-mute-button.is-muted:hover{color:#fff;background:#e70503}.hud-control-button{appearance:none;color:#111;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;background:#cfcfcf;border:3px solid #111;border-radius:0;justify-content:flex-start;align-items:center;gap:8px;width:100%;height:44px;padding:0 10px;font-family:Bebas Neue,Inter,sans-serif;font-size:clamp(18px,2.3vw,22px);font-weight:700;display:inline-flex}.hud-control-button:hover:not(:disabled){filter:brightness(1.06)}.hud-control-button:active:not(:disabled){transform:translate(1px,1px)}.hud-control-button:focus{outline:none}.hud-control-button:focus-visible:not(:disabled){box-shadow:0 0 0 2px var(--focus-ring-inner), 0 0 0 5px var(--focus-ring-outer);z-index:1;outline:none;position:relative}.hud-control-restart{color:#fff;background:#e70503}.hud-control-download{color:#fff;background:#0300ad}.hud-control-button:disabled,.hud-control-button.disabled{cursor:not-allowed;color:#2828288c;background:#cfcfcf;border-color:#333}.hud-control-icon{flex:0 0 18px;justify-content:center;align-items:center;width:18px;height:18px;line-height:1;display:inline-flex}.hud-control-icon-svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.hud-control-restart .hud-control-icon,.hud-control-download .hud-control-icon{width:18px;height:18px}.hud-control-label{align-items:center;line-height:1;display:inline-flex}.hud-led-screen.state-running .hud-led-text{display:none}.hud-led-screen.state-running .hud-next-piece{display:flex}.hud-led-screen.state-finished .hud-led-text{display:block}.hud-led-screen.state-finished .hud-next-piece,.hidden{display:none}#app:has(.landing) .app-byline{display:none}#app.app--game-reveal .app-byline{opacity:0;transition:opacity .5s;display:flex}#app.app--game-reveal.app--game-revealed .app-byline{opacity:1}.landing{--landing-hero-size:128px;--landing-hero-text-height:calc(var(--landing-hero-size) * 4 - 20px);--landing-toy-height:var(--landing-hero-text-height);--landing-instructions-size:32px;--landing-play-size:64px;--landing-tracking:.12em;--landing-toy-overlap:32px;--landing-col-gap:24px;--landing-row-gap:20px;--landing-play-title-offset:5.5rem;--landing-instructions-indent:calc(var(--landing-hero-size) * .74);z-index:20;color:#111;letter-spacing:var(--landing-tracking);opacity:1;background:#dcdcdc;flex-direction:column;font-family:Bebas Neue,Inter,sans-serif;font-weight:400;line-height:1;transition:opacity .5s;display:flex;position:fixed;inset:0}.landing--exiting{opacity:0;pointer-events:none}.confetti-canvas{pointer-events:none;z-index:10;opacity:0;width:100%;height:100%;position:fixed;inset:0}.confetti-canvas--active{opacity:1}.brand-logo{z-index:2;cursor:default;outline:none;width:74px;height:63px;position:fixed;top:24px;left:24px}.brand-logo:focus-visible{outline-offset:4px;outline:2px solid #111}.brand-logo-img{object-fit:contain;width:100%;height:100%;transition:opacity .28s,transform .42s cubic-bezier(.34,1.4,.64,1);position:absolute;inset:0}.brand-logo-img--mondrian{opacity:1;transform:scale(1)rotate(0)}.brand-logo-img--amrit{opacity:0;transform:scale(.85)rotate(6deg)}.brand-logo:hover .brand-logo-img--mondrian,.brand-logo:focus-within .brand-logo-img--mondrian{opacity:0;transform:scale(1.05)rotate(-6deg)}.brand-logo:hover .brand-logo-img--amrit,.brand-logo:focus-within .brand-logo-img--amrit{opacity:1;transform:scale(1)rotate(0)}.app-brand-logo{opacity:0;transition:opacity .5s;display:none}#app:not(:has(.landing)) .app-brand-logo{display:block}.app-brand-logo--revealed{opacity:1}@media (width<=1280px) and (orientation:portrait),(width<=1280px) and (orientation:landscape){.app-brand-logo{display:none!important}}.landing-main{box-sizing:border-box;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;padding:80px 48px 48px;display:flex}.landing-panel{column-gap:var(--landing-col-gap);row-gap:var(--landing-row-gap);grid-template:"toy title""play instructions"/max-content max-content;justify-content:center;align-items:end;display:grid}.landing-col-left,.landing-col-right{display:contents}.landing-hero-toy{height:var(--landing-toy-height);width:auto;margin-right:calc(-1 * var(--landing-toy-overlap));z-index:1;grid-area:toy;place-self:center start;display:block}.landing-title{text-transform:uppercase;font-size:var(--landing-hero-size);letter-spacing:var(--landing-tracking);font-weight:400;line-height:1}.landing-title--desktop{flex-direction:column;grid-area:title;place-self:center start;gap:0;display:flex}.landing-title-group{flex-direction:column;display:flex}.landing-title-line{display:block}.landing-title-char{display:inline-block}.landing-title--mobile-left,.landing-title--mobile-right{display:none}.landing-play{width:calc(100% + var(--landing-col-gap) - var(--landing-toy-overlap) + var(--landing-play-title-offset));min-height:calc(var(--landing-instructions-size) * 4 + 1rem);color:#111;font-family:inherit;font-size:var(--landing-play-size);letter-spacing:var(--landing-tracking);text-transform:uppercase;cursor:pointer;box-sizing:border-box;background:#fdde06;border:3px solid #111;grid-area:play;justify-content:center;place-self:center start;align-items:center;padding:0;font-weight:400;line-height:1;display:inline-flex}.landing-play:hover{filter:brightness(1.04)}.landing-play:focus-visible{outline-offset:3px;outline:2px solid #111}.landing-play:disabled{cursor:default}.landing-instructions{font-size:var(--landing-instructions-size);letter-spacing:var(--landing-tracking);text-transform:uppercase;padding-left:var(--landing-instructions-indent);grid-area:instructions;place-self:center start;font-weight:400;line-height:1}.landing-instructions p,.landing-instructions-line{margin:0 0 .35em}.landing-instructions p:last-child,.landing-instructions-line:last-child{margin-bottom:0}@media (width>=1281px) and (prefers-reduced-motion:no-preference),(width<=1280px) and (orientation:landscape) and (prefers-reduced-motion:no-preference),(width<=1280px) and (orientation:portrait) and (prefers-reduced-motion:no-preference){.landing,.landing-main{overflow:hidden}.landing:not(.landing--ready) .landing-animate-item{opacity:0}.landing--ready:not(.landing--logo-intro-done) .landing-animate-item--logo .brand-logo-img{transition:none}.landing--ready:not(.landing--logo-intro-done) .landing-animate-item--logo .brand-logo-img--mondrian{opacity:0;transform:scale(.85)rotate(6deg)}.landing--logo-intro-done .landing-animate-item--logo{animation:none;transform:rotate(0)}.landing--logo-intro-done .landing-animate-item--logo .brand-logo-img{transition:none;animation:none}.landing--logo-hover-ready .landing-animate-item--logo .brand-logo-img{transition:opacity .28s,transform .42s cubic-bezier(.34,1.4,.64,1)}.landing--logo-hover-ready .brand-logo:hover .brand-logo-img--mondrian,.landing--logo-hover-ready .brand-logo:focus-within .brand-logo-img--mondrian{opacity:0;transform:scale(1.05)rotate(-6deg)}.landing--logo-hover-ready .brand-logo:hover .brand-logo-img--amrit,.landing--logo-hover-ready .brand-logo:focus-within .brand-logo-img--amrit{opacity:1;transform:scale(1)rotate(0)}@keyframes landing-slide-from-left{0%{opacity:0;transform:translate(-58vw)}to{opacity:1;transform:translate(0)}}@keyframes landing-slide-from-right{0%{opacity:0;transform:translate(42vw)}to{opacity:1;transform:translate(0)}}@keyframes landing-slide-from-bottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes landing-logo-spin{0%{opacity:0;transform:rotate(0)}14%{opacity:1}to{opacity:1;transform:rotate(360deg)}}@keyframes landing-logo-amrit-intro{0%,50%{opacity:1;transform:scale(1)rotate(0)}to{opacity:0;transform:scale(.85)rotate(6deg)}}@keyframes landing-logo-mondrian-in{0%{opacity:0;transform:scale(.85)rotate(0)}to{opacity:1;transform:scale(1)rotate(-360deg)}}@keyframes landing-block-fall{0%{opacity:0;transform:translateY(-2.4em) translateX(var(--landing-block-drift,0))}12%{opacity:1}68%{transform:translateY(.05em)translate(0)}84%{transform:translateY(-.025em)translate(0)}to{opacity:1;transform:translateY(0)translate(0)}}.landing--ready .landing-animate-item--footer{animation:1s cubic-bezier(.33,1,.68,1) 4.3s both landing-slide-from-bottom}.landing--ready .landing-animate-item--logo{animation:1.05s cubic-bezier(.33,1,.68,1) 4.3s both landing-logo-spin}.landing--ready:not(.landing--logo-intro-done) .landing-animate-item--logo .brand-logo-img--amrit{animation:2.1s cubic-bezier(.34,1.4,.64,1) 4.3s forwards landing-logo-amrit-intro}.landing--ready:not(.landing--logo-intro-done) .landing-animate-item--logo .brand-logo-img--mondrian{animation:1.05s cubic-bezier(.33,1,.68,1) 5.35s forwards landing-logo-mondrian-in}}@media (width>=1281px) and (prefers-reduced-motion:no-preference),(width<=1280px) and (orientation:landscape) and (prefers-reduced-motion:no-preference){.landing--ready .landing-animate-item--toy{animation:1.6s cubic-bezier(.33,1,.68,1) both landing-slide-from-left}.landing--ready .landing-animate-item--toy-objects{animation:1.6s cubic-bezier(.33,1,.68,1) both landing-slide-from-right}.landing-title-group--mondrian-blocks{overflow:hidden}.landing-title-group--mondrian-blocks .landing-title-line{white-space:nowrap}.landing:not(.landing--ready) .landing-title-group--mondrian-blocks .landing-title-char{opacity:0}.landing--ready .landing-title-group--mondrian-blocks .landing-title-char{animation:landing-block-fall .52s cubic-bezier(.22, 1, .36, 1) calc(1.55s + var(--landing-block-i,0) * 60ms) both}.landing--ready .landing-animate-item--play{animation:1.2s cubic-bezier(.33,1,.68,1) 3.05s both landing-slide-from-left}.landing--ready .landing-instructions--desktop.landing-animate-item--instructions,.landing--ready .landing-instructions--mobile.landing-animate-item--instructions{animation:1.2s cubic-bezier(.33,1,.68,1) 3.05s both landing-slide-from-right}}@media (width<=1280px) and (orientation:portrait) and (prefers-reduced-motion:no-preference){@keyframes landing-portrait-toy-rise{0%{opacity:0;transform:translateY(14vh)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes landing-portrait-toy-objects-in{0%{opacity:0;transform:translate(-55vw,14px)}to{opacity:1;transform:translate(-24%,14px)}}@keyframes landing-portrait-play-rise{0%{opacity:0;transform:translate(-50%)translateY(28px)scale(.92)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes landing-portrait-instruction-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.landing:not(.landing--ready) .landing-title--mobile-right .landing-title-char,.landing:not(.landing--ready) .landing-instructions--mobile .landing-instructions-line{opacity:0}.landing-title--mobile-right{overflow:hidden}.landing-title--mobile-right .landing-title-line{white-space:nowrap}.landing--ready .landing-animate-item--toy{animation:1.2s cubic-bezier(.33,1,.68,1) both landing-portrait-toy-rise}.landing--ready .landing-animate-item--mobile-toy-objects{animation:1.1s cubic-bezier(.33,1,.68,1) both landing-portrait-toy-objects-in}.landing--ready .landing-title--mobile-right .landing-title-char{animation:landing-block-fall .45s cubic-bezier(.22, 1, .36, 1) calc(.75s + var(--landing-block-i,0) * 50ms) both}.landing--ready .landing-animate-item--play{animation:.65s cubic-bezier(.33,1,.68,1) 2.25s both landing-portrait-play-rise}.landing--ready .landing-instructions--mobile.landing-animate-item--instructions{opacity:1}.landing--ready .landing-instructions--mobile .landing-instructions-line:first-child{animation:.45s cubic-bezier(.33,1,.68,1) 2.45s both landing-portrait-instruction-in}.landing--ready .landing-instructions--mobile .landing-instructions-line:nth-child(2){animation:.45s cubic-bezier(.33,1,.68,1) 2.58s both landing-portrait-instruction-in}.landing--ready .landing-instructions--mobile .landing-instructions-line:nth-child(3){animation:.45s cubic-bezier(.33,1,.68,1) 2.71s both landing-portrait-instruction-in}.landing--ready .landing-animate-item--footer,.landing--ready .landing-animate-item--logo,.landing--ready:not(.landing--logo-intro-done) .landing-animate-item--logo .brand-logo-img--amrit{animation-delay:3.35s}.landing--ready:not(.landing--logo-intro-done) .landing-animate-item--logo .brand-logo-img--mondrian{animation-delay:4.4s}}.landing-instructions--mobile{display:none}.landing-footer{letter-spacing:normal;color:#f0f0f0;background:#111;flex-shrink:0;justify-content:center;align-items:center;gap:6px;width:100%;margin:0;padding:4px 0;font-family:Inter,system-ui,sans-serif;font-size:13px;font-weight:400;line-height:normal;display:flex}.landing-footer-heart{color:#e70503;font-size:14px;line-height:1}.landing-footer-link{color:#fff;font-weight:600;text-decoration:underline}.landing-footer-link--amrit:hover,.landing-footer-link--amrit:focus-visible{color:#e70503}.landing-footer-link--karan:hover,.landing-footer-link--karan:focus-visible{color:#05ad03}@media (width<=1280px) and (orientation:portrait){.landing{--landing-hero-size:24px;--landing-instructions-size:24px;--landing-play-size:32px;--landing-mobile-play-height:64px}.landing .brand-logo{width:56px;height:48px;top:16px;left:16px}.landing-main{justify-content:center;padding:72px 16px 16px}.landing-panel{flex-direction:column;grid-template:none;align-items:center;gap:24px;width:min(92vw,420px);display:flex}.landing-col-left,.landing-col-right{width:100%;display:block}.landing-col-left{width:min(72vw,300px);margin:-40px auto 44px;padding-bottom:0;position:relative}.landing-hero-toy{grid-area:unset;z-index:auto;width:100%;height:auto;margin-right:0;display:block}.landing-title--desktop{display:none}.landing-title--mobile-left,.landing-title--mobile-right{font-size:var(--landing-hero-size);pointer-events:none;z-index:2;flex-direction:column;line-height:1;display:flex;position:absolute}.landing-title--mobile-left{text-align:left;align-items:flex-start;top:72%;left:0;transform:translate(-24%,14px)}.landing-title--mobile-right{text-align:left;align-items:flex-start;top:16%;left:68%;right:auto;transform:translate(28%)}.landing-title--mobile-left .landing-title-line,.landing-title--mobile-right .landing-title-line{display:block}.landing-play{grid-area:unset;width:auto;height:var(--landing-mobile-play-height);min-height:var(--landing-mobile-play-height);white-space:nowrap;z-index:3;margin-top:0;padding:0 42px;position:absolute;top:calc(100% - 24px);bottom:auto;left:50%;transform:translate(-50%)}.landing-instructions--desktop{display:none}.landing-instructions--mobile{grid-area:unset;text-align:center;width:100%;margin-top:0;padding-left:0;display:block}.landing.landing--ready:not(.landing--exiting),.landing.landing--ready:not(.landing--exiting) .landing-main{overflow:hidden}.landing.landing--logo-intro-done:not(.landing--exiting) .landing-main{overflow-y:auto}}@media (width<=1280px) and (orientation:landscape){.landing{--landing-hero-size:clamp(40px, 9.5vh, 72px);--landing-hero-text-height:calc(var(--landing-hero-size) * 4 - 20px);--landing-toy-height:calc(var(--landing-hero-text-height) + 14px);--landing-instructions-size:clamp(16px, 4vh, 24px);--landing-play-size:clamp(28px, 6.5vh, 44px);--landing-toy-overlap:32px;--landing-col-gap:24px;--landing-row-gap:16px;--landing-play-title-offset:3.5rem;--landing-instructions-indent:calc(var(--landing-hero-size) * .54 + .85rem)}.landing.landing--ready:not(.landing--exiting){overflow:hidden}.landing-main{min-height:0;padding:48px 20px 12px}.landing.landing--ready:not(.landing--exiting) .landing-main{overflow:hidden}.landing.landing--logo-intro-done:not(.landing--exiting) .landing-main{overflow-y:auto}.landing-title--desktop{display:flex}.landing-title--mobile-left,.landing-title--mobile-right,.landing-instructions--desktop{display:none}.landing-instructions--mobile{display:block}.landing-play{min-height:calc(var(--landing-instructions-size) * 3.5 + .8rem)}}@media (prefers-reduced-motion:reduce){.landing,.landing .brand-logo-img,.app-shell,#app.app--game-reveal .app-byline,.app-brand-logo{transition:none}}.app-byline{color:#f0f0f0;background:#111;justify-content:center;align-items:center;gap:6px;width:100%;margin:0;padding:4px 0;font-size:13px;display:flex;position:fixed;bottom:0;left:0;right:0}.app-byline-heart{color:#e70503;font-size:14px;line-height:1}.app-byline-link{color:#fff;font-weight:600;text-decoration:underline}.app-byline-link:focus{outline:none}.app-byline-link--amrit:hover,.app-byline-link--amrit:focus-visible{color:#e70503}.app-byline-link--karan:hover,.app-byline-link--karan:focus-visible{color:#05ad03}@media (width<=900px),(height<=820px){#app{--app-pad-y:14px;padding:var(--app-pad-y) 10px}.game-layout{--panel-padding:9px;--download-padding-y:9px;--download-padding-x:10px;--download-font-size:11px;box-shadow:14px 14px #0000001a}}@media (width<=1280px) and (orientation:portrait){#app{--app-pad-y:0px;--mobile-ui-reserved-height:244px;justify-content:space-between;padding:0}.app-shell{flex:0 auto;justify-content:flex-start;align-items:stretch;width:100%;padding-top:0}.game-layout{--panel-padding:8px;--download-padding-y:8px;--download-padding-x:8px;--download-font-size:11px;width:100%;box-shadow:none;background:0 0;border:0;grid-template-columns:1fr 1fr;grid-template-areas:"score time""canvas canvas""controls controls";align-content:start;gap:6px 0;margin-top:0;padding:0}.canvas-container{width:min(100%, calc((100dvh - var(--mobile-ui-reserved-height)) * .5));aspect-ratio:1/2;box-sizing:border-box;border:3px solid #111;grid-area:canvas;place-self:center;max-width:100%;height:auto}.sidebar,.ui-layer,.hud{display:contents}.hud-panel-score{border:3px solid #111;border-right-width:1.5px;grid-area:score;min-height:70px}.hud-panel-time{border:3px solid #111;border-left-width:1.5px;grid-area:time;min-height:70px}.hud-panel-controls{border-width:3px;grid-area:controls;grid-template-columns:1fr 1fr;align-items:center;gap:16px;min-height:118px;padding:8px 16px;display:grid}.hud-led-screen{align-self:center;min-height:74px;padding:8px}.hud-controls{align-content:stretch;gap:8px;padding:0;display:grid}.hud-control-button{width:100%;height:auto;min-height:36px}.app-byline{flex-grow:1;width:100%;padding:2px 0 4px;font-size:12px;display:flex;position:static;bottom:auto;left:auto;right:auto}}@media (width<=1280px) and (orientation:landscape){#app{--landscape-outer-frame:clamp(20px, 5.5vmin, 64px);--layout-max-width:none;--app-pad-y:0px;background:#111;justify-content:stretch;min-height:0;padding:0;overflow:hidden}.app-shell{width:100%;min-height:0;max-height:100%;padding:max(var(--landscape-outer-frame), env(safe-area-inset-top,0px)) max(var(--landscape-outer-frame), env(safe-area-inset-right,0px)) 0 max(var(--landscape-outer-frame), env(safe-area-inset-left,0px));box-sizing:border-box;background:#111;flex:auto;justify-content:stretch;align-items:stretch}.game-layout{--frame-border:6px;--landscape-sidebar-width:clamp(168px, 22vw, 232px);--frame-gap:6px;--panel-padding:6px;--download-padding-y:6px;--download-padding-x:8px;--download-font-size:10px;grid-template-columns:minmax(0, 1fr) var(--landscape-sidebar-width);align-items:stretch;column-gap:var(--frame-gap);width:100%;height:100%;min-height:0;max-height:100%;box-shadow:none;box-sizing:border-box;background:#dcdcdc;border:0;grid-template-areas:"playfield sidebar";margin:0;padding:0;display:grid;container:game/size}.canvas-container{border-style:solid;border-color:#111;border-width:0 var(--frame-border);box-sizing:border-box;background:#111;grid-area:playfield;place-self:stretch center;min-width:0;max-width:100%;height:100%;min-height:0;max-height:100%;overflow:hidden}.sidebar{width:100%;min-width:0;max-width:var(--landscape-sidebar-width);box-sizing:border-box;grid-area:sidebar;place-self:stretch stretch;height:100%;min-height:0;max-height:100%;display:block;overflow:hidden}.ui-layer{height:100%;min-height:0;display:block}.hud{gap:var(--frame-gap);flex-direction:column;height:100%;min-height:0;max-height:100%;display:flex;overflow:hidden}.hud-panel-score,.hud-panel-time{border:2px solid #111;flex:0 auto;min-height:40px}.hud-panel-score{border-right-width:1px}.hud-panel-time{border-left-width:1px}.hud-panel-controls{min-height:0;padding:var(--panel-padding);border-width:2px;flex-direction:column;flex:1 1 0;justify-content:space-between;align-items:stretch;gap:4px;display:flex;overflow:hidden}.hud-led-screen{flex:1 1 0;align-self:stretch;min-height:0;max-height:none;padding:6px;overflow:hidden}.hud-controls{flex:none;gap:4px;padding:0;display:grid}.hud-control-button{width:100%;height:auto;min-height:28px}.hud-label{font-size:clamp(11px,2.4cqh,15px)}.hud-value{font-size:clamp(20px,7cqh,36px)}.hud-next-piece-label{font-size:clamp(10px,2.2cqh,14px)}.hud-led-text{font-size:clamp(8px,1.8cqh,11px)}.hud-next-piece-preview{width:clamp(32px,10cqh,48px);height:clamp(32px,10cqh,48px)}.hud-volume-value,.hud-control-label{font-size:clamp(9px,2cqh,12px)}.app-byline{z-index:1;flex-grow:0;flex-shrink:0;padding:4px 0;font-size:11px;position:static;bottom:auto;left:auto;right:auto}}@media (width<=1280px) and (orientation:landscape) and (height<=480px){#app{--landscape-outer-frame:clamp(14px, 4.5vmin, 40px)}.game-layout{--frame-gap:4px;--panel-padding:4px}}@media (width<=1280px) and (orientation:portrait) and (width<=460px){#app{--mobile-ui-reserved-height:236px}.game-layout{--panel-padding:6px;--download-padding-y:6px;--download-padding-x:6px;--download-font-size:10px}.hud-controls{gap:6px}.hud-panel-score,.hud-panel-time{min-height:62px}.hud-control-button{min-height:34px}}.download-modal-overlay{z-index:10000;box-sizing:border-box;background:#1111118c;justify-content:center;align-items:center;padding:16px;display:none;position:fixed;inset:0}.download-modal-overlay.is-open{display:flex}.download-modal-dialog{--dm-red:#e70503;--dm-blue:#0300ad;--dm-yellow:#fdde06;color:#111;background:#fff;border:3px solid #111;width:min(400px,100%);max-height:min(90dvh,560px);font-family:Inter,system-ui,sans-serif;position:relative;overflow:hidden;box-shadow:10px 10px #0000002e}.download-modal-header{background:#fff;border-bottom:3px solid #111;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 12px;display:flex}.download-modal-title{letter-spacing:.06em;text-transform:uppercase;margin:0;font-family:Bebas Neue,Inter,sans-serif;font-size:clamp(1.5rem,4.5vw,1.85rem);font-weight:400;line-height:1.05}.download-modal-close{appearance:none;color:#111;cursor:pointer;background:#fff;border:3px solid #111;flex:none;width:38px;height:38px;padding:0;font-size:22px;line-height:1;transition:transform 80ms,background-color 80ms,box-shadow 80ms;box-shadow:2px 2px #00000024}.download-modal-close:hover{background:#f5f5f5}.download-modal-close:active{transform:translate(1px,1px);box-shadow:1px 1px #00000024}.download-modal-close:focus{outline:none}.download-modal-close:focus-visible{box-shadow:2px 2px 0 #00000024, 0 0 0 2px var(--focus-ring-inner), 0 0 0 5px var(--focus-ring-outer);z-index:1;outline:none;position:relative}.download-modal-body{background:var(--dm-yellow);border-top:none;flex-direction:column;gap:12px;padding:16px;display:flex}.download-modal-option{appearance:none;color:#111;text-align:left;cursor:pointer;background:#fff;border:3px solid #111;border-radius:0;grid-template-columns:72px 1fr;align-items:stretch;gap:0;width:100%;min-height:80px;padding:0;transition:transform 80ms,box-shadow 80ms;display:grid;position:relative;box-shadow:3px 3px #111}.download-modal-option--picture{border-left:8px solid var(--dm-red)}.download-modal-option--vector{border-left:8px solid var(--dm-blue)}.download-modal-option:hover{transform:translate(-1px,-1px);box-shadow:4px 4px #111}.download-modal-option:active{transform:translate(1px,1px);box-shadow:2px 2px #111}.download-modal-option:focus{outline:none}.download-modal-option:focus-visible{z-index:2;outline-offset:2px;outline:3px solid #111}.download-modal-option:focus-visible:hover{transform:translate(-1px,-1px);box-shadow:4px 4px #111}@media (prefers-reduced-motion:reduce){.download-modal-option{transition:none}.download-modal-option:hover,.download-modal-option:active,.download-modal-option:focus-visible:hover{transform:none}.download-modal-close{transition:none}.download-modal-close:active{transform:none}}.download-modal-thumb{box-sizing:border-box;background:#f8f8f8;border-right:3px solid #111;justify-content:center;align-items:center;display:flex}.download-modal-thumb-svg{width:68%;max-width:46px;height:68%;max-height:40px;display:block}.download-modal-option-text{background:#fff;flex-direction:column;justify-content:center;gap:5px;min-width:0;padding:12px 14px 12px 12px;display:flex}.download-modal-option-label{letter-spacing:.08em;text-transform:uppercase;font-family:Bebas Neue,Inter,sans-serif;font-size:1.2rem;font-weight:400;line-height:1.1}.download-modal-option-hint{letter-spacing:.02em;color:#111111c7;font-size:12px;font-weight:600}.download-modal-option-hint--mobile,.download-modal--mobile-device .download-modal-option-hint--desktop{display:none}.download-modal--mobile-device .download-modal-option-hint--mobile{display:block}
