html,body{overflow:hidden;overscroll-behavior:none;background:#000;width:100%;height:100%;margin:0}#game-shell{--safe-area-top:env(safe-area-inset-top,0px);--safe-area-right:env(safe-area-inset-right,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);position:relative;box-sizing:border-box;display:grid;grid-template:minmax(0,1fr)auto/minmax(0,1fr);width:100%;height:100%;padding:var(--safe-area-top)var(--safe-area-right)var(--safe-area-bottom)var(--safe-area-left);overflow:hidden;background:#000;height:100dvh}#stage-slot{position:relative;overflow:hidden;min-width:0;min-height:0}#stage{--stage-scale:1;position:absolute;transform:scale(var(--stage-scale));transform-origin:50% 50%;image-rendering:pixelated;width:480px;height:640px;margin-top:-320px;margin-left:-240px;top:50%;left:50%}#field{position:absolute;z-index:1;width:480px;height:640px;inset:0}#overlay{position:absolute;z-index:2;inset:0}#menu-actions{position:absolute;z-index:3;pointer-events:none;inset:0}.menu-action{position:absolute;appearance:none;box-sizing:border-box;color:#0000;cursor:pointer;pointer-events:auto;background:0 0;border:0;padding:0}.menu-action:focus-visible{outline:none}.menu-action[hidden]{display:none}#controller-setup{position:absolute;z-index:3;pointer-events:none;inset:0}#controller-setup[hidden]{display:none}#controller-connect{position:absolute;appearance:none;box-sizing:border-box;color:#0000;cursor:pointer;pointer-events:auto;background:0 0;border:0;padding:0}#controller-connect:focus-visible{outline:none}#controller-connect:disabled{cursor:wait}#controller-connect[hidden]{display:none}#controller-status{position:absolute;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0}#replay-import{display:none}#shell-status{position:absolute;z-index:4;box-sizing:border-box;color:#bed0dc;letter-spacing:.04em;text-align:center;pointer-events:none;background:#03080deb;border:1px solid #88a3b48c;max-width:420px;padding:7px 12px;font:600 10px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;bottom:12px;left:50%;transform:translate(-50%)}#shell-status[data-tone=error]{color:#f0b8c1;border-color:#dc7484b8}#shell-status[hidden]{display:none}#touch-controls{--touch-stick-size:clamp(112px,32vw,144px);--touch-stick-knob-size:clamp(36px,10vw,46px);--touch-action-size:clamp(58px,18vw,74px);--touch-ice:211 225 235;--touch-dim:97 113 129;--touch-heart:255 145 189;--touch-blue:140 235 255;--touch-ink:2 5 10;position:relative;z-index:1;box-sizing:border-box;display:grid;grid-template-columns:auto minmax(0,1fr)auto;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;pointer-events:auto;align-items: end;width:100%}#touch-controls[hidden]{display:none}#touch-stick,#touch-start,.touch-action{appearance:none;box-sizing:border-box;color:rgb(var(--touch-ice)/82%);text-align:center;cursor:pointer;touch-action:none;pointer-events:auto;-webkit-tap-highlight-color:transparent;background:0 0;border:0;margin:0;font-family:Hiragino Sans GB,Yu Gothic,Noto Sans CJK SC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:600}#touch-stick{--touch-stick-x:0px;--touch-stick-y:0px;position:relative;width:var(--touch-stick-size);height:var(--touch-stick-size);cursor:grab;padding:0}#touch-stick:active{cursor:grabbing}.touch-stick-knob{position:absolute;width:var(--touch-stick-knob-size);height:var(--touch-stick-knob-size);transform:translate(calc(-50% + var(--touch-stick-x)),calc(-50% + var(--touch-stick-y)));will-change:transform;pointer-events:none;border-radius:50%;transition:border-color 60ms linear,filter 60ms linear;top:50%;left:50%}#touch-start{position:relative;isolation:isolate;place-self: start center;min-width:68px;min-height:48px;padding:0;transition:translate 60ms linear}.touch-action-cluster{display:flex;pointer-events:auto;align-items: flex-end;gap:clamp(8px,2.5vw,12px)}.touch-action{--touch-seal-accent:var(--touch-ice);position:relative;isolation:isolate;width:var(--touch-action-size);height:var(--touch-action-size);padding:0;transition:color 60ms linear,filter 60ms linear,translate 60ms linear;font-size:clamp(13px,4vw,15px);line-height:1}.touch-action:before,.touch-action:after{content:"";position:absolute;pointer-events:none}.touch-action:before{z-index:-1}#touch-a{--touch-seal-accent:var(--touch-blue)}#touch-b{--touch-seal-accent:var(--touch-heart)}#touch-stick:focus-visible{outline:none}#touch-start:focus-visible{outline:none}.touch-action:focus-visible{outline:none}@media (orientation:landscape){#game-shell{grid-template:minmax(0,1fr)/minmax(0,1fr)}#game-shell.touch-controls-enabled{--touch-landscape-gutter:clamp(120px,22vw,240px)}#game-shell.touch-controls-enabled #stage-slot{z-index:2;grid-area:1/1;margin-inline:var(--touch-landscape-gutter)}#game-shell.touch-controls-enabled #touch-controls:not([hidden]){--touch-stick-size:clamp(92px,18vw,132px);--touch-stick-knob-size:clamp(32px,6.2vw,42px);--touch-action-size:clamp(50px,9.5vw,72px);position:relative;grid-area:1/1;display:grid;grid-template:minmax(0,1fr)/var(--touch-landscape-gutter)minmax(0,1fr)var(--touch-landscape-gutter);width:auto;height:auto;padding:clamp(8px,2.5vh,18px) 0}#game-shell.touch-controls-enabled #touch-stick{grid-column:1;place-self: end center}#game-shell.touch-controls-enabled #touch-start{grid-column:3;grid-row:1;place-self: start center}#game-shell.touch-controls-enabled .touch-action-cluster{grid-column:3;grid-row:1;place-self: end center}}#touch-controls{--touch-ui-atlas:url(/packs/v4/assets/ui-v4-gxk3903c.png);--touch-stick-size:clamp(116px,34vw,148px);--touch-stick-knob-size:clamp(38px,11vw,48px);--touch-action-size:clamp(62px,19vw,78px);isolation:isolate;opacity:1;background:radial-gradient(ellipse at 18% 82%,rgb(var(--touch-heart)/7%),transparent 38%),radial-gradient(ellipse at 82% 82%,rgb(var(--touch-blue)/6%),transparent 38%),linear-gradient(180deg,rgb(var(--touch-ink)/2%),rgb(var(--touch-ink)/82%));filter:brightness(1)saturate(1);height:clamp(174px,25dvh,218px);padding:18px clamp(10px,3vw,22px) 12px;transition:opacity .12s ease-out,filter .12s ease-out}#touch-controls[data-operating=true]{opacity:.44;filter:brightness(.7)saturate(.78)}#touch-controls:before,#touch-controls:after{content:none}.touch-stick-well,.touch-stick-trace,.touch-stick-heart,.touch-start-seal,.touch-action-letter{pointer-events:none}.touch-stick-well,.touch-stick-heart,.touch-start-seal,.touch-action:before{background-image:var(--touch-ui-atlas);image-rendering:auto;background-repeat:no-repeat}#touch-stick{z-index:1;overflow:visible}#touch-stick:before,#touch-stick:after{content:none}.touch-stick-well{position:absolute;box-shadow:none;filter:drop-shadow(0 0 3px rgb(var(--touch-heart)/34%))drop-shadow(0 0 12px rgb(var(--touch-ink)/96%));opacity:.84;background-color:#0000;background-position:0 42.384%;background-size:624.39% 468.293%;border:0;width:114%;height:114%;transition:filter 70ms linear,opacity 70ms linear;top:50%;left:50%;transform:translate(-50%,-50%)translateY(-3px)}.touch-stick-well:before,.touch-stick-well:after{content:none}.touch-stick-trace{position:absolute;background:repeating-conic-gradient(from 22deg,rgb(var(--touch-ice)/62%)0deg 1.5deg,transparent 1.5deg 45deg);-webkit-mask:radial-gradient(circle,#0000 0 72%,#000 73% 84%,#0000 85%);mask:radial-gradient(circle,#0000 0 72%,#000 73% 84%,#0000 85%);border-radius:50%;inset:16%}.touch-stick-trace:before,.touch-stick-trace:after{content:none}.touch-stick-knob{z-index:3;border:1px solid rgb(var(--touch-ice)/68%);background:rgb(var(--touch-ink)/88%);outline:0;box-shadow:inset 0 0 0 4px rgb(var(--touch-ink)/78%),0 0 10px rgb(var(--touch-heart)/24%)}.touch-stick-knob:before,.touch-stick-knob:after{content:none}.touch-stick-heart{position:absolute;display:block;color:#0000;filter:drop-shadow(0 0 4px rgb(var(--touch-heart)/80%));font:0/0 sans-serif;background-position:36.8% 0;background-size:4266.67% 3200%;inset:21%}.touch-stick-heart:before{content:none}#touch-start{z-index:2;width:72px;min-width:72px;height:68px;min-height:68px;padding:0}#touch-start:before,#touch-start:after{content:none}.touch-start-seal{position:absolute;box-shadow:none;filter:drop-shadow(0 0 4px rgb(var(--touch-blue)/42%))drop-shadow(0 0 8px rgb(var(--touch-heart)/28%));background-color:#0000;background-position:44.628% 11.236%;background-size:1828.57% 1371.43%;border:0;transition:filter 70ms linear,opacity 70ms linear,translate 70ms linear;inset:6px 8px}.touch-start-seal:before,.touch-start-seal:after,.touch-start-glyph{content:none;display:none}.touch-action-cluster{z-index:1;gap:clamp(5px,1.8vw,9px)}.touch-action{z-index:1;overflow:visible;color:rgb(var(--touch-ice)/94%);filter:none;padding:0}.touch-action:before{box-shadow:none;background-color:#0000;border:0;border-radius:0;transition:filter 70ms linear,opacity 70ms linear,translate 70ms linear;inset:0}#touch-a:before,#touch-b:before{background-position-y:11.111%;background-size:2133.33% 1600%}#touch-a:before{background-position-x:0}#touch-b:before{background-position-x:4.918%}.touch-action:after,#touch-a:after,#touch-b:after{content:none}#touch-b{margin-bottom:14px}.touch-action-letter{position:absolute;z-index:1;display:grid;aspect-ratio:1;border:1px solid rgb(var(--touch-ice)/46%);background:radial-gradient(circle,rgb(var(--touch-ink)/98%)0 54%,rgb(var(--touch-ink)/70%)72%,transparent 74%);box-shadow:0 0 0 2px rgb(var(--touch-ink)/78%),0 0 7px rgb(var(--touch-seal-accent)/42%);text-shadow:0 0 5px rgb(var(--touch-seal-accent)/70%);border-radius:50%;place-items: center;width:42%;font-size:clamp(15px,4.6vw,20px);font-weight:800;line-height:1;top:50%;left:50%;transform:translate(-50%,-50%)}#touch-stick:active .touch-stick-well,#touch-stick[data-active=true] .touch-stick-well{filter:drop-shadow(0 0 6px rgb(var(--touch-heart)/72%))drop-shadow(0 0 12px rgb(var(--touch-ice)/20%));opacity:1}#touch-start:active,#touch-start[data-active=true],.touch-action:active,.touch-action[data-active=true]{translate:0 1px}#touch-start:active .touch-start-seal,#touch-start[data-active=true] .touch-start-seal{filter:drop-shadow(0 0 6px rgb(var(--touch-blue)/70%))drop-shadow(0 0 10px rgb(var(--touch-heart)/46%))}.touch-action:active:before,.touch-action[data-active=true]:before{filter:drop-shadow(0 0 5px rgb(var(--touch-seal-accent)/76%))drop-shadow(0 0 9px rgb(var(--touch-heart)/26%))}#touch-start:focus-visible .touch-start-seal{filter:drop-shadow(0 0 3px rgb(var(--touch-ice)/88%))drop-shadow(0 0 8px rgb(var(--touch-heart)/54%))}.touch-action:focus-visible:before{filter:drop-shadow(0 0 3px rgb(var(--touch-ice)/88%))drop-shadow(0 0 8px rgb(var(--touch-heart)/54%))}#touch-stick:focus-visible .touch-stick-well{filter:drop-shadow(0 0 3px rgb(var(--touch-ice)/88%))drop-shadow(0 0 8px rgb(var(--touch-heart)/54%))}@media (orientation:landscape){#game-shell.touch-controls-enabled #touch-controls:not([hidden]){--touch-stick-size:clamp(96px,18vw,134px);--touch-stick-knob-size:clamp(34px,6.2vw,44px);--touch-action-size:clamp(54px,9.5vw,74px);background:linear-gradient(90deg,rgb(var(--touch-ink)/72%),transparent 18% 82%,rgb(var(--touch-ink)/72%));padding:clamp(8px,2.5vh,18px) 0}#game-shell.touch-controls-enabled #touch-start{margin-top:0}#touch-b{margin-bottom:12px}.touch-action-letter{font-size:clamp(14px,2.6vw,18px)}}
