:root { --fond: #fff; --texte: #1a1a1a; --sourd: #666; --accent: #0b5fff; --bord: #ddd; --erreur: #b00020; --avert-fond: #eef3ff; }
@media (prefers-color-scheme: dark) { :root { --fond: #121212; --texte: #eee; --sourd: #aaa; --accent: #6b9cff; --bord: #333; --erreur: #ff8a80; --avert-fond: #1e2433; } }
* { box-sizing: border-box; }
body { margin: 0; padding: 16px; background: var(--fond); color: var(--texte); font: 16px/1.5 system-ui, sans-serif; }
main { max-width: 720px; margin: 0 auto; }
h1 { font-size: 1.6rem; }
form { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; }
label { display: grid; gap: 4px; font-size: .9rem; }
a { color: var(--accent); }
input { padding: 8px; border: 1px solid var(--bord); border-radius: 6px; background: transparent; color: inherit; font: inherit; font-size: 1rem; }
button { grid-column: 1 / -1; padding: 10px; border: 0; border-radius: 6px; background: var(--accent); color: var(--fond); font: inherit; cursor: pointer; }
table { width: 100%; border-collapse: collapse; margin-top: 16px; }
td, th { padding: 8px; border-bottom: 1px solid var(--bord); text-align: right; }
th:first-child, td:first-child { text-align: left; }
.note { color: var(--sourd); font-size: .85rem; }
.ecart { font-size: 1.3rem; font-weight: 600; margin: 16px 0 0; }
.demo { grid-column: 1 / -1; margin: 0; color: var(--texte); }
.avertissement { margin: 16px 0; padding: 12px; background: var(--avert-fond); border-left: 4px solid var(--accent); color: var(--texte); font-size: .95rem; }
.erreur { color: var(--erreur); font-weight: 600; margin: 16px 0 0; }
@media (max-width: 480px) { form { grid-template-columns: 1fr; gap: 8px; } body { padding: 12px; } h1 { font-size: 1.4rem; margin: 8px 0; } label { gap: 2px; } input { padding: 6px 8px; } .demo { font-size: .8rem; line-height: 1.3; } }
footer { max-width: 720px; margin: 32px auto 0; padding-top: 12px; border-top: 1px solid var(--bord); color: var(--sourd); font-size: .85rem; }
footer p { margin: 4px 0; }
details.pliable { margin: 16px 0; border-bottom: 1px solid var(--bord); }
details.pliable > summary { cursor: pointer; list-style: revert; padding: 4px 0; }
details.pliable > summary h2 { display: inline; font-size: 1.3rem; }
details.pliable > summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.regle { margin: 16px 0 0; }
