:root { /* Palette baby/pastel inspirée de la maquette */ --bg-0: #fdf6ec; --bg-1: #fef9f0; --ink-0: #2d2d2d; --ink-1: #4a4a4a; --accent: #e8596e; --accent-strong: #d14055; --accent-soft: #fce4e8; --teal: #8edae0; --teal-strong: #5cc5cd; --panel: #ffffff; --panel-warm: #fef6e8; --border: #f0e6d6; --border-light: #f5efe5; --muted: #9a9a9a; --star-yellow: #ffd966; --success-green: #7bc67e; --shadow-soft: rgba(0, 0, 0, 0.06); --shadow-card: 0 4px 20px rgba(0, 0, 0, 0.08); --radius-card: 20px; --radius-btn: 25px; --radius-input: 12px; } html { height: 100%; } html, body { max-width: 100vw; overflow-x: hidden; } body { min-height: 100%; display: flex; flex-direction: column; color: var(--ink-0); background: var(--bg-0); font-family: var(--font-space-grotesk), system-ui, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } * { box-sizing: border-box; padding: 0; margin: 0; } a { color: inherit; text-decoration: none; } button, input, select { font: inherit; } .app-shell { width: min(720px, 100%); margin: 0 auto; padding: 0; } .panel { background: var(--panel); border: 1px solid var(--border-light); border-radius: var(--radius-card); box-shadow: var(--shadow-card); } .btn { border: none; border-radius: var(--radius-btn); padding: 0.75rem 1.5rem; font-weight: 700; font-size: 0.9rem; cursor: pointer; transition: transform 120ms ease, box-shadow 120ms ease, background 120ms ease; letter-spacing: 0.01em; } .btn:active { transform: translateY(1px); } .btn-primary { background: var(--accent); color: #fff; box-shadow: 0 4px 12px rgba(232, 89, 110, 0.3); } .btn-primary:hover { background: var(--accent-strong); } .btn-soft { background: var(--panel-warm); color: var(--ink-1); border: 1px solid var(--border); } .field { display: grid; gap: 0.35rem; } .field label { font-size: 0.85rem; font-weight: 700; color: var(--ink-1); } .field input, .field select { border: 1px solid var(--border); border-radius: var(--radius-input); background: #fafafa; padding: 0.7rem 0.85rem; font-size: 0.95rem; } .field input:focus, .field select:focus { outline: 2px solid var(--teal); outline-offset: 1px; background: #fff; } .mono { font-family: var(--font-ibm-plex-mono), monospace; } @media (max-width: 760px) { .app-shell { width: 100%; margin: 0 auto; } }