  /* ============================================================
     ESTUDIO SCULPT & FUERZA
     Mundo visual comprometido: fondo espresso cálido (taller de
     escultura / barro y yeso), acento naranja de horno,
     tipografía atlética condensada. Tema único deliberado —
     todo se pinta explícitamente.
     ============================================================ */
  :root{
    --ground:#15120E; --surface:#1E1A15; --raised:#292420; --raised-2:#332C26;
    --hairline:#3C352D; --hairline-soft:#2C2620;
    --ink:#F4EEE4; --ink-dim:#C8BEAE; --muted:#A0917E; --muted-2:#7C7062;
    --accent:#FF6A3D; --accent-deep:#C6431F; --accent-glow:rgba(255,106,61,.20);
    --sculpt:#FF6A3D; --fuerza:#5FA8C4; --barre:#D48FBD;
    --up:#5FA8C4; --low:#E0A03A; --core:#C56A8A; --prep:#8FA97C; --cardio:#E8563F;
    --ok:#7FB77E;
    --radius:14px; --radius-sm:9px;
    --shadow:0 10px 34px -12px rgba(0,0,0,.6);
    --f-display:"Barlow Condensed",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    --f-body:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
    --f-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
    color-scheme:dark;
  }
  *{box-sizing:border-box}
  html,body{margin:0}
  body{background:var(--ground);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
  ::selection{background:var(--accent);color:#1a0d06}
  h1,h2,h3,h4{font-family:var(--f-display);font-weight:600;margin:0;line-height:1.02;text-wrap:balance;letter-spacing:.005em}
  button{font-family:inherit;color:inherit;cursor:pointer}
  a{color:var(--accent);text-decoration:none}
  a:hover{text-decoration:underline}
  input,select,textarea{font-family:inherit;font-size:15px}
  :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
  .wrap{max-width:1120px;margin:0 auto;padding:0 20px}
  #app .wrap{animation:viewIn .32s cubic-bezier(.2,.7,.2,1) both}
  @keyframes viewIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

  .topbar{position:sticky;top:0;z-index:40;background:rgba(21,18,14,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--hairline-soft)}
  .topbar .wrap{display:flex;align-items:center;gap:18px;height:60px}
  .brand{display:flex;align-items:baseline;gap:9px;cursor:pointer;background:none;border:0;padding:0;flex:none}
  .brand .mark{font-family:var(--f-display);font-weight:700;font-size:22px;letter-spacing:.02em;color:var(--ink)}
  .brand .mark b{color:var(--accent);font-weight:700}
  .brand .tag{font-family:var(--f-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-2)}
  .nav{margin-left:auto;min-width:0;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .nav::-webkit-scrollbar{display:none}
  .nav button{background:none;border:0;padding:8px 12px;border-radius:8px;color:var(--muted);font-size:13px;font-weight:600;flex:none;transition:color .14s,background .14s}
  .nav button:hover{color:var(--ink);background:var(--raised)}
  .nav button.on{color:var(--accent)}

  .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--hairline);background:var(--raised);padding:10px 16px;border-radius:var(--radius-sm);font-weight:600;font-size:14px;transition:background .14s,border-color .14s,transform .06s}
  .btn:hover{background:var(--raised-2);border-color:var(--muted-2)}
  .btn:active{transform:translateY(1px)}
  .btn.primary{background:var(--accent);border-color:var(--accent);color:#1a0d06}
  .btn.primary:hover{background:#ff7a52}
  .btn.ghost{background:none}
  .btn.sm{padding:6px 11px;font-size:12.5px;border-radius:7px}
  .btn.big{padding:15px 26px;font-size:16px}
  .btn:disabled{opacity:.4;cursor:not-allowed}

  .chip{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:999px;border:1px solid var(--hairline);color:var(--muted);white-space:nowrap}
  .chip.up{color:var(--up);border-color:color-mix(in srgb,var(--up) 45%,transparent)}
  .chip.low{color:var(--low);border-color:color-mix(in srgb,var(--low) 45%,transparent)}
  .chip.core{color:var(--core);border-color:color-mix(in srgb,var(--core) 45%,transparent)}
  .chip.prep{color:var(--prep);border-color:color-mix(in srgb,var(--prep) 45%,transparent)}
  .chip.cardio{color:var(--cardio);border-color:color-mix(in srgb,var(--cardio) 50%,transparent)}
  .chip.solid{background:var(--accent-glow);color:var(--accent);border-color:transparent}
  .eyebrow{font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-2)}

  .hero{padding:38px 0 26px}
  .hero .eyebrow{display:block;margin-bottom:14px}
  .hero h1{font-size:clamp(38px,6.6vw,70px);font-weight:700;letter-spacing:.01em;line-height:.92}
  .hero h1 .o{color:var(--accent)}
  .hero p{max-width:54ch;color:var(--ink-dim);margin:16px 0 0;font-size:16px}

  .panel{background:var(--surface);border:1px solid var(--hairline-soft);border-radius:var(--radius);padding:22px}
  .setup{display:grid;gap:18px;margin:8px 0 40px}
  .setup .field{display:grid;gap:9px}
  .field > label.lbl{display:flex;align-items:center;gap:10px}
  .field .hint{font-size:12.5px;color:var(--muted-2)}

  .opt-row{display:flex;flex-wrap:wrap;gap:10px}
  .opt{flex:1 1 150px;min-width:140px;background:var(--raised);border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:14px 15px;text-align:left;transition:border-color .14s,background .14s}
  .opt:hover{border-color:var(--muted-2)}
  .opt.on{border-color:var(--accent);background:var(--accent-glow)}
  .opt .t{font-family:var(--f-display);font-weight:600;font-size:19px;display:block}
  .opt .d{font-size:12px;color:var(--muted);margin-top:3px;display:block}
  .opt.on .d{color:var(--ink-dim)}

  .metodo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
  .metodo{position:relative;background:var(--raised);border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:20px 18px 18px;text-align:left;transition:border-color .14s,background .14s,transform .1s;overflow:hidden}
  .metodo::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--tag,var(--muted-2));opacity:.55;transition:opacity .14s}
  .metodo:hover{transform:translateY(-2px);border-color:var(--muted-2)}
  .metodo.on{border-color:var(--tag,var(--accent));background:var(--accent-glow)}
  .metodo.on::before{opacity:1}
  .metodo .t{font-family:var(--f-display);font-weight:700;font-size:26px;line-height:1;transition:color .14s}
  .metodo.on .t{color:var(--tag,var(--ink))}
  .metodo .d{font-size:12.5px;color:var(--muted);margin-top:7px;display:block}
  .metodo.on .d{color:var(--ink-dim)}

  .mode-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
  .mode{background:var(--raised);border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:16px 15px;text-align:left;transition:border-color .14s,background .14s,transform .08s}
  .mode:hover{border-color:var(--muted-2);transform:translateY(-2px)}
  .mode.on{border-color:var(--accent);background:var(--accent-glow)}
  .mode .num{font-family:var(--f-mono);font-size:11px;color:var(--muted-2)}
  .mode .t{font-family:var(--f-display);font-weight:700;font-size:22px;margin-top:8px;line-height:1}
  .mode .blocks{margin-top:10px;display:flex;flex-direction:column;gap:3px}
  .mode .blocks span{font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:6px}
  .mode .blocks span::before{content:"";width:6px;height:6px;border-radius:2px;background:currentColor;flex:none}
  .mode .b-up{color:var(--up)} .mode .b-low{color:var(--low)} .mode .b-core{color:var(--core)}

  .toggle-line{display:flex;flex-wrap:wrap;gap:20px;align-items:center}
  .switch{display:flex;align-items:center;gap:9px;cursor:pointer;font-size:13.5px;color:var(--ink-dim)}
  .switch input{position:absolute;opacity:0;pointer-events:none}
  .switch .track{width:38px;height:22px;border-radius:999px;background:var(--raised-2);border:1px solid var(--hairline);position:relative;transition:background .15s}
  .switch .track::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--muted);transition:transform .15s,background .15s}
  .switch input:checked + .track{background:var(--accent-glow);border-color:var(--accent)}
  .switch input:checked + .track::after{transform:translateX(16px);background:var(--accent)}

  .seg{display:flex;gap:6px;flex-wrap:wrap}
  .seg button{background:var(--raised);border:1px solid var(--hairline);border-radius:7px;padding:7px 12px;font-size:13px;font-weight:600;color:var(--muted)}
  .seg button.on{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}

  .cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:8px}
  .est{font-family:var(--f-mono);font-size:12.5px;color:var(--muted)}
  .est b{color:var(--ink);font-weight:600}
  .mini-links{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}

  .tastes{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
  .taste{background:var(--raised);border:1px solid var(--hairline);border-radius:999px;padding:4px 10px;font-size:12.5px;display:flex;align-items:center;gap:6px}
  .taste button{background:none;border:0;color:var(--muted-2);font-size:13px;line-height:1;padding:0}
  .taste button:hover{color:var(--accent)}

  .plan-head{padding:26px 0 8px}
  .plan-head .row1{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px}
  .plan-head h2{font-size:clamp(28px,4.4vw,42px);font-weight:700;line-height:.95}
  .plan-head .meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center}
  .plan-actions{margin-left:auto;display:flex;flex-wrap:wrap;gap:9px}
  .rname{background:none;border:0;border-bottom:1px dashed var(--hairline);font-family:var(--f-display);font-weight:700;font-size:inherit;color:var(--ink);padding:2px 2px 4px;min-width:180px;max-width:100%}
  .rname:focus{outline:none;border-bottom-color:var(--accent)}

  .pl-brief{background:var(--surface);border:1px solid var(--hairline-soft);border-radius:var(--radius);padding:18px;margin:16px 0 4px;display:grid;gap:14px}
  .pl-brief h3{font-size:19px}
  .pl-curve{display:flex;gap:8px;flex-wrap:wrap}
  .pl-seg{flex:1 1 120px;background:var(--raised);border:1px solid var(--hairline-soft);border-radius:8px;padding:9px 11px}
  .pl-seg .s-nom{font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2)}
  .pl-seg .s-bpm{font-family:var(--f-display);font-weight:700;font-size:22px;color:var(--ink);line-height:1.1}
  .s-sug{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
  .sug-chip{font-family:var(--f-mono);font-size:10.5px;background:var(--accent-glow);border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:3px 8px;transition:background .14s}
  .sug-chip:hover{background:var(--accent);color:#1a0d06}
  .pl-seg .s-en{font-size:11px;color:var(--muted)}
  .pl-prompt{background:var(--ground);border:1px solid var(--hairline-soft);border-radius:8px;padding:12px;font-size:13px;color:var(--ink-dim);line-height:1.55}
  .pl-brief .row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

  .sections{display:grid;gap:16px;padding:14px 0 60px}
  .sec{background:var(--surface);border:1px solid var(--hairline-soft);border-radius:var(--radius);overflow:hidden}
  .sec-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--hairline-soft);border-left:4px solid var(--tagc,var(--muted-2))}
  .sec-head h3{font-size:21px;font-weight:600}
  .sec-head .s-meta{font-family:var(--f-mono);font-size:11px;color:var(--muted-2)}
  .sec-head .spacer{margin-left:auto}

  .ex{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:start;padding:13px 18px;border-top:1px solid var(--hairline-soft)}
  .ex:first-child{border-top:0}
  .ex .ord{display:flex;flex-direction:column;gap:2px;align-items:center;padding-top:2px}
  .ex .ord button{background:none;border:1px solid var(--hairline-soft);border-radius:5px;width:26px;height:19px;display:flex;align-items:center;justify-content:center;color:var(--muted-2);font-size:10px;line-height:1}
  .ex .ord button:hover{color:var(--ink);border-color:var(--muted-2)}
  .ex .idx{font-family:var(--f-mono);font-size:11px;color:var(--muted-2);text-align:center}
  .ex .body .name{font-family:var(--f-display);font-weight:600;font-size:19px;line-height:1.05}
  .ex .badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
  .ex .scheme{display:inline-flex;align-items:center;gap:8px;margin-top:9px;font-family:var(--f-mono);font-size:12.5px;color:var(--ink);background:var(--raised);border:1px solid var(--hairline);border-radius:7px;padding:4px 9px}
  .ex .scheme .n{color:var(--accent);font-weight:600}
  .ex .cue{font-size:12.5px;color:var(--muted);margin-top:8px;max-width:60ch}
  .ex .trans{font-family:var(--f-mono);font-size:11px;color:var(--muted-2);margin-top:8px;display:flex;align-items:center;gap:6px}
  .ex .trans::before{content:"↳";color:var(--accent)}
  .ex .trans.rest::before{content:"⏱"}
  .ex .acts{display:flex;flex-direction:column;gap:6px;align-items:flex-end}

  .pl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;padding:14px 0 50px}
  .pl-card{background:var(--surface);border:1px solid var(--hairline-soft);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:10px}
  .pl-card h4{font-size:20px;font-weight:600}
  .pl-card .kv{font-size:12.5px;color:var(--muted);display:flex;gap:6px;flex-wrap:wrap}
  .pl-bpm{font-family:var(--f-display);font-weight:700;font-size:30px;color:var(--ink);line-height:1}
  .pl-bpm small{font-family:var(--f-mono);font-size:11px;color:var(--muted-2);font-weight:400}
  .energy-bar{height:6px;border-radius:3px;background:var(--raised-2);overflow:hidden}
  .energy-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--low),var(--accent))}

  .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .form-grid .full{grid-column:1/-1}
  .inp{width:100%;background:var(--raised);border:1px solid var(--hairline);border-radius:8px;padding:9px 11px;color:var(--ink);transition:border-color .14s,box-shadow .14s}
  .inp:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
  select.inp{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23A0917E' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px;cursor:pointer}
  label.mini{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);display:block;margin-bottom:5px}

  .saved-list{display:grid;gap:10px;padding:14px 0 50px}
  .saved-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--hairline-soft);border-radius:var(--radius-sm);padding:13px 16px;transition:border-color .14s}
  .saved-row:hover{border-color:var(--hairline)}
  .saved-row .n{font-family:var(--f-display);font-weight:600;font-size:19px}
  .saved-row .spacer{margin-left:auto}
  .empty{text-align:center;color:var(--muted-2);padding:50px 20px;border:1px dashed var(--hairline);border-radius:var(--radius);background:var(--surface)}
  .empty p{margin:6px 0 0;font-size:13.5px}
  .empty b{color:var(--ink-dim)}

  /* música, historial y programas */
  .track-list{margin-top:14px;padding-top:14px;border-top:1px dashed var(--hairline-soft);display:grid;gap:12px}
  .track-block{display:flex;flex-direction:column;gap:7px;padding-left:11px;border-left:2px solid var(--tag,var(--hairline))}
  .track-songs{display:flex;flex-wrap:wrap;gap:6px}
  .track-chip{font-family:var(--f-mono);font-size:11.5px;background:var(--raised);border:1px solid var(--hairline);border-radius:6px;padding:4px 9px;color:var(--ink-dim)}
  .track-chip b{color:var(--accent);font-weight:600}
  textarea.inp{font-family:inherit;resize:vertical;min-height:70px}
  .prog-card{position:relative;background:var(--surface);border:1px solid var(--hairline-soft);border-radius:var(--radius);padding:18px 16px 16px;margin-bottom:14px;overflow:hidden}
  .prog-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--tag,var(--muted-2))}
  .fb-check{display:flex;gap:10px;align-items:center;background:var(--raised);border:1px solid var(--hairline-soft);border-radius:8px;padding:9px 10px;cursor:pointer;font-size:13.5px;transition:border-color .14s,background .14s}
  .fb-check:hover{border-color:var(--muted-2)}
  .fb-check input{flex:none;width:16px;height:16px;accent-color:var(--accent);cursor:pointer}
  .fb-check:has(input:checked){border-color:var(--accent);background:var(--accent-glow);color:var(--ink)}

  .scrim{position:fixed;inset:0;z-index:80;background:rgba(10,8,6,.72);display:flex;align-items:center;justify-content:center;padding:20px}
  .modal{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);max-width:520px;width:100%;max-height:90vh;overflow:auto;box-shadow:var(--shadow)}
  .modal-head{display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--hairline-soft)}
  .modal-head h3{font-size:20px}
  .modal-head .x{margin-left:auto;background:none;border:0;color:var(--muted);font-size:20px;line-height:1;padding:4px}
  .modal-body{padding:18px}
  .modal-foot{padding:14px 18px;border-top:1px solid var(--hairline-soft);display:flex;gap:10px;justify-content:flex-end}
  .picker{display:grid;gap:6px;max-height:46vh;overflow:auto;margin-top:6px}
  .picker button{text-align:left;background:var(--raised);border:1px solid var(--hairline-soft);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:3px}
  .picker button:hover{border-color:var(--accent)}
  .picker .pn{font-family:var(--f-display);font-weight:600;font-size:16px}
  .picker .pm{font-size:11.5px;color:var(--muted)}

  /* ---------- VISTA INSTRUCTOR ---------- */
  .iv{position:fixed;inset:0;z-index:100;background:radial-gradient(1100px 700px at 50% 38%,var(--surface),var(--ground) 72%);display:flex;flex-direction:column}
  .iv-top{display:flex;align-items:center;gap:14px;padding:14px 20px;border-bottom:1px solid var(--hairline-soft)}
  .iv-prog{flex:1;height:6px;background:var(--raised);border-radius:3px;overflow:hidden}
  .iv-prog i{display:block;height:100%;background:var(--accent);transition:width .3s}
  .iv-top .clock{font-family:var(--f-mono);font-size:14px;color:var(--ink-dim)}
  .iv-top .count-lbl{font-family:var(--f-mono);font-size:12px;color:var(--muted-2)}
  .iv-x{background:none;border:1px solid var(--hairline);border-radius:8px;padding:7px 13px;font-weight:600;font-size:13px}

  .iv-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px 24px;cursor:pointer;position:relative;gap:20px;min-height:0}
  .iv-sec{display:flex;align-items:center;gap:10px}
  .iv-sec .dot{width:11px;height:11px;border-radius:3px;background:var(--tagc,var(--accent))}
  .iv-sec span{font-family:var(--f-mono);font-size:clamp(12px,1.8vw,15px);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
  .iv-name{font-family:var(--f-display);font-weight:700;font-size:clamp(34px,7.6vw,92px);line-height:.9;color:var(--ink);max-width:18ch}
  .iv-badges{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
  .iv-badges .chip{font-size:clamp(11px,1.5vw,14px);padding:5px 12px}
  .iv-scheme{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;justify-content:center}
  .iv-reps{font-family:var(--f-display);font-weight:700;font-size:clamp(40px,10vw,120px);line-height:.8;color:var(--accent)}
  .iv-reps .u{font-size:.32em;color:var(--ink);letter-spacing:.04em;margin-left:.12em}
  .iv-tempo{font-family:var(--f-mono);font-size:clamp(15px,2.4vw,28px);color:var(--ink-dim);letter-spacing:.06em}
  .iv-side{font-family:var(--f-mono);font-size:clamp(13px,2vw,20px);color:var(--low);letter-spacing:.1em;text-transform:uppercase}
  .iv-cue{font-size:clamp(15px,2.3vw,23px);color:var(--ink-dim);max-width:32ch}

  .iv-nine{display:flex;gap:clamp(7px,1.6vw,15px);align-items:center;flex-wrap:wrap;justify-content:center}
  .iv-nine i{width:clamp(15px,3.2vw,28px);height:clamp(15px,3.2vw,28px);border-radius:50%;border:2px solid var(--hairline);background:transparent;transition:background .08s,border-color .08s,transform .08s}
  .iv-nine i.on{background:var(--ink);border-color:var(--ink)}
  .iv-nine i.beat{background:var(--accent);border-color:var(--accent);transform:scale(1.18)}

  .iv-pills{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
  .iv-pills i{min-width:clamp(30px,7vw,54px);text-align:center;padding:7px 4px;border-radius:8px;border:2px solid var(--hairline);font-family:var(--f-mono);font-size:clamp(13px,2vw,18px);color:var(--muted-2)}
  .iv-pills i.done{background:var(--raised-2);color:var(--ink-dim);border-color:var(--hairline)}
  .iv-pills i.now{background:var(--accent);color:#1a0d06;border-color:var(--accent);font-weight:600}

  .iv-pulse{position:absolute;top:16px;right:20px;display:flex;flex-direction:column;align-items:center;gap:6px}
  .iv-ring{width:74px;height:74px;border-radius:50%;border:3px solid var(--accent);display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:20px;color:var(--ink);font-weight:600}
  .iv-ring.rest{border-color:var(--fuerza)}
  .iv-ring.tick{animation:ring var(--beat,.5s) ease-out}
  @keyframes ring{0%{box-shadow:0 0 0 0 var(--accent-glow);transform:scale(1.06)}100%{box-shadow:0 0 0 16px transparent;transform:scale(1)}}
  .iv-pulse small{font-family:var(--f-mono);font-size:9px;letter-spacing:.14em;color:var(--muted-2)}
  .iv-sets{font-family:var(--f-mono);font-size:12px;color:var(--muted)}

  .iv-next{display:flex;align-items:center;gap:14px;padding:14px 22px;border-top:1px solid var(--hairline-soft);background:var(--surface)}
  .iv-next .lbl{font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);flex:none}
  .iv-next .nm{font-family:var(--f-display);font-weight:600;font-size:clamp(16px,2.5vw,23px);color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .iv-next .nq{font-family:var(--f-mono);font-size:12px;color:var(--muted);flex:none;margin-left:auto}

  .iv-ctrl{display:flex;align-items:center;gap:10px;padding:12px 20px;border-top:1px solid var(--hairline-soft);justify-content:center;flex-wrap:wrap}
  .iv-ctrl button{background:var(--raised);border:1px solid var(--hairline);border-radius:10px;padding:12px 20px;font-weight:700;font-size:15px;display:flex;align-items:center;gap:8px}
  .iv-ctrl button.wide{flex:1;max-width:300px;justify-content:center}
  .iv-ctrl button.go{background:var(--accent);border-color:var(--accent);color:#1a0d06}
  .iv-ctrl .bpm-ctl{display:flex;align-items:center;gap:4px}
  .iv-ctrl .bpm-ctl button{padding:12px 14px}
  .iv-hint{text-align:center;font-family:var(--f-mono);font-size:10.5px;color:var(--muted-2);padding:0 0 10px;letter-spacing:.08em}

  @media (max-width:820px){
    .mode-grid{grid-template-columns:1fr 1fr}
    .plan-actions{margin-left:0;width:100%}
    .form-grid{grid-template-columns:1fr}
    .ex{grid-template-columns:28px 1fr;grid-template-areas:"ord body" "idx acts"}
    .ex .ord{grid-area:ord}.ex .body{grid-area:body}.ex .acts{grid-area:acts;flex-direction:row;flex-wrap:wrap;align-items:center}.ex .idx{grid-area:idx}
    .iv-pulse{position:static;flex-direction:row;margin-top:-4px}
  }
  @media (max-width:720px){ .metodo-grid{grid-template-columns:1fr} }
  @media (max-width:520px){ .mode-grid{grid-template-columns:1fr} .brand .tag{display:none} }
  @media (prefers-reduced-motion:reduce){ *{animation-duration:.001s!important;transition-duration:.01s!important} .iv-ring.tick{animation:none;box-shadow:0 0 0 3px var(--accent-glow)} }
  .exp-box{width:100%;min-height:320px;background:var(--ground);border:1px solid var(--hairline);border-radius:8px;padding:12px;color:var(--ink-dim);font-family:var(--f-mono);font-size:12px;line-height:1.5;white-space:pre;overflow:auto;resize:vertical}

  @media print{
    .topbar,#overlay,.plan-actions,.pl-brief,.ex .ord,.ex .acts,.sec-head .btn,.mini-links,.nav{display:none!important}
    html,body{background:#fff!important;color:#000!important;font-size:10.5pt}
    .wrap{max-width:none;padding:0}
    .plan-head{padding:0 0 6px}
    .plan-head h2,.rname{color:#000;font-size:19pt;border:0}
    .eyebrow{color:#666}
    .plan-head .meta{margin-top:6px}
    .meta .chip{border:1px solid #999;color:#333;background:none}
    .sections{gap:7px;padding:6px 0 0}
    .sec{border:1px solid #bbb;border-radius:5px;break-inside:avoid}
    .sec-head{border-left:3px solid #333;border-bottom:1px solid #ccc;padding:5px 10px}
    .sec-head h3{color:#000;font-size:12.5pt}
    .sec-head .s-meta{color:#666}
    .ex{grid-template-columns:1fr!important;grid-template-areas:"body"!important;padding:5px 10px;border-top:1px solid #e8e8e8;gap:3px}
    .ex .body{grid-area:body}
    .ex .body .name{color:#000;font-size:11.5pt}
    .ex .badges .chip{border:1px solid #bbb;color:#444}
    .ex .scheme{background:none;border:1px solid #bbb;color:#000}
    .ex .scheme .n{color:#000}
    .ex .cue{color:#333}
    .ex .trans{color:#555}
    .ex .trans::before{color:#000}
    @page{margin:13mm}
  }
