/* Base (reprend les réglages de la page d'origine) */
:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;padding:0}
img{max-width:100%}
[hidden]:not([hidden=until-found i]){display:none!important}
/* Bandeau hors ligne / import */
.net-bar{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:60;background:var(--night);color:var(--night-fg);border-radius:14px;padding:10px 14px;font-size:13px;font-weight:700;display:flex;gap:10px;align-items:center;justify-content:space-between;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.net-bar button{border:0;border-radius:10px;padding:6px 10px;font-weight:800;background:var(--coral);color:#fff}

/* Layout: a captain's logbook laid over a sea chart — sticky header, one centered column, cards as chart insets. */
:root{
  --paper:#f7f3e8; --paper-2:#fffdf7; --ink:#14212f; --ink-soft:#56657a; --line:#c9cfc6;
  --coral:#ff5c35; --coral-soft:#fff0eb; --sea:#0b63e5; --sea-soft:#e7f0fc; --land:#2f7a4f; --land-soft:#e8f4ec;
  --amber:#c9780a; --amber-soft:#fff4e0; --red:#c62d2d; --red-soft:#fdecec; --green:#1f7a43; --green-soft:#e7f5ec;
  --night:#102536; --night-fg:#f4f1e6; --grid:rgba(20,33,47,.06); --overlay:rgba(10,20,30,.55);
  --font-display:"Lilita One","Arial Rounded MT Bold","Trebuchet MS",sans-serif;
  --font-body:"Nunito Sans","Avenir Next",Avenir,"Segoe UI",sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --paper:#0d1822; --paper-2:#14222f; --ink:#ece7da; --ink-soft:#9aa9b8; --line:#2b3c4c;
  --coral:#ff7a57; --coral-soft:#3a2018; --sea:#5aa2ff; --sea-soft:#14283f; --land:#6cc391; --land-soft:#15291f;
  --amber:#f0b04a; --amber-soft:#33260f; --red:#ff7b7b; --red-soft:#3a1717; --green:#6cc391; --green-soft:#132a1d;
  --night:#08121b; --night-fg:#f4f1e6; --grid:rgba(236,231,218,.05); --overlay:rgba(0,0,0,.65); color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#0d1822; --paper-2:#14222f; --ink:#ece7da; --ink-soft:#9aa9b8; --line:#2b3c4c;
  --coral:#ff7a57; --coral-soft:#3a2018; --sea:#5aa2ff; --sea-soft:#14283f; --land:#6cc391; --land-soft:#15291f;
  --amber:#f0b04a; --amber-soft:#33260f; --red:#ff7b7b; --red-soft:#3a1717; --green:#6cc391; --green-soft:#132a1d;
  --night:#08121b; --night-fg:#f4f1e6; --grid:rgba(236,231,218,.05); --overlay:rgba(0,0,0,.65); color-scheme:dark}

*{box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.5;
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:48px 48px}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--sea);outline-offset:2px}
h1,h2,h3,h4{margin:0;text-wrap:balance}
p{margin:0}
a{color:inherit}
.num{font-variant-numeric:tabular-nums}

/* Header */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--paper-2);border-bottom:2px solid var(--ink);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='16' viewBox='0 0 80 16'%3E%3Cpath d='M0 8 Q10 0 20 8 T40 8 T60 8 T80 8' fill='none' stroke='%230b63e5' stroke-opacity='.14' stroke-width='2'/%3E%3C/svg%3E");background-size:80px 16px}
.hwrap{max-width:72rem;margin:0 auto;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px}
.brand svg{width:46px;height:46px;flex:none}
.brand b{display:block;font-family:var(--font-display);font-size:22px;letter-spacing:.02em;line-height:1}
.brand small{display:inline-block;margin-top:4px;font-size:12px;font-weight:700;color:var(--ink-soft)}
.tabs{display:flex;gap:4px}
.tab{background:none;border:0;border-bottom:3px solid transparent;padding:8px 12px;font-weight:800;font-size:14px;display:flex;align-items:center;gap:6px}
.tab[aria-current="page"]{border-bottom-color:var(--sea);color:var(--sea)}
.tab svg{width:18px;height:18px}
.target{text-align:right;font-size:12px;color:var(--ink-soft)}
.target b{display:block;color:var(--ink);font-size:16px}
@media (max-width:640px){.target{display:none}.tabs{width:100%}.tab{flex:1;justify-content:center}}

main{max-width:72rem;margin:0 auto;padding:28px 16px 96px}
.stack{display:grid;gap:16px}

.card{background:var(--paper-2);border:1px solid var(--line);border-radius:24px;padding:20px}
.eyebrow{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--coral);display:flex;align-items:center;gap:6px}
.eyebrow svg{width:15px;height:15px}
.muted{color:var(--ink-soft)}
.small{font-size:13px}

/* Week summary */
.top-grid{display:grid;gap:16px}
@media (min-width:960px){.top-grid{grid-template-columns:1.45fr .8fr}}
.week-summary{background:var(--paper-2);border:1.5px solid var(--ink);border-radius:30px;padding:26px;box-shadow:0 6px 0 rgba(11,99,229,.12);position:relative;overflow:hidden}
.week-summary::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;border:2px dashed var(--line);opacity:.8}
.week-summary .kicker{font-size:13px;font-weight:900;color:var(--sea);letter-spacing:.04em}
.week-summary h1{font-family:var(--font-display);font-weight:400;font-size:clamp(30px,6vw,52px);line-height:1.05;margin-top:6px;position:relative}
.stats3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;border-top:1px solid var(--line);margin-top:24px;padding-top:16px;font-size:14px}
.stats3 span{display:block;color:var(--ink-soft)}
.alert{border-radius:30px;border:1px solid;padding:24px}
.alert h2{font-size:20px;font-weight:900;margin-top:12px}
.alert p{margin-top:8px;font-size:14px;color:var(--ink-soft)}
.tone-green{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 35%,transparent)}
.tone-orange{background:var(--amber-soft);border-color:color-mix(in srgb,var(--amber) 40%,transparent)}
.tone-red{background:var(--red-soft);border-color:color-mix(in srgb,var(--red) 40%,transparent)}
.alert svg{width:26px;height:26px;color:var(--green)}
.tone-orange svg{color:var(--amber)}.tone-red svg{color:var(--red)}

/* Voyage panel */
.voyage{background:var(--paper-2);border:1.5px solid var(--ink);border-radius:26px;padding:20px;overflow:hidden}
.v-banner{border-radius:18px;padding:18px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;
  background:linear-gradient(115deg,var(--sea-soft) 0%,var(--paper) 70%);border:1px solid var(--line)}
.v-banner .eyebrow{color:var(--ink)}
.v-banner h2{font-family:var(--font-display);font-weight:400;font-size:clamp(26px,5vw,38px);margin-top:4px}
.v-totals{background:var(--paper-2);border-radius:14px;padding:10px 14px;text-align:right;border:1px solid var(--line)}
.v-totals strong{display:block;color:var(--sea);font-weight:900;line-height:1.15}
.v-totals .km{font-size:30px}.v-totals .min{font-size:22px}
.v-route{display:grid;grid-template-columns:72px minmax(0,1fr) 92px;align-items:end;height:170px;margin:18px 0 6px}
.v-end{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;padding-bottom:38px;text-align:center}
.v-end .ico{font-size:40px;line-height:1}
.v-end small{font-size:11px;font-weight:800;color:var(--ink-soft);margin-top:4px}
.v-lane{position:relative;height:100%;min-width:0}
.v-lane svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.v-trav{position:absolute;transform:translate(-50%,-100%);font-size:42px;line-height:1;pointer-events:none;transition:left .5s,top .5s}
@media (prefers-reduced-motion:no-preference){.v-trav span{display:inline-block;animation:bob 1.2s ease-in-out infinite alternate}@keyframes bob{to{transform:translateY(-4px)}}}
@media (max-width:640px){.v-route{grid-template-columns:44px minmax(0,1fr) 64px;height:130px}.v-end .ico{font-size:28px}.v-trav{font-size:32px}.v-end{padding-bottom:26px}}
.v-cap{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--ink-soft)}
.v-div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;border-top:1px solid var(--line);margin-top:16px;padding-top:14px;font-size:14px;color:var(--ink-soft)}
.v-div b{color:var(--sea)}
.v-note{margin-top:10px;font-size:12px;color:var(--ink-soft)}

/* Action cards */
.action{width:100%;text-align:left;background:var(--paper-2);border:1px solid var(--line);border-radius:24px;padding:20px;display:grid;gap:12px;transition:transform .15s,box-shadow .15s}
.action:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(16,37,54,.08)}
.action.ready{background:var(--coral-soft);border-color:color-mix(in srgb,var(--coral) 45%,transparent)}
@media (min-width:720px){.action.row{grid-template-columns:1fr auto;align-items:center}}
.action h2{font-size:20px;font-weight:900;margin-top:2px}
.action p{font-size:14px;color:var(--ink-soft);max-width:62ch}
.pill-btn{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:900;background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink-soft);justify-self:start}
.action.ready .pill-btn{background:var(--coral);color:#fff}
.link-coral{color:var(--coral);font-weight:800;display:inline-flex;align-items:center;gap:4px}
.pill-btn svg,.link-coral svg{width:16px;height:16px}

/* Week pills */
.weeks{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 8px;margin-top:16px;scrollbar-width:none}
.weeks::-webkit-scrollbar{display:none}
.wk{min-width:46px;border:1px solid var(--line);background:var(--paper-2);border-radius:999px;padding:8px 14px;font-weight:900;color:var(--ink-soft)}
.wk[aria-pressed="true"]{background:var(--coral);border-color:var(--coral);color:#fff}

.stages{display:flex;gap:8px;overflow-x:auto;margin-top:12px;padding:0 0 4px;list-style:none}
.stage{min-width:max-content;border-radius:12px;border:1px solid;padding:6px 12px;font-size:14px;display:inline-flex;gap:8px;align-items:center}
.stage.mer{background:var(--sea-soft);border-color:color-mix(in srgb,var(--sea) 25%,transparent)}
.stage.escale{background:var(--land-soft);border-color:color-mix(in srgb,var(--land) 25%,transparent)}
.stage em{font-style:normal;opacity:.7}

/* Day cards */
.days{display:grid;gap:12px;margin-top:20px}
.day{display:grid;gap:12px;align-items:center;background:var(--paper-2);border:1px solid var(--line);border-radius:22px;padding:16px 18px;position:relative;overflow:hidden;min-height:110px}
.day::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background-size:cover;background-position:center}
.day{--day-veil:linear-gradient(90deg,var(--paper-2) 0%,var(--paper-2) 34%,color-mix(in srgb,var(--paper-2) 70%,transparent) 62%,color-mix(in srgb,var(--paper-2) 25%,transparent) 100%)}
@media (max-width:719px){.day{--day-veil:linear-gradient(color-mix(in srgb,var(--paper-2) 82%,transparent),color-mix(in srgb,var(--paper-2) 82%,transparent))}}
.day>*{position:relative;z-index:1}
@media (min-width:720px){.day{grid-template-columns:100px minmax(0,1fr) auto}}
.day:hover{border-color:var(--sea)}
.day .when b{font-size:14px}.day .when div{font-size:12px;color:var(--ink-soft)}
.day-main{display:flex;align-items:center;gap:14px;background:none;border:0;text-align:left;padding:0;min-width:0}
.day-main .bar{width:6px;height:48px;border-radius:99px;flex:none}
.day-main .type{display:block;font-size:12px;font-weight:800;text-transform:uppercase;color:var(--ink-soft)}
.day-main .title{display:block;font-size:18px;font-weight:900;line-height:1.25}
.day-main .dur{display:flex;align-items:center;gap:4px;font-size:14px;color:var(--ink-soft);margin-top:2px}
.day-main .dur svg{width:14px;height:14px}
.alt-badge{display:inline-flex;margin-top:6px;border-radius:999px;background:var(--coral-soft);color:var(--coral);font-size:12px;font-weight:800;padding:3px 10px}
.day-side{display:flex;align-items:center;justify-content:space-between;gap:10px}
.done{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:999px;background:var(--green-soft);color:var(--green);font-weight:800;font-size:14px;padding:8px 12px}
.done svg{width:16px;height:16px}
.log-btn{width:60px;height:60px;border:0;background:none;padding:0;display:grid;place-items:center;border-radius:50%;transition:transform .2s}
.log-btn img{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 3px 3px rgba(16,37,54,.3));transition:filter .2s}
.log-btn:hover{transform:translateY(-3px) rotate(-8deg)}
.log-btn:hover img{filter:drop-shadow(0 0 9px rgba(48,129,244,.65))}
.fruit-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.fruit-btn img{width:26px;height:26px;object-fit:contain}
.v-route{grid-template-columns:96px minmax(0,1fr) 120px;height:190px}
.v-end .ico{display:block;width:100%;line-height:1}
.v-end .ico svg{display:block;width:100%;height:auto;border-radius:14px;overflow:hidden}
.v-trav.is-runner{width:54px;height:82px}
.v-trav.is-ship{width:84px;height:74px}
.v-trav svg{display:block;width:100%;height:100%;overflow:visible}
.v-trav>span{display:block;width:100%;height:100%;animation:none}
@media (prefers-reduced-motion:no-preference){
  .rn-limb{transform-box:view-box}
  .rn-legA,.rn-legB{transform-origin:28px 54px}.rn-armA,.rn-armB{transform-origin:28px 34px}
  .rn-legA{animation:rn-swing .62s ease-in-out infinite alternate}
  .rn-legB{animation:rn-swing .62s ease-in-out infinite alternate-reverse}
  .rn-armA{animation:rn-arm .62s ease-in-out infinite alternate-reverse}
  .rn-armB{animation:rn-arm .62s ease-in-out infinite alternate}
  .rn-body{animation:rn-bob .31s ease-in-out infinite alternate}
  .rn-tail{transform-box:view-box;transform-origin:24px 17px;animation:rn-tail .31s ease-in-out infinite alternate}
  @keyframes rn-swing{from{transform:rotate(-32deg)}to{transform:rotate(30deg)}}
  @keyframes rn-arm{from{transform:rotate(-40deg)}to{transform:rotate(38deg)}}
  @keyframes rn-bob{from{transform:translateY(0)}to{transform:translateY(-3px)}}
  @keyframes rn-tail{from{transform:rotate(-8deg)}to{transform:rotate(10deg)}}
  .ship{animation:ship-rock 2.4s ease-in-out infinite alternate;transform-origin:50% 90%}
  @keyframes ship-rock{from{transform:rotate(-4deg) translateY(0)}to{transform:rotate(4deg) translateY(-3px)}}
}
@media (max-width:640px){.v-route{grid-template-columns:60px minmax(0,1fr) 78px;height:150px}.v-trav.is-runner{width:38px;height:58px}.v-trav.is-ship{width:58px;height:52px}}
.chev{background:none;border:0;padding:6px;color:var(--ink-soft)}
.chev svg{width:22px;height:22px}
.rule{margin-top:24px;border:1px solid var(--line);background:var(--paper-2);border-radius:18px;padding:16px;font-size:14px;color:var(--ink-soft)}
.rule b{color:var(--ink)}

/* Ajustements proposés */
.adapt-card{display:grid;gap:12px;border:2px solid var(--coral)}
.adapt-h{font-size:20px;font-weight:900}
.adapt-item{display:grid;gap:8px;line-height:1.45}
.adapt-acts{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:4px}
/* Progress view */
.tiles{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.tile{background:var(--paper-2);border:1px solid var(--line);border-radius:22px;padding:18px}
.tile svg{width:24px;height:24px;color:var(--coral)}
.tile .l{font-size:13px;color:var(--ink-soft);margin-top:12px}
.tile .v{font-size:26px;font-weight:900}
.vma-band{background:var(--coral-soft);border-radius:28px;padding:24px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}
.vma-band h2{font-size:24px;font-weight:900}
.vma-band .big{font-family:var(--font-display);font-weight:400;font-size:44px;color:var(--coral)}
.night{background:var(--night);color:var(--night-fg);border-radius:28px;padding:26px}
.night .k{font-size:13px;font-weight:800;color:#9bd8ad}
.night h1{font-family:var(--font-display);font-weight:400;font-size:32px}
.night p{color:color-mix(in srgb,var(--night-fg) 78%,transparent);font-size:14px;margin-top:12px}
.bar-track{height:12px;border-radius:99px;background:rgba(255,255,255,.15);margin-top:20px;overflow:hidden}
.bar-fill{height:100%;background:#ff6b45;border-radius:99px}
.two{display:grid;gap:16px}@media (min-width:900px){.two{grid-template-columns:1fr 1fr}}
.kv{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;font-size:14px}
.kv span{color:var(--ink-soft)}.kv b{display:block;font-size:20px}
.note-row{border-radius:12px;padding:10px 12px;font-size:14px;margin-top:8px}
.coach{display:grid;gap:14px;margin-top:18px}
.coach article{border:1px solid var(--line);border-radius:18px;padding:16px;background:var(--paper)}
.coach .head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:14px;margin-bottom:14px}
.chip{display:inline-block;border-radius:999px;background:color-mix(in srgb,var(--ink) 9%,transparent);padding:2px 8px;font-size:11px;font-weight:900;text-transform:uppercase;margin-right:6px}

/* Feedback */
.fb-head{display:flex;align-items:center;gap:12px}
.fb-dot{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;flex:none}
.fb-dot svg{width:19px;height:19px}
.fb-dot.green{background:var(--green)}.fb-dot.orange{background:var(--amber)}.fb-dot.red{background:var(--red)}
.fb-head small{display:block;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}
.fb-head h3{font-size:18px;font-weight:900}
.fb-body{display:grid;gap:10px;margin-top:14px;font-size:14px}
.fb-body .ctx{border-top:1px solid var(--line);padding-top:10px;font-size:12px;color:var(--ink-soft)}

/* Improvements: today, countdown, week progress, chart, records, delete */
.ws-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;position:relative;z-index:1}
.race-chip{display:inline-flex;align-items:baseline;gap:6px;border:1.5px solid var(--ink);border-radius:999px;padding:4px 12px;background:var(--paper);font-size:13px;font-weight:800;white-space:nowrap}
.race-chip b{font-family:var(--font-display);font-weight:400;font-size:20px;color:var(--coral)}
.wk-progress{margin-top:16px;position:relative;z-index:1}
.wk-progress .track{height:8px;border-radius:99px;background:color-mix(in srgb,var(--ink) 9%,transparent);overflow:hidden;margin-top:6px}
.wk-progress .fill{height:100%;background:var(--sea);border-radius:99px}
.today-card{display:grid;gap:14px;align-items:center;background:var(--sea-soft);border:2px solid var(--sea);border-radius:24px;padding:18px 20px}
@media (min-width:720px){.today-card{grid-template-columns:minmax(0,1fr) auto}}
.today-card .eyebrow{color:var(--sea)}
.today-card h2{font-size:22px;font-weight:900;margin-top:2px}
.today-card .acts{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.btn-inline{width:auto;padding:10px 16px}
.day.today{border:2px solid var(--sea);box-shadow:0 4px 0 color-mix(in srgb,var(--sea) 25%,transparent)}
.today-badge{display:inline-block;margin-top:4px;border-radius:999px;background:var(--sea);color:var(--paper-2);font-size:11px;font-weight:900;padding:2px 8px;text-transform:uppercase;letter-spacing:.05em}
.back-week{border:0;background:none;color:var(--sea);font-weight:800;font-size:14px;padding:4px 2px;display:inline-flex;align-items:center;gap:4px}
.chart-wrap{overflow-x:auto;margin-top:14px}
.chart-wrap svg{display:block;width:100%;min-width:640px;height:auto}
.chart-wrap text{font-family:var(--font-body)}
.records{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-top:14px}
.records div{border:1px dashed var(--line);border-radius:16px;padding:12px 14px}
.records span{display:block;font-size:13px;color:var(--ink-soft)}
.records b{display:block;font-size:22px;font-weight:900}
.records small{color:var(--ink-soft);font-size:12px}
/* Voyage timeline poster: one cell per day, bands coloured by saga. Deliberately one printed-poster look in both themes. */
.tl{background:#fbf0c4;color:#1b1b1b;border-radius:24px;padding:22px 18px;border:1.5px solid #1b1b1b;--tl-ink:#1b1b1b}
.tl h2{font-family:"Bangers","Lilita One",Impact,sans-serif;font-weight:400;font-size:clamp(28px,6vw,42px);letter-spacing:.03em;line-height:1}
.tl .by{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-top:2px}
.tl-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.tl-key{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;font-weight:800;text-transform:uppercase}
.tl-key span{display:inline-flex;align-items:center;gap:5px}
.tl-key i{display:inline-block;width:14px;height:14px;border:1.5px solid #1b1b1b;background:#d9d9d9;position:relative}
.tl-key i.dot::after{content:"";position:absolute;inset:3px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.35)}
.tl-key i.ring::after{content:"";position:absolute;inset:2px;border-radius:50%;border:2px solid #fff}
.tl-grid{display:grid;grid-template-columns:52px repeat(7,minmax(0,1fr)) 112px;row-gap:0}
.tl-wk{font-family:"Bangers","Lilita One",Impact,sans-serif;font-size:15px;letter-spacing:.03em;display:flex;align-items:center;padding-right:6px;line-height:1}
.tl-wk small{display:block;font-family:var(--font-body);font-size:9px;font-weight:700;opacity:.65;letter-spacing:0}
.tl-cell{position:relative;height:30px;border-right:1px solid rgba(255,255,255,.35);border-bottom:1px solid rgba(255,255,255,.35)}
.tl-cell .d{position:absolute;right:3px;bottom:1px;font-size:8px;font-weight:700;color:rgba(255,255,255,.55)}
.tl-cell.sea{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.18) 0 3px,transparent 3px 8px)}
.tl-cell.future{opacity:.32}
.tl-cell.today{outline:3px solid #1b1b1b;outline-offset:-3px;z-index:3}
.tl-cell .mk{position:absolute;left:50%;top:50%;width:11px;height:11px;transform:translate(-50%,-50%);border-radius:50%;background:#fff;box-shadow:0 0 0 1.5px rgba(0,0,0,.35)}
.tl-cell .mk.ring{background:none;border:2.5px solid #fff;box-shadow:none}
.tl-lab{position:absolute;left:4px;top:2px;z-index:2;white-space:nowrap;pointer-events:none;font-family:"Bangers","Lilita One",Impact,sans-serif;font-size:14px;letter-spacing:.04em;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.55),0 0 3px rgba(0,0,0,.45);line-height:1.1;text-transform:uppercase}
.tl-lab.lo{top:auto;bottom:2px}
.tl-saga{position:relative;z-index:4;background:#fbf0c4;display:flex;align-items:flex-start;padding:3px 0 0 8px;font-family:"Bangers","Lilita One",Impact,sans-serif;font-size:14px;letter-spacing:.03em;line-height:1;text-transform:uppercase}
.tl-saga.start{border-top:1.5px solid #1b1b1b}
.tl-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:12px;font-size:12px;font-weight:700}
@media (max-width:640px){.tl{padding:16px 10px}.tl-grid{grid-template-columns:34px repeat(7,minmax(0,1fr)) 70px}.tl-wk{font-size:12px}.tl-wk small{display:none}.tl-cell{height:26px}.tl-cell .d{display:none}.tl-lab{font-size:11px}.tl-saga{font-size:10px;padding-left:5px}}
.brand img{width:52px;height:52px;object-fit:contain;flex:none}
.tab img{width:34px;height:24px;object-fit:contain}
.v-trav.is-ship.sunny{width:86px;height:110px}
.v-trav.sunny img{width:100%;height:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 3px 2px rgba(0,0,0,.3))}
@media (max-width:640px){.v-trav.is-ship.sunny{width:60px;height:76px}}
.action,.coach-card{position:relative;overflow:hidden}
.action>*:not(.wm):not(.side-char),.coach-card>*:not(.wm):not(.coach-chopper){position:relative;z-index:1}
.wm{position:absolute;right:-18px;bottom:-22px;width:130px;opacity:.12;pointer-events:none;z-index:0}
.coach-card .wm{top:-20px;bottom:auto;width:150px;opacity:.08}
.alert{position:relative;overflow:hidden}
.alert-face{position:absolute;right:16px;top:16px;width:48px;height:48px;background-size:200% 100%;background-position:0 0;background-repeat:no-repeat}
.alert-face.sad{background-position:100% 0}
.rule{position:relative;padding-right:96px;min-height:100px}
.rule img{position:absolute;right:12px;bottom:6px;height:88px;width:auto}
.first-steps{position:relative;padding-right:110px}
.fs-img{position:absolute;right:10px;bottom:8px;height:130px;width:auto}
.night{position:relative;overflow:hidden;padding-right:150px}
.night-flag{position:absolute;right:12px;bottom:0;height:150px;width:auto}
.tl-title{display:flex;align-items:center;gap:12px}
.tl-logo{height:60px;width:auto}
@media (max-width:640px){.night{padding-right:26px}.night-flag{display:none}.first-steps{padding-right:92px}.fs-img{height:104px}.rule{padding-right:74px}.rule img{height:70px}.tl-logo{height:44px}}
.v-trav.is-runner{width:84px;height:80px}
.run-img{width:100%;height:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 4px 2px rgba(0,0,0,.28));transform-origin:50% 100%}
@media (prefers-reduced-motion:no-preference){.run-img{animation:run-stride .34s ease-in-out infinite alternate}
@keyframes run-stride{from{transform:translateY(0) rotate(-2deg) scaleY(1)}to{transform:translateY(-6px) rotate(3deg) scaleY(.97)}}}
@media (max-width:640px){.v-trav.is-runner{width:58px;height:56px}}
.v-banner.has-scene{background-image:linear-gradient(90deg,color-mix(in srgb,var(--paper-2) 92%,transparent) 0%,color-mix(in srgb,var(--paper-2) 70%,transparent) 38%,transparent 70%),var(--scene);background-size:cover;background-position:center 60%;min-height:210px;align-items:flex-start}
.v-banner.has-scene .v-totals{background:color-mix(in srgb,var(--paper-2) 88%,transparent);backdrop-filter:blur(2px)}
@media (max-width:640px){.v-banner.has-scene{background-image:linear-gradient(color-mix(in srgb,var(--paper-2) 78%,transparent),color-mix(in srgb,var(--paper-2) 55%,transparent)),var(--scene)}}
.v-end .ico img.rival{display:block;width:100%;height:auto;max-height:170px;object-fit:contain;object-position:bottom;filter:drop-shadow(0 4px 3px rgba(0,0,0,.3))}
.v-end:has(img.rival){padding-bottom:20px}
@media (max-width:640px){.v-end .ico img.rival{max-height:96px}}
.v-end .ico img.scene-photo{display:block;width:100%;aspect-ratio:1.2;object-fit:cover;border-radius:14px;border:1.5px solid var(--ink)}
.ship.merry{width:100%;height:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 3px 2px rgba(0,0,0,.3))}
.logpose{width:34px;height:34px;border-radius:9px;object-fit:cover}
.tile-ico{width:34px;height:34px;object-fit:contain}
.fr-head{display:flex;justify-content:space-between;align-items:flex-end;gap:10px}
.fr-count{font-family:var(--font-display);font-weight:400;font-size:30px;color:var(--coral)}
.fr-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:16px}
.fr{margin:0;display:grid;justify-items:center;gap:6px;padding:12px 6px;border-radius:16px;border:1px dashed var(--line)}
.fr img{width:64px;height:64px;object-fit:contain;filter:brightness(0) opacity(.18)}
.fr.ok{border:1.5px solid var(--coral);background:var(--coral-soft)}
.fr.ok img{filter:drop-shadow(0 3px 3px rgba(0,0,0,.25))}
.fr figcaption{font-size:11px;font-weight:800;color:var(--ink-soft);text-align:center}
@media (prefers-reduced-motion:no-preference){.fr.ok img{animation:fr-float 2.6s ease-in-out infinite alternate}@keyframes fr-float{to{transform:translateY(-4px) rotate(4deg)}}}
@media (max-width:520px){.fr-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fr img{width:52px;height:52px}}
.chart-card{position:relative;overflow:hidden}.chart-card>*:not(.wm){position:relative;z-index:1}.chart-card .wm{top:-24px;bottom:auto;opacity:.09;width:160px}
.side-char{position:absolute;right:14px;bottom:0;height:120px;width:auto;z-index:1;pointer-events:none}
.action{padding-right:170px}
.action .wm{right:auto;left:-26px;bottom:auto;top:-28px;width:120px;opacity:.1}
.coach-card{min-height:120px}.coach-chopper{position:absolute;right:16px;top:10px;height:92px;width:auto;z-index:1}
.coach-card>h2,.coach-card>p:first-of-type{padding-right:100px}
.fb-mascot{height:110px;width:auto;justify-self:center;margin-bottom:-8px}
.today-card{position:relative;overflow:hidden;padding-right:150px}
.today-char{position:absolute;right:12px;bottom:-6px;height:132px;width:auto;z-index:1;pointer-events:none}
.week-summary .ws-char{position:absolute;right:14px;bottom:10px;height:120px;width:auto;z-index:1;pointer-events:none}
.week-summary .stats3,.week-summary .wk-progress{margin-right:130px}
.vma-band{position:relative;overflow:hidden;padding-left:140px}
.vma-jump{position:absolute;left:8px;bottom:-4px;height:130px;width:auto}
.rest-img{height:150px;width:auto;justify-self:center}
@media (max-width:720px){.action{padding-right:20px}.side-char{height:84px;opacity:.9;right:6px}.action h2,.action p{padding-right:70px}
.today-card{padding-right:20px}.today-char{height:84px;bottom:auto;top:8px;opacity:.95}.today-card h2,.today-card .eyebrow{padding-right:70px}
.week-summary .ws-char{height:78px;top:60px;bottom:auto}.week-summary .stats3,.week-summary .wk-progress{margin-right:0}.week-summary h1{padding-right:70px}
.vma-band{padding-left:110px}.vma-jump{height:100px}.coach-chopper{height:66px}}
.dl-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;position:relative;z-index:2}
.dl-btn{border:1.5px solid var(--ink);background:var(--paper);border-radius:999px;padding:8px 14px;font-weight:800;font-size:13px}
.dl-btn:hover{background:var(--sea-soft)}
.predict .pr-big{font-family:var(--font-display);font-size:clamp(30px,6vw,42px);color:var(--sea);margin-top:6px;line-height:1.1}
.predict .pr-big span{font-family:var(--font-body);font-size:16px;color:var(--ink-soft);font-weight:700}
.pr-scale{position:relative;height:56px;margin:14px 4px 4px}
.pr-scale::before{content:"";position:absolute;left:0;right:0;top:14px;height:10px;border-radius:99px;background:color-mix(in srgb,var(--ink) 9%,transparent)}
.pr-band{position:absolute;top:12px;height:14px;border-radius:99px;background:var(--sea)}
.pr-goal{position:absolute;top:4px;bottom:22px;width:3px;background:var(--coral);transform:translateX(-50%)}
.pr-goal span{position:absolute;left:6px;top:-6px;white-space:nowrap;font-size:11px;font-weight:900;color:var(--coral)}
.pr-ticks{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;font-size:11px;color:var(--ink-soft)}
.pr-ticks span:nth-child(2){position:absolute;left:33.3%;transform:translateX(-50%)}.pr-ticks span:nth-child(3){position:absolute;left:66.6%;transform:translateX(-50%)}
.pr-rows{display:grid;gap:8px;margin-top:12px}
.pr-rows div{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:baseline;border-top:1px solid var(--line);padding-top:8px}
.pr-rows b{font-size:18px;font-weight:900}.pr-rows span{font-size:13px;font-weight:700}.pr-rows small{grid-column:2;font-size:12px;color:var(--ink-soft)}
.wanted-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center}
.poster{box-sizing:border-box;overflow:hidden;width:190px;background:#efdfb8;color:#3b2a18;border:1px solid #b99a62;box-shadow:0 6px 14px rgba(60,40,10,.25),inset 0 0 30px rgba(120,80,20,.25);padding:12px 12px 10px;text-align:center;transform:rotate(-2deg);font-family:Georgia,"Times New Roman",serif}
.p-wanted{display:block;width:100%;height:auto;overflow:visible}.p-wanted text{font-family:Georgia,"Times New Roman",serif;font-size:40px;font-weight:900;fill:#3b2a18}
.p-photo{margin:8px auto 6px;width:150px;height:170px;border:3px solid #3b2a18;background:#fbf3df;display:grid;place-items:center;overflow:hidden}
.p-photo img{width:100%;height:100%;object-fit:cover}.p-photo img.p-hat{width:80%;height:auto;object-fit:contain}
.p-doa{font-size:13px;font-weight:900;letter-spacing:.06em}
.p-name{display:block;width:100%;height:auto;margin-top:2px;overflow:visible}.p-name text{font-family:Georgia,"Times New Roman",serif;font-size:26px;font-weight:900;letter-spacing:2px;fill:#3b2a18}
.p-prime{display:flex;align-items:center;justify-content:center;gap:5px;font-size:16px;font-weight:900;margin-top:2px;white-space:nowrap}
.p-prime img{width:20px;height:20px}
.p-marine{text-align:right;font-size:11px;font-weight:900;letter-spacing:.1em;margin-top:2px}
.w-acts{display:flex;gap:10px;align-items:center;margin-top:12px}
@media (max-width:560px){.wanted-card{grid-template-columns:1fr;justify-items:center;text-align:center}.w-acts{justify-content:center}}
.watch-btn{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line);background:var(--paper-2);font-size:19px;line-height:1;display:grid;place-items:center}
.watch-btn:hover{border-color:var(--sea);background:var(--sea-soft)}
.day-side{gap:8px}
.moved-badge{display:inline-block;margin-top:4px;border-radius:999px;background:var(--amber-soft);color:var(--amber);font-size:11px;font-weight:900;padding:2px 8px;text-transform:uppercase;letter-spacing:.04em}
.one-dl{display:grid;gap:6px}
.move-box{border:1px dashed var(--line);border-radius:16px;padding:14px;display:grid;gap:10px}
.move-acts{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.del-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}
.btn-text{border:0;background:none;color:var(--ink-soft);font-size:13px;font-weight:700;text-decoration:underline;padding:4px 0}
.btn-danger{background:var(--red);color:#fff}

/* Modal */
.overlay{position:fixed;inset:0;background:var(--overlay);z-index:50;display:grid;place-items:center;padding:16px}
.modal{background:var(--paper-2);color:var(--ink);border-radius:26px;width:100%;max-width:42rem;max-height:90vh;overflow-y:auto;padding:24px;position:relative;display:grid;gap:16px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.modal.narrow{max-width:36rem}
.modal .x{position:absolute;right:14px;top:14px;border:0;background:none;padding:6px;color:var(--ink-soft)}
.modal .x svg{width:20px;height:20px}
.modal .sub{font-size:13px;color:var(--ink-soft);padding-right:32px}
.modal h2{font-size:24px;font-weight:900;padding-right:32px}
.box{border-radius:16px;padding:14px;font-size:14px}
.box-muted{background:color-mix(in srgb,var(--ink) 6%,transparent)}
.box-orange{background:var(--amber-soft)}.box-red{background:var(--red-soft)}.box-green{background:var(--green-soft)}.box-yellow{background:var(--amber-soft)}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.steps li{display:flex;gap:12px}
.steps .n{width:28px;height:28px;border-radius:50%;background:var(--coral);color:#fff;display:grid;place-items:center;font-weight:900;font-size:13px;flex:none}
.row-kv{display:flex;justify-content:space-between;border:1px solid var(--line);border-radius:16px;padding:14px;font-size:14px}
.results{border:1px solid color-mix(in srgb,var(--green) 35%,transparent);background:var(--green-soft);border-radius:18px;padding:16px}
.results dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 0}
.results dl div{background:var(--paper-2);border-radius:12px;padding:10px}
.results dt{font-size:13px;color:var(--ink-soft)}.results dd{margin:2px 0 0;font-weight:800}
.btn{border:0;border-radius:14px;padding:12px 16px;font-weight:900;width:100%}
.btn-coral{background:var(--coral);color:#fff}
.btn-night{background:var(--night);color:var(--night-fg)}
.btn-ghost{background:none;border:1px solid var(--line)}
.btn:disabled{opacity:.5;cursor:not-allowed}
form{display:grid;gap:14px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
label.fl{font-size:14px;font-weight:800;display:block}
label.fl input:not([type=range]),label.fl textarea,label.fl select{display:block;margin-top:4px;width:100%;border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:10px 12px;font-weight:400}
label.fl textarea{min-height:80px}
.range-top{display:flex;justify-content:space-between}
.range-top b{color:var(--coral)}
input[type=range]{width:100%;accent-color:var(--coral);margin-top:6px}
.ex-grid{display:grid;gap:14px}@media (min-width:640px){.ex-grid{grid-template-columns:1fr 1fr}}
.ex{border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--paper)}
.ex h4{font-weight:900}
.ex .band{color:var(--coral);font-weight:700;font-size:13px;margin-top:2px}
.ex ol{margin:10px 0 0;padding-left:18px;font-size:13px;display:grid;gap:6px}
.ex .avoid{margin-top:10px;font-size:13px}
.section-title{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--coral)}
.test-steps{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:10px;font-size:14px}
.test-steps li{display:flex;gap:12px}.test-steps li>b:first-child{color:var(--coral)}
.result-night{background:var(--night);color:var(--night-fg);border-radius:18px;padding:18px}
.result-night .kv span{color:color-mix(in srgb,var(--night-fg) 65%,transparent)}
.err{color:var(--red);font-size:14px;font-weight:700}
.loading{font-size:13px;color:var(--ink-soft);text-align:center;padding:4px}

/* ===== Ambiance Grand Line : océan profond, cartes en parchemin (un seul look, clair ou sombre) ===== */
:root,:root:not([data-theme="light"]),:root[data-theme="dark"]{
  --paper:#f3e6c8; --paper-2:#fbf3e0; --ink:#2a1d12; --ink-soft:#6b5640; --line:#d9c49c;
  --coral:#e2552f; --coral-soft:#fde3d6; --sea:#1f6fb5; --sea-soft:#e2eef7; --land:#2f7a4f; --land-soft:#e6f2e2;
  --amber:#b8700a; --amber-soft:#fbecd0; --red:#c62d2d; --red-soft:#fbe3df; --green:#1f7a43; --green-soft:#e3f2e3;
  --night:#0f2c45; --night-fg:#fbf3e0; --grid:rgba(42,29,18,.05); color-scheme:light}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--paper:#f3e6c8;--paper-2:#fbf3e0;--ink:#2a1d12;--ink-soft:#6b5640;--line:#d9c49c;--coral:#e2552f;--coral-soft:#fde3d6;--sea:#1f6fb5;--sea-soft:#e2eef7;--land:#2f7a4f;--land-soft:#e6f2e2;--amber:#b8700a;--amber-soft:#fbecd0;--red:#c62d2d;--red-soft:#fbe3df;--green:#1f7a43;--green-soft:#e3f2e3;--night:#0f2c45;--night-fg:#fbf3e0;color-scheme:light}}
body{background-color:#0c3456;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='48' viewBox='0 0 140 48'%3E%3Cpath d='M0 24 q17.5 -12 35 0 t35 0 t35 0 t35 0' fill='none' stroke='%23ffffff' stroke-opacity='.07' stroke-width='2'/%3E%3C/svg%3E"),radial-gradient(ellipse at 50% -10%,#2a7bb3 0%,#0f4370 40%,#0a2a46 100%);background-size:140px 48px,100% 100%;background-attachment:fixed}
.site-header{border-bottom:3px solid #7a4b1e;box-shadow:0 4px 0 rgba(0,0,0,.18)}
.card,.voyage,.week-summary,.alert,.action,.tile,.rule,.night,.vma-band{box-shadow:0 6px 0 rgba(0,0,0,.18),0 10px 28px rgba(0,0,0,.25)}
.voyage,.week-summary{border:2px solid #7a4b1e}
.back-week{color:#ffd36b}
.loading{color:#d9e7f2}
.weeks .wk{background:var(--paper-2);border-color:#7a4b1e}
.weeks .wk[aria-pressed="true"]{background:var(--coral);border-color:var(--coral);color:#fff}
.today-card{background:var(--paper-2);border:2px solid var(--sea)}
/* jours : plus de photos, un liseré par type */
.day{background:var(--paper-2);border-left:6px solid var(--c);min-height:0;padding:12px 16px}
.day::before{display:none}
.day-main .bar{display:none}
.rest-line{margin:0;padding:10px 14px;border-radius:14px;background:rgba(251,243,224,.88);color:var(--ink-soft);font-size:14px;border:1px dashed #7a4b1e}
/* bannière illustrée */
.v-banner.has-art{position:relative;overflow:hidden;min-height:230px;padding:18px;background:#4aa3e8;border:2px solid #2a1d12;align-items:flex-start}
.v-art{position:absolute;inset:0}.v-art svg{width:100%;height:100%;display:block}
.v-txt,.v-banner.has-art .v-totals{position:relative;z-index:1}
.v-txt{background:rgba(251,243,224,.9);border-radius:14px;padding:10px 14px;border:1.5px solid #2a1d12}
.v-txt h2{margin-top:2px}
.v-banner.has-art .v-totals{background:rgba(251,243,224,.92);border:1.5px solid #2a1d12}
/* carte marine */
.map-wrap{margin:16px 0 10px;border-radius:16px;overflow:hidden;border:2px solid #2a1d12;box-shadow:inset 0 0 0 4px #f3e6c8}
.sea-map{display:block;width:100%;height:auto}
.checkpoints{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:8px}
.cp{display:grid;gap:4px;text-align:center;border-radius:12px;padding:6px;background:var(--paper);border:1.5px solid var(--line);min-width:0}
.cp-art{border-radius:8px;overflow:hidden;aspect-ratio:400/220;border:1.5px solid #2a1d12}
.cp-art svg{width:100%;height:100%;display:block}
.cp b{font-size:12px;line-height:1.2}.cp small{font-size:11px;color:var(--ink-soft)}
.cp.next .cp-art{filter:grayscale(1) brightness(1.1);opacity:.55}
.cp.now{border-color:var(--coral);background:var(--coral-soft)}.cp.now b{color:var(--coral)}
.cp.on small{color:var(--green);font-weight:700}
@media (max-width:560px){.checkpoints{grid-template-columns:repeat(2,minmax(0,1fr))}}
.chron{display:flex;gap:14px;align-items:center;margin-top:12px;background:var(--paper);border:1.5px solid var(--line);border-radius:14px;padding:12px 14px}
.chron>div{flex:1;min-width:0}.chron h3{font-size:20px;font-weight:900;margin-top:2px}
.chron .track{height:8px;border-radius:99px;background:color-mix(in srgb,var(--ink) 10%,transparent);overflow:hidden;margin-top:8px}.chron .track .fill{height:100%;background:var(--coral)}
.chron-rival{width:96px;height:96px;object-fit:contain;flex:none;filter:drop-shadow(0 3px 3px rgba(0,0,0,.3))}
.chron-flag{width:64px;height:64px;flex:none;display:grid;place-items:center;border-radius:50%;border:2px dashed var(--line);color:var(--ink-soft)}.chron-flag svg{width:28px;height:28px}
/* badges */
.medals{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px;margin-top:12px}
.medal{display:grid;justify-items:center;gap:3px;text-align:center}
.medal svg{width:74px;height:74px;display:block}
.medal b{font-size:12px;line-height:1.2}.medal span{font-size:11px;color:var(--ink-soft)}
.medal.on svg{filter:drop-shadow(0 3px 4px rgba(184,112,10,.45))}.medal.on span{color:var(--green);font-weight:800}
.medal:not(.on) b{color:var(--ink-soft)}

.boss{display:grid;justify-items:center;gap:2px;flex:none;width:110px}
.boss-flag{width:110px;height:110px;display:block}
@media (prefers-reduced-motion:no-preference){.boss-flag path:nth-of-type(2){transform-origin:25px 40px;animation:flagwave 2.4s ease-in-out infinite alternate}@keyframes flagwave{to{transform:skewY(-3deg) scaleX(.97)}}}
.boss small{font-size:11px;font-weight:800;color:var(--ink-soft);text-align:center;line-height:1.2}
.fbadges{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px;margin-top:12px}
.fbadge{display:grid;justify-items:center;gap:3px;text-align:center;padding:8px 4px;border-radius:14px;border:1px dashed var(--line)}
.fbadge svg{width:90px;height:90px;display:block;margin:-6px 0 -4px}
.fbadge b{font-size:12px;line-height:1.2}.fbadge span{font-size:11px;color:var(--ink-soft);line-height:1.25}
.fbadge.on{border:1.5px solid var(--coral);background:var(--coral-soft)}
.fbadge.on svg{filter:drop-shadow(0 4px 4px rgba(0,0,0,.25))}
.fbadge:not(.on) b{color:var(--ink-soft)}
@media (prefers-reduced-motion:no-preference){.fbadge.on svg{animation:fr-float 2.6s ease-in-out infinite alternate}}

/* journées : lignes fines façon livre de bord, détails au clic */
.days{gap:8px}
.dlog{background:linear-gradient(90deg,var(--paper-2),var(--paper-2) 70%,#f6e8c9);border:1.5px solid #c9ad7c;border-left:6px solid var(--c);border-radius:12px;box-shadow:0 3px 0 rgba(0,0,0,.18)}
.dlog>summary{list-style:none;display:grid;grid-template-columns:52px 34px minmax(0,1fr) auto auto 18px;gap:10px;align-items:center;padding:7px 10px;cursor:pointer}
.dlog>summary::-webkit-details-marker{display:none}
.dl-tag{display:grid;justify-items:center;line-height:1;padding:5px 0;border-radius:8px;background:#fffaf0;border:1.5px dashed #a07a48;transform:rotate(-2deg)}
.dl-tag b{font-family:var(--font-display);font-weight:400;font-size:17px;letter-spacing:.02em}
.dl-tag small{font-size:10px;color:var(--ink-soft);margin-top:2px}
.dl-ic{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--c);color:#fff;box-shadow:0 0 0 2px #fbf3e0,0 0 0 3.5px #7a4b1e}
.dl-ic svg{width:18px;height:18px}
.dl-txt{min-width:0;display:grid}
.dl-k{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft)}
.dl-k i{font-style:normal}.dl-k .t{color:var(--sea)}.dl-k .m{color:var(--amber)}
.dl-txt b{font-size:15px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dl-dur{font-size:13px;font-weight:700;color:var(--ink-soft);white-space:nowrap}
.log-btn.mini{width:36px;height:36px}.log-btn.mini img{width:34px;height:34px}
.dl-done{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff}.dl-done svg{width:16px;height:16px}
.dl-chev{color:var(--ink-soft);display:grid;transition:transform .2s}.dl-chev svg{width:18px;height:18px}
.dlog[open] .dl-chev{transform:rotate(90deg)}
.dlog.today{border-color:var(--sea);box-shadow:0 0 0 2px var(--sea),0 3px 0 rgba(0,0,0,.18)}
.dlog.is-done .dl-txt b{color:var(--ink-soft)}
.dl-body{padding:4px 14px 14px 14px;border-top:1px dashed #c9ad7c;margin:0 10px;display:grid;gap:8px}
.dl-res{margin:8px 0 0;font-size:13px;font-weight:700;color:var(--green);display:flex;gap:6px;align-items:center}.dl-res svg{width:15px;height:15px}
.dl-obj{margin:8px 0 0;font-size:14px}
.dl-steps{margin:0;padding-left:20px;display:grid;gap:4px;font-size:14px}
.dl-steps li::marker{color:var(--c);font-weight:900}
.dl-acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.dl-acts .btn{width:auto;padding:9px 14px}
@media (prefers-reduced-motion:no-preference){.dlog[open] .dl-body{animation:dlin .2s ease}@keyframes dlin{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}}
@media (max-width:560px){.dlog>summary{grid-template-columns:46px minmax(0,1fr) auto 16px;gap:8px}.dl-dur,.dl-ic{display:none}.dl-txt b{white-space:normal;font-size:14px}}

/* en-tête d'affiche */
.hero-wrap{max-width:72rem;margin:0 auto;padding:22px 16px 0}
.hero{position:relative;overflow:hidden;border-radius:22px;border:3px solid #2a1d12;box-shadow:0 6px 0 rgba(0,0,0,.25),0 14px 34px rgba(0,0,0,.3);min-height:300px;display:flex;align-items:flex-end}
.hero-art{position:absolute;inset:0}.hero-art svg{width:100%;height:100%;display:block}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,14,8,.72) 0%,rgba(20,14,8,.45) 42%,rgba(20,14,8,0) 70%),linear-gradient(0deg,rgba(20,14,8,.55),rgba(20,14,8,0) 55%)}
.hero-in{position:relative;z-index:1;padding:22px 24px;display:grid;gap:12px;color:#fbf3e0;max-width:620px}
.hero-top{display:flex;align-items:center;gap:14px}
.hero-flag{width:104px;height:84px;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(0,0,0,.5))}
.hero-k{margin:0;font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#ffd36b}
.hero h1{margin:2px 0 0;font-family:var(--font-display);font-weight:400;font-size:clamp(46px,9vw,84px);line-height:.9;letter-spacing:.02em;color:#fbf3e0;text-shadow:0 3px 0 #2a1d12,0 0 24px rgba(242,182,50,.45)}
.hero-chips{display:flex;flex-wrap:wrap;gap:8px}
.hero .chip{display:inline-flex;align-items:center;border:1.5px solid #fbf3e0;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:800;background:rgba(20,14,8,.35);color:#fbf3e0}
.hero .chip.c-main{background:var(--coral);border-color:var(--coral)}
.hero-motto{margin:0;font-size:14px;color:#f3e6c8;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.hero-motto b{color:#ffd36b}
@media (max-width:640px){.hero{min-height:340px}.hero-in{padding:18px 16px}.hero-flag{width:60px;height:60px}.hero::after{background:linear-gradient(0deg,rgba(20,14,8,.8) 0%,rgba(20,14,8,.4) 60%,rgba(20,14,8,.1) 100%)}}
main{padding-top:20px}

.site-header .brand{display:none}
.site-header .hwrap{justify-content:center;padding-block:6px}
@media (max-width:640px){.site-header .hwrap{padding-block:2px}}

.wknav{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:10px;margin-top:18px;background:var(--paper-2);border:2px solid #7a4b1e;border-radius:16px;padding:8px;box-shadow:0 4px 0 rgba(0,0,0,.18)}
.wk-arrow{width:52px;height:52px;border-radius:12px;border:1.5px solid #7a4b1e;background:#fffaf0;font-size:30px;font-weight:900;line-height:1;color:var(--ink);display:grid;place-items:center}
.wk-arrow:hover:not(:disabled){background:var(--coral);color:#fff;border-color:var(--coral)}
.wk-arrow:disabled{opacity:.3;cursor:default}
.wk-mid{display:grid;justify-items:center;text-align:center;gap:2px}
.wk-mid b{font-family:var(--font-display);font-weight:400;font-size:26px;line-height:1}
.wk-mid span{font-size:13px;color:var(--ink-soft);font-weight:700}
.wk-now{font-style:normal;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:var(--sea);border-radius:999px;padding:2px 8px}
.wk-back{border:0;background:none;padding:0;font-size:12px;font-weight:800;color:var(--coral);text-decoration:underline}

/* ===== mise en forme inspirée des sites de Léa et Manon ===== */
.plan-stack{gap:20px;max-width:760px;margin:0 auto}
.sec-card{display:grid;gap:14px;padding:22px;border:2px solid #7a4b1e;border-radius:18px;background:var(--paper-2)}
.sec-title{margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(28px,6vw,36px);text-transform:uppercase;letter-spacing:.02em;line-height:1;position:relative;padding-bottom:10px}
.sec-title::after{content:"";position:absolute;left:0;bottom:0;width:54px;height:4px;border-radius:2px;background:var(--coral)}
.sec-card .eyebrow{margin:0 0 -6px;color:var(--ink-soft);font-size:12px;letter-spacing:.1em}
.light{display:flex;gap:12px;align-items:flex-start;border-radius:12px;padding:12px 14px}
.light p{margin:0;font-size:14px;line-height:1.5}
.light .dot{flex:none;width:12px;height:12px;border-radius:50%;margin-top:4px}
.light.tone-green{background:var(--green-soft)}.light.tone-green .dot{background:var(--green);box-shadow:0 0 8px var(--green)}
.light.tone-orange{background:var(--amber-soft)}.light.tone-orange .dot{background:var(--amber);box-shadow:0 0 8px var(--amber)}
.light.tone-red{background:var(--red-soft)}.light.tone-red .dot{background:var(--red);box-shadow:0 0 8px var(--red)}
.map-wrap{position:relative;margin:0;border-radius:14px;overflow:hidden;border:2px solid #2a1d12}
.mapinfo{position:absolute;left:12px;top:10px;display:grid;gap:1px;background:rgba(251,243,224,.92);border:1.5px solid #2a1d12;border-radius:12px;padding:8px 12px}
.mapinfo b{font-family:var(--font-display);font-weight:400;font-size:clamp(24px,5vw,34px);line-height:1}
.mapinfo span{font-size:11px;font-weight:800;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em}
.mi.next{opacity:.5;filter:grayscale(.8)}
.mapstats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.mapstats div{background:var(--paper);border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;display:grid;gap:2px}
.mapstats b{font-family:var(--font-display);font-weight:400;font-size:clamp(22px,5vw,30px);line-height:1}
.mapstats b.acc{color:var(--coral)}
.mapstats span{font-size:12px;color:var(--ink-soft);font-weight:700}
.sec-card .chron{margin-top:0}
.sec-card .v-note{margin:0}
.wk-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.wk-nav{display:flex;gap:6px}
.wk-nav .wk-arrow{width:46px;height:46px;font-size:26px}
.wk-now{font-style:normal;font-size:10px;font-weight:900;color:#fff;background:var(--sea);border-radius:999px;padding:2px 7px;letter-spacing:.06em}
.wk-back{justify-self:start;border:0;background:none;padding:0;font-size:13px;font-weight:800;color:var(--coral);text-decoration:underline}
.wk-focus{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:20px}
.wk-focus>b{font-weight:900}
.sec-card .stats3{margin:0;padding-top:0;border-top:0}
.sec-card .wk-progress{margin:0}
.sec-card .dl-row{margin:0;display:grid;gap:4px;justify-items:start}
.rules{margin:0;font-size:13px;color:var(--ink-soft);line-height:1.5}
.sec-card .days{margin:0}
.sec-card .rest-line{background:var(--paper)}
/* onglets en segments */
.site-header .tabs{background:#2a1d12;border-radius:12px;padding:4px;gap:4px;width:min(100%,760px)}
.site-header .tab{flex:1;justify-content:center;border:0;border-radius:9px;color:#fbf3e0;padding:9px 12px;text-transform:uppercase;letter-spacing:.06em;font-size:13px}
.site-header .tab[aria-current="page"]{background:var(--coral);color:#fff}
.site-header .tab img{width:26px;height:20px}
@media (max-width:560px){.sec-card{padding:16px}.mapstats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.mapstats div{padding:8px}.mapinfo{padding:6px 10px}}

.hero-wrap{max-width:792px}
@media (max-width:560px){.mapinfo{position:static;border:0;border-bottom:2px solid #2a1d12;border-radius:0;background:var(--paper)}.map-wrap{display:flex;flex-direction:column-reverse}.hero .chip{font-size:11px;padding:3px 9px}.hero-chips{gap:6px}.hero{min-height:0}.hero-in{padding-top:120px}}

@media (max-width:560px){.boss{width:76px}.boss-flag{width:72px;height:72px}.sec-card .chron h3{font-size:17px}.mapstats b{font-size:20px}.wk-head .sec-title{font-size:28px}}

.coach-all{margin-top:12px;border-top:1px dashed var(--line);padding-top:10px}
.coach-all>summary,.cnote>summary{list-style:none;cursor:pointer}
.coach-all>summary::-webkit-details-marker,.cnote>summary::-webkit-details-marker{display:none}
.coach-all>summary{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;padding:6px 2px}
.coach-all[open]>summary .dl-chev,.cnote[open]>summary .dl-chev{transform:rotate(90deg)}
.coach-list{display:grid;gap:6px;margin-top:8px}
.cnote{border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.cnote>summary{display:grid;grid-template-columns:10px auto minmax(0,1fr) auto 18px;gap:10px;align-items:center;padding:8px 12px}
.cn-dot{width:10px;height:10px;border-radius:50%}.cn-dot.green{background:var(--green)}.cn-dot.orange{background:var(--amber)}.cn-dot.red{background:var(--red)}
.cn-t{display:grid;min-width:0}.cn-t b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cn-t small{font-size:12px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cn-m{font-size:12px;white-space:nowrap}
.cn-body{padding:4px 14px 14px}
.cnote .chip{margin:0}
@media (max-width:560px){.cn-m{display:none}.cnote>summary{grid-template-columns:10px minmax(0,1fr) 18px}.cnote .chip{display:none}}
.plan-stack .rule{margin:0}

/* ===== parchemin de carte au trésor ===== */
.card,.sec-card,.tile{
  background:
    radial-gradient(ellipse 80% 70% at 50% 45%,rgba(255,248,226,0) 55%,rgba(150,95,35,.30) 100%),
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%22-100%20-100%20200%20200%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%237a4b1e%22%20stroke-opacity%3D%22.16%22%20stroke-width%3D%222%22%3E%3Ccircle%20r%3D%2292%22/%3E%3Ccircle%20r%3D%2280%22%20stroke-dasharray%3D%223%205%22/%3E%3Ccircle%20r%3D%2230%22/%3E%3C/g%3E%3Cg%20fill%3D%22%237a4b1e%22%20fill-opacity%3D%22.13%22%3E%3Cpath%20d%3D%22M0%20-88%20L10%200%20L0%2088%20L-10%200Z%22/%3E%3Cpath%20d%3D%22M-88%200%20L0%20-10%20L88%200%20L0%2010Z%22/%3E%3Cpath%20d%3D%22M-50%20-50%20L6%20-6%20L50%2050%20L-6%206Z%22%20fill-opacity%3D%22.08%22/%3E%3Cpath%20d%3D%22M50%20-50%20L6%206%20L-50%2050%20L-6%20-6Z%22%20fill-opacity%3D%22.08%22/%3E%3C/g%3E%3Ctext%20y%3D%22-70%22%20text-anchor%3D%22middle%22%20font-family%3D%22Georgia%22%20font-weight%3D%22700%22%20font-size%3D%2218%22%20fill%3D%22%237a4b1e%22%20fill-opacity%3D%22.2%22%3EN%3C/text%3E%3C/svg%3E") no-repeat right -60px bottom -60px/260px 260px,
    repeating-linear-gradient(0deg,rgba(122,75,30,.07) 0 1px,transparent 1px 44px),
    repeating-linear-gradient(90deg,rgba(122,75,30,.07) 0 1px,transparent 1px 44px),
    linear-gradient(160deg,#f7e7c2 0%,#efd8a6 55%,#e8cb8e 100%)!important;
  border:3px solid #5a3a1e!important;
  box-shadow:inset 0 0 0 3px #f3dfb0,inset 0 0 0 5px rgba(122,75,30,.55),0 6px 0 rgba(0,0,0,.25),0 14px 30px rgba(0,0,0,.3)!important}
.tile{background-size:auto,140px 140px,auto,auto,auto!important}
.sec-title{color:#2a1d12;text-shadow:2px 2px 0 #f2b632,4px 4px 0 rgba(122,75,30,.35)}
.sec-title::after{width:100%;height:0;border-bottom:3px dashed #a0441c;background:none;bottom:-2px}
.sec-card .eyebrow{color:#8a5a2b}
/* lignes de séance : étiquettes de cale */
.dlog{background:linear-gradient(90deg,#fff6df 0%,#f8e8c4 100%)!important;border:1.5px solid #a07a48!important}
.dl-tag{background:#fff8e8}
.mapstats div{background:rgba(255,246,223,.75)!important;border-color:#a07a48!important}
.sec-card .chron{background:rgba(255,246,223,.75);border-color:#a07a48}
.light{border:1.5px solid rgba(42,29,18,.25)}
.rest-line{background:rgba(255,246,223,.7)!important}
.track{background:rgba(122,75,30,.18)!important}


.dlog>summary{grid-template-columns:52px 44px minmax(0,1fr) auto auto 18px}
.dl-ic svg{width:33px!important;height:33px!important}
/* médaillons façon pièce d'or / sceau */
.dl-ic{width:40px!important;height:40px!important;background:radial-gradient(circle at 35% 30%,#fffbe9,#f3dfae 70%)!important;border:3px solid var(--c);box-shadow:0 0 0 2px #fbf3e0,0 0 0 3.5px #7a4b1e,0 2px 3px rgba(0,0,0,.25)!important}
.dl-ic svg{width:30px!important;height:30px!important}
@media (max-width:560px){.dl-ic{display:grid!important;width:34px!important;height:34px!important}.dl-ic svg{width:24px!important;height:24px!important}.dlog>summary{grid-template-columns:46px 34px minmax(0,1fr) auto 16px!important}}

.poster{width:210px!important}
.p-photo{position:relative;width:172px!important;height:210px!important;background:radial-gradient(circle at 50% 40%,#fff7e3,#f1dfb6)!important}
.p-photo img.p-char{width:100%;height:100%;object-fit:contain;object-position:50% 70%;transform:scale(1.08);filter:sepia(.18) saturate(1.05) drop-shadow(0 3px 2px rgba(60,40,10,.3))}
.p-emblem{position:absolute;left:4px;bottom:4px;width:44px!important;height:auto!important;object-fit:contain!important;transform:rotate(12deg);opacity:.9;filter:sepia(.3)}

/* téléphone : toutes les illustrations restent visibles */
@media (max-width:640px){
  .night{padding-right:20px!important;padding-top:118px!important}
  .night-flag{display:block!important;position:absolute;right:10px;top:8px;bottom:auto;height:112px!important;width:auto}
  .vma-band{padding-left:20px!important;padding-top:104px!important;display:grid!important}
  .vma-jump{left:auto!important;right:10px;top:6px;bottom:auto!important;height:96px!important}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .tile{padding:14px!important}.tile .v{font-size:22px!important}
}

/* séances manquées / décalées */
.dlog.is-skip{opacity:.62;border-left-style:dashed}
.dlog.is-skip .dl-txt b{text-decoration:line-through;text-decoration-thickness:1.5px}
.dl-skip{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);border:1.5px dashed var(--ink-soft);border-radius:999px;padding:3px 8px;white-space:nowrap}
.dlog.is-late{border-color:#d08a1f}
.dl-k .l{color:#b8700a}
.dl-miss{margin:8px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;font-weight:700;background:var(--amber-soft);border-radius:10px;padding:8px 10px}
.dl-miss .btn{width:auto;padding:8px 12px}
.slots{display:grid;gap:10px}
.slot{border:1.5px solid var(--line);border-radius:14px;padding:12px;display:grid;gap:6px;background:var(--paper)}
.slot.best{border-color:var(--coral);background:var(--coral-soft)}
.slot-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.slot-rec{font-size:11px;font-weight:900;text-transform:uppercase;color:#fff;background:var(--coral);border-radius:999px;padding:2px 8px}
.slot .btn{justify-self:start}
.modal .btn+.btn{margin-top:-6px}

.tapis{border:1.5px solid #8fb7d9;background:#eaf3fb;border-radius:12px;padding:8px 12px}
.tapis>summary{cursor:pointer;font-weight:800;font-size:14px;color:#1f5f99;list-style:none}
.tapis>summary::-webkit-details-marker{display:none}
.tapis>summary::after{content:" ▸";}.tapis[open]>summary::after{content:" ▾"}
.tapis ol{margin:8px 0 6px;padding-left:20px;display:grid;gap:4px;font-size:14px}
.tapis p{margin:0}

.reperes{border:1.5px solid #d9c49c;background:rgba(255,248,230,.85);border-radius:12px;padding:10px 12px;display:grid;gap:8px}
.rp-t{margin:0;font-size:14px;font-weight:800;color:#8a5a2b;cursor:pointer;list-style:none}.rp-t::-webkit-details-marker{display:none}.rp-t::after{content:" ▸"}.reperes[open]>.rp-t::after{content:" ▾"}.reperes:not([open]){gap:0}
.rp{display:grid;grid-template-columns:minmax(120px,auto) 1fr;column-gap:12px;row-gap:1px;align-items:baseline;border-top:1px dashed #d9c49c;padding-top:6px}
.rp b{font-size:14px}.rp span{font-size:13px;font-weight:800;color:#1f5f99}
.rp small{grid-column:1/-1;font-size:12.5px;color:var(--ink-soft)}
.reperes p.small{margin:0}
.btn-tapis{background:#1f5f99;color:#fff;margin:4px 0 6px}
@media (max-width:560px){.rp{grid-template-columns:1fr}}

/* coach */
#coach{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60}
.coach-fab{display:flex;align-items:center;gap:8px;border:2px solid #2a1d12;background:var(--coral);color:#fff;font-weight:900;font-size:15px;border-radius:999px;padding:12px 18px;box-shadow:0 4px 0 #2a1d12,0 10px 24px rgba(0,0,0,.35)}
.coach-fab span{font-size:20px}
.coach-box{width:min(420px,calc(100vw - 32px));height:min(620px,calc(100vh - 110px));display:grid;grid-template-rows:auto 1fr auto auto;background:var(--paper-2);color:var(--ink);border:3px solid #5a3a1e;border-radius:18px;box-shadow:0 14px 40px rgba(0,0,0,.45);overflow:hidden}
.coach-box header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:12px 14px;background:#2a1d12;color:#fbf3e0}
.coach-box header b{font-family:var(--font-display);font-weight:400;font-size:22px;display:block}
.coach-box header small{font-size:12px;opacity:.8}
.coach-box .x{border:0;background:none;color:#fbf3e0;padding:4px}.coach-box .x svg{width:20px;height:20px}
.ch-acts{display:flex;gap:8px;align-items:center}.ch-acts .btn-text{color:#f3e6c8}
.coach-msgs{overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}
.cm{max-width:88%;padding:9px 12px;border-radius:14px;font-size:14px;line-height:1.45}
.cm.user{align-self:flex-end;background:var(--coral);color:#fff;border-bottom-right-radius:4px;white-space:pre-wrap}
.cm.assistant{align-self:flex-start;background:#fff8e6;border:1px solid var(--line);border-bottom-left-radius:4px}
.cm-n{font-weight:900;color:var(--coral)}
.cm-wait{color:var(--ink-soft);font-style:italic}
.cm-ch{margin-top:8px;padding-top:6px;border-top:1px dashed var(--line);font-size:12.5px;font-weight:700;color:var(--green)}
.cm-err{font-size:13px;color:var(--red);font-weight:700}
.cm-sugg{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 8px}
.cm-sugg button{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:6px 10px;font-size:12.5px;font-weight:700;text-align:left}
.coach-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px;border-top:1px solid var(--line)}
.coach-form textarea{resize:none;border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:#fff;font:inherit;font-size:14px}
.coach-form .btn{width:auto;padding:10px 14px}
.ai-note{border:1.5px solid #8fb7d9;background:#eaf3fb;border-radius:14px;padding:10px 12px;font-size:14px}
.ai-k{margin:0 0 4px;font-weight:900;color:#1f5f99;font-size:13px}
.ai-note p{margin:0}
.tapis .btn-tapis{display:block;margin:4px 0}
.modal .btn-inline{width:auto}

/* Carte du parcours (Strava) */
.route-map{height:220px;border-radius:14px;margin-top:10px;overflow:hidden;isolation:isolate}
.route-wrap{margin-top:12px}

/* ===== Refonte : en-tête compact, onglets du Carnet, détails One Piece, animations ===== */
:root{--wood:#5a3a1e;--wood-d:#2a1d12;--gold:#f2b632;--gold-d:#d9921a}
/* en-tête : une seule ligne, jamais de retour à la ligne dans les onglets */
.hwrap{padding:8px 12px}
.site-header .tab{white-space:nowrap;font-family:var(--font-display);font-weight:400;font-size:15px;letter-spacing:.05em;padding:8px 6px;gap:8px;min-width:0}
.site-header .tab[aria-current="page"]{background:linear-gradient(var(--gold),var(--gold-d));color:var(--wood-d);box-shadow:inset 0 -3px 0 rgba(0,0,0,.18)}
@media (max-width:380px){.site-header .tab{font-size:13px}.site-header .tab img{display:none}}

/* onglets du Carnet de bord : planche de bois */
.seg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;border-radius:16px;border:2px solid #7a4b1e;
  background:repeating-linear-gradient(90deg,rgba(0,0,0,.14) 0 2px,transparent 2px 9px),linear-gradient(#4a2f17,#2a1d12);box-shadow:0 5px 0 rgba(0,0,0,.28)}
.seg-b{border:0;border-radius:12px;background:transparent;color:#f3dfb0;font-family:var(--font-display);font-size:15px;letter-spacing:.04em;padding:10px 2px;min-width:0;white-space:nowrap;transition:transform .15s,background .2s}
.seg-b:active{transform:translateY(2px)}
.seg-b[aria-current="page"]{background:linear-gradient(var(--gold),var(--gold-d));color:var(--wood-d);box-shadow:inset 0 -3px 0 rgba(0,0,0,.18)}

/* boutons façon manga : contour épais, ombre dure, relief au toucher */
.btn{font-family:var(--font-display);font-weight:400;font-size:16px;letter-spacing:.03em;border:2px solid var(--wood-d);box-shadow:0 4px 0 var(--wood-d);transition:transform .12s,box-shadow .12s}
.btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--wood-d)}
.btn-text{font-family:var(--font-body)}

/* cartes : rivets dorés aux coins, titres plus affirmés */
.card,.sec-card{position:relative}
.card::before,.card::after,.sec-card::before,.sec-card::after{content:"";position:absolute;top:9px;width:9px;height:9px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#ffe9a8,#c98a1c 70%,#7a4b1e);box-shadow:0 1px 0 rgba(0,0,0,.35);pointer-events:none}
.card::before,.sec-card::before{left:10px}.card::after,.sec-card::after{right:10px}
.card>h2,.sec-card>h2{font-family:var(--font-display);font-weight:400!important;font-size:24px!important;letter-spacing:.02em;text-shadow:2px 2px 0 rgba(242,182,50,.7)}
.tiles .tile{overflow:hidden}
.tiles .tile .v{font-family:var(--font-display);font-weight:400}

/* illustrations qui ne passent jamais sur le texte */
.coach-card{overflow:hidden}
.coach-card>*:not(img){position:relative;z-index:1}
.coach-card .coach-chopper{position:absolute;right:6px;top:6px;width:64px;height:auto;z-index:0;opacity:.95}
.coach-card>h2{padding-right:72px}
.hero-in .eyebrow,.hero-in .kicker{text-shadow:0 2px 0 rgba(0,0,0,.55),0 0 10px rgba(0,0,0,.45)}

/* barre de l'import hors ligne : jamais sur le contenu */
main{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}

/* animations */
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.18)}100%{transform:scale(1);opacity:1}}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-3px) rotate(4deg)}}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes sheet{from{transform:translateY(40px) scale(.97);opacity:0}to{transform:none;opacity:1}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@keyframes tide{from{background-position:0 100%}to{background-position:140px 100%}}
#app.enter .stack>*,#app.enter .plan-stack>*{animation:rise .5s cubic-bezier(.2,.8,.2,1) both}
#app.enter .stack>*:nth-child(2),#app.enter .plan-stack>*:nth-child(2){animation-delay:.06s}
#app.enter .stack>*:nth-child(3),#app.enter .plan-stack>*:nth-child(3){animation-delay:.12s}
#app.enter .stack>*:nth-child(4),#app.enter .plan-stack>*:nth-child(4){animation-delay:.18s}
#app.enter .stack>*:nth-child(5),#app.enter .plan-stack>*:nth-child(5){animation-delay:.24s}
#app.enter .stack>*:nth-child(n+6),#app.enter .plan-stack>*:nth-child(n+6){animation-delay:.3s}
.bar-fill{transform-origin:left;animation:grow 1s .2s cubic-bezier(.2,.8,.2,1) both}
.dl-done{animation:pop .45s cubic-bezier(.3,1.5,.5,1) both}
.log-btn img,.dl-row .fruit,.tile-ico{animation:bob 3.2s ease-in-out infinite;transform-origin:50% 80%}
.hero .boss-flag,.night-flag{animation:sway 4s ease-in-out infinite;transform-origin:50% 100%}
.hero::before{content:"";position:absolute;left:0;right:0;bottom:0;height:26px;z-index:1;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='26' viewBox='0 0 140 26'%3E%3Cpath d='M0 14 q17.5 -12 35 0 t35 0 t35 0 t35 0 V26 H0z' fill='%23ffffff' fill-opacity='.16'/%3E%3C/svg%3E") repeat-x 0 100%;animation:tide 6s linear infinite}
.overlay{animation:fade .2s ease both}
.overlay>.modal{animation:sheet .35s cubic-bezier(.2,.9,.3,1.1) both}
.fb-mascot{animation:pop .6s cubic-bezier(.3,1.5,.5,1) both}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* poster du voyage : les étiquettes restent dans leurs cases (retour à la ligne) au lieu de se chevaucher */
.tl-lab{white-space:normal;line-height:1;max-height:100%;overflow:hidden;overflow-wrap:anywhere}
@media (max-width:640px){.tl-lab{font-size:8.5px;letter-spacing:0;left:3px}}

/* en-tête : le texte reste lisible sur l'illustration (dégradé plus marqué sur téléphone) */
@media (max-width:640px){.hero::after{background:linear-gradient(0deg,rgba(10,24,40,.9) 0%,rgba(10,24,40,.78) 52%,rgba(10,24,40,.25) 78%,rgba(10,24,40,0) 100%)}}

/* fiches (séance, saisie, test) : même parchemin que les cartes */
.modal{background:linear-gradient(160deg,#fbf3e0 0%,#f3e2b8 100%);border:3px solid #5a3a1e;box-shadow:inset 0 0 0 3px #f3dfb0,0 14px 44px rgba(0,0,0,.5)}
.modal>h2{font-family:var(--font-display);font-weight:400;font-size:28px;line-height:1.05;text-shadow:2px 2px 0 rgba(242,182,50,.7)}

/* ===== Grand Line · planche de manga : océan à rayons, cases noires épaisses, jaune chapeau de paille et rouge ===== */
:root{--op-ink:#15110d;--op-cream:#fff5d8;--op-yellow:#ffc928;--op-red:#e5262f;--op-sea:#1b86d9;--op-navy:#0a2a4c;--font-manga:"Bangers","Lilita One",Impact,sans-serif}
body{background:radial-gradient(120% 70% at 50% -8%,#2f93e8 0,#155a9c 38%,var(--op-navy) 78%) fixed!important}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:repeating-conic-gradient(from 0deg at 50% -6%,rgba(255,255,255,.08) 0 4deg,transparent 4deg 9deg)}

/* en-tête */
.site-header{background:var(--op-ink)!important;background-image:none!important;border-bottom:4px solid var(--op-yellow)!important;box-shadow:none!important}
.site-header .tabs{background:transparent}
.site-header .tab{color:#fff;font-family:var(--font-manga);font-size:17px;letter-spacing:.06em;border-radius:12px}
.site-header .tab[aria-current="page"]{background:var(--op-yellow);color:var(--op-ink);box-shadow:3px 3px 0 rgba(255,255,255,.25)}

/* bandeau d'accueil : titre jaune cerclé de noir, compte à rebours, Strava */
.hero{border:4px solid var(--op-ink);box-shadow:6px 6px 0 var(--op-ink);min-height:0;border-radius:22px}
.hero-in{max-width:none;padding:16px 16px 18px;gap:12px}
.hero-top{gap:12px}
.hero-flag{width:58px;height:58px}
.hero h1{font-family:var(--font-manga);font-size:clamp(48px,13vw,76px);line-height:.88;color:var(--op-yellow);-webkit-text-stroke:2.5px var(--op-ink);paint-order:stroke fill;text-shadow:4px 4px 0 var(--op-ink);letter-spacing:.03em}
.hero-cd{margin-left:auto;flex:none;display:grid;place-items:center;align-content:center;width:82px;height:82px;border-radius:50%;background:var(--op-red);border:3px solid var(--op-ink);box-shadow:3px 3px 0 var(--op-ink);transform:rotate(8deg);color:#fff;line-height:1;animation:wobble 4s ease-in-out infinite}
.hero-cd b{font-family:var(--font-manga);font-weight:400;font-size:28px;letter-spacing:.03em;text-shadow:2px 2px 0 var(--op-ink)}
.hero-cd small{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.hero .chip{background:var(--op-cream);color:var(--op-ink);border:2.5px solid var(--op-ink);box-shadow:2px 2px 0 var(--op-ink);font-weight:900}
.hero .chip.c-main{background:var(--op-yellow);border-color:var(--op-ink)}
.strava-pill{display:inline-flex;align-items:center;gap:7px;border:2.5px solid var(--op-ink);border-radius:999px;padding:4px 12px;font-weight:900;font-size:13px;background:#fc4c02;color:#fff;box-shadow:2px 2px 0 var(--op-ink)}
.strava-pill i{display:block;width:0;height:0;border:5px solid transparent;border-top:0;border-bottom:9px solid currentColor}
.strava-pill.off{background:#fff;color:#fc4c02}
.strava-pill.ready{animation:pulse 1.6s ease-in-out infinite}
.strava-pill:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--op-ink)}
@keyframes wobble{0%,100%{transform:rotate(8deg) scale(1)}50%{transform:rotate(3deg) scale(1.06)}}
@keyframes pulse{0%,100%{box-shadow:2px 2px 0 var(--op-ink),0 0 0 0 rgba(252,76,2,.55)}50%{box-shadow:2px 2px 0 var(--op-ink),0 0 0 7px rgba(252,76,2,0)}}
.hero::before{display:none}

/* cartes : cases de manga */
.card,.sec-card,.tile,.rule{background:var(--op-cream)!important;border:3px solid var(--op-ink)!important;border-radius:18px!important;box-shadow:6px 6px 0 var(--op-ink)!important}
.card::after,.sec-card::after{display:none}
.card::before,.sec-card::before{left:auto;right:0;top:0;width:96px;height:72px;border-radius:0 15px 0 0;background:radial-gradient(var(--op-ink) 1.3px,transparent 1.6px) 0 0/8px 8px;box-shadow:none;opacity:.16;-webkit-mask:linear-gradient(225deg,#000,transparent 72%);mask:linear-gradient(225deg,#000,transparent 72%)}
.sec-title,.card>h2,.sec-card>h2{font-family:var(--font-manga)!important;font-weight:400!important;font-size:30px!important;line-height:1.05;letter-spacing:.03em;text-transform:uppercase;color:var(--op-ink);text-shadow:none!important;background:linear-gradient(transparent 58%,var(--op-yellow) 58%);width:fit-content;padding:0 6px 0 2px}
.sec-title::after{display:none}
.eyebrow,.sec-card .eyebrow{color:var(--op-red)!important;font-weight:900}
.tile .v{font-family:var(--font-manga)!important;font-size:36px!important;letter-spacing:.03em;line-height:1}
.night,.vma-band,.voyage,.alert,.week-summary{border:3px solid var(--op-ink)!important;box-shadow:6px 6px 0 var(--op-ink)!important}
.light{background:#fff!important;border:2.5px solid var(--op-ink)!important;border-radius:12px;padding:8px 12px}
.rest-line{background:transparent!important;border:2.5px dashed var(--op-ink)!important;color:var(--op-ink)!important;font-weight:800}
.track{background:#fff!important;border:2.5px solid var(--op-ink);height:16px!important;border-radius:999px;overflow:hidden}
.track .fill,.bar-track .bar-fill{background:var(--op-red)}
.wk-arrow{background:var(--op-yellow)!important;color:var(--op-ink)!important;border:3px solid var(--op-ink)!important;border-radius:12px!important;box-shadow:2px 2px 0 var(--op-ink)}
.wk-arrow:active{transform:translate(2px,2px);box-shadow:none}
.wk-arrow:disabled{opacity:.35}

/* lignes de séance */
.dlog{background:#fff!important;border:3px solid var(--op-ink)!important;border-left:10px solid var(--c)!important;border-radius:14px!important;box-shadow:4px 4px 0 var(--op-ink)!important}
.dlog.today{box-shadow:0 0 0 3px var(--op-yellow),4px 4px 0 var(--op-ink)!important;border-color:var(--op-ink)!important}
.dl-tag{background:var(--op-yellow)!important;border:2.5px solid var(--op-ink)!important;border-radius:8px;transform:rotate(-3deg)}
.dl-tag b{font-family:var(--font-manga);font-weight:400;font-size:19px;color:var(--op-ink)}
.dl-tag small{color:var(--op-ink);font-weight:800}
.dl-ic{background:#fff!important;border:3px solid var(--op-ink)!important;box-shadow:2px 2px 0 var(--op-ink)!important}
.dl-txt b{font-weight:900}
.dl-done{background:#1f9d55!important;border:2.5px solid var(--op-ink);color:#fff}
.dl-body{border-top:2px dashed var(--op-ink)}

/* onglets du Carnet, boutons, fiches */
.seg{background:var(--op-ink)!important;border:3px solid var(--op-ink)!important;box-shadow:4px 4px 0 rgba(0,0,0,.45)!important}
.seg-b{font-family:var(--font-manga);font-size:17px;letter-spacing:.05em;color:#fff}
.seg-b[aria-current="page"]{background:var(--op-yellow)!important;color:var(--op-ink)!important;box-shadow:none}
.btn-coral{background:var(--op-red)!important;color:#fff!important}
.btn-night{background:var(--op-ink)!important;color:var(--op-yellow)!important}
.btn-ghost{background:#fff!important;color:var(--op-ink)!important}
.overlay{padding:max(14px,env(safe-area-inset-top)) 12px 12px}
.modal{background:var(--op-cream)!important;border:4px solid var(--op-ink)!important;box-shadow:8px 8px 0 var(--op-ink)!important;border-radius:22px!important}
.modal>h2{font-family:var(--font-manga)!important;font-size:34px!important;text-shadow:none!important;background:linear-gradient(transparent 58%,var(--op-yellow) 58%);width:fit-content;max-width:calc(100% - 44px);padding:0 6px 0 2px;letter-spacing:.03em;text-transform:uppercase}
.modal .x{position:sticky;top:-6px;margin:-6px -6px -46px auto;width:42px;height:42px;display:grid;place-items:center;z-index:8;background:var(--op-ink);color:var(--op-yellow);border-radius:50%;padding:0;justify-self:end}
.modal .x svg{width:20px;height:20px}

/* formulaires : champs côte à côte sans se chevaucher (iPhone) */
.f2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}
label.fl{min-width:0}
label.fl input:not([type=range]),label.fl textarea,label.fl select{min-width:0;max-width:100%;min-height:46px;border:2.5px solid var(--op-ink);border-radius:12px;background:#fff;-webkit-appearance:none;appearance:none;text-align:left}
label.fl input[type=date]{display:block;line-height:1.2}
input[type=range]{accent-color:var(--op-red)}

/* ===== Design « Marine » : sobre et net — fond clair, bleu nuit, or, ombres douces, aucun contour épais ===== */
:root{--n:#0e2238;--n2:#16385a;--gold:#f2b632;--coral:#ef5b45;--bg:#f3f5f8;--card:#fff;--ln:rgba(14,34,56,.08);--mut:#5d6b7c;--font-d:"Outfit","Nunito Sans",system-ui,sans-serif;--sh:0 1px 2px rgba(14,34,56,.05),0 10px 28px -10px rgba(14,34,56,.18)}
body{background:var(--bg)!important;color:var(--n);font-family:"Nunito Sans",system-ui,sans-serif}
body::before{display:none!important}
h1,h2,h3,.sec-title{font-family:var(--font-d)}

/* en-tête */
.site-header{background:rgba(255,255,255,.86)!important;-webkit-backdrop-filter:saturate(1.6) blur(16px);backdrop-filter:saturate(1.6) blur(16px);border-bottom:1px solid var(--ln)!important}
.site-header .tabs{background:#e8ecf2;border-radius:14px;padding:3px;gap:2px}
.site-header .tab{font-family:var(--font-d);font-weight:600;font-size:14px;letter-spacing:0;color:var(--mut);background:transparent;border-radius:11px;box-shadow:none}
.site-header .tab[aria-current="page"]{background:#fff;color:var(--n);box-shadow:0 1px 3px rgba(14,34,56,.18)}
.site-header .tab img,.site-header .tab svg{width:18px;height:18px}

/* bandeau */
.hero{border:0!important;border-radius:26px!important;box-shadow:0 18px 40px -16px rgba(14,34,56,.55)!important;overflow:hidden;background-color:var(--n)}
.hero::after{background:linear-gradient(180deg,rgba(14,34,56,.15) 0%,rgba(14,34,56,.55) 45%,rgba(14,34,56,.94) 100%)!important}
.hero-in{padding:20px 18px 18px;gap:14px}
.hero-flag{display:none}
.hero h1{font-family:var(--font-d);font-weight:800;font-size:clamp(34px,10vw,52px);line-height:.98;letter-spacing:-.02em;color:#fff;-webkit-text-stroke:0;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hero .chip{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.28);box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-weight:700;font-size:12px}
.hero .chip.c-main{background:var(--gold);color:var(--n);border-color:var(--gold)}
.hero-cd{width:auto;height:auto;border-radius:18px;padding:10px 14px;background:var(--gold);color:var(--n);border:0;box-shadow:0 8px 20px -6px rgba(242,182,50,.7);transform:none;animation:none}
.hero-cd b{font-family:var(--font-d);font-weight:800;font-size:30px;text-shadow:none;letter-spacing:-.02em}
.hero-cd small{font-size:10px;font-weight:800;opacity:.75}
.strava-pill{border:0;box-shadow:none;background:#fc4c02;color:#fff;padding:6px 13px;font-weight:800;font-size:12.5px}
.strava-pill.off{background:rgba(255,255,255,.95);color:#fc4c02}
.strava-pill:active{transform:scale(.97);box-shadow:none}

/* cartes */
.card,.sec-card,.tile,.rule{background:var(--card)!important;border:1px solid var(--ln)!important;border-radius:22px!important;box-shadow:var(--sh)!important}
.card::before,.sec-card::before,.card::after,.sec-card::after{display:none!important}
.sec-title,.card>h2,.sec-card>h2{font-family:var(--font-d)!important;font-weight:800!important;font-size:22px!important;letter-spacing:-.015em;text-transform:none;color:var(--n);background:none!important;padding:0;width:auto}
.eyebrow,.sec-card .eyebrow{color:var(--coral)!important;font-weight:800;font-size:11px;letter-spacing:.09em;text-transform:uppercase}
.tile .v{font-family:var(--font-d)!important;font-weight:800;font-size:32px!important;letter-spacing:-.02em;color:var(--n)}
.tile .k,.tile small{color:var(--mut)}
.night,.vma-band,.voyage,.alert,.week-summary{border:0!important;border-radius:22px!important;box-shadow:var(--sh)!important}
.night{background:linear-gradient(150deg,var(--n2),var(--n))!important;color:#fff}
.light{background:#f3f5f8!important;border:0!important;border-radius:14px;color:var(--n)}
.rest-line{border:1.5px dashed rgba(14,34,56,.2)!important;color:var(--mut)!important;font-weight:700}
.track{background:#e6eaf0!important;border:0;height:10px!important;border-radius:999px}
.track .fill,.bar-track .bar-fill{background:linear-gradient(90deg,var(--gold),var(--coral))}
.wk-arrow{background:#fff!important;color:var(--n)!important;border:1px solid var(--ln)!important;border-radius:14px!important;box-shadow:var(--sh)}
.wk-arrow:active{transform:scale(.95)}

/* séances */
.dlog{background:#fff!important;border:1px solid var(--ln)!important;border-left:5px solid var(--c)!important;border-radius:18px!important;box-shadow:var(--sh)!important}
.dlog.today{border-color:var(--ln)!important;border-left-color:var(--c)!important;box-shadow:0 0 0 2px var(--gold),var(--sh)!important}
.dl-tag{background:#f3f5f8!important;border:0!important;border-radius:10px;transform:none}
.dl-tag b{font-family:var(--font-d);font-weight:800;font-size:17px;color:var(--n)}
.dl-tag small{color:var(--mut);font-weight:700}
.dl-ic{background:#f3f5f8!important;border:0!important;box-shadow:none!important}
.dl-body{border-top:1px solid var(--ln)}
.dl-done{border:0;background:#16a34a!important;color:#fff}

/* navigation interne, boutons */
.seg{background:#e8ecf2!important;border:0!important;box-shadow:none!important;border-radius:16px!important;padding:3px}
.seg-b{font-family:var(--font-d);font-weight:600;font-size:14px;letter-spacing:0;color:var(--mut)}
.seg-b[aria-current="page"]{background:#fff!important;color:var(--n)!important;box-shadow:0 1px 3px rgba(14,34,56,.18)!important;border-radius:13px}
.btn,button.btn,.btn-coral,.btn-night,.btn-ghost{font-family:var(--font-d)!important;font-weight:700!important;letter-spacing:0!important;border-radius:14px!important;box-shadow:none!important;border:0!important;min-height:48px;text-shadow:none!important}
.btn-coral{background:var(--coral)!important;color:#fff!important}
.btn-night{background:var(--n)!important;color:#fff!important}
.btn-ghost{background:#eef1f5!important;color:var(--n)!important}
.btn:active{transform:scale(.98)}

/* fenêtres et formulaires */
.overlay{background:rgba(14,34,56,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.modal{background:#fff!important;border:0!important;border-radius:26px!important;box-shadow:0 30px 70px -20px rgba(0,0,0,.5)!important}
.modal>h2{font-family:var(--font-d)!important;font-weight:800;font-size:26px!important;letter-spacing:-.02em;text-transform:none;background:none;padding:0;color:var(--n)}
.modal .x{background:#eef1f5;color:var(--n)}
label.fl input:not([type=range]),label.fl textarea,label.fl select{border:1.5px solid #dfe5ec;border-radius:13px;background:#f8fafc;font-size:16px}
label.fl input:focus,label.fl textarea:focus{outline:0;border-color:var(--n2);background:#fff;box-shadow:0 0 0 4px rgba(22,56,90,.1)}
input[type=range]{accent-color:var(--coral)}
body .card,body .sec-card,body .tile,body .adapt-card,body .rule{border:1px solid var(--ln)!important;background:#fff!important}
body .btn-coral{background:var(--coral)!important}
.adapt-card .adapt-item,.adapt-card>div{border-radius:16px}

.chron-flag,.reperes,.rp{border-color:var(--ln)!important}
.reperes{background:#f8fafc!important;border-radius:16px}
.voyage,.voyage *{--ln:rgba(14,34,56,.08)}
body{--paper:#f3f5f8;--paper-2:#fff;--ink:#0e2238;--ink-soft:#5d6b7c;--line:rgba(14,34,56,.1);--coral:#ef5b45;--coral-soft:#fde8e3;color-scheme:light}
.map-wrap{border:0!important;border-radius:18px!important;box-shadow:0 6px 18px -8px rgba(14,34,56,.4)}
.mapstats div,.chron{border:0!important;background:#f3f5f8!important;border-radius:16px!important}
.mapstats b{font-family:var(--font-d)!important;font-weight:800!important;letter-spacing:-.02em}
.chron h3{font-family:var(--font-d)}

/* sections repliables */
details.fold>summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:center;column-gap:10px;cursor:pointer;-webkit-tap-highlight-color:transparent;min-height:44px}
details.fold>summary::-webkit-details-marker{display:none}
details.fold>summary>*:not(.fold-chev){grid-column:1;min-width:0;margin:0}
details.fold>summary .wk-head{display:block}
details.fold>summary .eyebrow{display:block;margin:0 0 2px}
.fold-chev{grid-column:2;grid-row:1/span 4;width:36px;height:36px;border-radius:50%;background:#eef1f5;color:var(--n);display:grid;place-items:center;transition:transform .25s,background .2s}
.fold-chev svg{width:18px;height:18px}
details.fold[open]>summary .fold-chev{transform:rotate(90deg);background:var(--gold)}
.fold-body{display:grid;gap:12px;padding-top:14px;min-width:0}
.fold-body>*{min-width:0;margin:0}
.fold-body .wk-nav{display:flex;gap:8px}
.tl.card,section.tl{background:#fff;border-radius:22px;box-shadow:var(--sh);padding:18px;border:1px solid var(--ln)}
/* moins de texte */
.v-note,.sec-card>.small.muted:first-of-type{display:none}
.strava-card .code-in{width:100%;min-height:48px;padding:0 14px;border:1.5px solid #dfe5ec;border-radius:13px;background:#f8fafc;font:inherit;font-size:16px}
.strava-card .fold-body{gap:10px}
.strava-card .small.muted:empty{display:none}
.stack{gap:14px}

/* ===== Design « Cinéma » : nuit sur la Grand Line — fond sombre, lueurs or, verre dépoli, titres Anton ===== */
body{--paper:#101e36;--paper-2:#15264a;--ink:#eef3fb;--ink-soft:#9db0cb;--line:rgba(255,255,255,.12);--ln:rgba(255,255,255,.12);--gold:#ffc93c;--gold2:#ff9a1f;--coral:#ff5a47;--n:#eef3fb;--mut:#9db0cb;--font-d:"Anton","Outfit",Impact,sans-serif;--sh:0 14px 40px -18px rgba(0,0,0,.8);color:var(--ink);color-scheme:dark}
html{background:#050b16}
body{background:radial-gradient(90% 40% at 85% -4%,rgba(255,154,31,.22),transparent 60%),radial-gradient(120% 60% at 0% 12%,rgba(42,120,220,.28),transparent 62%),linear-gradient(180deg,#0a1a33 0,#060d1b 55%,#040810 100%) fixed!important;color:var(--ink)}
body::before{display:block!important;content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(1.2px 1.2px at 12% 18%,#fff8 50%,transparent 51%),radial-gradient(1px 1px at 72% 9%,#fff7 50%,transparent 51%),radial-gradient(1.4px 1.4px at 40% 33%,#fff6 50%,transparent 51%),radial-gradient(1px 1px at 90% 44%,#fff6 50%,transparent 51%),radial-gradient(1.2px 1.2px at 22% 70%,#fff5 50%,transparent 51%);background-repeat:no-repeat;opacity:.9}

/* en-tête */
.site-header{background:rgba(6,13,27,.72)!important;border-bottom:1px solid rgba(255,201,60,.2)!important}
.site-header .tabs{background:rgba(255,255,255,.07)}
.site-header .tab{color:#aebdd4;font-family:var(--font-d);font-weight:400;font-size:14px;letter-spacing:.07em;text-transform:uppercase}
.site-header .tab[aria-current="page"]{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#1b1204;box-shadow:0 6px 18px -6px rgba(255,154,31,.7)}

/* bandeau */
.hero{min-height:290px;border-radius:28px!important;box-shadow:0 24px 60px -20px rgba(0,0,0,.9),0 0 0 1px rgba(255,201,60,.25)!important}
.hero::after{background:linear-gradient(180deg,rgba(5,11,22,.05) 0%,rgba(5,11,22,.35) 40%,rgba(5,11,22,.96) 100%)!important}
.hero-in{min-height:290px;justify-content:flex-end;padding:20px 18px 18px}
.hero h1{font-family:var(--font-d);font-weight:400;font-size:clamp(46px,14vw,66px);line-height:.92;letter-spacing:.015em;text-transform:uppercase;background:linear-gradient(180deg,#fff2c2 0%,var(--gold) 45%,var(--gold2) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 4px 14px rgba(0,0,0,.65))}
.hero-top{align-items:flex-end}
.hero-cd{background:rgba(5,11,22,.55);color:#fff;border:1px solid rgba(255,201,60,.6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 0 28px -4px rgba(255,154,31,.55)}
.hero-cd b{font-family:var(--font-d);font-weight:400;font-size:32px;color:var(--gold);letter-spacing:.02em}
.hero-cd small{color:#fff;opacity:.8}
.hero .chip{background:rgba(5,11,22,.5);color:#fff;border-color:rgba(255,255,255,.25)}
.hero .chip.c-main{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#1b1204;border:0}

/* cartes : verre dépoli, fine bordure or */
body .card,body .sec-card,body .tile,body .adapt-card,body .rule,section.tl{background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.03))!important;border:1px solid rgba(255,201,60,.16)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--sh)!important;color:var(--ink)}
.sec-title,.card>h2,.sec-card>h2,details.fold>summary h2,.adapt-h{font-family:var(--font-d)!important;font-weight:400!important;font-size:25px!important;letter-spacing:.045em;text-transform:uppercase;color:#fff!important}
.eyebrow,.sec-card .eyebrow{color:var(--gold)!important}
.tile .v,.mapstats b,.hm-big,.pr-big{font-family:var(--font-d)!important;font-weight:400!important;letter-spacing:.03em;color:#fff}
.muted,.small.muted,.tile .k,.tile small,.mapstats span{color:var(--ink-soft)!important}
.fold-chev{background:rgba(255,255,255,.1);color:#fff}
details.fold[open]>summary .fold-chev{background:var(--gold);color:#1b1204}
/* icône de section */
details.fold>summary{grid-template-columns:48px minmax(0,1fr) 36px;min-height:52px}
details.fold>summary::before{content:"";grid-column:1;grid-row:1/span 4;width:44px;height:44px;border-radius:14px;background:rgba(255,201,60,.12) center/72% no-repeat;border:1px solid rgba(255,201,60,.3)}
details.fold>summary>*:not(.fold-chev){grid-column:2}
details.fold>summary .fold-chev{grid-column:3}
details.fold[data-fold="Aujourd’hui"]>summary::before{background-image:url(../assets/img/1439e27019.webp)}
details.fold[data-fold="semaine"]>summary::before{background-image:url(../assets/img/ce8d13c0c7.webp)}
details.fold[data-fold="Aujourd’hui"]>summary::before,details.fold[data-fold="semaine"]>summary::before{background-size:70%}
details.fold[data-fold="Le voyage"]>summary::before,details.fold[data-fold="Voyage"]>summary::before{background-image:url(../assets/img/071ec1abbe.webp)}
details.fold[data-fold="Ajustements proposés"]>summary::before{background-image:url(../assets/img/77ded227f7.webp)}
details.fold[data-fold="Strava"]>summary::before{background:#fc4c02 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M15.4 17.2 12 10.6l-3.4 6.6H4.7L12 3l7.3 14.2zM17.9 21l-2.5-4.9H11l-1.9 3.7L12 21z'/%3E%3C/svg%3E") center/58% no-repeat;border-color:transparent}

/* séances */
body .dlog{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.1)!important;border-left:5px solid var(--c)!important;color:var(--ink)}
body .dlog.today{box-shadow:0 0 0 1px var(--gold),0 0 26px -6px rgba(255,201,60,.55)!important}
.dl-tag,.dl-ic{background:rgba(255,255,255,.1)!important}
.dl-tag b{color:#fff;font-family:var(--font-d);font-weight:400;letter-spacing:.04em}
.dl-tag small,.dl-k,.dl-dur{color:var(--ink-soft)}
.dl-txt b,.dl-res,.dl-obj,.dl-steps{color:#fff}
.dl-ic svg,.dl-ic img{filter:drop-shadow(0 0 6px rgba(255,201,60,.4))}
.dl-body{border-top:1px solid rgba(255,255,255,.12)}
body .light{background:rgba(255,255,255,.07)!important;color:#fff}
.rest-line{color:var(--ink-soft)!important;border-color:rgba(255,255,255,.18)!important}
.track{background:rgba(255,255,255,.12)!important}
.reperes,.rp{background:rgba(255,255,255,.06)!important;color:#fff;border-color:rgba(255,255,255,.14)!important}
.reperes summary,.rp *{color:inherit}
.chron,.mapstats div{background:rgba(255,255,255,.07)!important;color:#fff}
.chron h3{color:#fff}
.wk-arrow{background:rgba(255,255,255,.1)!important;color:#fff!important;border-color:rgba(255,255,255,.18)!important}
.seg{background:rgba(255,255,255,.08)!important}
.seg-b{color:#aebdd4;font-family:var(--font-d);font-weight:400;letter-spacing:.05em;text-transform:uppercase}
.seg-b[aria-current="page"]{background:linear-gradient(135deg,var(--gold),var(--gold2))!important;color:#1b1204!important}

/* boutons */
body .btn-coral{background:linear-gradient(135deg,var(--coral),#ff8a3d)!important;color:#fff!important;box-shadow:0 10px 24px -10px rgba(255,90,71,.8)!important}
body .btn-night{background:linear-gradient(135deg,var(--gold),var(--gold2))!important;color:#1b1204!important;box-shadow:0 10px 24px -10px rgba(255,154,31,.8)!important}
body .btn-ghost{background:rgba(255,255,255,.1)!important;color:#fff!important}
.btn-text{color:var(--gold)}
.strava-card .code-in{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}
.strava-card .code-in::placeholder{color:var(--ink-soft)}

/* fenêtres : feuille claire sur fond sombre */
.modal{--paper:#f3f5f8;--paper-2:#fff;--ink:#0e2238;--ink-soft:#5d6b7c;--line:rgba(14,34,56,.1);--n:#0e2238;--mut:#5d6b7c;--ln:rgba(14,34,56,.1);background:#fbfaf6!important;color:#0e2238}
.modal .muted,.modal .small.muted{color:#5d6b7c!important}
.modal>h2{font-family:var(--font-d)!important;font-weight:400;font-size:30px!important;letter-spacing:.04em;text-transform:uppercase;color:#0e2238}
.modal .btn-night{background:#0e2238!important;color:#fff!important;box-shadow:none!important}
.modal .btn-ghost{background:#eef1f5!important;color:#0e2238!important}
.modal .eyebrow,.modal .sub{color:#d9481f!important}
.overlay{background:rgba(2,6,14,.72)}
.dl-ic{color:#ffd77a}
.dl-ic svg{stroke:currentColor}
body .card.night,body .night{background:linear-gradient(150deg,#17406b,#0a1a33)!important;border:1px solid rgba(255,201,60,.25)!important}
.night :is(h2,h3,.big,b){font-family:var(--font-d)!important;font-weight:400!important;letter-spacing:.03em}
details.fold[data-fold="Chronologie du voyage"]>summary::before{background-image:url(../assets/img/7a1bd9f78b.webp);background-size:80%}
details.fold>summary .tl-logo,details.fold>summary .tl-key,details.fold>summary .by{display:none}
details.fold>summary .tl-head,details.fold>summary .tl-title{display:block;padding:0;margin:0}
details.fold>summary .tl-title h2{margin:0}
.tl-saga,.tl-saga.start{background:transparent!important;color:var(--gold)!important;border:0!important;font-weight:800}
.tl-wk{color:#fff}.tl-wk small{color:var(--ink-soft)}
.tl-foot{color:var(--ink-soft)}
details.fold>summary::before{background-image:url(../assets/img/1886ca5933.webp)}
details.fold[data-fold^="Notes du coach"]>summary::before,details.fold[data-fold*="oach"]>summary::before{background-image:url(../assets/img/c6c91c3fb3.webp)}
.coach-card .wm,.coach-card .coach-chopper{display:none}
.coach-card h2{display:block!important}
.modal{color-scheme:light}
body .btn,body button.btn{font-family:"Outfit",system-ui,sans-serif!important;font-weight:800!important;letter-spacing:.01em!important}

/* ===== Grand Line : mer, soleil couchant, vagues, bois de navire ===== */
html{background:#0a1d3d}
body{background:
 radial-gradient(70% 38% at 50% 34%,rgba(255,170,60,.38),transparent 70%),
 linear-gradient(180deg,#0c1b45 0,#1b3f82 26%,#f08a3c 40%,#2a6cae 41%,#0f3a72 62%,#07203f 100%) fixed!important}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:1;
 background:
 repeating-conic-gradient(from 0deg at 50% 36%,rgba(255,225,150,.07) 0 3deg,transparent 3deg 8deg),
 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 60'%3E%3Cpath d='M0 30 Q25 10 50 30 T100 30 T150 30 T200 30 T250 30 T300 30 T350 30 T400 30' fill='none' stroke='rgba(255,255,255,.16)' stroke-width='3'/%3E%3Cpath d='M0 48 Q25 32 50 48 T100 48 T150 48 T200 48 T250 48 T300 48 T350 48 T400 48' fill='none' stroke='rgba(255,255,255,.09)' stroke-width='2'/%3E%3C/svg%3E") 0 44%/260px 40px repeat-x,
 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 60'%3E%3Cpath d='M0 30 Q25 10 50 30 T100 30 T150 30 T200 30 T250 30 T300 30 T350 30 T400 30' fill='none' stroke='rgba(255,255,255,.12)' stroke-width='3'/%3E%3C/svg%3E") 0 66%/360px 54px repeat-x,
 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 60'%3E%3Cpath d='M0 30 Q25 10 50 30 T100 30 T150 30 T200 30 T250 30 T300 30 T350 30 T400 30' fill='none' stroke='rgba(255,255,255,.1)' stroke-width='3'/%3E%3C/svg%3E") 0 86%/460px 70px repeat-x;
 animation:sea 14s linear infinite}
@keyframes sea{to{background-position:0 0,260px 44%,-360px 66%,460px 86%}}
@media (prefers-reduced-motion:reduce){body::before{animation:none}}

/* barre du haut : planche de navire, corde et onglets-étiquettes */
.site-header{background:
 repeating-linear-gradient(90deg,rgba(0,0,0,.18) 0 2px,transparent 2px 46px),
 repeating-linear-gradient(180deg,rgba(255,255,255,.05) 0 1px,transparent 1px 5px),
 linear-gradient(180deg,#8a5428,#5c3416 60%,#43240e)!important;
 border-bottom:3px solid #2a150a!important;box-shadow:0 3px 0 var(--gold),0 10px 24px -8px rgba(0,0,0,.7)!important;-webkit-backdrop-filter:none;backdrop-filter:none}
.site-header .tabs{background:rgba(0,0,0,.28);border:2px dashed rgba(255,214,140,.35);border-radius:16px;padding:4px;gap:6px}
.site-header .tab{background:rgba(0,0,0,.22);color:#f0d9b0;border-radius:11px;font-size:15px;letter-spacing:.09em;text-shadow:0 1px 0 rgba(0,0,0,.5)}
.site-header .tab[aria-current="page"]{background:linear-gradient(180deg,#fff0c4,#f0cf84);color:#3a1f0b;text-shadow:none;box-shadow:inset 0 0 0 2px #7a4a1d,0 4px 0 #2a150a,0 8px 14px -4px rgba(0,0,0,.6);transform:translateY(-1px)}
.site-header .tab img{filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}

/* onglets internes du carnet : même bois */
body .seg{background:linear-gradient(180deg,#6b3f1d,#43240e)!important;border:2px solid #2a150a!important;box-shadow:0 4px 0 #2a150a!important}
.seg-b{color:#f0d9b0}
body .seg-b[aria-current="page"]{background:linear-gradient(180deg,#fff0c4,#f0cf84)!important;color:#3a1f0b!important;box-shadow:inset 0 0 0 2px #7a4a1d!important}

/* cartes : bandeau de bois fin + rivets, comme un panneau de pont */
body .card,body .sec-card,section.tl{border-top:3px solid rgba(255,201,60,.55)!important;position:relative}
body .card::after,body .sec-card::after{display:block!important;content:"";position:absolute;top:7px;right:12px;width:7px;height:7px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe9a8,#b07a1c);box-shadow:-14px 0 0 -0px #b07a1c88;pointer-events:none;opacity:.9}
.hero{box-shadow:0 24px 60px -20px rgba(0,0,0,.9),0 0 0 3px #2a150a,0 0 0 5px var(--gold)!important}
body .card,body .sec-card,body .tile,body .adapt-card,body .rule,section.tl{background:linear-gradient(160deg,rgba(18,38,78,.9),rgba(8,20,45,.92))!important}
body .card.night,body .night{background:linear-gradient(150deg,#1d4a80,#0a1d3d)!important}

/* prime : juste le montant et la pièce */
body .card.prime-card{display:flex;align-items:center;gap:14px;padding:14px 18px!important}
.prime-card img{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(255,201,60,.6))}
.prime-card .eyebrow{margin:0}
.prime-card b{display:block;font-family:var(--font-d);font-weight:400;font-size:34px;letter-spacing:.04em;color:var(--gold);line-height:1.05}
.prime-card b::after{content:" ฿";font-size:.7em;opacity:.8}

/* lisibilité sur fond sombre : repères d'allure, tapis, test VMA */
body .reperes,body .tapis,body .box-muted{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.2)!important;color:#fff!important}
body .reperes *,body .tapis *{color:#fff!important}
body .reperes .muted,body .tapis .muted,body .reperes small,body .tapis small{color:#c9d6ea!important}
body .vma-band{background:linear-gradient(150deg,#1d4a80,#0a1d3d)!important;border:1px solid rgba(255,201,60,.3)!important}
body .vma-band,body .vma-band *{color:#fff}
body .vma-band .eyebrow{color:var(--gold)}
body .vma-band .muted{color:#c9d6ea!important}
#app .box-green,#app .box-orange,#app .box-red{color:#14212f}
#app .box-green *,#app .box-orange *,#app .box-red *{color:inherit}
#app .note-row{color:#14212f}

/* étape en cours : vignette de l'île ou du bateau */
body .chron-flag{width:84px;height:84px;border:2px solid var(--gold)!important;border-radius:50%;overflow:hidden;background:#12315c;box-shadow:0 0 18px -4px rgba(255,201,60,.6);display:grid;place-items:center;flex:none}
.chron-flag svg{width:100%;height:100%;object-fit:cover}
.chron-flag>svg:not(.stage-scene){width:auto;height:100%;max-width:none}
.chron-flag img{width:92%;height:92%;object-fit:contain}
.hero .chip:nth-child(2){background:rgba(5,11,22,.55);color:var(--gold);border-color:rgba(255,201,60,.5)}
.hero-chips{flex:none!important;align-items:center;align-content:flex-start;flex-wrap:wrap;gap:8px}
.hero .chip{flex:none;height:auto;align-self:center}

/* image One Piece du bandeau */
.hero-art{position:absolute;inset:0}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}

/* pas de rivets décoratifs (les deux points en haut à droite) */
body .card::after,body .sec-card::after{display:none!important;content:none!important}

/* bandeau : image seule, trois infos en bas */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hero{min-height:260px}
.hero-in{min-height:260px;padding:14px;justify-content:flex-end}
.hero::after{background:linear-gradient(180deg,transparent 0%,transparent 62%,rgba(5,11,22,.7) 100%)!important}
.hero-chips{gap:8px}
.hero .hero-cd{display:inline-flex;align-items:center;width:auto;height:auto;padding:5px 14px;border-radius:999px;background:linear-gradient(135deg,var(--gold),var(--gold2));border:0;box-shadow:0 6px 16px -6px rgba(255,154,31,.8);transform:none;animation:none}
.hero .hero-cd b{font-family:var(--font-d);font-weight:400;font-size:20px;letter-spacing:.04em;color:#1b1204;text-shadow:none}
.hero .chip{background:rgba(5,11,22,.62);color:#fff;border:1px solid rgba(255,255,255,.3);font-size:13px;padding:6px 12px}
.hero .chip.c-main,.hero .chip:nth-child(2){background:rgba(5,11,22,.62);color:#fff}
.hero{position:relative}
.hero .hero-in{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;min-height:0;z-index:2}
.chron-flag.me img{width:100%;height:100%;object-fit:cover;object-position:center 18%}
.chron-flag:not(.me)>img{width:100%;height:100%;object-fit:cover;object-position:center 25%}

/* adversaire : médaillon blanc avec le méchant */
.boss.vil{width:96px;gap:6px}
.chron-flag.vil{background:radial-gradient(circle at 50% 35%,#fff,#e9edf5);border:3px solid var(--coral)!important;box-shadow:0 0 20px -4px rgba(255,90,71,.7)}
.chron-flag.vil img{width:94%;height:94%;object-fit:contain;object-position:center top}
.boss.vil small{color:var(--gold);font-weight:800;font-size:11px;line-height:1.2}
