
:root{
  --parchment:#f7ecd3;
  --parchment-deep:#efe0bd;
  --cream:#fff9ed;
  --sidebar:#ead1d8;
  --pink:#ec9fb3;
  --soft-pink:#f3c7d2;
  --rose:#c55d76;
  --rose-dark:#ad4c63;
  --dusty:#be6176;
  --ink:#231d1c;
  --muted:#6d625c;
  --sage:#7f966f;
  --ochre:#bd8e52;
  --rust:#a35638;
  --orange:#efb77c;
  --blue:#a6c6d8;
  --lavender:#c5b2d4;
  --border:rgba(184,92,109,.19);
  --shadow:0 14px 36px rgba(70,45,42,.09);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--parchment);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif}
body{min-height:100dvh}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(173,76,99,.26);outline-offset:2px}
#app{min-height:100dvh;display:grid;grid-template-columns:245px 1fr}
.sidebar{position:sticky;top:0;height:100dvh;background:var(--sidebar);overflow:hidden;display:flex;flex-direction:column;border-right:1px solid rgba(34,25,26,.13)}
.logo-wrap{height:160px;display:grid;place-items:center;z-index:2}
.logo{width:125px;max-height:105px;object-fit:contain}
#nav{z-index:3;padding:0 12px;overflow:auto}
.nav-btn{width:100%;border:0;background:transparent;color:var(--ink);padding:9px 11px;margin:2px 0;text-align:left;border-radius:9px;font-size:15px;display:flex;align-items:center;gap:9px}
.nav-btn.active{background:#8d168e;color:#181018}
.nav-icon{width:20px;text-align:center}
.sidebar-tree{position:absolute;left:0;bottom:0;width:100%;height:52%;object-fit:cover;object-position:left center;z-index:1}
.main{min-width:0;background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 45%,rgba(232,214,181,.22)),var(--parchment)}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px 12px}
.today{display:flex;align-items:center;gap:16px}
.mini-logo{width:92px;height:66px;object-fit:contain}
h1,.brush{font-family:"Marker Felt","Chalkboard SE","Bradley Hand",cursive;font-weight:700}
h1{font-size:36px;line-height:1;margin:0}
.date{margin-top:6px;color:var(--muted);font-size:14px}
.score{text-align:right;display:flex;flex-direction:column;gap:4px}
.score strong{font-size:21px}
.score span{font-weight:700;color:var(--rose-dark)}
.badges{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:14px 30px 16px;border-bottom:1px solid rgba(184,92,109,.28)}
.badge{text-align:center;font-size:12px;color:var(--muted)}
.badge-circle{width:68px;height:68px;margin:0 auto 7px;border-radius:50%;overflow:hidden;border:1px solid rgba(89,77,69,.12);background:rgba(252,247,235,.72);transition:.35s}
.badge-circle img{width:100%;height:100%;object-fit:cover}
.badge.locked .badge-circle{filter:grayscale(1);opacity:.19}
.badge.unlocked .badge-circle{opacity:1;filter:none;transform:scale(1.03)}
.content{padding:24px 28px 40px;min-height:calc(100dvh - 185px)}
.section-title{font-family:"Marker Felt","Chalkboard SE","Bradley Hand",cursive;font-size:36px;line-height:1.05;margin:0 0 6px}
.section-subtitle{color:var(--muted);margin:0 0 18px}
.subhead{font-family:"Marker Felt","Chalkboard SE","Bradley Hand",cursive;font-size:25px;margin:22px 0 9px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));gap:14px}
.card,.panel{background:rgba(255,249,237,.74);border:1px solid var(--border);border-radius:20px}
.card{min-height:164px;padding:18px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;color:var(--ink)}
.card-icon{width:56px;height:56px;border-radius:17px;display:grid;place-items:center;font-size:26px;background:rgba(235,143,171,.14)}
.card-title{margin-top:auto;font-family:"Marker Felt","Chalkboard SE",cursive;font-size:23px}
.card-sub{margin-top:5px;color:var(--muted);font-size:14px}
.reset-wrap{text-align:center;margin-top:26px}
.btn,.soft-btn,.pill-btn{border:1px solid rgba(173,76,99,.30);background:rgba(252,247,235,.78);color:var(--rose-dark);font-weight:700;border-radius:10px;padding:9px 14px}
.pill-btn{border-radius:999px}
.primary-btn{background:rgba(243,199,210,.55)}
.danger-btn{color:#9b384d}
.btn:disabled,.soft-btn:disabled{opacity:.45;cursor:not-allowed}
.task-list{max-width:860px;display:flex;flex-direction:column;gap:10px}
.task{display:flex;align-items:center;gap:10px;padding:13px 14px;background:rgba(252,247,235,.8);border:1px solid var(--border);border-radius:14px}
.task input{width:18px;height:18px;accent-color:var(--pink)}
.task.done .task-title{text-decoration:line-through;opacity:.55}
.points-pill{margin-left:auto;color:var(--rose-dark);font-size:12px;font-weight:700}
.add-row{display:flex;gap:9px;max-width:920px;margin-top:15px}
.text-input,.number-input,.select-input,.textarea-input{border:1px solid rgba(173,76,99,.24);background:rgba(252,247,235,.72);color:var(--rose-dark);border-radius:9px;padding:10px 12px;outline:none;width:100%}
.textarea-input{min-height:90px;resize:vertical}
.text-input::placeholder,.textarea-input::placeholder{color:rgba(173,76,99,.63)}
.bonus-row,.penalty-grid{display:grid;grid-template-columns:repeat(2,minmax(170px,1fr));gap:10px;max-width:760px}
.choice,.penalty{border:1px solid var(--border);background:rgba(252,247,235,.75);color:var(--rose-dark);border-radius:14px;padding:11px 13px;text-align:left;font-weight:700}
.choice.active{background:rgba(235,143,171,.22);border-color:rgba(173,76,99,.55)}
.penalty{display:flex;justify-content:space-between}
.segmented{display:inline-flex;padding:3px;border-radius:10px;background:rgba(252,247,235,.6);border:1px solid rgba(173,76,99,.15);margin-bottom:14px;max-width:100%;overflow:auto}
.segmented button{border:0;background:transparent;color:var(--ink);padding:7px 18px;border-radius:8px;white-space:nowrap}
.segmented button.active{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.10)}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.workout-card,.meal-card,.grocery-card,.history-card{padding:15px;background:rgba(255,249,237,.76);border:1px solid var(--border);border-radius:18px}
.workout-card.selected,.meal-card.selected{background:rgba(243,199,210,.30);border-color:rgba(173,76,99,.58);border-width:2px}
.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.muted{color:var(--muted)}
.small{font-size:12px}
.strong{font-weight:700}
.tag{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:rgba(243,199,210,.44);color:var(--rose-dark);font-size:12px;font-weight:800}
.energy-guide{display:flex;gap:13px;padding:14px;border-radius:18px;background:rgba(189,142,82,.13);margin-bottom:16px}
.energy-guide.soft{background:rgba(127,150,111,.13)}
.active-workout{padding:18px;background:rgba(243,199,210,.17);border:1px solid rgba(235,159,179,.42);border-radius:20px;margin-top:18px}
.timer-large{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:36px;font-weight:800;color:var(--rose-dark)}
.exercise-row{display:grid;grid-template-columns:30px 1fr auto;gap:10px;padding:8px 0;border-bottom:1px solid rgba(184,92,109,.12)}
.exercise-num{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(243,199,210,.55);color:var(--rose-dark);font-size:12px;font-weight:800}
.modal-backdrop{position:fixed;inset:0;background:rgba(33,28,26,.34);display:grid;place-items:center;padding:20px;z-index:9999}
.modal{width:min(620px,96vw);max-height:90dvh;overflow:auto;background:rgba(252,247,235,.99);border:1px solid rgba(235,143,171,.48);border-radius:24px;padding:24px;box-shadow:var(--shadow)}
.modal h2{font-family:"Marker Felt","Chalkboard SE",cursive;font-size:31px;margin:0}
.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.form-field label{font-weight:700}
.exercise-editor{padding:12px;border-radius:14px;background:rgba(255,249,237,.78);border:1px solid var(--border);margin-bottom:9px}
.library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.library-btn{border:0;background:rgba(243,199,210,.25);color:var(--rose-dark);font-weight:700;padding:10px;border-radius:12px;text-align:left}
.timeline{position:relative;padding-left:62px}
.timeline-hour{height:76px;border-top:1px solid rgba(190,97,118,.17);position:relative}
.timeline-label{position:absolute;left:-58px;top:-8px;width:50px;text-align:right;color:var(--dusty);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800}
.timeline-block{position:absolute;border-radius:13px;padding:9px;color:rgba(0,0,0,.68);border:1px solid rgba(0,0,0,.08);overflow:hidden;text-align:left}
.timeline-block.orange{background:rgba(239,183,124,.76)}
.timeline-block.pink{background:rgba(236,159,179,.72)}
.timeline-block.sage{background:rgba(174,199,160,.76)}
.timeline-block.blue{background:rgba(166,198,216,.76)}
.timeline-block.lavender{background:rgba(197,178,212,.76)}
.timeline-block.sand{background:rgba(221,195,158,.76)}
.house-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:13px}
.house-card{border:1px solid var(--border);border-radius:18px;background:rgba(255,249,237,.78);overflow:hidden;position:relative}
.house-card.selected{border:2px solid rgba(173,76,99,.60);background:rgba(243,199,210,.24)}
.house-card.done{filter:grayscale(1);opacity:.58}
.house-img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.house-body{padding:10px}
.house-title{font-weight:800}
.house-action{margin-top:8px;width:100%}
.meal-tabs{margin-bottom:12px}
.meal-slot{padding:14px;border:1px solid var(--border);border-radius:17px;background:rgba(255,249,237,.76);margin-bottom:11px}
.meal-slot-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.rice-guide{padding:14px;border-radius:17px;background:rgba(243,199,210,.14);margin-top:12px}
.rice-row{display:flex;justify-content:space-between;gap:20px;padding:3px 0}
.grocery-top{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.history-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}
.stat{padding:12px;border-radius:15px;background:rgba(243,199,210,.17);text-align:center}
.stat strong{display:block;font-size:23px;color:var(--rose-dark)}
.writing-wrap{text-align:center;max-width:760px;margin:auto}
.timer-circle{width:230px;height:230px;border:5px solid rgba(148,79,56,.75);border-radius:50%;display:grid;place-items:center;margin:20px auto;background:var(--parchment-deep);box-shadow:inset 0 0 0 15px var(--parchment-deep),inset 0 0 0 16px rgba(148,79,56,.3)}
.timer-time{font-family:Georgia,serif;font-size:42px;font-weight:800}
.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);z-index:10001;background:rgba(252,247,235,.98);border:1px solid rgba(235,143,171,.6);border-radius:999px;padding:10px 18px;color:var(--rose-dark);font-weight:800;box-shadow:var(--shadow);animation:toast 2s ease both}
@keyframes toast{0%{opacity:0;transform:translate(-50%,10px)}15%,80%{opacity:1;transform:translate(-50%,0)}100%{opacity:0}}
.unlock-toast{position:fixed;left:50%;top:30%;transform:translate(-50%,-50%);z-index:10000;background:rgba(252,247,235,.96);border:1px solid rgba(235,143,171,.6);border-radius:999px;padding:12px 24px;color:var(--rose-dark);font-weight:900;box-shadow:var(--shadow);animation:badgepop 1.45s ease both}
@keyframes badgepop{0%{opacity:0;transform:translate(-50%,-45%) scale(.75)}25%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}75%{opacity:1}100%{opacity:0;transform:translate(-50%,-55%) scale(1)}}
.cherry-anim{position:relative;height:210px;margin:5px auto;width:260px;overflow:hidden}
.cherry-anim img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center;border-radius:20px}
.petals{position:absolute;inset:0;pointer-events:none}
.petal{position:absolute;font-size:18px;animation:fall 1.6s ease-in forwards}
@keyframes fall{0%{transform:translateY(-25px) rotate(0);opacity:1}100%{transform:translateY(190px) rotate(260deg);opacity:0}}
@media(max-width:900px){
  #app{grid-template-columns:1fr;padding-bottom:78px}
  .sidebar{position:fixed;left:0;right:0;bottom:0;top:auto;width:100%;height:78px;z-index:1000;display:block;background:rgba(173,152,158,.96);backdrop-filter:blur(16px);border-top:1px solid rgba(33,28,26,.12)}
  .logo-wrap,.sidebar-tree{display:none}
  #nav{height:100%;display:flex;overflow-x:auto;gap:3px;padding:7px 6px}
  .nav-btn{flex:0 0 auto;width:auto;min-width:74px;height:63px;padding:5px 9px;margin:0;flex-direction:column;justify-content:center;gap:1px;text-align:center;font-size:10px}
  .nav-icon{font-size:18px}
  .topbar{padding:16px 16px 8px;align-items:flex-start}
  .mini-logo{width:62px;height:46px}
  h1{font-size:29px}
  .date{font-size:12px}
  .score strong{font-size:17px}
  .score span{font-size:11px}
  .badges{grid-template-columns:repeat(5,minmax(70px,1fr));overflow-x:auto;padding:10px 12px 12px;gap:8px}
  .badge-circle{width:55px;height:55px}
  .badge{font-size:10px}
  .content{padding:18px 14px 28px}
  .section-title{font-size:32px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .card{min-height:135px;padding:13px}
  .card-title{font-size:20px}
  .bonus-row,.penalty-grid,.grocery-top,.form-grid{grid-template-columns:1fr}
  .add-row{flex-direction:column}
  .history-stats{grid-template-columns:repeat(2,1fr)}
  .timeline{padding-left:52px}
  .timeline-label{left:-49px;width:44px;font-size:12px}
}
@media(max-width:430px){
  .today{gap:8px}.mini-logo{display:none}
  .score{max-width:130px}
  .cards{grid-template-columns:1fr 1fr}
  .card-title{font-size:18px}
  .card-sub{font-size:12px}
  .section-title{font-size:30px}
  .toolbar{align-items:flex-start}
}

/* AJA! 2.6 — lisibilité */
button,input,textarea,select,option,label,.segmented button,.choice,.soft-btn,.btn,.pill-btn,.text-input,.number-input,.select-input,.textarea-input{
 color:var(--rose-dark)!important;-webkit-text-fill-color:var(--rose-dark)!important;
}
button:disabled,input:disabled,select:disabled{color:var(--rose-dark)!important;-webkit-text-fill-color:var(--rose-dark)!important;opacity:.62}
.segmented button.active,.choice.active,.primary-btn{color:var(--rose-dark)!important;-webkit-text-fill-color:var(--rose-dark)!important}
.rose{color:var(--rose-dark)!important}
.timeleft-panel{padding:18px}.timeleft-controls{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.timeleft-pickers{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-top:8px}.timeleft-pickers label{display:flex;align-items:center;gap:7px}
.timeleft-now{text-align:right;display:flex;flex-direction:column;gap:4px;color:var(--rose-dark)}
.timeleft-display{margin-top:20px;padding:28px 18px;border-radius:22px;background:rgba(242,199,204,.16);text-align:center;color:var(--rose-dark)}
.timeleft-counter{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(42px,7vw,64px);font-weight:800;color:var(--rose-dark);margin:8px 0}
.quick-timeleft{justify-content:flex-start;margin-top:14px}
@media(max-width:700px){.timeleft-controls{align-items:stretch;flex-direction:column}.timeleft-now{text-align:left}.timeleft-pickers{align-items:stretch}.timeleft-pickers label{flex:1 1 120px}}


/* ===================== AJA! 2.8 ===================== */

/* Points configurables */
.task-points-select,.compact-points{
  color:var(--rose-dark)!important;
  -webkit-text-fill-color:var(--rose-dark)!important;
  background:rgba(255,255,255,.34);
  border:1px solid rgba(181,75,98,.22);
  border-radius:10px;
  padding:6px 8px;
  font:inherit;
}
.task-points-select{min-width:82px;margin-left:auto}
.compact-points{width:92px;flex:0 0 92px}
.custom-goal-add{align-items:center}

/* Journaling / planner = repère de fin de journée */
.journal-focus{
  border:2px solid rgba(181,75,98,.48)!important;
  background:linear-gradient(90deg,rgba(242,199,204,.34),rgba(255,248,235,.68))!important;
  box-shadow:0 0 0 4px rgba(181,75,98,.06),0 7px 22px rgba(181,75,98,.10);
}
.journal-buzzer{
  display:inline-block;
  margin-right:9px;
  padding:3px 8px;
  border-radius:999px;
  background:rgba(181,75,98,.13);
  color:var(--rose-dark);
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  vertical-align:1px;
}

/* Planning : bibliothèque de blocs */
.planner-library{
  margin:16px 0 18px;
  padding:14px 16px;
  border:1px solid rgba(181,75,98,.14);
  border-radius:18px;
  background:rgba(255,250,239,.55);
}
.planner-library-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.template-strip{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}
.template-chip{
  display:flex;align-items:stretch;overflow:hidden;
  border-radius:13px;border:1px solid rgba(80,62,52,.12);
  background:rgba(255,255,255,.5);
}
.template-chip.orange{border-left:5px solid #d7a365}
.template-chip.pink{border-left:5px solid #d98ca2}
.template-chip.sage{border-left:5px solid #91a77d}
.template-chip.blue{border-left:5px solid #87a7b4}
.template-chip.lavender{border-left:5px solid #a99abc}
.template-chip.sand{border-left:5px solid #c8b28b}
.template-main{
  display:flex;flex-direction:column;align-items:flex-start;gap:2px;
  padding:9px 11px;border:0;background:transparent!important;
  color:var(--rose-dark)!important;-webkit-text-fill-color:var(--rose-dark)!important;
}
.template-main em{font-size:11px;opacity:.72;font-weight:400;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.template-delete{
  border:0;border-left:1px solid rgba(181,75,98,.12);
  background:rgba(181,75,98,.06)!important;
  width:32px;font-size:18px;font-weight:700;
  color:var(--rose-dark)!important;-webkit-text-fill-color:var(--rose-dark)!important;
}
.timeline-block{display:flex!important;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left}
.timeline-note{
  display:block;
  font-size:11px;
  line-height:1.15;
  font-style:italic;
  font-weight:400;
  opacity:.78;
  margin:2px 0 3px;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.planner-template-check{margin:12px 0}

/* Écriture */
.writing-note-box{
  max-width:700px;
  margin:22px auto 0;
  text-align:left;
  padding:16px;
  border:1px solid rgba(181,75,98,.16);
  border-radius:18px;
  background:rgba(255,250,239,.58);
}
.writing-note-box textarea{min-height:120px;margin-top:9px}

/* Swipe to delete */
.swipe-shell{
  position:relative;
  overflow:hidden;
  border-radius:18px;
  min-width:0;
  touch-action:pan-y;
}
.swipe-delete-bg{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:flex-end;
  padding-right:18px;
  background:rgba(177,70,83,.86);
  color:#fff!important;-webkit-text-fill-color:#fff!important;
  font-weight:800;
  border-radius:18px;
}
.swipe-item{
  position:relative;
  z-index:1;
  height:100%;
  will-change:transform;
  touch-action:pan-y;
}
.swipe-item.swipe-armed{box-shadow:0 0 0 2px rgba(181,75,98,.15)}
.swipe-hint{
  margin:12px 2px 0;
  color:var(--rose-dark);
  opacity:.72;
  font-size:12px;
  font-style:italic;
}
.grid>.swipe-shell>.history-card,
.grid>.swipe-shell>.meal-card{
  margin:0;
  height:100%;
}

@media(max-width:700px){
  .custom-goal-add{display:grid;grid-template-columns:1fr auto;gap:8px}
  .custom-goal-add #newGoal{grid-column:1 / -1}
  .compact-points{width:100%;min-width:100px}
  .task-points-select{min-width:76px;font-size:12px}
  .journal-buzzer{display:block;width:max-content;margin:0 0 4px 0}
  .template-strip{display:grid;grid-template-columns:1fr}
  .template-chip{width:100%}
  .template-main{flex:1}
}


/* ===================== AJA! 2.9 ===================== */

/* TIMELEFT — mode plein écran façon horloge */
.timeleft-fullscreen-stage{position:relative}
.timeleft-fullscreen-toggle{
  position:absolute;
  right:12px;
  top:12px;
  width:38px;
  height:38px;
  border:1px solid rgba(181,75,98,.26)!important;
  border-radius:11px;
  background:rgba(255,249,237,.72)!important;
  color:var(--rose-dark)!important;
  -webkit-text-fill-color:var(--rose-dark)!important;
  font-size:20px;
  font-weight:800;
  display:grid;
  place-items:center;
  z-index:2;
}
.timeleft-fullscreen-inner{display:flex;flex-direction:column;align-items:center;justify-content:center}
.timeleft-until{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;letter-spacing:.08em;color:var(--rose-dark);opacity:.74}
.timeleft-fullscreen-stage.fullscreen{
  position:fixed!important;
  inset:0!important;
  z-index:15000!important;
  margin:0!important;
  padding:0!important;
  border-radius:0!important;
  background:var(--parchment, #f6edda)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.timeleft-fullscreen-stage.fullscreen .timeleft-fullscreen-inner{
  width:100%;
  min-height:100dvh;
  padding:7vh 5vw;
}
.timeleft-fullscreen-stage.fullscreen #timeLeftStatus{
  font-size:clamp(16px,2.4vw,26px);
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.72;
  margin-bottom:2vh;
}
.timeleft-fullscreen-stage.fullscreen .fliqlo-counter{
  font-size:clamp(68px,17vw,230px)!important;
  line-height:.9;
  letter-spacing:-.065em;
  white-space:nowrap;
  margin:2vh 0!important;
  font-variant-numeric:tabular-nums;
  text-shadow:0 1px 0 rgba(255,255,255,.4);
}
.timeleft-fullscreen-stage.fullscreen .timeleft-until{
  font-size:clamp(16px,3vw,30px);
  margin-top:2vh;
}
.timeleft-fullscreen-stage.fullscreen #timeLeftHuman{margin-top:2.4vh;font-size:clamp(15px,2vw,22px)}
.timeleft-fullscreen-stage.fullscreen .timeleft-fullscreen-toggle{
  position:fixed;
  top:max(14px,env(safe-area-inset-top));
  right:max(14px,env(safe-area-inset-right));
}
.timeleft-fullscreen-stage.fullscreen.timeleft-expired .fliqlo-counter,
.timeleft-fullscreen-stage.fullscreen.timeleft-expired #timeLeftStatus{
  animation:timeleftBlink 1s steps(1,end) infinite;
}
@keyframes timeleftBlink{0%,48%{opacity:1}49%,100%{opacity:.12}}

/* SOMMEIL */
.sleep-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}
.sleep-card{padding:18px}
.sleep-card:first-child{grid-column:1/-1}
.sleep-icon,.sleep-moon{font-size:30px;color:var(--rose-dark)}
.sleep-module-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.sleep-module{
  border:1px solid rgba(181,75,98,.20)!important;
  border-radius:16px;
  background:rgba(243,199,210,.18)!important;
  padding:14px 12px;
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.sleep-module strong{font-size:22px;color:var(--rose-dark)}
.sleep-module span{font-size:12px;color:var(--rose-dark);opacity:.78}
.sleep-result{
  min-height:52px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(255,249,237,.66);
  border:1px dashed rgba(181,75,98,.25);
  color:var(--rose-dark);
}
.sleep-time-input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800}
.sleep-record{padding:18px;margin:18px 0}
.sleep-history-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.sleep-history-card{padding:14px;border-radius:16px;background:rgba(255,249,237,.76);border:1px solid var(--border)}
.sleep-empty{text-align:center;padding:32px;border-radius:18px;background:rgba(255,249,237,.56);border:1px dashed rgba(181,75,98,.20)}
.sleep-empty>span{display:block;font-size:34px;margin-bottom:8px}

/* MUSCULATION — groupes de machines */
.strength-library-group{
  grid-column:1/-1;
  padding:12px;
  border-radius:16px;
  background:rgba(255,249,237,.62);
  border:1px solid rgba(181,75,98,.13);
}
.strength-library-title{
  font-family:"Marker Felt","Chalkboard SE",cursive;
  font-size:23px;
  color:var(--rose-dark);
  margin-bottom:8px;
}
.strength-library-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:8px}
.strength-group-label{margin:-2px 0 8px;font-style:italic;color:var(--rose-dark)!important}

@media(max-width:700px){
  .sleep-grid{grid-template-columns:1fr}
  .sleep-card:first-child{grid-column:auto}
  .sleep-module-row{grid-template-columns:1fr 1fr}
  .timeleft-fullscreen-stage.fullscreen .fliqlo-counter{font-size:clamp(54px,17vw,105px)!important}
}

/* AJA 3.1 */
.sleep-grid-simple{grid-template-columns:minmax(0,650px);justify-content:start}.sleep-grid-simple .sleep-card:first-child{grid-column:auto}.journal-tabs{margin-bottom:18px}.journal-date-head,.journal-week-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0 14px}.journal-date-head .brush,.journal-week-head .brush{font-size:27px;color:var(--rose-dark)}.journal-compose{padding:18px;margin-bottom:16px}.journal-compose-grid{grid-template-columns:140px 1fr}.journal-textarea{min-height:145px;resize:vertical;line-height:1.55}.journal-entry-list{display:flex;flex-direction:column;gap:10px}.journal-entry-card{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:14px;padding:15px 16px;border-radius:17px;background:rgba(255,249,237,.72);border:1px solid var(--border)}.journal-time{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:900;color:var(--rose-dark)}.journal-entry-body p{margin:6px 0 0;line-height:1.55}.journal-entry-actions{display:flex;gap:6px}.journal-empty{text-align:center;padding:32px;border:1px dashed rgba(181,75,98,.22);border-radius:18px}.journal-history{display:flex;flex-direction:column;gap:10px}.journal-day-history{border:1px solid var(--border);border-radius:17px;background:rgba(255,249,237,.65);overflow:hidden}.journal-day-history summary{cursor:pointer;padding:15px 17px;display:flex;justify-content:space-between;color:var(--rose-dark)}.journal-day-history summary div{display:flex;flex-direction:column}.journal-history-content{padding:0 12px 12px}.journal-condense-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.journal-condense-grid>.panel{padding:17px}.journal-source{max-height:600px;overflow:auto}.journal-condense-day{margin-bottom:18px}.journal-condense-day>strong{display:block;color:var(--rose-dark);font-size:12px;margin-bottom:8px}.journal-condense-day .journal-entry-card{grid-template-columns:58px 1fr}.journal-condensate-text{min-height:420px;resize:vertical;line-height:1.65}.journal-saved{padding:17px;margin-top:10px}@media(max-width:800px){.journal-condense-grid,.journal-compose-grid{grid-template-columns:1fr}.journal-entry-card{grid-template-columns:58px 1fr}.journal-entry-actions{grid-column:2}.journal-date-head,.journal-week-head{align-items:flex-start;flex-direction:column}}

/* AJA! 3.2 */
.sleep-history-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.exercise-library-manager{padding:18px}.exercise-library-sections{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.exercise-library-section{padding:14px;border:1px solid var(--border);border-radius:16px;background:rgba(255,249,237,.55)}.exercise-library-section>strong{display:block;color:var(--rose-dark);margin-bottom:9px}.exercise-library-chips{display:flex;gap:6px;flex-wrap:wrap}.exercise-chip{font-size:12px;padding:6px 9px;border-radius:999px;background:rgba(181,75,98,.09);color:var(--rose-dark)}.custom-exercise-list{display:flex;flex-direction:column;gap:8px}.custom-exercise-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 13px;border:1px solid var(--border);border-radius:14px;background:rgba(255,249,237,.6)}.custom-exercise-row>div{display:flex;flex-direction:column;gap:3px}
@media(max-width:700px){.exercise-library-sections{grid-template-columns:1fr}.sleep-history-card .card-top{align-items:flex-start}.sleep-history-actions{justify-content:flex-start}}

/* AJA! 3.3 — Ma séance compacte */
.exercise-collapse{padding:0!important;overflow:hidden}
.exercise-collapse>summary{list-style:none;cursor:pointer;user-select:none;padding:13px 15px}
.exercise-collapse>summary::-webkit-details-marker{display:none}
.exercise-collapse-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.exercise-collapse-head strong{color:var(--rose-dark);font-size:15px}
.exercise-chevron{font-size:20px;line-height:1;color:var(--rose-dark);transition:transform .18s ease}
.exercise-collapse[open] .exercise-chevron{transform:rotate(180deg)}
.exercise-collapse-body{padding:0 15px 15px;border-top:1px solid rgba(181,75,98,.09)}
.exercise-collapse-actions{display:flex;justify-content:flex-end;padding-top:10px;margin-bottom:4px}


/* ===================== AJA! 3.5 ===================== */
.home-category{margin:0 0 24px}.home-category-title{font-family:"Marker Felt","Comic Sans MS",cursive;font-size:25px;color:var(--rose-dark);margin:4px 0 10px;padding-bottom:6px;border-bottom:1px solid rgba(181,75,98,.14)}
.compact-library{display:flex;flex-direction:column;gap:10px;margin-top:16px}.tracker-card,.deficit-card{border:1px solid var(--border);border-radius:18px;background:rgba(255,249,237,.68);overflow:hidden}.tracker-card summary,.deficit-card summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:11px 14px}.tracker-card summary::-webkit-details-marker,.deficit-card summary::-webkit-details-marker{display:none}.tracker-thumb{width:50px;height:66px;border-radius:9px;overflow:hidden;flex:0 0 auto;background:rgba(181,75,98,.08)}.tracker-thumb img{width:100%;height:100%;object-fit:cover}.poster-placeholder{height:100%;display:grid;place-items:center;font-size:24px}.tracker-main{min-width:0;flex:1}.tracker-main strong{display:block;color:var(--rose-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tracker-meta{font-size:12px;color:var(--muted);margin:3px 0 6px}.tracker-arrow{font-size:20px;color:var(--rose-dark);transition:transform .18s}.tracker-card[open] .tracker-arrow,.deficit-card[open] summary>span:last-child{transform:rotate(180deg)}.tracker-body{padding:12px 14px 14px;border-top:1px solid rgba(181,75,98,.09)}.progress-line{height:6px;border-radius:999px;background:rgba(181,75,98,.10);overflow:hidden;margin-right:50px}.progress-line span{display:block;height:100%;background:rgba(181,75,98,.65);border-radius:inherit}.tracker-main small{float:right;margin-top:-12px;color:var(--muted)}.empty-compact{padding:28px;text-align:center}.journal-share-row{display:flex;justify-content:flex-end;padding:10px 2px 4px}
.deficit-layout{display:grid;grid-template-columns:minmax(0,620px) minmax(0,1fr);gap:18px}.deficit-form{padding:18px}.deficit-history{display:flex;flex-direction:column;gap:8px}.deficit-card{border-left-width:6px}.deficit-card.deficit{border-left-color:#86a67c}.deficit-card.maintenance{border-left-color:#d3a15f}.deficit-card.surplus{border-left-color:#c77474}.deficit-card summary>div:first-child{display:flex;flex-direction:column;gap:3px;flex:1}.deficit-card summary span{font-size:12px;color:var(--muted)}.deficit-balance{text-align:right;display:flex;flex-direction:column}.deficit-balance strong{color:var(--rose-dark)}.deficit-balance small{color:var(--muted)}
.workout-fullscreen-stage,.interval-stage{position:relative}.workout-fullscreen-toggle{position:absolute;right:14px;top:12px;z-index:3;border:1px solid rgba(181,75,98,.22);background:rgba(255,250,239,.78);border-radius:12px;width:38px;height:38px;font-size:20px}.workout-mini-exercises{display:flex;flex-direction:column;gap:7px;margin:14px 0;max-height:260px;overflow:auto}.workout-mini-row{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center;padding:7px 9px;border-radius:12px;background:rgba(255,255,255,.32);border:1px solid rgba(181,75,98,.08)}.workout-mini-row>span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(181,75,98,.10);font-size:11px}.workout-mini-row div{display:flex;justify-content:space-between;gap:10px;align-items:center}.workout-mini-row small{color:var(--muted)}.workout-fullscreen-stage.fullscreen,.interval-stage.fullscreen{position:fixed!important;inset:0!important;z-index:20000!important;border-radius:0!important;margin:0!important;padding:clamp(18px,4vw,48px)!important;background:#fbf3e5!important;overflow:auto}.workout-fullscreen-stage.fullscreen .workout-fullscreen-inner,.interval-stage.fullscreen .workout-fullscreen-inner{max-width:920px;margin:auto;min-height:90vh;display:flex;flex-direction:column;justify-content:center}.workout-fullscreen-stage.fullscreen .workout-fliqlo,.interval-stage.fullscreen .workout-fliqlo{font-size:clamp(72px,18vw,180px);text-align:center;margin:16px 0}.workout-fullscreen-stage.fullscreen .workout-mini-exercises,.interval-stage.fullscreen .workout-mini-exercises{max-height:32vh}.workout-fs-controls{margin-top:16px}.timer-expired.fullscreen .workout-fliqlo{animation:ajaTimerBlink 1s step-end infinite}@keyframes ajaTimerBlink{50%{opacity:.18}}
.interval-preview{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.interval-preview span{font-size:11px;padding:5px 8px;border-radius:999px;background:rgba(181,75,98,.08)}.interval-preview span.recovery{background:rgba(130,164,119,.16)}.interval-preview span.effort{background:rgba(194,103,126,.16)}.interval-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.interval-current{padding:20px;border-radius:18px;text-align:center;margin:12px 0;display:flex;flex-direction:column;gap:6px}.interval-current small{font-weight:900;letter-spacing:.08em}.interval-current strong{font-size:clamp(28px,6vw,55px);color:var(--rose-dark)}.interval-next{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px dashed rgba(181,75,98,.18);border-radius:13px}.interval-stage.interval-recovery .interval-current{background:rgba(130,164,119,.20)}.interval-stage.interval-effort .interval-current{background:rgba(194,103,126,.21)}.interval-all-phases .current{outline:2px solid rgba(181,75,98,.35)}.interval-phase-edit{display:grid;grid-template-columns:1.3fr 100px 1.5fr 40px;gap:7px;margin-bottom:7px;align-items:center}
@media(max-width:900px){#app{padding-bottom:100px}.sidebar{height:98px}.sidebar #nav{padding:8px 9px;gap:6px;touch-action:pan-x;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}.sidebar .nav-btn{min-width:108px;height:78px;padding:7px 12px;font-size:11px;scroll-snap-align:start}.sidebar .nav-icon{font-size:20px}.deficit-layout{grid-template-columns:1fr}.workout-fs-controls{flex-direction:column;align-items:stretch}.workout-fs-controls>div{display:flex;flex-wrap:wrap;gap:6px}.interval-phase-edit{grid-template-columns:1fr 88px}.interval-phase-edit .intTarget{grid-column:1/-2}.tracker-card summary{padding:10px}.tracker-thumb{width:46px;height:60px}}
@media(max-width:430px){.sidebar .nav-btn{min-width:112px}.workout-mini-row div{flex-direction:column;align-items:flex-start}.interval-top{flex-direction:column}.interval-stage.fullscreen .workout-fliqlo,.workout-fullscreen-stage.fullscreen .workout-fliqlo{font-size:25vw}}

/* AJA! 3.6 */
.house-today{margin:12px 0 22px;padding:16px}.house-today-list{display:grid;gap:8px;margin-top:10px}.house-today-item{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;padding:10px 12px;border:1px solid rgba(181,75,98,.14);border-radius:13px;background:rgba(255,255,255,.28)}.house-today-item.done{opacity:.48;filter:grayscale(.7);text-decoration:line-through}.house-today-item small{color:var(--muted)}
.rating-stars{color:var(--rose-dark);letter-spacing:2px;font-size:19px}.review-box{margin:10px 0;padding:12px;border:1px solid rgba(181,75,98,.18);border-radius:13px;white-space:pre-wrap}.history-month>h3{text-transform:capitalize;color:var(--rose-dark);margin:22px 4px 10px}.top-rank{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--rose-dark);margin:12px 0}.top-rank select{padding:8px 12px;border-radius:10px;border:1px solid rgba(181,75,98,.25);background:#fffaf0;color:var(--rose-dark)}.top-ten{display:grid;gap:10px}.top-row{display:grid;grid-template-columns:44px 58px 1fr;align-items:center;gap:10px;padding:10px;border:1px solid rgba(181,75,98,.14);border-radius:16px;background:rgba(255,255,255,.28)}.top-number{font-size:26px;color:var(--rose-dark);text-align:center}
.workout-fullscreen-stage.fullscreen{box-sizing:border-box!important;width:100vw!important;max-width:100vw!important;overflow-x:hidden!important;padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))!important}.workout-fullscreen-stage.fullscreen .workout-fullscreen-inner{width:100%;max-width:720px;min-width:0;margin:auto;box-sizing:border-box}.workout-fullscreen-stage.fullscreen .workout-fliqlo{width:100%;max-width:100%;font-size:clamp(64px,22vw,150px)!important;line-height:1;text-align:center;white-space:nowrap;overflow:hidden;margin:48px auto 24px}.workout-fullscreen-stage.fullscreen .workout-mini-exercises{width:100%;max-width:100%;box-sizing:border-box}.workout-fullscreen-stage.fullscreen .workout-mini-row{min-width:0}.workout-fullscreen-stage.fullscreen .workout-mini-row div{min-width:0}.workout-fullscreen-stage.fullscreen .workout-mini-row small{overflow-wrap:anywhere}.workout-fs-controls{display:grid;gap:10px;width:100%}.workout-control-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.workout-fs-controls .btn{width:100%;min-width:0;white-space:normal}.workout-finish-btn{background:var(--rose-dark)!important;color:#fff!important;border-color:var(--rose-dark)!important}
@media(max-width:430px){.workout-fullscreen-stage.fullscreen .workout-fliqlo{font-size:21vw!important}.workout-fullscreen-stage.fullscreen .workout-mini-row div{display:block}.workout-fullscreen-stage.fullscreen .workout-mini-row small{display:block;margin-top:4px}.house-today-item{grid-template-columns:22px 1fr}.house-today-item small{grid-column:2}}
/* AJA 3.6.1 — ensure fullscreen finish label remains visible on iOS */
.workout-fullscreen-stage.fullscreen .workout-finish-btn,
.workout-fullscreen-stage.fullscreen .workout-finish-btn * {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
}

/* AJA 3.6.2 — historiques compacts */
.workout-history-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}.workout-history-compact{border:1px solid rgba(184,73,104,.22);border-radius:18px;background:rgba(255,255,255,.34);padding:14px 16px}.workout-history-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.workout-history-line strong{font-size:17px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workout-history-meta{font-size:14px;color:var(--muted);margin-top:4px;display:flex;gap:8px;flex-wrap:wrap}.workout-history-compact .soft-btn{margin-top:10px;padding:8px 14px}.history-tracker summary .tracker-main{min-width:0}.history-tracker summary .history-book-meta{display:flex;flex-direction:column;gap:3px;min-width:0}.history-tracker summary .history-book-genre{white-space:normal;overflow-wrap:anywhere;line-height:1.25}.history-tracker summary .history-book-date{display:block;white-space:normal;line-height:1.25;color:var(--muted)}
