:root{--bg:#000;--fg:#F2F2F2;--panel:rgba(255,255,255,.08);--line:rgba(255,255,255,.18);--ink:#0A0A0A;--u:1px}html,body{margin:0;height:100%;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;font-family:ui-rounded,SF Pro Rounded,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--fg);background:var(--bg)}canvas{position:fixed;inset:0;display:block}#stage{position:fixed;pointer-events:none}.layer{position:absolute;inset:0;display:none}.layer.on{display:block}button{font:inherit}.btn{pointer-events:auto;cursor:pointer;border:0;font-weight:800;letter-spacing:.04em;border-radius:calc(var(--u)*60);padding:calc(var(--u)*26) calc(var(--u)*56);font-size:calc(var(--u)*38);background:var(--ink);color:#fff}.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 calc(var(--u)*5) var(--ink)}.btn.small{padding:calc(var(--u)*14) calc(var(--u)*36);font-size:calc(var(--u)*28);margin-top:calc(var(--u)*22)}#menu .title{position:absolute;left:0;right:0;text-align:center;font-weight:900;font-size:calc(var(--u)*104);letter-spacing:.02em;line-height:1}#menu .title small{display:block;margin-top:calc(var(--u)*22);font-size:calc(var(--u)*34);font-weight:600;letter-spacing:.18em;opacity:.55}#menu .legal{position:absolute;left:0;right:0;bottom:calc(var(--u)*44);display:flex;justify-content:center;gap:calc(var(--u)*56)}#stage.L #menu .legal{bottom:calc(var(--u)*22)}.link{pointer-events:auto;cursor:pointer;background:none;border:0;padding:calc(var(--u)*10) calc(var(--u)*6);color:var(--fg);opacity:.42;font:inherit;font-weight:700;font-size:calc(var(--u)*24);letter-spacing:.16em;text-decoration:underline;text-underline-offset:calc(var(--u)*6)}.link:hover{opacity:.8}.link:disabled{opacity:.25;cursor:default}#menu .build{position:absolute;left:0;right:0;bottom:calc(var(--u)*14);text-align:center;font-size:calc(var(--u)*20);letter-spacing:.14em;opacity:.28;pointer-events:none}#stage.L #menu .build,#stage.nodaily #menu .legal{display:none}#menu .modes{position:absolute;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*18)}#menu .chips{display:flex;gap:calc(var(--u)*14);align-items:stretch}#seed{width:calc(var(--u)*600);box-sizing:border-box;font:inherit;font-weight:800;font-size:calc(var(--u)*50);text-align:center;letter-spacing:.16em;text-transform:uppercase;color:var(--fg);background:var(--panel);border:calc(var(--u)*3) solid var(--line);border-radius:calc(var(--u)*30);padding:calc(var(--u)*16) 0;outline:none;pointer-events:auto}#seed:focus{border-color:var(--fg)}.sq,.chip,.tool{cursor:pointer;color:var(--fg);background:var(--panel);border:calc(var(--u)*3) solid var(--line);border-radius:calc(var(--u)*30)}.sq{width:calc(var(--u)*104);font-size:calc(var(--u)*50)}.chip{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--u)*14);padding:0 calc(var(--u)*36);font-weight:800;letter-spacing:.14em;font-size:calc(var(--u)*30);height:calc(var(--u)*86)}.chip.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}.chip:disabled{opacity:.32;cursor:not-allowed}.chip.dash{border-style:dashed;background:transparent;opacity:.8}.chip svg{width:calc(var(--u)*32);height:calc(var(--u)*32)}.sq{pointer-events:auto}#menu .hint{font-size:calc(var(--u)*27);opacity:.45;letter-spacing:.06em;text-align:center;max-width:calc(var(--u)*820)}#stage.P #menu .title{top:calc(var(--u)*200)}#stage.P #menu .modes{top:calc(var(--u)*1190)}#stage.L #menu .title{top:calc(var(--u)*64);font-size:calc(var(--u)*84)}#stage.L #menu .title small{font-size:calc(var(--u)*28);margin-top:calc(var(--u)*16)}#stage.L #menu .modes{top:calc(var(--u)*676);flex-direction:row;justify-content:center;gap:calc(var(--u)*14)}#stage.L #menu .hint{display:none}#tools{position:absolute;inset:0;pointer-events:none}.tool{position:absolute;pointer-events:auto;top:max(calc(var(--u)*34),calc(env(safe-area-inset-top) + 8px - var(--oy, 0px)));right:max(calc(var(--u)*34),calc(env(safe-area-inset-right) - var(--ox, 0px)));width:calc(var(--u)*88);height:calc(var(--u)*88);border-radius:50%;font-size:calc(var(--u)*44)}#tools.flood .tool{color:var(--ink);background:#00000014;border-color:#00000052}#over,#chal{color:var(--ink)}#over .wrap,#chal .wrap{position:absolute;text-align:center}#over .k,#chal .k{font-size:calc(var(--u)*32);letter-spacing:.3em;font-weight:800;opacity:.6}#over .score,#chal .score{font-size:calc(var(--u)*210);font-weight:900;line-height:1.05;font-variant-numeric:tabular-nums}#over .meta,#chal .meta{font-size:calc(var(--u)*40);font-weight:700;opacity:.75;margin-top:calc(var(--u)*6)}#over .best,#chal .best{margin-top:calc(var(--u)*34);font-size:calc(var(--u)*32);font-weight:800;letter-spacing:.08em}#over .standing{position:relative;margin-top:calc(var(--u)*14);height:calc(var(--u)*38);font-size:calc(var(--u)*30);font-weight:700;letter-spacing:.06em;opacity:.75}#over .standing:empty{display:none}#over .standing span{position:absolute;left:0;right:0;text-align:center}#over .standing.two span:nth-child(1){animation:standA 6s infinite}#over .standing.two span:nth-child(2){animation:standB 6s infinite}@keyframes standA{0%,40%{opacity:1}46%,98%{opacity:0}to{opacity:1}}@keyframes standB{0%,46%{opacity:0}52%,92%{opacity:1}98%,to{opacity:0}}@media (prefers-reduced-motion:reduce){#over .standing.two{height:calc(var(--u)*76)}#over .standing.two span{animation:none!important;position:static;display:block;opacity:1!important}}#over .actions,#chal .actions{position:absolute;display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*24)}#over .pair{display:flex;gap:calc(var(--u)*20)}#over .pair .btn{padding:calc(var(--u)*24) calc(var(--u)*40);font-size:calc(var(--u)*34)}#over .seedtag{position:absolute;text-align:center;font-size:calc(var(--u)*30);letter-spacing:.3em;font-weight:800;opacity:.6}#stage.P #over .wrap{left:0;right:0;top:calc(var(--u)*280)}#stage.P #over .actions{left:0;right:0;top:calc(var(--u)*900)}#stage.P #over .seedtag{left:0;right:0;top:calc(var(--u)*1490)}#stage.L #over .wrap{left:0;width:50%;top:calc(var(--u)*230)}#stage.L #over .score{font-size:calc(var(--u)*190)}#stage.L #over .actions{left:50%;width:50%;top:calc(var(--u)*230)}#stage.L #over .seedtag{left:50%;width:50%;top:calc(var(--u)*650)}#pv .btn{position:absolute;left:max(calc(var(--u)*34),calc(env(safe-area-inset-left) - var(--ox, 0px)));top:max(calc(var(--u)*34),calc(env(safe-area-inset-top) + 8px - var(--oy, 0px)));padding:calc(var(--u)*20) calc(var(--u)*40);font-size:calc(var(--u)*32);background:var(--fg);color:var(--bg)}#sound{margin-right:calc(var(--u)*102)}#hum{margin-right:calc(var(--u)*204)}#haptic{margin-right:calc(var(--u)*306)}.tool.off{opacity:.45;text-decoration:line-through}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.tool svg{width:64%;height:64%;display:block;margin:auto}.sq svg{width:58%;height:58%;display:block;margin:auto}.tool.off:after{content:"";position:absolute;left:20%;right:20%;top:50%;border-top:calc(var(--u)*5) solid currentColor;transform:rotate(-45deg)}.tool.off{text-decoration:none}#menu .title{text-transform:none;letter-spacing:0;font-size:calc(var(--u)*124)}#stage.L #menu .title{font-size:calc(var(--u)*96)}#menu .title .o{display:inline-block;position:relative;width:.5em;height:.5em;border-radius:50%;background:var(--dot,#19C3B1);margin:0 .05em;box-shadow:0 0 .35em var(--dot,#19C3B1)}#menu .title .o:after{content:"";position:absolute;left:50%;top:50%;width:.17em;height:.17em;background:var(--dot,#19C3B1);clip-path:polygon(100% 50%,0 0,25% 50%,0 100%);transform:translate(-50%,-50%) rotate(-42deg) translate(.5em)}#stage.noseeds #codechip,#stage.noseeds #seedtag,#stage.noseeds.nodaily .modes,#stage.nodaily #daily,#stage.noshare #copy{display:none!important}#ad{position:fixed;inset:0;z-index:10;color:#ededed;background:#101012 repeating-linear-gradient(45deg,rgba(255,255,255,.05) 0 28px,transparent 28px 56px)}#ad .adtag{z-index:3;position:absolute;left:max(16px,env(safe-area-inset-left));top:max(16px,env(safe-area-inset-top));font-weight:900;font-size:14px;letter-spacing:.2em;border:2px solid #EDEDED;border-radius:6px;padding:3px 9px}#ad .close{z-index:3;position:absolute;right:max(16px,env(safe-area-inset-right));top:max(16px,env(safe-area-inset-top));width:44px;height:44px;border-radius:50%;border:0;cursor:pointer;background:#ededed;color:#101012;font-weight:900;font-size:20px}#ad .close:disabled{opacity:.4;cursor:default}#ad .center{pointer-events:none;position:absolute;inset:0;display:grid;place-content:center;text-align:center;font-weight:900;font-size:clamp(18px,4.5vmin,40px);letter-spacing:.14em}#ad .center small{display:block;margin-top:12px;font-size:clamp(12px,2.2vmin,18px);font-weight:600;letter-spacing:.05em;opacity:.65}#chal .k{letter-spacing:.14em;line-height:1.4;padding:0 calc(var(--u)*40)}#chal .course{font-size:calc(var(--u)*68);font-weight:900;line-height:1.1;margin-top:calc(var(--u)*24);padding:0 calc(var(--u)*20)}#chal .meta{margin-top:calc(var(--u)*12)}#chal .scorek{margin-top:calc(var(--u)*80);letter-spacing:.2em}#chal .score{font-size:calc(var(--u)*110);margin-top:calc(var(--u)*6)}#chal .score:empty{display:none}#stage.L #chal .score{font-size:calc(var(--u)*96)}#stage.L #chal .k{font-size:calc(var(--u)*28);letter-spacing:.08em;padding:0}#stage.L #chal .scorek{margin-top:calc(var(--u)*50)}#code .btn.back{position:absolute;left:max(calc(var(--u)*34),calc(env(safe-area-inset-left) - var(--ox, 0px)));top:max(calc(var(--u)*34),calc(env(safe-area-inset-top) + 8px - var(--oy, 0px)));padding:calc(var(--u)*20) calc(var(--u)*40);font-size:calc(var(--u)*32);background:var(--fg);color:var(--bg)}#code #codeplay{background:var(--fg);color:var(--bg)}#code .stack{position:absolute;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*28)}#code .col{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*22)}#code .ctitle{font-size:calc(var(--u)*84);font-weight:900;line-height:1}#code .cexp{width:calc(var(--u)*700);text-align:center;font-size:calc(var(--u)*34);font-weight:600;line-height:1.35;opacity:.75}#code .cexp b{font-weight:900}#code .clabel{font-size:calc(var(--u)*26);letter-spacing:.3em;opacity:.55;font-weight:700;margin-top:calc(var(--u)*10)}#code .field{display:flex;gap:calc(var(--u)*14);align-items:stretch}#code .hint{font-size:calc(var(--u)*26);opacity:.45;letter-spacing:.06em;text-align:center;max-width:calc(var(--u)*760);font-weight:800;line-height:1.4}#code .chips.wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(var(--u)*14);max-width:calc(var(--u)*780)}#code .chip{height:calc(var(--u)*76);font-size:calc(var(--u)*28);padding:0 calc(var(--u)*30)}#code #codeclear{display:none}#code.has #codeclear{display:inline-flex}#code .shake{animation:shake .3s}@keyframes shake{20%,60%{transform:translate(calc(var(--u)*-14))}40%,80%{transform:translate(calc(var(--u)*14))}}#stage.P #code .stack{top:calc(var(--u)*190)}#stage.L #seed{width:calc(var(--u)*560)}#stage.L #code .stack{top:calc(var(--u)*150);flex-direction:row;align-items:flex-start;justify-content:center;gap:calc(var(--u)*90);left:calc(var(--u)*60);right:calc(var(--u)*60)}#stage.L #code .col{align-items:center;gap:calc(var(--u)*16);width:calc(var(--u)*700)}#stage.L #code .ctitle{font-size:calc(var(--u)*70)}#stage.L #code .cexp{width:calc(var(--u)*640);font-size:calc(var(--u)*30)}#stage.L #code .chip{height:calc(var(--u)*64);font-size:calc(var(--u)*26)}#chal.on{display:flex;align-items:center;justify-content:center}#chal .wrap,#chal .actions{position:static}#stage.P #chal.on{flex-direction:column;gap:calc(var(--u)*110)}#stage.L #chal.on{flex-direction:row}#stage.L #chal .wrap,#stage.L #chal .actions{width:50%}
