:root{color-scheme:light;--blue:#1261a7;--blue-dark:#084a84;--ink:#152638;--muted:#617184;--border:#dee7ef;--bg:#f4f7fb;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.58 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}a{color:var(--blue)}.wrap{max-width:1080px;margin:auto;padding:25px 22px 60px}.hero{margin:0 0 23px}.tag{text-transform:uppercase;letter-spacing:.11em;color:#367aaa;font-size:12px;font-weight:750}.hero h1{font-size:clamp(25px,4vw,35px);line-height:1.23;margin:7px 0 8px}.hero p{max-width:820px;color:#4b6174;margin:0}.panel{background:white;border:1px solid var(--border);border-radius:13px;box-shadow:0 3px 16px rgba(25,58,92,.04);padding:24px;margin-bottom:19px}.tabbar{display:flex;gap:6px;background:#edf3f9;padding:5px;border-radius:10px;margin:0 0 23px}.tab{flex:1;padding:11px 8px;border-radius:8px;text-decoration:none;color:#49657f;text-align:center;font-weight:700}.tab.active{color:var(--blue-dark);background:white;box-shadow:0 1px 4px #b4c5d5}label{font-weight:650;display:block}.mathlabel{font-weight:400}.input-row{display:flex;gap:10px;margin-top:7px}.input-row input{width:100%;flex:1;min-width:0;border:1px solid #b9cce0;border-radius:9px;padding:13px 14px;font:17px ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--ink)}input:focus,button:focus-visible,a:focus-visible{outline:3px solid #79b5eb;outline-offset:2px}.primary{border:0;background:var(--blue);color:white;font-size:15px;font-weight:740;border-radius:9px;padding:0 22px;cursor:pointer;white-space:nowrap}.primary:hover{background:#084c8d}.examples{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:14px;font-size:13px;color:var(--muted)}.example{border:1px solid #d9e5f1;background:#f4f9ff;border-radius:7px;padding:5px 8px;color:#235d93;cursor:pointer;font:13px ui-monospace,monospace}.example:hover{background:#e2f1fc}.settings{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px}.settings label{font-size:13px;color:#43576c}.settings input{display:block;margin-top:5px;width:138px;border-radius:8px;border:1px solid #d0dce7;padding:7px;font:inherit}.help,.footnote{font-size:13px;color:#66788a;margin-bottom:0}.help code{background:#edf2f8;padding:1px 4px;border-radius:3px}.error{background:#fff0ef;border:1px solid #efc4c0;color:#9b2923;border-radius:10px;padding:14px;margin-bottom:15px}.analysis-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.analysis h2,.chart-panel h2{font-size:23px;line-height:1.3;margin:3px 0 0}.status{font-weight:700;border:1px solid #cfd9e2;color:#516273;border-radius:50px;padding:5px 11px;font-size:12px;white-space:nowrap}.status.convergente,.status.assoluta,.status.condizionata{background:#eff8f2;color:#226042;border-color:#c4e5d0}.status.divergente,.status.oscillante,.status.non-definita{background:#fff4ea;color:#8c4d1b;border-color:#f3d7bb}.formula{text-align:center;padding:16px 8px;margin:18px 0 6px;background:#f5f9fe;border-radius:9px;overflow-x:auto}.steps{counter-reset:steps}.step{border-top:1px solid #e9eef3;padding:16px 0}.step h3{font-size:17px;margin:0 0 5px}.step p{margin:0;color:#3c5064}.stepmath{margin:8px 0 0;overflow-x:auto;color:#163c64}.exact{padding:12px 14px;border-radius:8px;background:#eff7ff;border:1px solid #d6e8fb;font-weight:650}.chart-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.subtle,.chart-note{font-size:13px;color:var(--muted)}.graph-select{display:flex;align-items:center;gap:18px;margin:20px 0 9px;flex-wrap:wrap}.graph-select label{font-size:14px}.graph-select input{width:min(410px,100%);accent-color:var(--blue)}.chart-frame{height:350px;border:0;border-radius:0;background:#fff;position:relative;overflow:hidden}.chart-frame canvas{width:100%;height:100%;display:block}.tooltip{position:absolute;pointer-events:none;background:#153b5e;color:white;padding:6px 9px;border-radius:7px;box-shadow:0 5px 20px #1235;font-size:12px}.terms{margin-top:18px}.terms summary{cursor:pointer;font-weight:650;color:#205c90}.table-scroll{max-height:430px;overflow:auto;margin-top:13px}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid #e7edf4;padding:8px}th{background:#f5f8fc;position:sticky;top:0}.welcome-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.info{border:1px solid var(--border);border-radius:12px;background:white;padding:20px}.info h2{margin:0 0 8px;font-size:20px}.info p{color:var(--muted)}.safety-note{padding:17px 22px;margin-top:18px;border-left:3px solid #7faccc;background:#ecf3f8;border-radius:0 9px 9px 0}.safety-note h2{font-size:18px;margin:0 0 5px}.safety-note p{font-size:14px;margin:0;color:#455a71}footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:#768497;border-top:1px solid #dce5ec;margin-top:25px;padding-top:16px}footer a{font-weight:650}@media(max-width:660px){.wrap{padding:19px 13px 35px}.panel{padding:17px}.input-row{flex-direction:column}.primary{padding:12px}.analysis-head{align-items:flex-start;flex-direction:column}.welcome-grid{grid-template-columns:1fr}.chart-frame{height:290px}.stepmath{font-size:90%}}

/* Integrazione v1.1: intestazione e ritmo verticale coerenti con gli altri strumenti. */
body > .lab-topbar + main.wrap{padding-top:24px}
@media(max-width:660px){body > .lab-topbar + main.wrap{padding-top:20px}}

/* v1.2: grafico senza cornice; scelta della curva nella sezione serie */
.chart-frame{border:none!important;border-radius:0!important;box-shadow:none!important}
.graph-tools{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:9px 0 2px}
.graph-tools>span{color:var(--muted);font-size:13px;font-weight:650;margin-right:4px}
.graph-mode{border:1px solid #cbd9e5;border-radius:7px;background:#f7fafd;color:#305e85;padding:5px 11px;cursor:pointer;font-size:13px;font-weight:650}
.graph-mode[aria-pressed="true"]{background:#1766a8;color:#fff;border-color:#1766a8}
.graph-mode:focus-visible{outline:3px solid #79b5eb;outline-offset:2px}

/* v1.3: assi e indicazione esplicita dei valori limite all’interno del canvas. */
.chart-frame{border:0!important;box-shadow:none!important;background:#fff!important}
.stepmath{line-height:1.65;white-space:normal}
.step .MathJax{font-size:1.05em}

/* v1.4: glossario facoltativo, fuori dal percorso principale della dimostrazione */
.math-glossary { margin-top:16px; border-top:1px solid #e4ebf3; padding-top:14px; color:#304c68; }
.math-glossary summary { cursor:pointer; color:#115b9a; font-weight:650; font-size:.92rem; }
.math-glossary dl { margin:12px 0 4px; display:grid; gap:6px 14px; grid-template-columns:minmax(155px, 33%) 1fr; font-size:.9rem; line-height:1.55; }
.math-glossary dt { font-weight:700; }
.math-glossary dd { margin:0 0 9px; }
@media(max-width:600px){.math-glossary dl{display:block}.math-glossary dt{margin-top:11px}.math-glossary dd{margin-top:2px}}

/* v1.5: leggibilità delle dimostrazioni e significato dei simboli subito visibile */
.reading-guide{font-size:14px;line-height:1.65;background:#f5f9fe;border-left:3px solid #b9d4e9;padding:11px 15px;margin:12px 0 2px;color:#354f69}
.step{padding:20px 0}.step p{line-height:1.72}.stepmath{margin-top:12px;padding:7px 0;font-size:1.045rem}.stepmath mjx-container[jax="CHTML"][display="true"]{margin:10px 0!important}
@media(max-width:660px){.stepmath{font-size:.98rem}.reading-guide{font-size:13px;padding:10px}}

/* v1.7: risultato, grafico e dimostrazione su tre pannelli distinti. */
.explanation-panel>h2{font-size:22px;margin:0 0 12px;color:#16324f}
.analysis-summary .exact{margin-top:10px}
.exact-value{font-size:1.05rem;font-weight:400;overflow-x:auto}
.exact-value mjx-container[jax="CHTML"][display="true"]{margin:10px 0 0!important}


/* v1.8 — Formule senza scrollbar interne o ritagli verticali. */
.formula,.stepmath,.exact-value{overflow:visible!important;max-width:100%;min-width:0}
.formula mjx-container[jax="CHTML"],.stepmath mjx-container[jax="CHTML"],.exact-value mjx-container[jax="CHTML"]{overflow:visible!important;max-width:none!important}
.stepmath,.exact-value{padding-top:13px;padding-bottom:13px}
.exact{overflow:visible;min-height:100px}
.exact-value mjx-container[jax="CHTML"][display="true"]{margin:14px 0!important}
.explanation-panel .stepmath mjx-container[jax="CHTML"][display="true"]{margin:13px 0!important}
@media(max-width:660px){.formula{padding:13px 4px}.stepmath{font-size:.98rem}}

/* v2.0 beta: strumenti didattici e stampa senza toccare la barra comune. */
.explanation-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:11px}
.explanation-actions h2{margin:0}
.print-action{border:1px solid #cadbe9;border-radius:8px;background:#f6faff;color:#145d95;padding:8px 12px;font:600 13px system-ui,sans-serif;cursor:pointer}
.print-action:hover{background:#e7f2fb}
@media(max-width:660px){.stepmath mjx-container{font-size:.9em!important}.explanation-actions{align-items:center}.formula{font-size:.92em}}
@media print{
  body{background:#fff;font-size:11pt;color:#111}
  .wrap{max-width:100%;padding:0 15mm}
  .lab-topbar,.hero,.tabbar,section[aria-label="Impostazioni dell'analisi"],.safety-note,.print-action,.graph-select,.graph-tools,.terms,.chart-head .subtle,.tooltip{display:none!important}
  .panel{box-shadow:none;border:0;padding:8px 0;margin:0 0 14px;break-inside:avoid}
  .explanation-panel{break-inside:auto}
  .step{break-inside:avoid;padding:10px 0}
  .chart-panel{break-inside:avoid}
  .chart-frame{height:240px}
  footer{font-size:9pt}
}

/* v3.0 — grafico subito dopo il risultato, resoconto numerico dinamico e stampa. */
.graph-readout{margin:9px 0 0;min-height:24px;font-size:14px;line-height:1.55;color:#315473;font-variant-numeric:tabular-nums}
.chart-note{margin-top:10px}
@media(max-width:660px){.graph-readout{font-size:13px}.chart-head h2{font-size:19px}.exact{min-height:0}}
@media print{.graph-readout{font-size:10pt;color:#333}.chart-panel{break-inside:avoid}}

/* v3.0: esempi iniziali compatti, con gli altri disponibili su richiesta. */
.more-examples{margin-top:7px;font-size:13px;color:#215f91}
.more-examples summary{cursor:pointer;font-weight:600;display:inline-block}
.more-examples .examples{margin-top:8px}
@media print{.more-examples{display:none}}

/* v4.0: quattro modalità senza comprimere i campi su schermi piccoli. */
.tabbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.tab{font-size:14px;white-space:normal}
.form-description{color:#4b6174;margin:0 0 10px}
.recurrence-settings{margin:10px 0 16px}
.recurrence-settings label{flex:1;min-width:140px}
.recurrence-settings input{max-width:100%;width:100%}
.recurrence-examples{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px;margin-bottom:14px}
.recur-submit{min-height:43px}
.radius-result{background:#f0f6fd;border:1px solid #d5e6f7;border-radius:9px;padding:12px 15px;margin-top:12px;line-height:1.65}
.radius-result span{display:block;font-size:14px;color:#4a6077}
@media(max-width:670px){.tabbar{grid-template-columns:repeat(2,minmax(0,1fr))}.tab{font-size:13px}.recurrence-settings label{min-width:calc(50% - 12px)}}
@media print{.recurrence-examples,.recur-submit{display:none!important}}

/* v4.1 — Solo due schede. Le ricorrenze restano raggiungibili dalla scheda Successioni. */
.tabbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:670px){.tabbar{grid-template-columns:repeat(2,minmax(0,1fr))}}
.settings .power-x[hidden]{display:none!important}
.submode-note{font-size:14px;color:#486077;margin:15px 0 0}
.submode-link{font-weight:650;text-decoration:underline;text-underline-offset:3px}
.power-recognized{font-size:14px;color:#315c7c;text-align:center;margin:12px 0 3px}
.empty-hint{font-size:14px;color:#536d81;margin:5px 1px 22px}
/* Una formula non resa (ad esempio MathJax temporaneamente offline) non deve allargare il layout mobile. */
.stepmath{overflow-wrap:anywhere;word-break:break-word}

/* v4.5: ricorrenze non lineari restano nella scheda Successioni. */
.recur-model-select{display:block;width:min(560px,100%);margin-top:7px;border:1px solid #b9cce0;border-radius:9px;background:#fff;padding:12px;font:inherit;color:var(--ink)}
.recurrence-settings label[hidden]{display:none!important}
.recurrence-examples{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:17px;font-size:13px;color:var(--muted)}
.recur-submit{margin-top:18px;min-height:43px}


/* v5.1 – Esplicito dettaglio delle variazioni per ricorrenze quasi costanti. */
.slow-graph-tools{margin:10px 0 4px}
.slow-graph-note{font-size:13px;line-height:1.6;margin:6px 0 14px;color:#385b77;background:#f1f7fc;border-left:3px solid #79a8d0;padding:10px 13px}
@media print{.slow-graph-tools{display:none!important}.slow-graph-note{font-size:10pt}}
