:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--label:#fff;--secondary:#ebebf599;--tertiary:#ebebf54d;--blue:#0091ff;--green:#30d158;--orange:#ff9230;--red:#ff4245;--fill:#7878805c;--fill-tertiary:#7676803d;--glass:#3c3c408c;--glass-border:#ffffff1a;--separator:#545458a6;--gutter:16px;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--label);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;font-size:17px}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}h1,h2,h3,p{margin:0}button{font:inherit;color:inherit;cursor:pointer;-webkit-user-select:none;user-select:none}button:disabled{cursor:default}.secondary{color:var(--secondary)}.center{text-align:center}.callout{font-size:16px;line-height:1.3}.bold{font-weight:700}.semibold{font-weight:600}.spacer{flex:1}.root{height:100%;animation:.35s ease-out blur-in}@keyframes blur-in{0%{opacity:0;filter:blur(12px)}to{opacity:1;filter:blur()}}.screen{height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;max-width:100vw;display:flex;overflow:hidden}.scroll{-webkit-overflow-scrolling:touch;flex:1;padding-bottom:24px;overflow-y:auto}.center-message{text-align:center;padding-inline:var(--gutter);justify-content:center;align-items:center;gap:8px}.nav-bar{min-height:60px;padding:8px var(--gutter);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.nav-leading{justify-self:start}.nav-trailing{justify-self:end}.nav-title{text-align:center;line-height:1.15}.nav-title-main{font-size:17px;font-weight:600}.nav-title-sub{color:var(--secondary);font-size:13px}.large-title{padding:0 var(--gutter) 8px;letter-spacing:.01em;font-size:34px;font-weight:700}.glass-circle,.glass-capsule{background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px)saturate(1.6);backdrop-filter:blur(20px)saturate(1.6);box-shadow:0 2px 10px #00000059}.glass-circle{border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.glass-capsule{border-radius:22px;height:44px;padding:0 4px;display:flex}.glass-icon{background:0 0;border:none;place-items:center;width:48px;height:42px;padding:0;display:grid}.glass-icon:disabled{color:var(--tertiary)}.glass-circle:active,.glass-icon:active:not(:disabled){opacity:.6}.button{border:1px solid var(--glass-border);background:var(--glass);-webkit-backdrop-filter:blur(20px)saturate(1.6);backdrop-filter:blur(20px)saturate(1.6);border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:10px 18px;font-size:17px;transition:opacity .2s,transform .15s,background-color .2s;display:inline-flex}.button.large{width:100%;min-height:52px}.button.prominent{background:var(--blue);color:#fff;border-color:#0000}.button:active:not(:disabled){opacity:.85;transform:scale(.97)}.button:disabled{background:var(--fill-tertiary);color:var(--tertiary);border-color:#0000}.text-button{color:var(--blue);background:0 0;border:none;padding:8px;font-size:15px}.menu{padding-inline:var(--gutter);align-items:center}.menu-title{flex-direction:column;align-items:center;gap:8px;display:flex}.menu-title h1{font-size:34px;font-weight:700}.menu-buttons{flex-direction:column;gap:14px;width:100%;max-width:360px;display:flex}.menu-label{text-align:left;align-items:center;gap:8px;width:100%;padding:4px 0;display:flex}.menu-label-icon{place-items:center;width:28px;display:grid}.menu-label-text{flex-direction:column;gap:2px;display:flex}.menu-label-title{font-weight:600}.menu-label-subtitle{opacity:.8;font-size:12px}.list{margin:8px var(--gutter);background:#1c1c1e;border-radius:26px;padding:0;list-style:none;overflow:hidden}.list li+li .list-row{border-top:.5px solid var(--separator)}.list-row{text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;min-height:64px;padding:12px 16px;display:flex}.list-row:active{background:#ffffff14}.list-row-text{flex-direction:column;flex:1;gap:2px;display:flex}.list-row-title{font-weight:600}.list-row-caption{color:var(--secondary);font-size:12px}.list-row-count{color:var(--secondary);font-variant-numeric:tabular-nums}.list-row-chevron{color:var(--tertiary)}.level-grid{max-width:480px;padding:var(--gutter);grid-template-columns:repeat(3,1fr);gap:14px;margin:0 auto;display:grid}.level-tile{background:var(--fill-tertiary);border:none;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:96px;display:flex;position:relative}.level-tile.solved{color:#fff;background:linear-gradient(#4cdb6f,#28b14a)}.level-tile:active{opacity:.7}.level-tile-number{font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.level-tile-caption{font-size:12px}.level-tile-difficulty{opacity:.8;font-size:11px}.level-tile-check{color:#fff;position:absolute;top:6px;right:6px}.level-area{margin:var(--gutter);flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative}.board-frame{flex-shrink:0;justify-content:center;align-items:center;display:flex}svg.board{touch-action:none;display:block;overflow:visible}.phone-anim,.intro-piece,.plug-ring{transform-box:fill-box;transform-origin:50%}.phone-anim{transform-origin:50% 100%}.handset{transform-box:fill-box;transform-origin:50% 100%}.plug-ring,.fade,.phone,.rope{transition:opacity .15s ease-out,transform .15s ease-out}.target-ring{animation:.15s ease-out fade-in}.drag-hint{transition:opacity .2s ease-out}@keyframes fade-in{0%{opacity:0}}.solved-backdrop{z-index:2;place-items:center;display:grid;position:absolute;inset:0}.solved-card{-webkit-backdrop-filter:blur(30px)saturate(1.8);backdrop-filter:blur(30px)saturate(1.8);border:1px solid var(--glass-border);background:#2c2c2eb8;border-radius:24px;flex-direction:column;align-items:center;gap:18px;width:100%;max-width:320px;padding:28px;animation:.35s cubic-bezier(.34,1.3,.64,1) card-in;display:flex;box-shadow:0 10px 40px #0009}.solved-card h2{font-size:34px;font-weight:700}.solved-buttons{flex-direction:column;gap:10px;width:100%;display:flex}@keyframes card-in{0%{opacity:0;transform:scale(.9)}}.how-to-play{max-width:600px;padding:var(--gutter);flex-direction:column;gap:20px;margin:0 auto;display:flex}.rule{align-items:baseline;gap:12px;line-height:1.3;display:flex}.rule-number{background:#0091ff33;border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-weight:600;display:inline-grid}.how-to-play h3{margin-top:8px;font-size:17px;font-weight:600}.example-board{justify-content:center;display:flex}.replay{align-self:center}.onboarding{padding-inline:calc(var(--gutter) + env(safe-area-inset-left)) calc(var(--gutter) + env(safe-area-inset-right));padding-top:calc(env(safe-area-inset-top) + 8px);padding-bottom:calc(env(safe-area-inset-bottom) + 16px)}.onboarding-top{justify-content:space-between;align-items:center;min-height:44px;display:flex}.onboarding-step-label{color:var(--secondary);margin-bottom:6px;font-size:13px;font-weight:600}.onboarding-dots{gap:6px;display:flex}.dot{background:#ebebf52e;border-radius:4px;width:8px;height:8px;transition:width .3s,background-color .3s}.dot.filled{background:var(--blue)}.dot.current{width:18px}.onboarding-page{flex-direction:column;flex:1;min-height:0;animation:.35s ease-out blur-in;display:flex}.onboarding-bottom{gap:12px;width:100%;max-width:420px;margin:12px auto 0;display:flex}.welcome,.final{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;max-width:420px;margin:0 auto;line-height:1.3;display:flex}.welcome h1,.final h1{font-size:34px;font-weight:700;line-height:1.15}.welcome-phone{margin-bottom:12px;overflow:visible}.final-buttons{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.bounce{animation:.6s cubic-bezier(.34,1.6,.64,1) .2s backwards bounce}@keyframes bounce{0%{transform:scale(.6)}to{transform:scale(1)}}.lesson{flex-direction:column;flex:1;min-height:0;display:flex}.lesson-text{text-align:center;flex-direction:column;align-items:center;gap:8px;max-width:420px;margin:4px auto 0;display:flex}.lesson-text h2{font-size:22px;font-weight:700}.lesson-goal{flex-direction:column;gap:4px;padding-top:6px;display:flex}.goal-check{color:var(--green);opacity:0;transition:transform .45s cubic-bezier(.34,1.8,.64,1),opacity .2s;display:grid;transform:scale(.3)}.goal-check.shown{opacity:1;transform:scale(1)}.lesson-boards{flex:0 auto;justify-content:center;align-items:flex-start;min-height:0;display:flex;overflow:visible}.lesson-boards-inner{transform-origin:top;flex-direction:column;flex-shrink:0;align-items:center;gap:24px;display:flex}.onboarding-board{flex-direction:column;align-items:center;gap:6px;display:flex}.unused-warning{max-width:360px;color:var(--orange);text-align:center;align-items:flex-start;gap:6px;font-size:13px;font-weight:600;animation:.25s ease-out card-in;display:flex}.unused-warning svg{flex-shrink:0;margin-top:1px}.start-over{color:var(--blue);background:0 0;border:none;align-items:center;gap:4px;padding:4px 8px;font-size:13px;transition:opacity .2s ease-out;display:inline-flex}.alert-backdrop{z-index:10;background:#00000073;place-items:center;animation:.2s ease-out fade-in;display:grid;position:fixed;inset:0}.alert{-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);text-align:center;background:#2c2c2eeb;border-radius:28px;width:min(300px,100vw - 48px);padding:20px 16px 12px;animation:.25s ease-out card-in}.alert h3{margin-bottom:6px;font-size:17px;font-weight:600}.alert p{font-size:13px;line-height:1.35}.alert-buttons{flex-direction:column;gap:8px;margin-top:16px;display:flex}.alert-button{background:var(--fill-tertiary);border:none;border-radius:22px;min-height:44px;font-size:17px}.alert-button.destructive{color:var(--red);font-weight:600}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}
