@font-face{font-family:Rubik Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/rubik-arabic-wght-normal-CGnJ-sf6.woff2)format("woff2-variations");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Rubik Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/rubik-cyrillic-ext-wght-normal-BjodpZir.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Rubik Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/rubik-cyrillic-wght-normal-DveCct9I.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/rubik-hebrew-wght-normal-BIkpbuMU.woff2)format("woff2-variations");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/rubik-latin-ext-wght-normal-OacczzuJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rubik Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/rubik-latin-wght-normal-CnQIisVs.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rubik Variable;font-style:italic;font-display:swap;font-weight:300 900;src:url(/assets/rubik-arabic-wght-italic-DWPcQDwX.woff2)format("woff2-variations");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Rubik Variable;font-style:italic;font-display:swap;font-weight:300 900;src:url(/assets/rubik-cyrillic-ext-wght-italic-D6GrQ2Z2.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Rubik Variable;font-style:italic;font-display:swap;font-weight:300 900;src:url(/assets/rubik-cyrillic-wght-italic-Bvmh_w8I.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik Variable;font-style:italic;font-display:swap;font-weight:300 900;src:url(/assets/rubik-hebrew-wght-italic-CY6H6RI2.woff2)format("woff2-variations");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik Variable;font-style:italic;font-display:swap;font-weight:300 900;src:url(/assets/rubik-latin-ext-wght-italic-CvT2ySUa.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rubik Variable;font-style:italic;font-display:swap;font-weight:300 900;src:url(/assets/rubik-latin-wght-italic-BSFEwDWV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--night:#0e1630;--plate:#0d152ed1;--plate-solid:#141e3e;--line:#ffffff1f;--text:#fff;--dim:#b3bedd;--brand:#7c5cff;--brand-deep:#4f34c9;--brand-light:#c3b4ff;--star:#ffc22e;--low:#ff8a6b;--warn:#ff6a3d;--gem:#c48bff;--skew:-9deg;--unskew:9deg;--font:"Rubik Variable", system-ui, sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;background:#9fd0f5;margin:0;overflow:hidden}#game,#game canvas{width:100%;height:100%;display:block;position:fixed;inset:0}#vignette{pointer-events:none;background:radial-gradient(at 50% 42%,#0000 60%,#0a163c4d 100%);position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}#ui .interactive{pointer-events:auto}button{font-family:var(--font)}.screen{transition:opacity .35s;position:absolute;inset:0}.screen.hidden{opacity:0;pointer-events:none!important}.screen.hidden *{pointer-events:none!important}.screen-heading{letter-spacing:-.01em;color:var(--text);text-shadow:0 4px #0a122c59;margin:0;font-size:64px;font-style:italic;font-weight:900;line-height:1}.keycap{min-width:26px;height:26px;color:var(--night);font-family:var(--font);white-space:nowrap;background:#f3f5fd;border-radius:6px;justify-content:center;align-items:center;padding:0 6px;font-size:13px;font-style:normal;font-weight:700;line-height:1;display:inline-flex;box-shadow:inset 0 -3px #c9d0e6,0 2px 6px #0810284d}.keycap.wide{padding:0 9px}.prompts{gap:28px;display:flex;position:absolute;bottom:30px;left:7vw}.prompt{color:var(--text);text-shadow:0 1px 6px #081028b3;align-items:center;gap:6px;font-size:15px;font-weight:600;display:flex}.prompt span:last-child{margin-left:4px}.back-link{color:var(--text);cursor:pointer;text-shadow:0 1px 6px #08102899;background:0 0;border:0;align-items:center;gap:10px;padding:0;font-size:17px;font-weight:700;transition:opacity .15s;display:inline-flex}.back-link:hover{opacity:.8}.title:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0a163c80 0%,#0a163c33 38%,#0000 60%);position:absolute;inset:0}.title-left{flex-direction:column;gap:7vh;display:flex;position:absolute;top:50%;left:7vw;transform:translateY(-54%)}.logo{isolation:isolate;letter-spacing:-.03em;transform-origin:0;flex-direction:column;font-size:clamp(76px,9vw,148px);font-style:italic;font-weight:900;line-height:.86;display:flex;transform:rotate(-4deg)}.logo-line{color:#0000;-webkit-background-clip:text;background-clip:text;width:max-content;padding:0 .06em;display:block;position:relative}.logo-line:before{content:attr(data-text);z-index:-1;color:var(--night);-webkit-text-stroke:.15em var(--night);text-shadow:0 .06em 0 var(--night), 0 .1em 0 var(--night), 0 .3em .35em #08102859;padding:0 .06em;position:absolute;top:0;left:0}.logo-line.top{background-image:linear-gradient(#fff 0 54%,#d8e4ff 54% 100%)}.logo-line.bottom{background-image:linear-gradient(#a993ff 0 54%,#7c5cff 54% 100%);margin-left:.42em;font-size:1.16em}.menu-list{flex-direction:column;gap:6px;min-width:420px;display:flex}.menu-item{isolation:isolate;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 34px 14px 24px;display:flex;position:relative}.menu-item:before{content:"";z-index:-1;background:var(--brand);box-shadow:0 6px 0 var(--brand-deep), 0 14px 28px #0810284d;transform:skewX(var(--skew)) scaleX(0);transform-origin:0;border-radius:6px;transition:transform .22s cubic-bezier(.2,.9,.3,1);position:absolute;inset:0}.menu-item.on:before{transform:skewX(var(--skew)) scaleX(1)}.menu-label{letter-spacing:-.01em;text-shadow:0 3px #0a122c73;font-size:46px;font-style:italic;font-weight:900;line-height:1;transition:color .15s,transform .22s cubic-bezier(.2,.9,.3,1)}.menu-detail{color:#ffffffd1;text-shadow:0 1px 6px #081028b3;font-size:16px;font-weight:500;transition:color .15s,transform .22s cubic-bezier(.2,.9,.3,1)}.menu-item.on .menu-label,.menu-item.on .menu-detail{color:var(--text);text-shadow:none;transform:translate(12px)}.menu-item:not(.on) .menu-label{opacity:.85}.howto,.pause{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#091026bd}.howto{overflow-y:auto}.howto-inner{flex-direction:column;max-width:1080px;margin:0 auto;padding:7vh 5vw 6vh;transition:transform .4s cubic-bezier(.2,.9,.3,1);display:flex;transform:translateY(0)}.screen.hidden .howto-inner{transform:translateY(30px)}.lead{color:#d5ddf3;max-width:760px;margin:14px 0 32px;font-size:19px;font-weight:500;line-height:1.45}.howto-grid{grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:32px;display:grid}.panel{border:1px solid var(--line);background:#ffffff0f;border-radius:16px;padding:22px 22px 18px}.panel h3{margin:0 0 18px;font-size:22px;font-style:italic;font-weight:800}.panel-note{color:var(--dim);margin:14px 0 0;font-size:15px;line-height:1.45}.tstate{align-items:center;gap:16px;margin-bottom:16px;display:flex}.tstate-title{font-size:17px;font-weight:700}.tstate-text{color:var(--dim);font-size:15px}.mini-tile{background:#fbe2b6;border-radius:9px;flex:none;width:52px;height:36px;position:relative;box-shadow:inset 0 2px #ffffffb3,0 4px #e2a978,0 7px #b97355}.mini-tile.glow{background:#ffc451;animation:.9s ease-in-out infinite glow}.mini-tile.crack{background:#ff7a42;animation:.18s linear infinite rattle}.mini-tile.crack:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 30'%3E%3Cpath d='M20 15 L13 9 L7 10 M20 15 L26 6 L30 3 M20 15 L29 19 L35 23 M20 15 L15 22 L9 26 M13 9 L12 4' stroke='%236b3424' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;position:absolute;inset:4px}@keyframes glow{50%{background:#ffe2a0}}@keyframes rattle{25%{transform:translate(1px,-1px)rotate(1deg)}75%{transform:translate(-1px,1px)rotate(-1deg)}}.pblock{border-top:1px solid var(--line);padding:12px 0 8px}.ctrl{justify-content:space-between;align-items:center;padding:4px 0;display:flex}.ctrl-label{color:var(--dim);font-size:15px}.keys{gap:4px;display:flex}.stats{flex-direction:column;gap:10px;display:flex}.stat{align-items:center;gap:16px;display:flex}.stat-value{min-width:64px;font-size:38px;font-style:italic;font-weight:900;line-height:1}.stat.gem .stat-value{color:var(--gem)}.stat.star .stat-value{color:var(--star)}.stat.survive .stat-value{color:#7fe0a8}.stat-label{font-size:17px;font-weight:600}.pause-inner{flex-direction:column;gap:28px;display:flex;position:absolute;top:50%;left:7vw;transform:translateY(-50%)}.btn{cursor:pointer;transform:skewX(var(--skew));border:0;border-radius:8px;align-items:center;gap:14px;transition:transform .14s,box-shadow .14s,filter .14s;display:inline-flex}.btn.primary{background:var(--brand);color:var(--text);box-shadow:0 6px 0 var(--brand-deep), 0 18px 34px #08102859;padding:14px 34px 16px 22px;font-size:30px;font-style:italic;font-weight:900}.btn.primary:hover{filter:brightness(1.06);transform:skewX(var(--skew)) translateY(-2px)}.btn.primary:active{transform:skewX(var(--skew)) translateY(4px);box-shadow:0 2px 0 var(--brand-deep), 0 8px 16px #0810284d}.hud .plate{background:var(--plate);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transform:skewX(var(--skew));box-shadow:inset 6px 0 0 var(--pc), 0 12px 30px #08102847;border-radius:10px;align-items:center;gap:14px;padding:10px 28px 12px 14px;transition:opacity .3s,filter .3s;display:flex;position:absolute;top:22px}.hud .plate>*{transform:skewX(var(--unskew))}.hud .plate.p1{left:28px}.hud .plate.p2{box-shadow:inset -6px 0 0 var(--pc), 0 12px 30px #08102847;flex-direction:row-reverse;padding:10px 14px 12px 28px;right:28px}.avatar{background:var(--pc);border-radius:50%;width:48px;height:48px;position:relative;overflow:hidden;box-shadow:inset 0 -5px #0003,0 0 0 3px #ffffffe6}.avatar:before,.avatar:after{content:"";background:#fff;border-radius:50%;width:10px;height:12px;position:absolute;top:14px;box-shadow:inset 0 -4px 0 1px #1d2333}.avatar:before{left:11px}.avatar:after{right:11px}.plate .meta{flex-direction:column;gap:1px;display:flex}.plate.p2 .meta{align-items:flex-end}.plate .name{text-overflow:ellipsis;white-space:nowrap;max-width:190px;font-size:17px;font-weight:700;line-height:1.1;overflow:hidden}.plate .score{align-items:baseline;gap:7px;display:flex}.plate.p2 .score{flex-direction:row-reverse}.plate .points{color:color-mix(in srgb, var(--pc) 70%, white);font-variant-numeric:tabular-nums;font-size:34px;font-style:italic;font-weight:900;line-height:1}.plate .goal{color:var(--dim);font-size:13px;font-weight:600}.plate .bar{gap:3px;margin-top:5px;display:flex}.plate.p2 .bar{flex-direction:row-reverse}.plate .seg{width:13px;height:6px;transform:skewX(var(--skew));background:#ffffff29;border-radius:2px;transition:background-color .25s}.plate .seg.on{background:color-mix(in srgb, var(--pc) 80%, white)}.plate.bump{animation:.4s cubic-bezier(.3,1.6,.5,1) plate-bump}@keyframes plate-bump{35%{transform:skewX(var(--skew)) scale(1.06)}}.plate.out{opacity:.45;filter:grayscale(.8)}.pops{position:absolute;inset:0;overflow:hidden}.ptpop{color:color-mix(in srgb, var(--pc) 75%, white);-webkit-text-stroke:.14em var(--night);paint-order:stroke fill;font-size:38px;font-style:italic;font-weight:900;animation:1.1s cubic-bezier(.2,1.2,.4,1) forwards pt-rise;position:absolute;transform:translate(-50%,-50%)}@keyframes pt-rise{0%{opacity:0;transform:translate(-50%,-30%)scale(.5)}20%{opacity:1;transform:translate(-50%,-80%)scale(1.2)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-190%)scale(1)}}.timer{flex-direction:column;align-items:center;transition:opacity .3s;display:flex;position:absolute;top:20px;left:50%;transform:translate(-50%)}.timer.gone{opacity:0}.timer .value{background:var(--plate);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);min-width:128px;transform:skewX(var(--skew));text-align:center;font-variant-numeric:tabular-nums;border-radius:10px;padding:6px 26px 8px;font-size:42px;font-style:italic;font-weight:900;line-height:1;transition:background-color .3s,color .3s;box-shadow:0 12px 30px #08102847}.timer.low .value{color:var(--low);animation:1s ease-in-out infinite tick}@keyframes tick{0%,to{transform:skewX(var(--skew)) scale(1)}12%{transform:skewX(var(--skew)) scale(1.1)}}.timer.sudden .value{background:var(--warn);color:var(--text);animation:.25s linear infinite sudden}@keyframes sudden{25%{transform:skewX(var(--skew)) translate(1px, -1px)}75%{transform:skewX(var(--skew)) translate(-1px, 1px)}}.timer .sub{background:var(--brand);color:var(--text);white-space:nowrap;transform:skewX(var(--skew)) translateY(-8px);box-shadow:0 4px 0 var(--brand-deep), 0 10px 20px #08102840;opacity:0;border-radius:6px;margin-top:12px;padding:5px 16px 6px;font-size:16px;font-style:italic;font-weight:800;transition:opacity .25s,transform .3s cubic-bezier(.2,.9,.3,1)}.timer .sub.show{opacity:1;transform:skewX(var(--skew)) translateY(0)}.center-text{text-align:center;color:var(--text);-webkit-text-stroke:.07em var(--night);paint-order:stroke fill;text-shadow:0 .06em 0 var(--night), 0 .2em .3em #0810284d;pointer-events:none;font-style:italic;font-weight:900;position:absolute;top:34%;left:0;right:0}.count{letter-spacing:-.02em;opacity:0;font-size:clamp(140px,18vw,260px);line-height:1}.count.pop{animation:.95s cubic-bezier(.2,.9,.3,1) forwards count-punch}.count.go{color:var(--brand-light)}@keyframes count-punch{0%{opacity:0;transform:scale(2.4)}16%{opacity:1;transform:scale(.92)}28%{transform:scale(1.03)}38%{transform:scale(1)}75%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.85)}}.banner{pointer-events:none;opacity:0;transition:opacity .3s;position:absolute;top:60%;left:0;right:0}.banner.show{opacity:1}.band{height:clamp(110px,12vw,160px);position:relative}.band-under,.band-main{transform-origin:0;position:absolute;left:-6vw;right:-6vw;transform:skewY(-3deg)scaleX(0)}.band-under{background:var(--night);top:16px;bottom:-16px}.band-main{background:var(--bc);justify-content:center;align-items:center;display:flex;top:0;bottom:0;overflow:hidden}.banner.show .band-main{animation:.45s cubic-bezier(.2,.9,.3,1) forwards band-in}.banner.show .band-under{animation:.45s cubic-bezier(.2,.9,.3,1) 60ms forwards band-in}@keyframes band-in{to{transform:skewY(-3deg)scaleX(1)}}.band-text{letter-spacing:-.01em;white-space:nowrap;color:var(--text);-webkit-text-stroke:.08em var(--night);paint-order:stroke fill;opacity:0;font-size:clamp(48px,6.4vw,92px);font-style:italic;font-weight:900;line-height:1;transform:skewY(3deg)translate(60px)}.banner.show .band-text{animation:.5s cubic-bezier(.2,.9,.3,1) .18s forwards band-text-in}@keyframes band-text-in{to{opacity:1;transform:skewY(3deg)translate(0)}}.band-text .who{color:var(--brand-light)}.banner-sub{background:var(--plate);width:max-content;transform:skewX(var(--skew));opacity:0;border-radius:8px;margin:40px auto 0;padding:8px 22px 9px;font-size:20px;font-weight:700}.banner.show .banner-sub{animation:.4s .4s forwards fade-up}@keyframes fade-up{0%{opacity:0;transform:skewX(var(--skew)) translateY(10px)}to{opacity:1;transform:skewX(var(--skew)) translateY(0)}}.hint{background:var(--plate);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px;gap:34px;padding:10px 22px;transition:opacity .6s,transform .6s;display:flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.hint.hidden{opacity:0;transform:translate(-50%,20px)}.hint .grp{white-space:nowrap;align-items:center;gap:7px;display:flex}.hint .dot{background:var(--pc);border-radius:3px;width:12px;height:12px;margin-right:4px}.hint-label{margin:0 8px 0 2px;font-size:14px;font-weight:600}.corner{text-shadow:0 1px 6px #081028b3;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex;position:absolute;bottom:24px;right:28px}.tag{background:var(--pc);color:var(--text);white-space:nowrap;text-shadow:0 1px 2px #00000059;will-change:transform;border-radius:6px;padding:3px 10px 4px;font-size:14px;font-style:italic;font-weight:800;transition:opacity .25s;position:absolute;top:0;left:0;transform:translate(-50%,-100%);box-shadow:0 4px 12px #0810284d}.tag.hidden{opacity:0}.tag:after{content:"";border-left:6px solid #0000;border-right:6px solid #0000;border-top:7px solid var(--pc);margin-left:-6px;position:absolute;bottom:-6px;left:50%}.setup:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0a163c59,#0000 30% 70%,#0a163c59);position:absolute;inset:0}.setup-heading{text-align:center;font-size:46px;position:absolute;top:34px;left:0;right:0}.setup-panel{background:var(--plate);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:340px;max-height:calc(100vh - 200px);box-shadow:inset 0 5px 0 var(--pc), 0 20px 50px #08102859;border-radius:14px;padding:20px 22px 24px;transition:transform .45s cubic-bezier(.2,.9,.3,1);position:absolute;top:84px;overflow-y:auto}.setup-panel.p1{left:28px}.setup-panel.p2{right:28px}.screen.hidden .setup-panel.p1{transform:translate(-40px)}.screen.hidden .setup-panel.p2{transform:translate(40px)}.setup-head{justify-content:space-between;align-items:center;display:flex}.setup-head .slot{color:color-mix(in srgb, var(--pc) 75%, white);font-size:40px;font-style:italic;font-weight:900;line-height:1}.slot-keys{gap:3px;display:flex}.slot-keys .keycap{min-width:22px;height:22px;padding:0 5px;font-size:11px}.field-label{color:var(--dim);margin:18px 0 8px;font-size:14px;font-weight:600;display:block}.name-input{border:0;border-bottom:3px solid var(--pc);width:100%;color:var(--text);font-family:var(--font);-webkit-user-select:text;user-select:text;background:#ffffff14;border-radius:8px 8px 3px 3px;outline:none;padding:8px 12px 7px;font-size:26px;font-style:italic;font-weight:800;transition:background-color .2s}.name-input:focus{background:#ffffff26}.name-input::placeholder{color:#ffffff59}.swatches{grid-template-columns:repeat(5,1fr);gap:10px;transition:opacity .2s;display:grid}.swatches.disabled{opacity:.3;pointer-events:none}.swatch-btn{aspect-ratio:1;background:var(--sc);cursor:pointer;outline-offset:3px;border:0;border-radius:8px;outline:3px solid #0000;padding:0;transition:transform .15s,outline-color .15s;box-shadow:inset 0 -4px #0000002e}.swatch-btn:hover{transform:scale(1.07)}.swatch-btn.on{outline-color:var(--text)}.opts{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.opt{color:var(--text);cursor:pointer;transform:skewX(var(--skew));background:#ffffff14;border:0;border-radius:7px;padding:9px 4px 10px;font-size:15px;font-weight:700;transition:background-color .15s,color .15s}.opt:hover{background:#ffffff29}.opt.on{background:var(--brand);color:var(--text)}.setup-foot{flex-direction:column;align-items:center;gap:18px;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.setup-note{text-align:center;text-shadow:0 1px 8px #081028cc;max-width:460px;margin:0;font-size:15px;font-weight:600}.btn .keycap{transform:skewX(var(--unskew))}.twist{background:var(--plate);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:max-content;max-width:calc(100vw - 48px);box-shadow:inset 0 -5px 0 var(--brand), 0 18px 40px #08102859;text-align:center;opacity:0;transform:translateX(-50%) skewX(var(--skew)) scale(.9);border-radius:12px;padding:14px 34px 16px;transition:opacity .3s,transform .45s cubic-bezier(.2,1.4,.4,1);position:absolute;top:19%;left:50%}.twist.show{opacity:1;transform:translateX(-50%) skewX(var(--skew)) scale(1)}.twist>*{transform:skewX(var(--unskew))}.twist-label{color:var(--brand-light);font-size:15px;font-weight:600}.twist-name{font-size:46px;font-style:italic;font-weight:900;line-height:1.05}.twist-desc{color:#d5ddf3;margin-top:4px;font-size:17px;font-weight:500}.plate .power{color:#9fc0ff;white-space:nowrap;max-height:0;font-size:13px;font-weight:700;transition:max-height .25s;overflow:hidden}.plate .power.show{max-height:20px;margin-top:4px}.plate.leader .avatar{box-shadow:inset 0 -5px 0 #0003, 0 0 0 3px var(--star)}.plate.leader .meta .name:after{content:"";background:var(--star);clip-path:polygon(0 100%,0 25%,25% 60%,50% 0,75% 60%,100% 25%,100% 100%);width:16px;height:11px;margin-left:7px;display:inline-block}.tstates{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}.mini-tile.bounce{background:#ff8fbd}.mini-tile.bounce:after{content:"";border:3px solid #fff;border-radius:50%;width:22px;height:12px;margin:-6px 0 0 -11px;position:absolute;top:50%;left:50%}.mini-tile.ice{background:#d4efff;box-shadow:inset 0 2px #fff,inset 10px 6px 0 -6px #ffffffe6,0 4px #e2a978,0 7px #b97355}.mini-tile.crumbly{background:#e6c08a}.mini-tile.crumbly:after{content:"";opacity:.45;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 30'%3E%3Cpath d='M20 15 L13 9 L7 10 M20 15 L26 6 M20 15 L29 19 M20 15 L15 22' stroke='%236b3424' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") 50%/contain no-repeat;position:absolute;inset:4px}.power-dot{border-radius:50%;flex:none;width:40px;height:40px;position:relative;box-shadow:inset 0 -4px #0000002e}.power-dot.anchor{background:#5d8bff}.power-dot.feather{background:#ff8fc8}.power-dot.rebuild{background:#4fd39a}.power-dot:after{content:"";background:#fff;position:absolute;inset:11px}.power-dot.anchor:after{clip-path:polygon(42% 0,58% 0,58% 62%,85% 52%,100% 60%,50% 100%,0 60%,15% 52%,42% 62%)}.power-dot.feather:after{border-radius:60% 60% 60% 0;inset:10px 13px;transform:rotate(-45deg)}.power-dot.rebuild:after{clip-path:polygon(0 20%,100% 20%,100% 48%,70% 48%,50% 100%,30% 48%,0 48%)}.title-status{text-shadow:0 1px 8px #081028cc;min-height:22px;margin:-3vh 0 0 24px;font-size:16px;font-weight:600}.room-code{letter-spacing:.06em;color:var(--brand-light);-webkit-user-select:text;user-select:text;font-size:54px;font-style:italic;font-weight:900;line-height:1}.btn.ghost,.btn.small-ghost{color:var(--text);box-shadow:none;background:#ffffff1a;font-style:normal;font-weight:700}.btn.ghost{justify-content:center;width:100%;margin-top:14px;padding:10px 14px;font-size:16px}.btn.small-ghost{margin-left:auto;padding:6px 12px;font-size:13px}.btn.ghost:hover,.btn.small-ghost:hover{background:#fff3}.btn.primary:disabled{filter:grayscale(.7)brightness(.8);cursor:default;transform:skewX(var(--skew))}.seats{flex-direction:column;gap:8px;display:flex}.seat{background:#ffffff12;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.seat-dot{background:var(--pc,#ffffff40);border-radius:4px;flex:none;width:14px;height:14px}.seat.empty .seat-dot{background:0 0;box-shadow:inset 0 0 0 2px #ffffff59}.seat-name{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:700;overflow:hidden}.seat.empty .seat-name{color:var(--dim);font-weight:500}.seat-tags{color:var(--dim);white-space:nowrap;margin-left:auto;font-size:13px}.pause-note{color:var(--dim);margin:-12px 0 0;font-size:16px}.join-row{align-items:center;gap:18px;display:flex}.code-input{border:0;border-bottom:4px solid var(--brand);width:260px;color:var(--text);font-family:var(--font);letter-spacing:.08em;-webkit-user-select:text;user-select:text;background:#ffffff1a;border-radius:8px 8px 3px 3px;outline:none;padding:10px 16px 9px;font-size:44px;font-style:italic;font-weight:900}.code-input::placeholder{color:#fff3}.join-error{min-height:22px;color:var(--low);margin:-8px 0 0;font-weight:600}.reconnecting{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:5;background:#0910268c;justify-content:center;align-items:center;display:flex}.reconnecting-card{background:var(--plate);box-shadow:inset 0 -5px 0 var(--brand), 0 18px 40px #08102859;border-radius:12px;align-items:center;gap:18px;padding:20px 30px 22px 24px;display:flex}.reconnecting-title{font-size:30px;font-style:italic;font-weight:900;line-height:1.1}.reconnecting-text{color:var(--dim);margin-top:2px;font-size:16px}.spinner{border:4px solid #ffffff26;border-top-color:var(--brand-light);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}html,body{touch-action:manipulation;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}#game canvas{touch-action:none}.touch{pointer-events:none;transition:opacity .25s;position:absolute;inset:0}.touch.hidden{opacity:0}.touch.hidden *{pointer-events:none!important}.stick-zone{pointer-events:auto;touch-action:none;width:52%;position:absolute;top:22%;bottom:0;left:0}.stick-base,.stick-knob{pointer-events:none;opacity:0;border-radius:50%;transition:opacity .15s;position:fixed;top:0;left:0}.stick-base{background:#0d152e59;width:128px;height:128px;box-shadow:inset 0 0 0 3px #ffffff59}.stick-knob{background:#ffffffd9;width:60px;height:60px;box-shadow:0 6px 16px #08102859}.stick-zone.active .stick-base,.stick-zone.active .stick-knob{opacity:1}.touch-buttons{right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));pointer-events:none;width:220px;height:200px;position:absolute}.touch-btn{pointer-events:auto;touch-action:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0d152e8c;border:0;border-radius:50%;justify-content:center;align-items:center;transition:transform 80ms,background-color 80ms;display:flex;position:absolute;box-shadow:inset 0 0 0 3px #fff6,0 8px 20px #0810284d}.touch-btn svg{fill:#fff;width:46%;height:46%}.touch-btn.down{background:#7c5cffd9;transform:scale(.9)}.touch-btn.jump{background:#7c5cffb3;width:104px;height:104px;bottom:0;right:0}.touch-btn.dash{width:78px;height:78px;bottom:6px;right:118px}.touch-btn.pound{width:70px;height:70px;bottom:120px;right:14px}.touch-hint{white-space:normal;text-align:center;max-width:420px;font-size:14px;font-weight:600;display:none}.touch-howto{margin:0 0 10px;font-size:16px;line-height:1.45}.touch-device .prompts,.touch-device .keycap,.touch-device .slot-keys,.touch-device .hint .grp:not(.touch-hint){display:none}.touch-device .touch-hint{display:block}.touch-device .hint{width:min(440px,100vw - 32px);top:30%;bottom:auto;transform:translate(-50%)}.touch-device .hint.hidden{transform:translate(-50%,16px)}.hint .touch-hint{white-space:normal;display:none}.touch-device .hint .touch-hint{display:block}.corner{color:var(--text);font-family:var(--font);cursor:pointer;background:0 0;border:0}.touch-device .corner{bottom:auto;left:50%;right:auto;top:max(84px, calc(env(safe-area-inset-top) + 76px));background:var(--plate);text-shadow:none;border-radius:8px;padding:6px 14px;font-size:13px;transform:translate(-50%)}.hud .plate.p1,.setup-panel.p1{left:max(28px, env(safe-area-inset-left))}.hud .plate.p2,.setup-panel.p2{right:max(28px, env(safe-area-inset-right))}.hud .plate,.timer{top:max(20px, env(safe-area-inset-top))}@media (width<=1100px){.menu-list{min-width:0}.howto-grid{grid-template-columns:1fr}.screen-heading{font-size:clamp(36px,7vw,64px)}.setup{padding:max(20px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;pointer-events:auto;touch-action:pan-y;padding-top:max(76px, calc(env(safe-area-inset-top) + 64px));background:#09102673;flex-direction:column;align-items:center;gap:16px;display:flex;overflow-y:auto}.setup:before{display:none}.setup-heading,.setup-panel,.setup-foot{flex-shrink:0;width:min(520px,100%);max-height:none;position:static;overflow:visible;transform:none}.setup-heading{text-align:left;order:0}.setup-panel.p2{order:1}.setup-foot{order:2}.setup-panel.p1{order:3}.screen.hidden .setup-panel.p1,.screen.hidden .setup-panel.p2{transform:none}.setup-foot .btn.primary{justify-content:center;width:100%}}@media (width<=600px){.title:before{background:linear-gradient(#0a163c73 0%,#0a163c1a 45%,#0a163c80 100%)}.title-left{top:auto;left:20px;right:20px;bottom:max(28px, env(safe-area-inset-bottom));gap:28px;transform:none}.logo{margin-bottom:8vh;font-size:clamp(56px,19vw,96px)}.menu-item{padding:9px 22px 11px 18px}.menu-label{font-size:30px}.menu-detail{font-size:13px}.title-status{margin:0}.timer{top:max(64px, calc(env(safe-area-inset-top) + 56px))}.timer .value{min-width:84px;padding:5px 14px 6px;font-size:26px}.timer .sub{font-size:13px}.touch-device .corner{top:max(10px, env(safe-area-inset-top));padding:5px 10px}.twist{padding:10px 22px 12px;top:26%}.twist-name{font-size:32px}.twist-desc{font-size:14px}.band{height:clamp(84px,22vw,120px)}.band-text{font-size:clamp(26px,7.6vw,48px)}.banner-sub{max-width:calc(100vw - 40px);font-size:15px}.count{font-size:34vw}.howto-inner{padding:max(24px, env(safe-area-inset-top)) 18px 40px}.lead{font-size:16px}.panel{padding:18px 16px 14px}.tstates{grid-template-columns:1fr}.stat-value{font-size:30px}.pause-inner{left:20px;right:20px}.join-row{flex-wrap:wrap}.code-input{width:100%;font-size:36px}.room-code{font-size:44px}.touch-buttons{width:196px;height:180px}.touch-btn.jump{width:92px;height:92px}.touch-btn.dash{width:70px;height:70px;right:104px}.touch-btn.pound{width:62px;height:62px;bottom:106px}}@media (height<=500px){.title{padding:0}.title-left{gap:14px;transform:translateY(-50%)}.logo{font-size:clamp(44px,14vh,72px)}.menu-list{gap:2px}.menu-item{padding:6px 22px 8px 16px}.menu-label{font-size:24px}.menu-detail{display:none}.title-status{margin:0;font-size:14px}.hud .plate,.timer{top:max(8px, env(safe-area-inset-top))}.timer .value{min-width:84px;padding:4px 14px 5px;font-size:26px}.band{height:80px}.band-text{font-size:clamp(26px,9vh,48px)}.banner{top:55%}.banner-sub{margin-top:26px;font-size:15px}.count{font-size:34vh}.twist{top:22%}.twist-name{font-size:30px}.screen-heading{font-size:38px}.pause-inner{gap:14px}.howto-inner{padding:20px 24px 30px}}@media (width<=600px),(height<=500px){.hud .plate{gap:8px;padding:6px 14px 8px 8px}.hud .plate.p2{padding:6px 8px 8px 14px}.hud .plate.p1{left:max(10px, env(safe-area-inset-left))}.hud .plate.p2{right:max(10px, env(safe-area-inset-right))}.hud .plate{top:max(10px, env(safe-area-inset-top))}.avatar{width:30px;height:30px}.avatar:before,.avatar:after{width:7px;height:8px;top:8px}.avatar:before{left:6px}.avatar:after{right:6px}.plate .name{max-width:92px;font-size:13px}.plate .points{font-size:22px}.plate .goal,.plate .power{font-size:11px}.plate .seg{width:6px;height:5px}}@media (height<=500px){.touch-device .corner{top:max(52px, calc(env(safe-area-inset-top) + 44px));left:50%;right:auto;transform:translate(-50%)}.touch-device .hint{top:26%}}@media (width<=600px) and (height>=501px){.title-left{top:max(48px, calc(env(safe-area-inset-top) + 24px));justify-content:space-between}.logo{margin-bottom:0}}@media (height<=500px) and (width>=640px){.setup{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"head head""room you""foot you";align-content:start;gap:12px 16px;display:grid}.setup-heading{grid-area:head}.setup-panel.p2{grid-area:room}.setup-foot{grid-area:foot}.setup-panel.p1{grid-area:you}.setup-heading,.setup-panel,.setup-foot{width:100%}.room-code{font-size:38px}.setup-head .slot{font-size:30px}.field-label{margin:10px 0 6px}.swatches{gap:7px}}.seat.ready{box-shadow:inset 3px 0 #7fe0a8}.seat.ready .seat-tags{color:#7fe0a8}.btn.primary.is-ready{color:var(--text);box-shadow:none;background:#ffffff24}.touch-only{display:none}.touch-device .touch-only{display:block}.touch-device .keys-only{display:none}.topbar{top:max(20px, env(safe-area-inset-top));right:max(24px, env(safe-area-inset-right));z-index:4;gap:10px;transition:opacity .3s;display:flex;position:absolute}.topbar.hidden{opacity:0;pointer-events:none}.topbar.hidden *{pointer-events:none!important}.top-btn{background:var(--plate);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);height:44px;color:var(--text);cursor:pointer;pointer-events:auto;border:0;border-radius:10px;align-items:center;gap:8px;padding:0 16px;font-size:15px;font-weight:700;transition:background-color .15s;display:inline-flex;box-shadow:0 8px 20px #08102840}.top-btn:hover{background:var(--plate-solid)}.top-btn.icon{justify-content:center;width:44px;padding:0}.top-btn svg{fill:currentColor;width:22px;height:22px}.settings{z-index:6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#09102699;justify-content:center;align-items:center;display:flex}.settings-card{background:var(--plate-solid);width:min(460px,100vw - 32px);box-shadow:inset 0 -5px 0 var(--brand), 0 24px 50px #08102866;border-radius:14px;padding:26px 26px 22px}.settings-card .screen-heading{margin-bottom:14px;font-size:40px}.setting{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.setting-name{font-size:18px;font-weight:700}.setting-note{color:var(--dim);margin-top:2px;font-size:14px}.switch{min-width:68px;height:38px;color:var(--dim);cursor:pointer;transform:skewX(var(--skew));background:#ffffff1f;border:0;border-radius:8px;flex:none;font-size:16px;font-style:italic;font-weight:800;transition:background-color .15s,color .15s}.switch.on{background:var(--brand);color:var(--text)}.settings-card .back-link{margin-top:14px}@media (width<=600px){.topbar{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right))}}
