@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800;900&family=Space+Mono:wght@400;700&display=swap");

:root {
  --bg: #050816;
  --panel: rgba(12, 18, 48, 0.82);
  --cyan: #4dfcff;
  --blue: #5278ff;
  --violet: #9e5cff;
  --pink: #ff3cac;
  --white: #f7f8ff;
  --muted: #8b96bd;
  --line: rgba(111, 153, 255, 0.2);
  --danger: #ff4068;
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html { background: var(--bg); min-height: 100%; }
body {
  margin: 0; min-height: 100dvh; color: var(--white); overflow-x: hidden;
  font-family: Inter, system-ui, sans-serif; background:
    radial-gradient(circle at 50% -5%, rgba(62, 102, 255, .25), transparent 34%),
    radial-gradient(circle at 92% 75%, rgba(158, 92, 255, .13), transparent 29%), var(--bg);
  overscroll-behavior: none;
}
body::before {
  content: ""; position: fixed; inset: 0; pointer-events: none; opacity: .24;
  background-image: linear-gradient(rgba(86, 133, 255, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(86, 133, 255, .08) 1px, transparent 1px);
  background-size: 42px 42px; mask-image: linear-gradient(to bottom, black, transparent 76%);
}
button { font: inherit; color: inherit; }
.site-en { display: none; }
html[lang="en"] .site-zh { display: none; }
html[lang="en"] .site-en { display: inline; }
.rake-site-header {
  position: relative; z-index: 40; width: min(1120px, calc(100% - 32px)); min-height: 62px;
  margin: 14px auto 0; padding: 9px 12px 9px 10px; display: flex; align-items: center;
  justify-content: space-between; gap: 18px; border: 1px solid rgba(111,153,255,.22);
  border-radius: 18px; background: rgba(8,13,34,.78); box-shadow: 0 16px 42px rgba(0,0,0,.22);
  backdrop-filter: blur(20px);
}
.rake-brand { display: flex; align-items: center; gap: 10px; color: var(--white); text-decoration: none; }
.rake-brand img { width: 40px; height: 40px; padding: 3px; border-radius: 12px; background: #fff; }
.rake-brand strong { font-size: 16px; letter-spacing: -.02em; }
.rake-site-header nav, .rake-site-footer nav { display: flex; align-items: center; gap: 6px; }
.rake-site-header nav a, .rake-site-footer a {
  color: var(--muted); font-size: 13px; font-weight: 800; text-decoration: none;
}
.rake-site-header nav a { padding: 9px 12px; border-radius: 10px; }
.rake-site-header nav a:hover { color: var(--cyan); background: rgba(77,252,255,.07); }
.rake-site-footer {
  position: relative; z-index: 4; width: min(1120px, calc(100% - 32px)); margin: 18px auto 0;
  padding: 24px 4px 34px; display: flex; align-items: center; justify-content: space-between;
  gap: 22px; border-top: 1px solid rgba(111,153,255,.2); color: var(--muted); font-size: 12px;
}
.rake-site-footer > div { display: grid; gap: 5px; }
.rake-site-footer strong { color: var(--white); font-size: 15px; }
.rake-site-footer a:hover { color: var(--cyan); }
.rake-site-footer small { white-space: nowrap; }

/* Keep the shared RakeTools navigation readable above the light game skin. */
.rake-site-header {
  border-color: rgba(125, 111, 255, .55);
  background: linear-gradient(110deg, rgba(12, 16, 38, .97), rgba(31, 30, 66, .96));
  box-shadow: 0 18px 46px rgba(40, 30, 86, .26), inset 0 1px 0 rgba(255, 255, 255, .08);
}
.rake-site-header .rake-brand,
.rake-site-header .rake-brand strong {
  color: #ffffff;
}
.rake-site-header nav a {
  color: #dfe4ff;
  font-size: 14px;
  text-shadow: 0 1px 12px rgba(0, 0, 0, .35);
}
.rake-site-header nav a:hover,
.rake-site-header nav a:focus-visible {
  color: #ffffff;
  background: rgba(123, 97, 255, .28);
  outline: none;
}
#ambient, #fx, #flash { position: fixed; inset: 0; pointer-events: none; }
#ambient { z-index: 0; } #fx { z-index: 30; } #flash { z-index: 29; opacity: 0; }
#flash.show { animation: flash .18s ease-out; }
#flash.light { background: rgba(77, 252, 255, .16); }
#flash.energy { background: rgba(119, 77, 255, .25); }
#flash.error { background: rgba(255, 41, 90, .22); }
#flash.overdrive-flash { background: radial-gradient(circle, rgba(255,255,255,.62), rgba(159,58,255,.38), transparent 72%); }

.app { width: min(100%, 520px); min-height: 100dvh; margin: 0 auto; position: relative; z-index: 2; padding: env(safe-area-inset-top) 22px env(safe-area-inset-bottom); }
.top-hud { height: 68px; display: flex; align-items: center; justify-content: space-between; }
.icon-button { width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 12px; background: rgba(9, 15, 39, .66); color: var(--muted); font-size: 19px; cursor: pointer; }
.icon-button:hover { border-color: var(--cyan); color: var(--cyan); }
.signal { display: flex; align-items: center; gap: 8px; color: #8aa0d5; font: 700 9px Space Mono, monospace; letter-spacing: 1.8px; }
.signal i { width: 6px; height: 6px; border-radius: 50%; background: #4affba; box-shadow: 0 0 12px #4affba; animation: pulse 1.6s infinite; }

.screen { display: none; min-height: calc(100dvh - 68px); padding: 36px 0 26px; animation: screen-in .5s cubic-bezier(.2,.8,.2,1); }
.screen.active { display: flex; flex-direction: column; }
html.stable-switch .screen{animation:none!important}
html.stable-switch{scroll-behavior:auto!important}
.lab-inline{backface-visibility:hidden;transform:translateZ(0);-webkit-tap-highlight-color:transparent}
#labScreen,.experiment-screen{animation:screen-fade .22s ease-out}
.eyebrow { margin: 0 0 14px; color: var(--cyan); font: 700 10px Space Mono, monospace; letter-spacing: 2.2px; }
h1, h2 { margin: 0; font-size: clamp(44px, 13vw, 66px); line-height: .92; letter-spacing: -4px; font-weight: 900; }
h1 em, h2 em { color: transparent; font-style: normal; -webkit-text-stroke: 1.5px var(--cyan); text-shadow: 0 0 28px rgba(77,252,255,.22); }
h2 { font-size: clamp(38px, 11vw, 54px); }

#homeScreen { justify-content: center; padding-bottom: 42px; }
.hero-orbit { width: 146px; height: 146px; position: relative; display: grid; place-items: center; margin: 0 auto 45px; }
.hero-orbit::before, .hero-orbit::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(77,252,255,.32); border-radius: 50%; animation: rotate 9s linear infinite; }
.hero-orbit::before { border-left-color: var(--cyan); border-right-color: var(--violet); box-shadow: 0 0 30px rgba(77,252,255,.12), inset 0 0 30px rgba(77,252,255,.08); }
.hero-orbit::after { inset: 17px; border-style: dashed; animation-direction: reverse; animation-duration: 13s; }
.hero-orbit span { font-size: 64px; filter: drop-shadow(0 0 20px rgba(77,252,255,.6)); animation: float 3s ease-in-out infinite; }
.hero-orbit i { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 13px var(--cyan); }
.hero-orbit i:nth-child(1) { top: -3px; left: 69px; }.hero-orbit i:nth-child(2) { right: 7px; bottom: 29px; background: var(--pink); }.hero-orbit i:nth-child(3) { left: 5px; bottom: 34px; }
.hero-copy { margin: 20px 0 34px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.primary-button, .secondary-button { border: 0; min-height: 62px; border-radius: 16px; cursor: pointer; font-weight: 900; letter-spacing: 1.4px; }
.primary-button { display: flex; align-items: center; justify-content: space-between; padding: 0 20px 0 25px; color: #050816; background: linear-gradient(100deg, var(--cyan), #79a7ff); box-shadow: 0 12px 34px rgba(77,252,255,.2); }
.primary-button b { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: rgba(5,8,22,.12); font-size: 20px; }
.primary-button:active, .level-card:active { transform: scale(.98); }
.best-strip { margin-top: 18px; border: 1px solid var(--line); border-radius: 12px; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; background: rgba(9,15,39,.5); }
.best-strip span { color: var(--muted); font: 700 9px Space Mono; letter-spacing: 1.2px; }.best-strip strong { color: var(--cyan); font-size: 12px; }
.disclaimer, .micro-copy { color: #586386; text-align: center; font: 400 8px Space Mono; letter-spacing: .7px; margin: 20px 0 0; }

#levelScreen { padding-top: 60px; }
.level-list { display: grid; gap: 12px; margin-top: 34px; }
.level-card { display: grid; grid-template-columns: 52px 1fr auto; gap: 13px; align-items: center; min-height: 102px; padding: 15px; text-align: left; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(120deg, rgba(16,25,61,.9), rgba(7,11,30,.86)); cursor: pointer; transition: .2s; }
.level-card:hover { border-color: rgba(77,252,255,.7); box-shadow: 0 0 25px rgba(77,252,255,.08); }
.level-index { display: grid; place-items: center; height: 52px; border-radius: 13px; color: var(--cyan); border: 1px solid rgba(77,252,255,.3); background: rgba(77,252,255,.06); font: 700 17px Space Mono; }
.level-info small, .level-info em { display: block; font-style: normal; }.level-info small { color: var(--cyan); font: 700 8px Space Mono; letter-spacing: 1.2px; margin-bottom: 5px; }.level-info strong { display: block; font-size: 17px; }.level-info em { color: var(--muted); font-size: 10px; margin-top: 6px; }
.level-record { align-self: stretch; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-end; color: var(--muted); font: 700 9px Space Mono; }.level-record b { color: var(--white); font-size: 19px; }

.game-screen { padding-top: 20px; }
.game-status { display: grid; grid-template-columns: 1fr 1.2fr .7fr; align-items: end; padding: 15px 2px; border-bottom: 1px solid var(--line); }
.game-status > div:nth-child(2) { text-align: center; }.game-status > div:last-child { text-align: right; }
.game-status small { display: block; color: var(--muted); font: 700 8px Space Mono; letter-spacing: 1.2px; margin-bottom: 7px; }
.game-status strong { font: 700 13px Space Mono; }.timer-wrap strong { color: var(--cyan); font-size: 18px; }.target-wrap strong { font-size: 22px; }
.progress-track { height: 3px; background: rgba(92,117,184,.13); }.progress-track i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--blue), var(--cyan)); box-shadow: 0 0 10px var(--cyan); transition: width .2s; }
.combo-zone { height: 90px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.combo-zone span { color: var(--muted); font: 700 10px Space Mono; letter-spacing: 1.6px; }.combo-zone strong { margin-top: 5px; color: var(--cyan); font: 900 22px Inter; text-shadow: 0 0 20px rgba(77,252,255,.6); animation: combo-pop .25s; }
.number-grid { display: grid; grid-template-columns: repeat(var(--grid-size), 1fr); gap: clamp(8px, 2.6vw, 13px); width: 100%; aspect-ratio: 1; position: relative; }
.number-tile { position: relative; overflow: hidden; border: 1px solid rgba(100,137,225,.28); border-radius: 18px; background: linear-gradient(145deg, rgba(21,32,75,.94), rgba(8,13,35,.94)); box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 9px 20px rgba(0,0,0,.16); cursor: pointer; transition: transform .25s, opacity .25s, border-color .2s; }
.number-tile::before { content: ""; position: absolute; width: 48%; height: 1px; top: 10px; left: 12px; background: linear-gradient(90deg, var(--cyan), transparent); opacity: .4; }
.number-tile span { position: relative; z-index: 2; color: #eef5ff; font: 800 clamp(20px, 7vw, 34px) Space Mono; text-shadow: 0 0 16px rgba(77,252,255,.25); }
.number-tile i { position: absolute; inset: 15%; border: 1px solid rgba(77,252,255,.06); border-radius: 50%; }
.number-tile:hover { border-color: var(--cyan); transform: translateY(-2px); }.number-tile:active { transform: scale(.92); }
.number-tile.cleared { animation: tile-clear .43s forwards; pointer-events: none; }
.number-tile.wrong { animation: wrong .35s; border-color: var(--danger); background: rgba(255,35,79,.22); }
.number-tile.swapping { transform: scale(.82); opacity: .35; }
.game-hint { margin: 24px 0 0; text-align: center; color: #6876a2; font: 700 9px Space Mono; letter-spacing: 1.2px; }
.dynamic-active .number-tile:not(.cleared) { animation: drift 3.4s ease-in-out infinite alternate; }
.dynamic-active .number-tile:nth-child(2n) { animation-delay: -.8s; }.dynamic-active .number-tile:nth-child(3n) { animation-delay: -1.7s; }
.overdrive { background-color: #0c0523; }.overdrive::after { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 1; background: radial-gradient(circle at 50% 50%, rgba(158,92,255,.22), transparent 54%); animation: energy 1s infinite alternate; }
.overdrive .combo-zone strong, .overdrive .combo-zone span { color: #ff70d1; text-shadow: 0 0 24px #ff3cac; }

.result-screen { align-items: center; justify-content: center; text-align: center; overflow: hidden; }
.scan-line { position: absolute; left: 0; right: 0; top: 15%; height: 2px; background: linear-gradient(90deg, transparent, var(--cyan), transparent); box-shadow: 0 0 17px var(--cyan); animation: scan 2s ease-in-out; }
.result-screen h2 { font-size: 27px; letter-spacing: -1.7px; }
.age-result { margin: 32px 0 20px; display: flex; flex-direction: column; align-items: center; }
.age-result strong { font-size: clamp(120px, 37vw, 184px); line-height: .78; letter-spacing: -12px; background: linear-gradient(180deg, #fff 15%, var(--cyan)); background-clip: text; color: transparent; filter: drop-shadow(0 0 26px rgba(77,252,255,.35)); }
.age-result strong.reveal { animation: age-reveal 1.35s cubic-bezier(.15,.8,.2,1); }.age-result span { margin-top: 22px; color: var(--muted); font: 700 11px Space Mono; letter-spacing: 3px; }
.rank-label { padding: 8px 14px; border: 1px solid rgba(77,252,255,.35); border-radius: 100px; color: var(--cyan); font: 700 10px Space Mono; letter-spacing: 1.5px; }
.percentile { color: #afb9db; font-size: 12px; margin: 14px 0 24px; }
.result-stats { width: 100%; display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); border-radius: 14px; background: rgba(9,15,39,.62); }
.result-stats div { padding: 13px; }.result-stats div + div { border-left: 1px solid var(--line); }.result-stats small { display: block; color: var(--muted); font: 700 8px Space Mono; letter-spacing: 1px; margin-bottom: 5px; }.result-stats strong { font: 700 13px Space Mono; }
.result-actions { display: grid; grid-template-columns: 1fr 1.45fr; gap: 10px; width: 100%; margin-top: 14px; }.result-actions .compact { min-height: 56px; }.secondary-button { border: 1px solid var(--line); background: rgba(9,15,39,.7); }
.share-button { border: 0; background: transparent; color: var(--muted); font: 700 9px Space Mono; letter-spacing: 1.3px; padding: 18px; cursor: pointer; }
.result-screen.analyzing .result-actions, .result-screen.analyzing .share-button { opacity: .25; pointer-events: none; }
.result-screen.analyzing .age-result strong { animation: calculating .12s steps(2) infinite; }
.toast { position: fixed; z-index: 50; left: 50%; bottom: max(24px, env(safe-area-inset-bottom)); transform: translate(-50%, 20px); opacity: 0; pointer-events: none; padding: 10px 15px; border: 1px solid var(--cyan); border-radius: 9px; color: var(--cyan); background: #091128; font: 700 10px Space Mono; transition: .25s; }.toast.show { opacity: 1; transform: translate(-50%, 0); }

@keyframes screen-in { from { opacity: 0; transform: translateY(16px); } }
@keyframes screen-fade { from { opacity: 0; } }
@keyframes rotate { to { transform: rotate(360deg); } }
@keyframes float { 50% { transform: translateY(-8px) scale(1.03); } }
@keyframes pulse { 50% { opacity: .3; } }
@keyframes flash { from { opacity: 1; } to { opacity: 0; } }
@keyframes combo-pop { 50% { transform: scale(1.22); } }
@keyframes tile-clear { 35% { transform: scale(.72); border-color: var(--cyan); box-shadow: 0 0 35px var(--cyan); } 100% { transform: scale(.15); opacity: 0; } }
@keyframes wrong { 25%,75% { transform: translateX(-7px); } 50% { transform: translateX(7px); } }
@keyframes drift { from { transform: translate(-2px,-3px) rotate(-.7deg); } to { transform: translate(3px,3px) rotate(.7deg); } }
@keyframes energy { to { opacity: .35; transform: scale(1.12); } }
@keyframes scan { from { top: 12%; opacity: 0; } 25% { opacity: 1; } to { top: 88%; opacity: 0; } }
@keyframes age-reveal { 0% { opacity: 0; transform: scale(.5); filter: blur(12px); } 60% { transform: scale(1.12); } 100% { opacity: 1; transform: scale(1); } }
@keyframes calculating { 50% { transform: translateY(-5px); opacity: .55; } }
@keyframes shake-light { 20% { transform: translateX(-3px); } 40% { transform: translateX(3px); } 60% { transform: translateX(-2px); } }
@keyframes shake-hard { 15% { transform: translate(-7px,4px); } 30% { transform: translate(6px,-4px); } 45% { transform: translate(-5px,-3px); } 60% { transform: translate(4px,3px); } }
.shake-light { animation: shake-light .3s; }.shake-hard { animation: shake-hard .4s; }

@media (max-height: 720px) {
  .screen { padding-top: 16px; }.hero-orbit { width: 112px; height: 112px; margin-bottom: 26px; }.hero-orbit span { font-size: 50px; }
  #homeScreen { justify-content: flex-start; }.combo-zone { height: 64px; }.game-hint { margin-top: 14px; }
  .age-result { margin: 25px 0 14px; }.age-result strong { font-size: 112px; }.percentile { margin-bottom: 15px; }
}
@media (min-width: 700px) {
  .app { padding-left: 28px; padding-right: 28px; }.screen { padding-top: 55px; }.game-screen { padding-top: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}

/* V1.1 neural feedback layer */
.signal b { margin-left: 4px; padding: 3px 5px; border: 1px solid rgba(255,60,172,.45); border-radius: 4px; color: #ff72ca; font-size: 7px; }
.combo-display { position: fixed; z-index: 42; top: max(65px, calc(env(safe-area-inset-top) + 56px)); left: 50%; width: 250px; transform: translate(-50%,-16px) scale(.76); opacity: 0; pointer-events: none; text-align: center; filter: drop-shadow(0 0 18px rgba(77,252,255,.6)); transition: opacity .16s, transform .16s; }
.combo-display.active { opacity: 1; transform: translate(-50%,0) scale(1); }
.combo-display.pop { animation: combo-slam .24s cubic-bezier(.1,.9,.2,1.4); }
.combo-display strong { display: block; color: white; font: 900 64px/.75 Inter; letter-spacing: -6px; -webkit-text-stroke: 1px rgba(77,252,255,.7); }
.combo-display span { display: block; margin-top: 12px; color: var(--cyan); font: 900 10px Space Mono; letter-spacing: 2px; }
.perfect-state .combo-display strong { color: #fff2c9; -webkit-text-stroke-color: #ff9e45; text-shadow: 0 0 30px #ff7648; }
.perfect-state .combo-display span { color: #ffb15f; }.overdrive .combo-display { filter: drop-shadow(0 0 26px #bd55ff); }.overdrive .combo-display strong { color: white; -webkit-text-stroke-color: #d264ff; text-shadow: 0 0 35px #9e5cff; }.overdrive .combo-display span { color: #f176ff; }
.state-callout { position: fixed; z-index: 48; left: 50%; top: 43%; width: min(90vw,520px); transform: translate(-50%,-50%) scale(.7); opacity: 0; pointer-events: none; text-align: center; font: 900 clamp(25px,8vw,44px)/1 Inter; letter-spacing: -1.5px; color: white; text-shadow: 0 0 30px var(--cyan); }
.state-callout.active { animation: state-callout 1s cubic-bezier(.12,.8,.2,1); }.state-callout.overdrive { color: #f2d4ff; text-shadow: 0 0 12px #fff,0 0 45px #b34dff; }.state-callout.error { color: #ff6684; text-shadow: 0 0 25px #ff1e54; font-size: 24px; }

.neural-core { position: relative; display: grid; place-items: center; flex: none; isolation: isolate; }
.home-core { width: 158px; height: 158px; margin: 0 auto 34px; }.mini-core { width: 82px; height: 82px; }
.core-rings, .core-rings i { position: absolute; inset: 0; border-radius: 50%; }
.core-rings { border: 1px solid rgba(77,252,255,.12); box-shadow: 0 0 28px rgba(77,252,255,.09); }
.core-rings i { border: 1px solid rgba(77,252,255,.25); border-left-color: var(--cyan); border-right-color: transparent; animation: rotate 8s linear infinite; }
.core-rings i:nth-child(2) { inset: 11%; border-style: dashed; border-color: rgba(158,92,255,.4); animation-duration: 12s; animation-direction: reverse; }.core-rings i:nth-child(3) { inset: 23%; border-color: rgba(77,252,255,.18); animation-duration: 5s; }
.brain-shape { position: relative; width: 62%; height: 54%; filter: drop-shadow(0 0 12px rgba(77,252,255,.45)); }
.brain-shape::before { content:""; position:absolute; inset: 0; border-radius: 44% 48% 42% 45%; border: 1px solid rgba(145,235,255,.5); background: radial-gradient(circle at 42% 35%,rgba(221,250,255,.26),transparent 10%),linear-gradient(120deg,rgba(77,252,255,.14),rgba(122,70,255,.18)); box-shadow: inset 0 0 18px rgba(77,252,255,.18); }
.brain-shape::after { content:""; position:absolute; top: 6%; bottom: 6%; left:50%; width:1px; background:linear-gradient(transparent,var(--cyan),transparent); box-shadow:0 0 8px var(--cyan); }
.brain-shape span { position:absolute; z-index:2; width:31%; height:29%; border:1px solid rgba(77,252,255,.42); border-radius:50%; box-shadow:inset 0 0 8px rgba(77,252,255,.17); }
.brain-shape span:nth-child(1){left:8%;top:9%}.brain-shape span:nth-child(2){left:29%;top:31%}.brain-shape span:nth-child(3){left:9%;bottom:8%}.brain-shape span:nth-child(4){right:8%;top:9%}.brain-shape span:nth-child(5){right:29%;top:31%}.brain-shape span:nth-child(6){right:9%;bottom:8%}
.brain-shape b { position:absolute; z-index:3; width:4px; height:4px; border-radius:50%; background:var(--cyan); box-shadow:0 0 8px var(--cyan); animation: neural-node 1.7s infinite alternate; }
.brain-shape b:nth-of-type(1){left:22%;top:24%}.brain-shape b:nth-of-type(2){left:38%;bottom:18%;animation-delay:-.5s}.brain-shape b:nth-of-type(3){right:23%;top:22%;animation-delay:-1s}.brain-shape b:nth-of-type(4){right:34%;bottom:21%;animation-delay:-1.4s}.brain-shape b:nth-of-type(5){left:49%;top:46%;animation-delay:-.8s}
.core-scan { position:absolute; z-index:5; left:20%; right:20%; height:1px; top:28%; background:linear-gradient(90deg,transparent,#fff,transparent); box-shadow:0 0 10px var(--cyan); animation: core-scan 2.5s ease-in-out infinite; }
.neural-core > small { position:absolute; bottom:-16px; color:var(--cyan); font:700 7px Space Mono; letter-spacing:2px; white-space:nowrap; }
.mini-core[data-stage="1"] .brain-shape,.mini-core[data-stage="2"] .brain-shape { filter:drop-shadow(0 0 17px rgba(77,252,255,.8)); }.mini-core[data-stage="2"] .core-rings i { animation-duration:2.6s; }.mini-core[data-stage="3"] { filter:drop-shadow(0 0 18px #ff8a53); }.mini-core[data-stage="3"] .brain-shape b { width:6px;height:6px;background:#fff; }.mini-core[data-stage="4"] { filter:drop-shadow(0 0 28px #b44dff); transform:scale(1.08); }.mini-core[data-stage="4"] .brain-shape { filter:drop-shadow(0 0 22px #bd62ff); }.mini-core[data-stage="4"] .core-rings i { animation-duration:.8s; border-color:#d46dff transparent #4dfcff #4dfcff; }
.neural-core.absorbing .brain-shape { animation: core-absorb .38s; }.neural-core.perfect-burst { animation: core-perfect .65s; }.neural-core.core-overdrive .brain-shape { animation: core-overdrive .45s infinite alternate; }

.lab-link { min-height:58px; margin-top:12px; padding:0 15px; display:grid; grid-template-columns:1fr auto; align-items:center; text-align:left; border:1px solid rgba(158,92,255,.34); border-radius:14px; background:linear-gradient(110deg,rgba(89,52,170,.18),rgba(8,13,35,.7)); cursor:pointer; }.lab-link span { font:800 11px Space Mono; letter-spacing:1px; }.lab-link small { grid-column:1; color:#877fae; font:700 7px Space Mono; margin-top:-16px; }.lab-link b { grid-column:2;grid-row:1/3;color:#c574ff;font-size:25px; }
.dev-chip { display:inline-block; margin-left:7px; padding:3px 5px; border:1px solid rgba(255,60,172,.4); border-radius:4px; color:#ff72ca; font-size:7px; vertical-align:1px; }.sequence-line { display:flex;gap:7px;margin:25px 4px 8px; }.sequence-line i { height:2px;flex:1;background:linear-gradient(90deg,var(--cyan),rgba(77,252,255,.1));box-shadow:0 0 7px rgba(77,252,255,.4); }.level-card.locked { opacity:.38; filter:grayscale(.7); cursor:not-allowed; }.level-card.complete { border-color:rgba(77,255,183,.36); }.lab-inline { width:100%;min-height:76px;margin:24px 0 0;border:1px solid rgba(123,97,255,.28);border-radius:22px;background:linear-gradient(135deg,#8d73ff,#c9b6ff);color:#fff;font:900 18px Inter,system-ui,sans-serif;letter-spacing:2px;cursor:pointer;padding:20px 22px;box-shadow:0 18px 38px rgba(123,97,255,.22),inset 0 1px 0 rgba(255,255,255,.34); }

.game-core-row { height:94px; display:flex; align-items:center; justify-content:center; gap:17px; }
.flow-meter { width:128px; }.flow-meter small { display:block;color:var(--muted);font:700 7px Space Mono;letter-spacing:1px; }.flow-meter strong { display:block;margin:5px 0 8px;color:var(--cyan);font:800 10px Space Mono; }.flow-meter > i { display:block;height:3px;background:rgba(77,252,255,.1); }.flow-meter > i b { display:block;width:0;height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan),var(--pink));box-shadow:0 0 8px var(--cyan);transition:width .2s; }
.number-tile.hit { z-index:3; pointer-events:none; animation: tile-impact .33s cubic-bezier(.1,.8,.2,1); border-color:var(--cyan); box-shadow:0 0 30px rgba(77,252,255,.7),inset 0 0 20px rgba(77,252,255,.25); }.number-tile.hit:not(.cleared) span { transform:scale(1.2); }.number-tile span { display:inline-block;transition:transform .15s; }.number-tile.cleared { animation:tile-clear .32s forwards; }
.impact-ring { position:fixed;z-index:34;width:20px;height:20px;margin:-10px;border:2px solid var(--cyan);border-radius:50%;pointer-events:none;box-shadow:0 0 15px var(--cyan);animation:impact-ring .62s ease-out forwards; }.impact-ring.large { border-color:#d264ff;box-shadow:0 0 24px #b44dff;animation-duration:.8s; }
.time-freeze * { animation-play-state:paused!important; }.time-freeze #ambient,.time-freeze #fx { filter:contrast(1.8) saturate(.4); }.time-freeze .app { transform:scale(.992); }

.lab-intro { margin:18px 0 28px;color:var(--muted);font-size:12px;line-height:1.6;max-width:350px; }.experiment-list { display:grid;gap:12px; }.experiment-card { min-height:112px;display:grid;grid-template-columns:48px 1fr auto;gap:13px;align-items:center;text-align:left;padding:16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(120deg,rgba(16,25,61,.92),rgba(7,11,30,.92));cursor:pointer;overflow:hidden;position:relative; }.experiment-card::after { content:"";position:absolute;right:-30px;top:-50px;width:120px;height:120px;border:1px solid rgba(158,92,255,.22);border-radius:50%; }.experiment-card>span { display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(158,92,255,.45);border-radius:50%;color:#c77aff;font:700 13px Space Mono; }.experiment-card small,.experiment-card em { display:block;font-style:normal; }.experiment-card small { color:#a968ed;font:700 7px Space Mono;letter-spacing:1px;margin-bottom:6px; }.experiment-card strong { font-size:17px; }.experiment-card em { color:var(--muted);font-size:9px;margin-top:6px; }.experiment-card>b { color:var(--cyan);font-size:19px;z-index:2; }.experiment-card:hover { border-color:#9e5cff;transform:translateY(-2px); }

.experiment-screen { padding-top:18px; }.experiment-hud { display:flex;justify-content:space-between;align-items:end;padding:14px 2px;border-bottom:1px solid var(--line); }.experiment-hud div:last-child{text-align:right}.experiment-hud small{display:block;color:var(--muted);font:700 7px Space Mono;letter-spacing:1px;margin-bottom:6px}.experiment-hud strong{font:800 13px Space Mono}.experiment-hud div:last-child strong{color:var(--cyan);font-size:22px}.experiment-field { position:relative;height:min(62vh,510px);min-height:410px;margin:15px 0;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:radial-gradient(circle,rgba(51,73,147,.21),rgba(5,8,22,.8) 62%);box-shadow:inset 0 0 50px rgba(77,252,255,.04);touch-action:none; }.experiment-field::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(rgba(77,252,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(77,252,255,.035) 1px,transparent 1px);background-size:28px 28px}.experiment-footer{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font:700 8px Space Mono;letter-spacing:1px}.experiment-footer button{border:1px solid var(--line);border-radius:8px;background:rgba(9,15,39,.7);padding:9px 12px;color:var(--muted);font:700 8px Space Mono;cursor:pointer}.experiment-node{width:58px;height:58px;padding:0;border:2px solid rgba(77,252,255,.58);border-radius:50%;background:rgba(10,22,52,.96);color:#fff;box-shadow:0 0 18px rgba(77,252,255,.22),inset 0 0 14px rgba(77,252,255,.12);font:900 19px Space Mono;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none}.experiment-node span{pointer-events:none}.experiment-node.hit{pointer-events:none;animation:experiment-hit .34s;box-shadow:0 0 30px var(--cyan);}.experiment-node.cleared{opacity:0;transform:scale(.1);transition:.25s}
.orbit-core{position:absolute;z-index:2;left:50%;top:50%;width:74px;height:74px;transform:translate(-50%,-50%);display:grid;place-items:center;border:1px solid var(--cyan);border-radius:50%;color:var(--cyan);background:#0a1734;box-shadow:0 0 30px rgba(77,252,255,.35);font:700 9px Space Mono;pointer-events:none}.orbit-ring{position:absolute;z-index:3;left:50%;top:50%;border:1px solid rgba(77,252,255,.2);border-radius:50%;animation:orbit-spin 15s linear infinite;pointer-events:none}.orbit-ring .experiment-node{position:absolute;z-index:4;left:50%;top:50%;margin:-29px;transform:rotate(var(--node-angle)) translateX(var(--radius)) rotate(calc(0deg - var(--node-angle)));pointer-events:auto}.ring-1{width:150px;height:150px;margin:-75px;--radius:75px;animation-duration:10s}.ring-2{width:250px;height:250px;margin:-125px;--radius:125px;animation-duration:16s;animation-direction:reverse}.ring-3{width:350px;height:350px;margin:-175px;--radius:175px;animation-duration:22s}
.flow-field{display:flex;flex-direction:column;justify-content:space-around;padding:28px 0}.flow-lane{position:relative;height:96px;border-top:1px solid rgba(77,252,255,.13);border-bottom:1px solid rgba(77,252,255,.13);background:rgba(22,39,82,.14);overflow:hidden}.flow-lane>i{position:absolute;left:18px;right:18px;top:50%;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:.25}.flow-lane>div{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);animation:none}
.gravity-node{position:absolute;left:0;top:0;z-index:2;animation:none}

@keyframes combo-slam{0%{transform:translate(-50%,-10px) scale(.6)}65%{transform:translate(-50%,2px) scale(1.16)}100%{transform:translate(-50%,0) scale(1)}}
@keyframes state-callout{0%{opacity:0;transform:translate(-50%,-50%) scale(.45);filter:blur(8px)}20%,72%{opacity:1;transform:translate(-50%,-50%) scale(1);filter:blur(0)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.18)}}
@keyframes core-scan{0%,100%{top:25%;opacity:0}18%{opacity:1}70%{top:74%;opacity:.75}}
@keyframes neural-node{to{opacity:.25;transform:scale(.5)}}@keyframes core-absorb{45%{transform:scale(1.24);filter:brightness(2)}}
@keyframes core-perfect{35%{transform:scale(1.35);filter:brightness(2.4)}100%{transform:scale(1)}}@keyframes core-overdrive{to{transform:scale(1.13);filter:brightness(1.8)}}
@keyframes tile-impact{50%{transform:scale(1.2)}}@keyframes impact-ring{to{width:150px;height:150px;margin:-75px;opacity:0;border-width:1px}}
@keyframes experiment-hit{50%{transform:scale(1.3);background:#4dfcff;color:#050816}}
@keyframes orbit-spin{to{transform:rotate(360deg)}}@keyframes lane-move{from{transform:translateX(-62%)}to{transform:translateX(-38%)}}
@keyframes gravity-float{to{transform:translate(13px,-10px) rotate(5deg)}}@keyframes gravity-float-b{to{transform:translate(-13px,10px) rotate(-5deg)}}

@media(max-height:740px){.home-core{width:112px;height:112px;margin-bottom:22px}.lab-link{min-height:50px}.game-core-row{height:72px}.mini-core{width:64px;height:64px}.experiment-field{min-height:360px;height:56vh}.ring-3{width:310px;height:310px;margin:-155px;--radius:155px}}
@media(max-width:420px){.ring-1{width:104px;height:104px;margin:-52px;--radius:52px}.ring-2{width:200px;height:200px;margin:-100px;--radius:100px}.ring-3{width:290px;height:290px;margin:-145px;--radius:145px}.experiment-node{width:54px;height:54px;font-size:18px}.orbit-ring .experiment-node{margin:-27px}}

/* V1.2 series, language and organic boards */
.hud-actions{display:flex;align-items:center;gap:7px}.language-button{height:38px;min-width:54px;padding:0 12px;border:1px solid rgba(158,92,255,.32);border-radius:14px;background:rgba(9,15,39,.66);color:#c98aff;font:900 12px Space Mono;letter-spacing:.6px;cursor:pointer;white-space:nowrap}.language-button:hover{border-color:#c366ff;color:white}
#levelScreen{padding-top:42px}.level-list{display:block;margin-top:24px}.series-block{margin-bottom:22px}.series-block>header{display:grid;grid-template-columns:58px 1fr auto;gap:11px;align-items:center;margin-bottom:9px;padding:0 4px}.series-block>header>span{color:var(--cyan);font:700 8px Space Mono;letter-spacing:1px}.series-block>header div strong{display:block;font-size:14px}.series-block>header div small{display:block;margin-top:3px;color:var(--muted);font:700 7px Space Mono;letter-spacing:.8px}.series-block>header>b{color:var(--muted);font:700 9px Space Mono}.series-2>header>span{color:#c46dff}.series-levels{display:grid;gap:7px}.series-levels .level-card{min-height:78px;padding:10px 12px;border-radius:14px;grid-template-columns:44px 1fr auto}.series-levels .level-index{height:44px;border-radius:11px;font-size:13px}.series-levels .level-info small{font-size:7px;margin-bottom:4px}.series-levels .level-info strong{font-size:14px}.series-levels .level-info em{font-size:7px;margin-top:4px;white-space:normal;line-height:1.35}.series-levels .level-record{justify-content:center;gap:7px;font-size:7px}.series-levels .level-record b{font-size:14px}.series-2 .level-card{background:linear-gradient(120deg,rgba(40,21,78,.88),rgba(7,11,30,.9));border-color:rgba(158,92,255,.22)}.series-2 .level-index{color:#cd77ff;border-color:rgba(158,92,255,.35);background:rgba(158,92,255,.08)}
.best-pill{display:inline-flex;align-items:center;margin-left:10px;padding:5px 10px;border:1px solid rgba(77,252,255,.42);border-radius:10px;color:var(--cyan);background:rgba(77,252,255,.1);font:900 12px Space Mono;vertical-align:middle;letter-spacing:.4px;box-shadow:0 0 18px rgba(77,252,255,.12),inset 0 0 10px rgba(77,252,255,.06)}.series-2 .best-pill{border-color:rgba(196,109,255,.44);color:#d78aff;background:rgba(158,92,255,.13);box-shadow:0 0 18px rgba(158,92,255,.14),inset 0 0 10px rgba(158,92,255,.06)}
.future-series{margin:28px 0 4px}.future-series>p{margin:0 0 10px;color:#687399;font:700 8px Space Mono;letter-spacing:1.5px}.future-series>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.future-series span{display:grid;grid-template-columns:30px 1fr auto;align-items:center;min-height:44px;padding:8px 9px;border:1px solid rgba(109,126,181,.14);border-radius:10px;background:rgba(8,13,33,.52);opacity:.62}.future-series b{color:#8b6cbd;font:700 8px Space Mono}.future-series strong{font-size:8px}.future-series em{color:#616a8b;font:700 6px Space Mono;font-style:normal}
.number-grid.size-5{gap:6px}.number-grid.size-6{gap:4px}.number-grid.size-7{gap:3px}.number-grid.size-5 .number-tile{border-radius:13px}.number-grid.size-6 .number-tile,.number-grid.size-7 .number-tile{border-radius:8px}.number-grid.size-5 .number-tile span{font-size:clamp(15px,4.8vw,24px)}.number-grid.size-6 .number-tile span{font-size:clamp(13px,4.1vw,20px)}.number-grid.size-7 .number-tile span{font-size:clamp(11px,3.6vw,17px)}.number-grid.size-6 .number-tile::before,.number-grid.size-7 .number-tile::before{top:5px;left:6px}.organic-grid{gap:3px;padding:3px;border:1px solid rgba(158,92,255,.18);border-radius:20px;background:rgba(7,11,29,.64)}.organic-grid .number-tile{border:1px solid rgba(151,110,255,.42);border-radius:0;background:linear-gradient(145deg,rgba(34,27,77,.97),rgba(10,24,51,.97));box-shadow:inset 0 0 15px rgba(90,76,220,.12)}.organic-grid .number-tile:nth-child(3n){background:linear-gradient(145deg,rgba(15,48,69,.97),rgba(21,19,61,.97))}.organic-grid .number-tile::before{display:none}.organic-grid .shape-0{clip-path:polygon(5% 5%,88% 0,100% 28%,92% 94%,12% 100%,0 68%)}.organic-grid .shape-1{clip-path:polygon(10% 0,92% 8%,100% 76%,72% 100%,0 88%,4% 20%)}.organic-grid .shape-2{clip-path:polygon(0 16%,75% 0,100% 32%,89% 100%,18% 92%,4% 66%)}.organic-grid .shape-3{clip-path:polygon(18% 0,100% 12%,91% 86%,70% 100%,0 82%,5% 25%)}.organic-grid .shape-4{clip-path:polygon(0 6%,88% 0,100% 65%,78% 100%,9% 91%)}.organic-grid .shape-5{clip-path:polygon(12% 0,100% 5%,92% 92%,20% 100%,0 70%,5% 20%)}.organic-grid .shape-6{clip-path:polygon(0 20%,28% 0,92% 7%,100% 76%,72% 100%,8% 90%)}.organic-grid .shape-7{clip-path:polygon(7% 0,78% 5%,100% 30%,90% 100%,15% 92%,0 58%)}.organic-mode .game-core-row{background:radial-gradient(circle,rgba(158,92,255,.1),transparent 65%)}
.result-screen{justify-content:flex-start;padding-top:54px}.result-screen h2{font-size:18px;letter-spacing:1px;color:var(--muted);font-family:Space Mono}.time-result{width:100%;margin:24px 0 20px;padding:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:radial-gradient(circle,rgba(77,252,255,.08),transparent 65%)}.time-result small{display:block;color:var(--muted);font:700 8px Space Mono;letter-spacing:2px}.time-result strong{display:block;margin-top:9px;color:white;font:900 clamp(48px,15vw,70px)/1 Space Mono;letter-spacing:-4px;text-shadow:0 0 26px rgba(77,252,255,.35)}.result-metrics{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px}.result-metrics>div{min-height:150px;padding:18px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:16px;background:rgba(9,15,39,.68)}.result-metrics small{color:var(--cyan);font:700 8px Space Mono;letter-spacing:1.4px}.result-metrics strong{display:block;margin:8px 0 5px;color:white;font:900 54px/1 Inter;text-shadow:0 0 22px rgba(77,252,255,.3)}.result-metrics span{color:var(--muted);font:700 7px Space Mono;letter-spacing:.7px}.result-metrics>div:nth-child(2) small{color:#c66fff}.result-metrics>div:nth-child(2) strong{text-shadow:0 0 22px rgba(158,92,255,.45)}.unlock-notice{width:100%;min-height:44px;margin:12px 0;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid rgba(76,255,183,.22);border-radius:10px;color:#72ffbd;background:rgba(44,167,123,.06);font:700 8px Space Mono;letter-spacing:.8px}.unlock-notice strong{color:#72ffbd}.unlock-notice span{color:#8591b8}.two-actions{grid-template-columns:1fr 1.25fr;margin-top:0}.two-actions .secondary-button{font-size:10px}.three-actions{grid-template-columns:.86fr .86fr 1.35fr;margin-top:14px}.three-actions button{min-height:62px;padding:0 13px;font-size:10px}.three-actions .primary-button{font-size:12px;letter-spacing:1px}.three-actions .primary-button b,.three-actions .secondary-button b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;margin-left:8px;background:rgba(255,255,255,.13);font-size:19px}.three-actions .secondary-button{display:flex;align-items:center;justify-content:center;gap:6px;color:#f7f8ff;font-weight:900;letter-spacing:1.1px}.three-actions .disabled{opacity:.45;filter:grayscale(.4);cursor:not-allowed}.result-screen.analyzing .result-metrics strong{animation:calculating .12s steps(2) infinite}.result-screen.analyzing .result-actions{opacity:.25;pointer-events:none}
@media(max-height:760px){.result-screen{padding-top:24px}.time-result{margin:14px 0;padding:14px}.result-metrics>div{min-height:120px}.result-metrics strong{font-size:44px}.unlock-notice{margin:8px 0}.series-levels .level-card{min-height:70px}}
.result-metrics strong.reveal{animation:age-reveal 1s cubic-bezier(.15,.8,.2,1)}
@media(max-width:430px){.three-actions{grid-template-columns:1fr 1fr}.three-actions .primary-button{grid-column:1/3}.three-actions button{min-height:58px}.best-pill{font-size:11px;padding:4px 8px;margin-left:8px}.series-levels .level-info strong{line-height:1.35}}

/* True Voronoi board for Series 2 */
.organic-grid{display:block!important;position:relative;padding:0!important;gap:0!important;overflow:hidden;border:2px solid #202631!important;border-radius:18px!important;background:#eceae3!important;box-shadow:0 18px 45px rgba(0,0,0,.32),0 0 0 1px rgba(255,255,255,.08)!important}
.voronoi-board{display:block;width:100%;height:100%;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}
.voronoi-board .board-base{fill:#ebe9e1}
.organic-grid .voronoi-cell{border:0!important;background:none!important;box-shadow:none!important;clip-path:none!important}
.voronoi-cell{cursor:pointer;outline:none;transform:none!important;opacity:1;filter:none;transition:none}
.voronoi-cell path{fill:#f3f1e9;stroke:#15191d;stroke-width:9;stroke-linejoin:round;transition:fill .16s,filter .16s}
.voronoi-cell.tone-1 path{fill:#eeece4}.voronoi-cell.tone-2 path{fill:#f7f5ef}.voronoi-cell.tone-3 path{fill:#e9e7df}
.voronoi-cell text{fill:#17191c;font-family:Inter,system-ui,sans-serif;font-weight:900;pointer-events:none;paint-order:stroke;stroke:rgba(255,255,255,.24);stroke-width:1px;transform-box:fill-box;transform-origin:center}
.voronoi-board.cells-9 text{font-size:84px}.voronoi-board.cells-16 text{font-size:68px}.voronoi-board.cells-25 text{font-size:56px}.voronoi-board.cells-36 text{font-size:46px}.voronoi-board.cells-49 text{font-size:40px}
.voronoi-cell.is-target text{fill:#e4474f;filter:drop-shadow(0 0 4px rgba(228,71,79,.2))}
.voronoi-cell.is-target path{fill:#fff5f1}
.voronoi-cell:focus-visible path{filter:brightness(.9);stroke:#e4474f}
.voronoi-cell.hit{animation:none!important;box-shadow:none!important;filter:none!important}
.voronoi-cell.hit path{fill:#bff8f4;filter:brightness(1.08)}
.voronoi-cell.hit text{animation:voronoi-number-burst .32s ease-out forwards}
.voronoi-cell.cleared{animation:none!important;transform:none!important;opacity:1!important;pointer-events:none}
.voronoi-cell.cleared path{fill:#d9d7cf;filter:none;opacity:.72}
.voronoi-cell.cleared text{opacity:0}
.voronoi-cell.wrong{animation:none!important;transform:none!important}.voronoi-cell.wrong path{fill:#ffd9d9;stroke:#d93449}.voronoi-cell.wrong text{fill:#d93449}
@keyframes voronoi-number-burst{0%{transform:scale(1);transform-origin:center;opacity:1}45%{transform:scale(1.28);transform-origin:center}100%{transform:scale(.2);transform-origin:center;opacity:0}}
@media(max-width:420px){.voronoi-cell path{stroke-width:7}.voronoi-board.cells-49 text{font-size:42px}.voronoi-board.cells-36 text{font-size:48px}}

/* V1.4 light lavender product skin */
:root{
  --bg:#f4efff;
  --panel:rgba(255,255,255,.72);
  --cyan:#7b61ff;
  --blue:#9d8cff;
  --violet:#b78cff;
  --pink:#ef4f75;
  --white:#211c2f;
  --muted:#8d84a6;
  --line:rgba(126,100,190,.22);
  --danger:#ef4f75;
  --soft-yellow:#fff3c9;
  --soft-mint:#e9f9ef;
  --soft-blue:#eef6ff;
  --soft-pink:#fff0f2;
}
html{background:#f4efff}
body{
  color:#251f35;
  background:
    linear-gradient(180deg,#efe7ff 0%,#f7f2ff 42%,#eaf7ee 100%);
}
body::before{
  opacity:.32;
  background-image:linear-gradient(rgba(130,106,180,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(130,106,180,.08) 1px,transparent 1px);
  mask-image:linear-gradient(to bottom,black,transparent 82%);
}
#ambient{opacity:.22}
#fx{mix-blend-mode:multiply}
.app{max-width:560px}
.top-hud{color:#6b6188}
.icon-button,.language-button{
  border-color:rgba(126,100,190,.22);
  background:rgba(255,255,255,.54);
  color:#6f6290;
  box-shadow:0 10px 30px rgba(142,121,185,.12);
}
.icon-button:hover,.language-button:hover{border-color:#a989ff;color:#7b61ff;background:#fff}
.signal{color:#8b80a6}.signal i{background:#91d8b8;box-shadow:0 0 12px #91d8b8}.signal b,.dev-chip{border-color:rgba(239,79,117,.28);color:#ef4f75;background:rgba(255,255,255,.5)}
.eyebrow{color:#7b61ff}
h1,h2{color:#251f35;text-shadow:0 2px 0 rgba(255,255,255,.65)}
h1 em,h2 em{color:#7b61ff;-webkit-text-stroke:0;text-shadow:none}
.hero-orbit::before,.hero-orbit::after{border-color:rgba(123,97,255,.22)}
.hero-orbit::before{border-left-color:#7b61ff;border-right-color:#c6b3ff;box-shadow:0 18px 50px rgba(162,136,224,.18),inset 0 0 28px rgba(255,255,255,.52)}
.hero-orbit span{filter:drop-shadow(0 10px 24px rgba(126,100,190,.22))}
.hero-copy,.micro-copy,.disclaimer{color:#817896}
.primary-button{
  color:#fff;
  background:linear-gradient(100deg,#8d73ff,#c49dff);
  box-shadow:0 16px 34px rgba(126,100,190,.24);
}
.secondary-button{
  border-color:rgba(126,100,190,.22);
  background:rgba(255,255,255,.62);
  color:#3a304f;
  box-shadow:0 12px 28px rgba(142,121,185,.1);
}
.best-strip,.result-stats,.result-metrics>div{
  border-color:rgba(126,100,190,.18);
  background:rgba(255,255,255,.66);
  box-shadow:0 16px 38px rgba(142,121,185,.12);
}
.best-strip strong,.timer-wrap strong,.target-wrap strong,.combo-zone strong{color:#7b61ff;text-shadow:none}
.level-card,.series-2 .level-card,.experiment-card{
  border-color:rgba(126,100,190,.18);
  background:linear-gradient(135deg,rgba(255,255,255,.76),rgba(247,242,255,.72));
  box-shadow:0 18px 45px rgba(142,121,185,.14);
}
.level-card:hover,.experiment-card:hover{border-color:rgba(123,97,255,.42);box-shadow:0 20px 45px rgba(142,121,185,.18)}
.level-index,.series-2 .level-index,.experiment-card>span{
  color:#7b61ff;
  border-color:rgba(123,97,255,.28);
  background:rgba(255,255,255,.64);
}
.level-info small,.series-block>header>span,.experiment-card small{color:#7b61ff}
.level-info em,.level-record,.series-block>header>b,.series-block>header div small,.experiment-card em{color:#8d84a6}
.best-pill,.series-2 .best-pill{
  color:#7b61ff;
  border-color:rgba(123,97,255,.32);
  background:#fff;
  box-shadow:0 8px 20px rgba(126,100,190,.12);
}
.sequence-line i{background:linear-gradient(90deg,#b9a5ff,rgba(185,165,255,.18));box-shadow:none}
.lab-link{
  border-color:rgba(126,100,190,.24);
  background:linear-gradient(110deg,rgba(255,255,255,.76),rgba(243,235,255,.76));
  box-shadow:0 16px 36px rgba(142,121,185,.12);
}
.lab-link span{color:#3b3051}.lab-link small{color:#9589ab}.lab-link b{color:#7b61ff}
.lab-inline{
  color:#fff;
  background:linear-gradient(135deg,#8d73ff,#c9b6ff);
  border-color:rgba(123,97,255,.28);
  box-shadow:0 18px 38px rgba(123,97,255,.22),inset 0 1px 0 rgba(255,255,255,.34);
}
.lab-inline:hover{transform:translateY(-2px);box-shadow:0 22px 46px rgba(123,97,255,.27),inset 0 1px 0 rgba(255,255,255,.38)}
.future-series:empty{display:none}
.experiment-level-list{
  display:grid;
  gap:12px;
  margin-top:22px;
}
.experiment-level-card{
  min-height:86px;
  display:grid;
  grid-template-columns:64px 1fr auto;
  align-items:center;
  gap:16px;
  border:1px solid rgba(126,100,190,.2);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(247,242,255,.74));
  color:#251f35;
  box-shadow:0 18px 45px rgba(142,121,185,.14);
  cursor:pointer;
  padding:14px 18px;
  text-align:left;
}
.experiment-level-card span{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border:1px solid rgba(123,97,255,.28);
  border-radius:18px;
  color:#7b61ff;
  background:#fff;
  font:900 20px Verdana,Tahoma,Arial,sans-serif;
}
.experiment-level-card strong{font:900 24px Inter,system-ui,sans-serif}
.experiment-level-card small{display:block;color:#8d84a6;font:800 12px Space Mono;letter-spacing:1px}
.experiment-level-card em{
  display:block;
  margin-top:8px;
  color:#7b61ff;
  font:800 12px Verdana,Tahoma,Arial,sans-serif;
  font-style:normal;
  letter-spacing:.2px;
}
.experiment-level-card b{color:#7b61ff;font:900 14px Inter,system-ui,sans-serif}
.experiment-level-card:hover{border-color:rgba(123,97,255,.42);transform:translateY(-2px)}
.lab-back{width:100%;margin-top:16px}
.game-status,.experiment-hud{border-color:rgba(126,100,190,.2)}
.game-status small,.experiment-hud small,.flow-meter small{color:#8d84a6}
.progress-track{background:rgba(126,100,190,.12)}.progress-track i{background:linear-gradient(90deg,#a88cff,#7b61ff);box-shadow:0 0 14px rgba(123,97,255,.24)}
.game-core-row,.organic-mode .game-core-row{background:radial-gradient(circle,rgba(185,165,255,.18),transparent 68%)}
.game-core-row{height:138px;gap:24px}
.core-rings{border-color:rgba(123,97,255,.16);box-shadow:0 10px 35px rgba(142,121,185,.12)}
.core-rings i{border-color:rgba(123,97,255,.24);border-left-color:#7b61ff}
.brain-shape{filter:drop-shadow(0 8px 14px rgba(126,100,190,.18))}
.brain-shape::before{border-color:rgba(123,97,255,.42);background:linear-gradient(120deg,rgba(255,255,255,.65),rgba(232,222,255,.56))}
.brain-shape::after,.brain-shape b,.core-scan{background:#7b61ff;box-shadow:0 0 8px rgba(123,97,255,.45)}
.flow-meter strong{color:#7b61ff}.flow-meter>i{background:rgba(126,100,190,.12)}.flow-meter>i b{background:linear-gradient(90deg,#91d8b8,#9d8cff,#ef8fa2);box-shadow:none}
.number-tile{
  border-color:rgba(126,100,190,.18);
  background:rgba(255,255,255,.7);
  box-shadow:0 12px 26px rgba(142,121,185,.14),inset 0 1px 0 rgba(255,255,255,.7);
}
.number-tile:nth-child(4n+1){background:var(--soft-yellow)}
.number-tile:nth-child(4n+2){background:var(--soft-mint)}
.number-tile:nth-child(4n+3){background:var(--soft-blue)}
.number-tile:nth-child(4n){background:var(--soft-pink)}
.number-tile span{color:#18151f;text-shadow:0 2px 0 rgba(255,255,255,.7);font-family:Verdana,Tahoma,Arial,sans-serif;font-style:normal;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.number-tile[data-number="6"] span::after,
.number-tile[data-number="9"] span::after,
.flow-node[data-number="6"] span::after,
.flow-node[data-number="9"] span::after,
.gravity-node[data-number="6"] span::after,
.gravity-node[data-number="9"] span::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-.18em;
  width:.18em;
  height:.18em;
  border-radius:50%;
  background:#ef4f75;
  transform:translateX(-50%);
  box-shadow:0 1px 0 rgba(255,255,255,.85);
}
.number-tile[data-number="1"] span,
.flow-node[data-number="1"] span,
.gravity-node[data-number="1"] span{letter-spacing:-.1em}
.number-tile[data-number="7"] span,
.flow-node[data-number="7"] span,
.gravity-node[data-number="7"] span{text-decoration:underline;text-decoration-thickness:.09em;text-underline-offset:.12em}
.number-tile::before,.number-tile i{display:none}
.number-tile.hit{border-color:#8d73ff;box-shadow:0 0 28px rgba(141,115,255,.28),0 12px 28px rgba(142,121,185,.14)}
.number-tile.wrong{border-color:#ef4f75;background:#ffe4e8}
.game-hint{color:#817896}
.game-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:12px;
}
.game-footer .game-hint{margin:0}
#backToLevelButton{
  min-width:128px;
  min-height:44px;
  border:1px solid rgba(126,100,190,.22);
  border-radius:14px;
  background:linear-gradient(135deg,#fff,#f0e8ff);
  color:#7b61ff;
  font:900 12px Inter,system-ui,sans-serif;
  cursor:pointer;
  box-shadow:0 12px 26px rgba(142,121,185,.12);
}
#backToLevelButton:active{transform:scale(.98)}
.organic-grid{
  border-color:#827d84!important;
  background:#f8f4ee!important;
  box-shadow:0 18px 45px rgba(142,121,185,.16),0 0 0 1px rgba(255,255,255,.72)!important;
}
.voronoi-board .board-base{fill:#f8f4ee}
.voronoi-cell path{stroke:#5f6670;fill:#fff8db}
.voronoi-cell.tone-1 path{fill:#eef9ef}.voronoi-cell.tone-2 path{fill:#eef6ff}.voronoi-cell.tone-3 path{fill:#fff0f2}
.voronoi-cell text{fill:#17151e;stroke:rgba(255,255,255,.55)}
.combo-display{filter:drop-shadow(0 12px 24px rgba(126,100,190,.2))}
.combo-display strong{color:#7b61ff;-webkit-text-stroke:0;text-shadow:0 2px 0 rgba(255,255,255,.7);letter-spacing:-3px}
.combo-display span{color:#ef4f75}
.state-callout{color:#7b61ff;text-shadow:0 2px 0 #fff,0 12px 28px rgba(126,100,190,.18)}
.overdrive{background-color:#f4efff}.overdrive::after{background:radial-gradient(circle at 50% 42%,rgba(196,157,255,.22),transparent 58%)}
.result-screen h2{color:#3f3555}
.time-result{
  border-color:rgba(126,100,190,.2);
  background:radial-gradient(circle,rgba(255,255,255,.9),rgba(247,242,255,.4) 68%);
}
.time-result strong,.result-metrics strong{color:#241f31;text-shadow:0 8px 26px rgba(126,100,190,.16)}
.result-metrics small,.result-metrics>div:nth-child(2) small{color:#7b61ff}
.unlock-notice{
  border-color:rgba(145,216,184,.36);
  color:#4b9f7f;
  background:rgba(255,255,255,.58);
}
.unlock-notice strong{color:#4b9f7f}.unlock-notice span{color:#817896}
.share-preview-card{
  width:100%;
  display:grid;
  grid-template-columns:1fr 104px;
  align-items:center;
  gap:16px;
  margin:12px 0 2px;
  padding:16px;
  border:1px solid rgba(123,97,255,.2);
  border-radius:22px;
  background:
    radial-gradient(circle at 14% 18%,rgba(123,97,255,.16),transparent 34%),
    linear-gradient(135deg,rgba(255,255,255,.84),rgba(247,242,255,.7));
  box-shadow:0 18px 42px rgba(142,121,185,.14);
  text-align:left;
}
.share-preview-copy small{
  display:block;
  color:#ef4f75;
  font:900 11px Space Mono,monospace;
  letter-spacing:1.4px;
}
.share-preview-copy strong{
  display:block;
  margin:5px 0 7px;
  color:#241f31;
  font:900 24px Inter,system-ui,sans-serif;
}
.share-preview-copy span{
  color:#7b728c;
  font:800 13px/1.45 Inter,system-ui,sans-serif;
}
.share-preview-card img{
  width:104px;
  height:104px;
  object-fit:cover;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 22px rgba(142,121,185,.14);
}
.three-actions .secondary-button{color:#3a304f}
.toast{border-color:#b9a5ff;color:#6c54d6;background:#fff}
.experiment-screen{padding-top:18px}
.experiment-field{
  border:0;
  border-radius:26px;
  background:linear-gradient(180deg,rgba(255,255,255,.48),rgba(255,255,255,.18));
  box-shadow:none;
}
.experiment-field::before{display:none}
.experiment-footer{color:#817896}
.experiment-footer button{
  border-color:rgba(126,100,190,.2);
  background:rgba(255,255,255,.62);
  color:#6f6290;
}
#exitExperiment{
  min-width:118px;
  border-radius:14px;
  background:linear-gradient(135deg,#fff,#f0e8ff);
  color:#7b61ff;
  font-weight:900;
}
.experiment-hud div:last-child strong{color:#ef4f75}
.orbit-field{
  display:grid;
  place-items:center;
  min-height:500px;
  height:min(64vh,640px);
  margin-top:6px;
}
.orbit-board{
  width:min(100%,520px);
  aspect-ratio:1;
  overflow:visible;
  filter:drop-shadow(0 22px 36px rgba(126,100,190,.13));
  touch-action:none;
  user-select:none;
}
.orbit-board-bg{fill:rgba(255,255,255,.28);stroke:#75847b;stroke-width:3}
.orbit-slice-ring{transform-origin:380px 380px;animation:orbit-spin 34s linear infinite}
.orbit-slice-ring.ring-1{animation-duration:30s;animation-direction:normal}
.orbit-slice-ring.ring-2{animation-duration:38s;animation-direction:reverse}
.orbit-slice-ring.ring-3{animation-duration:46s;animation-direction:normal}
.orbit-slice-ring.ring-4{animation-duration:54s;animation-direction:reverse}
.orbit-slice-ring.ring-5{animation-duration:62s;animation-direction:normal}
.orbit-slice-ring.ring-6{animation-duration:70s;animation-direction:reverse}
.orbit-slice-ring.ring-7{animation-duration:78s;animation-direction:normal}
.orbit-slice{cursor:pointer;outline:none;transform:none!important;filter:none!important}
.orbit-slice path{
  stroke:#75847b;
  stroke-width:2.6;
  stroke-linejoin:miter;
  fill:#fff4c9;
  transition:fill .18s,filter .18s,opacity .18s;
}
.orbit-slice.tone-1 path{fill:#e9f7ef}.orbit-slice.tone-2 path{fill:#eef6ff}.orbit-slice.tone-3 path{fill:#fff0f2}
.orbit-slice text{
  fill:#111015;
  font:900 42px Verdana,Tahoma,Arial,sans-serif;
  font-style:normal;
  font-variant-numeric:tabular-nums;
  letter-spacing:-2px;
  paint-order:stroke;
  stroke:rgba(255,255,255,.8);
  stroke-width:5px;
  pointer-events:none;
}
.orbit-size-3 .orbit-slice text{font-size:58px}
.orbit-size-4 .orbit-slice text{font-size:48px}
.orbit-size-5 .orbit-slice text{font-size:42px}
.orbit-size-6 .orbit-slice text{font-size:34px}
.orbit-size-7 .orbit-slice text{font-size:28px;stroke-width:4px}
.digit-orientation-dot{
  fill:#ef4f75;
  stroke:#fff;
  stroke-width:2;
  pointer-events:none;
}
.orbit-slice[data-number="7"] text{
  text-decoration:underline;
  text-decoration-thickness:4px;
}
.orbit-slice.hit path{fill:#d8ceff;filter:brightness(1.03)}
.orbit-slice.hit text{animation:voronoi-number-burst .32s ease-out forwards}
.orbit-slice.cleared{opacity:.38;pointer-events:none}
.orbit-slice.cleared text{opacity:0}
.orbit-slice.wrong path{fill:#ffdce3;stroke:#ef4f75}.orbit-slice.wrong text{fill:#ef4f75}
.orbit-board-core{fill:#f2eed5;stroke:#75847b;stroke-width:3}
.orbit-core,.orbit-ring{display:none}
.flow-field,.gravity-field{background:rgba(255,255,255,.48)}
.flow-field{
  background:rgba(255,255,255,.48);
  border:1px solid rgba(126,100,190,.12);
  box-shadow:inset 0 0 40px rgba(255,255,255,.42);
}
.flow-field .flow-lane{
  height:30%;
  min-height:92px;
  border-color:rgba(126,100,190,.12);
  background:rgba(255,255,255,.34);
  isolation:isolate;
}
.flow-field .flow-lane::before,
.flow-field .flow-lane::after{
  content:"";
  position:absolute;
  z-index:8;
  top:0;
  bottom:0;
  width:clamp(42px,9%,92px);
  pointer-events:none;
}
.flow-field .flow-lane::before{
  left:0;
  background:linear-gradient(90deg,rgba(250,248,255,.96),rgba(250,248,255,.72) 44%,rgba(250,248,255,0));
}
.flow-field .flow-lane::after{
  right:0;
  background:linear-gradient(270deg,rgba(250,248,255,.96),rgba(250,248,255,.72) 44%,rgba(250,248,255,0));
}
.flow-field.flow-lanes-5{padding:18px 0}
.flow-field.flow-lanes-7{padding:12px 0}
.flow-field.flow-lanes-5 .flow-lane{height:18%;min-height:76px}
.flow-field.flow-lanes-7 .flow-lane{height:13%;min-height:62px}
.flow-field .flow-lane>i{
  background:linear-gradient(90deg,transparent,rgba(126,100,190,.18),transparent);
}
.flow-field .flow-track{
  position:absolute;
  inset:auto 0 auto 0;
  top:50%;
  transform:translate(var(--flow-from,0),-50%);
  animation:flow-number-loop var(--flow-duration,10s) linear infinite;
  will-change:transform;
}
.flow-field .flow-node{
  position:absolute;
  z-index:2;
  top:50%;
  display:grid;
  place-items:center;
  transform:translateY(-50%);
  border:1px solid rgba(42,38,52,.13);
  border-radius:10px;
  background:#fffefb;
  color:#17151d;
  box-shadow:0 9px 18px rgba(45,39,62,.12),0 2px 0 rgba(255,255,255,.9) inset;
  font:900 clamp(24px,5.4vw,36px) Verdana,Tahoma,Arial,sans-serif;
  font-style:normal;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.04em;
  will-change:transform;
  left:0;
}
.flow-field.flow-lanes-5 .flow-node{border-radius:9px;font-size:30px}
.flow-field.flow-lanes-7 .flow-node{border-radius:8px;font-size:26px}
.flow-field .flow-node:nth-child(3n+1){background:#fffaf0}
.flow-field .flow-node:nth-child(3n+2){background:#fbfffd}
.flow-field .flow-node span{
  position:relative;
  pointer-events:none;
  line-height:1;
  text-shadow:0 2px 0 rgba(255,255,255,.8);
}
.flow-field .flow-node.hit{
  border-color:#8d73ff;
  background:#efe9ff;
  box-shadow:0 0 0 4px rgba(141,115,255,.12),0 12px 24px rgba(142,121,185,.18);
}
.flow-field .flow-node.cleared{opacity:0;pointer-events:none;transform:translateY(-50%);transition:opacity .22s}
.flow-field .flow-node.wrong{border-color:#ef4f75;background:#ffe4e8;color:#ef4f75}
@keyframes flow-number-loop{
  from{transform:translate(var(--flow-from,0),-50%)}
  to{transform:translate(var(--flow-to,-120px),-50%)}
}
.neural-core{
  overflow:visible;
}
.mini-core{
  width:118px;
  height:118px;
}
.home-core{
  width:178px;
  height:178px;
}
.core-rings{
  inset:0;
  border:2px solid rgba(142,119,255,.45);
  background:rgba(255,255,255,.2);
  box-shadow:0 18px 45px rgba(142,121,185,.16),inset 0 0 34px rgba(255,255,255,.62);
}
.core-rings::before{
  content:"";
  position:absolute;
  inset:20%;
  border:1px dashed rgba(142,119,255,.18);
  border-radius:50%;
}
.core-rings::after{
  content:"";
  position:absolute;
  width:10px;
  height:10px;
  right:10%;
  bottom:20%;
  border-radius:50%;
  background:#ef4f75;
  box-shadow:0 0 14px rgba(239,79,117,.35);
}
.core-rings i{
  width:10px;
  height:10px;
  inset:auto;
  border:0;
  border-radius:50%;
  background:#7b61ff;
  box-shadow:0 0 14px rgba(123,97,255,.36);
  animation:core-dot-orbit 7s linear infinite;
  transform-origin:calc(var(--core-radius,52px) * -1) 50%;
}
.core-rings i:nth-child(1){right:6%;top:13%;--core-radius:48px}
.core-rings i:nth-child(2){left:5%;bottom:22%;background:#7b61ff;animation-duration:9s;animation-direction:reverse;--core-radius:50px}
.core-rings i:nth-child(3){display:none}
.brain-shape{
  width:54%;
  height:40%;
  filter:drop-shadow(0 12px 18px rgba(239,79,117,.28));
  transform:rotate(-3deg);
}
.brain-shape::before{
  inset:0;
  border:0;
  border-radius:48% 48% 42% 46% / 52% 58% 40% 42%;
  background:
    radial-gradient(circle at 28% 24%,rgba(255,255,255,.45),transparent 18%),
    radial-gradient(circle at 73% 64%,rgba(216,46,138,.3),transparent 18%),
    linear-gradient(145deg,#ff9bb7 0%,#ff6eab 50%,#f24fa4 100%);
  box-shadow:inset 8px 8px 13px rgba(255,255,255,.24),inset -8px -10px 14px rgba(205,35,121,.18);
}
.brain-shape::after{
  left:auto;
  right:6%;
  top:66%;
  bottom:auto;
  width:20%;
  height:32%;
  border-radius:18% 38% 52% 60%;
  background:linear-gradient(135deg,#ff75ad,#e9439a);
  box-shadow:none;
  transform:rotate(-20deg);
}
.brain-shape span{
  z-index:4;
  border:0;
  width:28%;
  height:16%;
  border-radius:50%;
  box-shadow:inset 0 3px 0 rgba(180,32,113,.22);
  background:transparent;
}
.brain-shape span:nth-child(1){left:11%;top:22%;transform:rotate(-18deg)}
.brain-shape span:nth-child(2){left:28%;top:14%;transform:rotate(8deg)}
.brain-shape span:nth-child(3){left:17%;bottom:26%;transform:rotate(18deg)}
.brain-shape span:nth-child(4){right:16%;top:24%;transform:rotate(26deg)}
.brain-shape span:nth-child(5){right:21%;top:48%;transform:rotate(-10deg)}
.brain-shape span:nth-child(6){right:6%;bottom:21%;transform:rotate(20deg)}
.brain-shape b{
  display:none;
}
.core-scan{
  display:none;
}
.mini-core[data-stage="1"] .brain-shape,.mini-core[data-stage="2"] .brain-shape,.mini-core[data-stage="3"] .brain-shape,.mini-core[data-stage="4"] .brain-shape{
  filter:drop-shadow(0 14px 20px rgba(239,79,117,.34));
}
.mini-core[data-stage="2"] .core-rings i{animation-duration:4.8s}
.mini-core[data-stage="3"] .core-rings,.mini-core[data-stage="4"] .core-rings{border-color:rgba(239,79,117,.42);box-shadow:0 18px 45px rgba(239,79,117,.16),inset 0 0 34px rgba(255,255,255,.7)}
.mini-core[data-stage="4"]{transform:scale(1.06)}
.neural-core.absorbing .brain-shape{animation:core-absorb .38s}
@keyframes core-dot-orbit{
  to{transform:rotate(360deg)}
}
.gravity-field{
  background:rgba(255,255,255,.48);
  border:1px solid rgba(126,100,190,.12);
  box-shadow:inset 0 0 40px rgba(255,255,255,.42);
}
.flow-lane{background:rgba(255,255,255,.52);border-color:rgba(126,100,190,.14)}
.experiment-node{
  border-color:rgba(126,100,190,.28);
  background:#fff;
  color:#251f35;
  box-shadow:0 12px 26px rgba(142,121,185,.14);
}
.gravity-field .gravity-node{
  display:grid;
  place-items:center;
  border:1px solid rgba(42,38,52,.13);
  border-radius:10px;
  background:#fffefb;
  color:#17151d;
  box-shadow:0 9px 18px rgba(45,39,62,.12),0 2px 0 rgba(255,255,255,.9) inset;
  font:900 clamp(25px,7vw,38px) Verdana,Tahoma,Arial,sans-serif;
  font-style:normal;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.04em;
  will-change:transform;
}
.gravity-field .gravity-node:nth-child(3n+1){background:#fffaf0}
.gravity-field .gravity-node:nth-child(3n+2){background:#fbfffd}
.gravity-field .gravity-node span{
  position:relative;
  pointer-events:none;
  line-height:1;
  text-shadow:0 2px 0 rgba(255,255,255,.8);
}
.gravity-field .gravity-node.hit{
  border-color:#8d73ff;
  background:#efe9ff;
  box-shadow:0 0 0 4px rgba(141,115,255,.12),0 12px 24px rgba(142,121,185,.18);
}
.gravity-field .gravity-node.cleared{
  opacity:0;
  pointer-events:none;
  transition:opacity .22s;
}
.gravity-field .gravity-node.wrong{
  border-color:#ef4f75;
  background:#ffe4e8;
  color:#ef4f75;
}
@media(max-width:420px){
  .rake-site-header { width: calc(100% - 20px); min-height: 54px; margin-top: 8px; padding: 6px 8px; }
  .rake-brand img { width: 34px; height: 34px; border-radius: 10px; }
  .rake-brand strong { font-size: 14px; }
  .rake-site-header nav { gap: 0; }
  .rake-site-header nav a { padding: 8px; font-size: 13px; }
  .rake-site-footer { align-items: flex-start; flex-direction: column; width: calc(100% - 28px); padding-bottom: 28px; }
  .rake-site-footer nav { flex-wrap: wrap; gap: 14px; }
  .orbit-field{min-height:410px;height:58vh}
  .orbit-board{width:min(100%,430px)}
  .orbit-slice text{font-size:45px}
  .gravity-field .gravity-node{border-radius:9px}
}
