.neuro-page { display: grid; gap: 12px; padding-bottom: 28px; }
.neuro-level { min-width: 0; border: 1px solid #233343; border-radius: 18px; background: #071b29; }
.neuro-level.is-unlocked { border-color: #987342; }
.neuro-card { display: flex; align-items: center; gap: 12px; padding: 14px 12px; color: #fff; text-decoration: none; min-width: 0; }
.neuro-mark { width: 40px; flex: none; text-align: center; font-size: 32px; color: #e8bb68; text-shadow: 0 0 12px #ffbc5550; }
.neuro-card-copy { flex: 1; min-width: 0; display: grid; gap: 4px; }
.neuro-card strong { font-size: 17px; line-height: 1.25; }
.neuro-card small { color: #91a4b8; font-size: 12px; line-height: 1.4; }
.neuro-arrow, .neuro-lock { display: grid; place-items: center; width: 32px; height: 32px; flex: none; border: 1px solid #987342; border-radius: 50%; font-size: 26px; color: #ffd58b; }
.neuro-arrow svg { display: block; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.neuro-arrow.is-complete { color: #34c759; border-color: #34c759; background: rgba(52,199,89,.14); }
.neuro-lock { border-color: #263a4b; color: #8393a7; }
.neuro-lock svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.neuro-locked { display: grid; gap: 9px; padding: 0 12px 12px; min-width: 0; color: #a6b6c8; }
.neuro-locked p { margin: 0; line-height: 1.45; }
.neuro-condition { font-size: 12px; text-align: center; }
.neuro-progress-row { display: flex; justify-content: center; align-items: center; gap: 16px; min-width: 0; }
.neuro-progress { display: flex; gap: 10px; }
.neuro-progress span { width: 12px; height: 12px; box-sizing: border-box; border: 1px solid #637286; border-radius: 50%; }
.neuro-progress .is-complete { background: #ffc568; border-color: #ffc568; box-shadow: 0 0 6px #ffc56840; }
.neuro-progress-count { white-space: nowrap; font-size: 12px; color: #d6ba8c; }
.neuro-or { display: flex; align-items: center; gap: 10px; font-size: 11px; line-height: 1; color: #8290a1; }
.neuro-or::before, .neuro-or::after { content: ''; height: 1px; background: #33414b; flex: 1; }
.neuro-locked .neuro-purchase { width: 100%; min-width: 0; white-space: nowrap; font: inherit; font-size: 13px; min-height: 44px; padding: 8px; border-radius: 24px; background: transparent; }
.neuro-purchase:disabled { opacity: .6; }
/* Explicit placement survives the shared mantra 420px breakpoint and long errors. */
.neuro-audio { position: relative; overflow: hidden; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 10px; }
.neuro-audio.is-loading > :not(.neuro-loading-overlay) { opacity: .3; }
.neuro-loading-overlay { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; background: #07131db3; color: #d5e0e8; border-radius: inherit; font-size: 14px; pointer-events: none; }
.neuro-loading-overlay[hidden] { display: none; }
.neuro-loading-spinner { width: 26px; height: 26px; border: 2px solid #8fa0b34d; border-top-color: #e8bb68; border-radius: 50%; animation: neuro-loading-spin .9s linear infinite; }
@keyframes neuro-loading-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .neuro-loading-spinner { animation: none; } }
.neuro-audio .surya-audio-heading { grid-column: 1 / -1; grid-row: 1; }
.neuro-audio .surya-audio-heading h2 { font-size: 18px; margin: 0; }
.neuro-audio .surya-waveform { grid-column: 1; grid-row: 2; min-height: 48px; cursor: default; touch-action: auto; }
.neuro-audio .surya-audio-times { grid-column: 1; grid-row: 3; margin: 0; font-size: 10px; }
.neuro-audio .surya-waveform-bars { gap: 1px; }
.neuro-audio .surya-audio-controls { grid-column: 2; grid-row: 2; justify-content: flex-end; align-self: center; gap: 4px; }
.neuro-audio .surya-audio-play { font-size: 26px; width: 50px; height: 50px; }
.neuro-audio .surya-audio-loop { font-size: 30px; }
.neuro-voices { grid-column: 1 / -1; grid-row: 4; width: 100%; box-sizing: border-box; padding: 0; margin: 10px 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; min-width: 0; }
.neuro-voices-label { grid-column: 1 / -1; font-size: 14px; color: #91a4b8; }
.neuro-voice { display: flex; align-items: center; justify-content: center; gap: 3px; min-height: 44px; min-width: 0; width: 100%; white-space: nowrap; padding: 8px 4px; color: #c7d3df; background: #091e2d; border: 1px solid #254050; border-radius: 14px; font: inherit; font-size: 13px; }
.neuro-voice.is-active { color: #ffe0a0; border-color: #c59649; box-shadow: 0 0 10px #d7a44520; }
.neuro-status:empty { display: none; }
.neuro-audio > .neuro-status { grid-column: 1 / -1; grid-row: 5; overflow-wrap: anywhere; }
.neuro-status .neuro-retry { display: block; margin-top: 8px; }
.neuro-day{height:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:13px;color:#b8c6d4;border:1px solid transparent;border-radius:12px}.neuro-day.is-today{border-color:#d5a557;color:#ffe0a0}.neuro-day small{font-size:8px;color:#ffae48}.neuro-day.is-complete{background:#9b733a20}.neuro-help{max-width:min(90vw,460px);max-height:80dvh;overflow:auto;color:#fff;background:#071b29;border:1px solid #9e7840;border-radius:22px;padding:24px}.neuro-help::backdrop{background:#000b}.neuro-help p{white-space:pre-line;line-height:1.6;color:#bccbd6}.neuro-retry{min-height:44px;padding:10px 16px;border:1px solid #9e7840;border-radius:12px;color:#ffe0a0;background:#132b3b}.neuro-status{font-size:13px;color:#91a4b8;margin:12px 0 0}
