/* Generated by npm run styles. Edit source files, not this bundle. */

/* arevys-connections.css */
@layer arevys-components {
/* v135 — quiet operational feedback, distinct from physical recovery alerts. */
.nx-search-modes{flex-wrap:wrap;gap:8px}.nx-search-modes button{flex:1 1 100px;min-height:48px;white-space:normal}
.nx-trial-notice{margin:14px 0;padding:14px 16px;border:1px solid #a18d59;border-radius:14px;background:#282619;color:#f2e4b4}.nx-trial-notice b{font-size:14px}
#home.home{scroll-behavior:auto}
.storage-warning{padding:16px;border:1px solid #bc9a63;border-radius:16px;background:#352c1e;color:#f3e9cf;margin-bottom:18px}.storage-warning b{font-size:16px}.storage-warning p{font-size:14px;line-height:1.5}.storage-warning button{width:100%;min-height:52px;background:#e5cb8a;color:#17261f;border:0;border-radius:10px;font-size:14px;font-weight:650}
.nx-connection-summary{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:12px;border:1px solid #49635e;border-radius:16px;background:#122723;color:#e7eee7}
.nx-connection-summary>div{flex:1;min-width:0}.nx-connection-summary b,.nx-connection-summary span{display:block;font-size:13px;line-height:1.5}.nx-connection-summary span{font-size:12px;color:#c6d5d0;margin-top:3px}
.nx-connection-summary button{min-width:96px;min-height:48px;padding:8px;border:1px solid #718f86;border-radius:12px;background:#1b3731;color:#e4eedb;font-size:12px;font-weight:650}
.nx-connection-unavailable{border-color:#998556}.nx-connections-heading h2{font-size:20px;line-height:1.3;color:#f2f1df;margin:10px 0}
.nx-connections-list{display:grid;gap:10px;margin:16px 0}.nx-connection-card{padding:15px;border:1px solid #3d5852;border-radius:15px;background:#10211e;overflow-wrap:anywhere}
.nx-connection-card>div{display:flex;flex-direction:column;gap:8px}.nx-connection-card b{font-size:15px;color:#f1f2e6}.nx-connection-card span{font-size:12px;color:#c6d5d0;display:flex;align-items:center;gap:7px}.nx-connection-card i{display:inline-block;width:8px;height:8px;flex:none;background:#c5b079;border-radius:50%}.nx-connection-ready i{background:#8bdfa9}.nx-connection-unavailable i{background:#e5ba7a}.nx-connection-card small{display:block;font-size:12px;line-height:1.5;color:#baccbf;margin-top:6px}
.nx-check-connections{display:block;width:100%;min-height:52px;border:1px solid #97b69d;border-radius:12px;background:#2b4b3c;color:#f2f5dc;padding:12px;font-size:14px;font-weight:650}
.nx-check-connections:disabled{opacity:.65;cursor:wait}.nx-check-connections:focus-visible,.nx-connection-summary button:focus-visible{outline:3px solid #ead398;outline-offset:3px}
.nx-search-loading{display:grid;gap:10px;margin:12px 0}.nx-search-loading i{height:80px;border:1px solid #38554c;border-radius:15px;background:linear-gradient(105deg,#15302a,#2a4940,#15302a);background-size:200% 100%;animation:nx-load 1.6s ease-in-out infinite}
.nx-search-recovery{display:grid;gap:8px;margin:15px 0}.nx-sources details{scroll-margin:100px}
@keyframes nx-load{to{background-position:-200% 0}}
.startup-recovery{position:absolute;inset:0;z-index:80;display:grid;place-content:center;padding:32px 24px;background:#091714;color:#f2f1df;text-align:left}.startup-recovery[hidden]{display:none}.startup-recovery h1{font-size:28px;line-height:1.2}.startup-recovery p{font-size:16px;line-height:1.6;color:#c5d5ce}.startup-recovery button{min-height:54px;padding:14px;border:1px solid #d7c28f;border-radius:14px;background:#e5cb8a;color:#17261f;font-weight:700;font-size:16px;margin-top:14px}
@media(prefers-reduced-motion:reduce){.nx-search-loading i{animation:none}}
@media(max-width:350px){.nx-connection-summary{gap:8px;padding:10px}.nx-connection-summary button{min-width:84px;max-width:88px}.nx-connection-summary b{font-size:12px}}

}
@layer arevys-utilities {
/* v135 — quiet operational feedback, distinct from physical recovery alerts. */
.nx-search-modes{display:flex}.nx-trial-notice p{margin:6px 0 0;color:#e1d4b5;font-size:13px;line-height:1.5}.nx-connections-heading p,.nx-connection-message{font-size:13px;line-height:1.55;color:#c6d5d0}.nx-connection-card p{margin:10px 0 5px;font-size:13px;line-height:1.55;color:#c6d5d0}.nx-incomplete{color:#efd49b;font-weight:600}
@keyframes nx-load{}
@media(prefers-reduced-motion:reduce){}
@media(max-width:350px){}

}

/* arevys-exercise-guide.css */
@layer arevys-components {
/* Reading and narration share one narrow, mobile-safe exercise sheet. */
#home .exercise-audio { margin:16px 20px;padding:16px;border:1px solid #786740;border-radius:16px;background:linear-gradient(130deg,#29281c,#101c1d); }
#home .exercise-audio__heading { display:flex;align-items:center;gap:12px;margin-bottom:14px; }
#home .exercise-audio__heading>span { color:#efd290;font-size:25px; }
#home .exercise-audio__heading b { display:block;color:#fff6e3;font-size:16px; }
#home .exercise-audio__heading small { display:block;margin-top:4px;color:#c9d8d4;font-size:12px;line-height:1.5; }
#home .exercise-audio__controls { display:grid;grid-template-columns:1fr 1fr;gap:8px; }
#home .exercise-audio__controls button { min-height:48px;padding:10px 12px;border:1px solid #718683;border-radius:10px;background:#152827;color:#e4f0ec;font-size:14px;font-weight:600; }
#home .exercise-audio__controls .exercise-audio__play { grid-column:1/-1;background:#e4c178;border-color:#e4c178;color:#17201a; }
#home .exercise-audio__controls button:disabled { opacity:.48; }
#home .exercise-audio p { margin:12px 0 0;color:#cee0da;font-size:12px;line-height:1.6; }
#home .exercise-audio[data-state=error] p { color:#ffd29f; }
#home .exercise-guide-steps { display:grid;gap:16px;padding:0;margin:12px 0 22px;list-style:none;counter-reset:guide; }
#home .exercise-guide-steps li { display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;counter-increment:guide; }
#home .exercise-guide-steps li::before { content:counter(guide,decimal-leading-zero);color:#e1c487;font-size:15px;font-weight:700;padding-top:3px; }
#home .exercise-guide-steps b { display:block;color:#f1f8f3;font-size:16px;line-height:1.5;margin-bottom:4px; }
#home .exercise-guide-steps p { margin:0;color:#d7e4de;font-size:15px;line-height:1.7; }
#home .exercise-guide-detail { margin:16px 0;border-top:1px solid #38504b;padding-top:14px; }
#home .exercise-guide-detail h3 { font-size:16px;margin:0 0 9px;color:#e9d49b; }
#home .exercise-guide-detail ul { padding-left:20px;margin:0; }
#home .exercise-guide-detail li { color:#d7e4de;font-size:15px;line-height:1.7;margin:6px 0; }
#home .exercise-guide-references { margin:20px 0 0;border-top:1px solid #38504b;padding-top:12px; }
#home .exercise-guide-references summary { min-height:48px;display:flex;align-items:center;font-size:14px;color:#dac78f;cursor:pointer; }
#home .exercise-guide-references a { display:flex;align-items:center;min-height:48px;color:#bddfd4;font-size:14px;text-decoration:underline;overflow-wrap:anywhere; }
#home .exercise-guide-review { border:1px solid #bc9652;border-radius:12px;background:#30281b;padding:14px;color:#ffdfaa;font-size:15px;line-height:1.7; }
#home .exercise-ficha-summary h3 { font-size:16px;line-height:1.6; }
#home .exercise-ficha-hero { position:relative;display:block;aspect-ratio:var(--exercise-video-aspect,16 / 9);min-height:0;height:auto;padding:0; }
#home .exercise-ficha-hero :is(video,img) { position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:contain;border-radius:18px; }
#home .exercise-ficha-sheet .biomechanics-sheet__copy { overflow-wrap:anywhere; }
@media(max-width:360px) { #home .exercise-audio { margin:14px 14px;padding:14px; } }

}
@layer arevys-utilities {
/* Reading and narration share one narrow, mobile-safe exercise sheet. */
@media(max-width:360px) { }

}

/* arevys-v140.css */
@layer arevys-components {
/* v140 — Herramientas as a main destination, visible library and mobile polish.
 * Source file: compiled last into arevys-system-details.css by `npm run styles`.
 * Keeps the AREVYS identity: graphite, metal/gold; green/yellow/red only for body state.
 */

/* ---------- Demo banner: one quiet row instead of a 90px box ---------- */
#home .demo-banner { display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:10px;margin:0 0 18px;padding:6px 6px 6px 14px;border:1px solid #3d5157;border-radius:14px;background:#0f1d21; }
#home .demo-banner>div { display:flex;align-items:baseline;gap:8px;flex:1 1 auto;min-width:0; }
#home .demo-banner>div b { font-size:11px;letter-spacing:.14em;color:#e8cf8f; }
#home .demo-banner>div span { display:inline;font-size:12px;color:#b9c8c6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
#home .demo-banner__actions { display:flex;width:auto;gap:4px;flex:0 0 auto;justify-content:flex-end; }
#home .demo-banner__actions button { min-height:44px;min-width:44px;padding:0 10px;border:0;border-radius:10px;background:transparent;color:#dcecef;font-size:13px; }
#home .demo-banner .demo-refresh { min-height:44px;padding:0 10px;border:1px solid #4b6066;background:#172a30;font-size:13px; }

/* ---------- Header menu shows when you are inside it ---------- */
#home .header-menu.is-active { border-color:#c9a35a;color:#eed293;background:#28271e; }

/* ---------- Bottom navigation: five destinations, readable labels ---------- */
#home .app-nav__item span { font-size:11px;letter-spacing:-.01em;white-space:nowrap; }
#home .app-nav__item i svg { stroke-width:1.7; }

/* ---------- Today: hint inside the card, check-in tiles inside the grid ---------- */
#home .daily-body-card { overflow:hidden; }
/* The compact Today viewer already says «Explorar mi cuerpo»; its floating hint crossed the card edge. */
#home .daily-body-card .body3d-hint { display:none; }
#home .daily-context-grid { grid-template-columns:repeat(4,minmax(0,1fr));gap:8px; }
#home .daily-context-grid>div { box-sizing:border-box;min-width:0;width:auto;aspect-ratio:auto;margin:0; }
#home .daily-context-grid span { font-size:12px; }
#home .daily-context-grid b { font-size:16px; }

/* ---------- Library shortcut: real posters, one clear destination ---------- */
#home .library-shortcut { box-sizing:border-box;display:grid;grid-template-columns:auto minmax(0,1fr) 20px;align-items:center;gap:14px;width:100%;margin:0 0 16px;padding:14px 16px 14px 14px;border:1px solid #8a7445;border-radius:22px;background:radial-gradient(ellipse at 0 0,#5b4a2655,transparent 70%),linear-gradient(140deg,#1f211b,#0f1b1e);color:#f2f0e6;text-align:left;font:inherit;cursor:pointer; }
#home .library-shortcut__posters { display:flex;align-items:center;padding-left:14px; }
#home .library-shortcut__posters img { width:54px;height:72px;margin-left:-14px;object-fit:cover;border:2px solid #0f1b1e;border-radius:12px;background:#203033;box-shadow:0 6px 16px #0008; }
#home .library-shortcut__posters img:nth-child(2) { transform:translateY(-4px); }
#home .library-shortcut__posters.is-empty { justify-content:center;width:64px;height:72px;padding:0;border-radius:14px;background:#1d2a2c;color:#dabb75; }
#home .library-shortcut__posters.is-empty svg { width:30px;height:30px; }
#home .library-shortcut__copy { display:grid;gap:4px;min-width:0; }
#home .library-shortcut__copy small { font-size:11px;font-weight:600;letter-spacing:.12em;color:#e3c47e; }
#home .library-shortcut__copy b { font-size:19px;line-height:1.2;font-weight:600; }
#home .library-shortcut__copy em { font-size:13px;line-height:1.45;font-style:normal;color:#ccd5cd; }
#home .library-shortcut>strong { color:#e3c47e;font-size:20px; }
#home .library-shortcut:focus-visible,#home .training-shortcut-tools:focus-visible { outline:2px solid #f1d38b;outline-offset:3px; }
#home .library-shortcut--today { margin:4px 0 18px; }

/* ---------- Training: library + tools right under the mode switch ---------- */
#home .training-shortcuts { display:grid;gap:10px;margin:0 0 18px; }
#home .training-shortcuts .library-shortcut { margin:0; }
#home .training-shortcut-tools { box-sizing:border-box;display:grid;grid-template-columns:40px minmax(0,1fr) 20px;align-items:center;gap:12px;width:100%;min-height:64px;padding:12px 16px;border:1px solid #3f5359;border-radius:18px;background:#111d21;color:#f2f0e6;text-align:left;font:inherit;cursor:pointer; }
#home .training-shortcut-tools>i { display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#1c2a2e;color:#dabb75; }
#home .training-shortcut-tools>i svg { width:24px;height:24px; }
#home .training-shortcut-tools span { display:grid;gap:3px; }
#home .training-shortcut-tools b { font-size:15px;font-weight:600; }
#home .training-shortcut-tools small { font-size:12px;color:#bfccc8; }
#home .training-shortcut-tools>strong { color:#dabb75; }

/* ---------- Tools: one-row switcher ---------- */
#home .tool-switch { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:4px 0 18px;padding:0;border:0;background:none; }
#home .tool-switch button { min-height:44px;padding:0 4px;border:1px solid #34474c;border-radius:12px;background:#111c20;color:#d7e0dc;font-size:13px;font-weight:600; }
#home .tool-switch button[aria-pressed=true] { border-color:#dabb75;background:#dabb75;color:#16170f; }
#home .tools-screen[data-tool=bmi] .tool-switch button[aria-pressed=true] { border-color:#5fd8f0;background:#5fd8f0;color:#06222a; }
#home .tools-screen[data-tool=plates] .tool-switch button[aria-pressed=true] { border-color:#c9d3d8;background:#c9d3d8;color:#11191d; }

/* Plates card on the hub: brushed steel, distinct from 1RM gold and IMC cyan. */
#home .complements-hub .complement-card--plates { border-color:#5f727b;background:repeating-linear-gradient(90deg,#ffffff03 0 1px,transparent 1px 6px),linear-gradient(135deg,#212b30,#0f191d); }
#home .complements-hub .complement-card--plates :is(i,small,strong) { color:#cfd9dd; }

/* Explanations that expand show they can expand. */
#home .tool-explanation>summary { display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:0 16px;cursor:pointer;list-style:none; }
#home .tool-explanation>summary::-webkit-details-marker { display:none; }
#home .tool-explanation>summary::after { content:'+';color:#dabb75;font-size:20px; }
#home .tool-explanation[open]>summary::after { content:'−'; }

/* ---------- Plate calculator ---------- */
#home .plates-tool { padding:20px 18px; }
#home .plates-tool form { display:grid;gap:14px; }
#home .plates-tool label { display:grid;gap:8px;font-size:14px;color:#d8e1dd; }
#home .plates-tool input { box-sizing:border-box;width:100%;min-height:56px;padding:0 16px;border:1px solid #4b5f64;border-radius:14px;background:#0b1518;color:#fff;font:600 22px/1 system-ui,sans-serif; }
#home .plates-tool .plates-custom-bar input { min-height:48px;font-size:17px; }
#home .plates-steps { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px; }
#home .plates-steps button { min-height:44px;padding:0;border:1px solid #3c4e53;border-radius:12px;background:#142024;color:#e8ece6;font-size:14px;font-weight:600; }
#home .plates-bars { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;border:0; }
#home .plates-bars legend { margin:0 0 8px;padding:0;font-size:14px;color:#d8e1dd; }
#home .plates-bars button { display:grid;gap:3px;justify-items:start;min-height:64px;padding:10px 12px;border:1px solid #3c4e53;border-radius:14px;background:#111c20;color:#eef1ec;text-align:left; }
#home .plates-bars button b { font-size:16px;font-weight:600; }
#home .plates-bars button small { font-size:12px;color:#b9c6c3; }
#home .plates-bars button[aria-pressed=true] { border-color:#dabb75;background:#29261b; }
#home .plates-bars button[aria-pressed=true] b { color:#f0d38f; }
#home .plate-visual { display:block;width:100%;height:auto;margin:8px 0; }
#home .plates-empty { margin:18px 0 6px;padding:16px;border:1px dashed #3b4d52;border-radius:18px;text-align:center; }
#home .plates-empty p { margin:4px 0 0;color:#c4cfcb;font-size:14px; }
#home .plates-result { margin:18px 0 6px;padding:20px 18px;border:1px solid #6d5f3c;border-radius:20px;background:radial-gradient(ellipse at top,#4a3f2244,transparent 70%),#10191c; }
#home .plates-result .micro-label { color:#e3c47e; }
#home .plates-result__side { display:block;margin:6px 0 2px;font-size:28px;line-height:1.2;font-weight:700;color:#fff; }
#home .plates-result__side small { font-size:16px;color:#cdbf98; }
#home .plates-summary { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 0; }
#home .plates-summary div { padding:10px;border-radius:12px;background:#17242a; }
#home .plates-summary dt { font-size:12px;color:#b9c6c3; }
#home .plates-summary dd { margin:4px 0 0;font-size:16px;font-weight:600;color:#fff; }
#home .plates-note { margin:12px 0 0;padding:10px 12px;border-radius:12px;background:#2a2617;color:#f0e2b8;font-size:13px;line-height:1.5; }
#home .plates-list { display:grid;gap:8px;margin:14px 0 0;padding:0;list-style:none; }
#home .plates-list li { display:flex;align-items:center;gap:10px;font-size:15px;color:#e9ede8; }
#home .plates-list i { width:10px;height:22px;border-radius:3px;background:var(--plate); }

/* ---------- Progress: grouped achievements ---------- */
#home .flow-achievement__repeat {font-size:12px;color:#c9d6c8; }

/* ---------- Profile: equipment cards stop breaking words ---------- */
@media (max-width:480px) {
  #home .equipment-mode-grid { grid-template-columns:minmax(0,1fr); }
  #home .equipment-mode-card { grid-template-columns:40px minmax(0,1fr) 20px;min-height:72px;padding:12px 14px;gap:12px; }
  #home .equipment-mode-card b { font-size:15px; }
  #home .equipment-mode-card small { font-size:12px;line-height:1.4; }
}
#home .equipment-chip b,#home .equipment-chip small { white-space:normal;overflow:visible;text-overflow:clip; }
#home .equipment-chip b { font-size:13px; }
#home .equipment-chip small { font-size:12px; }

/* ---------- Readability: lift the smallest supporting text ---------- */
#home .dashboard .metric-note { font-size:13px;line-height:1.55; }
#home .onboarding-settings__list small { font-size:12px; }
#home .complement-card small { font-size:11px; }
#home .complement-card em { font-size:14px; }
#home .daily-context-grid svg { width:26px;height:26px; }

/* ---------- 1RM: the screen title already says «Calcula tu 1RM»; the hero no longer repeats it at 44px ---------- */
#home .strength-intro__stamp { display:none; }
#home .strength-intro { padding-bottom:18px; }
#home .body-context article svg { width:26px;height:26px; }

/* ---------- v142: warm-up ramp ---------- */
#home .tool-switch { grid-template-columns:repeat(3,minmax(0,1fr)); }
#home .complements-hub .complement-card--warmup { border-color:#7a5f45;background:radial-gradient(ellipse at 100% 0,#6b4a2c44,transparent 65%),linear-gradient(135deg,#251f1a,#101a1d); }
#home .complements-hub .complement-card--warmup :is(i,small,strong) { color:#e6b98a; }
#home .tools-screen[data-tool=warmup] .tool-switch button[aria-pressed=true] { border-color:#e6b98a;background:#e6b98a;color:#1d140b; }
.warmup-list { display:grid;gap:8px;margin:12px 0 0;padding:0;list-style:none; }
.warmup-list li { display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:12px;padding:12px;border-radius:14px;background:#17242a; }
.warmup-list li div { display:grid;gap:3px;min-width:0; }
.warmup-list b { font-size:18px;font-weight:700;color:#fff; }
.warmup-list b small { font-size:14px;font-weight:600;color:#e6b98a; }
.warmup-list li>div>small { font-size:13px;line-height:1.45;color:#c4cfcb; }
.warmup-list__step { display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid #6b5a43;color:#e6b98a;font-weight:700;font-size:14px; }
.warmup-list__work { border:1px solid #dabb75; }
.warmup-list__work .warmup-list__step { border-color:#dabb75;background:#dabb75;color:#16170f; }
.product-dialog .warmup-list li { background:#17242a; }
#home .exercise-warmup { margin-top:8px; }

}
@layer arevys-utilities {
/* v140 — Herramientas as a main destination, visible library and mobile polish.
 * Source file: compiled last into arevys-system-details.css by `npm run styles`.
 * Keeps the AREVYS identity: graphite, metal/gold; green/yellow/red only for body state.
 */

/* ---------- Demo banner: one quiet row instead of a 90px box ---------- */

/* ---------- Header menu shows when you are inside it ---------- */

/* ---------- Bottom navigation: five destinations, readable labels ---------- */

/* ---------- Today: hint inside the card, check-in tiles inside the grid ---------- */
/* The compact Today viewer already says «Explorar mi cuerpo»; its floating hint crossed the card edge. */

/* ---------- Library shortcut: real posters, one clear destination ---------- */

/* ---------- Training: library + tools right under the mode switch ---------- */

/* ---------- Tools: one-row switcher ---------- */

/* Plates card on the hub: brushed steel, distinct from 1RM gold and IMC cyan. */

/* Explanations that expand show they can expand. */

/* ---------- Plate calculator ---------- */

/* ---------- Progress: grouped achievements ---------- */
#home .flow-achievement__repeat { margin-top:8px; }

/* ---------- Profile: equipment cards stop breaking words ---------- */
@media (max-width:480px) {
}

/* ---------- Readability: lift the smallest supporting text ---------- */

/* ---------- 1RM: the screen title already says «Calcula tu 1RM»; the hero no longer repeats it at 44px ---------- */
#home .strength-intro h2 { font-size:26px;line-height:1.1;margin:6px 0 8px; }

/* ---------- v142: warm-up ramp ---------- */
.warmup-list__work {background:#29261b; }

}

/* arevys-protein-v146.css */
@layer arevys-components {
/* v146 · Calculadora de proteína. Identidad verde esmeralda, distinta del cian (IMC) y el naranja (HIIT). */
#home .complements-hub .complement-card--protein { border-color:#2f7a58;background:linear-gradient(135deg,#0f3426,#09180f); }
#home .complements-hub .complement-card--protein :is(i,small,strong) { color:#4fe6a0; }
#home .tools-screen[data-tool=protein] .tool-switch button[aria-pressed=true] { border-color:#3ddc94;background:#3ddc94;color:#05261a; }
#home .tool-switch { grid-template-columns:repeat(4,minmax(0,1fr)); }

#home .protein-tool { --pg:#3ddc94;--pg-soft:#9ff3c9;--pg-deep:#06170f;--pg-line:#2c6b4f;display:grid;gap:16px;color:#e3f7ec; }
#home .protein-intro { display:grid;grid-template-columns:1fr 104px;gap:12px;align-items:center;padding:22px 18px;border:1px solid #2c6b4f;border-radius:22px;background:radial-gradient(circle at 92% 18%,#3ddc9430,transparent 55%),linear-gradient(150deg,#0e3324,#071710);overflow:hidden; }
#home .protein-intro .micro-label { color:#7fe9b6;letter-spacing:.12em;font-size:11px; }
#home .protein-intro h2 { margin:8px 0 8px;font:700 30px/1.05 system-ui,-apple-system,"Segoe UI",sans-serif;color:#f2fff8;letter-spacing:-.02em; }
#home .protein-intro h2 em { font-style:normal;color:var(--pg); }
#home .protein-intro p { margin:0 0 12px;color:#bfe5d1;font-size:14px;line-height:1.5; }
#home .protein-intro__tag { display:inline-block;padding:6px 10px;border:1px solid #3ddc9466;border-radius:999px;color:#9ff3c9;font-size:11px;font-weight:700;letter-spacing:.08em; }
#home .protein-visual { width:104px;height:104px;filter:drop-shadow(0 0 14px #3ddc9440); }

#home .protein-tool form { display:grid;gap:14px; }
#home .protein-step { margin:0;padding:18px 14px 16px;border:1px solid #24503d;border-radius:20px;background:linear-gradient(160deg,#0d2219,#08130e);display:grid;gap:12px;min-width:0; }
#home .protein-step legend { float:left;width:100%;display:flex;align-items:center;gap:10px;margin:0 0 2px;padding:0;color:#f0fff7;font-size:17px;font-weight:700; }
#home .protein-step legend span { display:inline-grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#3ddc941f;border:1px solid #3ddc9466;color:var(--pg);font-size:12px;font-weight:800; }
#home .protein-step legend+* { clear:both; }

#home .protein-measure { display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end; }
#home .protein-weight,#home .protein-height { display:grid;gap:8px;color:#cfeedd;font-size:14px;font-weight:600; }
#home .protein-height small { display:block;margin-top:2px;color:#9cc9b2;font-size:12px;font-weight:400; }
#home .protein-tool input[type=number] { box-sizing:border-box;width:100%;min-height:56px;padding:0 16px;border:1px solid #2f6a50;border-radius:14px;background:#06110c;color:#fff;font:600 22px/1 system-ui,-apple-system,"Segoe UI",sans-serif; }
#home .protein-tool .protein-height input { min-height:50px;font-size:18px; }
#home .protein-tool input[type=number]:focus-visible { outline:2px solid var(--pg);outline-offset:2px;border-color:var(--pg); }
#home .protein-tool input::placeholder { color:#6f9c86; }
#home .protein-units { display:flex;gap:4px;padding:4px;border:1px solid #2f6a50;border-radius:14px;background:#06110c; }
#home .protein-units button { min-width:48px;min-height:46px;border:0;border-radius:10px;background:transparent;color:#b7dcc9;font-size:15px;font-weight:700; }
#home .protein-units button[aria-pressed=true] { background:var(--pg);color:#05261a; }

#home .protein-choice { display:grid;gap:8px; }
#home .protein-choice--duo { grid-template-columns:repeat(2,minmax(0,1fr)); }
#home .protein-choice--trio { grid-template-columns:repeat(3,minmax(0,1fr)); }
#home .protein-choice--quad { grid-template-columns:repeat(4,minmax(0,1fr)); }
#home .protein-choice label { position:relative;display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:8px 6px;border:1px solid #2a5a44;border-radius:14px;background:#0a1912;color:#d6f2e3;text-align:center;cursor:pointer;transition:border-color .15s,background .15s,transform .15s; }
#home .protein-choice input { position:absolute;opacity:0;width:1px;height:1px;pointer-events:none; }
#home .protein-choice span { display:grid;gap:2px;min-width:0; }
#home .protein-choice b { font-size:15px;font-weight:700;line-height:1.15; }
#home .protein-choice small { color:#9cc9b2;font-size:12px;line-height:1.3; }
#home .protein-choice label:has(input:checked) { border-color:var(--pg);background:linear-gradient(150deg,#14503a,#0c2e21);color:#fff;box-shadow:inset 0 0 0 1px #3ddc9455,0 6px 18px #3ddc941c; }
#home .protein-choice label:has(input:checked) small { color:#bdf5d9; }
#home .protein-choice label:has(input:focus-visible) { outline:2px solid var(--pg);outline-offset:2px; }
#home .protein-choice label:active { transform:scale(.98); }
#home .protein-choice--cards { grid-template-columns:1fr; }
#home .protein-choice--cards label { justify-content:flex-start;padding:10px 14px;text-align:left;min-height:60px; }
#home .protein-choice--cards i { display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:#3ddc9414;color:var(--pg); }
#home .protein-choice--cards i svg { width:22px;height:22px; }
#home .protein-choice--cards label:has(input:checked) i { background:var(--pg);color:#05261a; }
#home .protein-choice--cards label:has(input:checked)::after { content:"";position:absolute;right:16px;width:10px;height:10px;border-radius:50%;background:var(--pg);box-shadow:0 0 0 4px #3ddc9433; }
#home .protein-label { margin:4px 0 -4px;color:#cfeedd;font-size:14px;font-weight:600; }

#home .protein-check { display:flex;gap:12px;align-items:flex-start;padding:4px 2px;color:#d6f2e3;font-size:14px;line-height:1.45; }
#home .protein-check input { flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--pg); }
#home .protein-check small { display:block;color:#9cc9b2;font-size:12px; }
#home .protein-tool .protein-cta { background:linear-gradient(135deg,#5ff0ac,#23b673);color:#04231a;border:0;box-shadow:0 10px 26px #23b67333; }

#home .protein-empty { display:grid;justify-items:center;gap:8px;padding:26px 18px;border:1px dashed #2f6a50;border-radius:20px;background:#08160f;text-align:center; }
#home .protein-empty i { color:var(--pg); }
#home .protein-empty i svg { width:34px;height:34px; }
#home .protein-empty b { color:#f0fff7;font-size:20px; }
#home .protein-empty p { margin:0;color:#b6dcc8;font-size:14px;line-height:1.5; }

#home .protein-result { display:grid;gap:18px;padding:24px 16px;border:1px solid #2f8a62;border-radius:22px;background:radial-gradient(ellipse at 50% 0%,#3ddc9426,transparent 65%),linear-gradient(160deg,#0c2b1f,#061109);box-shadow:inset 0 1px 0 #9ff3c91a; }
#home .protein-result>.micro-label { color:#9ff3c9;font-size:11px;letter-spacing:.12em;text-align:center; }
#home .protein-score { display:flex;align-items:baseline;justify-content:center;gap:8px;margin-top:-6px; }
#home .protein-score strong { font:800 72px/1 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-.04em;color:#f3fff9;text-shadow:0 0 28px #3ddc9455; }
#home .protein-score span { color:var(--pg);font-size:18px;font-weight:700; }
#home .protein-range { margin:-8px 0 0;color:#bfe5d1;font-size:14px;text-align:center;line-height:1.5; }
#home .protein-range b { color:#fff; }

#home .protein-scale { display:grid;gap:8px;padding-top:6px; }
#home .protein-scale__track { position:relative;height:14px;border-radius:999px;background:#0a1712;overflow:hidden; }
#home .protein-scale__zone { position:absolute;top:0;bottom:0; }
#home .protein-scale__zone--low { background:#1a2a23; }
#home .protein-scale__zone--base { background:#1f4a37; }
#home .protein-scale__zone--sport { background:#236a4b; }
#home .protein-scale__zone--high { background:#4a5b2a; }
#home .protein-scale__range { position:absolute;top:2px;bottom:2px;border-radius:999px;background:linear-gradient(90deg,#7ff0bb,#3ddc94);box-shadow:0 0 14px #3ddc9488; }
#home .protein-scale__marker { position:absolute;top:-3px;width:4px;height:20px;margin-left:-2px;border-radius:2px;background:#fff;box-shadow:0 0 0 2px #06170f; }
#home .protein-scale__labels { position:relative;height:16px;color:#9cc9b2;font-size:11px; }
#home .protein-scale__labels span { position:absolute;transform:translateX(-50%); }
#home .protein-scale__labels span:first-child { transform:none; }
#home .protein-scale__labels span:last-child { transform:translateX(-100%);white-space:nowrap; }
#home .protein-scale__legend { display:flex;flex-wrap:wrap;gap:6px 14px;color:#b6dcc8;font-size:12px; }
#home .protein-scale__legend span { display:inline-flex;align-items:center;gap:6px; }
#home .protein-scale__legend i { width:10px;height:10px;border-radius:3px; }
#home .protein-scale__legend i.is-base { background:#1f4a37; }
#home .protein-scale__legend i.is-sport { background:#236a4b;box-shadow:inset 0 0 0 1px #3ddc94; }
#home .protein-scale__legend i.is-high { background:#4a5b2a; }

#home .protein-meals,#home .protein-foods { display:grid;gap:10px;padding:16px 14px;border:1px solid #24503d;border-radius:18px;background:#07140e; }
#home .protein-meals header,#home .protein-foods header { display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap; }
#home .protein-meals .micro-label,#home .protein-foods .micro-label { color:#7fe9b6;font-size:11px;letter-spacing:.1em; }
#home .protein-meals header b { color:#fff;font-size:15px; }
#home .protein-foods header small { color:#9cc9b2;font-size:12px; }
#home .protein-meals__bar { display:flex;gap:4px;margin:0;padding:0;list-style:none; }
#home .protein-meals__bar li { flex:1;display:grid;gap:4px;min-width:0;padding:10px 4px;border-radius:12px;background:linear-gradient(180deg,#1b6a49,#0f3b29);text-align:center; }
#home .protein-meals__bar li:first-child { border-radius:12px 6px 6px 12px; }
#home .protein-meals__bar li:last-child { border-radius:6px 12px 12px 6px; }
#home .protein-meals__bar span { overflow:hidden;color:#bdf5d9;font-size:11px;text-overflow:ellipsis;white-space:nowrap; }
#home .protein-meals__bar b { color:#fff;font-size:16px; }
#home .protein-foods ul { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none; }
#home .protein-foods li { display:grid;gap:2px;padding:10px 12px;border:1px solid #1f4434;border-radius:12px;background:#0a1a13; }
#home .protein-foods li b { color:var(--pg);font-size:17px; }
#home .protein-foods li span { color:#cfeedd;font-size:13px;line-height:1.3; }

#home .protein-why,#home .protein-guide { padding:14px;border:1px solid #24503d;border-radius:16px;background:#07140e;color:#cfeedd;font-size:14px;line-height:1.55; }
#home .protein-why summary,#home .protein-guide summary { min-height:28px;color:#f0fff7;font-weight:700;cursor:pointer; }
#home .protein-why ul { display:grid;gap:6px;margin:10px 0;padding:0;list-style:none; }
#home .protein-why li { display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:10px;background:#0b1f16; }
#home .protein-why li b { flex:none;color:var(--pg); }
#home .protein-why p,#home .protein-guide p { margin:8px 0 0;color:#b6dcc8; }
#home .protein-note { margin:0;padding:10px 12px;border-left:3px solid #f2c14e;border-radius:8px;background:#1f1a0b;color:#f6e7bd;font-size:13px;line-height:1.5; }
#home .protein-result--care { text-align:left; }
#home .protein-result--care b { color:#fff;font-size:20px; }
#home .protein-result--care p { margin:0;color:#cfeedd;line-height:1.5; }

@media (max-width:370px){
  #home .protein-intro { grid-template-columns:1fr 78px;padding:20px 14px; }
  #home .protein-visual { width:78px;height:78px; }
  #home .protein-intro h2 { font-size:26px; }
  #home .protein-score strong { font-size:60px; }
  #home .protein-choice b { font-size:14px; }
}
@media (prefers-reduced-motion:reduce){ #home .protein-choice label { transition:none; } }

}
@layer arevys-utilities {
/* v146 · Calculadora de proteína. Identidad verde esmeralda, distinta del cian (IMC) y el naranja (HIIT). */

@media (max-width:370px){
}
@media (prefers-reduced-motion:reduce){ }

}

@layer arevys-premium {
/* Final product rules. Layers replace specificity wars; never add !important. */
html,body,button,input,select,textarea { font-family:var(--arevys-font); }
body { color:var(--arevys-text); }
button,input,select,textarea { font-size:14px; }
button { touch-action:manipulation; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline:3px solid var(--arevys-focus);outline-offset:4px; }
button:disabled { opacity:.6;cursor:not-allowed; }
.dashboard p { font-size:14px;line-height:1.65; }
.dashboard small,.micro-label,.section-label,.dashboard__eyebrow { font-size:11px;line-height:1.5; }
.dashboard__subtitle { color:var(--arevys-muted);font-size:15px; }
.dashboard__title { font-size:30px;line-height:1.15;letter-spacing:-.8px;overflow-wrap:break-word; }
.dashboard { padding-bottom:calc(var(--arevys-nav-height) + env(safe-area-inset-bottom) + 28px); }
.dashboard__topbar { display:grid;grid-template-columns:48px 1fr 48px;align-items:center;min-height:68px;margin:0 0 22px;position:relative;inset:auto; }
.dashboard__topbar>img { position:static;transform:none;grid-column:2;grid-row:1;width:74px;height:64px;object-fit:contain;justify-self:center; }
.dashboard__topbar>:is(.dashboard__back,.header-spacer) { grid-column:1;grid-row:1; }
.dashboard__topbar>.header-menu { grid-column:3;grid-row:1;justify-self:end; }
.dashboard__topbar>button { width:48px;min-height:48px;border-radius:15px;display:grid;place-content:center;gap:3px; }
.dashboard__topbar small { font-size:11px; }
.header-spacer { width:48px; }
.profile-completion { margin:24px 0;padding:20px;border:1px solid var(--arevys-gold);border-radius:20px;background:#24251f; }
.profile-completion h2 { font-size:22px;line-height:1.2; }
.app-nav { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;min-height:var(--arevys-nav-height);padding:8px 6px calc(8px + env(safe-area-inset-bottom));background:#0c1416;border-top:1px solid #35403a; }
.app-nav[hidden] { display:none; }
.app-nav__item { min-width:44px;min-height:56px;gap:5px;padding:5px 0;border-radius:14px; }
.app-nav__item i { width:25px;height:25px; }
.app-nav__item span { font-size:11px;letter-spacing:0; }
.app-nav__item.is-active { background:#28271e;color:#eed293; }
.app-toast { top:auto;bottom:calc(var(--arevys-nav-height) + env(safe-area-inset-bottom) + 14px);left:50%;width:min(350px,calc(100% - 32px));max-width:calc(100% - 32px);transform:translate(-50%,12px);padding:14px 18px;background:#e6d09a;color:#171b19;font-size:14px;border:1px solid #f4dfa8;border-radius:14px;box-shadow:0 12px 40px #0008; }
.app-toast.is-visible { transform:translate(-50%,0); }
html[data-arevys-view="workout"] .app-toast { bottom:calc(112px + env(safe-area-inset-bottom)); }
.product-workout { padding-bottom:calc(156px + env(safe-area-inset-bottom)); }
.session-action { padding:16px 18px calc(16px + env(safe-area-inset-bottom));bottom:0;min-height:100px;background:#10191b;gap:12px; }
.session-action>span { min-width:0;flex:1;font-size:11px; }
.session-action>button { min-height:52px;flex:1.25;font-size:12px;white-space:normal; }
.set-row { min-height:64px;grid-template-columns:25px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 48px;gap:7px; }
.set-head { grid-template-columns:25px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 48px;gap:7px; }
.set-check { width:48px;min-width:48px;height:48px; }
.set-row input { min-width:0;width:100%;height:48px;font-size:16px; }
.record-instructions,.previous-performance,.record-target { font-size:13px; }
.rest-clock nav { display:flex;gap:6px;flex-wrap:wrap; }
.rest-clock nav button { min-width:48px;min-height:44px;font-size:12px; }
.primary-cta,.secondary-cta,.compact-button,.text-action,.finish-link,.discard-link { min-height:48px;font-size:13px; }
.daily-context-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px; }
.daily-context-grid>div { min-height:94px;padding:12px 5px; }
.daily-context-grid span { font-size:11px; }
.daily-context-grid b { font-size:13px; }
.daily-recovery-number>span { font-size:12px; }
.profile-incomplete,.partial-session-note,.deload-card,.progression-card,.warmup-card { padding:18px;margin:18px 0;background:#192322;border:1px solid #59604b;border-radius:18px; }
.profile-incomplete h2,.deload-card h2,.warmup-card h2 { font-size:19px;margin:0 0 8px; }
.deload-card>div { display:flex;gap:8px;flex-wrap:wrap; }
.warmup-card label { display:flex;align-items:center;gap:12px;min-height:48px;font-size:14px; }
.warmup-card input { width:24px;height:24px;accent-color:var(--arevys-gold); }
.progression-card strong { color:#eed293;font-size:19px; }
.progression-card p { font-size:13px; }
.care-areas { margin:20px 0; }.care-areas>div { display:grid;grid-template-columns:1fr 1fr;gap:8px; }.care-areas button { min-height:48px;padding:10px;text-align:left;border:1px solid #66726a;border-radius:12px;background:#142023;color:#dce4dc; }.care-areas button[aria-pressed="true"] { border-color:#dabb75;background:#332e20;color:#ffe2a0; }
.body-groups button { min-height:60px; }.body-groups button[aria-pressed="true"] { outline:2px solid #ddc788;outline-offset:2px; }
.body-context>div { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px; }.body-context article { padding:10px 4px; }
.recovery-detail { scroll-margin-top:16px; }
.product-dialog,.food-confirm-dialog { max-width:min(430px,calc(100vw - 28px));max-height:calc(100dvh - 48px);padding:24px;border-radius:22px;overflow:auto; }
.product-dialog h2 { font-size:23px; }.product-dialog p { font-size:14px;line-height:1.6; }.product-dialog::backdrop,.food-confirm-dialog::backdrop { background:#020607c9;backdrop-filter:blur(5px); }
.checkin-sheet { max-height:calc(100dvh - env(safe-area-inset-top) - 24px);overflow:auto;padding-bottom:calc(24px + env(safe-area-inset-bottom)); }
.checkin-question>div { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px; }.checkin-question button { min-height:48px;min-width:0;font-size:11px;padding:8px 2px;white-space:normal; }.checkin-question button[aria-pressed="true"] { outline:2px solid #ddc788; }
.ai-presets { display:grid;grid-template-columns:1fr 1fr;gap:8px; }.ai-presets button { min-height:56px;padding:12px;font-size:13px;white-space:normal; }.ai-composer input { min-width:0;font-size:16px; }.ai-composer button { min-width:48px;min-height:48px; }
.library-avatar-switch { display:grid;grid-template-columns:1fr 1fr; }.library-avatar-switch button { min-height:48px;white-space:normal; }.filter-rail button,.media-source-tabs button { min-height:44px;font-size:12px; }
.training-mode button { min-height:56px;font-size:13px; }.training-tools-access { min-height:72px; }.training-library h2 { font-size:23px; }
.tools-tabs { display:flex;flex-wrap:wrap;gap:6px; }.tools-tabs button { min-height:44px;font-size:12px;flex:1 1 60px; }
.strength-intro :is(h1,h2),.bmi-intro :is(h1,h2) { font-family:var(--arevys-font);font-weight:850;letter-spacing:-1px; }.strength-intro .micro-label { font-size:11px; }
.strength-tool,.timer-studio { --instrument-accent:#dabb75;--timer-accent:#dabb75;--strength-accent:#dabb75; }.strength-value { color:#f2d18d; }.strength-bar { color:#dabb75; }
.strength-form-heading { flex-wrap:wrap;gap:10px; }.strength-units button { min-width:48px;min-height:44px; }
.bmi-clear,.nx-record-actions button,.food-water button,.food-back,.nx-tabs button { min-height:48px; }.nx-record-actions { gap:6px; }.nx-record-actions button:last-child { min-width:44px; }
.nx-privacy-note,.metric-note,.nutrition-privacy-note { color:#b7c0bd;font-size:13px;line-height:1.6; }
.timer-controls { position:static;bottom:auto;padding:12px 0;background:none; }.timer-controls .primary-cta { min-height:56px; }.timer-reset { min-width:48px;min-height:56px; }
.profile-avatar { background:radial-gradient(ellipse at 50% 35%,#d2bb8f22,#101b20); }.profile-avatar span { display:block;width:100%;height:100%;background-image:url('assets/images/avatars_arevys_v5.png');background-repeat:no-repeat;background-size:200% 100%; }
@media(max-width:375px) { .dashboard { padding-left:16px;padding-right:16px; }.dashboard__title { font-size:28px; }.session-action { padding-left:14px;padding-right:14px; }.opportunity-v2__meta { flex-wrap:wrap; }.profile-form label { min-width:0; }.bmi-intro :is(h1,h2) { font-size:40px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none;transition:none;scroll-behavior:auto; }.intro__frame { opacity:1; } }
.skip-link { min-height:44px;display:inline-flex;align-items:center; }
button,summary,a.text-action { min-height:44px;min-width:44px; }
button { overflow-wrap:anywhere; }
.superset-preference { display:flex;align-items:center;gap:12px;min-height:48px;margin:18px 0;font-size:14px;line-height:1.5; }
.superset-preference input { width:24px;height:24px;flex-shrink:0;accent-color:#dabb75; }
.field-error { font-size:13px; }
.strength-intro :is(h1,h2),.bmi-intro :is(h1,h2) { font-family:var(--arevys-font); }
.recovery-detail h2 { font-size:20px; }.recovery-detail p { font-size:14px; }
.media-source-tabs { display:flex;flex-wrap:wrap;gap:8px; }.media-source-tabs button { flex:1 1 110px;white-space:normal; }
.profile-form select { font-size:14px;padding-inline:10px 24px;max-width:100%; }
.biomechanics-media__watermark,.exercise-ficha-watermark { top:12px;bottom:auto;pointer-events:none; }
.exercise-trend { margin:22px 0;color:#eed293; }.exercise-trend svg { display:block;width:100%;height:auto; }.exercise-trend polyline { fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round; }.exercise-trend circle { fill:currentColor; }.exercise-trend .trend-grid { fill:none;stroke:#50605b;stroke-width:.6; }.exercise-trend figcaption { display:flex;justify-content:space-between;gap:12px;color:var(--arevys-muted);font-size:11px; }
@media(max-width:430px) { .profile-form { grid-template-columns:1fr; }.profile-form select { min-height:48px;font-size:16px; } }
.exercise-rail button>span { color:#e6ce95; }
.ai-composer { display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:8px; }.ai-composer button { width:48px; }
.nutrition-evolution svg text,.nutrition-progress svg text,.evolution-screen svg text { font-size:11px; }

/* v143 — Onboarding: the AREVYS gym film is the hero; one calm panel; one action bar.
 * Source file, compiled last into arevys-system-details.css by `npm run styles`.
 * Phone-first: svh units, safe areas, 44px+ targets, no horizontal scroll.
 */
#intro.onb {
  --onb-bg:#05090b; --onb-ink:#f3f1ea; --onb-muted:#b9c4c1; --onb-line:#2a3a3f; --onb-card:#0e181b;
  --onb-gold:#dabb75; --onb-gold-hi:#f0d58f; --onb-gold-lo:#c08a3c; --onb-hero:33svh;
  position:fixed; inset:0; z-index:20; display:flex; flex-direction:column; overflow:hidden;
  background:var(--onb-bg); color:var(--onb-ink); font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
#intro.onb[hidden] { display:none; }
#intro.onb[data-kind=welcome] { --onb-hero:47svh; }
#intro.onb[data-kind=fields],#intro.onb[data-kind=groups] { --onb-hero:36svh; }
#intro.onb[data-kind=guide] { --onb-hero:24svh; }

/* ---------- Hero film (the scroll-scrubbed gym sequence) ---------- */
#intro .onb__stage { position:absolute; inset:0 0 auto 0; height:var(--onb-hero); transition:height .55s cubic-bezier(.2,.7,.2,1); }
#intro .onb__frame { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 45%; opacity:1; }
#intro .onb__fade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(5,9,11,.55) 0%,rgba(5,9,11,0) 22%,rgba(5,9,11,0) 52%,rgba(5,9,11,.82) 82%,var(--onb-bg) 100%); }
#intro .onb__brand { position:absolute; left:0; right:0; top:42%; display:grid; justify-items:center; gap:10px; transform:translateY(-50%); pointer-events:none; transition:opacity .4s; }
#intro .onb__brand img { width:min(46vw,190px); height:auto; filter:drop-shadow(0 8px 30px #000c); }
#intro .onb__brand span { font-size:12px; font-weight:700; letter-spacing:.42em; color:#e9d29a; text-shadow:0 2px 12px #000; }

/* ---------- Top bar: logo · progress · skip ---------- */
#intro .onb__bar { position:relative; z-index:3; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:14px; padding:calc(10px + env(safe-area-inset-top,0px)) 16px 0 20px; }
#intro .onb__logo { width:34px; height:auto; filter:drop-shadow(0 2px 8px #000a); }
#intro .onb__progress { display:grid; gap:6px; min-width:0; }
#intro .onb__progress i { display:block; height:3px; border-radius:3px; background:rgba(255,255,255,.18); overflow:hidden; }
#intro .onb__progress b { display:block; height:100%; width:4%; border-radius:3px; background:linear-gradient(90deg,var(--onb-gold-lo),var(--onb-gold-hi)); transition:width .5s cubic-bezier(.2,.7,.2,1); }
#intro .onb__progress span { font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#e6dcc4; text-shadow:0 1px 8px #000; }
#intro .onb__skip { min-height:44px; min-width:44px; padding:0 14px; border:1px solid rgba(255,255,255,.22); border-radius:22px; background:rgba(5,9,11,.45); color:#f1eee6; font:600 13px/1 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
#intro[data-kind=guide] .onb__skip { visibility:hidden; }

/* ---------- Panel: scrolls under the hero, actions pinned ---------- */
#intro .onb__panel { position:relative; z-index:2; flex:1; display:flex; flex-direction:column; min-height:0; max-width:560px; width:100%; margin:0 auto; }
#intro .onb__scroll { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:calc(var(--onb-hero) - 96px) 20px 20px; scrollbar-width:none; transition:padding-top .55s cubic-bezier(.2,.7,.2,1); }
#intro .onb__scroll::-webkit-scrollbar { display:none; }
#intro .onb__head { display:grid; gap:8px; margin-bottom:20px; }
#intro .onb-eyebrow { font-size:12px; font-weight:700; letter-spacing:.18em; color:var(--onb-gold); }
#intro .onb-title { margin:0; font-size:clamp(28px,8.2vw,36px); line-height:1.08; font-weight:800; letter-spacing:-.02em; color:#fff; text-wrap:balance; outline:none; }
#intro .onb-description { margin:0; font-size:15px; line-height:1.5; color:var(--onb-muted); max-width:34ch; }

/* Entrance: content rises gently after each answer; the film keeps moving behind. */
@keyframes onbIn { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
#intro .onb__scroll>* { animation:onbIn .5s cubic-bezier(.2,.7,.2,1) both; }
#intro .onb__scroll>*:nth-child(2) { animation-delay:.06s; }
#intro .onb__scroll>*:nth-child(3) { animation-delay:.12s; }
#intro .onb__scroll>*:nth-child(4) { animation-delay:.18s; }

/* ---------- Welcome ---------- */
#intro[data-kind=welcome] .onb__scroll { padding-top:calc(var(--onb-hero) - 64px); }
#intro .onb-benefits { display:grid; gap:0; margin:0; padding:0; list-style:none; border-top:1px solid var(--onb-line); }
#intro .onb-benefits li { display:grid; grid-template-columns:34px minmax(0,1fr); align-items:center; gap:10px; min-height:40px; border-bottom:1px solid var(--onb-line); font-size:15px; color:#e8ece6; }
#intro .onb-benefits b { font-size:12px; font-weight:700; letter-spacing:.08em; color:var(--onb-gold); }

/* ---------- Single-choice options ---------- */
#intro .onb-options { display:grid; gap:10px; }
#intro .onb-option { display:grid; grid-template-columns:26px minmax(0,1fr); align-items:center; gap:14px; width:100%; min-height:64px; padding:12px 16px; border:1px solid var(--onb-line); border-radius:16px; background:rgba(14,24,27,.86); color:var(--onb-ink); text-align:left; font:inherit; cursor:pointer; transition:border-color .2s,background .2s,transform .15s; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
#intro .onb-option:active { transform:scale(.985); }
#intro .onb-option__mark { display:grid; place-items:center; width:24px; height:24px; border:1.5px solid #5d6f73; border-radius:50%; font-style:normal; font-size:13px; font-weight:800; color:#16170f; }
#intro .onb-option__text { display:grid; gap:3px; min-width:0; }
#intro .onb-option__text b { font-size:16px; font-weight:650; color:#fff; }
#intro .onb-option__text small { font-size:13px; line-height:1.4; color:var(--onb-muted); }
#intro .onb-option.is-selected { border-color:var(--onb-gold); background:linear-gradient(135deg,rgba(218,187,117,.16),rgba(14,24,27,.9)); }
#intro .onb-option.is-selected .onb-option__mark { border-color:var(--onb-gold); background:var(--onb-gold); }
#intro .onb-option:focus-visible,#intro .onb-primary:focus-visible,#intro .onb-back:focus-visible,#intro .onb__skip:focus-visible,#intro .onb-demo:focus-visible,#intro .onb-care button:focus-visible,#intro .onb-guide:focus-visible { outline:2px solid var(--onb-gold-hi); outline-offset:3px; }

/* ---------- Week: two segmented controls ---------- */
#intro .onb-group { margin:0 0 20px; padding:0; border:0; }
#intro .onb-group legend { margin:0 0 10px; padding:0; font-size:13px; font-weight:600; letter-spacing:.04em; color:#e6dcc4; }
#intro .onb-segment { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; padding:5px; border:1px solid var(--onb-line); border-radius:16px; background:rgba(14,24,27,.86); }
#intro .onb-segment .onb-option { grid-template-columns:1fr; justify-items:center; min-height:52px; padding:8px 4px; border:0; border-radius:12px; background:transparent; text-align:center; backdrop-filter:none; }
#intro .onb-segment .onb-option__mark { display:none; }
#intro .onb-segment .onb-option__text b { font-size:15px; color:#dfe5e1; }
#intro .onb-segment .onb-option.is-selected { background:linear-gradient(135deg,var(--onb-gold-hi),var(--onb-gold-lo)); }
#intro .onb-segment .onb-option.is-selected b { color:#16170f; }

/* ---------- Data: three measurement tiles ---------- */
#intro .onb-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
#intro .onb-field { position:relative; display:grid; justify-items:center; gap:2px; padding:14px 6px 10px; border:1px solid var(--onb-line); border-radius:18px; background:rgba(14,24,27,.9); text-align:center; }
#intro .onb-field:focus-within { border-color:var(--onb-gold); }
#intro .onb-field__label { font-size:12px; font-weight:600; letter-spacing:.06em; color:var(--onb-muted); }
#intro .onb-field input { box-sizing:border-box; width:100%; min-height:48px; padding:0; border:0; background:transparent; color:#fff; font:800 30px/1 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; text-align:center; font-variant-numeric:tabular-nums; outline:none; -moz-appearance:textfield; appearance:textfield; }
#intro .onb-field input::-webkit-outer-spin-button,#intro .onb-field input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
#intro .onb-field input::placeholder { color:#4f6064; }
#intro .onb-field__unit { font-size:13px; font-weight:600; color:var(--onb-gold); }
#intro .onb-field .field-error { min-height:14px; font-size:11px; line-height:1.2; color:#ff9a8a; }
#intro .onb-field.is-invalid { border-color:#c2564a; }

/* ---------- Care ---------- */
#intro .onb-care { margin:18px 0 0; padding:16px; border:1px solid #6d5f3c; border-radius:16px; background:rgba(41,38,27,.6); }
#intro .onb-care legend { float:left; width:100%; margin:0 0 12px; padding:0; font-size:15px; font-weight:650; color:#f4e6bf; }
#intro .onb-care div { clear:both; display:flex; flex-wrap:wrap; gap:8px; }
#intro .onb-care button { min-height:44px; padding:0 14px; border:1px solid #5b5340; border-radius:22px; background:#141d1f; color:#e9e4d6; font:600 14px/1 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
#intro .onb-care button[aria-pressed=true] { border-color:var(--onb-gold); background:var(--onb-gold); color:#16170f; }
#intro .onb-note { margin:16px 0 0; font-size:13px; line-height:1.5; color:#a9b5b1; }

/* ---------- Guide: summary + Aquiles, Helena coming soon ---------- */
#intro .onb-summary { display:grid; margin:16px 0 0; padding:4px 14px; border:1px solid var(--onb-line); border-radius:16px; background:rgba(14,24,27,.9); }
#intro .onb-summary div { display:flex; justify-content:space-between; align-items:baseline; gap:12px; min-height:40px; padding:9px 0; border-bottom:1px solid var(--onb-line); }
#intro .onb-summary div:last-child { border-bottom:0; }
#intro .onb-summary dt { font-size:13px; color:var(--onb-muted); }
#intro .onb-summary dd { margin:0; font-size:14px; font-weight:650; color:#fff; text-align:right; }
#intro .onb-guides { display:grid; grid-template-columns:minmax(0,1fr) 38%; gap:10px; align-items:stretch; }
#intro .onb-guide { position:relative; display:grid; overflow:hidden; border-radius:20px; text-align:left; font:inherit; }
#intro .onb-guide--aquiles { grid-template-rows:auto 1fr; min-height:300px; padding:0; border:1.5px solid var(--onb-gold); background:radial-gradient(ellipse at 50% 18%,rgba(218,187,117,.32),transparent 62%),linear-gradient(180deg,#1b1e17,#0b1215 70%); color:var(--onb-ink); cursor:pointer; box-shadow:0 18px 40px -18px rgba(218,187,117,.45); }
#intro .onb-guide--aquiles .onb-guide__portrait { display:block; height:190px; overflow:hidden; }
#intro .onb-guide--aquiles .onb-guide__portrait img { display:block; width:auto; height:330px; margin:6px auto 0; filter:drop-shadow(0 14px 22px #000); }
#intro .onb-guide__copy { display:grid; align-content:start; gap:5px; padding:12px 14px 14px; background:linear-gradient(180deg,rgba(11,18,21,0),#0b1215 26%); }
#intro .onb-guide__copy small { font-size:11px; font-weight:700; letter-spacing:.12em; color:var(--onb-gold); }
#intro .onb-guide__copy b { font-size:24px; font-weight:800; color:#fff; letter-spacing:-.01em; }
#intro .onb-guide__copy em { font-size:13px; line-height:1.4; font-style:normal; color:var(--onb-muted); }
#intro .onb-guide__check { display:inline-flex; align-items:center; gap:7px; margin-top:4px; font-size:13px; font-weight:700; color:#f0d58f; }
#intro .onb-guide__check i { display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:var(--onb-gold); color:#16170f; font-style:normal; font-size:12px; }
#intro .onb-guide--helena { grid-template-rows:1fr auto; cursor:not-allowed; border:1px dashed #3a484c; background:#0b1214; }
#intro .onb-guide--helena .onb-guide__portrait { display:block; min-height:170px; background-image:url('assets/images/avatars_arevys_v5.png'); background-repeat:no-repeat; background-size:auto 112%; background-position:93% 0; filter:grayscale(1) brightness(1.05); opacity:.8; }
#intro .onb-guide--helena .onb-guide__copy { padding:10px 12px 14px; }
#intro .onb-guide--helena b { font-size:18px; color:#9aa6a3; }
#intro .onb-guide__soon { justify-self:start; max-width:100%; padding:5px 8px; border:1px solid #4a5a5e; border-radius:12px; font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:#e6dcc4; background:#1a2427; }

/* ---------- Action bar ---------- */
#intro .onb__actions { position:relative; display:grid; gap:10px; padding:12px 20px calc(14px + env(safe-area-inset-bottom,0px)); background:linear-gradient(180deg,rgba(5,9,11,0),var(--onb-bg) 26%); }
#intro .onb__actions::before { content:''; position:absolute; left:0; right:0; top:-28px; height:28px; background:linear-gradient(180deg,rgba(5,9,11,0),var(--onb-bg)); pointer-events:none; }
#intro .onb-validation { margin:0; min-height:0; font-size:13px; line-height:1.4; color:#ffb4a6; text-align:center; }
#intro .onb-validation:empty { display:none; }
#intro .onb__buttons { display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px; }
#intro .onb__buttons:not(:has(.onb-back)) { grid-template-columns:1fr; }
#intro .onb-back { width:56px; min-height:56px; border:1px solid #3d4c50; border-radius:18px; background:#0e181b; color:#f1eee6; font:400 28px/1 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
#intro .onb-primary { display:flex; align-items:center; justify-content:center; gap:10px; min-height:56px; padding:0 20px; border:0; border-radius:18px; background:linear-gradient(135deg,var(--onb-gold-hi),var(--onb-gold-lo)); color:#15140c; font:800 15px/1 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; letter-spacing:.08em; box-shadow:0 12px 28px -12px rgba(218,187,117,.7),inset 0 1px rgba(255,255,255,.35); transition:filter .2s,opacity .2s; }
#intro .onb-primary.is-disabled,#intro .onb-primary[aria-disabled=true] { opacity:.42; box-shadow:none; filter:saturate(.4); }
#intro .onb-demo { min-height:44px; border:0; background:none; color:#d7cfb9; font:600 14px/1.2 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; text-decoration:underline; text-underline-offset:4px; text-decoration-color:rgba(218,187,117,.5); }

/* ---------- Short phones ---------- */
@media (max-height:720px) {
  #intro.onb { --onb-hero:30svh; }
  #intro.onb[data-kind=welcome] { --onb-hero:44svh; }
  #intro.onb[data-kind=fields],#intro.onb[data-kind=groups],#intro.onb[data-kind=guide] { --onb-hero:26svh; }
  #intro .onb-title { font-size:clamp(26px,7.4vw,32px); }
  #intro .onb-option { min-height:56px; padding:10px 14px; }
  #intro .onb-guide--aquiles { min-height:260px; }
  #intro .onb-guide--aquiles .onb-guide__portrait { height:150px; }
}
@media (prefers-reduced-motion:reduce) {
  #intro .onb__scroll>* { animation:none; }
  #intro .onb__stage,#intro .onb__scroll,#intro .onb__progress b { transition:none; }
}
#intro .onb__scroll:focus-visible { outline:2px solid rgba(218,187,117,.5); outline-offset:-4px; }

/* v144: the film is drawn on a canvas over the first frame (no flicker while decoding). */
#intro .onb__film { position:absolute; inset:0; width:100%; height:100%; display:block; }

}
