:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#ffffff;background:#17213b}*{box-sizing:border-box}body{margin:0}.app{max-width:660px;margin:auto;padding:14px 16px 32px}header{text-align:center;margin:5px 0 16px}h1{font-size:clamp(1.75rem,5.2vw,2.55rem);letter-spacing:-.055em;margin:0;line-height:1.18}h1 small{font-size:.38em;font-weight:650;letter-spacing:0;white-space:nowrap;color:#ffd93d}.promise{font-size:.78rem;font-weight:750;margin:9px 0 3px}.intro{font-size:.83rem;color:#c8d6ec;margin:0}.panel{background:#263653;border:1px solid #3a4b6a;border-radius:22px;padding:21px;box-shadow:0 12px 30px #0002;margin:0 0 12px}h2{font-size:1.15rem;margin:0 0 15px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:11px}.fields select{width:100%;min-width:0;padding:13px 10px;border:1px solid #50617f;border-radius:11px;background:#344663;font-size:14px;color:#ffffff}.colorfield{display:flex;align-items:center;justify-content:space-between;border:1px solid #50617f;border-radius:11px;padding:5px 10px;gap:6px;font-size:14px;font-weight:600}.colorfield input{height:34px;width:52px;padding:2px;border:0;background:transparent;cursor:pointer}button,.button{width:100%;display:block;text-align:center;background:#ffd93d;color:#17213b;border:0;border-radius:13px;padding:14px;font-size:16px;font-weight:800;cursor:pointer;text-decoration:none;margin-top:13px}button:disabled{opacity:.55;cursor:wait}.secondary{background:#344663;color:#ffffff}.camera{position:relative;overflow:hidden;border-radius:15px;background:#17213b;aspect-ratio:4/3}video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.timer{position:absolute;inset:0;display:grid;place-items:center;color:white;font-size:110px;font-weight:900;text-shadow:0 4px 25px #0009;background:#0003}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#progress{text-align:center;font-weight:700}#output{display:block;max-width:100%;max-height:60vh;width:auto;height:auto;margin:0 auto;border-radius:5px;box-shadow:0 5px 25px #0002}#message{text-align:center;color:#ffb0b0;font-weight:650}@media(max-width:460px){.app{padding:10px 11px 24px}header{margin-bottom:12px}.panel{padding:16px}.fields{gap:8px}.fields select,.colorfield{font-size:12px}.promise{font-size:.7rem}.intro{font-size:.76rem}}@media(max-width:340px){.fields{grid-template-columns:1fr}}

/* V0.3 : sélecteur de filtres et aération */
h2{margin-bottom:23px}.fields{row-gap:19px}.filter-area{margin-top:19px}.filter-area h3{font-size:.95rem;margin:0 0 12px}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.filter-choice{margin:0;padding:6px 5px 9px;background:#344663;color:white;border:2px solid transparent;border-radius:12px;font-size:11px;font-weight:650;display:flex;flex-direction:column;align-items:center;gap:9px;line-height:1.2;min-width:0}.filter-choice.selected{border-color:#ffd93d;background:#415478}.filter-thumb{display:block;width:100%;aspect-ratio:4/3;border-radius:7px;background:linear-gradient(135deg,#ff6b6b 0 28%,#ffd93d 28% 51%,#6bcb77 51% 73%,#4d96ff 73%);background-position:center;background-size:cover}.intensity{display:flex;align-items:center;gap:12px;margin-top:16px;font-size:13px}.intensity input{flex:1;accent-color:#ffd93d}.intensity output{min-width:40px;text-align:right}#resultFilters{margin-bottom:12px}@media(max-width:460px){.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.filter-choice{font-size:10px}}

/* V0.4 : réglages après capture uniquement */
.editor{margin-top:20px}.editor h3{font-size:1rem;margin:22px 0 12px}.editor h3:first-child{margin-top:0}.theme-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.theme-choice{margin:0;padding:7px 6px 10px;background:#344663;color:#fff;border:2px solid transparent;border-radius:12px;font-size:11px;font-weight:650;display:flex;flex-direction:column;align-items:center;gap:9px;line-height:1.2;min-width:0}.theme-choice.selected{border-color:#ffd93d;background:#415478}.theme-thumb{width:100%;aspect-ratio:3/4;border-radius:5px;object-fit:cover;background:#fff}.hint{font-size:12px;color:#b9c9df;margin:12px 0 0}.intensity{margin-bottom:10px}#resultFilters{margin-bottom:0}@media(max-width:460px){.theme-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.theme-choice{font-size:10px}}

/* V0.5 — bandeaux horizontaux sous la photo */
#resultFilters,#themes{display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;gap:11px;padding:4px 2px 12px;scrollbar-width:thin;scrollbar-color:#ffd93d #263653}
#resultFilters .filter-choice{flex:0 0 108px;scroll-snap-align:start}
#themes .theme-choice{flex:0 0 100px;scroll-snap-align:start}
#output{max-height:52vh}.editor{margin-top:16px}.editor h3{margin:16px 0 9px}
@media(max-width:460px){#resultFilters .filter-choice{flex-basis:93px}#themes .theme-choice{flex-basis:90px}#output{max-height:48vh}}

/* V0.7 : cartouche de texte personnalisable */
.caption-editor{display:flex;flex-direction:column;gap:8px;margin:20px 0 6px}.caption-editor label{font-size:1rem;font-weight:750}.caption-editor input{width:100%;padding:13px 14px;border:1px solid #627493;border-radius:11px;background:#344663;color:#fff;font:inherit;outline-offset:3px}.caption-editor input:focus{outline:2px solid #ffd93d}.caption-editor input::placeholder{color:#bac9dc}.caption-help{font-size:12px;color:#c2d1e4}

/* V0.8 : espacement des actions */
#share{margin-top:10px}
