
  :root{--creme:#EFE6D7;--card:#FBF7EF;--argile:#C15B3C;--argile-soft:#EAD8CC;--sauge:#7E8B5F;
    --sauge-soft:#E4E8D5;--brume:#9CC0BE;--encre:#4A3F37;--muted:#998f80;--line:#E2D8C7;--grain:url(data:image/jpeg;base64,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);}
  *{box-sizing:border-box}
  html,body{margin:0;height:100%}
  body{background-color:var(--creme);background-image:var(--grain);background-repeat:repeat;background-size:300px 300px;
    color:var(--encre);font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;line-height:1.5}
  h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:600;letter-spacing:-.01em}
  .ribbon{background:#413a32;color:#efe6d7;font-size:.75rem;text-align:center;padding:5px 12px}
  .ribbon b{color:#e6b7a3}
  .app{max-width:760px;margin:0 auto;min-height:100%}
  .topbar{display:flex;align-items:center;gap:10px;padding:10px 16px;position:sticky;top:0;
    background:rgba(239,230,215,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);z-index:500}
  .topbar img.brand{height:50px}.topbar h1{font-size:1rem;margin:0}.spacer{flex:1}
  .back{border:1px solid var(--line);background:rgba(251,247,239,.74);border-radius:10px;padding:6px 11px;cursor:pointer;font-size:.95rem;color:var(--encre)}
  .back:hover{background:var(--argile-soft)}
  .profilechip{display:flex;align-items:center;gap:8px;cursor:pointer;border:1px solid var(--line);background:rgba(251,247,239,.74);border-radius:999px;padding:3px 10px 3px 3px}
  .profilechip .pa{width:28px;height:28px;border-radius:50%;overflow:hidden;background:var(--argile-soft);color:var(--argile);display:grid;place-items:center;font-size:.72rem;font-weight:700}
  .profilechip .pa img{width:100%;height:100%;object-fit:cover}.profilechip span{font-size:.85rem;font-weight:600}
  .bell{position:relative;border:1px solid var(--line);background:rgba(251,247,239,.74);border-radius:999px;width:36px;height:34px;cursor:pointer;font-size:1rem}
  .bell .ncount{position:absolute;top:-5px;right:-5px;background:var(--argile);color:#fff;border-radius:999px;min-width:17px;height:17px;font-size:.66rem;display:grid;place-items:center;padding:0 3px}
  .langbtn{border:1px solid var(--line);background:rgba(251,247,239,.74);border-radius:999px;padding:6px 11px;cursor:pointer;font-size:.8rem;font-weight:700;color:var(--encre)}
  .content{padding:16px}.muted{color:var(--muted)}
  .ob-hero,.home-hero{text-align:center}.ob-hero{padding:10px 0 2px}.home-hero{padding:4px 0 0}
  .ob-hero img{max-width:280px;width:80%}.home-hero img{max-width:460px;width:96%;margin-bottom:-10px;margin-top:-6px}
  .hicon svg{width:56px;height:56px;display:block}
  .hbtn{display:inline-flex;align-items:center}.hbtn svg{width:19px;height:19px}
  .ob-title{text-align:center;font-family:'Fraunces',serif;font-size:1.5rem;margin:6px 0 2px}
  .ob-sub{text-align:center;color:var(--muted);margin:0 0 16px}
  .home-tag{font-family:'Caveat',cursive;font-size:2.1rem;color:var(--argile);margin:-8px 0 20px}
  .phrasejour{position:relative;background-color:#F3E3A0;
    background-image:linear-gradient(105deg,rgba(255,255,255,.45),rgba(255,255,255,0) 13%),
      linear-gradient(250deg,rgba(0,0,0,.055),rgba(0,0,0,0) 15%),
      linear-gradient(15deg,rgba(0,0,0,.05) 0,rgba(0,0,0,0) 18%,rgba(255,255,255,.28) 36%,rgba(0,0,0,0) 50%),
      linear-gradient(200deg,rgba(0,0,0,.04) 0,rgba(0,0,0,0) 24%,rgba(255,255,255,.18) 46%,rgba(0,0,0,0) 60%),
      radial-gradient(120% 85% at 26% 16%,rgba(255,255,255,.3),rgba(0,0,0,0) 42%),
      radial-gradient(110% 100% at 84% 90%,rgba(0,0,0,.07),rgba(0,0,0,0) 46%);
    color:#5a4a3e;font-family:'Caveat',cursive;font-size:1.5rem;line-height:1.2;text-align:center;
    padding:20px 20px 18px;border-radius:3px;margin:6px auto 22px;max-width:74%;
    box-shadow:0 10px 18px rgba(74,63,55,.18)}
  .phrasejour::before{content:'';position:absolute;top:-11px;left:50%;transform:translateX(-50%) rotate(2.5deg);
    width:88px;height:24px;background:rgba(255,255,255,.45);border:1px solid rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.06)}
  .micbtn{border:1px solid var(--argile-soft);background:#fff;color:var(--argile);border-radius:10px;padding:6px 11px;cursor:pointer;font-size:.85rem;font-weight:600}
  .micbtn.rec{background:var(--argile);color:#fff;border-color:var(--argile)}
  .lblrow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.lblrow label{margin:0}
  .avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(66px,1fr));gap:10px}
  .avpick{aspect-ratio:1;border-radius:50%;overflow:hidden;cursor:pointer;border:3px solid transparent;background:var(--argile-soft);display:grid;place-items:center;font-weight:700;color:var(--argile)}
  .avpick img{width:100%;height:100%;object-fit:cover}.avpick.sel{border-color:var(--argile)}
  .card{background:rgba(251,247,239,.74);border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin:14px 0}
  .card h3{margin:0 0 10px;font-size:1.05rem}
  .listcard{background:rgba(251,247,239,.74);border:1px solid var(--line);border-radius:18px;padding:15px 18px;cursor:pointer;display:flex;align-items:center;gap:15px;transition:transform .08s,box-shadow .12s;margin-bottom:12px}
  .listcard:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(74,63,55,.08)}
  .listcard h2{margin:0;font-size:1.15rem}.listcard p{margin:2px 0 0;font-size:.88rem}
  .thumbimg{width:84px;height:84px;border-radius:16px;overflow:hidden;flex:none;background:var(--sauge-soft);display:grid;place-items:center;font-size:1.8rem}
  .thumbimg img{width:100%;height:100%;object-fit:cover}
  .foldericon{width:64px;height:64px;border-radius:16px;flex:none;background:var(--sauge-soft);display:grid;place-items:center;font-size:1.7rem;overflow:hidden}
  .foldericon img{width:100%;height:100%;object-fit:cover}
  .avpreview{width:64px;height:64px;border-radius:50%;overflow:hidden;background:var(--argile-soft);display:grid;place-items:center;font-weight:700;color:var(--argile);flex:none}
  .avpreview img{width:100%;height:100%;object-fit:cover}
  #map{height:300px;border-radius:18px;border:1px solid var(--line);overflow:hidden;z-index:1}
  #map .leaflet-tile-pane{filter:saturate(1.5) contrast(1.04) brightness(1.02)}
  .pin-wrap{background:transparent;border:none}
  .pin{width:38px;height:38px;border-radius:50%;background:var(--argile);color:#fff;display:grid;place-items:center;font-size:.82rem;font-weight:700;border:3px solid #fff;box-shadow:0 2px 7px rgba(74,63,55,.35)}
  .pinimg{width:46px;height:46px;border-radius:50%;overflow:hidden;border:3px solid var(--argile);background:var(--argile-soft);box-shadow:0 2px 7px rgba(74,63,55,.4)}
  .pinimg img{width:100%;height:100%;object-fit:cover;display:block}
  .maplead{margin:4px 2px 12px}
  .sectiontitle{display:flex;align-items:center;justify-content:space-between;margin:22px 2px 12px}.sectiontitle h2{font-size:1.15rem;margin:0}
  .btn{background:var(--argile);color:#fff;border:none;border-radius:12px;padding:10px 16px;cursor:pointer;font-size:.92rem;font-weight:600;font-family:'Inter',sans-serif}
  .btn:hover{filter:brightness(1.05)}.btn.ghost{background:rgba(251,247,239,.74);color:var(--argile);border:1px solid var(--argile-soft)}
  .btn.block{width:100%;padding:13px;font-size:1rem;margin-top:8px}
  .thumb{width:104px;height:104px;flex:none;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 45%,#fff 0%,var(--argile-soft) 100%)}
  .thumb img{width:100%;height:100%;object-fit:cover}.thumb img.ing{width:78px;height:78px;object-fit:contain}
  .badge{display:inline-block;font-size:.72rem;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--sauge-soft);color:#586436;margin-top:6px}
  .flag{font-size:.86rem;color:var(--muted)}
  .hero{height:220px;border-radius:20px;display:grid;place-items:center;margin-bottom:12px;overflow:hidden;background:radial-gradient(circle at 50% 42%,#fff 0%,var(--argile-soft) 100%)}
  .hero img{width:100%;height:100%;object-fit:cover}.hero img.ing{width:150px;height:150px;object-fit:contain}
  .meta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:2px 0 6px}
  .chip{display:inline-flex;align-items:center;gap:5px;background:rgba(251,247,239,.74);border:1px solid var(--line);border-radius:999px;padding:4px 11px;font-size:.85rem}
  .aieulbox{display:flex;align-items:center;gap:12px;background:var(--sauge-soft);border-radius:14px;padding:11px 15px;margin:12px 0}
  .aieulbox .av{width:46px;height:46px;border-radius:50%;background:var(--sauge);color:#fff;display:grid;place-items:center;font-weight:700;flex:none}.aieulbox b{display:block}
  .ing{display:flex;align-items:center;gap:11px;padding:7px 0;border-bottom:1px dashed var(--line)}.ing:last-child{border-bottom:none}
  .ing .ingimg{width:36px;height:36px;flex:none;display:grid;place-items:center}.ing .ingimg img{width:34px;height:34px;object-fit:contain}
  .ing .dot{width:9px;height:9px;border-radius:50%;background:var(--argile-soft);margin:0 13px}.ing .nom{flex:1}.ing .q{color:var(--muted);white-space:nowrap}
  ol.steps{margin:0;padding-left:22px}ol.steps li{margin:9px 0}
  .anecdote{font-family:'Caveat',cursive;font-size:1.45rem;line-height:1.35;color:#5a4a3e;background:#fffdf8;border-left:3px solid var(--argile);border-radius:10px;padding:12px 16px}
  .comment{display:flex;gap:11px;padding:11px 0;border-bottom:1px solid var(--line)}.comment:last-of-type{border-bottom:none}
  .av-sm{width:36px;height:36px;border-radius:50%;background:var(--argile-soft);color:var(--argile);display:grid;place-items:center;font-weight:700;font-size:.82rem;flex:none}
  .av-photo{background:transparent;overflow:hidden}.av-photo img{width:100%;height:100%;object-fit:cover;border-radius:50%}
  .comment .who{font-weight:600;font-size:.9rem}.comment .txt{font-size:.96rem}
  .comment .cphoto{margin-top:6px;border-radius:12px;overflow:hidden;max-width:220px}.comment .cphoto img{width:100%;display:block}
  .commentform{display:flex;gap:8px;margin-top:12px}.commentform input{flex:1;border:1px solid var(--line);border-radius:12px;padding:10px 13px;font-size:.95rem;background:#fff}
  .field{margin:14px 0}.field label{display:block;font-weight:600;font-size:.9rem;margin-bottom:5px}
  .field input,.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:10px 13px;font-size:.95rem;font-family:inherit;background:#fff}
  .field textarea{min-height:70px;resize:vertical}
  .ingrow{display:grid;grid-template-columns:64px 84px 1fr auto;gap:8px;margin-bottom:8px}.ingrow input{width:100%}
  .minibtn{border:1px solid var(--line);background:rgba(251,247,239,.74);border-radius:9px;padding:0 11px;cursor:pointer}
  .photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}
  .photos .ph{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--argile-soft)}
  .photos .ph img{width:100%;height:100%;object-fit:cover;display:block}
  .photos .ph .rm{position:absolute;top:3px;right:3px;background:rgba(0,0,0,.55);color:#fff;border:none;border-radius:50%;width:22px;height:22px;cursor:pointer;font-size:.8rem}
  .addphoto{display:inline-flex;align-items:center;gap:6px;border:1px dashed var(--argile);color:var(--argile);background:#fff;border-radius:12px;padding:9px 13px;cursor:pointer;font-size:.9rem;font-weight:600}
  .chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
  .chipbtn{border:1px solid var(--argile-soft);background:#fff;color:var(--argile);border-radius:999px;padding:6px 12px;cursor:pointer;font-size:.85rem}
  .hidden{display:none}.empty{text-align:center;color:var(--muted);padding:26px 10px}
  .cook{position:fixed;inset:0;background-color:var(--creme);background-image:var(--grain);background-size:300px 300px;z-index:1000;display:flex;flex-direction:column}
  .cook-top{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}.cook-top h2{margin:0;font-size:1.05rem}
  .cook-body{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:20px;gap:16px}
  .cook-step-num{color:var(--argile);font-weight:700;letter-spacing:.06em;font-size:.95rem;text-transform:uppercase}
  .cook-step-txt{font-family:'Fraunces',serif;font-size:1.9rem;line-height:1.32;max-width:640px}
  .cook-nav{display:flex;gap:12px;padding:18px;border-top:1px solid var(--line)}.cook-nav .btn{flex:1;padding:16px;font-size:1.05rem}
  .timer{display:flex;align-items:center;gap:10px;justify-content:center;margin-top:8px}
  .timer input{width:74px;border:1px solid var(--line);border-radius:10px;padding:8px;text-align:center;font-size:1rem;background:#fff}
  .timer .disp{font-family:'Fraunces',serif;font-size:1.5rem;min-width:104px;color:var(--argile)}
  .cropper{position:fixed;inset:0;background:rgba(46,42,37,.78);z-index:1200;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:20px}
  .cropbox{width:280px;height:280px;border-radius:50%;overflow:hidden;background:#2e2a25;touch-action:none;cursor:grab;box-shadow:0 0 0 4px #fff,0 0 0 7px var(--argile)}
  .cropbox canvas{display:block}
  .croptools{width:280px}.croptools input[type=range]{width:100%;accent-color:var(--argile)}
  .croprow{display:flex;gap:10px;width:280px}.croprow .btn{flex:1}
  .crophint{color:#f5efe4;font-size:.88rem}
  a.chipbtn{text-decoration:none;display:inline-block}
  select{width:100%;border:1px solid var(--line);border-radius:12px;padding:10px 13px;font-size:.95rem;font-family:inherit;background:#fff;color:var(--encre)}
  .memberrow{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid var(--line)}.memberrow:last-child{border-bottom:none}
  .appmenu{position:fixed;inset:0;background:rgba(46,42,37,.35);z-index:900}.appmenu.hidden{display:none}
  .menupanel{margin:56px 0 0 12px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:10px;min-width:242px;box-shadow:0 12px 30px rgba(74,63,55,.22)}
  .menuhead{display:flex;align-items:center;gap:8px;padding:4px 8px 10px;border-bottom:1px solid var(--line);margin-bottom:6px}
  .menuhead img{height:26px}.menuhead span{font-family:'Fraunces',serif;font-weight:600}
  .menuitem{display:block;width:100%;text-align:left;background:none;border:none;padding:11px 10px;border-radius:10px;cursor:pointer;font-size:.98rem;color:var(--encre);font-family:'Inter',sans-serif}
  .menuitem:hover{background:var(--argile-soft)}
  .pres-hero{text-align:center;padding:8px 0 2px}.pres-hero img{max-width:320px;width:82%}
  .pres-tag{font-family:'Caveat',cursive;font-size:1.7rem;color:var(--argile);margin:4px 0 0}
  .pres-concept{font-family:'Fraunces',serif;font-size:1.4rem;line-height:1.35;text-align:center;color:var(--sauge);max-width:520px;margin:20px auto 4px}
  .pres-lead{text-align:center;color:var(--muted);max-width:520px;margin:0 auto;font-size:1.02rem}
  .pres-rule{width:56px;height:3px;background:var(--argile-soft);border-radius:3px;margin:26px auto}
  .pres-sectitle{text-align:center;font-size:1.3rem;margin:8px 0 16px}
  .pres-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
  .feat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 18px;text-align:center}
  .feat .ill{width:92px;height:92px;margin:0 auto 12px;border-radius:20px;overflow:hidden;display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,#fff,var(--argile-soft))}
  .feat .ill img{width:100%;height:100%;object-fit:cover}.feat .ill.contain img{width:70px;height:70px;object-fit:contain}
  .feat .ill svg{width:54px;height:54px}
  .feat h3{margin:0 0 6px;font-size:1.08rem}.feat p{margin:0;color:var(--muted);font-size:.94rem}
  .pres-why{background:var(--sauge-soft);border-radius:18px;padding:24px 22px;text-align:center;margin-top:26px}
  .pres-why h2{margin:0 0 8px;color:#4f5730;font-size:1.25rem}.pres-why p{margin:0 auto;max-width:520px;color:#4f5730}
  .confirmModal{position:fixed;inset:0;background:rgba(46,42,37,.55);z-index:1300;display:flex;align-items:center;justify-content:center;padding:24px}
  .confirmModal.hidden{display:none}
  .confirmCard{background:var(--card);border-radius:20px;padding:26px 22px;max-width:360px;width:100%;text-align:center;box-shadow:0 20px 50px rgba(0,0,0,.3)}
  .confirmBig{font-family:'Fraunces',serif;font-size:1.8rem;color:#b23b2a;margin-bottom:8px}
  .confirmMsg{color:var(--encre);margin:0 0 18px;line-height:1.5}
  .rmmem{border:1px solid var(--line);background:#fff;color:#b23b2a;border-radius:8px;width:26px;height:26px;cursor:pointer;font-size:.8rem}


/* --- Ajouts version connectee : authentification + formulaires --- */
.auth-wrap{max-width:420px;margin:0 auto;padding:8px 20px 40px}
.auth-hero{text-align:center;padding:14px 0 2px}
.auth-hero img{max-width:300px;width:82%}
.auth-tag{font-family:'Caveat',cursive;font-size:1.7rem;color:var(--argile);text-align:center;margin:-6px 0 18px}
.field{margin:0 0 13px}
.field label{display:block;font-size:.82rem;font-weight:600;color:var(--encre);margin:0 0 5px}
.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:var(--card);border-radius:11px;padding:11px 12px;font-size:1rem;font-family:inherit;color:var(--encre)}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--argile);box-shadow:0 0 0 3px var(--argile-soft)}
.field textarea{min-height:80px;resize:vertical}
.row2{display:flex;gap:10px}.row2 .field{flex:1}
.btn{border:none;border-radius:12px;padding:12px 18px;font-size:.98rem;font-weight:600;cursor:pointer;font-family:inherit}
.btn.primary{background:var(--argile);color:#fff}
.btn.primary:hover{background:#a94b30}
.btn.ghost{background:var(--card);color:var(--encre);border:1px solid var(--line)}
.btn.ghost:hover{background:var(--argile-soft)}
.btn.block{display:block;width:100%}
.btn.small{padding:7px 12px;font-size:.85rem;border-radius:9px}
.btn[disabled]{opacity:.5;cursor:default}
.linklike{background:none;border:none;color:var(--argile);cursor:pointer;font-size:.9rem;text-decoration:underline;font-family:inherit;padding:6px}
.err{background:#fbe6e0;border:1px solid #e6b7a3;color:#9a3520;border-radius:10px;padding:9px 12px;font-size:.88rem;margin:0 0 12px}
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:#413a32;color:#efe6d7;padding:11px 18px;border-radius:12px;font-size:.9rem;z-index:2000;box-shadow:0 10px 30px rgba(0,0,0,.28);max-width:90%}
.bookgrid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:6px 0 4px}
.bookcard{position:relative;border:1px solid var(--line);background:var(--card);border-radius:16px;padding:15px;cursor:pointer;text-align:left;min-height:104px;display:flex;flex-direction:column;justify-content:space-between;font-family:inherit}
.bookcard:hover{border-color:var(--argile);transform:translateY(-2px);transition:.15s}
.bookcard .bc-emoji{font-size:1.7rem}
.bookcard h3{margin:8px 0 2px;font-size:1.06rem}
.bookcard .bc-meta{font-size:.78rem;color:var(--muted)}
.bookcard .bc-illus{position:absolute;top:10px;right:10px;width:42px;height:42px;object-fit:contain;opacity:.92}
.sectitle{font-family:'Fraunces',serif;font-size:1.15rem;margin:22px 0 8px;display:flex;align-items:center;gap:8px}
.reclist{display:flex;flex-direction:column;gap:11px}
.reccard{display:flex;gap:12px;border:1px solid var(--line);background:var(--card);border-radius:14px;padding:11px;cursor:pointer;align-items:center}
.reccard:hover{border-color:var(--argile)}
.reccard .rc-cover{width:60px;height:60px;border-radius:11px;object-fit:cover;background:var(--argile-soft);flex-shrink:0}
.reccard .rc-body{flex:1;min-width:0}
.reccard h4{margin:0 0 3px;font-size:1.02rem;font-family:'Fraunces',serif}
.reccard .rc-meta{font-size:.78rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.favstar{background:none;border:none;font-size:1.15rem;cursor:pointer;color:var(--argile)}
#map{height:230px;border-radius:16px;overflow:hidden;border:1px solid var(--line);margin:4px 0 6px}
.leaflet-container{background:#cbe0e3 !important}
.map-tiles{filter:saturate(1.25) contrast(1.02)}
.avatar-pin{width:40px;height:40px;border-radius:50%;border:3px solid var(--argile);overflow:hidden;background:var(--card);box-shadow:0 3px 8px rgba(0,0,0,.25)}
.avatar-pin img{width:100%;height:100%;object-fit:cover}
.avatar-pin.noimg{display:grid;place-items:center;color:var(--argile);font-weight:700;font-size:.8rem}
.chip{display:inline-flex;align-items:center;gap:6px;background:var(--sauge-soft);color:#4c5a34;border-radius:999px;padding:4px 11px;font-size:.8rem;font-weight:600;margin:0 6px 6px 0}
.ing-illus{width:26px;height:26px;object-fit:contain;vertical-align:middle;margin-right:7px}
.comment{display:flex;gap:10px;padding:11px 0;border-top:1px solid var(--line)}
.comment .ca{width:34px;height:34px;border-radius:50%;object-fit:cover;background:var(--argile-soft);flex-shrink:0}
.comment .cb b{font-size:.9rem}.comment .cb .ct{font-size:.72rem;color:var(--muted)}
.notif{padding:11px 4px;border-bottom:1px solid var(--line);font-size:.9rem}
.notif.unread{background:var(--argile-soft);border-radius:8px;padding-left:10px}
.menu-sheet{position:fixed;inset:0;background:rgba(40,34,28,.4);z-index:1500;display:flex;align-items:flex-start;justify-content:flex-end}
.menu-card{background:var(--card);margin:58px 12px 0 0;border-radius:16px;padding:8px;min-width:210px;box-shadow:0 20px 50px rgba(0,0,0,.28)}
.menu-card button{display:block;width:100%;text-align:left;background:none;border:none;padding:11px 13px;border-radius:9px;cursor:pointer;font-size:.92rem;font-family:inherit;color:var(--encre)}
.menu-card button:hover{background:var(--argile-soft)}
.center{text-align:center}
.loading{text-align:center;color:var(--muted);padding:40px 0}

/* --- Etape 1 remise a niveau : cartes accueil + photos recette --- */
.bookcard.favcard{background:linear-gradient(135deg,#f7e2df,#f4d3cf);border-color:#e6b7a3}
.bookcard.favcard .bc-emoji{color:var(--argile)}
.bookcard.newcard{align-items:center;justify-content:center;color:var(--argile);border-style:dashed}
.ph-row{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px}
.ph-thumb{position:relative;display:inline-block}
.ph-thumb img{width:74px;height:74px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.ph-thumb button{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;border:none;background:#b23b2a;color:#fff;cursor:pointer;font-size:.7rem;line-height:1}

/* --- Etape 2 : recadrage (profil, plats, commentaires) --- */
.crop-wrap{position:relative;margin:0 auto;border-radius:12px;overflow:hidden;touch-action:none}
.crop-wrap canvas{display:block;cursor:grab}
.crop-wrap canvas:active{cursor:grabbing}
.crop-ring{position:absolute;inset:0;pointer-events:none;outline:2px dashed rgba(255,255,255,.9);outline-offset:-2px}
.crop-ring.round{border-radius:50%;box-shadow:0 0 0 999px rgba(74,63,55,.32)}
.crop-ring.rect{border-radius:8px}
.cmt-photo{display:inline-block;position:relative;margin:6px 0}
.cmt-photo img{max-width:160px;max-height:130px;object-fit:cover;border-radius:10px;display:block}
.cmt-photo button{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;border:none;background:#b23b2a;color:#fff;cursor:pointer;font-size:.7rem}
/* Bornes d'affichage : aucune image ne deborde */
.recipe-photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;margin-bottom:10px;display:block}
.comment img{max-width:220px;max-height:180px;object-fit:cover;border-radius:10px}

/* --- Etape 2 : selecteur emoji carnet --- */
.emoji-pick{font-size:1.3rem;background:var(--card);border:1px solid var(--line);border-radius:10px;width:40px;height:40px;cursor:pointer;line-height:1}
.emoji-pick.sel{border-color:var(--argile);background:var(--argile-soft)}
