/* La table des saisons : feuille de style */
/* Polices hébergées avec l'application (SIL Open Font License, voir assets/fonts) */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:300 700;font-display:swap;src:url("../fonts/cormorant-garamond-latin-wght-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:300 700;font-display:swap;src:url("../fonts/cormorant-garamond-latin-wght-italic.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:100 1000;font-display:swap;src:url("../fonts/dm-sans-latin-wght-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  --bg:#f5edd9;--paper:#fbf6ea;--ink:#3b271d;--sepia:#5c3d2e;--muted:#836955;
  --gold:#c9a96e;--leaf:#5f7440;--leaf-soft:#dfe3c8;--gold-soft:#efe1c1;
  --line:#e0d1b0;--off:#ebe1c8;--knob:#fffaf0;--shadow:rgba(59,39,29,.2);
  color-scheme:light;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#211912;--paper:#2b2119;--ink:#f0e5ce;--sepia:#ead7b4;--muted:#b39c83;
    --gold:#c9a96e;--leaf:#9db475;--leaf-soft:#3a4127;--gold-soft:#4a3b24;
    --line:#45382b;--off:#342a20;--knob:#f0e5ce;--shadow:rgba(0,0,0,.55);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#211912;--paper:#2b2119;--ink:#f0e5ce;--sepia:#ead7b4;--muted:#b39c83;
  --gold:#c9a96e;--leaf:#9db475;--leaf-soft:#3a4127;--gold-soft:#4a3b24;
  --line:#45382b;--off:#342a20;--knob:#f0e5ce;--shadow:rgba(0,0,0,.55);
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:inherit}
[hidden]{display:none!important}
html{height:100%;scroll-padding-top:env(safe-area-inset-top,0px);-webkit-text-size-adjust:100%}
body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font:400 15px/1.55 "DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
button{font:inherit;color:inherit}
button:focus-visible,input:focus-visible{outline:2px solid var(--leaf);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:880px;margin:0 auto;padding:18px 16px 56px}

.top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.top h1{margin:0;font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;font-size:1.3rem;font-weight:500;font-style:italic;color:var(--sepia)}
.top p{margin:0;font-size:.8rem;color:var(--muted)}

.hero{margin:18px 0 4px;text-align:center}
.month{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px}
.month h2{margin:0;font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;font-size:clamp(2.6rem,13vw,6rem);line-height:.95;font-weight:600;letter-spacing:-.015em;color:var(--sepia)}
.nav{width:44px;height:44px;border-radius:50%;border:1px solid var(--gold);background:transparent;color:var(--sepia);font-size:1.5rem;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0 0 3px}
.summary{margin:8px 0 0;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:1.2rem;color:var(--muted)}
.back{margin:2px auto 0;background:none;border:0;padding:4px 8px;color:var(--leaf);text-decoration:underline;text-underline-offset:3px;font-size:.85rem;cursor:pointer}

.strip{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin:16px 0 18px}
@media (min-width:600px){.strip{grid-template-columns:repeat(12,1fr)}}
.strip button{position:relative;border:0;border-radius:5px;background:var(--gold-soft);color:var(--sepia);font-weight:500;font-size:.8rem;padding:9px 0 10px;cursor:pointer}
.strip button[aria-pressed="true"]{background:var(--sepia);color:var(--paper)}
.strip button.today::after{content:"";position:absolute;left:50%;bottom:3px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--leaf)}
.strip button.today[aria-pressed="true"]::after{background:var(--gold)}

.tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:12px}
.tabs button{flex:1;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:10px 4px;font-weight:500;font-size:.92rem;color:var(--muted);cursor:pointer}
.tabs button[aria-selected="true"]{color:var(--sepia);border-bottom-color:var(--gold)}

.filters{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.filters input[type=search]{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font:inherit;font-size:16px}
.filters input::placeholder{color:var(--muted);opacity:1}
.chips{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.chips::-webkit-scrollbar{display:none}
@media (min-width:700px),(hover:hover) and (pointer:fine){.chips{flex-wrap:wrap;overflow:visible}}
.chips button{flex:none;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:6px 12px;font-size:.85rem;cursor:pointer}
.chips button[aria-pressed="true"]{background:var(--sepia);border-color:var(--sepia);color:var(--paper)}
.switch{position:relative;display:inline-flex;align-items:center;gap:10px;font-size:.9rem;cursor:pointer;user-select:none;align-self:flex-start}
.switch input{position:absolute;left:0;top:50%;width:38px;height:22px;margin:-11px 0 0;opacity:0;cursor:pointer}
.switch .track{position:relative;flex:none;width:38px;height:22px;border-radius:999px;background:var(--off);border:1px solid var(--line);transition:background .15s,border-color .15s}
.switch .track::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--knob);box-shadow:0 1px 2px var(--shadow);transition:transform .15s}
.switch input:checked+.track{background:var(--leaf);border-color:var(--leaf)}
.switch input:checked+.track::after{transform:translateX(16px)}
.switch input:focus-visible+.track{outline:2px solid var(--leaf);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.switch .track,.switch .track::after{transition:none}}

.legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.8rem;color:var(--muted);margin:2px 0 18px}
.legend span{display:inline-flex;align-items:center;gap:6px}
.sw{width:12px;height:12px;border-radius:2px;display:inline-block}
.sw.v2{background:var(--leaf)}
.sw.v1{background:var(--gold)}
.sw.v0{background:var(--off);box-shadow:inset 0 0 0 1px var(--line)}

.moves{display:grid;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:26px}
.moves h3{margin:0 0 8px;font-size:.82rem;font-weight:600;color:var(--muted)}
.cat{margin-bottom:28px}
.cat>h3{margin:0;padding-bottom:4px;border-bottom:1px solid var(--line);font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:1.65rem;color:var(--sepia)}
.catnote{margin:6px 0 0;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:1.04rem;color:var(--muted)}
.cat h4{margin:14px 0 7px;font-size:.8rem;font-weight:600;color:var(--muted)}
.items{display:flex;flex-wrap:wrap;gap:6px}
.cat .items{margin-top:10px}
.cat h4+.items{margin-top:0}
.tag{border:0;border-left:3px solid transparent;border-radius:4px;padding:6px 10px;font-size:.92rem;text-align:left;cursor:pointer;color:var(--ink);background:transparent}
.tag.v2{background:var(--leaf-soft);border-left-color:var(--leaf)}
.tag.v1{background:var(--gold-soft);border-left-color:var(--gold)}
.tag.v0{box-shadow:inset 0 0 0 1px var(--line);border-left-color:var(--line)}
.tag small{margin-left:6px;font-size:.75rem;color:var(--muted)}
.tag:hover{box-shadow:inset 0 0 0 1px var(--gold)}
.fav::before{content:"✦";color:var(--gold);margin-right:5px;font-size:.8em}
.empty{margin:8px 0;color:var(--muted);font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:1.2rem}

.gridwrap{overflow:auto;max-height:72vh;max-height:72dvh;border:1px solid var(--line);border-radius:12px;background:var(--bg);overscroll-behavior:contain}
.gridwrap table{border-collapse:separate;border-spacing:2px;width:100%;min-width:330px}
.gridwrap thead th{position:sticky;top:0;z-index:2;background:var(--bg);padding:6px 0 4px}
.gridwrap th.corner{left:0;z-index:3;min-width:96px}
.mh{border:0;background:none;width:100%;min-width:17px;padding:4px 0;border-radius:3px;font-size:.72rem;font-weight:600;color:var(--muted);cursor:pointer}
.mh.cur{background:var(--sepia);color:var(--paper)}
th.name{position:sticky;left:0;z-index:1;background:var(--bg);text-align:left;font-weight:400;padding:0 6px}
th.name button{display:block;max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:0;background:none;padding:3px 0;font-size:.85rem;text-align:left;cursor:pointer;color:var(--ink)}
@media (max-width:420px){th.name button{max-width:104px;font-size:.8rem}}
td.c{height:20px;min-width:17px;border-radius:2px;background:var(--off)}
td.c1{background:var(--gold)}
td.c2{background:var(--leaf)}
td.cur{box-shadow:0 0 0 1.5px var(--sepia)}
tr.cathead th{text-align:left;padding:16px 6px 4px;font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:1.3rem;color:var(--sepia)}
tr.subhead th{text-align:left;padding:8px 6px 2px;font-size:.75rem;font-weight:600;color:var(--muted)}
.stk{position:sticky;left:6px;display:inline-block}

.selgroup h3{margin:22px 0 6px;font-size:.82rem;font-weight:600;color:var(--muted)}
.selgroup:first-child h3{margin-top:0}
.sellist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.selrow{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:6px 12px;padding:10px 2px 12px;border-bottom:1px solid var(--line)}
.selrow button{border:0;background:none;padding:0;text-align:left;cursor:pointer;font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:1.25rem;color:var(--sepia)}
.selrow .st{font-size:.8rem;color:var(--muted);text-align:right}
.mini{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,1fr);gap:3px}
.mini i{height:7px;border-radius:2px;background:var(--off)}
.mini i.v1{background:var(--gold)}
.mini i.v2{background:var(--leaf)}
.mini i.now{box-shadow:0 0 0 1.5px var(--sepia)}
.selempty{text-align:center;padding:32px 12px;color:var(--muted)}
.selempty .big{margin:0 0 6px;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.5rem;font-style:italic;color:var(--sepia)}
.selhint{margin-top:14px;font-size:.78rem;color:var(--muted)}

dialog.sheet{border:0;padding:0;width:100%;max-width:520px;max-height:92vh;max-height:92dvh;margin:auto auto 0;background:var(--paper);color:var(--ink);border-radius:18px 18px 0 0;box-shadow:0 -10px 40px var(--shadow);overflow:hidden}
@media (min-width:640px){dialog.sheet{margin:auto;border-radius:16px}}
dialog.sheet::backdrop{background:rgba(30,20,12,.5)}
@media (prefers-reduced-motion:no-preference){dialog.sheet[open]{animation:rise .22s ease-out}}
@keyframes rise{from{transform:translateY(28px);opacity:0}to{transform:none;opacity:1}}
.sheet-in{max-height:92vh;max-height:92dvh;overflow:auto;padding:18px 20px calc(22px + env(safe-area-inset-bottom,0px))}
.sh-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.kind{margin:0;font-size:.8rem;color:var(--muted)}
.sh-head h3{margin:2px 0 0;font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:2.15rem;line-height:1.05;color:var(--sepia)}
.latin{margin:4px 0 0;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:1.12rem;color:var(--muted)}
.close{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--sepia);font-size:1.5rem;line-height:1;cursor:pointer;padding:0 0 2px}
.ring{display:block;width:min(270px,74vw);height:auto;margin:8px auto 4px}
.ring .seg{fill:var(--off)}
.ring .s1{fill:var(--gold)}
.ring .s2{fill:var(--leaf)}
.ring .seg.now{stroke:var(--sepia);stroke-width:2.5}
.ring .lbl{font:500 11px "DM Sans",sans-serif;fill:var(--muted)}
.ring .lbl.now{font-weight:700;fill:var(--sepia)}
.ring .c1{font:600 17px "Cormorant Garamond",Georgia,serif;fill:var(--sepia)}
.ring .c2{font:400 10.5px "DM Sans",sans-serif;fill:var(--muted)}
.facts{margin:6px 0 0}
.facts div{display:grid;grid-template-columns:7.2rem 1fr;gap:10px;align-items:baseline;border-top:1px solid var(--line);padding:9px 0}
.facts dt{font-size:.8rem;color:var(--muted)}
.facts dd{margin:0}
.note{margin:10px 0 0;padding:12px 14px;background:var(--bg);border-left:3px solid var(--gold);border-radius:0 8px 8px 0;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.14rem;line-height:1.45}
.favbtn{margin-top:16px;width:100%;padding:12px;border-radius:10px;border:1px solid var(--sepia);background:transparent;color:var(--sepia);font-weight:600;font-size:.95rem;cursor:pointer}
.favbtn[aria-pressed="true"]{background:var(--sepia);color:var(--paper)}

.tag.pan{background:var(--bg);border-left-color:var(--line)}
.acc .cap a,footer a{color:var(--leaf);text-underline-offset:2px}
.sheet .tag{font-size:.88rem;padding:5px 9px}
.acc{margin-top:8px}
.acc h4{margin:20px 0 2px;font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:1.3rem;color:var(--sepia)}
.acc .cap{margin:0 0 8px;font-size:.78rem;line-height:1.45;color:var(--muted)}
.pairs{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:26px}
.pairs h3{margin:0 0 2px;font-size:.82rem;font-weight:600;color:var(--muted)}
.pairs .cap{margin:0 0 10px;font-size:.78rem;color:var(--muted)}
.duos{display:flex;flex-wrap:wrap;gap:6px}
.duo{display:inline-flex;align-items:center;border-radius:999px;background:var(--leaf-soft);padding:2px 3px}
.duo button{border:0;background:none;padding:4px 8px;border-radius:999px;font-size:.9rem;color:var(--ink);cursor:pointer}
.duo button:hover{background:var(--paper)}
.duo span{color:var(--leaf);font-weight:700}
.macros{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0 0}
.macros div{background:var(--bg);border-radius:8px;padding:7px 10px}
.macros dt{font-size:.72rem;color:var(--muted)}
.macros dd{margin:1px 0 0;font-weight:600;font-size:.92rem}
.forts{margin-top:4px}
.forts details{border-top:1px solid var(--line)}
.forts details:last-child{border-bottom:1px solid var(--line)}
.forts summary{display:grid;grid-template-columns:1fr auto 56px 46px;align-items:center;gap:8px;padding:8px 0;cursor:pointer;list-style:none}
.forts summary::-webkit-details-marker{display:none}
.forts summary:focus-visible{outline:2px solid var(--leaf);outline-offset:2px}
.forts .fn{font-size:.9rem}
.forts .fv{font-size:.8rem;color:var(--muted);white-space:nowrap}
.forts .fb{height:6px;border-radius:3px;background:var(--off);overflow:hidden}
.forts .fb i{display:block;height:100%;background:var(--leaf)}
.forts .fp{font-size:.8rem;text-align:right;font-weight:600}
.forts details[open] .fn{color:var(--sepia);font-weight:600}
.forts details p{margin:0 0 10px;font-size:.84rem;line-height:1.5}
.tips{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:12px}
.tips li{font-size:.88rem;line-height:1.5;padding-left:12px;border-left:2px solid var(--gold)}
.tips .tl{display:block;margin-top:6px;font-size:.75rem;color:var(--muted)}
.tips .items{margin-top:4px}
.tag.sp{border-left-color:var(--sepia)}
details.plus{margin-top:6px}
details.plus>summary{cursor:pointer;font-size:.8rem;color:var(--leaf);padding:4px 0}
details.plus .items{margin-top:6px}
.sp-intro{margin:10px 0 0;font-size:.9rem;line-height:1.6}
.bio{margin:6px 0 0;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:1.08rem}
details.cent{margin-top:18px;border-top:1px solid var(--line);padding-top:8px}
details.cent>summary{cursor:pointer;font-size:.85rem;color:var(--muted)}
.cap.src{margin-top:14px}
footer{margin-top:34px;padding-top:14px;border-top:1px solid var(--line);font-size:.78rem;line-height:1.6;color:var(--muted)}
footer p{margin:0 0 8px;max-width:70ch}

/* Sans JavaScript, seules la liste du mois et le pied de page restent visibles */
.no-js .nav,.no-js .back,.no-js .strip,.no-js .tabs,.no-js .filters{display:none!important}
