:root{--paper: #fcfcfc;--card: #ffffff;--ink: #141414;--muted: #717171;--faint: #a1a1aa;--line: #ececef;--soft: #f4f4f5;--accent: #6e5bd0;--accent-soft: #f0edfb;--accent-ink: #4a3aa8;--green: #0b7a45;--green-soft: #e8f4ed;--green-dark: #4fc98a;--amber: #b4540a;--amber-soft: #fbefe4;--red: #b3261e;--red-soft: #f9e7e5;--dark: #141414;--dark-card: #232326;--radius: 20px;--radius-sm: 14px}*{box-sizing:border-box}body{margin:0;background:#ededf0;font-family:Geist,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}#root{display:flex;justify-content:center}.frame{width:100%;max-width:430px;min-height:100dvh;background:var(--paper);display:flex;flex-direction:column;padding:14px 18px 28px}.frame.dark{background:var(--dark);color:#f4f4f5}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;background:var(--soft);border-radius:999px;padding:7px 7px 7px 18px;min-height:48px}.frame.dark .topbar{background:var(--dark-card)}.wordmark{font-weight:800;letter-spacing:.14em;font-size:14px}.switch{display:flex;gap:2px;background:var(--card);border-radius:999px;padding:3px}.switch button{border:0;background:transparent;font:inherit;font-size:13px;font-weight:500;padding:6px 14px;border-radius:999px;color:var(--muted);cursor:pointer}.switch button.on{background:var(--ink);color:#fff}h2{letter-spacing:-.02em;font-weight:700}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:22px 0 10px}.big{font-size:48px;font-weight:750;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.sub-green{color:var(--green);font-weight:600;font-size:14px;margin-top:6px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;margin-bottom:10px}.card.done{background:var(--soft);border-color:transparent}.row{display:flex;justify-content:space-between;align-items:center;gap:10px}.title{font-weight:650;font-size:15px;letter-spacing:-.01em}.hint{font-size:13px;color:var(--muted);margin-top:2px;line-height:1.45}.gain{font-weight:700;font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.01em}.chip{display:inline-block;font-size:12px;font-weight:600;border-radius:999px;padding:4px 10px;white-space:nowrap;border:0}.chip.green{color:var(--green);background:var(--green-soft)}.chip.amber{color:var(--amber);background:var(--amber-soft)}.chip.mutedc{color:var(--muted);background:var(--soft)}.chip.accent{color:var(--accent-ink);background:var(--accent-soft)}.btn{display:block;width:100%;border:0;border-radius:999px;height:52px;font:inherit;font-size:15px;font-weight:600;letter-spacing:.01em;cursor:pointer;background:var(--ink);color:#fff}.btn.green{background:var(--green);color:#fff}.btn.accent{background:var(--accent);color:#fff}.btn.ghost{background:transparent;border:1px solid rgba(65,65,65,.16);color:inherit;font-weight:600}.frame.dark .btn.ghost{border-color:#3f3f46;color:#d4d4d8}.btn:disabled{opacity:.4;cursor:default}.action{background:var(--accent-soft);color:var(--ink);border-radius:var(--radius);padding:18px;margin:8px 0 6px}.action .btn{background:var(--ink);color:#fff;margin-top:14px}.segment{display:flex;background:var(--soft);border-radius:999px;padding:4px;gap:2px}.segment button{flex:1;border:0;background:transparent;font:inherit;font-size:14px;font-weight:600;color:var(--faint);padding:9px 12px;border-radius:999px;cursor:pointer}.segment button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 2px #0000000f}.pill-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;font:inherit;font-size:15px;font-weight:700;color:var(--accent-ink);background:var(--accent-soft);border:0;border-radius:999px;padding:5px 26px 5px 12px;margin:0 2px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--accent-ink) 50%),linear-gradient(135deg,var(--accent-ink) 50%,transparent 50%);background-position:right 13px center,right 8px center;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.pill-select:disabled{color:var(--muted);background-color:var(--soft)}.option{display:block;width:100%;text-align:left;font:inherit;font-size:15px;line-height:1.4;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:15px 18px;margin-bottom:10px;cursor:pointer;color:var(--ink)}@media(hover:hover){.option:hover{border-color:var(--accent)}}.option:focus{outline:none}.option:disabled{cursor:default;opacity:.75}.option.good{border-color:var(--green);background:var(--green-soft);color:var(--green);font-weight:700;opacity:1;animation:juste 1.1s ease-out}.option.good:after{content:"  ✓"}@keyframes juste{0%{box-shadow:0 0 #0b7a4573;transform:scale(1)}25%{transform:scale(1.02)}60%{box-shadow:0 0 0 10px #0b7a4500;transform:scale(1)}to{box-shadow:0 0 #0b7a4500}}.reveal{border-left:4px solid var(--red);background:var(--card);border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 18px;border-radius:6px var(--radius-sm) var(--radius-sm) 6px;margin:4px 0 14px}.reveal .r-titre{font-weight:650;line-height:1.4}.reveal .r-non{color:var(--red)}.reveal .r-exp{font-size:14px;color:var(--muted);margin-top:6px;line-height:1.5}.chrono{font-variant-numeric:tabular-nums;font-size:18px;font-weight:700;color:var(--accent-ink);background:var(--accent-soft);border-radius:999px;padding:5px 13px;letter-spacing:-.01em}.chrono.bientot{color:var(--red);background:var(--red-soft)}.progress{height:6px;background:var(--soft);border-radius:999px;margin:12px 0 20px;overflow:hidden}.progress i{display:block;height:6px;border-radius:999px;background:var(--accent);transition:width .3s}.contexte{background:var(--soft);border-radius:var(--radius-sm);padding:14px 16px;font-size:14px;line-height:1.55;margin-bottom:16px}.res-note{font-size:88px;font-weight:750;line-height:1;letter-spacing:-.04em;text-align:center;margin-top:48px}.res-note small{font-size:36px;color:var(--muted);font-weight:500}.res-verdict{text-align:center;font-size:22px;font-weight:700;margin-top:8px}.res-verdict.ok{color:var(--green-dark)}.res-meta{text-align:center;font-size:14px;color:#a1a1aa;margin-top:6px}.dark-card{background:var(--dark-card);border-radius:var(--radius-sm);padding:14px 16px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;font-size:14px}.dark-card b{color:var(--green-dark);font-size:17px}.foot{margin-top:auto}.privacy{font-size:12px;color:var(--faint);text-align:center;line-height:1.5;margin-top:24px}.link{background:none;border:0;font:inherit;color:var(--accent-ink);font-size:13px;font-weight:500;text-decoration:none;cursor:pointer}.err{color:var(--red);font-size:13px;margin:8px 0}.saisie{display:flex;gap:8px;margin-top:12px}.saisie input{flex:1;font:inherit;font-size:16px;padding:11px 14px;border:1px solid var(--line);border-radius:999px;background:var(--card)}.saisie .btn{width:auto;padding:0 20px;height:46px}svg text{font-family:Geist,sans-serif}.tabbar{display:flex;justify-content:center;gap:34px;margin:30px -18px 0;padding:10px 0 6px;border-top:1px solid var(--line)}.tabbar button{position:relative;background:none;border:none;font:inherit;font-size:14px;font-weight:500;color:var(--faint);cursor:pointer;padding:8px 2px 12px}.tabbar button.on{color:var(--ink);font-weight:650}.tabbar button.on:after{content:"";position:absolute;left:15%;right:15%;bottom:5px;height:3px;border-radius:2px;background:var(--accent)}
