:root{color-scheme:light;--shell:#d4d4da;--ink:#484659;--accent:#775596;--screen-w:640px;--screen-h:480px;--control-w:178px;--u:1px;--pad:20px;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,sans-serif;font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overscroll-behavior:none}body{background:radial-gradient(ellipse at 50% 30%,#eff0f4 0,#dbdce5 52%,#babcc9 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;touch-action:none;color:var(--ink);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}button,select,input{font:inherit}button{border:0;cursor:pointer;-webkit-touch-callout:none;touch-action:none}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #a5dff5;outline-offset:3px}button:disabled{cursor:default;opacity:.45}.desktop-heading{width:min(1120px,90vw);display:flex;align-items:center;gap:12px;margin:0 0 25px;font-size:19px;font-weight:800;letter-spacing:3px;color:#696579}.desktop-heading b{font-size:25px;color:#6c507f}.heading-edition{font:10px ui-monospace,monospace;letter-spacing:3px;margin-left:auto}.heading-mark{width:32px;height:28px;display:grid;grid-template-columns:1fr 1fr;gap:3px;transform:rotate(-15deg)}.heading-mark i{border-radius:100%;background:#5082ac}.heading-mark i:nth-child(2){background:#c5636b}.heading-mark i:nth-child(3){background:#78a274}.heading-mark i:nth-child(4){background:#c3aa60}
.console{display:grid;grid-template-columns:var(--control-w) auto var(--control-w);gap:clamp(10px,1.6vw,24px);padding:var(--pad);position:relative;align-items:stretch;border-radius:56px 56px 78px 78px;background:linear-gradient(165deg,#eeeef0 0%,#d5d5dc 28%,#c7c7d0 85%,#b7b6c1 100%);box-shadow:inset 0 3px 1px #ffffffeb,inset 0 -5px 2px #a3a3b4,inset 2px 0 1px #f9f9fe,0 5px 0 #9393a5,0 10px 0 #b1b0be,0 24px 48px #4c4b6b40,0 2px 3px #46445b40;border:1px solid #c4c3cf;isolation:isolate}.console:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.12' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.3;z-index:10}.controller{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}.shoulder{position:absolute;top:-17px;width:94%;height:31px;border-radius:22px 22px 6px 6px;background:linear-gradient(#b5b2c2,#8c889e);box-shadow:inset 0 1px 1px #e8e6f5,0 2px 2px #72708055;color:#f7f5ff;font-size:17px;font-weight:800;letter-spacing:3px;z-index:-1}.controller-left .shoulder{transform:rotate(-6deg)}.controller-right .shoulder{transform:rotate(6deg)}.shoulder span{display:block;transform:translateY(-4px)}.brand-mark{position:absolute;top:32px;left:8px;transform:rotate(-5deg);display:flex;flex-direction:column;line-height:1.15;color:#777281;opacity:.9}.brand-mark>span{font:bold 10px ui-monospace,monospace;font-style:italic;letter-spacing:1.8px}.brand-mark strong{font:bold 10px ui-monospace,monospace;letter-spacing:-.3px}.brand-mark small{font:6px ui-monospace,monospace;letter-spacing:1.1px;margin-top:5px}.dpad-recess{width:calc(var(--control-w) - 14px);height:calc(var(--control-w) - 14px);border-radius:50%;background:linear-gradient(155deg,#c7c7d2,#dedee6);box-shadow:inset 1px 2px 3px #a5a3b555,0 1px 1px #f5f5f9;display:grid;place-items:center;margin-top:22px}.dpad{width:85%;height:85%;position:relative;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);filter:drop-shadow(0 4px 2px #22223560);touch-action:none}.dkey{background:linear-gradient(145deg,#535260,#353440);display:grid;place-items:center;padding:8px;color:#272733;position:relative;box-shadow:inset 1px 2px 1px #767380,inset -1px -3px 1px #24232f;min-width:0;min-height:0}.dkey svg{width:70%;fill:none;stroke:#25242f;stroke-width:3.5;filter:drop-shadow(0 1px 0 #777380)}.dkey.up{grid-area:1 / 2;border-radius:6px 6px 0 0}.dkey.left{grid-area:2 / 1;border-radius:6px 0 0 6px}.dkey.right{grid-area:2 / 3;border-radius:0 6px 6px 0}.dkey.down{grid-area:3 / 2;border-radius:0 0 6px 6px}.dpad-center{grid-area:2/2;z-index:1;background:#484752;display:grid;place-items:center;margin:-1px}.dpad-center i{height:54%;width:54%;border-radius:50%;background:linear-gradient(155deg,#383642,#55525e);box-shadow:inset 1px 1px 2px #292736,inset -1px -1px 1px #767180}.dkey.is-pressed{background:#32303e;box-shadow:inset 0 2px 3px #181622;transform:translateY(1px)}.system-buttons{display:flex;gap:18px;margin-top:30px;transform:rotate(-24deg)}.system-buttons>div{display:flex;align-items:center;flex-direction:column;gap:6px}.pill-button{width:41px;height:13px;border-radius:10px;background:linear-gradient(#777182,#464151);box-shadow:inset 0 1px 1px #a59dad,0 3px 1px #9e9ba9,0 4px 3px #57505f77}.pill-button.is-pressed{transform:translateY(2px);box-shadow:inset 0 1px 2px #302938}.system-buttons span{font-size:8px;font-weight:800;letter-spacing:.6px;color:#716a7d}.controller-caption{position:absolute;bottom:13px;font-size:9px;font-weight:500;color:#8a8496;display:flex;gap:6px;align-items:center;white-space:nowrap}.controller-caption b{font-weight:400;color:#a29cab}.status-led{width:5px;height:5px;background:#5f9a6a;border-radius:50%;box-shadow:0 0 5px #6bcb7966}.face-recess{background:linear-gradient(145deg,#b3b1bf,#cdcad7);box-shadow:inset 1px 2px 3px #9590a455,inset -1px -1px 1px #f9f6fc99;transform:rotate(-18deg);width:calc(var(--control-w) + 1px);height:calc(var(--control-w) - 12px);border-radius:48%;display:grid;place-items:center;margin-top:14px}.face-buttons{width:88%;height:94%;position:relative;transform:rotate(18deg)}.face-button{position:absolute;width:37%;height:37%;border-radius:50%;display:grid;place-items:center;padding:0;border:1px solid #0003;box-shadow:inset 1px 2px 2px #fff6,inset -2px -3px 2px #0003,0 4px 0 var(--button-edge),0 6px 3px #423b5b60;color:#fff7;font-size:18px;font-weight:800;text-shadow:0 1px 1px #0004}.face-button span{transform:translateY(-1px)}.button-x{--button-edge:#294783;background:linear-gradient(145deg,#527abd,#315995);top:0;left:31.5%}.button-y{--button-edge:#347248;background:linear-gradient(145deg,#6da77c,#4a8c62);top:31.5%;left:0}.button-a{--button-edge:#a0424d;background:linear-gradient(145deg,#db7986,#bd5264);top:31.5%;right:0}.button-b{--button-edge:#a48637;background:linear-gradient(145deg,#e6c66e,#ccaa4f);bottom:0;left:31.5%}.face-button.is-pressed{transform:translateY(3px);box-shadow:inset 1px 2px 3px #0003,0 1px 0 var(--button-edge),0 2px 2px #423b5b60;filter:brightness(.92)}.rotation-labels{display:flex;justify-content:space-around;width:100%;font:bold 9px ui-monospace,monospace;color:#898294;margin:17px 0 20px}.rotation-labels b{font-size:17px;font-weight:400;padding:0 4px}.utility-buttons{display:flex;align-items:center;gap:6px;margin-top:3px}.utility-buttons button{width:29px;height:27px;background:transparent;color:#8b8599;padding:4px}.utility-buttons svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}.utility-buttons>span{font:8px ui-monospace,monospace;letter-spacing:1px;color:#8a8395}.utility-buttons button[aria-pressed=false]{opacity:.4}.right-caption{font-size:8px;letter-spacing:.1px}
.screen-frame{background:linear-gradient(150deg,#55515f,#373440);padding:9px 12px 8px;border-radius:14px 14px 24px 24px;box-shadow:inset 0 1px 1px #282532,inset 1px 0 2px #f4f0fc33,0 2px 1px #fff6;display:flex;flex-direction:column;gap:6px;min-width:0}.bezel-label{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#aaa6b5;min-height:10px;font:6px ui-monospace,monospace;letter-spacing:1.25px}.bezel-label>span:first-child{display:flex;align-items:center;gap:6px}.bezel-label i{display:inline-block;width:22px;height:2px;background:#9d7f9c;box-shadow:0 3px 0 #747a9f}.screen{width:var(--screen-w);height:var(--screen-h);position:relative;background:#151a45;border-radius:5px;overflow:hidden;box-shadow:0 0 0 2px #252332,inset 0 0 12px #000a;color:#fff;isolation:isolate;container-type:size}.screen canvas{width:100%;height:100%;display:block;image-rendering:pixelated}.scanlines{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,#10122510 0,#10122510 1px,transparent 1px,transparent 3px);opacity:.7;z-index:15}.no-scanlines .scanlines{display:none}.game-hud{position:absolute;left:calc(12 * var(--u));right:calc(12 * var(--u));top:calc(7 * var(--u));display:flex;justify-content:space-between;pointer-events:none;z-index:5}.hud-icon{background:#0000;color:#bfc7e2;font-size:calc(21 * var(--u));font-weight:800;pointer-events:auto;padding:calc(5 * var(--u));min-width:calc(27 * var(--u));opacity:.75}.hud-icon svg{width:calc(22 * var(--u));height:calc(22 * var(--u));fill:none;stroke:currentColor;stroke-width:2}.bezel-bottom{display:flex;align-items:center;justify-content:space-between;height:15px;color:#a29bad}.power{display:flex;align-items:center;gap:4px;font:5.5px ui-monospace,monospace;letter-spacing:.6px}.power i{display:block;width:4px;height:4px;border-radius:50%;background:#e17776;box-shadow:0 0 3px #ff949499}.bezel-wordmark{font-size:9px;font-weight:800;font-style:italic;letter-spacing:2px;opacity:.8}.bezel-wordmark b{font-style:normal;color:#c1b1bf;font-size:13px;margin-left:1px}.stereo-grille{font-size:14px;letter-spacing:1px;color:#26232e;text-shadow:0 1px #ffffff16;transform:skew(-10deg)}.desktop-footer{display:flex;justify-content:space-between;width:min(1090px,87vw);gap:24px;margin-top:26px;font-size:10px;letter-spacing:.6px;color:#8c859b}.desktop-footer b{font-weight:500;color:#a29bad}.screen-overlay{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center}.hidden{display:none!important}#menuOverlay{background:linear-gradient(#151d4a99,#27366c55 40%,#171e4499)}.title-scene{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(12 * var(--u))}.game-logo{display:flex;align-items:center;justify-content:center;gap:calc(10 * var(--u));margin:calc(-6 * var(--u)) 0 calc(-3 * var(--u));filter:drop-shadow(0 calc(4 * var(--u)) 0 #111841);transform:rotate(-3deg)}.logo-puyo{display:flex;font-size:calc(62 * var(--u));letter-spacing:calc(-7 * var(--u));font-weight:1000;line-height:1.15;-webkit-text-stroke:calc(2 * var(--u)) #fffbd9;paint-order:stroke fill;text-shadow:calc(2 * var(--u)) calc(3 * var(--u)) 0 #483a61}.logo-puyo i{font-style:normal;display:inline-block;color:#93df6e}.logo-puyo i:nth-child(2){color:#79b2ff;transform:translateY(calc(5 * var(--u))) rotate(6deg)}.logo-puyo i:nth-child(3){color:#f8bc5f;transform:rotate(-5deg)}.logo-puyo i:nth-child(4){color:#ef8ba6;transform:translateY(calc(5 * var(--u))) rotate(5deg)}.game-logo>b{font-size:calc(71 * var(--u));line-height:1;color:#ffda62;-webkit-text-stroke:calc(2 * var(--u)) #fff9da;paint-order:stroke fill;text-shadow:calc(3 * var(--u)) calc(4 * var(--u)) 0 #b65349;transform:rotate(5deg);margin-left:calc(4 * var(--u))}.logo-subtitle{font:bold calc(10 * var(--u)) ui-monospace,monospace;letter-spacing:calc(4 * var(--u));margin-bottom:calc(12 * var(--u));color:#c7d5ff;text-shadow:0 2px #111}.title-spark{position:absolute;font-size:calc(23 * var(--u));color:#f4cf6b;opacity:.9;animation:twinkle 3s ease-in-out infinite}.spark-one{top:calc(31 * var(--u));left:calc(110 * var(--u))}.spark-two{top:calc(76 * var(--u));right:calc(96 * var(--u));animation-delay:1s}.menu-panel{width:calc(356 * var(--u));padding:calc(14 * var(--u)) calc(18 * var(--u)) calc(12 * var(--u));border:calc(2 * var(--u)) solid #7d8caf;border-radius:calc(9 * var(--u));background:linear-gradient(160deg,#25345df5,#192545f5);box-shadow:0 calc(5 * var(--u)) 0 #0c1635b3,inset 0 0 0 calc(2 * var(--u)) #0e193a,inset 0 0 calc(40 * var(--u)) #141b3c}.menu-panel h1{text-align:center;font-size:calc(13 * var(--u));font-weight:700;letter-spacing:calc(2 * var(--u));color:#d1d6ed;margin:0 0 calc(11 * var(--u))}.mode-options{display:flex;flex-direction:column;gap:calc(5 * var(--u))}.mode-option{display:flex;align-items:center;gap:calc(12 * var(--u));text-align:left;width:100%;padding:calc(8 * var(--u)) calc(10 * var(--u));border-radius:calc(4 * var(--u));color:#bac7e4;background:#101a345c;border:calc(1 * var(--u)) solid #46557a66;transition:background .15s}.mode-option>span:nth-child(2){display:flex;flex-direction:column;gap:calc(2 * var(--u))}.mode-option strong{font-size:calc(16 * var(--u));font-weight:800;letter-spacing:calc(.8 * var(--u))}.mode-option small{font-size:calc(9 * var(--u));color:#939fbe;letter-spacing:calc(.7 * var(--u))}.mode-symbol{font:700 calc(24 * var(--u)) ui-monospace,monospace;width:calc(24 * var(--u));text-align:center;color:#8298c3}.mode-arrow{margin-left:auto;font-size:calc(12 * var(--u));visibility:hidden}.mode-option.selected{border-color:#d5bc6b;background:linear-gradient(90deg,#bba05d2b,#947d4a14);color:#fff3bd;box-shadow:inset calc(3 * var(--u)) 0 #e6c66f}.mode-option.selected .mode-arrow{visibility:visible;color:#f3d27c}.mode-option.selected small{color:#c4bd9f}.mode-option.selected .mode-symbol{color:#f1d477}.difficulty-row{display:flex;justify-content:space-between;align-items:center;gap:calc(8 * var(--u));margin:calc(12 * var(--u)) 0;color:#a3b1d3;font-size:calc(10 * var(--u))}.segmented{display:flex;border-radius:calc(3 * var(--u));border:1px solid #4c5d83;overflow:hidden}.segmented button{padding:calc(5 * var(--u)) calc(9 * var(--u));font-size:calc(10 * var(--u));background:#0e193a66;color:#8c9abf}.segmented button.active{color:#e8e8f3;background:#52638d}.start-button{width:100%;display:flex;align-items:center;justify-content:center;gap:calc(20 * var(--u));font-size:calc(17 * var(--u));font-weight:900;letter-spacing:calc(2 * var(--u));padding:calc(10 * var(--u)) calc(12 * var(--u));border-radius:calc(5 * var(--u));background:linear-gradient(#f7df9b,#dfbc68);color:#554329;box-shadow:inset 0 calc(2 * var(--u)) #fff4be,0 calc(3 * var(--u)) 0 #93703b;transition:filter .12s,transform .12s}.start-button:active{transform:translateY(calc(2 * var(--u)));filter:brightness(.94)}.start-button>span:last-child{font-size:calc(12 * var(--u))}.start-button>span:first-child{font-size:inherit}.menu-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:calc(11 * var(--u));font:calc(9 * var(--u)) ui-monospace,monospace;letter-spacing:.5px;color:#96a5cb}.menu-bottom button{background:none;color:#b3bdd8;font-size:calc(10 * var(--u));padding:calc(3 * var(--u)) 0}.menu-bottom b{color:#e4d5a2}.title-note{margin-top:calc(10 * var(--u));font-size:calc(8 * var(--u));letter-spacing:calc(1 * var(--u));color:#9aa9cc;opacity:.8}.panel-overlay{background:#09132dc4;backdrop-filter:blur(3px);z-index:9}.dialog-panel{background:linear-gradient(150deg,#2c3d67,#1b2849);padding:calc(26 * var(--u));border:calc(2 * var(--u)) solid #7482a6;border-radius:calc(9 * var(--u));box-shadow:0 calc(6 * var(--u)) 0 #09152bbf,inset 0 0 0 calc(2 * var(--u)) #192440;color:#dce4ff;width:calc(382 * var(--u))}.dialog-panel h2{font-size:calc(28 * var(--u));letter-spacing:calc(3 * var(--u));margin:calc(9 * var(--u)) 0;color:#fff0b5}.dialog-panel p{font-size:calc(12 * var(--u));line-height:1.8;color:#b1beda}.dialog-kicker{font:calc(10 * var(--u)) ui-monospace,monospace;color:#8f9fc5;letter-spacing:calc(3 * var(--u))}.pause-panel,.result-panel{text-align:center}.pause-panel .start-button{margin-top:calc(22 * var(--u))}.pause-actions{display:flex;justify-content:space-between;margin-top:calc(22 * var(--u));gap:calc(5 * var(--u))}.pause-actions button,.text-button{font-size:calc(11 * var(--u));background:none;color:#a9b8db;padding:calc(5 * var(--u))}.result-panel h2{font:bold calc(38 * var(--u)) ui-monospace,monospace;letter-spacing:calc(3 * var(--u));text-shadow:calc(3 * var(--u)) calc(3 * var(--u)) #876054}.result-panel .text-button{margin-top:calc(16 * var(--u))}.result-stats{display:flex;justify-content:space-around;padding:calc(18 * var(--u)) 0 calc(23 * var(--u));border-top:calc(1 * var(--u)) solid #68779a66;margin-top:calc(19 * var(--u))}.result-stats>div{display:flex;flex-direction:column;gap:calc(7 * var(--u))}.result-stats>div>span{font:calc(9 * var(--u)) ui-monospace,monospace;letter-spacing:calc(2 * var(--u));color:#92a5d2}.result-stats strong{font:bold calc(26 * var(--u)) ui-monospace,monospace;color:#fbefcb}.result-stats strong span{font:calc(11 * var(--u)) system-ui,sans-serif;margin-left:calc(4 * var(--u))}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:calc(13 * var(--u))}.dialog-heading h2{font-size:calc(20 * var(--u));margin:0}.close-dialog{background:#ffffff0c;border:1px solid #8f9fb144;color:#b7c3e1;border-radius:calc(4 * var(--u));font-size:calc(27 * var(--u));width:calc(31 * var(--u));height:calc(31 * var(--u));line-height:1;padding:0}.settings-panel{width:calc(392 * var(--u));padding:calc(23 * var(--u))}.settings-list{display:flex;flex-direction:column}.settings-list label{display:flex;align-items:center;justify-content:space-between;gap:calc(20 * var(--u));border-bottom:1px solid #91a2cb22;padding:calc(12 * var(--u)) 0;font-size:calc(13 * var(--u));color:#d1dcf4}.settings-list label small{display:block;font-size:calc(8 * var(--u));margin-top:calc(4 * var(--u));color:#8c9abf}.settings-list input{appearance:none;flex-shrink:0;width:calc(38 * var(--u));height:calc(20 * var(--u));background:#101b37;border:1px solid #617094;border-radius:20px;position:relative;cursor:pointer;touch-action:manipulation}.settings-list input:after{content:"";position:absolute;top:calc(3 * var(--u));left:calc(3 * var(--u));width:calc(12 * var(--u));height:calc(12 * var(--u));background:#7a8eaf;border-radius:50%;transition:transform .1s}.settings-list input:checked{background:#587d77;border-color:#7caa8e}.settings-list input:checked:after{background:#d6e5b7;transform:translateX(calc(17 * var(--u)))}.settings-list select{max-width:calc(154 * var(--u));background:#1b274a;border:1px solid #607497;color:#cbd8ef;border-radius:4px;padding:calc(5 * var(--u));font-size:calc(11 * var(--u));touch-action:manipulation}.compact-button{background:#ffffff0a;border:1px solid #687ba1;color:#bdcce7;width:100%;font-size:calc(12 * var(--u));padding:calc(9 * var(--u));margin-top:calc(16 * var(--u));border-radius:4px}.help-panel{width:calc(486 * var(--u));padding:calc(20 * var(--u)) calc(24 * var(--u))}.help-rule{display:flex;align-items:center;gap:calc(18 * var(--u));margin-bottom:calc(12 * var(--u))}.help-rule p{margin:0;font-size:calc(13 * var(--u))}.help-rule strong{color:#f4d98b}.four-puyos{display:flex;flex-wrap:wrap;width:calc(49 * var(--u));gap:calc(2 * var(--u));flex-shrink:0}.four-puyos i{width:calc(22 * var(--u));height:calc(21 * var(--u));border-radius:45% 45% 40% 40%;background:radial-gradient(circle at 30% 25%,#8add65,#39a47a);border:1px solid #216a5c;position:relative}.four-puyos i:before,.four-puyos i:after{content:"";width:calc(4 * var(--u));height:calc(6 * var(--u));border-radius:50%;background:white;position:absolute;top:calc(7 * var(--u));left:calc(5 * var(--u))}.four-puyos i:after{left:calc(12 * var(--u))}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:calc(13 * var(--u)) calc(20 * var(--u));border-top:1px solid #7184ab44;border-bottom:1px solid #7184ab44;padding:calc(13 * var(--u)) 0}.help-grid p{display:flex;flex-direction:column;margin:0;font-size:calc(11 * var(--u));line-height:1.7}.help-grid b{color:#dfe7fb;font-size:calc(12 * var(--u));margin-bottom:calc(3 * var(--u))}.help-danger{font-size:calc(11 * var(--u))!important;color:#eab5b2!important;margin:calc(12 * var(--u)) 0!important}.keyboard-guide{display:flex;flex-direction:column;gap:calc(5 * var(--u));font-size:calc(10 * var(--u));color:#94a7cf}.keyboard-guide b{color:#d5dced}.countdown{position:absolute;inset:0;z-index:8;display:grid;place-items:center;background:#101b4933;font:900 calc(78 * var(--u)) ui-monospace,monospace;color:#ffe8a4;text-shadow:calc(5 * var(--u)) calc(6 * var(--u)) #633c64,-2px -2px #fff2;pointer-events:none}.toast{position:absolute;left:50%;bottom:calc(17 * var(--u));transform:translate(-50%,10px);background:#121a35ed;border:1px solid #a5b4d255;border-radius:4px;padding:calc(8 * var(--u)) calc(14 * var(--u));color:#d9e3fa;font-size:calc(11 * var(--u));text-align:center;white-space:nowrap;z-index:20;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.portrait-hint{display:none}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@keyframes twinkle{0%,100%{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}
@media(max-height:650px){.desktop-heading,.desktop-footer{display:none}.console{border-radius:37px 37px 54px 54px;--pad:12px;gap:12px;box-shadow:inset 0 2px 1px #ffffffeb,inset 0 -4px 2px #a3a3b4,0 4px 0 #9393a5,0 14px 28px #4c4b6b3d}.screen-frame{padding:6px 8px 5px;gap:4px;border-radius:11px 11px 18px 18px}.bezel-label{font-size:4.6px;min-height:7px;letter-spacing:.75px}.bezel-bottom{height:10px}.bezel-wordmark{font-size:7px;letter-spacing:1.3px}.bezel-wordmark b{font-size:10px}.power{font-size:4.6px}.power i{width:3px;height:3px}.stereo-grille{font-size:11px}.shoulder{top:-10px;height:24px;font-size:13px}.shoulder span{transform:translateY(-4px)}.brand-mark{top:23px;left:5px}.brand-mark>span{font-size:8px}.brand-mark strong{font-size:7px}.brand-mark small{font-size:4.5px}.dpad-recess{margin-top:16px}.system-buttons{gap:14px;margin-top:22px}.system-buttons span{font-size:7px}.pill-button{width:35px;height:11px}.controller-caption{font-size:7px;bottom:9px}.face-button{font-size:15px}.rotation-labels{font-size:7px;margin:12px 0 13px}.rotation-labels b{font-size:14px}.utility-buttons{margin-top:0}.utility-buttons>span{font-size:6px;letter-spacing:.6px}.utility-buttons button{width:24px;height:24px}.right-caption{font-size:6px}.status-led{height:4px;width:4px}}
@media(max-height:370px){.brand-mark{top:11px}.brand-mark small{display:none}.dpad-recess{margin-top:8px}.system-buttons{margin-top:17px}.controller-caption{bottom:2px}.face-recess{margin-top:4px}.rotation-labels{margin:9px 0 5px}.utility-buttons{margin-top:0}.shoulder{top:-8px}.bezel-label{display:none}.screen-frame{gap:3px}.bezel-bottom{height:9px}}
@media(orientation:portrait) and (max-width:850px){.portrait-hint{position:fixed;inset:0;background:radial-gradient(ellipse at center,#e6e6ef,#c2c2d1);z-index:100;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:32px;text-align:center}.portrait-hint h2{font-size:22px;letter-spacing:2px;color:#555066;margin-top:40px}.portrait-hint p{font-size:14px;line-height:1.9;color:#8a8395}.rotate-device{height:91px;width:47px;border:3px solid #868197;border-radius:10px;position:relative;transform:rotate(90deg);box-shadow:0 8px 20px #57506d11}.rotate-device:after{content:"";position:absolute;width:12px;height:3px;border-radius:5px;background:#868197;top:6px;left:15px}.rotate-device span{position:absolute;font-size:67px;line-height:1;left:-17px;top:7px;transform:rotate(-90deg);color:#a193b2}.portrait-hint button{background:transparent;color:#85788f;border-bottom:1px solid #aaa0b5;margin-top:20px;padding:7px;font-size:12px}.portrait-allowed .portrait-hint{display:none}.desktop-heading,.desktop-footer{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Keep the entire title and all menu options inside the original 4:3 screen. */
.practice-return{position:absolute;top:calc(8 * var(--u));left:calc(10 * var(--u));font-size:calc(10 * var(--u));color:#c7d5ff;text-decoration:none;z-index:3}
.title-scene{padding:calc(6 * var(--u))}.game-logo{margin:0 0 calc(-3 * var(--u))}.logo-puyo{font-size:calc(54 * var(--u))}.game-logo>b{font-size:calc(63 * var(--u))}.logo-subtitle{margin-bottom:calc(9 * var(--u))}.menu-panel{padding:calc(12 * var(--u)) calc(18 * var(--u)) calc(10 * var(--u))}.mode-option{padding:calc(6 * var(--u)) calc(10 * var(--u))}.mode-option strong{font-size:calc(15 * var(--u))}.difficulty-row{margin:calc(10 * var(--u)) 0}.title-note{margin-top:calc(8 * var(--u))}
