/* WINTER ARC — appli autonome · Le Déclic */
:root{
  --encre:#130D07; --terre:#271808; --terracotta:#A9542F; --cannelle:#6B2F18;
  --sable:#D8BD92; --ivoire:#F2E8D6;
  --or-grad:linear-gradient(174deg,#E9D096 0,#C39640 13%,#8C6222 27%,#F7E9C0 45%,#FFFAEB 50%,#DCB158 59%,#9E7229 74%,#CDA860 88%,#7A5522 100%);
  --carte:#1E1309;
  --ligne:rgba(216,189,146,.14);
  --texte:#F2E8D6;
  --texte2:rgba(242,232,214,.78);
  --muted:rgba(216,189,146,.6);
  --serif:'Bodoni Moda',Georgia,serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

body{
  margin:0;background:var(--encre);color:var(--texte);
  font-family:var(--sans);font-weight:300;
  min-height:100vh;position:relative;
}
/* la scène : lueur terracotta montant du bas + halo or discret en haut */
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(60% 30% at 50% -8%, rgba(233,208,150,.07), transparent 70%),
    radial-gradient(135% 78% at 50% 112%, rgba(169,84,47,.5), rgba(107,47,24,.22) 42%, transparent 72%);
}
body>*{position:relative;z-index:1}

.sitefoot{text-align:center;padding:30px 16px 40px;font-family:var(--sans);font-size:9px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:rgba(216,189,146,.6)}
/* ═══════════════ WINTER ARC v2 — outil à part entière, addictif ═══════════════ */

.arc2{max-width:600px;margin:0 auto;padding:0 16px 40px;font-size:15px;line-height:1.65}
.arc2 *{box-sizing:border-box}
/* héro */
.w-hero{text-align:center;padding:44px 8px 30px}
.w-over{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--sable);margin-bottom:16px}
.w-hero h1{font-family:var(--serif);font-weight:500;font-size:42px;color:var(--ivoire);letter-spacing:.01em;line-height:1.12;margin:0}
.w-lead{font-size:15px;color:var(--texte2);margin:16px 0 0;line-height:1.75}
.w-lead strong{color:var(--ivoire);font-weight:500}
/* cartes */
.wcard{background:var(--carte);border:1px solid var(--ligne);border-radius:18px;padding:22px 22px;margin-bottom:14px}
.wcard.gold{border-color:rgba(201,162,74,.45)}
.wt{font-family:var(--sans);font-weight:600;font-size:16px;color:var(--ivoire);margin:0 0 6px;letter-spacing:.01em}
.wh{font-size:13.5px;color:var(--muted);margin:0 0 14px;line-height:1.6}
.arc2 input[type=text],.arc2 input[type=number],.arc2 input[type=date]{width:100%;border:1px solid rgba(216,189,146,.25);border-radius:12px;padding:14px 15px;font-size:16px;font-family:var(--sans);font-weight:400;color:var(--ivoire);background:rgba(19,13,7,.6);outline:none;margin-bottom:10px;transition:border-color .2s;color-scheme:dark}
.arc2 input:focus{border-color:var(--terracotta)}
.arc2 input::placeholder{color:rgba(216,189,146,.35)}
.wfield{position:relative}
.wfield input{margin-bottom:0;padding-right:86px}
.wunit{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);pointer-events:none}
.wrow2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wrow3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
@media (max-width:540px){.wrow2,.wrow3{grid-template-columns:1fr}}
.wactions{display:flex;gap:14px;align-items:center;justify-content:center;margin:8px 0 30px}
.wactions.left{justify-content:flex-start;margin:14px 0 4px}
.wbtn{all:unset;cursor:pointer;background:var(--or-grad);color:var(--encre);font-family:var(--sans);font-size:14px;font-weight:700;letter-spacing:.05em;padding:15px 30px;border-radius:30px;text-align:center;transition:transform .15s,filter .15s}
.wbtn:hover{filter:brightness(1.07);transform:translateY(-1px)}
.wbtn.big{font-size:16px;padding:17px 38px}
.wsaved{font-size:13px;color:#9FBF8F;font-weight:600;opacity:0;transition:opacity .3s}
.wsaved.show{opacity:1}
.wlink{all:unset;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:10px}
.wlink:hover{color:var(--sable)}
.wfootlinks{text-align:center;padding:6px 0 10px}
/* ── carte du jour ── */
.wtoday{background:linear-gradient(180deg,var(--terre),rgba(107,47,24,.28));border:1px solid rgba(169,84,47,.35);border-radius:22px;padding:30px 22px 26px;margin:20px 0 14px;text-align:center}
.wring-wrap{position:relative;width:172px;height:172px;margin:18px auto 6px}
.wring{width:100%;height:100%}
#ring-fill{transition:stroke-dashoffset .6s ease}
.wring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.wday-big{font-family:var(--serif);font-weight:500;font-size:56px;line-height:1;color:var(--ivoire)}
.wday-sub{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.wstreak{font-size:15px;color:var(--sable);margin:10px 0 18px;font-weight:500}
.wstreak b{font-size:19px;color:var(--ivoire)}
.wbtn.today{display:block;width:100%;max-width:380px;margin:0 auto;font-size:17px;padding:19px 20px;border-radius:34px;box-shadow:0 6px 24px rgba(201,162,74,.28)}
.wbtn.today.done{background:rgba(159,191,143,.15);color:#B9D8A9;box-shadow:none;border:1px solid rgba(159,191,143,.4)}
.wbtn.today:disabled{background:rgba(216,189,146,.12);color:var(--sable);box-shadow:none;cursor:default;transform:none}
.wbtn.pop{animation:wpop .45s ease}
@keyframes wpop{0%{transform:scale(1)}35%{transform:scale(1.06)}70%{transform:scale(.98)}100%{transform:scale(1)}}
.wmsg{font-size:13.5px;color:var(--texte2);margin-top:14px;min-height:1.4em}
.whabits{margin-top:16px}
.whab{display:inline-block;background:rgba(19,13,7,.5);border:1px solid rgba(216,189,146,.22);color:var(--sable);padding:5px 13px;border-radius:14px;font-size:12.5px;margin:3px 2px}
/* ── paliers ── */
.wpaliers{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:16px}
@media (max-width:540px){.wpaliers{grid-template-columns:1fr}}
.wpal{background:rgba(19,13,7,.5);border:1px solid rgba(216,189,146,.14);border-radius:14px;padding:14px 12px;text-align:center}
.wpi{font-size:20px}
.wpv{font-family:var(--serif);font-weight:500;font-size:21px;color:var(--ivoire);margin-top:6px}
.wps{font-size:11px;color:var(--muted);margin-top:3px;line-height:1.4}
/* ── tâches ── */
.wtask{display:flex;gap:13px;align-items:center;padding:12px 2px;border-top:1px solid var(--ligne)}
.wtask:first-child{border-top:none}
.wck{all:unset;box-sizing:border-box;width:26px;height:26px;border-radius:50%;border:2px solid rgba(216,189,146,.5);cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s}
.wck:hover{border-color:var(--sable);transform:scale(1.08)}
.wtask.done .wck{background:var(--or-grad);border-color:transparent}
.wtask.done .wck:after{content:"✓";color:var(--encre);font-size:13px;font-weight:700}
.wtt{flex:1;font-size:15px;color:var(--texte)}
.wtask.done .wtt{text-decoration:line-through;text-decoration-color:rgba(216,189,146,.5);color:var(--muted)}
.wdel{all:unset;cursor:pointer;color:var(--muted);font-size:18px;padding:0 8px}
.wdel:hover{color:#D98B63}
.wtaskin{margin-top:12px!important;margin-bottom:0!important}
/* ── grille 91 ── */
.wgrid{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.wwl{flex-basis:100%;font-size:9px;font-weight:600;letter-spacing:.2em;color:var(--muted);margin:8px 0 1px}
.wwl:first-child{margin-top:0}
.wday{all:unset;box-sizing:border-box;width:30px;height:30px;border-radius:9px;border:1px solid rgba(216,189,146,.25);background:rgba(19,13,7,.5);cursor:pointer;transition:all .15s}
.wday:hover{border-color:var(--sable);transform:scale(1.1)}
.wday.on{background:var(--or-grad);border-color:transparent;box-shadow:0 0 10px rgba(201,162,74,.35)}
.wday.today{outline:2px solid var(--terracotta);outline-offset:2px}
.wday.future{opacity:.3;cursor:default}
.wday.future:hover{transform:none;border-color:rgba(216,189,146,.25)}
.wgridfoot{margin-top:16px;font-size:13px;color:var(--texte2)}
.wgridfoot b{color:var(--ivoire)}
/* ── jauges ── */
.wgauges{margin-top:20px}
.wgau{margin-bottom:18px}
.wgt{display:flex;justify-content:space-between;align-items:baseline;font-size:14.5px;font-weight:600;color:var(--ivoire);margin-bottom:7px}
.wgv{font-size:13.5px;font-weight:500}
.wgv em{font-style:normal;color:var(--muted)}
.wgbar{position:relative;height:12px;border-radius:6px;background:rgba(216,189,146,.12)}
.wgbar i{display:block;height:100%;border-radius:6px;background:var(--or-grad);transition:width .5s}
.wgbar b{position:absolute;top:-4px;width:2px;height:20px;background:var(--terracotta);border-radius:1px}
.wgp{font-size:12.5px;margin-top:6px;font-weight:500}
.wgp.ok{color:#9FBF8F}
.wgp.late{color:#D98B63}
/* ── bilan ── */
.wbl{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:13px 0;border-top:1px solid var(--ligne);font-size:15px;color:var(--texte2)}
.wbl:first-child{border-top:none}
.wbl strong{color:var(--ivoire);font-weight:600;text-align:right}
@media (min-width:760px){
  .arc2{max-width:640px}
  .w-hero{padding:64px 8px 40px}
  .w-hero h1{font-size:54px}
  .wday{width:34px;height:34px}
}
.wbtn{box-sizing:border-box}

/* ── en-tête de l'appli ── */
.apphead{text-align:center;padding:30px 16px 6px}
.apphead svg{width:34px;height:34px;display:block;margin:0 auto 12px}
.apphead .an{font-family:var(--serif);font-weight:500;font-size:21px;letter-spacing:.16em;text-indent:.16em;text-transform:uppercase;color:var(--ivoire)}
.apphead .ap{font-family:var(--sans);font-size:9.5px;font-weight:600;letter-spacing:.34em;text-transform:uppercase;color:var(--sable);margin-top:7px}

/* ── explication de la tendance (setup) ── */
.wexpl{border-color:rgba(216,189,146,.28);background:linear-gradient(180deg,rgba(169,84,47,.07),rgba(39,24,8,.55))}
.wexpl p{font-size:14px;line-height:1.8;color:var(--texte2);margin:0 0 12px;text-align:left;font-weight:400}
.wexpl p:last-child{margin-bottom:0}
.wexpl p strong{color:var(--ivoire);font-weight:600}
.wexpl p em{font-style:normal;color:var(--sable)}

/* ── déclaration quotidienne (Napoleon Hill) ── */
.wdecl{border-left:3px solid;border-image:var(--or-grad) 1;background:rgba(19,13,7,.5);border-radius:0 14px 14px 0;padding:18px 18px 18px 20px;font-family:var(--serif);font-weight:400;font-size:17px;line-height:1.75;color:var(--ivoire);white-space:pre-line;text-align:left}
.wdeclin{width:100%;box-sizing:border-box;border:1px solid var(--terracotta);border-radius:12px;padding:15px;font-size:15px;font-family:var(--sans);font-weight:400;line-height:1.7;color:var(--ivoire);background:rgba(19,13,7,.6);outline:none;resize:vertical;color-scheme:dark}
.wbtn.ghost{background:none;border:1px solid rgba(216,189,146,.35);color:var(--sable);font-weight:600;padding:13px 24px}
.wbtn.ghost:hover{border-color:var(--sable);filter:none}
.wcmd{margin-top:18px;border-top:1px solid var(--ligne);padding-top:16px}
.wcmd summary{cursor:pointer;font-size:13.5px;font-weight:600;color:var(--sable);letter-spacing:.02em;list-style:none}
.wcmd summary::-webkit-details-marker{display:none}
.wcmd summary::after{content:' ▾';color:var(--muted)}
.wcmd[open] summary::after{content:' ▴'}
.wcmd ol{margin:14px 0 4px;padding-left:20px}
.wcmd li{font-size:14px;line-height:1.75;color:var(--texte2);margin-bottom:12px;text-align:left}
.wcmd li strong{color:var(--ivoire);font-weight:600}
.wgd{font-size:12px;color:var(--muted);margin-top:6px;font-weight:500}

/* ══════════ V3 « ÇA EN JETTE » ══════════ */

/* barre de progression collante */
.wstick{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;gap:10px;padding:11px 18px 13px;background:rgba(19,13,7,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(216,189,146,.16);transform:translateY(-100%);transition:transform .35s cubic-bezier(.22,1,.36,1);cursor:pointer}
.wstick.on{transform:translateY(0)}
.wstick svg{width:15px;height:15px;flex:none}
.wstick .sd{font-family:var(--serif);font-weight:500;font-size:14.5px;color:var(--ivoire);letter-spacing:.04em;white-space:nowrap}
.wstick .ss{font-size:12px;font-weight:600;color:var(--sable);white-space:nowrap}
.wstick .sp{position:absolute;left:0;right:0;bottom:0;height:2px;background:rgba(216,189,146,.12)}
.wstick .sp b{display:block;height:100%;width:0;background:var(--or-grad);transition:width .6s}

/* numéros d'étape (setup) */
.wnum{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:10px;border-radius:50%;background:var(--or-grad);color:var(--encre);font-size:12.5px;font-weight:700;vertical-align:-4px}

/* cartes : liseré or en haut + hover */
.wcard{position:relative;overflow:hidden;transition:transform .25s,border-color .25s,box-shadow .25s}
.wcard::before{content:'';position:absolute;top:0;left:14%;right:14%;height:1px;background:linear-gradient(90deg,transparent,rgba(201,162,74,.55),transparent)}
.wcard:hover{border-color:rgba(216,189,146,.32);box-shadow:0 8px 34px rgba(0,0,0,.35)}

/* panneaux déroulants */
.wpanel summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;user-select:none;-webkit-user-select:none}
.wpanel summary::-webkit-details-marker{display:none}
.wpanel summary .wt{margin:0}
.wch{flex:none;width:26px;height:26px;border-radius:50%;border:1px solid rgba(216,189,146,.3);position:relative;transition:transform .3s,border-color .2s}
.wch::before{content:'';position:absolute;left:50%;top:50%;width:7px;height:7px;border-right:1.5px solid var(--sable);border-bottom:1.5px solid var(--sable);transform:translate(-50%,-65%) rotate(45deg)}
.wpanel[open] .wch{transform:rotate(180deg)}
.wpanel summary:hover .wch{border-color:var(--sable)}
.wpanel .wpb{margin-top:14px}
.wpanel[open] .wpb{animation:wopen .38s cubic-bezier(.22,1,.36,1)}
@keyframes wopen{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* apparition au scroll */
.io{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1)}
.io.rev{opacity:1;transform:none}

/* anneau animé + burst de particules */
#ring-fill{transition:stroke-dashoffset .9s cubic-bezier(.22,1,.36,1)}
.wtoday{position:relative;overflow:hidden}
.wtoday::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 90% 55% at 50% 115%,rgba(169,84,47,.14),transparent 60%)}
.wburst{position:absolute;pointer-events:none;left:0;top:0;width:0;height:0;z-index:5}
.wburst i{position:absolute;width:7px;height:7px;border-radius:50%;background:linear-gradient(174deg,#F7E9C0,#C39640);box-shadow:0 0 8px rgba(233,208,150,.8);animation:wboom .75s cubic-bezier(.16,.84,.44,1) forwards}
@keyframes wboom{0%{transform:translate(0,0) scale(1);opacity:1}100%{transform:translate(var(--dx),var(--dy)) scale(.1);opacity:0}}
.wbtn.today.done{animation:wglow 2.4s ease-in-out infinite}
@keyframes wglow{0%,100%{box-shadow:0 0 0 rgba(159,191,143,0)}50%{box-shadow:0 0 24px rgba(159,191,143,.35)}}

/* journal du soir */
.wpride{position:relative;margin-bottom:10px}
.wpride input{padding-left:52px !important;margin-bottom:0 !important}
.wpn{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;border:1px solid rgba(216,189,146,.35);color:var(--sable);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;pointer-events:none;transition:all .25s}
.wpride input:not(:placeholder-shown)+.wpn,.wpride.full .wpn{background:var(--or-grad);border-color:transparent;color:var(--encre)}
.wpride .wpn{z-index:2}
.wjcount{font-size:12.5px;color:var(--muted);font-weight:500;margin-top:10px}
.wjcount b{color:var(--sable)}
.wjh{border-top:1px solid var(--ligne);padding:12px 2px}
.wjh:first-child{border-top:none}
.wjh .d{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sable);margin-bottom:6px}
.wjh li{font-size:13.5px;line-height:1.65;color:var(--texte2);margin:0 0 3px;text-align:left}
.wjh ul{margin:0;padding-left:18px}

/* desktop : 2 colonnes, carte du jour collante */
@media (min-width:1020px){
  .arc2{max-width:1040px}
  #dash{display:grid;grid-template-columns:400px 1fr;gap:18px;align-items:start}
  #dash .wtoday{grid-column:1;grid-row:1/span 30;position:sticky;top:56px;margin-bottom:0}
  #dash .wpanel,#dash .wfootlinks{grid-column:2}
  #setup .wcard,#setup .w-hero{max-width:640px;margin-left:auto;margin-right:auto}
  #setup .wcard{margin-bottom:14px}
  #bilan{max-width:640px;margin:0 auto}
}

/* ── installation écran d'accueil ── */
.winstall .wpf{font-size:14px;font-weight:600;color:var(--ivoire);margin:16px 0 8px}
.winstall ol{margin:0;padding-left:20px}
.winstall li{font-size:14px;line-height:1.75;color:var(--texte2);margin-bottom:7px;text-align:left}
.winstall li strong{color:var(--ivoire);font-weight:600}
.wios{border-left:2px solid rgba(216,189,146,.25);padding-left:14px;margin-bottom:6px}
