
:root{--bg:#f7f4fb;--paper:#fff;--lav:#8d75b0;--dark:#554765;--muted:#81758d;--light:#eee7f7;--line:#e7e0ed;--shadow:0 8px 24px #57416b0c}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--dark)}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b39bd0;outline-offset:2px}
.header{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 16px;background:#fcfaffed;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand strong{display:block;font-size:16px;line-height:1.2}.brand small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.logo{width:46px;height:46px;display:grid;place-items:center;background:var(--light);color:var(--lav);border-radius:15px;flex-shrink:0}.logo svg{width:34px;height:34px}.header-actions{display:flex;gap:6px}.icon-button{width:37px;height:39px;display:grid;place-items:center;border:1px solid var(--line);border-radius:13px;background:var(--paper);font-size:23px}
.screen{max-width:800px;margin:auto;padding:22px 16px 112px;display:grid;gap:18px}.hero,.panel,.tile,.empty,.event{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:23px}.hero{padding:23px}.eyebrow{font-size:13px;font-weight:700;color:var(--lav)}h1{font-size:clamp(25px,6vw,34px);margin:8px 0;letter-spacing:-.8px;line-height:1.15}h2{font-size:18px;margin:0 0 12px}h3{font-size:16px;margin:0 0 10px}p{line-height:1.55;margin:6px 0;color:var(--muted)}.panel{padding:18px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.section-head h2{margin:0}.button{display:inline-flex;justify-content:center;align-items:center;text-align:center;border:0;border-radius:15px;padding:13px 17px;font-weight:650;background:var(--lav);color:white}.button.secondary{background:var(--light);color:var(--dark)}.button:disabled{opacity:.45}.muted{font-size:13px;color:var(--muted)}.notice{font-size:12px;background:var(--light);border-radius:13px;padding:12px;color:var(--muted)}
.tile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tile{display:block;padding:16px;min-height:130px;text-align:left}.tile-icon{width:42px;height:42px;display:grid;place-items:center;background:var(--light);color:var(--lav);border-radius:14px;font-size:23px;margin-bottom:12px}.tile strong{display:block;font-size:14px}.tile small{display:block;font-size:12px;margin-top:4px;color:var(--muted);line-height:1.35}.empty{text-align:center;padding:24px;grid-column:1/-1}.stack,.fields{display:grid;gap:12px}.field{display:grid;gap:5px;font-weight:600;font-size:14px}.field input{border:1px solid var(--line);border-radius:12px;padding:12px;background:white;color:var(--dark);width:100%}
.bottom-nav{position:fixed;z-index:10;bottom:10px;left:10px;right:10px;display:flex;gap:4px;justify-content:space-around;padding:7px;background:#ffffffed;border:1px solid var(--line);border-radius:21px;box-shadow:0 9px 35px #36204420;backdrop-filter:blur(12px);max-width:800px;margin:auto}.nav-link{flex:1;min-width:0;max-width:125px;padding:9px 3px;border-radius:15px;color:var(--muted);display:grid;justify-items:center;gap:3px}.nav-link.active{background:var(--light);color:var(--dark)}.nav-link span{font-size:20px}.nav-link small{font-size:10px;overflow-wrap:anywhere;text-align:center}
.row-choice{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.row-choice:last-child{border-bottom:0}.row-choice label{display:flex;align-items:center;gap:9px;min-width:0}.row-choice input{accent-color:var(--lav);width:18px;height:18px}.mini-buttons{display:flex;gap:5px}.mini-buttons button{min-width:30px;height:32px;background:var(--light);border:1px solid var(--line);border-radius:9px;color:var(--dark)}
.modes,.calendar-bar{display:flex;align-items:center;justify-content:space-between;gap:8px}.modes button{flex:1}.selected{background:var(--light)!important;color:var(--dark)!important;border:1px solid #c7b6dd!important}.month-name{text-transform:capitalize;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekday{text-align:center;font-size:11px;color:var(--muted);padding:6px 0}.day{border:1px solid transparent;background:#faf8fd;aspect-ratio:1;border-radius:10px;color:var(--dark);display:grid;place-items:center;align-content:center;font-size:13px}.day.today{border-color:var(--lav)}.dot{width:5px;height:5px;border-radius:50%;background:var(--lav)}.event{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;box-shadow:none}.event small{display:block;color:var(--muted)}.danger{color:#b75f78;border:0;border-radius:10px;background:#fbeef2;padding:8px 11px}.paper-preview{min-height:340px;border-radius:19px;border:1px solid #e5d9e8;padding:28px;background:repeating-linear-gradient(#fffcfa 0,#fffcfa 33px,#e9ddea 34px);box-shadow:var(--shadow)}.paper-title{font-family:Georgia,serif;font-size:25px;text-align:center;color:var(--lav)}.paper-lines{height:180px}.footnote{text-align:center;color:var(--muted);font-size:10px;padding:5px 12px 108px}
@media(max-width:350px){.brand small{display:none}.tile-grid{grid-template-columns:1fr}.header{padding:10px}.screen{padding:16px 12px 110px}.bottom-nav{left:5px;right:5px}.nav-link small{font-size:9px}}

/* Personnalisation de l'accueil : crayon discret et prénom facultatif */
.edit-pencil{display:inline-grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:14px;background:var(--light);color:var(--dark);font-size:25px;text-decoration:none}.edit-pencil:focus-visible{outline:3px solid #b39bd0;outline-offset:2px}

/* Accueil : crayon explicite et visible, même sur téléphone */
.edit-pencil{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;padding:9px 12px;background:var(--light);border:1px solid #d7c6e9;border-radius:14px;color:var(--dark);font-size:13px;font-weight:650;white-space:nowrap}
.edit-pencil svg{width:19px;height:19px;flex-shrink:0}
.account-button svg{width:21px;height:21px}
.account-row{display:flex;align-items:center;gap:13px}
.account-avatar{width:56px;height:56px;border-radius:18px;background:var(--light);color:var(--lav);display:grid;place-items:center;font-size:27px}
.account-status{font-size:12px;color:var(--muted)}
.account-actions{display:grid;gap:10px}
.account-note{background:#f4edf9;border-radius:14px;padding:14px;color:var(--muted);font-size:13px}

/* Avatars illustrés dans Mon compte */
.account-avatar{overflow:hidden;border-radius:50%;background:var(--light)}
.account-avatar svg{width:100%;height:100%;display:block}
.avatar-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 4px}
.avatar-option{display:grid;place-items:center;padding:8px;border:2px solid var(--line);border-radius:18px;background:white;min-height:76px;cursor:pointer}
.avatar-option svg{display:block;width:min(100%,64px);height:auto;aspect-ratio:1}
.avatar-option.is-selected{border-color:var(--lav);background:var(--light);box-shadow:0 0 0 2px #8d75b022}
@media(max-width:370px){.avatar-picker{gap:5px}.avatar-option{padding:5px;min-height:60px}}

/* Créateur d'avatar doux et illustré */
.avatar-stage{display:grid;justify-items:center;gap:8px;padding:16px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(160deg,#faf7fe,#f0e9f8);margin:14px 0}
.avatar-large{width:min(220px,70vw);aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 10px 28px #55476518}
.avatar-large svg,.avatar-thumb svg{width:100%;height:100%;display:block}
.avatar-categories{display:flex;overflow-x:auto;gap:8px;padding:6px 1px 12px;scrollbar-width:thin}
.avatar-tab{display:flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--dark);font-size:13px}
.avatar-tab.active{background:var(--light);border-color:var(--lav);font-weight:700}
.avatar-tab span{font-size:18px}
.avatar-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}
.avatar-choice{min-width:0;display:grid;justify-items:center;gap:6px;padding:9px 4px;border:2px solid var(--line);border-radius:16px;background:#fff;color:var(--dark)}
.avatar-choice.active{background:#f4eefb;border-color:var(--lav)}
.avatar-choice small{font-size:11px;text-align:center}
.avatar-thumb{width:min(75px,100%);aspect-ratio:1;overflow:hidden;border-radius:50%}
.avatar-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}
@media(min-width:530px){.avatar-choices{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:360px){.avatar-choice small{font-size:10px}.avatar-actions .button{padding:11px 9px;font-size:13px}}

/* Mon compte : palette douce lavande / rose poudré / beige, responsive mobile-first */
.avatar-studio{min-width:0;overflow:hidden;background:linear-gradient(170deg,#fff 0%,#fffcfd 68%,#fbf4ef 100%)}
.avatar-studio h2{color:#6e567c}
.avatar-stage{min-width:0;max-width:100%;padding:clamp(12px,4vw,24px);background:radial-gradient(circle at 75% 15%,#fff4f7,transparent 45%),linear-gradient(145deg,#f4ebfb 0%,#f9ebed 55%,#f4eadd 100%);border-radius:24px}
.avatar-large{width:clamp(155px,49vw,250px);max-width:100%;box-shadow:0 16px 34px #7960802a, inset 0 1px 4px #fff;border:5px solid #ffffffab}
.avatar-categories{min-width:0;max-width:100%;overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding-bottom:13px}
.avatar-tab{scroll-snap-align:start;min-height:44px;border-radius:999px;padding:10px 15px;background:#fffafc;border-color:#eadde9}
.avatar-tab.active{background:#e9dbf2;border-color:#a88bbb;box-shadow:0 2px 7px #74558320}
.avatar-choices{min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.avatar-choice{width:100%;min-width:0;min-height:130px;gap:9px;padding:10px 7px 12px;border-radius:19px;background:#fffdfc;border-color:#ece2e7}
.avatar-choice.active{background:#f4ebf8;border-color:#9f7ebe}
.avatar-thumb{width:min(100%,92px);max-width:100%;box-shadow:0 5px 12px #65496b1a}
.avatar-actions{grid-template-columns:1fr;gap:10px;margin:18px 0 8px}
.avatar-actions .button{width:100%;min-height:46px;white-space:normal}
.account-row{min-width:0;flex-wrap:wrap}
.account-row>div:last-child{flex:1;min-width:160px}
.account-actions .button{white-space:normal;overflow-wrap:anywhere}
.screen>.panel,.screen>.hero{min-width:0}
@media(min-width:480px){.avatar-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.avatar-actions{grid-template-columns:1fr 1fr}}
@media(min-width:740px){.avatar-choices{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:390px){.avatar-studio{padding:14px}.avatar-choices{gap:8px}.avatar-choice{min-height:116px}.avatar-thumb{width:min(100%,82px)}.avatar-stage{padding:12px}.account-status{display:block;line-height:1.5}}

/* Avatar studio v2 : mobile-first avec silhouettes et contrôle de l'encombrement */
.avatar-kind{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:15px 0 5px}
.avatar-kind button{min-width:0;min-height:44px;border:1px solid #e4d6e8;border-radius:999px;background:#fffafd;color:#604d70;padding:10px 3px;font-size:clamp(12px,3.2vw,14px)}
.avatar-kind button.active{background:#e6d5f0;border-color:#a17bbb;font-weight:700;box-shadow:0 3px 8px #8d75b027}
.avatar-studio{overflow:visible}
.avatar-categories{max-width:100%;width:100%;overflow-x:auto;overflow-y:hidden}
.avatar-large{width:min(46vw,208px);min-width:142px}
.avatar-stage{padding:12px;gap:5px}
.avatar-choice{min-height:112px}
.avatar-thumb{width:min(100%,85px)}
.avatar-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.avatar-actions #avatarSave{grid-column:1/-1}
.avatar-actions button{min-width:0;overflow-wrap:anywhere}
.account-avatar{flex-shrink:0}
.screen{min-width:0}
@media(max-width:365px){.avatar-actions{grid-template-columns:1fr}.avatar-actions #avatarSave{grid-column:auto}.avatar-choice{padding:7px 3px}.avatar-studio{padding:12px}}

/* Galerie de véritables portraits 3D : une seule planche d'images, responsive */
.portrait-gallery{min-width:0;overflow:hidden;background:linear-gradient(155deg,#fff,#fffafd 65%,#fbf2ed)}
.portrait-preview{width:min(235px,58vw);aspect-ratio:1;margin:14px auto 8px;border:5px solid #fff;border-radius:50%;box-shadow:0 12px 30px #6c518b23;background-color:#eee5f7;background-image:url("../avatar-sprite.webp");background-size:500% 200%;background-repeat:no-repeat}
.portrait-filters{display:flex;gap:8px;overflow:auto;scrollbar-width:thin;padding:12px 1px}
.portrait-filters button{flex-shrink:0;min-height:43px;border:1px solid #e4d6e8;background:#fffafb;border-radius:999px;padding:9px 14px;color:#594568}
.portrait-filters button.active{border-color:#9676b5;background:#e8dcf3;font-weight:700}
.portrait-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.portrait-card{min-width:0;display:grid;gap:8px;justify-items:center;padding:10px 6px;border:2px solid #e9dfed;border-radius:19px;background:#fffcfd;color:#574966}
.portrait-card.active{background:#f0e8f9;border-color:#9776b8}
.portrait-card small{font-size:12px;line-height:1.3;text-align:center}
.portrait-photo{display:block;width:min(100%,130px);aspect-ratio:1;background-color:#eee5f7;background-image:url("../avatar-sprite.webp");background-size:500% 200%;background-repeat:no-repeat;border-radius:16px;box-shadow:0 4px 12px #62487518}
.portrait-actions{display:grid;gap:10px;margin:17px 0}
.portrait-actions .button{width:100%;min-width:0;white-space:normal}
.portrait-gallery [hidden]{display:none!important}
@media(min-width:520px){.portrait-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portrait-actions{grid-template-columns:1fr 1fr}}
@media(min-width:720px){.portrait-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:360px){.portrait-gallery{padding:13px}.portrait-grid{gap:8px}.portrait-photo{border-radius:12px}.portrait-preview{width:min(200px,60vw)}}

/* Galerie 16 portraits 3D (4 colonnes × 4 rangées), sans coches incrustées */
.portrait-preview,.portrait-photo{background-image:url("../avatar-sprite-16.webp");background-size:400% 400%}
.portrait-preview{width:min(200px,52vw)}
.portrait-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.portrait-card{padding:8px 5px;border-radius:17px}
.portrait-photo{width:min(100%,118px)}
.screen:has(.portrait-gallery){padding-bottom:calc(155px + env(safe-area-inset-bottom,0px))}
.screen:has(.portrait-gallery)~.footnote{padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))}
@media(min-width:600px){.portrait-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:760px){.portrait-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Import d'avatar personnel, entièrement local et adapté au mobile */
.custom-avatar-panel{min-width:0;background:linear-gradient(150deg,#fff,#faf4fd)}
.avatar-upload-label{display:flex;gap:10px;align-items:center;justify-content:center;min-height:52px;padding:12px 16px;border:2px dashed #b79bc9;border-radius:17px;background:#f8f0fa;color:#624c77;font-weight:700;cursor:pointer}
.avatar-upload-label span{font-size:24px;line-height:1}
#avatarUpload{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
#avatarUpload:focus-visible+.avatar-upload-preview{outline:3px solid #a98ccc}
.avatar-upload-preview{width:min(175px,56vw);aspect-ratio:1;margin:16px auto;border-radius:50%;border:5px solid white;box-shadow:0 9px 25px #51385d23;background-size:cover;background-position:center;background-repeat:no-repeat}
.avatar-upload-preview[hidden]{display:none}
.avatar-upload-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.avatar-upload-actions .button{min-width:0;padding:12px 8px;white-space:normal}
@media(max-width:370px){.avatar-upload-actions{grid-template-columns:1fr}}

/* Galerie inclusive : 20 portraits, planche 5 × 4 */
.portrait-preview,.portrait-photo{background-image:url("../avatar-sprite-20-fixed.webp");background-size:500% 400%}

/* Sprites recadrés sans gouttières, évite les fragments des portraits voisins. */
.portrait-photo,.portrait-preview{background-image:url("../avatar-sprite-20-fixed.webp");background-size:500% 400%;background-repeat:no-repeat}
.portrait-photo{overflow:hidden;aspect-ratio:1}

/* Mon compte : raccourcis, sujets visibles et confidentialité */
.account-shortcuts{display:flex;gap:7px;overflow-x:auto;padding-top:15px;margin-top:14px;border-top:1px solid var(--line);scrollbar-width:thin}
.account-shortcuts a{flex:none;display:inline-grid;place-items:center;min-height:41px;padding:9px 12px;border-radius:999px;background:#f2eaf8;color:#6c537e;font-size:12px;font-weight:650}
.topic-options{display:grid;gap:9px;margin:15px 0 10px}
.topic-option{display:flex;align-items:center;gap:10px;min-height:56px;padding:11px 13px;background:#fffcff;border:1px solid #e9dfed;border-radius:16px;cursor:pointer}
.topic-option:has(input:checked){background:#f4edf9;border-color:#c4acd8}
.topic-option input{width:19px;height:19px;flex-shrink:0;accent-color:#8d75b0}
.topic-option-label{font-size:14px;font-weight:650;flex:1;min-width:0}
.topic-toggle{height:9px;width:9px;border-radius:50%;background:#d4cadc;flex-shrink:0}
.topic-option:has(input:checked) .topic-toggle{background:#9474b7}
.privacy-facts{display:grid;gap:12px}
.privacy-facts p{margin:0;padding:13px 14px;border:1px solid #eee6f1;border-radius:15px;background:#fffafd;font-size:14px}
.privacy-facts strong{color:#5d4870}
.account-privacy .account-note{margin-top:15px}
.account-profile .fields{margin-top:14px}
#mesSujets,#monProfil,#mesAvatars,#confidentialite{scroll-margin-top:90px}
@media(min-width:600px){.topic-options{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Mon parcours PMA : prototype local, pensé d'abord pour mobile */
.pma-screen{padding-bottom:calc(150px + env(safe-area-inset-bottom,0px))}
.pma-hero{background:radial-gradient(circle at 100% 5%,#f3e6f7 0,transparent 48%),linear-gradient(135deg,#fff,#fff6fa 90%)}
.pma-primary{margin-top:16px;min-height:46px}
.pma-heart{font-size:25px;color:#c390b2}
.pma-form{display:grid;gap:13px;margin-top:14px}
.pma-form-row{display:grid;gap:13px}
.pma-form .field{font-weight:650;min-width:0}
.pma-form select,.pma-form textarea,.pma-active select{width:100%;min-width:0;padding:12px 13px;border:1px solid #e0d4e9;border-radius:13px;background:white;color:var(--dark);font:inherit}
.pma-form textarea{resize:vertical;line-height:1.45}
.pma-attempts{display:grid;gap:10px;margin-top:15px}
.pma-attempt{display:flex;align-items:center;gap:7px;border:1px solid #eadfed;border-radius:17px;background:#fffcfd;padding:8px}
.pma-attempt.is-active{background:#f4edf9;border-color:#ad8eca}
.pma-attempt-main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;text-align:left;border:0;background:transparent;color:var(--dark);padding:5px}
.pma-attempt-main strong,.pma-attempt-main small{display:block;overflow-wrap:anywhere}
.pma-attempt-main strong{font-size:14px}
.pma-attempt-main small{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.45}
.pma-attempt-symbol{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:12px;background:#ebdff5;color:#926fb2;font-size:21px}
.pma-delete{flex:none;border:0;background:#faedf2;color:#97566c;border-radius:10px;padding:8px;font-size:11px;min-height:36px}
.pma-empty{text-align:center;padding:20px 13px;border:1px dashed #decde8;border-radius:17px;background:#fcf9ff}
.pma-empty span{display:block;font-size:30px;color:#ac8abf;margin-bottom:7px}
.pma-empty strong{display:block;font-size:15px}
.pma-empty p{font-size:13px}
.pma-active .field{margin:15px 0}
.pma-actions .button{width:100%;margin-bottom:10px}
.pma-timeline{margin-top:18px}
.pma-moment{position:relative;display:grid;grid-template-columns:25px minmax(0,1fr);gap:7px;padding-bottom:18px}
.pma-moment:not(:last-child):before{position:absolute;content:"";top:20px;bottom:0;left:9px;width:2px;background:#ebdff2}
.pma-dot{width:19px;height:19px;border:5px solid #ded0ea;border-radius:50%;background:#987ab5;margin-top:14px}
.pma-moment-content{min-width:0;background:#fcf9ff;border:1px solid #eee3f2;border-radius:16px;padding:13px}
.pma-moment-content strong{display:block;font-size:15px;margin:9px 0}
.pma-moment-content p{white-space:normal;overflow-wrap:anywhere;font-size:13px;color:var(--muted)}
.pma-moment-content .pma-delete{margin-top:9px}
.pma-moment-top{display:flex;align-items:center;justify-content:space-between;gap:7px;flex-wrap:wrap}
.pma-moment-top time{font-size:11px;color:var(--muted)}
.pma-pill{padding:5px 9px;border-radius:999px;background:#f0e7f8;color:#77578c;font-weight:700;font-size:11px}
.pma-soft{background:linear-gradient(135deg,#fbf5ff,#fffbf9)}
.pma-soft .button{margin-top:12px}
@media(min-width:570px){.pma-form-row{grid-template-columns:1fr 1fr}.pma-attempt-main strong{font-size:15px}.pma-actions .button{width:auto}}
@media(max-width:360px){.pma-attempt{flex-wrap:wrap}.pma-delete{margin-left:auto}.pma-hero{padding:17px}}

/* Mes cycles : saisie facultative, sans prédictions */
.cycle-screen{padding-bottom:calc(145px + env(safe-area-inset-bottom,0px))}
.cycle-hero{background:radial-gradient(circle at 90% 5%,#f5e6f4 0,transparent 55%),linear-gradient(135deg,#fff,#fff9fc)}
.cycle-hero .button{margin-top:14px}
.cycle-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:14px 0}
.cycle-modes button{min-width:0;min-height:56px;padding:8px 5px;border:1px solid #e6d9eb;border-radius:15px;background:#fffcfe;color:#675174;font-size:12px;line-height:1.3}
.cycle-modes button.active{background:#eee2f6;border-color:#a383bc;font-weight:750}
.cycle-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:15px 0}
.cycle-calendar-header strong{text-transform:capitalize;font-size:16px}
.cycle-month-button{width:44px;height:44px;border:1px solid #e3d6eb;border-radius:13px;background:#f6effa;color:var(--dark);font-size:26px}
.cycle-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.cycle-calendar>span[role="columnheader"]{text-align:center;font-size:12px;color:var(--muted);padding:8px 0}
.cycle-day{min-width:0;aspect-ratio:1;display:grid;justify-items:center;align-content:center;gap:2px;border:1px solid #f2eaf4;border-radius:12px;background:#fdfafe;color:var(--dark);font-size:14px}
.cycle-day.has-entry{background:#f3e5f4;border-color:#c8a7cb}
.cycle-day.is-today{outline:2px solid #a080bf;outline-offset:-2px}
.cycle-day i{width:5px;height:5px;border-radius:50%;background:#b678a6}
.cycle-legend{font-size:12px;margin-top:13px}.cycle-legend span{color:#b678a6}
.cycle-form{display:grid;gap:14px;margin-top:15px}
.cycle-form textarea{width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:13px;font:inherit;color:var(--dark);resize:vertical}
.cycle-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.cycle-checks label{display:flex;align-items:center;gap:7px;min-height:50px;background:#fcf9ff;border:1px solid #ebe1f1;border-radius:13px;padding:8px;font-size:12px;font-weight:600}
.cycle-checks input{width:18px;height:18px;flex:none;accent-color:var(--lav)}
.cycle-form-actions{display:grid;gap:9px}
.cycle-history{display:grid;gap:10px;margin-top:15px}
.cycle-entry{padding:14px;border:1px solid #eee1ef;background:#fdfaff;border-radius:16px;min-width:0}
.cycle-entry-head{display:flex;justify-content:space-between;align-items:center;gap:9px}
.cycle-entry-head strong{font-size:14px}
.cycle-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
.cycle-tag{font-size:11px;background:#f0e5f5;color:#75558d;padding:6px 9px;border-radius:999px}
.cycle-entry-note{white-space:pre-wrap;overflow-wrap:anywhere}
.cycle-empty{background:#faf5fc;border:1px dashed #e4d3eb;padding:25px 14px;text-align:center;border-radius:16px;font-size:27px;color:#ac86c0}
.cycle-empty p{font-size:13px}
.cycle-kind{background:linear-gradient(135deg,#fbf5ff,#fffbf9)}
.cycle-kind .button{margin-top:12px}
#cycleEntryForm{scroll-margin-top:92px}
@media(min-width:580px){.cycle-form-actions{grid-template-columns:1fr 1fr}.cycle-modes button{font-size:14px}.cycle-checks label{font-size:14px}}
@media(max-width:350px){.cycle-modes{gap:4px}.cycle-modes button{font-size:11px}.cycle-checks{grid-template-columns:1fr}.cycle-calendar{gap:3px}}

/* Ma grossesse : un espace personnel sans décompte automatique */
.pregnancy-screen{padding-bottom:calc(150px + env(safe-area-inset-bottom,0px))}
.pregnancy-hero{background:radial-gradient(circle at 90% 8%,#f8e8f3 0,transparent 53%),linear-gradient(135deg,#fff,#fff9fa)}
.pregnancy-hero .button{margin-top:15px}
.pregnancy-settings,.pregnancy-moments{min-width:0}
.pregnancy-settings .field{margin:14px 0}
.pregnancy-check{display:flex;align-items:center;gap:10px;margin:10px 0;background:#fcf8ff;border:1px solid #eee3f2;border-radius:14px;padding:13px;font-size:14px;font-weight:600}
.pregnancy-check input{flex-shrink:0;width:18px;height:18px;accent-color:var(--lav)}
.pregnancy-settings>.button{margin-top:9px}
.pregnancy-personal{display:grid;gap:9px;margin-top:12px}
.pregnancy-personal:empty{display:none}
.pregnancy-personal p{padding:12px;background:#f7f0fa;border-radius:13px}
.pregnancy-timeline{display:grid;gap:12px;margin-top:16px}
.pregnancy-moment{padding:15px;border:1px solid #ecdfef;border-radius:18px;background:linear-gradient(155deg,#fffcff,#faf4fb)}
.pregnancy-moment-date{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap;margin-bottom:10px}
.pregnancy-moment-date span{font-size:12px;font-weight:700;background:#eee4f7;color:#76588b;border-radius:999px;padding:6px 10px}
.pregnancy-moment-date small{font-size:12px;color:var(--muted)}
.pregnancy-moment strong{font-size:15px;overflow-wrap:anywhere}
.pregnancy-moment p{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:9px}
.pregnancy-moment-actions{display:flex;gap:8px;margin-top:13px}
.pregnancy-moment-actions button{min-height:39px;border:1px solid #e5d7eb;background:#fff;border-radius:11px;padding:8px 13px;color:var(--dark);font-size:12px}
.pregnancy-moment-actions button:last-child{color:#a05878;background:#fff2f6}
.pregnancy-empty{text-align:center;border:1px dashed #dfcfe9;border-radius:18px;background:#fcf8ff;padding:27px 16px}
.pregnancy-empty span{display:block;font-size:30px;color:#ae8cbd}
.pregnancy-empty strong{display:block;margin-top:6px;font-size:15px}
.pregnancy-empty p{font-size:13px}
.pregnancy-form{display:grid;gap:14px;margin-top:15px}
.pregnancy-form-row{display:grid;gap:13px}
.pregnancy-form select,.pregnancy-form textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:13px;background:white;color:var(--dark);padding:12px;font:inherit}
.pregnancy-form textarea{resize:vertical;line-height:1.5}
.pregnancy-form-actions{display:grid;gap:9px}
.pregnancy-form-actions [hidden]{display:none}
.pregnancy-kind{background:linear-gradient(135deg,#fbf4ff,#fffbf9)}
.pregnancy-links{display:grid;gap:9px;margin-top:14px}
#pregnancyForm{scroll-margin-top:92px}
@media(min-width:560px){.pregnancy-form-row,.pregnancy-form-actions,.pregnancy-links{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Repères SA / SG et comparaisons imagées facultatives */
.pregnancy-week-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:10px 0}
.pregnancy-week-fields .field{min-width:0}
.pregnancy-fruit-card{background:radial-gradient(circle at 95% 5%,#fff0d9 0%,transparent 50%),linear-gradient(145deg,#fffafd,#fcf1fb)}
.pregnancy-fruit-card[hidden]{display:none!important}
.pregnancy-fruit-card h2{margin-top:8px}
.pregnancy-fruit-content{display:flex;align-items:center;gap:16px;margin:16px 0;padding:16px;border-radius:20px;background:#ffffffcc;border:1px solid #efe3ed}
.pregnancy-fruit-content strong{font-size:19px;color:#624b72}
.pregnancy-fruit-content p{font-size:13px}
.pregnancy-fruit-emoji{flex:none;display:grid;place-items:center;width:96px;height:96px;border-radius:28px;background:linear-gradient(150deg,#f8e9f8,#fff1dd);font-size:58px;filter:drop-shadow(0 4px 6px #6244711b)}
@media(max-width:365px){.pregnancy-week-fields{gap:7px}.pregnancy-fruit-content{gap:10px;padding:10px}.pregnancy-fruit-emoji{width:70px;height:70px;font-size:45px}.pregnancy-fruit-content strong{font-size:16px}}

/* Menus partagés : icônes de taille identique sur toutes les pages. */
.header-actions .icon-button svg{display:block;width:21px;height:21px}
.header-actions .icon-button{flex:none}
.bottom-nav .nav-link[aria-current="page"]{background:var(--light);color:var(--dark)}

/* Mon temps de pause : choix facultatifs, limites et notes personnelles */
.pause-screen{padding-bottom:calc(150px + env(safe-area-inset-bottom,0px))}
.pause-hero{background:radial-gradient(circle at 95% 0%,#f1e6fa 0,transparent 54%),linear-gradient(130deg,#fff,#fdf8f5)}
.pause-hero .button{margin-top:15px}
.pause-needs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:15px 0}
.pause-needs button{min-width:0;min-height:61px;border:1px solid #e7dbea;background:#fffcfe;border-radius:17px;color:var(--dark);font-size:13px;font-weight:600;padding:12px 8px}
.pause-needs button.selected{border-color:#a88abc!important;background:#efe4f6!important;color:#5c486c!important}
.pause-need-message{font-size:13px;padding:11px 13px;border-radius:12px;background:#f9f4fc}
.pause-boundaries .button{margin-top:12px}
.pause-switch{display:flex;align-items:flex-start;gap:12px;margin-top:15px;padding:15px 13px;border:1px solid #ebdfef;border-radius:17px;background:#fdf9ff;cursor:pointer}
.pause-switch input{width:20px;height:20px;accent-color:var(--lav);flex:none;margin-top:2px}
.pause-switch strong,.pause-switch small{display:block}
.pause-switch strong{font-size:14px}
.pause-switch small{margin-top:7px;font-size:12px;font-weight:400;line-height:1.5;color:var(--muted)}
.pause-quote-button{width:100%;border:1px solid #dac8e9;border-radius:14px;background:#f3eafa;color:#614d73;min-height:49px;padding:12px;font-weight:700}
.pause-quote{background:linear-gradient(140deg,#f9f1fc,#fff9f6);border-radius:18px;margin-top:12px;padding:21px 17px;line-height:1.65;font-size:15px;color:#715c7d;text-align:center}
.pause-form{display:grid;gap:13px;margin-top:15px}
.pause-form textarea{width:100%;font:inherit;border-radius:13px;border:1px solid var(--line);color:var(--dark);padding:12px;resize:vertical;line-height:1.55}
.pause-form-buttons{display:grid;gap:9px}
.pause-form-buttons [hidden]{display:none}
.pause-notes{display:grid;gap:11px;margin-top:14px}
.pause-note{padding:15px;border:1px solid #e9dfeb;border-radius:18px;background:linear-gradient(160deg,#fffafd,#fffcfb)}
.pause-note-top{display:flex;justify-content:space-between;gap:10px;align-items:center;color:#9276a3;margin-bottom:8px}
.pause-note-top small{font-size:12px}
.pause-note strong{display:block;overflow-wrap:anywhere}
.pause-note p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;margin:9px 0}
.pause-note-actions{display:flex;gap:9px;margin-top:14px}
.pause-note-actions button{min-height:39px;padding:8px 13px;border:1px solid #e5d8e8;border-radius:11px;background:white;color:var(--dark);font-size:12px}
.pause-note-actions button:last-child{color:#9e5974;background:#fff1f4}
.pause-empty{text-align:center;border:1px dashed #e2d5e9;border-radius:18px;padding:23px;background:#fcf8ff}
.pause-empty span{display:block;font-size:28px;color:#9878ad}
.pause-empty strong{display:block;margin:8px 0}
.pause-empty p{font-size:13px}
.pause-kind{background:linear-gradient(135deg,#faf4ff,#fff9f6)}
.pause-kind .button{margin-top:14px}
#pauseNoteForm{scroll-margin-top:95px}
@media(min-width:570px){.pause-needs{grid-template-columns:repeat(4,minmax(0,1fr))}.pause-form-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Mes pensées : carnet créatif hors navigation publique */
.thoughts-app{min-height:100vh;background:radial-gradient(circle at 10% 5%,#fcf0f6,transparent 45%),linear-gradient(#faf5f8,#f5f0e9);color:#68546c}
.thoughts-wrap{max-width:1040px;margin:0 auto;padding:13px 12px 110px}
.thoughts-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 2px 17px;font-size:12px;color:#86738a}
.thoughts-exit{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:9px 13px;background:#ffffffc9;border:1px solid #e8dce8;font-weight:700}
.thoughts-flower{font-size:25px;color:#b58db0}
.thoughts-privacy{max-width:720px;margin:0 auto 20px;background:#fff9f3;border:1px solid #eedecf;border-radius:13px;padding:10px 13px;line-height:1.5;font-size:12px;color:#796674}
.thoughts-cover-wrap{display:grid;justify-items:center;gap:17px}
.thoughts-cover{width:min(78vw,365px);min-height:440px;aspect-ratio:3/4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;padding:25px;border:1px solid #ffffffa8;border-left:16px solid #89739a;border-radius:9px 27px 27px 9px;box-shadow:inset 7px 0 13px #56426519,0 24px 50px #5d4c6833,6px 8px 0 #e6dce8;background:linear-gradient(140deg,#b6a0c8,#ddc9df);position:relative;color:#fffdfb;text-align:center}
.thoughts-cover[data-color="rose"]{background:linear-gradient(140deg,#dba6b6,#f2d4d8);border-left-color:#b77e91}
.thoughts-cover[data-color="sage"]{background:linear-gradient(140deg,#9fbca9,#d7e6d7);border-left-color:#739785}
.thoughts-cover[data-color="sand"]{background:linear-gradient(140deg,#c9ad92,#f0dfcc);border-left-color:#b29679}
.thoughts-cover:before{content:"";position:absolute;inset:16px;border:1px solid #fff9;border-radius:5px 17px 17px 5px;pointer-events:none}
.thoughts-cover-flower{font-size:52px;text-shadow:0 5px 14px #4e39562c}
.thoughts-cover h1{font-family:Georgia,serif;font-weight:500;letter-spacing:0;font-size:clamp(32px,7vw,43px);margin:0;color:white;overflow-wrap:anywhere}
.thoughts-cover-kicker{font-family:Georgia,serif;font-style:italic;font-size:14px}
.thoughts-cover-bottom{font-size:12px;letter-spacing:.8px}
.thoughts-main-button,.thoughts-sub-button{min-height:48px;border:0;border-radius:16px;padding:13px 18px;background:#866e9d;color:white;font-weight:700}
.thoughts-customize{width:min(100%,440px);padding:15px;border-radius:18px;background:#fff9;border:1px solid #e9dfeb}
.thoughts-customize summary{cursor:pointer;font-weight:700}
.thoughts-customize label{display:block;margin:14px 0 5px;font-size:13px;font-weight:650}
.thoughts-customize input{width:100%;padding:11px 12px;border:1px solid #e2d5e8;border-radius:12px;background:white}
.thoughts-small{font-size:12px;line-height:1.5;color:#8a758c}
.thoughts-customize .thoughts-small{margin:10px 0}
.thoughts-cover-colors{display:flex;gap:8px}
.thoughts-cover-colors button{width:48px;height:46px;border:1px solid #e5d5e8;border-radius:12px;background:white;font-size:21px}
.thoughts-cover-colors button.active{outline:3px solid #ad8cc0}
.thoughts-book-header{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:15px}
.thoughts-book-header button,.thoughts-pagination button{border:1px solid #e2d4e4;background:#fff9fd;color:#745b7b;border-radius:12px;min-height:43px;padding:8px 12px;font-weight:700}
.thoughts-book-header span,.thoughts-pagination span{font-size:13px;font-weight:700}
.thoughts-book{perspective:1300px;max-width:920px;margin:auto}
.thoughts-page-spread{display:grid;grid-template-columns:1fr;max-width:455px;min-height:540px;margin:auto;filter:drop-shadow(0 15px 20px #59445e2c)}
.thoughts-page-spread.turning{animation:thoughtsTurn .36s ease both;transform-origin:left center}
@keyframes thoughtsTurn{0%{transform:rotateY(-9deg) translateX(9px);opacity:.65}100%{transform:rotateY(0) translateX(0);opacity:1}}
.thoughts-sheet{min-width:0;min-height:540px;aspect-ratio:3/4}
.thoughts-page-paper{position:relative;overflow:hidden;height:100%;background:repeating-linear-gradient(180deg,#fffcf5 0px,#fffcf5 31px,#ece0e4 32px);border:1px solid #e7d9d7;border-radius:5px 15px 15px 5px;box-shadow:inset 12px 0 16px #866b7720,inset -4px 0 8px #866b7714}
.thoughts-sheet:nth-child(2) .thoughts-page-paper{border-radius:15px 5px 5px 15px;box-shadow:inset -12px 0 16px #866b7720}
.thoughts-paper-corner{position:absolute;top:13px;right:16px;color:#d3b6cb;font-size:21px;pointer-events:none}
.thoughts-page-text{position:absolute;z-index:1;inset:50px 7% 42px;width:86%;height:calc(100% - 92px);resize:none;border:0;background:transparent;font:17px/32px "Segoe Print","Comic Sans MS",cursive;color:#655266;padding:0;outline:0;overflow-y:auto}
.thoughts-page-text::placeholder{color:#b6a3b9}
.thoughts-drawing{position:absolute;z-index:2;inset:0;width:100%;height:100%;pointer-events:none}
.thoughts-objects{position:absolute;z-index:3;inset:0;pointer-events:none}
.thoughts-item{position:absolute;display:grid;place-items:center;touch-action:none;user-select:none;pointer-events:none}
.thoughts-item.sticker{font-size:43px;line-height:1}
.thoughts-item.photo{width:39%;max-width:180px;border:7px solid #fff;box-shadow:0 5px 17px #55445b34;border-bottom-width:20px;background:white}
.thoughts-item.photo img{width:100%;height:auto;display:block;max-height:210px;object-fit:contain}
.thoughts-page-number{position:absolute;bottom:9px;left:50%;font:12px Georgia,serif;color:#b39fb4;pointer-events:none}
.thoughts-page-spread[data-tool="draw"] .thoughts-drawing,.thoughts-page-spread[data-tool="erase"] .thoughts-drawing{pointer-events:auto;touch-action:none;cursor:crosshair}
.thoughts-page-spread[data-tool="draw"] .thoughts-page-text,.thoughts-page-spread[data-tool="erase"] .thoughts-page-text{pointer-events:none}
.thoughts-page-spread[data-tool="move"] .thoughts-item,.thoughts-page-spread[data-tool="erase"] .thoughts-item{pointer-events:auto}
.thoughts-page-spread[data-tool="move"] .thoughts-objects,.thoughts-page-spread[data-tool="erase"] .thoughts-objects{pointer-events:none}
.thoughts-page-spread[data-tool="move"] .thoughts-item,.thoughts-page-spread[data-tool="erase"] .thoughts-item{pointer-events:auto}
.thoughts-pagination{display:flex;align-items:center;justify-content:center;gap:25px;margin:17px 0}
.thoughts-pagination button{min-width:52px;font-size:24px;padding:4px}
.thoughts-pagination button:disabled{opacity:.36}
.thoughts-tip{text-align:center;max-width:580px;margin:16px auto 10px}
.thoughts-delete{display:block;margin:12px auto;border:0;background:transparent;color:#9f5c78;font-size:12px;text-decoration:underline;padding:10px}
.thoughts-toolbox{position:fixed;z-index:20;left:50%;bottom:14px;transform:translateX(-50%);width:min(96vw,405px);padding:6px 9px 9px;border:1px solid #d8c5dc;border-radius:18px;background:#fffdf9f5;box-shadow:0 10px 30px #57416d36;backdrop-filter:blur(9px)}
.thoughts-toolbox[hidden],.thoughts-book-section[hidden],.thoughts-cover-wrap[hidden]{display:none!important}
.thoughts-toolbox-handle{display:flex;align-items:center;justify-content:center;gap:7px;cursor:grab;font-size:11px;color:#7d618d;font-weight:700;min-height:28px;touch-action:none;user-select:none}
.thoughts-tools{display:flex;gap:5px;justify-content:space-between;align-items:center}
.thoughts-tools button,.thoughts-photo-tool{min-width:35px;min-height:38px;display:grid;place-items:center;border:1px solid #e7dbe8;border-radius:10px;background:#faf4fc;color:#705482;font-size:21px;cursor:pointer}
.thoughts-tools button[aria-pressed="true"]{background:#e6d3ed;border-color:#ac8abe}
.thoughts-photo-tool input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.thoughts-color-label{display:flex;align-items:center;justify-content:center;gap:9px;font-size:11px;color:#776080;margin-top:5px}
.thoughts-color-label input{width:38px;height:24px;border:0;background:transparent;padding:0}
.thoughts-book-section{margin:0 auto}
@media(min-width:651px){.thoughts-page-spread{grid-template-columns:1fr 1fr;max-width:900px;min-height:540px}.thoughts-sheet{min-height:540px}.thoughts-page-text{font-size:16px}}
@media(max-width:390px){.thoughts-wrap{padding:8px 8px 120px}.thoughts-cover{min-height:385px;width:min(85vw,340px)}.thoughts-page-spread,.thoughts-sheet{min-height:480px}.thoughts-tools button,.thoughts-photo-tool{min-width:32px}.thoughts-toolbox{padding:5px}}

/* La loupe du passage discret ne se montre que si l'expression exacte est saisie. */
.thoughts-search-entry{display:inline-grid;place-items:center;width:47px;height:47px;border:1px solid #e6d9ec;background:#f7f1fb;color:#795e8c;border-radius:15px;margin:4px 0}
.thoughts-search-entry:hover{background:#eee3f7}

/* Mes pensées : correctifs mobile des lignes, saisie, gomme et dates */
.thoughts-page-paper{background:#fffcf5}
.thoughts-date-label{position:absolute;z-index:9;top:11px;left:7%;display:flex;align-items:center;gap:7px;font:12px system-ui,sans-serif;color:#8d7593}
.thoughts-date-label input{border:0;border-bottom:1px solid #e3d5de;border-radius:0;background:#fffaf6;color:#806785;font:12px system-ui,sans-serif;padding:3px;max-width:153px}
.thoughts-page-text{inset:auto;top:64px;left:7%;width:86%;height:calc(100% - 95px);padding:0 1px;margin:0;background:repeating-linear-gradient(to bottom,transparent 0,transparent 30px,#ecdde7 31px,#ecdde7 32px);background-attachment:local;font:17px/32px Arial,system-ui,sans-serif;letter-spacing:0;border:0;z-index:5;touch-action:auto;pointer-events:auto;caret-color:#74519a}
.thoughts-page-spread[data-tool="write"] .thoughts-page-text{pointer-events:auto;z-index:6}
.thoughts-page-spread[data-tool="draw"] .thoughts-page-text,.thoughts-page-spread[data-tool="erase"] .thoughts-page-text,.thoughts-page-spread[data-tool="move"] .thoughts-page-text{pointer-events:none}
.thoughts-page-spread[data-tool="draw"] .thoughts-drawing,.thoughts-page-spread[data-tool="erase"] .thoughts-drawing{z-index:7}
.thoughts-page-spread[data-tool="move"] .thoughts-objects,.thoughts-page-spread[data-tool="erase"] .thoughts-objects{z-index:8}
.thoughts-toolbox [data-tool="erase"][aria-pressed="true"]{background:#ead8f0;border-color:#9172ad}
@media(max-width:390px){.thoughts-page-text{font-size:16px;line-height:32px}}

/* Date longue du journal : jour de la semaine, quantième, mois et année */
.thoughts-date-label{left:6%;right:6%;top:10px;display:flex;align-items:center;justify-content:space-between;gap:6px;width:88%;min-height:36px;font-weight:650}
.thoughts-date-text{font-size:clamp(12px,3.5vw,16px);color:#745c80;line-height:1.2;overflow-wrap:anywhere}
.thoughts-date-label input[type="date"]{width:36px;min-width:36px;max-width:36px;height:35px;font-size:0;padding:4px;border:1px solid #eadce8;border-radius:10px;background:#fff9f7;color:#745c80;cursor:pointer}
.thoughts-date-label input[type="date"]::-webkit-calendar-picker-indicator{width:22px;height:22px;margin:0;opacity:.85;cursor:pointer}
.thoughts-date-label input[type="date"]::-webkit-datetime-edit{display:none}

/* Ma bulle de douceur */
.douceur-screen{padding-bottom:calc(145px + env(safe-area-inset-bottom,0px))}
.douceur-hero{background:radial-gradient(circle at 95% 5%,#f5e6f7,transparent 51%),linear-gradient(145deg,#fff,#fff9f6)}
.douceur-hero .button{margin-top:14px}
.douceur-needs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:15px 0}
.douceur-needs button,.douceur-tabs button{min-width:0;min-height:57px;border:1px solid #e6d9eb;border-radius:15px;padding:10px 8px;background:#fffbff;color:#644e74;font-size:13px;font-weight:650}
.douceur-needs button.active,.douceur-tabs button.active{background:#eee1f5;border-color:#a583bd}
.douceur-response{padding:17px 14px;background:#faf4fc;border-radius:16px;line-height:1.6;font-size:14px}
.douceur-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:15px 0}
.douceur-tabs button{min-height:45px}
.douceur-exercise{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;min-height:230px;text-align:center;background:linear-gradient(135deg,#fffaf6,#f6ecfb);border-radius:19px;border:1px solid #ecdfef;padding:18px}
.douceur-step-mark{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:#ecdef5;color:#9975b2;font-size:32px}
.douceur-exercise h3{margin:0}.douceur-exercise p{font-size:15px}.douceur-exercise small{font-size:12px;color:var(--muted)}
.douceur-control{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}
.douceur-control .button{min-width:0;padding:12px 6px;font-size:12px}
.douceur-control #douceurStop{grid-column:1/-1}
.douceur-control button:disabled{opacity:.4}
.douceur-words{background:linear-gradient(140deg,#fbf3fa,#f9f0fc)}
.douceur-words-display{padding:25px 18px;text-align:center;background:#fffcff;border-radius:17px;margin:14px 0;font:italic 19px/1.55 Georgia,serif;color:#785d84}
.douceur-words>.button{width:100%}
.douceur-words-display[hidden],.douceur-words>.button[hidden]{display:none}
.douceur-option{display:flex;align-items:center;gap:10px;padding:14px;border-radius:14px;background:#fcf8ff;border:1px solid #e9ddec;font-size:14px}
.douceur-option input{width:19px;height:19px;accent-color:var(--lav)}
.douceur-link-grid{display:grid;gap:9px;margin-top:14px}
@media(min-width:560px){.douceur-needs{grid-template-columns:repeat(4,minmax(0,1fr))}.douceur-link-grid{grid-template-columns:1fr 1fr}}

/* Identité visuelle uniforme : colibri à la place des fleurs décoratives */
.decorative-colibri{display:block;width:100%;height:100%;stroke:currentColor;fill:none}
.thoughts-flower{display:grid;place-items:center;width:30px;height:30px;color:#9d79b5}
.thoughts-flower .decorative-colibri{width:28px;height:28px}
.thoughts-cover-flower{display:grid;place-items:center;width:88px;height:88px;color:#fffdfb;filter:drop-shadow(0 4px 8px #56416544)}
.thoughts-cover-flower .decorative-colibri{width:88px;height:88px}
.thoughts-paper-corner{display:grid;place-items:center;width:32px;height:32px;top:12px;right:12px;color:#c9a6ca}
.thoughts-paper-corner .decorative-colibri{width:30px;height:30px}
.thoughts-tools button .decorative-colibri{width:25px;height:25px}
.thoughts-item.logo-sticker{color:#9d79b5;width:70px;height:70px}
.thoughts-item.logo-sticker .decorative-colibri{width:70px;height:70px}
.cover-color-dot{display:block;margin:auto;width:23px;height:23px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #dac9d8}
.cover-color-dot.rose{background:#dba6b6}
.cycle-header-colibri{display:inline-grid;place-items:center;width:27px;height:27px;color:#a280b7}
.cycle-header-colibri .decorative-colibri{width:27px;height:27px}
.cycle-empty .decorative-colibri{width:36px;height:36px;margin:0 auto;color:#a280b7}
.douceur-step-mark .decorative-colibri{width:48px;height:48px}

/* Mes conseils : bibliothèque personnalisée et sourcée */
.conseil-screen{padding-bottom:calc(145px + env(safe-area-inset-bottom,0px))}
.conseil-hero{background:radial-gradient(circle at 96% 3%,#f1e7f8,transparent 53%),linear-gradient(135deg,#fff,#fffbf9)}
.conseil-fieldset{border:0;padding:0;margin:15px 0}
.conseil-fieldset legend{font-size:14px;font-weight:700;margin-bottom:9px}
.conseil-interests{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.conseil-interest{display:flex;min-height:55px;align-items:center;gap:8px;padding:10px;border-radius:14px;border:1px solid #e8deed;background:#fcf9ff;font-size:13px}
.conseil-interest input,.conseil-choice input{accent-color:var(--lav);width:18px;height:18px;flex:none}
.conseil-interest span{overflow-wrap:anywhere}
.conseil-screen select{min-height:46px;width:100%;border:1px solid #e3d8e9;background:white;border-radius:13px;padding:11px;color:var(--dark);font:inherit}
.conseil-choice{display:flex;align-items:center;gap:10px;margin:16px 0;font-size:13px}
.conseil-actions{display:grid;gap:9px}
.conseil-cards{display:grid;gap:12px;margin-top:14px}
.conseil-card{border:1px solid #e9ddec;background:linear-gradient(155deg,#fffdfd,#fbf7fe);padding:16px;border-radius:19px}
.conseil-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.conseil-category{font-size:12px;font-weight:700;color:#80658e}
.conseil-favorite{width:40px;height:40px;border:1px solid #eadbeb;border-radius:13px;background:#fff;color:#9e668e;font-size:24px}
.conseil-favorite[aria-pressed="true"]{background:#f5eaf4}
.conseil-card h3{margin:8px 0 7px;font-size:17px}
.conseil-level{display:inline-block;background:#f1e9f6;border-radius:999px;padding:5px 9px;color:#795d87;font-size:11px}
.conseil-card>p,.conseil-card details p{font-size:13px;line-height:1.58}
.conseil-card details{margin-top:11px;border-top:1px solid #eee4f0;padding-top:10px;font-size:13px}
.conseil-card summary{font-weight:700;color:#785795;cursor:pointer;min-height:30px}
.conseil-link,.conseil-resources a{display:block;color:#765492;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;font-weight:650;margin-top:10px;font-size:13px}
.conseil-resources{display:grid;gap:8px;margin-top:13px}
.conseil-empty{padding:22px 14px;text-align:center;border:1px dashed #e3d4eb;border-radius:16px;background:#faf5fd;color:var(--muted);font-size:13px}
@media(min-width:580px){.conseil-interests{grid-template-columns:repeat(3,minmax(0,1fr))}.conseil-actions{grid-template-columns:1fr 1fr}.conseil-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Mon bébé grandit : développement et souvenirs sans progression obligatoire */
.bebe-screen{padding-bottom:calc(145px + env(safe-area-inset-bottom,0px))}
.bebe-hero{background:radial-gradient(circle at 95% 0%,#f5e8fa,transparent 45%),linear-gradient(145deg,#fff,#fff9f6)}
.bebe-fields{display:grid;gap:13px;margin:15px 0}
.bebe-option{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid #e9deee;border-radius:14px;background:#faf6fc;font-size:13px;line-height:1.45}
.bebe-option input{width:19px;height:19px;accent-color:var(--lav);flex-shrink:0}
.bebe-summary{background:linear-gradient(140deg,#f7edf9,#fffcf9)}
.bebe-age{font-size:clamp(20px,5vw,28px);font-weight:750;line-height:1.4;color:#76588b;margin-top:12px}
.bebe-screen select{width:100%;border:1px solid #e5d9ea;padding:12px;border-radius:13px;background:white;color:var(--dark);font:inherit}
.bebe-milestones{background:#fcf9ff;border:1px solid #ece0f2;border-radius:17px;padding:18px;margin:15px 0}
.bebe-milestones h3{font-size:17px}
.bebe-milestones ul{display:grid;gap:11px;padding-left:22px;font-size:14px;color:#6e5a79;line-height:1.55}
.bebe-milestones p{font-size:12px}
.bebe-memory-form{display:grid;gap:12px;margin:15px 0}
.bebe-memory-form textarea{width:100%;border:1px solid #e7daea;border-radius:13px;padding:12px;resize:vertical;background:white;color:var(--dark);font:inherit;line-height:1.55}
.bebe-memory-actions{display:grid;gap:8px}
.bebe-memory-actions [hidden]{display:none}
.bebe-memories{display:grid;gap:10px}
.bebe-memory{background:#fffafe;border:1px solid #e8dceb;border-radius:16px;padding:15px}
.bebe-memory-top{display:flex;justify-content:space-between;align-items:center;gap:7px}
.bebe-memory-top small{font-size:12px;color:#886c99}
.bebe-memory-top>div{display:flex;gap:6px}
.bebe-memory-top button{padding:8px;border:1px solid #e9deee;border-radius:9px;background:white;color:#6c537a;font-size:12px}
.bebe-memory-top button:last-child{color:#ac5f79}
.bebe-memory h3{margin-top:12px}
.bebe-memory p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}
.bebe-empty{font-size:13px;padding:13px;background:#fbf6fd;border-radius:14px}
.bebe-resource{display:block;text-decoration:underline;color:#775694;font-size:13px;font-weight:650;overflow-wrap:anywhere;margin-top:12px}
@media(min-width:620px){.bebe-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.bebe-memory-actions{grid-template-columns:1fr 1fr}}

/* Accueil éditorial 2026 : carte phare et raccourcis compacts, non-grille */
.home-modern{gap:17px;padding-top:23px}
.home-greeting{padding:6px 3px 15px;background:transparent}
.home-eyebrow,.home-heading-kicker{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:750;color:#9a7eae}
.home-greeting h1{font-weight:750;letter-spacing:-1.25px;font-size:clamp(31px,8vw,44px);margin:10px 0 7px;line-height:1.12;color:#594369}
.home-greeting p{font-size:14px;color:#87768f;margin:0}
.home-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:10px;padding:0 2px}
.home-heading h2{margin:6px 0 0;font-size:23px;letter-spacing:-.6px}
.home-edit{display:inline-flex;align-items:center;gap:7px;padding:9px 11px;border-radius:999px;background:#f0e8f6;color:#785e8b;font-size:12px;font-weight:750;min-height:40px;white-space:nowrap}
.home-edit svg{width:15px;height:15px}
.home-areas{display:grid;gap:12px}
.home-feature{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:193px;overflow:hidden;border-radius:27px;padding:23px 24px;background:radial-gradient(circle at 99% 0%,#fdf0ecbd,transparent 49%),linear-gradient(130deg,#e8d9f1,#ede6f5 62%,#faf0ee);color:#61476f;border:1px solid #e9ddeb;box-shadow:0 9px 24px #7562870d}
.home-feature:before{content:"";position:absolute;right:-50px;bottom:-80px;width:210px;height:210px;border:1px solid #fff9;border-radius:50%;pointer-events:none}
.home-feature-top{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px}
.home-feature-overline{font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:800;color:#836996}
.home-feature-glyph{display:grid;place-items:center;width:43px;height:43px;border-radius:17px;background:#fff9;color:#8c6fa3;font-size:24px}
.home-feature-title{font-size:clamp(23px,6vw,30px);font-weight:750;line-height:1.16;letter-spacing:-.65px;max-width:82%}
.home-feature-desc{font-size:13px;color:#816b8f;line-height:1.45;padding-right:15px}
.home-feature-arrow{position:absolute;right:23px;bottom:21px;font-size:24px;color:#886d9c}
.home-area-list{display:grid;background:#fffdfef2;border:1px solid #ece3ef;border-radius:23px;padding:3px 16px;box-shadow:0 5px 20px #6d537d09}
.home-area-row{display:flex;align-items:center;min-height:72px;gap:13px;padding:12px 0;border-bottom:1px solid #f0eaf3}
.home-area-row:last-child{border-bottom:0}
.home-area-icon{display:grid;place-items:center;width:43px;height:43px;flex-shrink:0;border-radius:15px;background:#f6eff9;color:#8d72a2;font-size:22px}
.home-area-body{display:grid;gap:4px;flex:1;min-width:0}
.home-area-body strong{font-size:14px;color:#5c476c}
.home-area-body small{font-size:12px;line-height:1.4;color:#928397}
.home-row-arrow{font-size:27px;font-weight:300;color:#aa93b5;padding:0 5px}
.home-endnote{display:flex;gap:12px;align-items:flex-start;margin-top:4px;padding:10px 5px 16px}
.home-endnote-symbol{font-size:22px;color:#a58aba;line-height:1}
.home-endnote strong{font-size:13px;color:#766486}
.home-endnote p{font-size:12px;margin:5px 0 0;line-height:1.5}
.home-blank{background:#fffcff;border:1px dashed #d7c5e3;padding:24px 19px;border-radius:19px}
.home-blank strong{font-size:15px}.home-blank p{font-size:13px}
.home-blank a{display:inline-block;background:#eee5f5;border-radius:14px;padding:12px;color:#745588;margin-top:9px;font-weight:700;font-size:13px}
@media(min-width:680px){.home-modern{max-width:700px}.home-feature{min-height:210px;padding:28px 32px}.home-area-row{min-height:78px}.home-feature-title{max-width:75%}}

/* ACCUEIL VERSION NEXT : plus de tuiles et aucun bloc graphique superflu */
body[data-page="index"]{background:#faf8fb}
body[data-page="index"] .header{background:#faf8fbf4;border-bottom-color:#eee8f1;box-shadow:none}
body[data-page="index"] .screen.home-next{max-width:760px;display:block;padding:22px 23px 124px}
.next-intro{position:relative;padding:34px 0 52px;isolation:isolate}
.next-intro:before{content:"";position:absolute;z-index:-1;right:-18px;top:12px;width:min(43vw,180px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 39% 30%,#f5eaf6 0,#e8daef9c 45%,#e8daef00 72%);filter:blur(3px);pointer-events:none}
.next-intro-top{display:flex;gap:13px;align-items:center;margin-bottom:27px}
.next-date{font-size:12px;letter-spacing:.03em;font-weight:650;color:#9b87a5}
.next-dot{width:5px;height:5px;border-radius:50%;background:#ab8abb}
.next-intro h1{font-size:clamp(43px,10vw,67px);line-height:1.04;letter-spacing:-2.5px;font-weight:670;color:#503d5d;margin:0 0 16px;max-width:590px}
.next-intro p{font-size:15px;line-height:1.5;color:#8d7c96;margin:0}
.next-section-top{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-bottom:17px}
.next-kicker{font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.12em;color:#967ba4}
.next-index{font-size:11px;color:#aa97b2}
.next-primary{min-width:0}
.next-spotlight{position:relative;display:flex;flex-direction:column;gap:13px;min-height:225px;padding:25px 28px 31px;background:#e6d8ed;border-radius:12px 42px 12px 12px;color:#554264;overflow:hidden;transition:transform .2s ease}
.next-spotlight:before{content:"";position:absolute;width:310px;height:310px;right:-172px;bottom:-175px;border-radius:50%;border:1px solid #f9f1fac9;box-shadow:0 0 0 26px #ffffff20,0 0 0 56px #ffffff13}
.next-spotlight-head{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:auto}
.next-spotlight-icon{font-size:26px;opacity:.82}
.next-spotlight-action{width:42px;height:42px;border:1px solid #ffffffc4;border-radius:50%;display:grid;place-items:center;font-size:22px;font-weight:400}
.next-spotlight strong{font-size:clamp(27px,7vw,39px);max-width:85%;letter-spacing:-1.2px;line-height:1.07;font-weight:670;position:relative}
.next-spotlight small{font-size:14px;line-height:1.4;color:#7d658c;position:relative}
.next-explore{margin-top:48px}
.next-explore h2{font-size:26px;letter-spacing:-.7px;line-height:1.1;margin:0;font-weight:680;color:#544161}
.next-manage{font-size:12px;color:#947ba4;text-decoration:none;white-space:nowrap;font-weight:650;padding:10px 0}
.next-manage span{margin-left:5px}
.next-areas{border-top:1px solid #dfd5e4;margin-top:18px}
.next-list-link{display:flex;align-items:center;gap:16px;border-bottom:1px solid #e6dfe9;min-height:90px;padding:17px 0}
.next-list-number{align-self:flex-start;padding-top:4px;color:#b49dc0;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;width:26px;flex-shrink:0}
.next-list-name{display:grid;gap:6px;min-width:0;flex:1}
.next-list-name strong{font-size:18px;line-height:1.2;color:#594367;font-weight:640;letter-spacing:-.35px}
.next-list-name small{font-size:12px;line-height:1.45;color:#9a8aa2}
.next-list-arrow{font-size:21px;color:#aa8fba;font-weight:300;padding:0 5px}
.next-signoff{display:flex;align-items:center;gap:13px;margin:45px 0 10px}
.next-signoff-stroke{display:block;width:24px;height:1px;background:#ab93b5;flex-shrink:0}
.next-signoff p{font:italic 14px Georgia,serif;color:#aa97b1;margin:0}
.next-empty{padding:28px 3px 21px;border-top:1px solid #e5dbe9;border-bottom:1px solid #e5dbe9}
.next-empty strong{display:block;font-size:23px;letter-spacing:-.4px;color:#58456a}
.next-empty p{font-size:14px;margin:7px 0 15px}
.next-empty a{display:inline-block;color:#856a9c;font-weight:700;font-size:13px}
@media(hover:hover){.next-spotlight:hover{transform:translateY(-3px)}.next-list-link:hover .next-list-name strong{color:#9471ad}}
@media(max-width:380px){body[data-page="index"] .screen.home-next{padding-left:16px;padding-right:16px}.next-intro{padding-top:20px;padding-bottom:38px}.next-intro h1{font-size:40px}.next-spotlight{min-height:211px;padding:21px}.next-explore{margin-top:36px}.next-list-name strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){.next-spotlight{transition:none}}

/* Navigation hamburger commune et accueil minimal, sans tuiles ni chiffres */
body .bottom-nav{display:none!important}
body .screen{padding-bottom:calc(55px + env(safe-area-inset-bottom,0px))}
.app-menu-button{display:grid;place-items:center;flex:none;width:43px;height:43px;border-radius:14px;background:transparent;border:1px solid #e9e0ed;color:#695174;padding:0}
.app-menu-button svg{width:24px;height:24px}
.app-menu-root{position:relative;z-index:100}
.app-menu-backdrop{position:fixed;inset:0;background:#352b3d6b;backdrop-filter:blur(4px);z-index:100;opacity:0;transition:opacity .22s}
.app-menu-backdrop:not([hidden]){opacity:1}
.app-menu-backdrop[hidden]{display:none}
.app-menu-drawer{position:fixed;right:0;top:0;bottom:0;width:min(91vw,410px);z-index:101;background:#fcfafd;box-shadow:-20px 0 70px #46345136;display:flex;flex-direction:column;transform:translateX(105%);transition:transform .26s ease;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);visibility:hidden}
.app-menu-open{overflow:hidden}
.app-menu-open .app-menu-drawer{transform:translateX(0);visibility:visible}
.app-menu-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:28px 24px 18px}
.app-menu-kicker{color:#a18aac;font-size:11px;font-weight:700;letter-spacing:.09em}
.app-menu-top h2{font-size:29px;margin:6px 0 0;letter-spacing:-.8px}
.app-menu-close{width:43px;height:43px;border:1px solid #eadfec;background:#fff;border-radius:50%;font-size:18px;color:#765d80}
.app-menu-scroll{overflow-y:auto;overscroll-behavior:contain;flex:1;padding:0 24px 18px}
.app-menu-scroll h3{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#aa93b5;margin:30px 0 9px;font-weight:800}
.app-menu-link{display:flex;min-height:60px;align-items:center;gap:14px;border-bottom:1px solid #eae3ed;font-size:15px;color:#594565;font-weight:650}
.app-menu-icon{width:28px;text-align:center;color:#9577a6;font-size:19px;flex:none}
.app-menu-chevron{margin-left:auto;font-size:24px;font-weight:300;color:#b19bbb}
.app-menu-home{background:#f3ecf7;padding:0 13px;border-radius:15px;border:0}
.app-menu-bottom{padding:18px 24px 26px;border-top:1px solid #ede5ef}
.app-menu-bottom a{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#795e8d;font-weight:750}
body[data-page="index"]{background:#fbf9fc}
body[data-page="index"] .header{background:#fbf9fcf2;border-bottom:0}
body[data-page="index"] .screen.home-calm{max-width:760px;min-height:calc(100svh - 94px);padding:35px 28px 50px;display:flex;flex-direction:column;align-items:stretch;gap:0}
.calm-welcome{padding-top:clamp(14px,6vh,70px)}
.calm-date{font-size:12px;font-weight:600;letter-spacing:.03em;color:#a18caf}
.calm-welcome h1{font-size:clamp(44px,11vw,72px);letter-spacing:-2.8px;line-height:1.05;margin:19px 0 18px;font-weight:650;color:#544060}
.calm-welcome p{font-size:15px;line-height:1.75;color:#887990;margin:0}
.calm-center{flex:1;min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center}
.calm-orbit{display:grid;place-items:center;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,#f2e9f5 10%,#f4ecf6 56%,transparent 72%);color:#9978ad}
.calm-orbit svg{width:94px;height:94px}
.calm-center p{font:italic 15px/1.8 Georgia,serif;color:#9a85a7;margin:0}
.calm-action{padding:5px 0 20px}
.calm-menu-cta{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 21px;border:0;border-radius:18px;background:#6d567c;color:white;font-size:15px;font-weight:650}
.calm-menu-cta span:last-child{font-size:22px;font-weight:300}
.calm-action p{text-align:center;font-size:12px;margin:13px 0 0;color:#9a8ca1}
@media(max-width:380px){body[data-page="index"] .screen.home-calm{padding:20px 18px 35px}.calm-center{min-height:175px}.calm-orbit{width:115px;height:115px}.calm-orbit svg{width:75px;height:75px}.calm-welcome h1{font-size:43px}}
@media(prefers-reduced-motion:reduce){.app-menu-backdrop,.app-menu-drawer{transition:none}}

/* Profils indépendants des autorisations de modération */
.account-persona-fieldset{border:0;padding:0;margin:17px 0}
.account-persona-fieldset legend{font-weight:700;font-size:13px;margin-bottom:10px}
.account-persona-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.account-persona-choice{display:flex;align-items:center;gap:9px;min-height:59px;padding:11px;border:1px solid #e7dce9;border-radius:14px;background:#fffcff;font-size:13px;line-height:1.35;cursor:pointer}
.account-persona-choice input,.account-role-demo input{width:18px;height:18px;flex:none;accent-color:var(--lav)}
.account-persona-choice.active{background:#f1e8f8;border-color:#b59bc9}
.account-persona-preview{font-size:13px;line-height:1.55;padding:12px 15px;background:#faf5fc;border-left:3px solid #b59bc9;border-radius:0 13px 13px 0;margin:11px 0 17px}
.account-role-area{border-top:1px solid #e8ddec;margin-top:23px;padding-top:20px}
.account-role-status{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}
.account-role-chip{display:inline-block;padding:9px 12px;border-radius:99px;background:#f1e8f8;border:1px solid #e1d2e9;color:#705784;font-size:12px;font-weight:700}
.account-role-chip.moderator{background:#e9ddf4}
.account-role-demo{display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.5}
@media(max-width:370px){.account-persona-grid{grid-template-columns:1fr}}

/* Colibri pastel validé */
.logo{width:50px;height:50px;background:#f6edf8;border-radius:15px;overflow:hidden}
.logo img{display:block;width:48px;height:48px;object-fit:contain}
.calm-orbit{background:radial-gradient(circle,#f5eef7 13%,#f6eff7 56%,transparent 72%)}
.calm-orbit img{width:150px;height:150px;object-fit:contain;filter:drop-shadow(0 5px 9px #7f6b9330)}
.thoughts-flower img,.thoughts-cover-flower img,.thoughts-paper-corner img,.thoughts-item.logo-sticker img,.thoughts-tools img,.douceur-step-mark img,.cycle-header-colibri img,.cycle-empty img{display:block;object-fit:contain}

/* Ensemble : espace de partage et discussion, prototype local */
.ensemble-screen{max-width:780px;padding-top:22px;padding-bottom:85px;gap:18px}
.ensemble-intro{padding:22px 3px 12px}
.ensemble-intro h1{font-size:clamp(40px,9vw,56px);letter-spacing:-1.8px;margin:11px 0;color:#574263}
.ensemble-intro>p{max-width:540px;font-size:15px;line-height:1.7;color:#8a798f}
.ensemble-account{display:inline-flex;max-width:100%;margin-top:15px;padding:9px 13px;border-radius:999px;background:#f1e9f6;color:#796286;font-size:12px;line-height:1.45}
.ensemble-demo{padding:15px 17px;background:#fbf4ed;border-radius:14px;border:1px solid #ecdccf;color:#816d70;font-size:12px;line-height:1.55}
.ensemble-tabs{position:sticky;top:77px;z-index:4;display:flex;gap:7px;padding:7px;background:#f4eff6;border-radius:18px}
.ensemble-tabs button{flex:1;min-width:0;min-height:44px;border:0;border-radius:13px;background:transparent;color:#8f7b97;font-size:12px;font-weight:750;padding:7px}
.ensemble-tabs button[aria-selected="true"]{background:#fff;box-shadow:0 3px 11px #65547612;color:#634b74}
.ensemble-view[hidden],.ensemble-chat[hidden],.ensemble-room-grid[hidden]{display:none!important}
.ensemble-section-title{margin:5px 0 18px}
.ensemble-section-title h2{font-size:25px;letter-spacing:-.65px;margin:7px 0 0;font-weight:700}
.ensemble-kicker{font-size:11px;letter-spacing:.11em;text-transform:uppercase;font-weight:800;color:#a18ab1}
.ensemble-composer{padding:19px;background:#fff;border:1px solid #e9e2ed;border-radius:21px;display:grid;gap:10px;box-shadow:0 7px 24px #5b477c0a}
.ensemble-composer>label:not(.ensemble-check),.ensemble-reply-compose label,.ensemble-filter label{font-size:12px;font-weight:750;color:#776283}
.ensemble-composer input[type=text],.ensemble-composer input:not([type]),.ensemble-composer textarea,.ensemble-composer select,.ensemble-filter select,.ensemble-chat-compose textarea,.ensemble-reply-compose textarea{width:100%;background:#fcfafe;border:1px solid #e6dbe9;border-radius:13px;padding:12px;font:inherit;font-size:14px;color:#604d6a;line-height:1.55;min-width:0}
.ensemble-composer textarea,.ensemble-chat-compose textarea,.ensemble-reply-compose textarea{resize:vertical}
.ensemble-check{display:flex;align-items:center;gap:10px;color:#806c8a;font-size:13px;padding:4px 0}
.ensemble-check input{width:18px;height:18px;accent-color:var(--lav)}
.ensemble-composer .button{margin-top:4px}
.ensemble-feedback{font-size:12px;min-height:0;margin:0}
.ensemble-filter{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:21px 1px 12px}
.ensemble-filter label{flex-shrink:0}
.ensemble-filter select{max-width:215px;min-height:44px}
.ensemble-posts{display:grid;gap:13px}
.ensemble-post{background:#fff;border-radius:20px;padding:17px;border:1px solid #ede5f0}
.ensemble-post-meta{display:flex;align-items:center;gap:11px}
.ensemble-post-avatar{display:grid;place-items:center;background:#f2e8f6;color:#966eaf;border-radius:50%;width:39px;height:39px;font-size:20px;flex-shrink:0}
.ensemble-post-meta strong,.ensemble-post-meta small{display:block}
.ensemble-post-meta strong{font-size:13px;color:#624e70}
.ensemble-post-meta small{font-size:11px;color:#a18fa9;margin-top:3px}
.ensemble-post h3{margin:16px 0 8px;font-size:18px;letter-spacing:-.3px}
.ensemble-post-text{font-size:14px;color:#776682;white-space:pre-wrap;overflow-wrap:anywhere}
.ensemble-post-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px;padding-top:11px;border-top:1px solid #f0eaf3}
.ensemble-post-actions button,.ensemble-reply button{background:#f7f2fa;color:#816894;border:0;border-radius:10px;padding:9px 10px;font-size:11px;font-weight:700}
.ensemble-post-actions button[aria-pressed="true"]{background:#f4e4f0;color:#ab678b}
.ensemble-post-actions button:disabled{opacity:.6}
.ensemble-post-actions button[data-delete]{margin-left:auto;color:#aa718a;background:transparent}
.ensemble-replies{display:grid;gap:8px;margin-top:17px}
.ensemble-reply{padding:12px 14px;background:#faf6fc;border-left:3px solid #d8c8e2;border-radius:0 12px 12px 0}
.ensemble-reply strong{font-size:12px;color:#755c84}
.ensemble-reply small{font-size:11px;color:#ad9bb5;margin-left:10px}
.ensemble-reply p{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}
.ensemble-reply-compose{display:grid;gap:9px;margin-top:15px}
.ensemble-reply-compose .button{justify-self:start}
.ensemble-empty{background:#fff;border:1px dashed #dbcce4;padding:27px 21px;border-radius:19px}
.ensemble-empty strong{font-size:15px}.ensemble-empty p{font-size:13px}
.ensemble-room-grid{display:grid;gap:8px;margin-top:18px}
.ensemble-room{display:flex;text-align:left;align-items:center;gap:14px;width:100%;min-height:77px;background:#fff;border:1px solid #ece3ef;border-radius:17px;padding:12px 15px;color:#665371}
.ensemble-room-icon{display:grid;place-items:center;font-size:24px;width:42px;height:42px;flex:none;border-radius:14px;background:#f4edf8;color:#9176a4}
.ensemble-room>span:nth-child(2){display:grid;gap:4px;flex:1}
.ensemble-room strong{font-size:14px}
.ensemble-room small{color:#9a879f;font-size:11px;line-height:1.4}
.ensemble-room-arrow{font-size:25px;color:#af9bb7;font-weight:300}
.ensemble-chat{background:#fff;border:1px solid #eadfec;border-radius:20px;overflow:hidden;margin-top:15px}
.ensemble-chat-head{display:flex;gap:13px;align-items:center;padding:15px;border-bottom:1px solid #ede5f0}
.ensemble-chat-head button{font-size:29px;border:0;background:#f3eafa;border-radius:12px;width:42px;height:42px;color:#715685}
.ensemble-chat-head h3{margin:0;font-size:17px}
.ensemble-chat-head small{font-size:11px;color:#a18eaa}
.ensemble-chat-messages{display:flex;flex-direction:column;align-items:flex-end;gap:11px;padding:17px 14px;min-height:210px;max-height:380px;overflow:auto;background:#fcf9fd}
.ensemble-bubble{max-width:90%;background:#e9dff2;border-radius:17px 17px 5px 17px;padding:12px 14px;overflow-wrap:anywhere}
.ensemble-bubble small{font-size:10px;color:#967fa5}
.ensemble-bubble p{font-size:13px;color:#644f71;white-space:pre-wrap;margin:5px 0 8px}
.ensemble-bubble button{font-size:11px;border:0;padding:0;background:transparent;color:#896d9c;text-decoration:underline}
.ensemble-chat-placeholder{margin:auto;color:#a08ca7;font-size:13px;text-align:center;line-height:1.6;max-width:320px}
.ensemble-chat-compose{display:flex;align-items:flex-end;gap:9px;padding:12px;border-top:1px solid #ece5f0}
.ensemble-chat-compose textarea{flex:1}
.ensemble-chat-compose .button{flex:none;min-height:48px;font-size:12px}
.ensemble-chat>.ensemble-feedback{padding:0 12px 12px}
.ensemble-rules{display:grid;gap:12px}
.ensemble-rules p{padding:17px;border:1px solid #ece1ee;background:#fff;border-radius:16px;font-size:14px}
.ensemble-rules strong{display:block;color:#695275;margin-bottom:4px}
.sr-only{position:absolute!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;width:1px;height:1px;overflow:hidden;white-space:nowrap}
@media(max-width:380px){.ensemble-tabs button{font-size:11px}.ensemble-filter{flex-wrap:wrap}.ensemble-filter select{max-width:none}.ensemble-chat-compose{flex-wrap:wrap}.ensemble-chat-compose .button{width:100%}}

/* Accès simple à la création d'un profil depuis l'accueil */
.calm-account-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;padding:17px 21px;border:1px solid #bca8c8;border-radius:18px;background:#ffffffc9;color:#695274;font-size:15px;font-weight:650;min-height:57px}
.calm-account-cta span:last-child{font-size:22px;font-weight:300;color:#9578a7}
.calm-account-cta:focus-visible{outline:3px solid #aa8ec1;outline-offset:3px}

/* Séparation claire entre visiteur et profil local configuré */
.member-space{max-width:720px;gap:21px}
.member-welcome{padding:21px 3px 6px}
.member-welcome h1{font-size:clamp(32px,8vw,48px);letter-spacing:-1.4px;font-weight:670;margin:14px 0 9px}
.member-welcome p{font-size:14px}
.member-identity{display:inline-flex;margin-top:13px;padding:11px 14px;background:#eee3f5;border-radius:999px;font-size:12px;font-weight:700;color:#715782}
.member-shortcuts,.member-preferences,.member-logout{padding:8px 2px}
.member-shortcuts h2,.member-preferences h2{font-size:21px;letter-spacing:-.4px}
.member-shortcuts-list{border-top:1px solid #e6deeb}
.member-shortcuts-list>a{min-height:83px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #e6deeb}
.member-shortcuts-list>a>span:first-child{width:34px;font-size:23px;color:#9678aa;text-align:center}
.member-shortcuts-list>a>span:nth-child(2){flex:1;display:grid;gap:5px}
.member-shortcuts-list strong{font-size:15px;color:#604a6d}
.member-shortcuts-list small{font-size:12px;color:#93849d;line-height:1.35}
.member-shortcuts-list>a>span:last-child{font-size:23px;color:#a189af}
.member-preferences{padding:19px;background:#f5eef8;border-radius:19px}
.member-preferences p{font-size:13px;margin-bottom:14px}
.member-logout{border-top:1px solid #e6ddeb;padding-top:20px}
.member-logout button{background:transparent;border:0;padding:9px 0;color:#866a93;text-decoration:underline;font-size:13px}
#accountConfiguredNote[hidden]{display:none}
#accountPersonaMessage a{text-decoration:underline;color:#73548b;font-weight:700}

/* Plusieurs enfants, suivi local distinct */
.bebe-children{display:flex;flex-wrap:wrap;gap:9px;margin:15px 0 7px}
.bebe-child-tab{padding:12px 16px;border-radius:999px;border:1px solid #e0d0e9;background:#fffdfd;color:#745b82;font-size:13px;min-height:43px}
.bebe-child-tab.active{background:#eaddf3;border-color:#ad8dc4;font-weight:750}
.bebe-children-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.bebe-remove-child{color:#96556d!important}
.bebe-remove-child:disabled{opacity:.4}

/* Centres d'intérêt multiples, séparés du profil principal */
.account-interest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:16px 0}
.account-interest{display:flex;gap:10px;align-items:center;min-height:56px;background:#fdfafd;border:1px solid #e9ddec;border-radius:14px;padding:12px;font-size:13px}
.account-interest input{width:18px;height:18px;accent-color:var(--lav);flex:none}
@media(max-width:370px){.account-interest-grid{grid-template-columns:1fr}}

/* Inscription gratuite et accès à la communauté */
.auth-screen{max-width:620px}
.auth-intro{padding:20px 0 6px}
.auth-intro h1{font-size:clamp(29px,7vw,42px);line-height:1.15;margin:13px 0}
.auth-intro p,.auth-note{font-size:14px;color:#806f89;line-height:1.55}
.auth-panel{padding:24px}
.auth-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:24px}
.auth-switch button{border:1px solid #ddd0e7;background:#fff;border-radius:14px;min-height:49px;font-size:14px;color:#776080}
.auth-switch button[aria-pressed=true]{background:#ebe0f4;border-color:#baa4cb;font-weight:750}
.auth-text-link{background:none;border:none;color:#795e90;text-decoration:underline;margin:15px 0;padding:4px;font-size:13px}
#authStatus{min-height:24px;line-height:1.5}
#authSignedIn:not([hidden]){display:grid;gap:14px;margin-top:18px}
.auth-note{padding:0 8px}
#ensembleMemberArea[hidden],#ensembleLoginRequired[hidden]{display:none!important}

/* Les formulaires masqués restent cachés malgré les styles display des champs. */
#authRecoveryForm[hidden],#authForm[hidden],#authForgot[hidden],#authSignedIn[hidden]{display:none!important}
