/* Stessa tavolozza di index.html: l'ingresso è il gioco, non un modulo.
	   Le due divise seguono la scelta salvata nel browser. */
	:root {
		/* Senza questo il browser disegna i controlli nativi — la tendina
		   di un select, l'autofill, le frecce — col tema di sistema: sul
		   fondo scuro il testo scompare. La divisa chiara lo ribalta. */
		color-scheme: dark;
		--nero: #08090b; --panel: #0f1216; --panel-2: #14181d;
		--line: #232a31; --line-2: #303841;
		--ink: #ded8ca; --ink-2: #9c968a; --ink-3: #6b7077;
		--ottone: #c9a24b; --ottone-2: #e3c47e; --ottone-testo: #16130a; --rosso: #b6584a;
		--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
		--cond: "Avenir Next Condensed", "HelveticaNeue-CondensedBold", "Roboto Condensed", "Arial Narrow", system-ui, sans-serif;
		--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
		--r: 4px; --r2: 3px;
		--ombra: 0 18px 44px rgba(0,0,0,.55);
	}
	:root[data-tema="scrivania"] {
		color-scheme: light;
		--nero: #f0eee6; --panel: #fcfbf8; --panel-2: #f5f4ef;
		--line: #e3e1d9; --line-2: #d1cfc5;
		--ink: #191917; --ink-2: #55534b; --ink-3: #8c897f;
		--ottone: #cc785c; --ottone-2: #9a5233; --ottone-testo: #ffffff; --rosso: #b03a2e;
		--serif: -apple-system, "SF Pro Text", "Segoe UI", Inter, Roboto, "Helvetica Neue", sans-serif;
		--cond: -apple-system, "SF Pro Text", "Segoe UI", Inter, Roboto, sans-serif;
		--r: 10px; --r2: 9px;
		--ombra: 0 12px 30px rgba(60,55,45,.12);
	}
	* { box-sizing: border-box; margin: 0; }
	/* `hidden` deve vincere sempre: le regole d'autore che danno un
	   `display` esplicito (il bottone di Google è un flex) altrimenti lo
	   scavalcano, e un elemento nascosto resta in pagina. */
	[hidden] { display: none !important; }
	body {
		background: var(--nero); color: var(--ink);
		font-family: var(--serif); min-height: 100vh;
		display: grid; place-items: center; padding: 24px;
	}
	.scheda {
		width: min(420px, 100%);
		background: var(--panel); border: 1px solid var(--line);
		border-radius: var(--r); padding: 34px 32px 30px;
		box-shadow: var(--ombra);
	}
	.marchio { display: flex; flex-direction: column; align-items: center; gap: 12px; margin-bottom: 10px; }
	/* Il marchio grande dell'ingresso: stesso file della testata, con
	   l'inchiostro della divisa scelta in questo browser. */
	.marchio h1 {
		margin: 0; width: 232px; height: 36px;
		background: url("/img/marchio/logo-bianco.png") center / contain no-repeat;
	}
	:root[data-tema="scrivania"] .marchio h1 {
		background-image: url("/img/marchio/logo-nero.png");
	}
	.vh {
		position: absolute; width: 1px; height: 1px; overflow: hidden;
		clip-path: inset(50%); white-space: nowrap;
	}
	.sotto {
		color: var(--ink-2); font-size: 13px; font-style: italic;
		text-align: center; margin-bottom: 26px; line-height: 1.5;
	}
	.linguette { display: flex; margin-bottom: 22px; border-bottom: 1px solid var(--line); }
	.linguette button {
		appearance: none; background: none; border: none; cursor: pointer;
		font-family: var(--cond); font-size: 12px; letter-spacing: .14em;
		text-transform: uppercase; color: var(--ink-3); flex: 1; text-align: center;
		padding: 10px 12px; border-bottom: 2px solid transparent;
	}
	.linguette button.attiva { color: var(--ottone-2); border-bottom-color: var(--ottone); }
	label { display: block; font-family: var(--cond); font-size: 12px; letter-spacing: .12em;
		text-transform: uppercase; color: var(--ink-2); margin: 14px 0 6px; }
	input {
		width: 100%; padding: 11px 13px; font-family: var(--mono); font-size: 15px;
		background: var(--panel-2); color: var(--ink);
		border: 1px solid var(--line-2); border-radius: var(--r2); outline: none;
	}
	input:focus { border-color: var(--ottone); }
	.aiuto { color: var(--ink-3); font-size: 13px; margin-top: 6px; }
	.errore {
		display: none; margin-top: 16px; padding: 10px 12px; font-size: 14px;
		color: var(--rosso); border: 1px solid var(--rosso); border-radius: var(--r2);
		background: rgba(182, 88, 74, .08);
	}
	.errore.visibile { display: block; }
	.invia {
		width: 100%; margin-top: 22px; padding: 13px;
		font-family: var(--cond); font-size: 13px; letter-spacing: .18em;
		text-transform: uppercase; font-weight: 700; cursor: pointer;
		background: var(--ottone); color: var(--ottone-testo); border: none; border-radius: var(--r2);
	}
	.invia:disabled { opacity: .5; cursor: wait; }
	.nota { margin-top: 22px; color: var(--ink-3); font-size: 13px; line-height: 1.5; }
	.patto { margin: 14px 0 0; color: var(--ink-3); font-size: 12.5px; line-height: 1.55; }
	.patto a { color: var(--ink-2); text-decoration: underline; text-underline-offset: 2px; }
	/* L'accesso con Google: la via principale, e si vede. Il bottone porta
	   i colori di Google perché sono quelli che la gente riconosce. */
	.google {
		display: flex; align-items: center; justify-content: center; gap: 10px;
		margin-top: 24px; padding: 12px; text-decoration: none;
		background: #fff; color: #1f1f1f; border: 1px solid #dadce0;
		border-radius: var(--r2); font-family: system-ui, -apple-system, sans-serif;
		font-size: 14px; font-weight: 500;
	}
	.google:hover { background: #f7f8f8; }
	.oppure {
		display: flex; align-items: center; gap: 12px; margin: 20px 0 4px;
		font-family: var(--cond); font-size: 11px; letter-spacing: .16em;
		text-transform: uppercase; color: var(--ink-3);
	}
	.oppure::before, .oppure::after { content: ""; flex: 1; height: 1px; background: var(--line); }
	.esciEntra {
		display: block; width: 100%; margin-top: 12px; padding: 11px;
		background: none; border: 1px solid var(--line-2); border-radius: var(--r2);
		color: var(--ink-2); font-family: var(--cond); font-size: 12px;
		letter-spacing: .1em; text-transform: uppercase; cursor: pointer;
	}
	.esciEntra:hover { color: var(--ottone); border-color: var(--ottone); }
	.chiuse {
		margin-top: 20px; padding: 12px 14px; border-radius: var(--r2);
		border: 1px solid var(--line-2); background: var(--panel-2);
		font-size: 13px; line-height: 1.55; color: var(--ink-2);
	}
	/* Sotto i 16px iOS ingrandisce la pagina al tocco del campo, e non
	   torna più indietro: la soglia si rispetta ovunque si scriva, e
	   `!important` perché nessuna regola locale possa riaprire il difetto. */
	@media (max-width: 900px) {
		input, textarea, select { font-size: 16px !important; }
	}
