:root{
  color-scheme: light;
  --plane:#f9f9f7; --surface:#fcfcfb;
  --ink:#0b0b0b; --ink-2:#52514e; --ink-muted:#898781;
  --grid:#e1e0d9; --axis:#c3c2b7; --border:rgba(11,11,11,0.10);
  --s1:#2a78d6; --s2:#eb6834; --s3:#1baf7a;
  --good:#0ca30c; --warn:#fab219; --serious:#ec835a; --critical:#d03b3b;
  --wash:rgba(42,120,214,0.07);
}
:root[data-theme="dark"]{
  color-scheme: dark;
  --plane:#0d0d0d; --surface:#1a1a19;
  --ink:#ffffff; --ink-2:#c3c2b7; --ink-muted:#898781;
  --grid:#2c2c2a; --axis:#383835; --border:rgba(255,255,255,0.10);
  --s1:#3987e5; --s2:#d95926; --s3:#199e70;
  --wash:rgba(57,135,229,0.12);
}
@media (prefers-color-scheme: dark){
  /* réglage du système, tant que l’utilisateur n’a pas forcé le mode clair */
  :root:where(:not([data-theme="light"])){
    color-scheme: dark;
    --plane:#0d0d0d; --surface:#1a1a19;
    --ink:#ffffff; --ink-2:#c3c2b7; --ink-muted:#898781;
    --grid:#2c2c2a; --axis:#383835; --border:rgba(255,255,255,0.10);
    --s1:#3987e5; --s2:#d95926; --s3:#199e70;
    --wash:rgba(57,135,229,0.12);
  }
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--plane); color:var(--ink);
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:15px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px 80px}
.wrap.head{padding-bottom:0}

/* ---------- header ---------- */
header{padding:40px 0 20px}
.eyebrow{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted);font-weight:600}
h1{font-size:30px;line-height:1.2;margin:8px 0 6px;font-weight:650;letter-spacing:-.02em}
.sub{color:var(--ink-2);font-size:15px;margin:0;max-width:64ch}
.themebtn{position:absolute;top:24px;right:20px;background:var(--surface);border:1px solid var(--border);
  color:var(--ink-2);border-radius:999px;padding:6px 14px;font-size:12.5px;cursor:pointer;font-family:inherit}
.themebtn:hover{background:var(--wash)}

/* ---------- tabs ---------- */
nav{position:sticky;top:0;z-index:20;background:var(--plane);
  border-bottom:1px solid var(--border);margin-bottom:28px;padding-top:4px}
.tabs{display:flex;gap:2px;overflow-x:auto;max-width:1080px;margin:0 auto;padding:0 20px;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--ink-muted);
  font-family:inherit;font-size:14px;font-weight:550;padding:12px 14px;cursor:pointer;white-space:nowrap}
.tab:hover{color:var(--ink-2)}
.tab[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--s1)}
.panel{display:none;animation:fade .18s ease}
.panel.on{display:block}
@keyframes fade{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}

/* ---------- blocks ---------- */
.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:22px 24px;margin:0 0 18px}
.card.tint{background:var(--wash);border-color:transparent}
h2{font-size:21px;margin:34px 0 14px;font-weight:650;letter-spacing:-.01em}
h2:first-child{margin-top:0}
h3{font-size:16px;margin:0 0 10px;font-weight:620}
h4{font-size:13px;margin:20px 0 8px;font-weight:620;color:var(--ink-2);
   text-transform:uppercase;letter-spacing:.06em}
p{margin:0 0 12px;max-width:74ch}
ul,ol{margin:0 0 12px;padding-left:20px;max-width:74ch}
li{margin-bottom:6px}
strong{font-weight:620}
.lede{font-size:16.5px;color:var(--ink-2);max-width:70ch}
.muted{color:var(--ink-muted);font-size:13.5px}
.rule{height:1px;background:var(--border);border:0;margin:26px 0}

/* pills / badges */
.pill{display:inline-block;font-size:11.5px;font-weight:620;letter-spacing:.04em;text-transform:uppercase;
  padding:3px 9px;border-radius:999px;border:1px solid var(--border);color:var(--ink-2);background:var(--surface)}
.pill.p1{border-color:var(--s1);color:var(--s1)}
.pill.p2{border-color:var(--s2);color:var(--s2)}
.pill.p3{border-color:var(--s3);color:var(--s3)}

.person{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.dot{width:11px;height:11px;border-radius:3px;flex:none}
.dot.d1{background:var(--s1)} .dot.d2{background:var(--s2)} .dot.d3{background:var(--s3)}

/* grids */
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:16px}

/* stat tiles */
.tile{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px}
.tile .k{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);font-weight:600}
.tile .v{font-size:27px;font-weight:640;letter-spacing:-.02em;margin:4px 0 2px;line-height:1.1}
.tile .d{font-size:13px;color:var(--ink-2);line-height:1.45}

/* tables */
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-weight:620;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;
   color:var(--ink-muted);padding:8px 10px;border-bottom:1px solid var(--axis)}
td{padding:9px 10px;border-bottom:1px solid var(--grid);vertical-align:top}
tr:last-child td{border-bottom:none}
.tbl-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:6px 10px}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}

/* callouts */
.note{border-left:3px solid var(--s1);background:var(--wash);border-radius:0 8px 8px 0;padding:14px 18px;margin:0 0 16px}
.note.warn{border-left-color:var(--warn);background:rgba(250,178,25,.10)}
.note.crit{border-left-color:var(--critical);background:rgba(208,59,59,.09)}
.note.good{border-left-color:var(--good);background:rgba(12,163,12,.09)}
.note p:last-child{margin-bottom:0}
.note .lab{font-size:11.5px;font-weight:660;letter-spacing:.06em;text-transform:uppercase;
  display:block;margin-bottom:5px;color:var(--ink-2)}

/* do / dont */
.dd{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px}
.dd .col{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 20px}
.dd h4{margin-top:0}
.dd li::marker{font-size:13px}

/* phases timeline */
.phases{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-bottom:8px}
.ph{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 20px;position:relative;overflow:hidden}
.ph::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}
.ph.a::before{background:var(--s1)} .ph.b::before{background:var(--s2)} .ph.c::before{background:var(--s3)}
.ph .m{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);font-weight:620}
.ph h3{margin:5px 0 8px}
.ph p{font-size:13.5px;color:var(--ink-2);margin:0}

/* session cards */
.sess{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 20px;margin-bottom:14px}
.sess .hd{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.sess .hd h3{margin:0}
.sess .tag{font-size:12px;color:var(--ink-muted);font-weight:560}

/* tracker */
.track th{position:sticky;top:0;background:var(--surface);z-index:2}
.track input[type=number],.track input[type=text]{
  width:74px;background:transparent;border:1px solid var(--border);border-radius:6px;
  padding:5px 7px;font:inherit;font-size:13.5px;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
.track input:focus{outline:2px solid var(--s1);outline-offset:-1px;border-color:transparent}
.track .wk{font-weight:620;font-variant-numeric:tabular-nums;color:var(--ink-2)}
.track tr.milestone td{background:var(--wash)}
.chk{display:flex;flex-wrap:wrap;gap:8px}
.chk label{display:flex;align-items:center;gap:7px;font-size:13.5px;background:var(--surface);
  border:1px solid var(--border);border-radius:8px;padding:8px 12px;cursor:pointer}
.chk input{accent-color:var(--s1);width:15px;height:15px}

/* chart */
.chartbox{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px 22px 12px}
.legend{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:14px;font-size:13px;color:var(--ink-2)}
.legend span{display:flex;align-items:center;gap:8px;white-space:nowrap}
.legend svg{flex:none;width:18px;height:10px;display:block}
#chart svg{display:block;width:100%;height:auto;overflow:visible}
.gl{stroke:var(--grid);stroke-width:1}
.ax{stroke:var(--axis);stroke-width:1}
.tk{fill:var(--ink-muted);font-size:11px;font-family:inherit;font-variant-numeric:tabular-nums}
.dlab{font-size:11.5px;font-weight:620;font-family:inherit}
.empty{color:var(--ink-muted);font-size:14px;text-align:center;padding:48px 12px}

/* buttons */
.btn{background:var(--surface);border:1px solid var(--border);color:var(--ink);border-radius:8px;
  padding:8px 15px;font:inherit;font-size:13.5px;font-weight:560;cursor:pointer}
.btn:hover{background:var(--wash)}
.btn.primary{background:var(--s1);color:#fff;border-color:transparent}
.btn.primary:hover{filter:brightness(1.07)}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0}
textarea{width:100%;min-height:88px;background:var(--surface);color:var(--ink);border:1px solid var(--border);
  border-radius:8px;padding:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;resize:vertical}

/* ---------- agenda grid ---------- */
.gridwrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px}
table.wkgrid{border-collapse:separate;border-spacing:2px;width:100%;min-width:620px;table-layout:fixed}
table.wkgrid th{padding:4px 2px;text-align:center;border:none;font-size:11px}
table.wkgrid th.hr{width:56px;padding:0 10px 0 0;cursor:pointer;position:relative;
  font-variant-numeric:tabular-nums}
table.wkgrid th.hr:hover .hrlab{color:var(--ink)}
/* l'étiquette est centrée sur la ligne de séparation, pas dans la case */
.hrlab{position:absolute;right:10px;top:-1px;transform:translateY(-50%);
  line-height:1;white-space:nowrap;pointer-events:none;color:var(--ink-muted);font-size:10.5px}
/* la demi-heure s'efface derrière l'heure pleine */
.hrlab.half{opacity:.45;font-size:9.5px}
.hrlab.end{top:auto;bottom:-1px;transform:translateY(50%)}
/* de l'air sous les jours pour que la première heure ne les touche pas */
table.wkgrid thead th{padding-bottom:18px}
.gridwrap{padding-bottom:22px}
table.wkgrid th.dy{cursor:pointer}
table.wkgrid th.dy:hover{color:var(--ink)}
/* 34 créneaux de 30 minutes : la case est plus basse qu'à l'heure pleine */
table.wkgrid td{padding:0;border:none;height:13px;border-radius:2px;background:var(--wash);cursor:pointer;
  -webkit-user-select:none;user-select:none;transition:background .08s}
/* la ligne de l'heure pleine porte un trait plus marqué que la demie */
table.wkgrid tr.onhour td{box-shadow:inset 0 1px 0 var(--axis)}
table.wkgrid td:hover{outline:1px solid var(--s1)}
table.wkgrid td.busy{background:var(--axis)}
table.wkgrid td.sess{background:var(--s1);position:relative}
table.wkgrid td.sess.c2{background:var(--s2)} table.wkgrid td.sess.c3{background:var(--s3)}
.gridkey{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2);margin:12px 0 0}
.gridkey span{display:flex;align-items:center;gap:7px}
.sw{width:14px;height:14px;border-radius:3px;flex:none}
select{background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:7px;
  padding:6px 9px;font:inherit;font-size:13.5px}
select:focus{outline:2px solid var(--s1);outline-offset:-1px}
input[type=date],input[type=time]{background:var(--surface);color:var(--ink);border:1px solid var(--border);
  border-radius:7px;padding:6px 9px;font:inherit;font-size:13.5px}
.plan td{vertical-align:middle}
.plan .conflict{color:var(--critical);font-weight:620;font-size:12px}
.plan .ok{color:var(--good);font-size:12px}
.calcard{background:var(--wash);border:1px solid var(--border);border-radius:12px;padding:20px 22px;margin:26px 0 0}
.calcard h3{margin-top:0}
/* ---------- movement links + modal ---------- */
.mv{background:none;border:none;padding:0;font:inherit;font-weight:620;color:var(--s1);cursor:pointer;
  text-align:left;border-bottom:1px dashed currentColor;line-height:1.35}
.mv:hover{color:var(--ink)}
.mv::after{content:"";display:inline-block;width:13px;height:13px;margin-left:5px;vertical-align:-2px;
  background:currentColor;
  -webkit-mask:no-repeat center/contain url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 5h16v14H4z" fill="none" stroke="black" stroke-width="2"/><path d="M10 9l5 3-5 3z"/></svg>');
  mask:no-repeat center/contain url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 5h16v14H4z" fill="none" stroke="black" stroke-width="2"/><path d="M10 9l5 3-5 3z"/></svg>')}
.modal[hidden]{display:none}
.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}
.modal-bg{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.modal-box{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:14px;
  max-width:720px;width:100%;max-height:88vh;overflow-y:auto;padding:26px 28px;
  box-shadow:0 18px 50px rgba(0,0,0,.28)}
.modal-x{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--ink-muted);
  font-size:24px;line-height:1;cursor:pointer;padding:4px 8px;border-radius:6px}
.modal-x:hover{background:var(--wash);color:var(--ink)}
.modal-box h3{font-size:19px;margin:0 0 4px;padding-right:36px}
.figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:16px 0 6px}
.fig{background:var(--wash);border-radius:10px;padding:8px 8px 4px;text-align:center}
.fig svg{width:100%;height:auto;display:block}
.fig .cap{font-size:11.5px;font-weight:620;letter-spacing:.05em;text-transform:uppercase;
  color:var(--ink-muted);margin:2px 0 4px}
.figsvg .limb{fill:none;stroke:var(--s1);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.figsvg .head{fill:none;stroke:var(--s1);stroke-width:5}
.figsvg .prop{fill:none;stroke:var(--ink-muted);stroke-width:3;stroke-linecap:round}
.figsvg .ground{stroke:var(--axis);stroke-width:2;stroke-linecap:round}
.figsvg .aid{fill:none;stroke:var(--ink-muted);stroke-width:2;stroke-dasharray:4 4;stroke-linecap:round}
.figsvg .arrow{fill:none;stroke:var(--s2);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.mcols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:6px}
.mcols h4{margin-top:8px}
.mcols ul{padding-left:18px;font-size:14px}
.mcols li{margin-bottom:5px}
footer{margin-top:44px;padding-top:22px;border-top:1px solid var(--border);color:var(--ink-muted);font-size:12.5px}
@media print{
  nav,.themebtn,.btn,textarea{display:none!important}
  .panel{display:block!important;page-break-before:always}
  body{background:#fff}
}

/* ---------- barre d'outils flottante ---------- */
/* au-dessus de la porte d'entrée : le thème reste réglable avant d'avoir choisi un profil */
.topbar{position:absolute;top:20px;right:20px;display:flex;gap:8px;z-index:201}
.topbar .btn{font-size:12.5px;padding:6px 14px;border-radius:999px}
.themebtn{position:static!important}

/* ---------- porte d'entrée : qui êtes-vous ? ---------- */
.gate[hidden]{display:none}
.gate{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  padding:20px;background:var(--plane)}
.gate-box{background:var(--surface);border:1px solid var(--border);border-radius:16px;
  padding:34px 36px;max-width:520px;width:100%;box-shadow:0 18px 50px rgba(0,0,0,.14)}
.gate-people{display:flex;flex-direction:column;gap:10px}
.gate-person{display:flex;align-items:center;gap:14px;width:100%;text-align:left;cursor:pointer;
  background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:14px 16px;
  font:inherit;color:var(--ink);transition:background .1s,border-color .1s}
.gate-person:hover{background:var(--wash);border-color:var(--s1)}
.gate-person strong{display:block;font-size:15.5px}
.gate-person .muted{display:block;font-size:12.5px;line-height:1.45;margin-top:2px}
.gate-dot{width:14px;height:14px;border-radius:4px;flex:none}
.gate-dot.c1{background:var(--s1)} .gate-dot.c2{background:var(--s2)} .gate-dot.c3{background:var(--s3)}

/* ---------- saisie ---------- */
.entryinput{width:96px;background:transparent;border:1px solid var(--border);border-radius:7px;
  padding:7px 9px;font:inherit;font-size:17px;font-weight:600;color:var(--ink);
  text-align:right;font-variant-numeric:tabular-nums}
.entryinput:focus{outline:2px solid var(--s1);outline-offset:-1px;border-color:transparent}
.savestate{font-size:12.5px;font-weight:560}
.weeksel{margin-left:4px}
#calcOut{margin-top:16px}

@media (max-width:640px){
  .topbar{position:static;justify-content:flex-end;padding:14px 20px 0}
  h1{font-size:24px}
  .gate-box{padding:26px 22px}
}
/* Le rose de Chloé passe les seuils de séparation en vision des couleurs déficiente
   avec le bleu, l'orange et l'aqua — mais dans la bande d'alerte : le libellé au survol
   et la pastille de profil restent le second canal d'identification. */
/* plusieurs personnes sur le même créneau : pastille d'angle, la texture est déjà prise */
table.wkgrid td.sess.multi::after{content:"";position:absolute;top:2px;right:2px;
  width:5px;height:5px;border-radius:50%;background:var(--surface);opacity:.9}
table.wkgrid td.sess{position:relative}



/* ---------- Prochaine action ---------- */
.nextcard{background:var(--wash);border:1px solid var(--border);border-radius:12px;
  padding:20px 22px;margin:0 0 24px}
.nexthead{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;
  flex-wrap:wrap;margin-bottom:8px}
.nexthead .k{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;
  color:var(--ink-muted);font-weight:620}
.nextdate{font-size:19px;font-weight:640;letter-spacing:-.01em;margin-top:2px}
/* « samedi 15 août » et non « Samedi 15 Août » : seule l'initiale prend la majuscule */
.nextdate::first-letter{text-transform:uppercase}
.nextgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.nextgrid h4{font-size:11.5px;margin-bottom:10px}
.nextgrid li{margin-bottom:10px}
.nextgrid li:last-child{margin-bottom:0}

/* ---------- cinquième teinte : Chloé ---------- */
:root{ --s5:#c845a0 }
:root[data-theme="dark"]{ --s5:#d95fb8 }
@media (prefers-color-scheme: dark){
  :root:where(:not([data-theme="light"])){ --s5:#d95fb8 }
}
.dot.d5{background:var(--s5)}
.gate-dot.c5{background:var(--s5)}
table.wkgrid td.sess.c5{background:var(--s5)}

/* ---------- sélecteur de personne ---------- */
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.chip{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);
  color:var(--ink-2);border-radius:999px;padding:7px 15px;font:inherit;font-size:13.5px;
  font-weight:560;cursor:pointer}
.chip:hover{background:var(--wash)}
.chip.on{border-color:var(--s1);color:var(--ink);background:var(--wash)}

/* séance d'une autre personne : présente mais en retrait */
table.wkgrid td.sess.other{opacity:.34}
.sw.faded{opacity:.34}

/* ---------- bascule Tout / Focus ---------- */
.seg{display:flex;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:2px}
.segbtn{background:none;border:none;border-radius:999px;padding:5px 15px;font:inherit;font-size:12.5px;
  font-weight:600;color:var(--ink-muted);cursor:pointer}
.segbtn:hover{color:var(--ink-2)}
.segbtn.on{background:var(--s1);color:#fff}

/* ---------- mode Focus ---------- */
body.focus-mode nav,
body.focus-mode .wrap{display:none}
#focus[hidden]{display:none}
#focus{max-width:820px;margin:0 auto;padding:96px 22px 90px}
.f-date{font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted);font-weight:620}
.f-date::first-letter{text-transform:uppercase}
.f-phase{font-size:clamp(46px,11vw,88px);line-height:.98;font-weight:680;letter-spacing:-.035em;
  margin:10px 0 6px}
.f-week{font-size:17px;color:var(--ink-2);margin:0 0 6px;font-weight:560}
.f-why{color:var(--ink-2);max-width:60ch;margin:0 0 34px}
.f-who{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:620;margin-bottom:26px}
#focus h3{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);
  margin:0 0 14px;font-weight:660}
.f-block{margin-bottom:38px}
.f-sess{display:flex;gap:18px;align-items:baseline;padding:15px 0;border-top:1px solid var(--border)}
.f-sess:last-child{border-bottom:1px solid var(--border)}
.f-hour{font-size:26px;font-weight:660;letter-spacing:-.02em;font-variant-numeric:tabular-nums;
  min-width:88px;line-height:1.1}
.f-sess.past{opacity:.4}
.f-title{font-size:17px;font-weight:620;line-height:1.3}
.f-note{color:var(--ink-2);font-size:14px;margin-top:3px;max-width:52ch}
.f-with{font-size:12.5px;color:var(--ink-muted);margin-top:5px}
.f-meal{display:grid;grid-template-columns:76px 1fr;gap:8px 16px;font-size:15.5px;align-items:baseline}
.f-meal .m{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);font-weight:620}
.f-empty{color:var(--ink-2);font-size:16px;padding:15px 0;border-top:1px solid var(--border)}
@media (max-width:640px){
  #focus{padding:88px 20px 70px}
  .f-sess{flex-direction:column;gap:2px}
  .f-hour{font-size:21px}
}
