/* NATI Telemetry System · interface web. Charte v4 (TELEMETRY_PREMIUM_v4.md §1-3, §8, §10, §16, §18, §20), mêmes jetons
   que la page coach du téléphone. Nacre Pō par défaut, Nacre Ao (plein soleil) au bouton soleil. Safari 16+ : pas de
   nesting CSS, 100dvh avec repli 100vh, zones sûres. Rien ne sort de l'écran de 320 à 1920 px (§18). */
@font-face{font-family:"NInter";src:url("fonts/Inter-SemiBold.ttf") format("truetype");font-weight:400 600;font-display:swap}
@font-face{font-family:"NInter";src:url("fonts/Inter-Bold.ttf") format("truetype");font-weight:700 900;font-display:swap}
@font-face{font-family:"NBarlow";src:url("fonts/BarlowCondensed-SemiBold.ttf") format("truetype");font-weight:100 900;font-display:swap}
:root{
 --bg:#060708;--surf:rgba(255,255,255,.04);--surf2:rgba(255,255,255,.065);--ring:rgba(255,255,255,.075);
 --shadow:0 24px 48px -28px rgba(0,0,0,.95);--fg:#ECEDEA;--fg2:rgba(236,237,234,.62);--fg3:rgba(236,237,234,.40);
 --gold:#E8C27A;--gold-soft:rgba(232,194,122,.18);--btn:#E8C27A;--btn-fg:#1A1305;--btn-shadow:0 14px 30px -14px rgba(232,194,122,.75);
 --ok:#36D6B6;--ok-on:#03211B;--stop:#FF6B5B;--early:#7fb2ff;--late:#FF6B5B;--grey:rgba(236,237,234,.40);
 --halo1:rgba(232,194,122,.22);--halo2:rgba(120,90,160,.30);--lagon:rgba(54,214,182,.07);
 --n1:#8bd8c7;--n2:#d7c8f2;--n3:#ffffff;--n4:#7fd3be;--n5:#b9a7e0;
 --z1:#7fb2ff;--z2:#36D6B6;--z3:#E8C27A;--z4:#FF9F5B;--z5:#FF6B5B;
 --text:"NInter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--num:"NBarlow","Barlow Condensed","Arial Narrow",var(--text);
 --pad:16px;--gap:12px;color-scheme:dark}
:root[data-theme="light"]{
 --bg:#F7F4EF;--surf:#FFFFFF;--surf2:#FBF9F5;--ring:rgba(16,17,19,.09);
 --shadow:0 1px 2px rgba(16,17,19,.06),0 14px 30px -18px rgba(16,17,19,.28);--fg:#101113;--fg2:rgba(16,17,19,.66);--fg3:rgba(16,17,19,.46);
 --gold:#8A5A00;--gold-soft:rgba(138,90,0,.14);--btn:#8A5A00;--btn-fg:#FFFFFF;--btn-shadow:0 14px 30px -14px rgba(138,90,0,.55);
 --ok:#00796B;--ok-on:#FFFFFF;--stop:#C62828;--early:#0047b3;--late:#C62828;--grey:rgba(16,17,19,.46);
 --halo1:rgba(232,194,122,.30);--halo2:rgba(185,167,224,.35);--lagon:rgba(0,121,107,.06);
 --n1:#2e9e88;--n2:#7d68b8;--n3:#3d4a52;--n4:#2e9e88;--n5:#7d68b8;
 --z1:#0047b3;--z2:#00796B;--z3:#8A5A00;--z4:#B8530F;--z5:#C62828;color-scheme:light}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background-color:var(--bg);color:var(--fg);font:600 16px/1.3 var(--text);
 background-image:radial-gradient(70% 34% at 6% 0%,var(--halo1),transparent 70%),radial-gradient(60% 30% at 96% 2%,var(--halo2),transparent 70%);
 background-repeat:no-repeat;background-attachment:fixed;overflow:hidden}
.defs{position:absolute;width:0;height:0;overflow:hidden}
.grow{flex:1;min-width:0}
.row{display:flex;align-items:center;gap:8px;min-width:0}.between{justify-content:space-between}
/* Marque (§3) */
.brand{display:flex;align-items:center;gap:8px;min-width:0;flex:1}
.brand .aha{width:20px;height:20px;flex:none}
.nati{font-weight:700;font-size:12px;letter-spacing:.34em}
.sep{width:1px;height:13px;background:var(--ring);flex:none}
.fetu{width:13px;height:13px;flex:none;color:var(--gold)}
.ts{font-weight:600;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.ts-long{display:none}
.brand.big .aha{width:30px;height:30px}.brand.big .nati{font-size:15px}.brand.big .ts{font-size:12px}
/* Connexion : un seul écran, puis Course directement. */
.login{min-height:100vh;overflow-y:auto;display:grid;place-items:center;padding:max(env(safe-area-inset-top),24px) var(--pad) max(env(safe-area-inset-bottom),24px)}
@supports (height:100dvh){.login{min-height:100dvh;height:100dvh}}
.login-in{width:100%;max-width:440px;min-width:0}
.login .title{margin-top:36px}
.form{display:grid;gap:12px;padding:18px}
.field{display:grid;gap:6px;min-width:0}
.field span{font-size:13px;color:var(--fg2)}
input{font:600 16px var(--text);min-height:52px;width:100%;min-width:0;border:1px solid var(--ring);border-radius:16px;background:var(--surf2);color:var(--fg);padding:0 14px}
input:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
.error{margin:0;color:var(--late);font-size:14px}
/* Bouton principal (§3) : 68, rayon 22, or. */
button{font:inherit;min-height:44px;min-width:44px;border:1px solid var(--ring);background:var(--surf2);color:var(--fg);border-radius:16px;padding:0 14px;cursor:pointer}
button:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
button:disabled{opacity:.45;cursor:not-allowed}
.main{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:64px;border:0;border-radius:22px;background:var(--btn);color:var(--btn-fg);box-shadow:var(--btn-shadow);font-size:17px}
.main svg{width:22px;height:22px}
.gold{background:var(--btn);color:var(--btn-fg);border-color:transparent}
.small{min-height:44px;font-size:14px}
.ghost{background:var(--surf2)}
.wide{width:100%;min-height:52px;margin-top:8px}
.danger{color:var(--stop)}
.btnlink{display:flex;align-items:center;justify-content:center;min-height:52px;margin-top:8px;border-radius:16px;background:var(--surf2);box-shadow:inset 0 0 0 1px var(--ring);color:var(--fg);text-decoration:none}
a.item{text-decoration:none}
select{font:inherit;min-height:48px;width:100%;min-width:0;border:1px solid var(--ring);border-radius:16px;background:var(--surf2);color:var(--fg);padding:0 12px;text-overflow:ellipsis}
/* Coque de l'appli */
.app{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"top" "status" "main" "nav";height:100vh}
@supports (height:100dvh){.app{height:100dvh}}
.top{grid-area:top;display:flex;align-items:center;gap:8px;min-height:44px;min-width:0;
 padding:max(env(safe-area-inset-top),8px) calc(var(--pad) + env(safe-area-inset-right)) 0 calc(var(--pad) + env(safe-area-inset-left))}
.icon-btn{width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--fg2);border-radius:14px;display:inline-grid;place-items:center;flex:none}
.icon-btn svg{width:22px;height:22px}
.pill{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--ring);background:var(--surf2);color:var(--fg);font:600 17px var(--num);flex:none}
.pill .dot{width:8px;height:8px;border-radius:50%;background:var(--stop);animation:blink 1s steps(2,start) infinite}
@keyframes blink{to{visibility:hidden}}
.status{grid-area:status;display:flex;flex-wrap:wrap;gap:2px 12px;align-items:baseline;font-size:13px;color:var(--fg2);min-width:0;
 padding:2px calc(var(--pad) + env(safe-area-inset-right)) 6px calc(var(--pad) + env(safe-area-inset-left))}
#state{min-width:0}#state.lost{color:var(--late)}
#live{font-size:15px}#live.slow{color:var(--gold)}#live.bad{color:var(--late)}
main{grid-area:main;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-width:0;
 padding:4px calc(var(--pad) + env(safe-area-inset-right)) 18px calc(var(--pad) + env(safe-area-inset-left))}
.tab{max-width:1280px;margin:0 auto;min-width:0}
/* Barre d'onglets (§8) : en bas au téléphone, rail à gauche en paysage et sur tablette. */
.tabs{grid-area:nav;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--bg);border-top:1px solid var(--ring);
 padding:4px env(safe-area-inset-right) max(env(safe-area-inset-bottom),6px) env(safe-area-inset-left)}
.tabs button{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:58px;min-width:0;padding:4px 0;border:0;background:transparent;color:var(--fg2);font:600 12px var(--text);border-radius:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tabs .ico{display:grid;place-items:center;width:56px;max-width:100%;height:32px;border-radius:999px}
.tabs svg{width:24px;height:24px}
.tabs [aria-current="page"]{color:var(--gold)}
.tabs [aria-current="page"] .ico{background:var(--gold-soft)}
/* Cartes (§3) */
.card{background:var(--surf);border-radius:22px;box-shadow:inset 0 0 0 1px var(--ring),var(--shadow);padding:12px 14px;margin:0 0 var(--gap);min-width:0}
h1.title{font-weight:600;font-size:30px;line-height:1.04;letter-spacing:-.045em;margin:6px 0 4px}
h2{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg3);margin:2px 0 8px}
.sub{font-size:15px;color:var(--fg2);margin:0 0 var(--gap)}
.label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.num{font-family:var(--num);font-variant-numeric:tabular-nums;letter-spacing:.01em}
.help{font-size:14px;color:var(--fg2);margin:6px 0;font-weight:500}.help b{color:var(--fg)}
.notes{font-size:13px;color:var(--fg2);margin:0 0 var(--gap);font-weight:500}
/* Puce de fiabilité (§10, §16) : couleur ET mot ET forme. */
.chip{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:0 9px;border-radius:999px;background:var(--surf2);box-shadow:inset 0 0 0 1px var(--ring);font:600 12px var(--text);white-space:nowrap;color:var(--fg)}
.chip i{font-style:normal;font-size:11px;line-height:1}
.chip.fiable i{color:var(--ok)}.chip.tendance i{color:var(--gold)}.chip.pas i{color:var(--stop)}.chip.non{color:var(--grey)}.chip.non i{color:var(--grey)}
.why{display:inline-flex;align-items:center;min-height:32px;min-width:44px;padding:0 4px;border:0;background:transparent;color:var(--fg2);font:500 12px var(--text);text-decoration:underline;text-underline-offset:2px}
.foot{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;margin-top:6px;min-width:0}
/* Course */
.course{display:grid;grid-template-columns:minmax(0,1fr);gap:0 var(--gap)}
.col{min-width:0}
.session-card select{margin-top:2px}
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 var(--gap)}
.tile{background:var(--surf);border-radius:20px;box-shadow:inset 0 0 0 1px var(--ring);padding:10px 12px 8px;min-width:0}
.tile b{display:block;font-family:var(--num);font-weight:600;font-size:40px;line-height:1.05;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile b small{font-family:var(--text);font-size:13px;font-weight:600;color:var(--fg2);margin-left:4px}
.tile .label{display:block}
.tile.watts{grid-column:1/-1}
.tile .prec{display:block;font-size:12px;color:var(--fg2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Mer et stabilité (§20) */
.sea-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}
.reading{display:flex;align-items:center;gap:8px;min-height:48px;margin:4px 0 8px;font-size:15px}
.reading i{font-style:normal}
.curves{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.curve{background:var(--surf2);border-radius:16px;box-shadow:inset 0 0 0 1px var(--ring);padding:8px 10px;min-width:0}
.curve-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;min-width:0}
.curve-top b{font-family:var(--num);font-size:28px;font-weight:600;white-space:nowrap}
.curve-top b small{font-family:var(--text);font-size:12px;color:var(--fg2);margin-left:3px}
.curve svg{display:block;width:100%;height:96px}
.curve .legend{font-size:12px;color:var(--fg3)}
.plot{position:relative}.plot .sc{position:absolute;left:2px;font:600 11px var(--text);color:var(--fg3);background:var(--surf2);padding:0 3px;border-radius:4px}.plot .top{top:0}.plot .bot{bottom:0}
.big-v{font-size:24px;font-weight:600;margin:4px 0}
.curve .line{fill:none;stroke:var(--gold);stroke-width:2;vector-effect:non-scaling-stroke}
.curve.grey .line{stroke:var(--grey);stroke-dasharray:4 4}
.curve .zero{stroke:var(--ring);stroke-dasharray:3 4;vector-effect:non-scaling-stroke}
.curve .scale{stroke:var(--ring);vector-effect:non-scaling-stroke}
/* Équipage en direct : une ligne par place sous 700 px, tableau au-dessus (§18 règle 4). */
.seat-lines{list-style:none;margin:0;padding:0}
.seat-line{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:56px;border-bottom:1px solid var(--ring);padding:4px 0}
.seat-line:last-child{border-bottom:0}
.seat-line .foot{grid-column:2/-1;margin-top:-4px}
.seat-line .who b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.seat-line .who span{display:block;font-size:13px;color:var(--fg2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bpm{font:600 28px var(--num);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.bpm small{display:block;font:600 11px var(--text);letter-spacing:.08em;text-align:right}
.seat-table{display:none;width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.seat-table th,.seat-table td{padding:8px 6px;border-bottom:1px solid var(--ring);text-align:right;white-space:nowrap}
.seat-table th:nth-child(-n+2),.seat-table td:nth-child(-n+2){text-align:left}
.seat-table td:nth-child(2){max-width:14em;overflow:hidden;text-overflow:ellipsis}
.seat-table th{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--fg3)}
.seat-table td.big{font-family:var(--num);font-size:26px;font-weight:600}
.early{color:var(--early)}.late{color:var(--late)}.stale{color:var(--gold)}.muted{color:var(--fg3)}
.z1{color:var(--z1)}.z2{color:var(--z2)}.z3{color:var(--z3)}.z4{color:var(--z4)}.z5{color:var(--z5)}
.zone{display:inline-block;min-width:26px;padding:1px 5px;border-radius:8px;background:var(--surf2);box-shadow:inset 0 0 0 1px currentColor;font:600 11px var(--text)}
/* Équipage (§3) */
.crew-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.counter{font-family:var(--num);font-weight:600;font-size:46px;line-height:1;white-space:nowrap;
 background:linear-gradient(90deg,var(--n1),var(--n2) 35%,var(--n3) 55%,var(--n4) 80%,var(--n5));-webkit-background-clip:text;background-clip:text;color:transparent}
.counter small{font-size:26px}
.boat-card{background-image:radial-gradient(90% 60% at 50% 62%,var(--lagon),transparent 70%)}
.boat-label{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:44px;min-width:0}
.places{list-style:none;margin:0 0 var(--gap);padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.place{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:56px;padding:6px 14px 6px 10px;border-radius:18px;background:var(--surf);box-shadow:inset 0 0 0 1px var(--ring)}
.place-foot{grid-column:2/-1;margin-top:-6px}
.rond{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font:600 19px var(--num);box-shadow:inset 0 0 0 1.5px var(--fg3);color:var(--fg)}
.ok .rond{background:var(--ok);color:var(--ok-on);box-shadow:none}
.place.wait{box-shadow:inset 0 0 0 1.5px var(--gold);background-image:linear-gradient(90deg,var(--gold-soft),transparent 70%)}
.wait .rond{box-shadow:inset 0 0 0 1.5px var(--gold)}
.who{min-width:0}
.who b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.who span{display:block;font-size:13px;color:var(--fg2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hr{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.hr-v{display:flex;align-items:center;gap:6px;font:600 30px var(--num);font-variant-numeric:tabular-nums}
.hr-v svg{width:18px;height:18px;color:var(--stop)}
.hr-v .watch{width:16px;height:16px;color:var(--gold)}
/* Bassin */
.bassin{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gap)}
.empty{display:grid;place-items:center;text-align:center;min-height:240px;padding:20px;color:var(--fg2);font-size:15px;background-image:radial-gradient(90% 60% at 50% 62%,var(--lagon),transparent 70%)}
.empty svg{width:56px;height:56px;color:var(--fg3);margin:0 auto 8px;display:block}
.empty p{margin:4px 0;max-width:36em}
/* Listes (séances, appareils, clients) : lignes de 64, rayon 18. */
.list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.item{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:64px;padding:8px 12px 8px 10px;border-radius:18px;background:var(--surf);box-shadow:inset 0 0 0 1px var(--ring);width:100%;text-align:left;color:var(--fg);font:inherit}
.settings .item{background:var(--surf2)}
.item .ico{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:var(--surf2);box-shadow:inset 0 0 0 1px var(--ring);color:var(--gold)}
.item .ico svg{width:22px;height:22px}
.item .who b{font-size:15.5px}
.item .who span{white-space:normal}
.item .side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:13px;color:var(--fg2);white-space:nowrap}
.day{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg3);margin:10px 2px 0}
.seg{display:inline-grid;grid-template-columns:1fr 1fr;padding:4px;gap:4px;border-radius:999px;background:var(--surf2);box-shadow:inset 0 0 0 1px var(--ring);max-width:100%}
.seg button{border:0;background:transparent;border-radius:999px;min-width:0;color:var(--fg2);padding:0 16px}
.seg [aria-pressed="true"]{background:var(--gold-soft);color:var(--gold)}
.rows{list-style:none;margin:0;padding:0}
.rows li{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:52px;border-bottom:1px solid var(--ring);padding:6px 0;font-size:15px}
.rows li:last-child{border-bottom:0}
.rows .v{color:var(--fg2);text-align:right;min-width:0;overflow-wrap:anywhere}
.code{font:600 30px var(--num);letter-spacing:.12em;text-align:center;padding:12px;border-radius:16px;background:var(--surf2);box-shadow:inset 0 0 0 1px var(--ring);overflow-wrap:anywhere}
.addr{font:500 13px ui-monospace,Menlo,Consolas,monospace;padding:12px;border-radius:16px;background:var(--surf2);box-shadow:inset 0 0 0 1px var(--ring);overflow-wrap:anywhere;user-select:all}
/* Feuille du bas (§3) */
.veil{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:20}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:21;max-height:86vh;overflow-y:auto;background:var(--bg);border-radius:28px 28px 0 0;box-shadow:inset 0 1px 0 var(--ring);
 padding:10px calc(var(--pad) + env(safe-area-inset-right)) max(env(safe-area-inset-bottom),16px) calc(var(--pad) + env(safe-area-inset-left));max-width:720px;margin:0 auto}
.grip{display:block;width:36px;height:4px;border-radius:2px;background:var(--fg3);margin:0 auto 10px}
.sheet-title{font-size:22px;font-weight:600;letter-spacing:-.02em;text-transform:none;color:var(--fg);margin:4px 0 8px}
.sheet p{color:var(--fg2);font-size:15px;font-weight:500}
#toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(84px + env(safe-area-inset-bottom));z-index:30;max-width:calc(100% - 32px);padding:12px 16px;border-radius:16px;background:var(--surf2);box-shadow:inset 0 0 0 1px var(--ring),var(--shadow);backdrop-filter:blur(12px);font-size:14px}
/* Paysage et tablette (§2, §18 : selon la place, jamais selon le modèle). */
@media (min-width:600px){
 .app{grid-template-columns:80px minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"nav top" "nav status" "nav main"}
 .tabs{grid-template-columns:none;grid-auto-rows:min-content;align-content:start;gap:8px;border-top:0;border-right:1px solid var(--ring);
  padding:max(env(safe-area-inset-top),12px) 0 max(env(safe-area-inset-bottom),12px) env(safe-area-inset-left)}
 .top,.status,main{padding-left:20px}
 .tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
 .tile.watts{grid-column:span 2}
 .places{grid-template-columns:repeat(2,minmax(0,1fr))}
 #toast{bottom:24px}
}
@media (min-width:640px){.curves{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* The crew table needs its own card width (container), not the window width: lines until 640 px of card. */
.col{container-type:inline-size}
@container (min-width:640px){.seat-lines{display:none}.seat-table{display:table}}
@media (min-width:700px) and (min-height:521px){
 .settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--gap);align-items:start}
}
@media (min-width:900px) and (min-height:521px){
 :root{--pad:28px;--gap:16px}
 .ts-long{display:inline}
 .course{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:0 24px}
 .curves{grid-template-columns:minmax(0,1fr)}
 .tile b{font-size:44px}
 h1.title{font-size:40px}
 .counter{font-size:64px}
}
@media (min-width:1400px){.tab{max-width:1720px}}
@media (min-width:1200px) and (min-height:521px){.curves{grid-template-columns:repeat(3,minmax(0,1fr))}.course{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}}
@media (max-width:359px){:root{--pad:12px}.tile b{font-size:32px}.tabs .ico{width:44px}}
@media (prefers-reduced-motion:reduce){.pill .dot{animation:none}}
