#np_calc_final{
        --bg: #0e1320;
        --bg-grad: radial-gradient(1200px 600px at 50% -10%, #1a2238 0%, #0e1320 60%);
        --card: #151c2d;
        --card-soft: #1a2236;
        --ink: #e9e5d8;
        --muted: #97a0b5;
        --line: #2a3349;
        --gold: #d4af4f;
        --gold-soft: rgba(212,175,79,0.12);
        --danger: #d98a6a;
        --radius: 14px;
    }#np_calc_final *{ box-sizing: border-box; }#np_calc_final{ scroll-behavior: smooth; }
    @media (prefers-reduced-motion: reduce) {#np_calc_final{ scroll-behavior: auto; }#np_calc_final *{ transition: none !important; animation: none !important; }
    }#np_calc_final{
        font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
        margin: 0;
        padding: 28px 18px 60px;
        line-height: 1.6;
        color: var(--ink);
        background: var(--bg);
        background-image: var(--bg-grad);
        background-attachment: fixed;
    }#np_calc_final .wrap{ max-width: 1100px; margin: 0 auto; }#np_calc_final h1,#np_calc_final h2,#np_calc_final h3,#np_calc_final .numero,#np_calc_final .num-grande{
        font-family: Georgia, 'Times New Roman', serif;
        font-weight: 600;
        letter-spacing: 0.3px;
    }#np_calc_final h1{
        font-size: clamp(28px, 4.5vw, 42px);
        line-height: 1.1;
        margin: 0 0 8px;
        color: var(--ink);
    }#np_calc_final h1 span{ color: var(--gold); }#np_calc_final h2{
        font-size: 24px;
        margin: 0 0 6px;
        padding-bottom: 10px;
        border-bottom: 1px solid var(--line);
        color: var(--gold);
    }#np_calc_final h2 .seccion-sub{
        display: block;
        font-family: 'Segoe UI', system-ui, sans-serif;
        font-size: 13px;
        font-weight: 400;
        color: var(--muted);
        letter-spacing: 0.5px;
        margin-top: 2px;
    }#np_calc_final h3{ font-size: 18px; margin: 0 0 6px; color: var(--gold); }#np_calc_final p{ margin-top: 0; color: var(--ink); }#np_calc_final header.principal{
        text-align: center;
        padding: 26px 10px 18px;
        margin-bottom: 10px;
    }#np_calc_final .intro{
        color: var(--muted);
        font-size: 16px;
        max-width: 720px;
        margin: 0 auto;
    }#np_calc_final .panel{
        background: var(--card);
        border: 1px solid var(--line);
        border-radius: var(--radius);
        padding: 24px;
        margin-top: 22px;
        box-shadow: 0 10px 30px rgba(0,0,0,0.35);
    }#np_calc_final label{
        display: block;
        margin-top: 14px;
        font-weight: 600;
        font-size: 14px;
        color: var(--muted);
        letter-spacing: 0.4px;
        text-transform: uppercase;
    }#np_calc_final input{
        width: 100%;
        padding: 13px 14px;
        margin-top: 7px;
        font-size: 17px;
        border-radius: 10px;
        border: 1px solid var(--line);
        background: #0f1525;
        color: var(--ink);
        font-family: inherit;
    }#np_calc_final input:focus{
        outline: 2px solid var(--gold);
        outline-offset: 1px;
        border-color: var(--gold);
    }#np_calc_final button.principal-btn{
        width: 100%;
        margin-top: 20px;
        padding: 14px;
        font-size: 17px;
        font-weight: 600;
        letter-spacing: 0.5px;
        border-radius: 10px;
        border: 1px solid var(--gold);
        background: var(--gold);
        color: #14180f;
        cursor: pointer;
        transition: background 0.15s, color 0.15s;
        font-family: inherit;
    }#np_calc_final button.principal-btn:hover{ background: #e2c46a; }#np_calc_final button.principal-btn:focus-visible{ outline: 2px solid var(--ink); outline-offset: 2px; }#np_calc_final .rueda-cont{
        display: flex;
        justify-content: center;
        margin: 6px 0 0;
    }#np_calc_final .rueda-cont svg{ max-width: 340px; width: 100%; height: auto; }#np_calc_final .rueda-num{ cursor: pointer; }#np_calc_final .rueda-num circle{
        fill: var(--card-soft);
        stroke: var(--line);
        stroke-width: 1.5;
        transition: fill 0.2s, stroke 0.2s;
    }#np_calc_final .rueda-num text{
        font-family: Georgia, serif;
        font-size: 17px;
        fill: var(--muted);
        text-anchor: middle;
        dominant-baseline: central;
        transition: fill 0.2s;
        pointer-events: none;
    }#np_calc_final .rueda-num.activo circle{ fill: var(--gold); stroke: var(--gold); }#np_calc_final .rueda-num.activo text{ fill: #14180f; font-weight: bold; }#np_calc_final .rueda-num:hover circle{ stroke: var(--gold); }#np_calc_final .rueda-leyenda{
        text-align: center;
        font-size: 13px;
        color: var(--muted);
        margin-top: 4px;
    }#np_calc_final .grid{
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
        gap: 16px;
        margin-top: 18px;
    }#np_calc_final .card{
        background: var(--card-soft);
        border: 1px solid var(--line);
        border-radius: 12px;
        padding: 18px;
        position: relative;
        color: var(--ink);
    }#np_calc_final .card.nucleo{ border-top: 3px solid var(--gold); }#np_calc_final .tag{
        display: inline-block;
        font-size: 11px;
        font-weight: 600;
        letter-spacing: 1.2px;
        text-transform: uppercase;
        color: var(--gold);
        margin-bottom: 6px;
    }#np_calc_final .numero{
        font-size: 42px;
        line-height: 1;
        color: var(--ink);
        margin-bottom: 2px;
    }#np_calc_final .numero small{
        font-size: 16px;
        color: var(--muted);
        font-family: 'Segoe UI', system-ui, sans-serif;
    }#np_calc_final .que-es{
        font-size: 13px;
        color: var(--muted);
        margin: 4px 0 10px;
    }#np_calc_final .card p{ font-size: 14.5px; margin-bottom: 8px; color: var(--ink); }#np_calc_final .card p:last-child{ margin-bottom: 0; }#np_calc_final .maestro-badge{
        position: absolute;
        top: 14px;
        right: 14px;
        font-size: 10.5px;
        font-weight: 700;
        letter-spacing: 1px;
        text-transform: uppercase;
        background: var(--gold-soft);
        border: 1px solid var(--gold);
        color: var(--gold);
        padding: 3px 8px;
        border-radius: 999px;
    }#np_calc_final .nota{
        background: var(--gold-soft);
        border: 1px solid rgba(212,175,79,0.4);
        border-radius: 10px;
        padding: 14px 16px;
        margin-top: 16px;
        font-size: 14.5px;
        color: var(--ink);
        line-height: 1.7;
    }#np_calc_final .nota strong{ color: var(--gold); }#np_calc_final details{
        margin-top: 16px;
        background: var(--card-soft);
        border: 1px solid var(--line);
        border-radius: 10px;
        padding: 0;
        overflow: hidden;
    }#np_calc_final details summary{
        cursor: pointer;
        padding: 13px 16px;
        font-weight: 600;
        color: var(--gold);
        list-style: none;
        user-select: none;
    }#np_calc_final details summary::-webkit-details-marker{ display: none; }#np_calc_final details summary::before{ content: "▸ "; }#np_calc_final details[open] summary::before{ content: "▾ "; }#np_calc_final details .box{
        padding: 0 16px 16px;
        white-space: pre-wrap;
        overflow-wrap: anywhere;
        font-family: 'Consolas', 'Courier New', monospace;
        font-size: 13.5px;
        color: var(--muted);
        line-height: 1.7;
    }#np_calc_final .pinaculos{
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: 14px;
        margin-top: 18px;
    }#np_calc_final .pinaculo{
        background: var(--card-soft);
        border: 1px solid var(--line);
        border-radius: 12px;
        padding: 16px;
        border-left: 3px solid var(--gold);
        color: var(--ink);
    }#np_calc_final .pinaculo.actual{
        border: 1px solid var(--gold);
        border-left: 3px solid var(--gold);
        background: var(--gold-soft);
    }#np_calc_final .pinaculo .etapa{
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 1px;
        text-transform: uppercase;
        color: var(--muted);
    }#np_calc_final .pinaculo .num-grande{
        font-size: 34px;
        color: var(--ink);
        margin: 4px 0 2px;
        font-family: Georgia, serif;
    }#np_calc_final .pinaculo h3{ font-size: 15.5px; color: var(--gold); }#np_calc_final .pinaculo p{ font-size: 13.5px; color: var(--ink); }#np_calc_final .pinaculo .desafio-linea{
        font-size: 13.5px;
        color: var(--muted);
        margin-top: 8px;
        padding-top: 8px;
        border-top: 1px dashed var(--line);
    }#np_calc_final .pinaculo .desafio-linea strong{ color: var(--danger); }#np_calc_final .etiqueta-actual{
        display: inline-block;
        font-size: 10.5px;
        font-weight: 700;
        letter-spacing: 1px;
        text-transform: uppercase;
        color: var(--gold);
        margin-left: 6px;
    }#np_calc_final .ciclo-fila{
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
        gap: 14px;
        margin-top: 18px;
    }#np_calc_final .ciclo-card{
        text-align: center;
        background: var(--card-soft);
        border: 1px solid var(--line);
        border-radius: 12px;
        padding: 18px 14px;
        color: var(--ink);
    }#np_calc_final .ciclo-card .num-grande{
        font-size: 46px;
        color: var(--gold);
        line-height: 1;
        font-family: Georgia, serif;
    }#np_calc_final .ciclo-card .etapa{
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 1px;
        text-transform: uppercase;
        color: var(--muted);
        margin-bottom: 6px;
    }#np_calc_final .ciclo-card p{ font-size: 13.5px; color: var(--ink); margin: 8px 0 0; }#np_calc_final .tabla-letras{
        width: 100%;
        border-collapse: collapse;
        margin-top: 14px;
        font-size: 14px;
        color: var(--ink);
    }#np_calc_final .tabla-letras td,#np_calc_final .tabla-letras th{
        border: 1px solid var(--line);
        padding: 7px 6px;
        text-align: center;
        color: var(--ink);
    }#np_calc_final .tabla-letras th{
        background: var(--card-soft);
        color: var(--gold);
        font-family: Georgia, serif;
    }#np_calc_final footer{
        margin-top: 36px;
        color: var(--muted);
        font-size: 13px;
        text-align: center;
    }#np_calc_final .error-msg{
        background: rgba(217,138,106,0.12);
        border: 1px solid var(--danger);
        color: var(--danger);
        border-radius: 10px;
        padding: 13px 16px;
        margin-top: 16px;
        display: none;
    }#np_calc_final .guia-card{
        background: var(--card-soft);
        border: 1px solid var(--line);
        border-radius: 12px;
        padding: 18px;
        color: var(--ink);
    }#np_calc_final .guia-card .numero{ font-size: 36px; color: var(--ink); margin-bottom: 4px; }#np_calc_final .guia-card h3{ font-size: 16px; color: var(--gold); margin: 0 0 8px; }#np_calc_final .guia-card p{ font-size: 14px; color: var(--ink); margin: 0; }

    /* sin @media print aquí — el PDF se genera en ventana propia limpia */

#np_calc_final{--bg:#fbf8f3;--bg-grad:none;--card:#fff;--card-soft:#f3ede4;--ink:#203d38;--muted:#68635c;--line:#ded4c7;--gold:#856126;--gold-soft:#f4eedf;--danger:#a34e34;--radius:8px;padding:0 0 50px;background:var(--bg);color:var(--ink)}
#np_calc_final .panel{box-shadow:none}#np_calc_final input{background:#fbf8f3;color:#203d38}#np_calc_final .principal-btn{background:#203d38;color:#fff;border-color:#203d38}#np_calc_final .principal-btn:hover{background:#34584e}#np_calc_final .rueda-num.activo text{fill:#fff}#np_calc_final .intro{font-size:17px}#np_calc_final .card p{font-size:16px}#np_calc_final .error-msg{color:#a34e34}#np_calc_final .panel h2{line-height:1.25}#np_calc_final .tabla-letras{width:100%}#np_calc_final input{max-width:100%}#np_calc_final .grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}#np_calc_final .privacy-note{font-size:14px;color:#68635c;margin-top:16px}

#np_calc_final .lectura-conjunta{background:#f3ede4;border-left:3px solid #856126;padding:22px;border-radius:4px;line-height:1.8;font-size:16px} #np_calc_final .lectura-conjunta .note-box{margin:0!important}
