/* TrackR · styles du module objectifs (nettoyage, étape 4b) : ses règles, sorties de la base par _local/outils/etape4-ecran/ranger-par-module.js
   sans rien réécrire, dans leur ordre d'origine. Chargé après la base, dans l'ordre fixe des balises d'index.html, avant Givre. */
.pill-red{color:var(--red);background:color-mix(in srgb,var(--red) 7%,transparent)}
.welcome-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.85fr);gap:17px;margin-bottom:18px}.hero-card:before{content:"";position:absolute;right:-75px;top:-115px;width:390px;height:390px;border-radius:50%;border:1px solid #c7f36b26;box-shadow:0 0 0 37px #c7f36b06,0 0 0 82px #c7f36b05,0 0 0 128px #c7f36b04;pointer-events:none}.hero-head{position:relative;z-index:1;display:flex;align-items:center;gap:8px;color:var(--lime);font-size:10px;font-weight:800;letter-spacing:.16em}.hero-foot{display:flex;align-items:center;gap:12px;margin-top:25px;position:relative;z-index:1}.hero-orb{position:absolute;right:26px;bottom:14px;opacity:.95;filter:drop-shadow(0 15px 30px #0005)}.orb-ring{width:147px;height:147px;border-radius:42px;background:linear-gradient(135deg,#c7f36b,#72993b);transform:rotate(-12deg);display:grid;place-items:center;box-shadow:inset -12px -15px 25px #18341852,0 0 60px #c7f36b18}.orb-face{font:900 74px 'Space Grotesk',system-ui,sans-serif;color:#1b2b16;transform:rotate(12deg);letter-spacing:-.12em}.orb-star{position:absolute;color:var(--lime)}.level-card:before{content:"";position:absolute;right:-48px;top:-46px;width:160px;height:160px;border:1px solid #ac9bff25;border-radius:50%;box-shadow:0 0 0 27px #ac9bff08,0 0 0 55px #ac9bff05}.level-head{display:flex;align-items:center;gap:14px;position:relative}.level-name{font:700 24px 'Space Grotesk',system-ui,sans-serif;letter-spacing:-.05em;margin:4px 0 1px}.level-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:19px}.level-bottom{border-top:1px solid #384350;margin-top:18px;padding-top:13px;display:flex;justify-content:space-between;align-items:center;font-size:11px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:28px}.activity-line{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.activity-line:last-child{border-bottom:0}.activity-icon{width:34px;height:34px;border-radius:11px;background:var(--surface2);color:var(--blue);display:grid;place-items:center}.activity-title{font-size:12px;font-weight:750;line-height:1.45}.activity-desc{font-size:11px;color:var(--muted);margin-top:4px}.activity-time{margin-left:auto;font-size:10px;color:var(--subtle);white-space:nowrap}.follow-item{display:flex;gap:10px;align-items:center;padding:11px;border-radius:12px;background:var(--surface2);margin-top:8px;cursor:pointer}.follow-item:hover{background:var(--surface3)}.follow-item .meta{min-width:0;flex:1}
@media(max-width:1250px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-grid{grid-template-columns:minmax(0,1fr) minmax(270px,.85fr)}.hero-orb{opacity:.65}}
@media(max-width:860px){.welcome-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.welcome-grid{grid-template-columns:1fr}.hero-orb{transform:scale(.68);transform-origin:right bottom;right:7px;bottom:5px;opacity:.55}.metric-grid{gap:10px}}
@media(max-width:860px){.desktop-home{display:none}.metric-grid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* 2.30.16 (Pierre : « en mobile quand j'appuie sur un bouton du menu, j'ai un carré bleu qui apparaît ») : pa … */.follow-item,.activity-line{border-color:var(--line);color:var(--text)}
[data-theme="light"] .level-card{background:linear-gradient(125deg,#f1ecff,#fff)}
.desktop-home{display:none!important}
.v2-home{max-width:1420px;margin:14px auto 50px;display:flex;flex-direction:column;gap:19px}
.v2-hero-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,440px);gap:22px;align-items:center;padding:12px 4px 8px}
.v2-wave{font-size:.54em;vertical-align:middle;color:#f4b557;padding-left:11px}
.v2-hero-founders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.v2-founder{background:var(--panel-bg);border:1px solid var(--line);border-radius:20px;display:flex;align-items:center;gap:12px;padding:11px;color:var(--text);text-align:left;min-width:0;box-shadow:0 12px 28px #0809240a}
.v2-founder-photo{position:relative;flex-shrink:0}.v2-founder-crown{position:absolute;bottom:-4px;right:-4px;border:2px solid var(--surface);background:var(--grad);color:white;display:grid;place-items:center;width:23px;height:23px;border-radius:9px}
.v2-founder-meta{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}
.v2-mini-progress,.v2-meter,.v2-meter-sm{background:var(--surface3);border-radius:50px;height:7px;overflow:hidden;width:100%}.v2-meter-sm>i{display:block;height:100%;background:var(--grad);border-radius:50px}
.v2-mission-panel,.v2-quests-panel,.v2-xp-card,.v2-action-card,.v2-duel-shortcut{background:var(--panel-bg);border:1px solid var(--line);border-radius:25px;box-shadow:0 18px 36px #050a1b0d}
.v2-mission-panel{padding:23px 26px 21px;background:radial-gradient(circle at 0 100%,#a280eb15,transparent 32%),var(--panel-bg)}
.v2-panel-head{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:15px}.v2-kicker{display:inline-flex;gap:7px;align-items:center;color:var(--muted);letter-spacing:.105em;font-size:11px;font-weight:800}
.v2-success-chip{color:var(--green);background:color-mix(in srgb,var(--green) 13%,transparent);padding:8px 12px;border-radius:40px;font-size:12px;font-weight:800;white-space:nowrap}
.v2-mission-body{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:center}.v2-mountain{width:100%;height:132px;object-fit:cover;border-radius:16px;border:1px solid var(--line)}.v2-meter{height:10px}.v2-meter-bottom{margin-top:9px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--subtle);font-size:10px}
.v2-metric-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.v2-mini-kpi{min-height:124px;text-align:left;position:relative;background:var(--surface);border:1px solid var(--line);border-radius:21px;display:grid;grid-template-columns:47px 1fr;grid-template-rows:1fr 1fr 10px;align-items:center;column-gap:12px;padding:15px 18px 16px;color:var(--text);box-shadow:0 10px 30px #0508190a}
.v2-kpi-icon{grid-row:1 / span 2;width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:#24c98b23;color:#2ad693}.kpi-blue .v2-kpi-icon{background:#3889ff26;color:#69adff}.kpi-orange .v2-kpi-icon{background:#ffab6022;color:#ffa05a}.v2-meter-sm{grid-column:1/-1;margin-top:10px;height:7px}
.v2-home-columns{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(270px,.82fr);gap:15px}.v2-quests-panel{padding:23px 23px 18px}
.v2-quest-list{display:grid}.v2-quest{min-height:65px;padding:12px 0;display:flex;align-items:center;gap:12px;text-align:left;border:0;border-top:1px solid var(--line);background:transparent;color:var(--text)}.v2-quest.is-done .v2-check{background:var(--green);border-color:var(--green);color:#fff}.v2-quest{cursor:pointer;border-radius:0}.v2-quest:not(.is-done) .v2-check{border-color:transparent;color:var(--accent);background:radial-gradient(closest-side,var(--surface) 78%,transparent 80% 100%),conic-gradient(var(--accent) var(--p,0%),color-mix(in srgb,var(--subtle) 45%,transparent) 0)}.v2-quest:not(.is-done):hover .v2-check{color:var(--text)}.v2-quest:focus-visible{outline:2px solid var(--accent2);outline-offset:2px;border-radius:12px}.v2-quest-text{min-width:0;display:flex;flex-direction:column;gap:3px;flex:1}.v2-xp{display:inline-flex;flex-shrink:0;border-radius:25px;padding:7px 9px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--violet);font-size:10px;font-weight:800}.v2-quest.is-done .v2-xp{color:var(--green);background:color-mix(in srgb,var(--green) 12%,transparent)}
.v2-side-progress{display:flex;flex-direction:column;gap:13px}.v2-xp-card,.v2-action-card{padding:21px 22px;flex:1}.v2-level-bubble{background:var(--grad);color:#fff;border-radius:10px;padding:7px 10px;font-size:11px;font-weight:800}.v2-action-card>p{font-size:12px;color:var(--muted);margin:8px 0 15px}.v2-streak{display:flex;align-items:center;gap:7px;padding-top:14px;font-size:11px;color:var(--muted)}.v2-action-card{background:radial-gradient(circle at 100% 0,#8c5af52b,transparent 55%),var(--panel-bg)}.v2-duel-shortcut button .i{height:15px;width:15px}
.v2-duel-shortcut{padding:17px 20px;display:flex;align-items:center;gap:14px}.v2-duel-symbol{height:42px;width:42px;background:#a07afe26;color:var(--lime);border-radius:14px;display:grid;place-items:center}
/* V1.3 components re-themed with V2 tokens: the legacy sheet hardcodes dark/lime colours that broke light mod … */.pill-red{color:var(--red);background:color-mix(in srgb,var(--red) 12%,transparent)}
@media(max-width:1100px){.v2-hero-header{grid-template-columns:1fr}.v2-hero-founders{max-width:490px}.v2-home-columns{grid-template-columns:1fr 1fr}.v2-mission-body{grid-template-columns:155px 1fr}}
@media(max-width:860px){
 .v2-home{margin:12px auto 16px;gap:13px}.v2-hero-header{padding:0 0 3px;gap:17px}.v2-hero-founders{width:100%;max-width:none;gap:10px}
 .v2-founder{padding:10px 9px;gap:10px;border-radius:18px}
 .v2-mission-panel{padding:18px;border-radius:22px}.v2-mission-body{grid-template-columns:120px 1fr;gap:13px}.v2-mountain{height:123px;border-radius:14px}.v2-meter{height:9px}.v2-meter-bottom{font-size:9px}.v2-kicker{font-size:10px}.v2-success-chip{font-size:11px;padding:7px 10px}
 .v2-metric-row{gap:8px}.v2-mini-kpi{padding:12px;grid-template-columns:34px minmax(0,1fr);min-height:110px;gap:4px;border-radius:18px}.v2-kpi-icon{width:34px;height:34px;border-radius:11px}.v2-meter-sm{height:5px}
 .v2-home-columns{grid-template-columns:1fr;gap:13px}.v2-quests-panel{padding:16px 17px;border-radius:21px}.v2-quest{min-height:63px}.v2-side-progress{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v2-xp-card,.v2-action-card{padding:17px;border-radius:21px}.v2-duel-shortcut{padding:15px;border-radius:20px}
}
@media(max-width:430px){.v2-hero-founders{gap:8px}.v2-founder{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px}.v2-founder-crown{height:20px;width:20px}.v2-mission-panel{padding:16px}.v2-mission-body{grid-template-columns:88px minmax(0,1fr);gap:10px}.v2-mountain{height:113px}.v2-meter-bottom{align-items:flex-start;flex-wrap:wrap}.v2-mini-kpi{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:117px;padding:11px}.v2-kpi-icon{width:31px;height:31px}.v2-meter-sm{margin-top:auto}.v2-side-progress{grid-template-columns:1fr}.v2-xp-card,.v2-action-card{padding:17px}.v2-duel-shortcut{flex-wrap:wrap}.v2-duel-shortcut button{margin-left:auto}.v2-kicker{font-size:9px}
}
@media(max-width:860px){.v2-hero-copy h2 br,.v2-hero-copy h2 em{display:none}.v2-hero-header{gap:12px}
.v2-mission-panel{padding:13px 15px;border-radius:20px}.v2-mission-panel .v2-panel-head{margin-bottom:9px}.v2-mission-body{grid-template-columns:50px minmax(0,1fr);gap:12px}.v2-mountain{width:50px;height:50px;border-radius:12px}.v2-meter-bottom{margin-top:6px}}
@media(min-width:861px){.v2-mission-panel{display:grid;grid-template-columns:58px minmax(0,auto) minmax(180px,1fr) auto;grid-template-areas:"img kicker meter chip" "img title bottom chip";align-items:center;gap:4px 24px;padding:14px 22px}
 .v2-mission-panel .v2-panel-head,.v2-mission-body,.v2-mission-copy{display:contents}
 .v2-mission-panel .v2-kicker{grid-area:kicker;align-self:end}.v2-mission-panel .v2-success-chip{grid-area:chip}
 .v2-mountain{grid-area:img;width:58px;height:58px;border-radius:14px}
 .v2-mission-panel .v2-meter{grid-area:meter;align-self:end;height:8px}.v2-mission-panel .v2-meter-bottom{grid-area:bottom;align-self:start;margin-top:3px}}
/* V2.10 · Modules (Paramètres) : interrupteur, et gamification masquée (classe no-game sur <html>). */
.no-game .v2-xp{display:none!important}
/* 2.28.2 · « bug d'affichage » : la ligne Billit sous le nom, sur toute la largeur (à droite, elle écrasait l … */
.v2-habit-zone{display:grid;gap:15px}
.v2-habits{background:var(--panel-bg);border:1px solid var(--line);border-radius:25px;box-shadow:0 18px 36px #050a1b0d;padding:21px 22px}
.v2-habit-grid{display:grid;gap:8px;overflow-x:auto}
.v2-habit-row{display:grid;grid-template-columns:minmax(150px,1fr) auto 46px;align-items:center;gap:12px}
.v2-habit-head{font-size:10px;font-weight:800;color:var(--subtle)}
.v2-habit-name{display:flex;align-items:center;gap:10px;min-width:0;padding:4px;border:0;border-radius:12px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.v2-habit-name:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.v2-habit-name>span:last-child{display:grid;min-width:0}
.v2-habit-name small.is-danger{color:var(--orange);font-weight:700}
.v2-habit-ico{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:10px;background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent)}
.v2-habit-cells{display:grid;grid-template-columns:repeat(14,22px);gap:5px}
.v2-habit-head .v2-habit-cells i.is-today{color:var(--accent)}
.v2-habit-cells i.is-part::after{content:"";position:absolute;inset:auto 0 0;height:calc(var(--f)*100%);background:color-mix(in srgb,var(--accent) 55%,transparent)}
.v2-habit-cells i.is-full{background:linear-gradient(140deg,var(--green),color-mix(in srgb,var(--green) 70%,#0ea5e9));box-shadow:0 4px 10px color-mix(in srgb,var(--green) 30%,transparent)}
.v2-habit-cells i.is-we.is-none{background:color-mix(in srgb,var(--surface3) 45%,transparent)}
.v2-habit-cells i.is-today:not(.v2-habit-head i){outline:2px solid var(--accent);outline-offset:1px}
.v2-habit-streak{display:inline-flex;align-items:center;justify-content:flex-end;gap:3px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--subtle)}.v2-habit-streak.is-hot{color:#ff7a3d}.v2-habit-streak.is-fire{color:#ff4d2e;text-shadow:0 0 12px #ff6a3d73}
.v2-habit-streak.is-fire .i{filter:drop-shadow(0 0 6px #ff6a3d99)}
.v2-habit-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:12px 0 0;font-size:11.5px;color:var(--muted)}
.v2-habit-legend i.is-full{background:var(--green)}.v2-habit-legend i.is-part::after{content:"";position:absolute;inset:auto 0 0;height:50%;background:color-mix(in srgb,var(--accent) 55%,transparent)}
@media (max-width:760px){
 .v2-habits{padding:16px 17px;border-radius:21px}
 .v2-habit-row{grid-template-columns:minmax(0,1fr) auto 34px;gap:8px}
 .v2-habit-cells{grid-template-columns:repeat(7,24px);gap:5px}
 .v2-habit-cells i:nth-child(-n+7){display:none}
 .v2-habit-ico{width:28px;height:28px}
}
.v2-mission-art{position:relative;overflow:hidden;background:radial-gradient(110% 130% at 15% 0%,#c4b5fd 0%,transparent 52%),linear-gradient(150deg,#7c4dff 0%,#4f46e5 55%,#2563eb 100%);border-color:color-mix(in srgb,#fff 16%,transparent)!important;box-shadow:inset 0 1px 0 #ffffff40,0 12px 28px -16px #4f46e5}
.v2-ma-glow{fill:#fff;opacity:.07}.v2-ma-ring{fill:none;stroke:#fff}.v2-ma-core{fill:#fff}.v2-ma-dot{fill:#6d4aff}
.v2-ma-dart{fill:none;stroke:#fff;stroke-width:5;stroke-linecap:round}.v2-ma-fl{fill:none;stroke:#fff;stroke-width:3.5;stroke-linecap:round;opacity:.85}
.v2-ma-spark{fill:#fff;opacity:.8}.v2-ma-spark.is-sm{opacity:.55}
.v2-ma-check{display:none;fill:none;stroke:#2e9a36;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.v2-mission-art.is-done .v2-ma-dot{display:none}.v2-mission-art.is-done .v2-ma-check{display:inline}
/* 2.16 : thème clair / sombre / auto (Paramètres → Apparence) */
.v2-habit-legend i{border-radius:50%}
@media (max-width:860px){
 .v2-hero-copy{display:none}.v2-hero-header:not(:has(.v2-hero-founders)){display:none}
 .v2-home{margin-top:2px}
}
@media (max-width:480px){
 .v2-habit-row{grid-template-columns:minmax(0,1fr) auto 26px;gap:6px}
 .v2-habit-ico{display:none}
 .v2-habit-cells{grid-template-columns:repeat(7,20px);gap:4px}
 .v2-habit-name{padding:2px 0}
}
/* 2.18.1 : photos en vrais ronds (Mon profil, aperçu de la photo, tête du haut sur téléphone) ; l'image est e … */
.v2-founder-photo>.avatar{border-radius:50%}
/* 2.23.5 · « Mes objectifs » : objectifs réglés sur place, ajout, catégories ajoutées (administrateurs). */
.v2-quest-acts{display:inline-flex;align-items:center;gap:4px 12px;flex-wrap:wrap;justify-content:flex-end}

/* 2.24.0 · Objectifs par jour et surtout par semaine : « Cette semaine », jours de prospection, graphique sem … */
.v2-week-panel,.v2-weeks{background:var(--panel-bg);border:1px solid var(--line);border-radius:25px;box-shadow:0 18px 36px #050a1b0d;padding:21px 22px}
.v2-week-top{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;margin:6px 0 12px}
.v2-week-days{display:flex;gap:4px}
.v2-week-days i.is-on{color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,transparent)}
.v2-week-days i.is-on.is-past{opacity:.55}
.v2-week-days i.is-today{outline:2px solid var(--accent);outline-offset:1px}
.v2-week-list{display:grid;gap:4px}
.v2-week-row{display:grid;grid-template-columns:32px minmax(0,1fr) minmax(70px,1.1fr) 62px;align-items:center;gap:12px;padding:6px 4px;border:0;border-radius:12px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.v2-week-row:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.v2-week-ico{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent)}
.v2-week-name{display:grid;min-width:0}
.v2-week-bar{height:9px;border-radius:9px;background:var(--surface3);overflow:hidden}
.v2-week-n{text-align:right;font-variant-numeric:tabular-nums;font-size:15px}
.v2-week-row.is-done .v2-week-n{color:var(--green)}
.v2-weeks .v2-panel-head{flex-wrap:wrap;gap:10px}
.v2-wk-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:12px 0 8px}
.v2-wk-nav{display:flex;align-items:center;gap:6px;margin-left:auto}
.v2-wk-nav .icon-btn{display:grid;place-items:center}.v2-wk-nav .icon-btn:disabled{opacity:.35;cursor:default}
.v2-wk-types{margin-bottom:6px}
.v2-wk-sum{margin:2px 0 14px;font-size:12.5px;color:var(--muted)}.v2-wk-sum strong{color:var(--text)}
.v2-wk-chart{position:relative;display:flex;align-items:flex-end;gap:10px;height:170px;padding-top:4px;border-bottom:1px solid var(--line)}
.v2-wk-chart.is-month{height:190px;padding-bottom:34px;border-bottom:0}
.v2-wk-chart.is-year{gap:2px}
.v2-wk-bar{position:relative;flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end}
.v2-wk-bar.is-now>i{outline:2px solid var(--accent);outline-offset:2px}
.v2-wk-goal{position:absolute;left:0;right:0;bottom:calc(var(--h)*(100% - 4px));border-top:2px dashed color-mix(in srgb,var(--orange) 75%,transparent);pointer-events:none;z-index:1}
.v2-wk-chart.is-month .v2-wk-goal{bottom:calc(var(--h)*(100% - 38px) + 34px)}
.v2-wk-axis{display:flex;gap:2px;margin-top:4px}
@media (max-width:600px){
 .v2-week-panel,.v2-weeks{padding:16px 15px;border-radius:21px}
 .v2-week-row{grid-template-columns:28px minmax(0,1fr) auto;gap:4px 10px;padding:6px 2px}.v2-week-ico{width:28px;height:28px;border-radius:9px}.v2-week-bar{grid-column:2/4;grid-row:2;height:7px}
 .v2-week-top{margin:4px 0 8px}
 .v2-wk-nav{margin-left:0;width:100%;justify-content:space-between}
 .v2-wk-chart.is-year{gap:1px;height:140px}.v2-wk-chart.is-month{gap:6px}
}
/* 2.26 · « Cette semaine » : choix Jour / Semaine à côté du pourcentage */
.v2-week-head-r{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}
@media (max-width:520px){.v2-week-panel .v2-panel-head{flex-wrap:wrap;gap:8px}.v2-week-head-r{margin-left:auto}}
/* 2.30.3 · Objectifs sur téléphone (Pierre : « d'abord la card Tes quêtes du jour avant Cette semaine ») : seul l'ordre change ; le niveau,
   la prochaine action et le reste suivent « Cette semaine » ; l'ordinateur reste comme avant. */
@media (max-width:860px){
 .v2-home-columns{display:contents}
 .v2-home>.v2-week-panel,.v2-home>.v2-week-panel~*,.v2-week-panel~.v2-home-columns>.v2-side-progress{order:1}
}
