*{box-sizing:border-box}body{margin:0;background:#f5f5f5;color:#181818;font-family:system-ui,-apple-system,sans-serif}main{max-width:540px;margin:auto;padding:24px 20px 100px}.hero{text-align:center;padding:18px 0 25px}.logo{width:85px;height:100px;object-fit:contain}.eyebrow{color:#c20b26;font-weight:750;font-size:12px;letter-spacing:2px;text-transform:uppercase}h1{font-size:30px;line-height:1.12;margin:10px 0}h2{font-size:24px;margin:10px 0 22px}.muted{color:#777;font-size:14px;line-height:1.5}.card{display:flex;align-items:center;gap:15px;width:100%;text-align:left;border:1px solid #e8e8e8;border-radius:18px;background:white;padding:19px 17px;margin:10px 0;cursor:pointer;color:#191919;font-size:17px;font-weight:700;box-shadow:0 2px 10px #00000005}.icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#fff0f2;color:#c20b26;font-size:23px;flex:none}.arrow{margin-left:auto;color:#aaa}.back{border:0;background:transparent;color:#777;font-size:15px;padding:0;margin:4px 0 24px;cursor:pointer}.pill{display:inline-block;color:#b00021;background:#ffeaee;padding:6px 12px;border-radius:100px;font-size:12px;font-weight:750}.player{width:100%;max-height:55vh;aspect-ratio:9/16;object-fit:contain;background:#111;border-radius:20px;display:block;margin:20px auto}.detail{background:white;border-radius:20px;padding:20px;margin-top:18px}.detail p{line-height:1.6}.done{width:100%;background:#c20b26;color:white;border:0;border-radius:14px;padding:17px;font-weight:750;font-size:16px;cursor:pointer}.done.active{background:#1b6d47}nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:15px;background:#fff;border-top:1px solid #eee;padding:12px 10px max(14px,env(safe-area-inset-bottom))}nav button{border:0;background:#f7f7f7;padding:12px 22px;border-radius:24px;font-weight:650;cursor:pointer}.tip{background:#fff;border:1px solid #eee;border-radius:16px;padding:20px;margin:12px 0}.tip h3{margin:0 0 10px}.empty{color:#888;text-align:center;padding:50px 10px}
/* Nouvelle identité SRFC et rubriques bien-être */
:root{--red:#bd0c2c;--ink:#171923;--purple:#7952b3;--blue:#168bc4}
body{background:#f6f5f7;color:var(--ink)}
.hero{background:linear-gradient(155deg,#171923 0%,#540b1a 70%,#9b112b 100%);color:white;border-radius:26px;padding:28px 18px 30px;margin-bottom:24px;box-shadow:0 12px 28px #2b0a1720}
.hero .eyebrow{color:#ffb9c6}.hero .muted{color:#f3dce2}.hero h1{font-size:32px}
.section-heading{font-weight:800;margin:20px 2px 12px}
.card{box-shadow:0 5px 20px #1a14200c;transition:transform .15s}.card:active{transform:scale(.985)}
.card .icon{border-radius:15px}
.card[data-action="cat:Sommeil"] .icon{background:#eee4fa;color:#7652b1}
.card[data-action="cat:Hydratation"] .icon{background:#ddf4ff;color:#1186c2}
.wellness-banner{border-radius:25px;text-align:center;padding:28px 20px;margin:18px 0 16px}
.wellness-banner h3{font-size:22px;margin:10px 0 7px}.wellness-banner p{margin:0;font-size:14px}.big-emoji{font-size:58px}
.sleep-banner{background:linear-gradient(145deg,#f1e8ff,#ded1fa);color:#3e286c}
.water-banner{background:linear-gradient(145deg,#e6f8ff,#cceeff);color:#115e86}
.wellness-panel{background:white;border:1px solid #eae8ef;border-radius:22px;padding:20px;margin:13px 0;box-shadow:0 4px 18px #17192308}
.wellness-panel h3{margin:0 0 17px;font-size:18px}.wellness-panel p{line-height:1.5}
.wellness-panel>label:not(.check-line){display:block;font-size:14px;font-weight:650;margin:14px 0 7px}
.wellness-panel input[type="time"],.wellness-panel select{width:100%;padding:12px 14px;border:1px solid #e4e3e9;border-radius:12px;background:#fafafa;color:#171923;font-size:16px}
.wellness-button{width:100%;border:0;border-radius:15px;padding:15px;color:white;font-weight:750;font-size:15px;cursor:pointer;margin-top:18px}
.sleep-button{background:#8962c4}.water-button{background:#138ec6}
.check-line{display:flex;gap:12px;align-items:center;background:#faf8fd;border-radius:14px;padding:14px 12px;margin:10px 0;font-size:14px}
.check-line input{width:20px;height:20px;accent-color:#8962c4;flex:none}
.choice-row{display:flex;gap:10px}.choice{flex:1;padding:14px;border-radius:12px;background:white;border:1px solid #b7e0f5;cursor:pointer}.choice.selected{background:#d8f3ff;border-color:#138ec6;font-weight:800}
.water-total{font-size:36px;font-weight:850;color:#138ec6;text-align:center;margin-top:18px}.water-total+.muted{text-align:center}
.text-button{display:block;margin:12px auto 0;border:0;background:none;color:#555;text-decoration:underline;cursor:pointer}

/* Rubriques interactives */
.wellness-head{text-align:center;border-radius:26px;padding:25px 18px 22px;margin:0 0 18px}.wellness-head h2{margin:10px 0 8px;font-size:25px}.wellness-head p{margin:0;font-size:14px}.wellness-head.sleep{background:linear-gradient(145deg,#f1e9ff,#fff5fd);color:#30245c}.wellness-head.water{background:linear-gradient(145deg,#d9f4ff,#f2fcff);color:#0c507d}.wellness-art{font-size:58px;line-height:1.5}.panel{background:#fff;border:1px solid #ececf1;border-radius:22px;padding:20px;margin:14px 0;box-shadow:0 5px 16px #14141b07}.panel h3{margin:0 0 18px;font-size:17px}.panel p{line-height:1.55}.centered{text-align:center}.field{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;line-height:1.4;margin:16px 0}.field input{font:inherit;width:118px;padding:10px 7px;border-radius:10px;border:1px solid #e6def1;background:#faf9ff;color:#30245c}.question{font-size:14px;font-weight:650}.choice-row{display:flex;gap:9px;margin:14px 0 20px}.choice-row.wrap{flex-wrap:wrap}.choice{flex:1;min-width:0;padding:12px 6px;border:1px solid #e7e4ef;border-radius:14px;background:#fff;cursor:pointer;color:#37354b;font-weight:650;font-size:13px}.choice span{display:block;font-size:25px;margin-bottom:5px}.choice.selected{border:2px solid #9b72d5;background:#f2eafd}.choice.blue-selected{border-color:#168ec4;background:#e5f7ff}.primary{width:100%;padding:15px 12px;border:0;border-radius:16px;color:#fff;font-size:15px;font-weight:750;cursor:pointer;margin-top:10px}.primary.purple{background:#9465c9}.primary.blue{background:#178bc3}.secondary{display:block;width:100%;border:1px solid #c8dcea;background:#fff;color:#1d6690;border-radius:13px;padding:13px;margin-top:10px;font-weight:700;cursor:pointer}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0}.feature{border:1px solid #e9e5f1;border-radius:18px;padding:18px 12px;background:#fff;text-align:left;font-size:14px;font-weight:750;cursor:pointer;min-height:92px}.feature span{display:block;color:#777;font-size:12px;font-weight:400;margin-top:8px}.feature.water-feature{border-color:#ccebf9}.feature.wide{display:block;width:100%;min-height:75px}.info{padding:15px;border-radius:16px;margin:15px 0;font-size:13px;line-height:1.6}.info p{margin:6px 0 0}.info.lilac{background:#f4eafa;color:#553875}.info.sky{background:#e2f6ff;color:#145a7f}.check-card{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid #e9e4ee;border-radius:14px;padding:16px;margin:12px 0;font-size:14px}.check-card input{width:20px;height:20px;accent-color:#9164c4;flex:none}.tip-item{display:flex;align-items:center;gap:15px}.tip-item p{margin:0}.tip-num{background:#e8d6f7;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;flex:none;font-weight:750;color:#633d8b}.bottle-art{font-size:75px;padding:15px}.water-number{font-size:48px;font-weight:850;color:#188fc6}
@media(max-width:400px){.field{flex-wrap:wrap}.feature-grid{gap:8px}.choice{font-size:12px}}

/* SRFC - nouvelles rubriques */
.intro h3{margin:12px 0 5px}.intro p{margin:4px 0 12px}.filter-row{display:flex;gap:8px;flex-wrap:wrap}.filter{border:1px solid #e3d6dd;background:#fff;border-radius:24px;padding:10px 14px;font-weight:650;cursor:pointer}.filter.active{background:#bd0c2c;color:white;border-color:#bd0c2c}.compare-grid,.benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.compare,.benefit{border-radius:18px;padding:17px 13px}.compare h3{font-size:25px;margin:5px 0 10px}.compare p,.benefit p{font-size:13px;line-height:1.5}.compare strong,.benefit strong{font-size:14px}.bad{background:#fff0f0;color:#8b1e26}.good{background:#eaf8ee;color:#1c6839}.compare-icon{font-size:27px}.cal-top{display:flex;justify-content:space-between;align-items:center;text-transform:capitalize;margin-bottom:20px}.cal-top button{border:0;background:#f4e8ed;border-radius:10px;font-size:24px;padding:3px 13px;color:#b50a2b;cursor:pointer}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.cal-label{color:#777;font-size:12px;font-weight:700;padding:9px 0}.cal-day{min-height:43px;position:relative;border:0;border-radius:10px;background:#faf9fa;cursor:pointer;font-size:14px}.cal-day.has-data{background:#fce7eb}.cal-day.selected{background:#bd0c2c;color:white}.cal-day small{display:block;position:absolute;bottom:0;left:0;right:0;font-size:12px}.detail p{overflow-wrap:anywhere}@media(max-width:370px){.compare-grid,.benefit-grid{grid-template-columns:1fr}}


/* Espace bien-être — magazine, cycle, respiration */
.editorial-kicker{font-size:10px;letter-spacing:1.8px;font-weight:850;color:#b80d30}.editorial-hero{background:linear-gradient(145deg,#19191e,#45111e 75%,#a40d32);color:#fff;border-radius:26px;padding:30px 24px;margin-bottom:24px;overflow:hidden}.editorial-hero .editorial-kicker{color:#ffc0ce}.editorial-hero h2{font-size:39px;line-height:1.08;margin:20px 0 16px;letter-spacing:-1.5px}.editorial-hero p{color:#f2dce2;line-height:1.65;font-size:14px;max-width:320px}.hero-dot,.red-period{color:#e73257}.wellbeing-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wellbeing-tile{border:0;text-align:left;border-radius:22px;min-height:190px;padding:18px;display:flex;flex-direction:column;align-items:flex-start;position:relative;cursor:pointer;color:#202027}.wellbeing-tile strong{font-size:21px;margin:15px 0 4px}.wellbeing-tile small{font-size:12px;line-height:1.5;max-width:130px}.tile-symbol{font-size:38px}.tile-next{position:absolute;right:16px;bottom:14px;font-size:21px}.tile-read{background:#ffecdf}.tile-cycle{background:#fce3ec}.tile-breathe{background:#e7e8fa;grid-column:span 2;min-height:150px}.wellbeing-footnote{font-size:12px;color:#777;line-height:1.5;margin:22px 4px}.magazine-head h2,.cycle-heading h2,.breathe-page h2{font-size:39px;letter-spacing:-1px;margin:12px 0}.magazine-head p,.cycle-heading p,.breathe-page>p{color:#686873;font-size:14px;line-height:1.65;margin:0 0 24px}.article-preview{width:100%;display:flex;align-items:stretch;gap:14px;text-align:left;background:#fff;border:1px solid #ece9eb;border-radius:21px;padding:12px;margin:13px 0;cursor:pointer;box-shadow:0 5px 15px #00000006;color:inherit}.article-visual{width:105px;min-height:145px;border-radius:15px;display:grid;place-items:center;font-size:47px;flex:none;background:#f1e4f3}.article-visual-0{background:#e5dff5}.article-visual-1{background:#fbe1e2}.article-visual-2{background:#e0edf1}.article-visual-3{background:#f6eddb}.article-preview-body{display:flex;flex-direction:column;gap:8px;padding:5px 0}.article-preview-body small{font-size:9px;letter-spacing:1px;color:#b90f32;font-weight:850}.article-preview-body strong{font-size:17px;line-height:1.25}.article-preview-body>span{font-size:12px;color:#777;line-height:1.45}.article-preview-body em{font-size:12px;font-weight:750;color:#a80c2b;font-style:normal;margin-top:auto}.reading-article{background:white;border-radius:22px;padding:18px 20px 26px}.article-cover{height:180px;border-radius:17px;background:linear-gradient(140deg,#251923,#b9143a);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:white}.article-cover span{font-size:70px}.article-cover small{letter-spacing:2px;font-size:10px;font-weight:850}.reading-article h2{font-size:32px;line-height:1.15;margin:24px 0 12px}.reading-article .article-lead{font-size:17px;font-weight:550;color:#57515b}.article-divider{height:3px;width:45px;background:#bd0c2c;margin:24px 0}.reading-article section{margin:27px 0}.reading-article section h3{font-size:19px;margin:0 0 10px}.reading-article section p{font-size:15px;line-height:1.8;color:#42424a}.article-signoff{border-radius:14px;background:#fff1f4;padding:18px;font-size:13px;font-weight:700}.cycle-heading{margin-bottom:20px}.cycle-panel{padding:17px}.cycle-wheel{width:min(260px,85%);aspect-ratio:1;border-radius:50%;margin:15px auto 25px;background:conic-gradient(#d94c70 0 25%,#f6c5a1 25% 50%,#c9b5e9 50% 75%,#9b8cc9 75% 100%);display:grid;place-items:center;box-shadow:0 8px 28px #9e46772b}.cycle-wheel-center{width:54%;aspect-ratio:1;background:white;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;line-height:1.4;font-size:13px;letter-spacing:1px}.cycle-wheel-center strong{font-size:23px;letter-spacing:0}.cycle-wheel-center span{font-size:21px;color:#d64c73}.phase-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:20px 0}.phase-button{padding:12px 7px;border:1px solid #e7dbe3;background:white;border-radius:13px;font-size:12px;font-weight:700;cursor:pointer}.phase-selected{background:#b50e36;color:white;border-color:#b50e36}.phase-detail{background:#fff3f6;border-radius:17px;padding:20px}.phase-detail>span{font-size:10px;color:#ac2246;font-weight:850;letter-spacing:1px}.phase-detail h3{font-size:22px;margin:9px 0}.phase-detail>strong{font-size:13px}.phase-detail p{line-height:1.7;font-size:14px}.phase-sport{background:white;padding:13px;border-radius:12px;font-size:13px;line-height:1.6}.breathe-page{text-align:center}.breathe-page h2{font-size:44px}.breath-scene{background:linear-gradient(160deg,#ece9fb,#fce9ef);border-radius:28px;min-height:315px;display:grid;place-items:center;margin:25px 0}.breath-ring{width:185px;height:185px;border-radius:50%;background:#c9b9eb7d;display:grid;place-items:center;border:2px solid #bda6e5;box-shadow:0 0 0 22px #cdbdec30;transition:transform 4s ease-in-out}.breath-ring.breathing-in{transform:scale(1.25);transition-duration:4s}.breath-ring.breathing-out{transform:scale(.86);transition-duration:6s}.breath-core{background:#fff;border-radius:50%;width:143px;height:143px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:24px}.breath-core strong{font-size:18px}.breath-core small{font-size:12px;color:#777}.breathe-controls{display:flex;gap:8px}.breathe-play{flex:1;background:#1e1a2b;color:white;border:0;border-radius:14px;padding:15px 10px;font-weight:750;cursor:pointer}.breathe-stop{background:#fff;border:1px solid #ddd5e6;border-radius:14px;padding:14px;font-weight:700;cursor:pointer}.breathe-guide{text-align:left;background:white;border-radius:20px;padding:20px;margin:20px 0}.breathe-guide h3{margin:0 0 12px}.breathe-guide p{font-size:14px;line-height:1.65;color:#555}@media(max-width:370px){.article-visual{width:83px}.article-preview-body strong{font-size:15px}.wellbeing-tile{padding:14px}}

/* Suivi des gourdes : lecture immédiate et cases tactiles */
.water-tracker h3{margin-bottom:6px}.water-tracker>.muted{font-size:13px;margin:4px 0 15px}
.water-bottle-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.water-bottle-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:78px;border:1.5px solid #dce6ec;border-radius:16px;background:#f4f7fa;color:#7b91a0;cursor:pointer;font:inherit;transition:background .15s,border-color .15s}
.water-bottle-tile.is-checked{background:#ddf3ff;border-color:#178bc3;color:#09668e}
.water-bottle-tile:focus-visible{outline:3px solid #178bc3;outline-offset:2px}
.water-bottle-icon{font-size:27px;line-height:1.2}.water-bottle-label{font-size:14px;font-weight:800}
.water-summary{display:flex;flex-direction:column;gap:5px;text-align:center;padding:15px;background:#e2f6ff;border-radius:16px;color:#115b81}
.water-summary strong{font-size:21px}.water-summary span{font-size:14px}
.water-size-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;font-size:13px;font-weight:650}
.water-size-row select{font:inherit;border:1px solid #c8dcea;border-radius:10px;padding:9px;background:white;color:#164d70}
@media(max-width:350px){.water-bottle-grid{gap:6px}.water-bottle-tile{min-height:65px}}

/* Préfo U19 · interface performance */
:root{--u19-red:#bc1730;--u19-ink:#191b20}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.u19-head{background:linear-gradient(135deg,#181b22,#31313a);color:#fff;padding:26px 22px;border-radius:18px;margin:14px 0 20px}
.u19-head h2{font-size:29px;line-height:1.12;margin:12px 0 8px;color:white}
.u19-head p{color:#e1e1e5;margin:0;font-size:14px}
.u19-kicker{font-size:10px;font-weight:800;letter-spacing:1.6px;color:#f3a6b1}
.u19-panel{border-left:3px solid var(--u19-red);margin:12px 0;padding:18px}
.u19-panel h3{font-size:17px;margin-top:0}
.u19-panel label{display:block;font-weight:650;font-size:13px;margin:16px 0 7px}
.u19-panel input:not([type=range]),.u19-panel select,.u19-panel textarea{width:100%;max-width:100%;box-sizing:border-box;padding:12px;border:1px solid #c9cbd0;border-radius:9px;background:#fff;color:#222;font:inherit}
.u19-panel input[type=range]{width:100%;accent-color:#bc1730}
.u19-primary{display:block;width:100%;margin-top:18px;background:#bc1730!important;color:white!important;padding:14px;border:0;border-radius:10px;font-weight:750;cursor:pointer}
.u19-number{font-size:42px;font-weight:850;letter-spacing:-1px;color:#bc1730}
.u19-entry{padding:12px 0;border-bottom:1px solid #ddd;display:flex;flex-direction:column;gap:5px}
.u19-entry p{margin:3px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.u19-range{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#5d6066}.u19-range strong{font-size:24px;color:#bc1730}
.u19-timeline p{border-left:2px solid #bc1730;padding:8px 0 8px 14px;margin:0 0 10px}
.u19-delete{border:1px solid #b33;background:white;color:#a11;padding:10px;border-radius:8px;cursor:pointer;margin-top:12px}
.u19-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.u19-days span{text-align:center;padding:9px 0;border-radius:8px;background:#f2f2f4;font-size:12px}.u19-days .u19-marked{background:#bc1730;color:#fff;font-weight:800}

/* Navigation permanente — Préfo / U19 */
.srfc-svg{display:block;flex:none}
.icon .srfc-svg{width:26px;height:26px}
body>nav{z-index:100;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;max-width:540px;margin:auto;left:0;right:0;padding:8px 8px max(10px,env(safe-area-inset-bottom));box-shadow:0 -4px 18px #15151510}
body>nav button{background:transparent;border-radius:12px;min-width:0;padding:7px 2px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:#64656c;font-size:10px;line-height:1.2;font-weight:700;min-height:54px}
body>nav button .srfc-svg{width:23px;height:23px}
body>nav button.is-active{background:#fff0f3;color:#bc1730}
body>nav button:focus-visible{outline:2px solid #bc1730;outline-offset:-2px}
main{padding-bottom:115px}

/* Préfo/U19 : médias, suivi du cycle et verres de cantine */
.media-tabs{display:flex;gap:8px;overflow-x:auto;margin:16px 0 22px;padding-bottom:6px}.media-tabs .filter{white-space:nowrap}.u19-media-card{margin-bottom:14px}.u19-media-card a{display:inline-block;margin-top:8px;color:#a71930;font-weight:750}.u19-canteen{padding:16px 0;border-top:1px solid #ddd;margin-top:15px}.u19-canteen-controls{display:flex;align-items:center;justify-content:center;gap:22px;margin:14px 0}.u19-canteen-controls button{border:1px solid #d3d3d3;background:#fff;border-radius:50%;width:44px;height:44px;font-size:24px}.u19-canteen select{display:block;margin-top:7px;max-width:170px}.u19-cycle-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:15px 0}.u19-cycle-day{min-height:45px;border:1px solid #e5e5e5;border-radius:10px;background:#fff;position:relative;font-weight:650}.u19-cycle-day small{display:block;font-size:10px}.u19-cycle-day.has-flow{background:#f7cbd2;color:#791225;border-color:#c96778}.u19-cycle-day.is-selected{outline:3px solid #a71930;outline-offset:-2px}.u19-symptoms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0 18px}.u19-symptoms label{font-size:14px;display:flex;gap:6px;align-items:center}.u19-symptoms input{width:auto}.tile-film .tile-symbol svg{width:28px;height:28px}

.u19-period-choice{display:flex;gap:12px;margin:10px 0 18px}.u19-period-choice label{display:flex;align-items:center;gap:9px;border:1px solid #d8d8d8;border-radius:12px;padding:12px 20px;flex:1;font-weight:700}.u19-period-choice input{width:auto;accent-color:#b41b34}.u19-flow-wrap[hidden]{display:none!important}.u19-flow-wrap{margin:12px 0 18px}
