*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden;background:#0d0f1c;color:#e8ecff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}#app{position:relative;display:flex;flex-direction:column;width:100vw;height:100dvh;margin:0 auto}body.in-play #app,body.editor-previewing #app{width:min(100vw,calc(100dvh * 1206 / 2622));height:min(100dvh,calc(100vw * 2622 / 1206))}.hud[hidden],.hud-left[hidden],.hud-right[hidden]{display:none}.hud{position:absolute;top:8px;left:0;right:0;z-index:5;display:flex;justify-content:space-between;align-items:flex-end;padding:4px 24px;font-variant-numeric:tabular-nums;pointer-events:none}.hud-left{display:flex;align-items:baseline}.hud-right{display:flex;flex-direction:column;align-items:flex-end;line-height:1;margin-left:auto}.hud .label{font-size:10px;letter-spacing:.22em;color:#aab4dc;margin-right:6px;text-shadow:0 1px 2px rgba(0,0,0,.85),0 0 6px rgba(0,0,0,.7)}.hud-right .label{margin-right:0;margin-bottom:2px}.hud .value{font-size:24px;font-weight:700;letter-spacing:.04em;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 10px rgba(13,15,28,.95),0 0 18px rgba(13,15,28,.6)}.hud-right .value{color:#d2d9f5}.pause-btn{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-right:12px;padding:0;background:#1f24408c;color:#e8ecff;border:1px solid rgba(91,139,255,.4);border-radius:8px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .12s,border-color .12s}.pause-btn:hover,.pause-btn:active{background:#5b8bff73;border-color:#aac4ffb3}.pause-btn[hidden]{display:none}.pause-bars{position:relative;display:inline-block;width:12px;height:14px}.pause-bars:before,.pause-bars:after{content:"";position:absolute;top:0;bottom:0;width:4px;background:currentColor;border-radius:1px}.pause-bars:before{left:0}.pause-bars:after{right:0}.stage{position:relative;flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center}#game{display:block;width:100%;height:100%;background:#11142a;touch-action:none}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:safe center;text-align:center;padding:16px 14px;background:radial-gradient(circle at center,#0d0f1cb3,#0d0f1ceb);pointer-events:auto;transition:opacity .2s ease;overflow-y:auto;-webkit-overflow-scrolling:touch;gap:0}.overlay.hidden{opacity:0;pointer-events:none}.overlay h1{font-size:clamp(32px,9vw,56px);margin:0 0 4px;letter-spacing:.08em;background:linear-gradient(180deg,#fff,#8a93cc);-webkit-background-clip:text;background-clip:text;color:transparent}.overlay .tagline{font-size:12px;letter-spacing:.16em;color:#8a93cc;margin:0 0 22px;text-transform:uppercase}.overlay .hint{font-size:11px;color:#b9c0e8;margin:4px 0;line-height:1.5}.overlay kbd{background:#1f2440;border:1px solid #2a3057;border-radius:4px;padding:2px 6px;font-size:11px;color:#e8ecff;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.touchbar{display:none;align-items:stretch;padding:8px 12px max(10px,env(safe-area-inset-bottom));background:#0d0f1c}.touchbar.show{display:flex}.movepad{position:relative;flex:1 1 auto;height:88px;background:transparent;touch-action:none;user-select:none;-webkit-user-select:none;transition:opacity .12s}.movepad.disabled{pointer-events:none;opacity:.45}.movepad-track{position:absolute;top:50%;left:14px;right:14px;height:3px;margin-top:-1.5px;background:#aac4ff33;border-radius:2px;pointer-events:none}.moveknob{position:absolute;top:calc(50% - 28px);left:calc(8px + var(--knob-ratio, .5) * (100% - 64px));width:48px;height:56px;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);background:#5b8bff;filter:drop-shadow(0 0 6px rgba(91,139,255,.85)) drop-shadow(0 0 14px rgba(91,139,255,.55));pointer-events:none;transition:background 80ms,filter 80ms}.movepad.active .moveknob{background:#aac4ff;filter:drop-shadow(0 0 8px rgba(170,196,255,.95)) drop-shadow(0 0 20px rgba(170,196,255,.7))}.canvas-wheel{position:absolute;width:28px;height:28px;margin-left:-14px;margin-top:-14px;pointer-events:none;opacity:0;transition:opacity 80ms}.canvas-wheel.show{opacity:.7}.canvas-knob{position:absolute;width:22px;height:22px;margin-left:-11px;margin-top:-11px;border-radius:50%;background:#2ec27a;border:2px solid #9bf0c2;box-shadow:0 2px 6px #00000080;left:14px;top:14px;pointer-events:none}.pill-btn{margin-top:18px;padding:9px 22px;background:#1f24408c;color:#b9c0e8;border:1px solid rgba(91,139,255,.4);border-radius:999px;font-family:inherit;font-size:13px;font-weight:700;letter-spacing:.18em;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .12s,border-color .12s,color .12s}.pill-btn:hover,.pill-btn:active{background:#5b8bff73;border-color:#aac4ffb3;color:#e8ecff}.pause-footer{margin-top:22px}.challenge-gameover{display:flex;flex-direction:column;align-items:center;gap:12px;padding:12px 0}.challenge-gameover h1{margin:0 0 8px}.challenge-gameover .tagline{margin:0}.challenge-gameover .play-btn{margin-top:14px}.challenge-gameover .challenge-back:first-of-type{margin-top:12px}.play-group,.challenge-group{display:flex;flex-direction:column;align-items:center;gap:6px;margin:0;width:100%}.play-group{margin-top:6px;margin-bottom:22px}.challenge-group{margin-bottom:22px}.challenge-intro-byline{margin:-6px 0 4px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#c9a4ff;text-align:center}.challenge-intro-stars{font-size:13px;letter-spacing:2px;color:#ffd76b}.controls-hint{position:absolute;top:14px;left:50%;transform:translate(-50%);padding:8px 14px;background:#0d0f1cb3;border:1px solid rgba(91,139,255,.45);border-radius:999px;font-size:12px;color:#e8ecff;letter-spacing:.04em;pointer-events:none;white-space:nowrap;box-shadow:0 2px 12px #0006;transition:opacity .6s ease;opacity:1;z-index:5}.controls-hint[hidden]{display:none}.fps-overlay{position:absolute;top:60px;right:12px;padding:4px 8px;background:#0d0f1cb3;border:1px solid rgba(91,139,255,.35);border-radius:6px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px;font-variant-numeric:tabular-nums;color:#aab4dc;letter-spacing:.02em;line-height:1.35;pointer-events:none;white-space:pre;z-index:6}.fps-overlay[hidden]{display:none}.controls-hint.fading{opacity:0}.difficulty-buttons{display:flex;justify-content:center;gap:6px;margin:0;flex-wrap:nowrap;width:340px}.difficulty-buttons button{flex:1 1 0;min-width:0;white-space:nowrap}.difficulty-buttons button{font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;padding:4px 6px;background:#1f24408c;color:#b9c0e8;border:1px solid rgba(91,139,255,.35);border-radius:999px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .12s,color .12s,border-color .12s,box-shadow .12s,transform .12s}.difficulty-buttons button:hover{color:#e8ecff;border-color:#5b8bffb3}.difficulty-buttons button.active{background:#5b8bffeb;color:#0d0f1c;border-color:#aac4ff;box-shadow:0 0 12px #5b8bff99,0 0 24px #5b8bff59;transform:translateY(-1px)}.difficulty-buttons button[data-difficulty=hardcore]{border-color:#ff645a80;color:#ffb1a8}.difficulty-buttons button[data-difficulty=hardcore]:hover{border-color:#ff8278d9;color:#ffd4cd}.difficulty-buttons button[data-difficulty=hardcore].active{background:#dc463ceb;border-color:#ffb1a8;color:#fff;box-shadow:0 0 12px #dc463c99,0 0 24px #dc463c59}.difficulty-buttons button.locked{color:#6f7aa6;border-color:#5b8bff2e;background:#1416268c;font-size:10px;letter-spacing:.04em;padding-left:4px;padding-right:4px}.difficulty-buttons button.locked:before{content:"🔒 ";font-size:9px;margin-right:1px}.debug-start-wrap{align-self:center;display:inline-flex;align-items:center;gap:6px;margin:6px 0 0;cursor:pointer}.debug-start-label{font-size:10px;letter-spacing:.18em;color:#aab4dc;text-transform:uppercase}.debug-start-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:4px 22px 4px 10px;background:#14182ca6;color:#aab4dc;border:1px solid rgba(120,150,220,.3);border-radius:6px;font-family:inherit;font-size:12px;letter-spacing:.02em;cursor:pointer;-webkit-tap-highlight-color:transparent;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'><path fill='%23aab4dc' d='M6 8 0 0h12z'/></svg>");background-repeat:no-repeat;background-position:right 7px center;background-size:8px 5px}.tbtn{font-size:26px;background:#1f2440;border:1px solid #2a3057;color:#e8ecff;border-radius:16px;cursor:pointer;touch-action:manipulation;transition:background 80ms}.tbtn:active,.tbtn.pressed{background:#2a3057}@media (hover: none) and (pointer: coarse){.desktop-only{display:none}}@media not all and (hover: none) and (pointer: coarse){.touch-only{display:none}}.achievements{margin-top:10px;padding:8px 10px 10px;border:1px solid #2a3057;border-radius:10px;background:#0f122480;width:min(340px,100%)}.achievements:has(.achievement-badges:empty) h2{margin-bottom:0}.achievements h2{margin:0 0 6px;font-size:10px;letter-spacing:.16em;color:#6f7aa6;text-transform:uppercase;text-align:center;font-weight:700;display:inline-flex;align-items:baseline;justify-content:center;gap:6px;width:100%}.achievement-count{font-size:11px;letter-spacing:.04em;text-transform:none;color:#aab4dc;font-weight:700}.menu-best{margin-top:10px;padding:8px 10px 12px;border:1px solid #2a3057;border-radius:10px;background:#0f122480;width:min(340px,100%);text-align:center}.menu-best h2{margin:0;font-size:10px;letter-spacing:.16em;color:#6f7aa6;text-transform:uppercase;font-weight:700}.menu-best-value{margin-top:2px;font-size:28px;font-weight:800;letter-spacing:.02em;color:#e8ecff;line-height:1.1;font-variant-numeric:tabular-nums}body:not(.in-play) .hud-right{visibility:hidden}.menu-footer{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;margin-top:8px;padding:0 4px}.reset-hints{margin:0;padding:4px 10px;font:inherit;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#6f7aa6;background:transparent;border:1px solid #2a3057;border-radius:8px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .12s,border-color .12s}.reset-hints:hover,.reset-hints:active{color:#aab4dc;border-color:#3a4280}.reset-hints:disabled{opacity:.6;cursor:default}.audio-toggles{display:flex;gap:6px;margin:0;flex-wrap:nowrap;justify-content:center}.audio-toggle{padding:4px 10px;font:inherit;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#6f7aa6;background:transparent;border:1px solid #2a3057;border-radius:8px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .12s,border-color .12s}.audio-toggle:hover,.audio-toggle:active{color:#aab4dc;border-color:#3a4280}.audio-toggle[aria-pressed=true]{color:#cdd6ff;border-color:#5a64a8}.audio-toggle[aria-pressed=false]{opacity:.45;text-decoration:line-through}.blocks-guide{display:flex;flex-direction:column;gap:12px;width:min(560px,100%);max-height:100%;padding:12px 12px 24px;box-sizing:border-box;overflow:hidden}.blocks-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:4px}.blocks-card{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#1418388c;border:1px solid #2a3057;border-radius:12px}.blocks-icon{flex:0 0 auto;width:56px;height:56px}.blocks-text{display:flex;flex-direction:column;gap:2px;min-width:0;text-align:left}.blocks-name{font-size:13px;letter-spacing:.22em;text-transform:uppercase;font-weight:800;color:#e8ecff;text-align:left}.blocks-desc{font-size:12px;line-height:1.45;color:#aab4dc;text-align:left}.play-btn{margin:0;padding:12px 0;width:340px;background:#5b8bff2e;color:#e8ecff;border:2px solid rgba(91,139,255,.55);border-radius:999px;font-family:inherit;font-size:18px;font-weight:800;letter-spacing:.28em;cursor:pointer;-webkit-tap-highlight-color:transparent;box-shadow:0 0 18px #5b8bff38;transition:background .12s,border-color .12s,transform .12s,box-shadow .12s}.play-btn:hover,.play-btn:active{background:#5b8bff59;border-color:#aac4ffe6;box-shadow:0 0 32px #5b8bff73;transform:scale(1.03)}.play-btn-secondary{background:#aa64dc24;border-color:#b482e68c;box-shadow:0 0 18px #aa64dc38}.play-btn-secondary:hover,.play-btn-secondary:active{background:#aa64dc4d;border-color:#dcaafae6;box-shadow:0 0 32px #aa64dc73}.play-btn-tertiary{background:#7891dc1f;border:2px solid rgba(120,145,220,.45);box-shadow:0 0 14px #7891dc2e;font-size:13px;letter-spacing:.24em;padding:8px 0}.play-btn-tertiary:hover,.play-btn-tertiary:active{background:#7891dc3d;border-color:#b4c8ffd9;box-shadow:0 0 22px #7891dc5c;transform:scale(1.02)}.unlock-shop{width:100%;max-width:540px;padding:20px 16px 32px;display:flex;flex-direction:column;gap:18px;align-items:center;overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:100%}.unlock-shop-title{font-size:26px;letter-spacing:.18em;color:#ffd86b;margin:8px 0 0;text-align:center;text-shadow:0 0 18px rgba(255,200,90,.55),0 0 36px rgba(255,170,60,.3)}.unlock-shop-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;max-width:360px;font-size:13px;letter-spacing:.04em;line-height:1.5;color:#d2d9f5;text-align:left}.unlock-shop-list li{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:baseline}.unlock-shop-list strong{color:#ffd86b;letter-spacing:.16em}.unlock-shop-bullet{color:#ffd86b}.unlock-shop-actions{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:4px}.unlock-shop-buy{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:linear-gradient(180deg,#ffc86452,#ffaa3c38);border-color:#ffc864b3;color:#fff5d3}.unlock-shop-buy:hover,.unlock-shop-buy:active{background:linear-gradient(180deg,#ffc86480,#ffaa3c52);border-color:#ffe6aaf2}.unlock-shop-price{font-size:14px;letter-spacing:.12em;color:#fff5d3;text-shadow:0 0 8px rgba(255,200,90,.4)}.unlock-shop-organic{margin:4px 16px 0;font-size:11px;letter-spacing:.06em;color:#6f7aa6;text-align:center;line-height:1.6;max-width:380px}.unlock-shop-web-note{margin:8px 16px;font-size:12px;color:#aab4dc;text-align:center;line-height:1.5;max-width:380px}.challenge-select{width:100%;max-width:720px;padding:20px 16px 32px;display:flex;flex-direction:column;gap:18px;overflow-y:auto;-webkit-overflow-scrolling:touch;height:100%;max-height:100%}.challenge-select-top{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;background:#0d0f1cd1;padding:8px 4px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10}.challenge-select-title{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#aab4dc}.challenge-select-spacer{width:60px;flex:0 0 60px}.challenge-back{font-family:inherit;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#d2d9f5;background:#1f2440b3;border:1px solid #3a4170;border-radius:10px;padding:10px 16px;cursor:pointer;-webkit-tap-highlight-color:transparent}.challenge-back:hover,.challenge-back:active{background:#5b8bff40;border-color:#aac4ffa6}.iap-banner{display:flex;align-items:stretch;gap:8px;padding:4px;margin-top:2px}.iap-buy{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 16px;background:linear-gradient(180deg,#ffc86447,#ffaa3c2e);color:#ffe28a;border:1px solid rgba(255,200,100,.6);border-radius:10px;font-family:inherit;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .12s,border-color .12s}.iap-buy:hover,.iap-buy:active{background:linear-gradient(180deg,#ffc8646b,#ffaa3c47);border-color:#ffdc96d9}.iap-buy.loading{opacity:.6;cursor:wait}.iap-title{letter-spacing:.12em}.iap-price{font-size:14px;letter-spacing:.08em;color:#fff5d3;text-shadow:0 0 8px rgba(255,200,90,.4)}.iap-restore{font-family:inherit;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#aab4dc;background:transparent;border:1px solid #2a3057;border-radius:10px;padding:6px 14px;cursor:pointer;-webkit-tap-highlight-color:transparent}.iap-restore:hover,.iap-restore:active{color:#d2d9f5;border-color:#3a4170}.challenge-block{display:flex;flex-direction:column;gap:10px;padding:12px 12px 14px;background:#14182c8c;border:1px solid rgba(91,139,255,.22);border-radius:12px}.challenge-block.locked{opacity:.85;background:#0f111e8c;border-color:#3c406066}.challenge-block-header{display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#aab4dc;padding:0 4px}.challenge-block.locked .challenge-block-header{color:#6f7aa6}.challenge-official{display:flex;flex-direction:column;gap:12px}.challenge-official-header{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#14182c8c;border:1px solid rgba(91,139,255,.22);border-radius:12px;color:#d1d8ff;font-family:inherit;font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:14px 16px;display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .12s}.challenge-official-header:hover,.challenge-official-header:active{background:#1e2440b3}.challenge-official-chevron{width:14px;text-align:center;font-size:11px;color:#aab4dc}.challenge-official-title{flex:1 1 auto;text-align:left}.challenge-official-header .progress{font-weight:600;letter-spacing:.14em;color:#aab4dc}.challenge-official-body{display:flex;flex-direction:column;gap:12px}.challenge-official.collapsed .challenge-official-body{display:none}.challenge-community-placeholder{background:#14182c8c;border:1px dashed rgba(170,100,220,.35);border-radius:12px;padding:18px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.challenge-community-tag{font-size:11px;font-weight:800;letter-spacing:.28em;color:#c9a4ff;background:#aa64dc26;border:1px solid rgba(170,100,220,.4);border-radius:999px;padding:4px 12px}.challenge-community-placeholder p{margin:0;font-size:12px;line-height:1.55;color:#aab4dc;max-width:36ch}.challenge-block-header .progress{color:#7fe89c}.challenge-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.challenge-card{flex:0 0 calc(33.333% - 7px);min-width:120px;max-width:200px}@media (max-width: 480px){.challenge-card{flex-basis:calc(50% - 5px)}}.challenge-block-lock{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 12px 8px;color:#6f7aa6;text-align:center}.challenge-block-lock-icon{font-size:56px;line-height:1;filter:grayscale(1);opacity:.7}.challenge-block-lock p{margin:0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#8089b3;max-width:280px;line-height:1.5}.challenge-card{display:flex;flex-direction:column;gap:6px;padding:14px 12px 12px;background:#1f24408c;border:1px solid rgba(91,139,255,.32);border-radius:10px;font-family:inherit;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;position:relative;transition:background .12s,border-color .12s}.challenge-card:hover,.challenge-card:active{background:#5b8bff33;border-color:#aac4ffb3}.challenge-card.locked{opacity:.38;cursor:default;background:#1416268c;border-color:#3c406066}.challenge-card.completed{border-color:#7fe89c99}.challenge-card-id{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#7fe89c}.challenge-card.locked .challenge-card-id{color:#6f7aa6}.challenge-card-name{font-size:14px;font-weight:700;color:#e8ecff;letter-spacing:.04em}.challenge-card-hexes{display:flex;gap:3px;margin-top:2px}.challenge-card-hex{width:11px;height:12.5px;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}.challenge-card-best{font-size:11px;color:#aab4dc;margin-top:2px;letter-spacing:.06em;display:flex;justify-content:space-between;gap:8px}.challenge-card-pct{color:#aab4dc}.challenge-card-pct.full{color:#7fe89c;font-weight:700}.challenge-card .check{position:absolute;top:8px;right:8px;width:18px;height:18px;border-radius:50%;background:#7fe89c4d;border:1px solid rgba(127,232,156,.7);color:#c8ffd5;font-size:11px;text-align:center;line-height:16px}.challenge-intro{display:flex;flex-direction:column;gap:18px;align-items:center;padding:28px 24px}.challenge-intro h1{margin:0;font-size:26px;letter-spacing:.06em;text-align:center}.challenge-intro .id{color:#7fe89c;font-size:12px;letter-spacing:.22em;text-transform:uppercase}.challenge-intro .meta{color:#aab4dc;font-size:13px;letter-spacing:.06em}.challenge-complete-banner{color:#7fe89c;font-size:16px;letter-spacing:.18em;text-transform:uppercase}.challenge-unlock-banner{margin:4px 0 0;padding:6px 14px;font-size:13px;letter-spacing:.22em;font-weight:800;text-transform:uppercase;color:#ffd86b;border:1px solid rgba(255,200,100,.7);border-radius:999px;background:#ffc8641f;text-shadow:0 0 14px rgba(255,200,90,.55);animation:unlock-banner-pop .48s cubic-bezier(.34,1.56,.64,1) both}@keyframes unlock-banner-pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1);opacity:1}}.challenge-card-new{position:absolute;top:8px;right:8px;padding:2px 6px;font-size:9px;font-weight:800;letter-spacing:.18em;color:#0d0f1c;background:#ffd86b;border-radius:4px;box-shadow:0 0 10px #ffc85a80}.challenge-card.completed .challenge-card-new{display:none}.challenge-card-new.updated{background:#6be0ff;color:#06121a;box-shadow:0 0 10px #6be0ff8c;letter-spacing:.14em}.challenge-card.completed .challenge-card-new.updated{display:inline-block}.challenge-pct{font-size:78px;font-weight:800;letter-spacing:.04em;line-height:1;margin:4px 0;font-variant-numeric:tabular-nums}.challenge-pct.full{color:#7fe89c;text-shadow:0 0 18px rgba(127,232,156,.55),0 0 36px rgba(127,232,156,.3)}.challenge-pct.partial{color:#ffd86b;text-shadow:0 0 18px rgba(255,200,90,.55),0 0 36px rgba(255,170,60,.3)}.challenge-card-stars{display:flex;gap:2px;font-size:14px;line-height:1}.challenge-card-star{color:#2a3057}.challenge-card-star.earned{color:#ffa311;text-shadow:0 0 6px rgba(255,150,40,.75)}.challenge-score-bar{width:min(360px,84%);margin:0 0 -2px;padding:22px 0 24px}.bar-track{position:relative;height:10px;background:#1f24408c;border:1px solid rgba(91,139,255,.25);border-radius:999px;overflow:visible}.bar-fill{position:absolute;top:0;left:0;bottom:0;width:0;background:linear-gradient(90deg,#ff8c1ee6,#ffc864f2);border-radius:999px;box-shadow:0 0 10px #ff96288c}.bar-tier{position:absolute;top:50%;width:2px;height:18px;background:#aac4ff8c;transform:translate(-50%,-50%);pointer-events:none}.bar-tier-star{position:absolute;bottom:110%;left:50%;transform:translate(-50%);font-size:12px;color:#ffa311;text-shadow:0 0 6px rgba(255,150,40,.6)}.bar-tier-score{position:absolute;bottom:220%;left:50%;transform:translate(-50%);font-size:9px;letter-spacing:.1em;color:#aab4dc;font-variant-numeric:tabular-nums}.bar-marker{position:absolute;top:50%;left:0;width:2px;height:18px;background:#fff5d3;transform:translate(-50%,-50%);opacity:0;pointer-events:none}.bar-marker.show{opacity:1}.bar-marker-score{position:absolute;top:110%;left:50%;transform:translate(-50%);padding:1px 6px;background:#0d0f1cd9;border:1px solid rgba(255,230,150,.6);border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.04em;color:#fff5d3;font-variant-numeric:tabular-nums;white-space:nowrap}.challenge-stars-big{display:flex;gap:14px;font-size:56px;line-height:1;margin:4px 0 -4px}.challenge-star{color:#2a3057;transform:scale(0);opacity:0;transition:transform .32s cubic-bezier(.34,1.56,.64,1),opacity .22s ease-out}.challenge-star.earned{color:#ffa311;text-shadow:0 0 14px rgba(255,150,40,.85),0 0 28px rgba(255,120,30,.45)}.challenge-star.pop{transform:scale(1);opacity:1}.challenge-star.empty.pop{opacity:.45}.challenge-menu-line{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#6f7aa6;margin-top:8px}.credits-link{display:inline-block;margin:0;padding:4px 10px;font:inherit;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#6f7aa6;background:transparent;border:1px solid #2a3057;border-radius:8px;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:color .12s,border-color .12s}.credits-link:hover,.credits-link:active{color:#aab4dc;border-color:#3a4280;text-decoration:none}.achievement-badges{position:relative;margin:0 auto}.achievement-badge{position:absolute;display:inline-flex;align-items:center;justify-content:center;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);background:var(--badge-tint, #5b8bff);color:#0d0f1c;font-size:13px;font-weight:800;letter-spacing:.02em;text-shadow:0 1px 0 color-mix(in srgb,var(--badge-tint, #5b8bff) 65%,white);border:0;border-radius:0;box-shadow:none;cursor:pointer;transition:filter 80ms}.achievement-badge:active{filter:brightness(.85)}.achievement-banner{position:fixed;top:max(12px,env(safe-area-inset-top));left:50%;transform:translate(-50%,-200%);display:flex;align-items:center;gap:12px;padding:12px 18px 12px 14px;min-width:240px;max-width:calc(100vw - 24px);background:linear-gradient(135deg,#1f2440f7,#2a3057f7);border:1.5px solid var(--banner-tint, #5b8bff);border-radius:14px;box-shadow:0 10px 30px #00000073,0 0 24px color-mix(in srgb,var(--banner-tint, #5b8bff) 35%,transparent);z-index:1000;pointer-events:none;transition:transform .32s cubic-bezier(.2,.9,.3,1.2)}.achievement-banner.show{transform:translate(-50%)}.achievement-banner .achievement-banner-icon{flex:0 0 auto;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#0d0f1c99;border:1.5px solid var(--banner-tint, #5b8bff);color:var(--banner-tint, #e8ecff);font-size:14px;font-weight:800;letter-spacing:.04em}.achievement-banner .achievement-banner-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}.achievement-banner .achievement-banner-label{font-size:10px;letter-spacing:.22em;color:#8a93cc;text-transform:uppercase}.achievement-banner .achievement-banner-name{font-size:16px;font-weight:700;color:#e8ecff}.achievement-banner .achievement-banner-desc{font-size:11px;color:#b9c0e8;margin-top:2px}.play-btn-lock{margin-right:6px;font-size:.85em;opacity:.85}.play-btn.locked{color:#b9c0e8}.editor-home,.editor-edit{position:relative;width:min(720px,100%);margin:0 auto;padding:14px 12px 80px;display:flex;flex-direction:column;gap:14px}.editor-home-empty{text-align:center;color:#8a93cc;font-size:13px;margin:18px 0}.editor-home-rows{display:flex;flex-direction:column;gap:10px;padding:12px}.editor-home-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(120,150,220,.25);border-radius:10px;background:#141a3280}.editor-home-row-swipe{position:relative;border-radius:10px;overflow:hidden;touch-action:pan-y}.editor-home-row-swipe .editor-home-row{position:relative;z-index:1;background:#141a32f2;will-change:transform}.editor-home-row-delete{position:absolute;top:0;right:0;bottom:0;width:96px;z-index:0;border:none;border-radius:0 10px 10px 0;background:linear-gradient(180deg,#c43c4d,#8e2230);color:#fff;font-family:inherit;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent}.editor-home-row-meta{display:flex;flex-direction:column;gap:4px;flex:1 1 auto;min-width:0;align-items:flex-start}.editor-home-row-meta .challenge-card-id{font-size:9px;letter-spacing:.18em;color:#aab4dc}.editor-home-row-meta .challenge-card-name{font-weight:600;font-size:14px;color:#e8ecff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.editor-home-row-name-row{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-width:0}.editor-home-row-name-row .challenge-card-name{flex:0 1 auto;min-width:0}.editor-home-row-share-inline{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;padding:0;margin:0;color:#c8cee8;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;flex:0 0 auto}.editor-home-row-share-inline svg{display:block;width:13px;height:13px;filter:drop-shadow(0 0 .4px currentColor) drop-shadow(0 0 .4px currentColor)}.editor-home-row-share-inline:hover{color:#e8ecff}.editor-home-row-meta .editor-home-row-remix{font-size:10px;color:#8a93cc;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.editor-home-row.editor-home-row-remix-source{border-left-color:#aab4dc59}.editor-home-row-meta .challenge-card-hexes{display:flex;gap:3px}.editor-home-row-meta .challenge-card-stars{display:flex;gap:2px}.editor-home-row-meta .challenge-card-best{font-size:11px;color:#aab4dc;display:inline-flex;align-items:center;gap:6px}.editor-home-row-date{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#6b7299}.editor-home-row-actions{display:flex;flex-direction:column;gap:4px;flex:0 0 auto;align-items:stretch;min-width:84px}.editor-home-row-actions-pair{display:grid;grid-template-columns:1fr 1fr;gap:4px;width:100%}.editor-home-row-actions .editor-row-btn{width:100%;text-align:center}.editor-row-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(120,150,220,.4);background:#283c6e80;color:#e8ecff;padding:6px 10px;border-radius:6px;font-size:11px;font-weight:600;letter-spacing:.08em;cursor:pointer}.editor-row-btn:hover{background:#3c5aa099}.editor-row-btn[disabled],.editor-row-btn.disabled{opacity:.45;cursor:not-allowed}.editor-row-btn-play{background:#3c825a99;border-color:#78dcaa80}.editor-row-btn-edit{background:#3c5aa099}.editor-row-btn-delete{padding:6px 9px;background:#8c323c80;border-color:#dc6e8273}.editor-row-btn-publish{background:#78643280;border-color:#dcc86e73}.editor-home-add{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px dashed rgba(120,150,220,.45);background:transparent;color:#aab4dc;font-size:28px;font-weight:300;line-height:1;border-radius:12px;padding:16px;cursor:pointer;transition:background .12s ease,color .12s ease}.editor-home-add:hover{background:#7896dc14;color:#e8ecff}.editor-edit-meta{display:flex;flex-direction:column;gap:6px;padding:0 12px}.editor-field{display:flex;flex-direction:column;gap:3px;font-size:11px;color:#aab4dc;flex:1 1 auto;min-width:80px}.editor-field-label{letter-spacing:.12em;text-transform:uppercase;font-size:10px}.editor-field-input,.editor-field input,.editor-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(120,150,220,.35);background:#0d0f1cb3;color:#e8ecff;padding:6px 8px;border-radius:6px;font-size:13px;width:100%;box-sizing:border-box}.editor-edit-play-big{align-self:center;margin:4px auto 8px;width:340px;padding:12px 0;font-size:18px;letter-spacing:.18em;display:inline-flex;align-items:center;justify-content:center;gap:10px}.editor-meta-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(120,150,220,.35);background:#0d0f1cb3;color:#e8ecff;padding:6px 8px;border-radius:6px;font-size:13px;min-width:0;width:182px;max-width:100%;box-sizing:border-box}.editor-meta-input-seed{width:150px;font-family:ui-monospace,SF Mono,monospace;font-size:12px;text-align:right}.editor-edit-meta .editor-quick-row{grid-template-columns:auto 1fr}.editor-edit-meta .editor-quick-controls{justify-self:stretch}.editor-edit-meta .editor-meta-input{width:100%}.editor-dialog-settings .editor-quick-label{text-align:left;justify-self:start}.editor-options-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border-radius:6px;border:1px solid rgba(120,150,220,.3);background:#141a3273;color:#d1d8ff;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;margin-top:2px}.editor-options-btn:hover{background:#28375a99;color:#e8ecff}.editor-options-icon{font-size:16px}.editor-wave-list{display:flex;flex-direction:column-reverse;gap:8px;padding:0 12px}.editor-wave-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid rgba(120,150,220,.25);border-radius:10px;background:#141a3280;user-select:none;-webkit-user-select:none}.editor-wave-row.selected{border-color:#a0e6c8b3;box-shadow:0 0 0 1px #78dcb44d inset}.editor-wave-row.dragging{opacity:.7;box-shadow:0 8px 18px #00000073}.editor-drag-handle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:#6b7299;font-size:14px;letter-spacing:1px;padding:8px 6px;cursor:grab;touch-action:none}.editor-drag-handle:hover{color:#aab4dc}.editor-drag-handle:active{cursor:grabbing}.editor-wave-canvas-wrap{position:relative;flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.editor-wave-thumb{width:100%;height:64px;display:block;border:1px solid rgba(120,150,220,.2);border-radius:6px;background:#080a16cc}.editor-wave-info{display:flex;justify-content:center;gap:14px;font-size:9px;font-family:ui-monospace,SF Mono,monospace;letter-spacing:.18em;color:#d1d8ff}.editor-wave-info-item{white-space:nowrap}.editor-wave-info-label{color:#6b7299;font-weight:700;margin-right:4px;text-transform:uppercase}.editor-wave-info-error{color:#ff8a98;text-transform:none;letter-spacing:.04em;font-size:10px}.editor-wave-error{color:#ff8a98}.editor-add-wave{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px dashed rgba(120,150,220,.45);background:transparent;color:#aab4dc;font-size:13px;font-weight:600;letter-spacing:.1em;border-radius:10px;padding:12px;cursor:pointer}.editor-add-wave:hover{background:#7896dc14;color:#e8ecff}.editor-add-wave[disabled]{opacity:.45;cursor:not-allowed}.editor-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#080a16c7;z-index:50}.editor-dialog{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:51;width:min(440px,calc(100% - 24px));max-height:calc(100% - 24px);overflow-y:auto;-webkit-overflow-scrolling:touch;background:linear-gradient(180deg,#1c223cfa,#0e1224fa);border:1px solid rgba(120,150,220,.35);border-radius:12px;padding:14px 16px;box-shadow:0 20px 60px #0009}.editor-dialog h2{margin:0 0 8px;font-size:14px;letter-spacing:.18em;text-transform:uppercase;color:#e8ecff}.editor-dialog-body{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px}.editor-dialog-body .editor-radio-group,.editor-dialog-body .editor-pct-group{grid-column:1 / -1}.editor-dialog-wave .editor-advanced .editor-dialog-body,.editor-dialog-settings .editor-dialog-body{grid-template-columns:1fr}.editor-dialog-wave .editor-advanced .editor-field,.editor-dialog-settings .editor-field{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:6px 10px;background:#141a3273;border:1px solid rgba(120,150,220,.2);border-radius:6px}.editor-dialog-wave .editor-advanced .editor-field-label,.editor-dialog-settings .editor-field-label{font-size:12px;font-weight:600;letter-spacing:.1em;color:#d1d8ff;text-transform:uppercase}.editor-dialog-wave .editor-advanced .editor-field input,.editor-dialog-wave .editor-advanced .editor-field select,.editor-dialog-settings .editor-field input,.editor-dialog-settings .editor-field select{width:auto;min-width:90px;font-family:ui-monospace,SF Mono,monospace;text-align:right}.editor-dialog-wave .editor-advanced .editor-radio-group,.editor-dialog-settings .editor-radio-group{background:#141a3273;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:6px 10px}.editor-dialog-wave .editor-advanced .editor-radio-group legend,.editor-dialog-settings .editor-radio-group legend{float:left;padding:0;margin:0;font-size:12px;font-weight:600;letter-spacing:.1em}.editor-dialog-wave .editor-advanced .editor-radio,.editor-dialog-settings .editor-radio{margin-right:6px}.editor-dialog-settings .editor-radio-group{display:block;padding:8px 10px}.editor-dialog-settings .editor-radio-group legend{float:none;display:block;margin-bottom:6px}.editor-dialog-settings .editor-stars-row{display:flex;flex-direction:column;gap:4px}.editor-dialog-settings .editor-stars-row .editor-field{background:#0d0f1c8c;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:6px 10px}.editor-dialog-settings .editor-auto-btn{margin-top:6px;width:100%;font-size:11px;letter-spacing:.15em;text-transform:uppercase}.editor-dialog-err{background:#dc505a2e;border:1px solid rgba(255,130,140,.5);color:#ffd2d6;padding:6px 8px;border-radius:6px;font-size:12px;margin-bottom:8px}.editor-dialog-note{background:#78643233;border:1px solid rgba(220,200,110,.4);color:#ffe6a6;padding:6px 8px;border-radius:6px;font-size:11px;margin-bottom:8px}.editor-radio-group,.editor-pct-group{border:1px solid rgba(120,150,220,.25);border-radius:8px;padding:6px 10px 8px;margin:0}.editor-radio-group legend,.editor-pct-group legend{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#aab4dc;padding:0 4px}.editor-radio{display:inline-flex;align-items:center;gap:4px;margin-right:12px;font-size:12px;color:#d1d8ff}.editor-radio input{accent-color:#5b8bff}.editor-pct-row{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:8px;margin-bottom:4px}.editor-pct-label{font-size:11px;text-transform:uppercase;color:#aab4dc;letter-spacing:.1em}.editor-diff-row{display:flex;gap:6px;margin-top:4px}.editor-diff-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;border:1px solid rgba(120,150,220,.35);background:#141a3280;color:#aab4dc;font-size:13px;font-weight:700;padding:8px 0;border-radius:6px;cursor:pointer}.editor-diff-btn.selected{background:#3c825a99;border-color:#78dcaa99;color:#fff}.editor-stars-row{display:flex;gap:8px;margin-top:4px}.editor-stars-row .editor-field{flex:1 1 0}.editor-dialog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}.editor-dialog-actions .play-btn{padding:10px 18px;font-size:13px}.challenge-cards-custom{gap:10px}.challenge-card-custom{border-color:#dcaaff8c!important}.editor-dialog-wave{width:min(480px,calc(100% - 24px))}.editor-presets{display:none;margin-bottom:10px;padding:10px;background:#080a1680;border:1px solid rgba(120,150,220,.2);border-radius:8px}.editor-presets.open{display:block}.editor-presets-hint{margin:6px 2px 0;font-size:11px;color:#aab4dc;line-height:1.4;text-align:center}.editor-preset-chips{display:flex;flex-wrap:wrap;gap:5px;justify-content:center}.editor-section-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;border:1px dashed rgba(120,150,220,.4);background:transparent;color:#aab4dc;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;padding:8px;border-radius:6px;cursor:pointer;margin-bottom:8px}.editor-section-toggle:hover{background:#7896dc14;color:#e8ecff}.editor-preset-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(120,150,220,.4);background:#141a32b3;color:#d1d8ff;font-size:11px;font-weight:600;letter-spacing:.05em;padding:5px 10px;border-radius:999px;cursor:pointer}.editor-preset-chip:hover{background:#3c5aa099}.editor-preset-chip.selected{background:#3c825aa6;border-color:#78dcaaa6;color:#fff}.editor-preset-params{display:flex;flex-direction:column;gap:8px;margin-top:10px}.editor-slider-row{display:flex;align-items:center;gap:10px}.editor-slider-row input[type=range]{flex:1 1 auto;accent-color:#7fe89c}.editor-slider-value{flex:0 0 48px;font-family:ui-monospace,SF Mono,monospace;font-size:12px;color:#e8ecff;text-align:right}.editor-advanced-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;border:1px dashed rgba(120,150,220,.4);background:transparent;color:#aab4dc;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:8px;border-radius:6px;cursor:pointer;margin-bottom:10px}.editor-advanced-toggle:hover{background:#7896dc14;color:#e8ecff}.editor-advanced-chevron{display:inline-block;width:14px;text-align:center;font-weight:700;font-size:14px;color:#d1d8ff}.editor-advanced{display:none}.editor-advanced.open{display:block}.editor-help-wrap{position:relative;display:inline-flex;margin-left:4px;vertical-align:middle}.editor-help-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;border:1px solid rgba(120,150,220,.5);background:#283c6e8c;color:#d1d8ff;font-size:10px;font-weight:700;font-family:serif;font-style:italic;line-height:1;padding:0;cursor:pointer}.editor-help-btn:hover{background:#3c5aa0b3;color:#fff}.editor-help-text[hidden]{display:none}.editor-help-text{position:absolute;top:calc(100% + 4px);left:0;z-index:60;width:220px;max-width:calc(100vw - 32px);background:#1c2446fa;border:1px solid rgba(160,180,240,.5);border-radius:8px;padding:8px 10px;font-size:11px;font-style:normal;letter-spacing:normal;text-transform:none;color:#e8ecff;line-height:1.45;box-shadow:0 8px 18px #0000008c;pointer-events:auto}.editor-mix{margin-bottom:10px;padding:10px;background:#080a1680;border:1px solid rgba(120,150,220,.2);border-radius:8px}.editor-mix-header{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#aab4dc;margin-bottom:8px;padding:0 2px}.editor-mix-total{font-family:ui-monospace,SF Mono,monospace;font-size:11px;color:#7fe89c;letter-spacing:.08em}.editor-mix-rows{display:flex;flex-direction:column;gap:4px}.editor-mix-row{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:8px;padding:4px 6px;border-radius:6px;background:#141a3273}.editor-mix-row-normal{background:#141a3240;border:1px dashed rgba(120,150,220,.2)}.editor-mix-icon{width:36px;height:36px;display:block}.editor-mix-name{font-size:12px;font-weight:600;letter-spacing:.08em;color:#d1d8ff;text-transform:uppercase}.editor-mix-controls{display:flex;align-items:center;gap:6px}.editor-mix-step{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:26px;height:26px;border-radius:50%;border:1px solid rgba(120,150,220,.4);background:linear-gradient(180deg,#465a96a6,#283764a6);color:#e8ecff;font-size:16px;font-weight:700;line-height:1;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0006,inset 0 1px #ffffff1a;transition:transform 80ms ease}.editor-mix-step:hover{background:linear-gradient(180deg,#5a78bebf,#3c508cbf)}.editor-mix-step:active{transform:scale(.92)}.editor-mix-step[disabled]{opacity:.35;cursor:not-allowed;box-shadow:none}.editor-mix-plus{border-color:#78dcaa80;background:linear-gradient(180deg,#50a06ea6,#286446a6)}.editor-mix-plus:hover{background:linear-gradient(180deg,#6ec88ccc,#3c825acc)}.editor-mix-minus{border-color:#dc828c80;background:linear-gradient(180deg,#aa505aa6,#78323ca6)}.editor-mix-minus:hover{background:linear-gradient(180deg,#dc6e78cc,#a04650cc)}.editor-mix-value{display:inline-block;min-width:38px;text-align:center;font-family:ui-monospace,SF Mono,monospace;font-size:14px;font-weight:700;color:#fff;letter-spacing:.04em}.editor-mix-pct{font-size:10px;font-weight:500;color:#aab4dc;margin-left:1px}.editor-mix-residual{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#6b7299}.editor-mix-row-normal .editor-mix-value{color:#aab4dc}body:not(.in-play) #game,body:not(.in-play) .canvas-wheel,body:not(.in-play) .controls-hint{visibility:hidden}body.editor-active .stage,body:not(.in-play) .stage{background:radial-gradient(circle at 50% 0%,rgba(40,56,110,.35),transparent 50%),linear-gradient(180deg,#0d0f1c,#060812)}body.editor-previewing #game{visibility:visible}.editor-home,.editor-edit{min-height:100%}.editor-wave-row.invalid{border-color:#ff828c8c;box-shadow:0 0 0 1px #ff646e2e inset}.editor-wave-warn{position:absolute;top:4px;right:4px;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#dc505af2;color:#fff;font-size:12px;font-weight:800;line-height:1;cursor:help;box-shadow:0 1px 4px #00000080;z-index:2}.editor-presets-title{margin:0 0 8px;padding:0 2px;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#aab4dc}.editor-quick{margin-bottom:10px;padding:10px;background:#080a1680;border:1px solid rgba(120,150,220,.2);border-radius:8px;display:flex;flex-direction:column;gap:8px}.editor-quick-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:4px 6px;border-radius:6px;background:#141a3273}.editor-quick-label{font-size:12px;font-weight:600;letter-spacing:.1em;color:#d1d8ff;text-transform:uppercase}.editor-quick-controls{display:flex;align-items:center;gap:6px}.editor-quick-walls-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px}.editor-walls-name{min-width:90px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#e8ecff;text-align:center}.editor-walls-arrow{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:28px;height:36px;border-radius:6px;border:1px solid rgba(120,150,220,.4);background:linear-gradient(180deg,#465a96a6,#283764a6);color:#e8ecff;font-size:18px;font-weight:700;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;box-shadow:0 1px 3px #0006,inset 0 1px #ffffff1a;transition:transform 80ms ease}.editor-walls-arrow:hover{background:linear-gradient(180deg,#5a78bebf,#3c508cbf)}.editor-walls-arrow:active{transform:scale(.92)}body.editor-active.editor-previewing #game{visibility:visible}body.editor-active.editor-previewing .canvas-wheel,body.editor-active.editor-previewing .controls-hint{visibility:hidden}body.editor-previewing .editor-dialog-backdrop{background:#080a1673}body.editor-previewing .overlay{background:transparent}body.editor-previewing .editor-edit>*:not(.editor-dialog-backdrop):not(.editor-dialog):not(.editor-custom-picker-backdrop):not(.editor-custom-picker){visibility:hidden}body.editor-previewing .editor-dialog-wave,body.editor-previewing .editor-dialog-custom-wave,body.editor-previewing .editor-presets,body.editor-previewing .editor-quick,body.editor-previewing .editor-mix,body.editor-previewing .editor-advanced.open,body.editor-previewing .editor-dialog-body,body.editor-previewing .editor-custom-palette,body.editor-previewing .editor-custom-grid{background:transparent;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}body.editor-previewing .editor-dialog-backdrop{background:#080a1614}body.editor-previewing .editor-dialog-wave>h2,body.editor-previewing .editor-dialog-custom-wave>h2{display:inline-block;background:#080a16bf;padding:5px 12px;border-radius:999px;border:1px solid rgba(120,150,220,.35)}body.editor-previewing .editor-custom-kind{background:#080a16c7}body.editor-previewing .editor-custom-kind.selected{background:#3c825ac7}body.editor-previewing .editor-custom-row{background:#080a168c;border-radius:4px}body.editor-previewing .editor-custom-cell{background:#141a32b3}body.editor-previewing .editor-custom-cell.has-hex{background:#283c6ed9}body.editor-previewing .editor-custom-cell-side{background:#0d0f1cc7}body.editor-previewing .editor-custom-cell-side.has-hex{background:#503c82d9}body.editor-previewing .editor-custom-clear{background:#501e28c7}body.editor-previewing .editor-section-toggle,body.editor-previewing .editor-advanced-toggle{background:#080a16bf}body.editor-previewing .editor-mix-header{background:#080a16bf;padding:4px 8px;border-radius:6px}body.editor-previewing .editor-quick-row,body.editor-previewing .editor-mix-row,body.editor-previewing .editor-dialog-wave .editor-advanced .editor-field,body.editor-previewing .editor-dialog-wave .editor-advanced .editor-radio-group{background:#080a16bf;border:1px solid rgba(120,150,220,.3)}body.editor-previewing .editor-mix-row-normal{background:#080a168c}body.editor-previewing .editor-preset-chip{background:#141a32d9}body.editor-previewing .editor-preset-chip.selected{background:#3c825ad9}body.editor-previewing .editor-field-input,body.editor-previewing .editor-field input,body.editor-previewing .editor-field select{background:#0d0f1cbf}.editor-add-wave-row{display:flex;gap:8px}.editor-add-wave-row .editor-add-wave{flex:1 1 0;min-width:0}.editor-add-wave-custom{border-color:#dcaaff80;color:#d8b8ff}.editor-add-wave-custom:hover{background:#785ab41f;color:#f1d8ff}.editor-dialog-custom-wave{width:min(540px,calc(100% - 24px))}.editor-custom-palette{margin-bottom:10px;padding:8px;background:#080a1680;border:1px solid rgba(120,150,220,.2);border-radius:8px}.editor-custom-palette-row{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.editor-custom-kind{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px;border-radius:8px;border:1px solid rgba(120,150,220,.3);background:#141a328c;color:#d1d8ff;cursor:pointer;width:56px}.editor-custom-kind.selected{border-color:#78dcaacc;background:#3c825a73;color:#fff}.editor-custom-kind-icon{width:36px;height:36px}.editor-custom-kind-label{font-size:8px;font-weight:700;letter-spacing:.1em}.editor-custom-grid{display:flex;flex-direction:column;gap:2px;padding:6px;background:#080a1680;border:1px solid rgba(120,150,220,.2);border-radius:8px}.editor-custom-row{display:grid;grid-template-columns:22px 1fr 22px 22px;align-items:stretch;gap:2px;height:22px}.editor-custom-row-main{display:grid;grid-template-columns:repeat(10,1fr);gap:1px}.editor-custom-cell{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(120,150,220,.18);background:#141a3259;color:#d1d8ff;padding:0;border-radius:3px;cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;font-size:9px;-webkit-user-select:none;user-select:none}.editor-custom-cell:hover{background:#283c6e73}.editor-custom-cell.has-hex{background:#283c6eb3;border-color:#a0c8ff80}.editor-custom-cell.dragging{background:#5082c8b3}.editor-custom-cell-side{background:#0d0f1c99;border-color:#7896dc4d}.editor-custom-cell-side.has-hex{background:#503c82b3}.editor-custom-cell-icon{width:18px;height:18px;pointer-events:none}.editor-custom-size{position:absolute;bottom:0;right:1px;font-size:8px;font-weight:800;color:#fff;text-shadow:0 0 2px #000;pointer-events:none}.editor-custom-arrow{position:absolute;top:0;left:50%;width:12px;height:12px;transform:translate(-50%);font-size:10px;font-weight:800;color:#ffd76b;text-shadow:0 0 2px #000;pointer-events:none}.editor-custom-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(220,130,140,.3);background:#501e2866;color:#ff8a98;font-size:12px;font-weight:800;line-height:1;border-radius:3px;cursor:pointer;padding:0}.editor-custom-clear:hover{background:#8c323c99;color:#fff}.editor-custom-options{display:none}.editor-custom-options.open{display:flex}.editor-custom-addrow{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;border:2px dashed rgba(120,150,220,.45);background:transparent;color:#aab4dc;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border-radius:6px;padding:6px;cursor:pointer;margin-bottom:4px}.editor-custom-addrow:hover{background:#7896dc14;color:#e8ecff}.editor-custom-addrow[disabled]{opacity:.45;cursor:not-allowed}.editor-wave-info-custom{background:#785ab48c;border:1px solid rgba(220,170,255,.6);color:#f1d8ff;padding:1px 6px;border-radius:3px;font-weight:800;letter-spacing:.18em}.editor-custom-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#080a168c;z-index:70}.editor-custom-picker{position:fixed;left:0;top:0;z-index:71;width:min(360px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow-y:auto;background:linear-gradient(180deg,#1c223cfa,#0e1224fa);border:1px solid rgba(120,150,220,.5);border-radius:12px;padding:14px 16px;box-shadow:0 20px 60px #0009;display:flex;flex-direction:column;gap:12px}.editor-custom-picker-section{display:flex;flex-direction:column;gap:6px}.editor-custom-picker-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#aab4dc}.editor-custom-picker-sizes{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.editor-custom-pick-size{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px;border:1px solid rgba(120,150,220,.35);background:#141a328c;color:#d1d8ff;border-radius:8px;cursor:pointer}.editor-custom-pick-size.selected{border-color:#78dcaacc;background:#3c825a73;color:#fff}.editor-custom-pick-canvas{width:44px;height:44px;display:block}.editor-custom-pick-label{font-size:11px;font-weight:700}.editor-custom-picker-angles{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.editor-custom-pick-angle{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;justify-content:center;height:40px;border:1px solid rgba(120,150,220,.35);background:#141a328c;color:#d1d8ff;border-radius:8px;cursor:pointer}.editor-custom-pick-angle.selected{border-color:#78dcaacc;background:#3c825a73;color:#fff}.editor-custom-pick-arrow{display:inline-block;font-size:18px;font-weight:700;line-height:1}.editor-custom-picker-done{margin-top:4px;align-self:stretch}.editor-custom-pick-size[disabled]{opacity:.3;cursor:not-allowed}.editor-quick-row-disabled{opacity:.45}.editor-quick-row-disabled .editor-quick-label{color:#6b7299}body:not(.in-play) #touchbar{display:none!important}.editor-dialog-wave,.editor-dialog-custom-wave{top:calc(env(safe-area-inset-top,0px) + 12px);transform:translate(-50%);max-height:calc(100% - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px);padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}.editor-dialog-top{display:flex;align-items:center;gap:8px;margin-bottom:8px}.editor-dialog-top h2{flex:1 1 auto;margin:0;text-align:center}.editor-dialog-top .challenge-back{flex:0 0 auto}.community-sort-row{display:flex;gap:4px;padding:4px 4px 10px;justify-content:center;flex-wrap:nowrap}.community-sort-chip{flex:1 1 auto;min-width:0;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:#1f24408c;border:1px solid rgba(170,100,220,.32);color:#c9a4ff;padding:6px 8px;border-radius:999px;cursor:pointer;-webkit-tap-highlight-color:transparent;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.community-sort-chip.selected{background:#aa64dc40;border-color:#dcaaffb3;color:#f1e3ff}.challenge-cards-community .challenge-card-community{border-color:#aa64dc52;cursor:default}.challenge-cards-community .challenge-card-community:hover,.challenge-cards-community .challenge-card-community:active{background:#1f24408c;border-color:#aa64dc52}.challenge-card-author{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#aab4dc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.challenge-card-hex-row{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap}.challenge-card-waves{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#c9a4ff}.challenge-card-stats{display:flex;gap:10px;font-size:11px;color:#c9a4ff}.challenge-card-installed{align-self:flex-start;font-size:9px;font-weight:800;letter-spacing:.18em;color:#c8ffd5;background:#2ec27a33;border:1px solid rgba(123,240,178,.45);border-radius:999px;padding:2px 8px}.community-card-actions{display:flex;flex-direction:column;align-items:stretch;gap:6px;width:100%;margin-top:4px}.community-card-btn{font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:6px 8px;border-radius:6px;border:1px solid transparent;cursor:pointer;-webkit-tap-highlight-color:transparent;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:4px;box-sizing:border-box}.community-card-btn-install{background:#5b8bff40;border-color:#aac4ff8c;color:#dde7ff}.community-card-btn-play{background:#2ec27a40;border-color:#7bf0b28c;color:#c8ffd5}.community-card-btn-remix{background:#ffb8202e;border-color:#ffd36e80;color:#ffe6a8}.community-card-top-row{display:flex;gap:6px;width:100%;align-items:stretch}.community-card-top-row>.community-card-btn{flex:1 1 0}.community-card-top-row>.community-card-icon-btn{flex:0 0 44px}.community-card-icon-row{display:flex;gap:6px;width:100%}.community-card-icon-btn{flex:1 1 0;min-width:0}.single-challenge{display:flex;flex-direction:column;gap:14px;padding:12px;align-items:center}.single-challenge-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:10px;padding:18px 16px;background:#1f24408c;border:1px solid rgba(170,100,220,.32);border-radius:12px}.single-challenge-name{margin:0;font-size:22px;font-weight:800;color:#fff;letter-spacing:.02em}.single-challenge-author{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#aab4dc}.single-challenge-hex-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.single-challenge-stats{font-size:13px}.single-challenge-actions{display:flex;flex-direction:column;gap:8px;margin-top:8px}.community-card-icon-btn{font-family:inherit;font-size:14px;padding:4px 0;border-radius:6px;border:1px solid rgba(170,100,220,.32);background:#14182c8c;color:#c9a4ff;cursor:pointer;-webkit-tap-highlight-color:transparent;display:inline-flex;align-items:center;justify-content:center}.community-card-icon-btn.filled-like{background:#ff5c6e4d;border-color:#ff96aab3;color:#ffd4dc}.challenge-community-status{padding:18px 14px;text-align:center;color:#aab4dc;font-size:12px;letter-spacing:.12em}.editor-home-row-published{font-size:10px;font-weight:800;letter-spacing:.18em;color:#c8ffd5;background:#2ec27a33;border:1px solid rgba(123,240,178,.45);border-radius:999px;padding:2px 8px;align-self:flex-start}.editor-home-row-installed{font-size:11px;color:#c9a4ff}.editor-row-btn-unpublish{background:#ff5c6e2e;border:1px solid rgba(255,150,170,.45);color:#ffd4dc}.editor-row-btn-share{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;color:#c9a4ff}.editor-row-btn-share svg{display:block}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:200;padding:24px}.modal-sheet{background:#181b2e;border:1px solid rgba(170,100,220,.32);border-radius:12px;width:100%;max-width:360px;max-height:80vh;overflow:auto;padding:12px 14px 16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 20px 60px #00000080}.modal-sheet-header{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#f1e3ff}.modal-sheet-header span{flex:1 1 auto}.modal-close{font-family:inherit;font-size:16px;background:transparent;border:none;color:#aab4dc;cursor:pointer;padding:4px 6px}.leaderboard-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.leaderboard-row{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;padding:6px 8px;background:#1f24408c;border-radius:6px;font-size:13px;color:#dde7ff}.leaderboard-rank{font-weight:800;color:#c9a4ff;text-align:right}.leaderboard-name{display:flex;flex-direction:column;gap:1px;min-width:0}.leaderboard-player{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leaderboard-attempts{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#aab4dc}.leaderboard-score{font-weight:700;color:#fff}.leaderboard-status{text-align:center;color:#aab4dc;font-size:12px;padding:16px 10px}.leaderboard-row.you{background:#5b8bff38;border:1px solid rgba(170,196,255,.55)}.leaderboard-row.you .leaderboard-rank{color:#ffd76b}.leaderboard-row.you .leaderboard-player{color:#fff;font-weight:700}.leaderboard-tabs,.leaderboard-scope-tabs{display:flex;gap:4px;flex-wrap:wrap}.leaderboard-scope-tabs{margin-bottom:2px}.leaderboard-tab{flex:1 1 0;background:#1f24408c;border:1px solid rgba(170,100,220,.18);border-radius:6px;color:#aab4dc;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.16em;padding:6px 4px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .12s,color .12s,border-color .12s}.leaderboard-tab:hover{color:#f1e3ff;border-color:#aa64dc66}.leaderboard-tab.active{background:#aa64dc52;border-color:#dcaafab3;color:#fff}.leaderboard-subtitle{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#aab4dc;margin-top:-4px}.leaderboard-foot-action{margin-top:4px;background:transparent;border:1px solid rgba(170,100,220,.32);border-radius:6px;color:#c9a4ff;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:7px 10px;cursor:pointer}.leaderboard-foot-action:hover{background:#aa64dc1f;border-color:#dcaafa99;color:#fff}.leaderboard-panel{width:100%;max-width:360px;margin:8px 0 12px;padding:10px 12px;background:#14182c8c;border:1px solid rgba(170,100,220,.22);border-radius:10px;display:flex;flex-direction:column;gap:6px}.leaderboard-panel-title{margin:0 0 2px;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#c9a4ff;text-align:center}.leaderboard-panel .leaderboard-rows{gap:3px}.leaderboard-panel .leaderboard-row{font-size:12px;padding:5px 7px}.report-body{display:flex;flex-direction:column;gap:8px}.report-reason{display:flex;align-items:center;gap:8px;font-size:13px;color:#dde7ff;cursor:pointer}.report-note{width:100%;resize:vertical;font-family:inherit;font-size:13px;background:#14182cb3;border:1px solid rgba(170,100,220,.32);border-radius:6px;color:#f1e3ff;padding:6px 8px;box-sizing:border-box}.report-actions{display:flex;justify-content:flex-end}.report-submit{padding:8px 18px}.ds-card-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.scard-eyebrow{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#7fe89c;font-weight:700}.scard-eyebrow.dim{color:#6f7aa6}.scard-eyebrow.violet{color:#c9a4ff}.scard-eyebrow.teal{color:#7ce0d8}.scard-meta{font-size:11px;color:#aab4dc;display:inline-flex;align-items:center;gap:6px}.scard-meta .dot{width:3px;height:3px;border-radius:50%;background:#3a4170;display:inline-block}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;font-size:9px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;line-height:1}.pill.blue{background:#5b8bff29;color:#aac4ff;border:1px solid rgba(91,139,255,.35)}.pill.violet{background:#aa64dc24;color:#c9a4ff;border:1px solid rgba(170,100,220,.35)}.pill.teal{background:#46c8c824;color:#7ce0d8;border:1px solid rgba(70,200,200,.35)}.pill.green{background:#7fe89c1f;color:#7fe89c;border:1px solid rgba(127,232,156,.35)}.pill.gold{background:#ffc8641f;color:#ffd86b;border:1px solid rgba(255,200,100,.4)}.pill.ghost{background:#1f24408c;color:#aab4dc;border:1px solid rgba(91,139,255,.18)}.pill.solid-gold{background:linear-gradient(180deg,#ffd86b,#ff9c4a);color:#1a0f00;border:0}.iconbtn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;background:#1f24408c;border:1px solid rgba(91,139,255,.3);border-radius:10px;color:#d2d9f5;cursor:pointer;font:inherit;font-size:14px;-webkit-tap-highlight-color:transparent}
