Sviluppatori

CSS personalizzato

Usa il contratto pubblico per i temi, mantieni la compatibilità e ripristina un'interfaccia danneggiata.

Apri Impostazioni → Sviluppatore → CSS personalizzato. Questa funzionalità riguarda esclusivamente l'aspetto: non aggiunge funzionalità al server e non modifica i permessi.

Contratto consigliato

Usa le variabili pubbliche --nd-*. Le classi interne .nd-* possono cambiare e non costituiscono un contratto stabile.

:root {
  --nd-accent: #7c3aed;
  --nd-accent-glow: rgba(124, 58, 237, 0.18);
  --nd-card-radius: 16px;
  --nd-card-border: rgba(124, 58, 237, 0.24);
}

Colori e superfici

VariabiliUtilizzo
--nd-bg, --nd-bg-surface, --nd-bg-gradientSfondo globale
--nd-card-bg-rgb, --nd-card-bg-opacity, --nd-card-bgSuperfici delle card
--nd-subcard-bg, --nd-card-border, --nd-card-hover-border, --nd-card-shadowCard nidificate, bordi e ombre
--nd-text, --nd-text-muted, --nd-text-dimmedGerarchia tipografica
--nd-accent, --nd-accent-glow, --nd-accent-dimColore d'accento
--nd-green, --nd-yellow, --nd-orange, --nd-redStati
--nd-blue, --nd-purpleColori complementari
--nd-progress-bg, --nd-progress-fillIndicatori di avanzamento
--nd-icon-bg, --nd-icon-borderContenitori delle icone

Forme e movimento

--nd-card-radius controlla i raggi degli angoli, --nd-blur controlla la sfocatura dello sfondo e --nd-transition controlla la durata standard.

Mobile e accessibilità

:root {
  --nd-card-radius: 18px;
}

@media (max-width: 700px) {
  :root {
    --nd-card-radius: 10px;
    --nd-blur: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --nd-transition: 0ms;
  }
}

Mantieni un contrasto sufficiente, indicatori di focus visibili e dimensioni adeguate per i target di tocco. Esegui i test in modalità chiara, modalità scura, su dispositivi mobili, tablet e desktop.

Ripristino sicuro

Se il CSS nasconde la navigazione, apri:

https://your-nasdash.example/?safe-css=1

Il parametro disabilita il CSS salvato per questo caricamento senza eliminarlo. Apri le impostazioni, correggi o reimposta il CSS, quindi ricarica l'URL normale.

Limiti di sicurezza

  • Dimensione massima: 256 KiB;
  • Script, protocolli pericolosi, escape di HTML/stili, expression(), comportamenti storici e @import remoti vengono neutralizzati;
  • I commenti CSS vengono rimossi;
  • Un comune url(...) esterno può contattare un server di terze parti e rivelare l'indirizzo IP del visitatore.

La sanitizzazione è una protezione complementare, non un motivo per concedere privilegi di amministrazione a una persona non fidata.

Il CSS salvato appartiene a config.json ed è incluso nel backup completo. Conservate una copia funzionante prima di modifiche importanti.