:root{--bg: #070a17;--bg2: #0d1230;--panel: rgba(20, 26, 58, .78);--panel-solid: #141a3a;--line: rgba(140, 160, 255, .16);--text: #e8ecff;--muted: #8f99c6;--accent: #7aa8ff;--accent2: #b18cff;--good: #4ade9b;--bad: #ff5d73;--gold: #ffd166;--hue: 220;--radius: 16px;--font: "Inter", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--display: "Space Grotesk", var(--font);color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:radial-gradient(1200px 700px at 50% -10%,#1a2256 0%,var(--bg) 60%) fixed,var(--bg);color:var(--text);font-family:var(--font);overscroll-behavior:none;user-select:none;-webkit-user-select:none}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;touch-action:manipulation}button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3{font-family:var(--display);letter-spacing:.02em;margin:.2em 0 .4em}.muted{color:var(--muted)}.small{font-size:.82rem}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn{display:block;width:100%;padding:13px 18px;margin:8px 0;border-radius:12px;background:#7aa8ff1a;border:1px solid var(--line);font-weight:600;transition:transform .12s,background .2s}.btn:hover{background:#7aa8ff2e}.btn:active{transform:scale(.98)}.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#0a0e1f;border:0;box-shadow:0 6px 24px #7a8cff59}.btn.ghost{background:transparent;color:var(--muted)}.btn.danger{background:#ff5d731f;border-color:#ff5d7366;color:#ffb3bd}.btn.xl{font-size:1.15rem;padding:17px;font-family:var(--display);letter-spacing:.04em}.icon-btn{width:44px;height:44px;border-radius:12px;background:var(--panel);border:1px solid var(--line);font-size:1.05rem;flex:none}.pill{padding:8px 14px;border-radius:99px;border:1px solid var(--line);background:var(--panel);font-size:.85rem}.pill.on{background:var(--accent);color:#0a0e1f;border-color:transparent}.shell{max-width:860px;margin:0 auto;min-height:100%;padding:0 16px 40px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 0;position:sticky;top:0;z-index:5;background:linear-gradient(var(--bg) 70%,transparent)}.brand-sm{font-family:var(--display);font-weight:700;letter-spacing:.25em;font-size:.85rem;color:var(--muted)}.page{animation:fadeUp .35s ease both}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.logo{display:flex;align-items:center;gap:14px}.logo-mark{width:46px;height:46px;fill:none;stroke:var(--accent);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px rgba(122,168,255,.6))}.logo-mark path:nth-child(n+3){stroke:var(--accent2)}.logo-name{font-family:var(--display);font-weight:700;font-size:1.5rem;letter-spacing:.22em}.logo-tag{color:var(--muted);font-size:.72rem;letter-spacing:.3em}.logo.big{flex-direction:column;text-align:center;margin:48px 0 26px}.logo.big .logo-mark{width:92px;height:92px;animation:float 5s ease-in-out infinite}.logo.big .logo-name{font-size:clamp(2.1rem,9vw,3.4rem);background:linear-gradient(90deg,#cfe0ff,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}@keyframes float{50%{transform:translateY(-6px)}}.home{max-width:460px;margin:0 auto;animation:fadeUp .5s ease both}.home-progress{display:flex;align-items:center;gap:16px;padding:14px 16px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);margin-bottom:10px}.ring{--p: 0;width:64px;height:64px;border-radius:50%;flex:none;display:grid;place-items:center;background:conic-gradient(var(--accent) calc(var(--p) * 1%),rgba(255,255,255,.07) 0);position:relative}.ring:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:50%;background:var(--panel-solid)}.ring span{position:relative;font-weight:700;font-size:.9rem}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0}.tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);text-align:left;font-weight:600;min-height:92px;transition:transform .15s,border-color .2s}.tile:hover{border-color:#7aa8ff73;transform:translateY(-2px)}.tile span{font-size:1.3rem;color:var(--accent)}.tile small{color:var(--muted);font-weight:400}.chapters{display:grid;gap:12px}.chapter{display:flex;gap:14px;text-align:left;padding:16px;border-radius:var(--radius);background:linear-gradient(135deg,hsl(var(--hue) 60% 20% / .6),var(--panel));border:1px solid hsl(var(--hue) 80% 70% / .25);transition:transform .15s}.chapter:not(.locked):hover{transform:translateY(-2px)}.chapter.locked{opacity:.45;filter:grayscale(.7);cursor:not-allowed}.ch-n{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:1.3rem;background:hsl(var(--hue) 70% 60% / .18);color:hsl(var(--hue) 90% 80%);flex:none}.ch-body{flex:1;min-width:0}.ch-name{font-family:var(--display);font-weight:700;font-size:1.1rem}.bar{height:6px;border-radius:9px;background:#ffffff12;margin:10px 0 6px;overflow:hidden}.bar div{height:100%;background:hsl(var(--hue) 85% 68%);border-radius:9px}.ch-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:.8rem;color:var(--muted)}.tag{color:hsl(var(--hue) 90% 80%)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}.level-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px}.lv{aspect-ratio:1;border-radius:12px;background:var(--panel);border:1px solid var(--line);font-weight:700;position:relative;font-family:var(--display)}.lv.locked{opacity:.35;cursor:not-allowed;font-size:.8rem}.lv.current{border-color:hsl(var(--hue) 90% 70%);box-shadow:0 0 0 2px hsl(var(--hue) 90% 70% / .3),0 0 18px hsl(var(--hue) 90% 60% / .35)}.lv .dot{position:absolute;bottom:6px;left:50%;width:8px;height:8px;border-radius:50%;transform:translate(-50%)}.m-bronze .dot{background:#cd8a55}.m-prata .dot{background:#c9d2e3}.m-ouro .dot{background:var(--gold)}.m-diamante .dot{background:#7ff3ff;box-shadow:0 0 8px #7ff3ff}.m-diamante{border-color:#7ff3ff66}.sheet-bg,.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#040610a8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;animation:fade .2s}.overlay{align-items:center;padding:16px}@keyframes fade{0%{opacity:0}}.sheet{width:100%;max-width:520px;background:var(--panel-solid);border:1px solid var(--line);border-radius:22px 22px 0 0;padding:22px 18px calc(18px + env(safe-area-inset-bottom));animation:up .25s ease;max-height:88vh;overflow:auto}@keyframes up{0%{transform:translateY(40px);opacity:0}}.panel{width:100%;max-width:420px;background:var(--panel-solid);border:1px solid var(--line);border-radius:22px;padding:24px 20px;text-align:center;animation:pop .3s cubic-bezier(.2,1.4,.4,1);max-height:92vh;overflow:auto}@keyframes pop{0%{transform:scale(.9);opacity:0}}.lv-info,.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:8px;margin:12px 0}.lv-info div,.stats-row div,.stat{background:#ffffff0a;border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;flex-direction:column;align-items:center;text-align:center}.lv-info b,.stats-row b,.stat b{font-family:var(--display);font-size:1.25rem}.lv-info span,.stats-row span,.stat span{font-size:.72rem;color:var(--muted)}.hint-btn{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 14px;margin:6px 0;border-radius:12px;background:#7aa8ff14;border:1px solid var(--line)}.hint-btn .n{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#7aa8ff33;font-weight:700;flex:none}.hint-btn.danger{background:#ffd16614;border-color:#ffd1664d}.medal{display:inline-block;padding:6px 16px;border-radius:99px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;margin-bottom:6px}.medal-bronze{background:#cd8a5533;color:#f0b080}.medal-prata{background:#c9d2e333;color:#e6ecf7}.medal-ouro{background:#ffd16633;color:var(--gold)}.medal-diamante{background:#7ff3ff2a;color:#9ff6ff;box-shadow:0 0 24px #7ff3ff55}.big{font-family:var(--display);font-size:1.8rem;font-weight:700}.best{display:block;font-size:.75rem;color:var(--good);letter-spacing:.1em;text-transform:uppercase}.unlock{margin:8px 0;color:var(--gold);font-weight:600}.ach-pop{margin:6px 0;padding:8px;border-radius:10px;background:#ffd1661a;color:var(--gold);animation:pop .4s}.quick{text-align:left;margin:12px 0;display:grid;gap:8px;font-size:.9rem}.quick label,.settings label{display:grid;gap:4px}.quick label.row,.settings label.row{display:flex}input[type=range]{width:100%;accent-color:var(--accent)}input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}.input{flex:1;min-width:180px;padding:12px;border-radius:10px;background:#ffffff0d;border:1px solid var(--line);color:var(--text);font:inherit;-webkit-user-select:text;user-select:text}.code{display:block;padding:10px;border-radius:10px;background:#ffffff0d;word-break:break-all;font-size:.8rem;-webkit-user-select:all;user-select:all;cursor:copy}.settings{display:grid;gap:14px}.settings .btn{width:auto}.modes{display:grid;gap:10px}.mode{display:flex;gap:14px;align-items:center;text-align:left;padding:16px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);transition:transform .15s}.mode:hover{transform:translateY(-2px);border-color:#7aa8ff66}.mode-ico{width:48px;height:48px;flex:none;border-radius:12px;display:grid;place-items:center;font-size:1.4rem;background:#7aa8ff1f;color:var(--accent);font-weight:700}.mode-name{font-family:var(--display);font-weight:700;font-size:1.05rem}.mode-nightmare .mode-ico{background:#ff5d7326;color:var(--bad)}.mode-daily .mode-ico{background:#ffd16626;color:var(--gold)}.rules{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:6px 16px;margin-bottom:14px;line-height:1.5}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.ach-list{display:grid;gap:8px}.ach{display:flex;gap:12px;align-items:center;padding:12px;border-radius:12px;background:var(--panel);border:1px solid var(--line);opacity:.55}.ach.got{opacity:1;border-color:#ffd16659}.ach-ico{font-size:1.5rem}.loading{display:grid;place-items:center;gap:16px;padding:120px 0;color:var(--muted)}.spinner{width:42px;height:42px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.game{height:100dvh;display:flex;flex-direction:column;max-width:1100px;margin:0 auto;padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.hud{display:flex;align-items:center;gap:10px}.hud-title{flex:1;min-width:0}.hud-title .lvl{font-family:var(--display);font-weight:700;font-size:1.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-title .sub{color:hsl(var(--hue) 70% 78%);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lives{display:flex;gap:4px;font-size:1.45rem}.heart{color:#ff5d84;text-shadow:0 0 12px rgba(255,93,132,.6);transition:transform .3s}.heart.lost{color:#4a5078;text-shadow:none;animation:lose .5s}@keyframes lose{30%{transform:scale(1.5) rotate(-12deg);color:#ff5d84}}.game.danger .heart:not(.lost){animation:beat .9s infinite}@keyframes beat{50%{transform:scale(1.18)}}.inf{color:var(--accent);font-weight:700}.hud2{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 6px}.chip{font-size:.78rem;padding:5px 10px;border-radius:99px;background:var(--panel);border:1px solid var(--line);color:var(--muted);white-space:nowrap}.chip b{color:var(--text);font-variant-numeric:tabular-nums}.chip.mut{border-color:#b18cff66}.chip.mut.soon{color:#ffb3f0;border-color:#ff7ad9;animation:beat .6s infinite}.chip.trip{color:#ffe08a;border-color:#ffd16680;background:#ffd16614}.progress{height:4px;border-radius:9px;background:#ffffff0f;overflow:hidden}.progress div{height:100%;background:linear-gradient(90deg,hsl(var(--hue) 85% 65%),var(--accent2));transition:width .3s}.board-area{flex:1;min-height:0;overflow:auto;display:flex;align-items:safe center;justify-content:safe center;margin:8px 0;border-radius:var(--radius);background:#0a0e228c;border:1px solid var(--line);touch-action:pan-x pan-y}.board-wrap{position:relative;width:100%;height:100%;display:flex;align-items:safe center;justify-content:safe center;padding:6px}.board{display:block;width:auto;flex:none}.board .dot{fill:#96aaff2e}.arrow{cursor:pointer;outline:none}.arrow .hit{fill:none;stroke:transparent;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;pointer-events:stroke}.arrow .shaft{fill:none;stroke:var(--c);stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 1.2px var(--c));pointer-events:none;transition:stroke .2s}.arrow .head{fill:var(--c);pointer-events:none}.arrow .tail{fill:var(--c);opacity:.55;pointer-events:none}.arrow:hover .shaft,.arrow:focus-visible .shaft{stroke-width:3}.arrow:focus-visible .shaft{stroke:#fff}.arrow.leaving{pointer-events:none}.arrow.leaving .shaft{stroke-width:2.6;filter:drop-shadow(0 0 3px var(--c)) drop-shadow(0 0 6px var(--c))}.arrow.shake{animation:shake .42s}@keyframes shake{15%{transform:translate(-1.6px)}30%{transform:translate(1.6px)}45%{transform:translate(-1.2px)}60%{transform:translate(1.2px)}80%{transform:translate(-.6px)}}.arrow.shake .shaft{stroke:var(--bad)}.arrow.shake .head{fill:var(--bad)}.arrow.hl-blocker .shaft{stroke:var(--bad);stroke-width:3.2;filter:drop-shadow(0 0 3px var(--bad))}.arrow.hl-blocker .head{fill:var(--bad)}.arrow.hl-hint .shaft{stroke:var(--gold);stroke-width:3.4;filter:drop-shadow(0 0 4px var(--gold));animation:glow 1s infinite}.arrow.hl-hint .head{fill:var(--gold)}.arrow.hl-chain .shaft{stroke:#9ff6ff;stroke-width:3;stroke-dasharray:2 1.5}.arrow.hl-focus .shaft{stroke:#fff;stroke-width:3.2}@keyframes glow{50%{opacity:.55}}.impact{fill:none;stroke:var(--bad);stroke-width:1;animation:ripple .6s ease-out forwards;pointer-events:none}@keyframes ripple{0%{r:1;opacity:1}to{r:9;opacity:0}}.board.mutating{animation:mutate .7s ease}@keyframes mutate{0%{filter:blur(0);transform:scale(1)}40%{filter:blur(3px) hue-rotate(120deg);transform:scale(.94) rotate(-2deg)}to{filter:none;transform:none}}.arrow.ghost{animation:flicker 1.7s infinite}.arrow.ghost .shaft{stroke-dasharray:3 .6}@keyframes flicker{0%,to{opacity:.85}45%{opacity:.35}50%{opacity:.9}70%{opacity:.5}}.fx-psicodelia .board{animation:psy 4s linear infinite}@keyframes psy{0%{filter:hue-rotate(0deg) saturate(1.6);transform:skew(0)}25%{transform:skew(1.5deg,-1deg)}50%{filter:hue-rotate(180deg) saturate(2);transform:skew(-1.5deg,1deg)}75%{transform:skew(1deg,1.5deg)}to{filter:hue-rotate(360deg) saturate(1.6);transform:none}}.fx-tremor .board{animation:tremor .18s infinite}@keyframes tremor{25%{transform:translate(1.5px,-1px) rotate(.3deg)}50%{transform:translate(-1.5px,1px)}75%{transform:translate(1px,1.5px) rotate(-.3deg)}}.fx-psicodelia.fx-tremor .board{animation:psy 4s linear infinite,tremor .18s infinite}.echo polyline{fill:none;stroke:var(--c);stroke-width:2;opacity:.32;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.echo polygon{fill:var(--c);opacity:.32;pointer-events:none}.fog{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 20% 30%,rgba(7,10,23,.97) 0 14%,transparent 22%),radial-gradient(circle at 70% 60%,rgba(7,10,23,.97) 0 13%,transparent 21%),radial-gradient(circle at 45% 85%,rgba(7,10,23,.95) 0 10%,transparent 18%),radial-gradient(circle at 85% 15%,rgba(7,10,23,.95) 0 9%,transparent 16%);background-size:200% 200%;animation:fogmove 9s ease-in-out infinite alternate}@keyframes fogmove{0%{background-position:0% 0%}to{background-position:100% 100%}}.reduced .board,.reduced .fog{animation:none!important}.toast-msg{min-height:2.6em;font-size:.85rem;padding:6px 12px;border-radius:12px;text-align:center;color:var(--muted);opacity:0;transition:opacity .25s;display:flex;align-items:center;justify-content:center}.toast-msg.on{opacity:1}.toast-msg.bad{color:#ffb3bd}.toast-msg.trip{color:#ffe08a}.toast-msg.good{color:var(--good)}.controls{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ctl{display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 4px;border-radius:14px;background:var(--panel);border:1px solid var(--line);font-size:1.15rem;font-weight:700;min-height:54px}.ctl span{font-size:.68rem;font-weight:500;color:var(--muted)}.ctl.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#0a0e1f;border:0}.ctl.primary span{color:#1a2050}@media (min-width: 900px){.game{padding:18px 24px}}@media (prefers-reduced-motion: reduce){.page,.home,.logo.big .logo-mark{animation:none}}
