:root{
  --bg:#E9EEF2; --paper:#F8FAFB; --ink:#0F1B27; --mute:#566673; --line:#C9D3DB;
  --accent:#00796B; --live:#D7263D;
  --glossy:linear-gradient(140deg,#43d9c4 0%,#00a392 22%,var(--accent) 42%,#004d44 72%,#021412 100%);
  --display:"Bricolage Grotesque",system-ui,sans-serif;
  --serif:"Source Serif 4",Georgia,serif;
  --bar:4px;
  --head:4.4rem;
  --pad:clamp(.6rem,1.6vw,1.2rem);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;padding-top:var(--bar);background:var(--bg);color:var(--ink);font:1rem/1.55 var(--serif);
  min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.top{display:flex;gap:1rem;align-items:center;padding:.8rem var(--pad);background:var(--ink);color:#fff;
  position:sticky;top:var(--bar);z-index:5}
.top>input{flex:0 1 28rem;min-width:0;padding:.6rem .8rem;border:0;border-radius:6px;
  font:inherit;font-size:1rem;background:#fff;color:var(--ink)}
.tools{margin-left:auto;display:flex;align-items:center;gap:.6rem}
.wx,.acct,.bell{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;
  padding:.45rem .7rem;border-radius:6px;font:700 .9rem/1 var(--display);color:#fff;white-space:nowrap}
.wx:hover{background:rgba(255,255,255,.14)}
.wx:focus-visible{outline:2px solid #fff}
.wx-ico{font-size:1.15rem}
.wx-t{font-size:1rem}
.wx-c{color:#B8C6D1;font-weight:400}
.top .acct,.top .bell{
  position:relative;isolation:isolate;width:44px;height:44px;padding:0;gap:0;justify-content:center;
  border-radius:999px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);
  background:var(--glossy);
  box-shadow:
    inset 1px 1px 1px rgba(255,255,255,.7),
    inset 0 0 0 1px rgba(255,255,255,.16),
    inset -3px -4px 8px rgba(0,0,0,.55),
    0 6px 14px rgba(0,0,0,.65),
    0 2px 4px rgba(0,0,0,.85),
    0 4px 22px rgba(0,200,180,.45);
  transition:transform .2s ease,filter .2s,box-shadow .2s;
}
.top .acct::before,.top .bell::before{
  content:"";position:absolute;z-index:-1;left:7px;right:7px;top:2px;height:46%;
  border-radius:999px 999px 50% 50%/999px 999px 100% 100%;
  background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,0));pointer-events:none;
}
.top .acct svg,.top .bell svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}
.top .acct:hover,.top .bell:hover{filter:brightness(1.12);transform:translateY(-2px)}
.top .acct:active,.top .bell:active{
  transform:translateY(1px);
  box-shadow:
    inset 1px 1px 1px rgba(255,255,255,.5),
    inset 0 0 0 1px rgba(255,255,255,.12),
    inset -2px -3px 6px rgba(0,0,0,.5),
    0 3px 7px rgba(0,0,0,.65),
    0 1px 2px rgba(0,0,0,.85);
}
.top .acct:focus-visible,.top .bell:focus-visible{outline:2px solid #fff;outline-offset:3px}

.wrap{flex:1 0 auto;width:100%;display:grid;grid-template-columns:14rem minmax(0,1fr);gap:1.5rem;
  max-width:100rem;margin:0 auto;padding:1.2rem var(--pad)}
.wrap.single{grid-template-columns:minmax(0,1fr)}
.page{max-width:52rem}
.page h1{font:800 1.8rem var(--display);margin:.2rem 0 1rem}

.filters{position:sticky;top:calc(var(--bar) + var(--head) + .6rem);align-self:start;font:.95rem var(--display);
  max-height:calc(100vh - var(--bar) - var(--head) - 1.2rem);max-height:calc(100dvh - var(--bar) - var(--head) - 1.2rem);
  overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding-right:.4rem;scrollbar-width:thin;scrollbar-gutter:stable;min-width:0}
.filters .chip,.filters .srcs label{min-width:0;max-width:100%;overflow-wrap:anywhere}
.filters .srcs label{align-items:flex-start}
.filters .srcs label input{flex:none;margin-top:.3rem}
.group{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1.2rem}
.chip{all:unset;box-sizing:border-box;cursor:pointer;padding:.4rem .7rem;border-radius:6px;font-weight:700}
.chip:hover{background:var(--line)}
.chip.on{background:var(--ink);color:#fff}
.srcs{max-height:none;overflow:visible}
.srcs label{display:flex;gap:.5rem;align-items:center;padding:.15rem .7rem;color:var(--mute);cursor:pointer}
.srcs input{accent-color:var(--accent)}
.acts{flex-direction:row;flex-wrap:wrap;gap:.4rem}
.mini{all:unset;box-sizing:border-box;cursor:pointer;padding:.3rem .6rem;border:1px solid var(--line);
  border-radius:6px;font:700 .8rem var(--display);color:var(--mute);background:var(--paper)}
.mini:hover{border-color:var(--ink);color:var(--ink)}

.bar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-bottom:.8rem;font:.9rem var(--display);scroll-margin-top:calc(var(--bar) + var(--head) + .6rem)}
.count{margin:0 auto 0 0;font-weight:700;color:var(--mute)}
.bar label{display:flex;align-items:center;gap:.4rem;font-weight:700}
.bar select{font:inherit;font-weight:400;padding:.4rem .5rem;border:1px solid var(--line);border-radius:6px;
  background:var(--paper);color:var(--ink);max-width:100%}
.views{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--paper)}
.views button{all:unset;box-sizing:border-box;cursor:pointer;padding:.4rem .6rem;display:flex;color:var(--mute)}
.views button:hover{color:var(--ink)}
.views button[aria-pressed="true"]{background:var(--ink);color:#fff}
.views button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}

.meta{margin:0 0 .15rem;font:700 .85rem var(--display);color:var(--mute);display:flex;align-items:center;flex-wrap:wrap;gap:.3rem .55rem}
.live{width:.55rem;height:.55rem;border-radius:50%;background:var(--live);flex:none}
.item h3{margin:0;font:700 1.2rem/1.3 var(--display);overflow-wrap:anywhere}
.item h3 a{text-decoration:none}
.item h3 a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.desc{margin:.35rem 0 0;color:#2b3a47;max-width:70ch}
.when time{font:800 1.5rem/1.1 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;display:block}
.when .d{display:block;margin-top:.15rem;font:.75rem var(--display);color:var(--mute)}
.thumb{display:block;background:var(--line);border-radius:8px;overflow:hidden}
.thumb img{display:block;width:100%;height:100%;object-fit:cover}
.ph{display:none}
.empty{padding:2rem 0;color:var(--mute)}

.list .item{display:grid;grid-template-columns:5rem minmax(0,1fr) 8.5rem;gap:1rem;align-items:start;
  padding:.95rem 0;border-bottom:1px solid var(--line)}
.list .item.noimg{grid-template-columns:5rem minmax(0,1fr)}
.list .when{grid-column:1;grid-row:1}
.list .body{grid-column:2;grid-row:1}
.list .thumb{grid-column:3;grid-row:1;aspect-ratio:16/10}

.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(16.5rem,1fr));gap:1rem}
.cards .item{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);
  border-radius:10px;overflow:hidden}
.cards .thumb{order:0;width:100%;aspect-ratio:16/9;border-radius:0}
.cards .item.noimg .ph{display:flex;order:0;align-items:center;justify-content:center;aspect-ratio:16/9;
  background:linear-gradient(135deg,hsl(var(--h),48%,38%),hsl(var(--h),52%,20%));
  color:#fff;font:800 2.6rem var(--display);text-shadow:0 2px 6px rgba(0,0,0,.35)}
.cards .body{order:1;flex:1;padding:.8rem .9rem 0}
.cards .item.noimg .body{padding-top:.9rem}
.cards .when{order:2;display:flex;align-items:baseline;gap:.5rem;padding:.6rem .9rem .8rem}
.cards .when time{font-size:.95rem}
.cards .when .d{margin:0}
.cards .item h3{font-size:1.1rem}

.foot{flex-shrink:0;width:100%;background:var(--ink);color:#C9D3DB;font-size:.88rem;
  padding:1.6rem var(--pad) calc(1.6rem + env(safe-area-inset-bottom,0px))}
.foot p{margin:0 0 .4rem}

@media (max-width:1024px){
  .wrap{grid-template-columns:12rem minmax(0,1fr);gap:1.2rem}
  .list .item{grid-template-columns:4.2rem minmax(0,1fr) 7rem;gap:.85rem}
  .list .item.noimg{grid-template-columns:4.2rem minmax(0,1fr)}
  .when time{font-size:1.3rem}
  .cards{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}
  .wx-c{display:none}
}

@media (max-width:760px){
  :root{--head:7rem}
  .top{flex-wrap:wrap;gap:.5rem .6rem;padding-top:.6rem;padding-bottom:.6rem}
  .top>input{order:3;flex:1 1 100%}
  .tools{gap:.3rem}
  .wrap{grid-template-columns:1fr;gap:.6rem;padding-top:.8rem}
  .filters{position:static;max-height:none;overflow:visible;padding-right:0;scrollbar-gutter:auto}
  .filters .srcs label{align-items:center}
  .filters .srcs label input{margin-top:0}
  .group{flex-direction:row;overflow-x:auto;margin-bottom:.4rem;padding-bottom:.3rem;
    -webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .chip,.srcs label,.mini{white-space:nowrap;flex:none}
  .chip,.srcs label{padding:.55rem .85rem;background:var(--paper);border-radius:6px}
  .chip.on{background:var(--ink)}
  .srcs{max-height:none}
  .acts{flex-wrap:nowrap}
  .count{flex:1 1 100%;margin:0}
  .bar label{flex:1 1 calc(50% - .5rem)}
  .bar select{flex:1;min-width:0}
  .views{margin-left:auto}
  .list .item{grid-template-columns:3.3rem minmax(0,1fr) 4.8rem;gap:.7rem;padding:.85rem 0}
  .list .item.noimg{grid-template-columns:3.3rem minmax(0,1fr)}
  .when time{font-size:1.05rem}
  .item h3{font-size:1.05rem}
  .desc{font-size:.95rem}
  .cards{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.8rem}
}
@media (max-width:480px){
  .cards{grid-template-columns:1fr}
}
@media (max-width:380px){
  .list .item,.list .item.noimg{grid-template-columns:1fr;gap:.3rem}
  .list .when{display:flex;gap:.5rem;align-items:baseline}
  .list .when time{font-size:.95rem}
  .list .when .d{margin:0}
  .list .body,.list .thumb{grid-column:1;grid-row:auto}
  .list .thumb{order:-1}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.top .acct,.top .bell{transition:none}}

.page h2{font:800 1.2rem var(--display);margin:1.8rem 0 .4rem}
.page p,.page li{max-width:70ch}
.page ul{padding-left:1.2rem}
.page a{color:var(--accent);text-underline-offset:3px}
.page code{font-size:.9em;background:var(--paper);padding:.05em .3em;border-radius:4px}
.updated{margin:0 0 1rem;font:.9rem var(--display);color:var(--mute)}
.tbl{overflow-x:auto;margin:.6rem 0}
.page table{border-collapse:collapse;width:100%;font-size:.92rem;background:var(--paper)}
.page th,.page td{border:1px solid var(--line);padding:.55rem .7rem;text-align:left;vertical-align:top}
.page th{font:700 .85rem var(--display);background:#DDE5EB}
.todo{background:#FFE9A8;color:#5A4300;padding:0 .3em;border-radius:3px;font:700 .85em var(--display)}
.foot-nav{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin:.2rem 0 .8rem}
.foot-nav a{color:#fff;text-underline-offset:3px}

.bellwrap{position:relative}
.bell .badge{position:absolute;z-index:1;top:-4px;right:-4px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;
  background:var(--live);color:#fff;font:800 .7rem/19px var(--display);text-align:center;text-shadow:none;box-shadow:0 0 0 2px var(--ink)}
.notif{position:absolute;right:0;top:calc(100% + .7rem);width:min(24rem,92vw);max-height:70vh;overflow:auto;
  background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:12px;
  box-shadow:0 14px 40px rgba(0,0,0,.35);z-index:20;font:.92rem var(--display);text-shadow:none}
.notif-h{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.8rem .9rem;border-bottom:1px solid var(--line)}
.notif-sub{margin:0;padding:.6rem .9rem 0;color:var(--mute);font-size:.85rem}
.notif-list{list-style:none;margin:0;padding:.3rem 0}
.notif-list a{display:block;position:relative;padding:.6rem .9rem;text-decoration:none;color:inherit}
.notif-list a:hover{background:var(--bg)}
.notif-list li.new a{padding-left:1.5rem}
.notif-list li.new a::before{content:"";position:absolute;left:.65rem;top:1.05rem;width:.5rem;height:.5rem;border-radius:50%;background:var(--live)}
.ns{display:block;color:var(--mute);font-size:.78rem;font-weight:700}
.nt{display:block;font-weight:700;line-height:1.3}
.notif-f{margin:0;padding:.7rem .9rem .8rem;border-top:1px solid var(--line);font-size:.8rem;color:var(--mute)}

.foot-in{max-width:100rem;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,28rem);gap:2rem 3rem;align-items:start}
.nl h2{margin:0 0 .3rem;font:800 1.15rem var(--display);color:#fff}
.nl p{margin:0 0 .8rem}
.nl-row{display:flex;flex-wrap:wrap;gap:.5rem}
.nl-row input[type=email]{flex:1 1 11rem;min-width:0}
.nl input[type=email],.nl select{padding:.6rem .7rem;border:1px solid rgba(255,255,255,.25);border-radius:6px;
  background:rgba(255,255,255,.08);color:#fff;font:inherit;font-size:1rem}
.nl input::placeholder{color:#8FA1B0}
.nl select option{color:var(--ink)}
.nl-btn,.btn-glossy{all:unset;box-sizing:border-box;cursor:pointer;position:relative;isolation:isolate;
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 1.4rem;
  border-radius:999px;color:#fff;font:700 .95rem var(--display);text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);
  background:var(--glossy);
  box-shadow:
    inset 1px 1px 1px rgba(255,255,255,.7),
    inset 0 0 0 1px rgba(255,255,255,.16),
    inset -3px -4px 8px rgba(0,0,0,.55),
    0 6px 14px rgba(0,0,0,.65),
    0 2px 4px rgba(0,0,0,.85),
    0 4px 22px rgba(0,200,180,.45);
  transition:transform .2s ease,filter .2s,box-shadow .2s}
.nl-btn::before,.btn-glossy::before{content:"";position:absolute;z-index:-1;left:10px;right:10px;top:2px;height:46%;
  border-radius:999px 999px 50% 50%/999px 999px 100% 100%;
  background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,0));pointer-events:none}
.nl-btn:hover:not(:disabled),.btn-glossy:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-2px)}
.nl-btn:active:not(:disabled),.btn-glossy:active:not(:disabled){transform:translateY(1px);
  box-shadow:
    inset 1px 1px 1px rgba(255,255,255,.5),
    inset 0 0 0 1px rgba(255,255,255,.12),
    inset -2px -3px 6px rgba(0,0,0,.5),
    0 3px 7px rgba(0,0,0,.65),
    0 1px 2px rgba(0,0,0,.85)}
.nl-btn:disabled,.btn-glossy:disabled{opacity:.6;cursor:default}
.nl-btn:focus-visible,.nl input:focus-visible,.nl select:focus-visible{outline:2px solid #fff;outline-offset:2px}
.nl-consent{display:flex;gap:.5rem;align-items:flex-start;margin-top:.7rem;font-size:.8rem;color:#B8C6D1;cursor:pointer}
.nl-consent input{margin-top:.2rem;accent-color:var(--accent);flex:none}
.nl-consent a{color:#fff}
.nl-msg{min-height:1.2rem;margin:.6rem 0 0!important;font-size:.88rem}
.nl-msg.ok{color:#7EE0C8}
.nl-msg.err{color:#FFB4B4}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.wxwrap{position:relative}
.wxpanel{position:absolute;right:0;top:calc(100% + .7rem);width:min(25rem,92vw);max-height:75vh;overflow:auto;
  background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:12px;
  box-shadow:0 14px 40px rgba(0,0,0,.35);z-index:20;font:.92rem var(--display)}
.wxp-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.2rem .8rem;
  padding:.85rem .9rem;border-bottom:1px solid var(--line)}
.wxp-h strong{font:800 1.1rem var(--display)}
.wxp-h span{color:var(--mute)}
.wxdays{list-style:none;margin:0;padding:0}
.wxdays li{display:grid;grid-template-columns:minmax(0,1fr) 2rem 5rem 4rem;align-items:center;gap:.4rem;
  padding:.55rem .9rem;border-bottom:1px solid var(--line)}
.wxd-n{text-transform:capitalize;font-weight:700}
.wxdays li:first-child .wxd-n{color:var(--accent)}
.wxd-i{font-size:1.3rem;text-align:center}
.wxd-t{white-space:nowrap}
.wxd-t b{font-weight:800}
.wxd-t .lo{color:var(--mute)}
.wxd-r{color:var(--mute);font-size:.82rem;text-align:right;white-space:nowrap}
.wxsearch{display:flex;gap:.4rem;padding:.7rem .9rem 0}
.wxsearch input{flex:1;min-width:0;padding:.45rem .6rem;border:1px solid var(--line);border-radius:6px;
  background:#fff;color:var(--ink);font:inherit;font-size:1rem}
.wxp-f{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.6rem .9rem 0}
#wxMsg{color:var(--mute);font-size:.82rem}
.wxp-c{margin:0;padding:.7rem .9rem .8rem;font-size:.78rem;color:var(--mute)}
.wxp-c a{color:inherit}

.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem;margin:1.6rem 0 .5rem;font:700 .95rem var(--display)}
.pager button{all:unset;box-sizing:border-box;cursor:pointer;min-width:2.4rem;height:2.4rem;padding:0 .75rem;
  display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;
  background:var(--paper);color:var(--ink)}
.pager button:hover:not(:disabled){border-color:var(--ink)}
.pager button[aria-current="page"]{background:var(--ink);border-color:var(--ink);color:#fff}
.pager button:disabled{opacity:.4;cursor:default}
.pager button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pager .gap{padding:0 .2rem;color:var(--mute)}
.pager-info{margin:0 0 1rem;text-align:center;color:var(--mute);font:.85rem var(--display)}

.thumb.is-logo{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line)}
.cards .thumb.is-logo{border-width:0 0 1px}
.thumb.is-logo img{width:clamp(2.4rem,38%,5.5rem);height:auto;max-height:70%;object-fit:contain}

.tags{display:inline-flex;flex-wrap:wrap;gap:.3rem}
.cat{all:unset;box-sizing:border-box;cursor:pointer;padding:.12rem .55rem;border-radius:999px;
  font:700 .72rem/1.4 var(--display);background:hsl(var(--h),70%,92%);color:hsl(var(--h),60%,24%)}
.cat:hover{background:hsl(var(--h),70%,85%)}
.cat:focus-visible{outline:2px solid var(--accent);outline-offset:1px}

@media (max-width:760px){
  .foot-in{grid-template-columns:1fr}
  .notif{position:fixed;left:var(--pad);right:var(--pad);top:calc(var(--bar) + var(--head));width:auto}
  .bellwrap{position:static}
  .wxwrap{position:static}
  .wxpanel{position:fixed;left:var(--pad);right:var(--pad);top:calc(var(--bar) + var(--head));width:auto}
  .wxdays li{grid-template-columns:minmax(0,1fr) 1.8rem 4.4rem 3.6rem;padding:.5rem .8rem}
  .pager button{min-width:2.75rem;height:2.75rem}
}

.auth-card{max-width:28rem;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:1.2rem 1.3rem 1.4rem;margin:0 0 1.2rem}
.auth-card h2{margin-top:.2rem}
.auth-tabs{display:flex;gap:.3rem;margin:0 0 1.1rem;padding:.3rem;background:var(--bg);border-radius:999px;font:700 .95rem var(--display)}
.auth-tabs a{flex:1;text-align:center;padding:.5rem .6rem;border-radius:999px;text-decoration:none;color:var(--mute);min-height:40px;display:flex;align-items:center;justify-content:center;
  transition:transform .2s ease,filter .2s,box-shadow .2s,color .2s}
.page .auth-tabs a{color:var(--mute)}
.auth-tabs a:hover,.page .auth-tabs a:hover{color:var(--ink)}
.auth-form{display:flex;flex-direction:column;gap:.9rem}
.fld{display:flex;flex-direction:column;gap:.3rem}
.fld label{font:700 .88rem var(--display)}
.fld .hint{font-weight:400;color:var(--mute)}
.fld input[type=text],.fld input[type=email],.fld input[type=password]{width:100%;padding:.65rem .75rem;border:1px solid var(--line);
  border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:1rem}
.fld input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.fld input[aria-invalid="true"]{border-color:var(--live)}
.fld label.chk{display:flex;gap:.5rem;align-items:flex-start;font:400 .85rem/1.45 var(--serif);cursor:pointer}
.chk input{margin-top:.2rem;accent-color:var(--accent);flex:none}
.pw{position:relative}
.pw input{padding-right:5.2rem!important}
.pw-t{all:unset;box-sizing:border-box;cursor:pointer;position:absolute;right:.35rem;top:50%;transform:translateY(-50%);
  padding:.3rem .55rem;border-radius:5px;font:700 .75rem var(--display);color:var(--mute)}
.pw-t:hover{color:var(--ink);background:var(--bg)}
.pw-t:focus-visible{outline:2px solid var(--accent)}
.fld-err{margin:0;color:var(--live);font:700 .82rem var(--display)}
.auth-error{margin:0 0 .9rem;padding:.65rem .8rem;border-radius:6px;background:#FDE4E7;color:#8C1626;font:700 .9rem var(--display)}
.auth-flash{max-width:28rem;margin:0 0 1rem;padding:.65rem .8rem;border-radius:6px;background:#D9F2EC;color:#00473F;font:700 .9rem var(--display)}
.auth-form .btn-glossy{align-self:flex-start;margin-top:.3rem}
.auth-alt{margin:.2rem 0 0;font-size:.9rem;color:var(--mute)}
.prof{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem;margin:0 0 1.2rem}
.prof dt{font:700 .85rem var(--display);color:var(--mute)}
.prof dd{margin:0;overflow-wrap:anywhere}
.btn-glossy{text-decoration:none}

.auth-intro{margin:0 0 1rem;font-size:.95rem}
.code-input{text-align:center;font:800 1.8rem/1.2 var(--display)!important;letter-spacing:.5rem;font-variant-numeric:tabular-nums}
.code-input::placeholder{color:#B5C1CB}
.auth-side{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--line)}
.auth-side form{margin:0}

.compte-mosaic{position:fixed;inset:0;z-index:0;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(6,1fr);
  gap:4px;padding:0;opacity:.32;filter:grayscale(8%) saturate(1.05);pointer-events:none}
.compte-mosaic::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,var(--bg) 0%,transparent 75%);opacity:.85}
.cm-tile{position:relative;overflow:hidden;border-radius:.6rem;background:var(--line)}
.cm-layer{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;
  animation-name:cmFade;animation-iteration-count:infinite;animation-fill-mode:backwards;animation-timing-function:ease-in-out}
@keyframes cmFade{0%{opacity:0}12%{opacity:1}45%{opacity:1}58%{opacity:0}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.cm-layer{animation:none;opacity:1}.cm-layer+.cm-layer{display:none}}
@media (max-width:640px){
  .compte-mosaic{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr)}
  .cm-tile{grid-column:auto!important;grid-row:auto!important}
}

.compte-mosaic~.wrap,.compte-mosaic~.foot{position:relative;z-index:1}
.compte-mosaic~.wrap{display:flex;align-items:center;justify-content:center}
.compte-mosaic~.wrap .page{width:100%;max-width:28rem;margin:0 auto;text-align:center}
.compte-mosaic~.wrap .page h1{margin-top:0}
.compte-mosaic~.wrap .page p,.compte-mosaic~.wrap .page li{margin-left:auto;margin-right:auto}

.compte-mosaic~.wrap .auth-card{max-width:none;width:100%;margin:0 auto 1.2rem;background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.25);
  backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%)}
.compte-mosaic~.wrap .auth-flash{margin-left:auto;margin-right:auto}
.compte-mosaic~.wrap .fld{align-items:stretch;text-align:center}
.compte-mosaic~.wrap .fld input[type=text],.compte-mosaic~.wrap .fld input[type=email],.compte-mosaic~.wrap .fld input[type=password]{text-align:center}
.compte-mosaic~.wrap .auth-form .btn-glossy{align-self:center}
.compte-mosaic~.wrap .auth-side{justify-content:center}
.compte-mosaic~.wrap .prof{justify-content:center;text-align:left}
.compte-mosaic~.wrap .page a{font-weight:600}

body.page-compte .top{background:transparent}
body.page-compte .wx{color:var(--ink)}
body.page-compte .wx:hover{background:rgba(15,27,39,.1)}
body.page-compte .wx:focus-visible{outline-color:var(--ink)}
body.page-compte .wx-c{color:var(--mute)}

.auth-tabs a[aria-current="page"],.page .auth-tabs a[aria-current="page"]{
  position:relative;isolation:isolate;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);
  background:var(--glossy);
  box-shadow:
    inset 1px 1px 1px rgba(255,255,255,.7),
    inset 0 0 0 1px rgba(255,255,255,.16),
    inset -3px -4px 8px rgba(0,0,0,.55),
    0 4px 10px rgba(0,0,0,.5),
    0 2px 3px rgba(0,0,0,.7),
    0 3px 16px rgba(0,200,180,.4)}
.auth-tabs a[aria-current="page"]::before{content:"";position:absolute;z-index:-1;left:10px;right:10px;top:2px;height:46%;
  border-radius:999px 999px 50% 50%/999px 999px 100% 100%;
  background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,0));pointer-events:none}
.auth-tabs a[aria-current="page"]:hover,.page .auth-tabs a[aria-current="page"]:hover{filter:brightness(1.12);transform:translateY(-2px);color:#fff}
.auth-tabs a[aria-current="page"]:active{transform:translateY(1px);
  box-shadow:
    inset 1px 1px 1px rgba(255,255,255,.5),
    inset 0 0 0 1px rgba(255,255,255,.12),
    inset -2px -3px 6px rgba(0,0,0,.5),
    0 2px 5px rgba(0,0,0,.5),
    0 1px 2px rgba(0,0,0,.7)}
.auth-tabs a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.auth-tabs a{transition:none}}

.page h2[id]{scroll-margin-top:calc(var(--bar) + var(--head) + .6rem)}
.help-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;padding:0!important;list-style:none}
.help-nav a,.page .help-nav a{display:inline-block;padding:.4rem .85rem;border:1px solid var(--line);border-radius:999px;
  background:var(--paper);color:var(--ink);font:700 .85rem var(--display);text-decoration:none}
.help-nav a:hover{border-color:var(--ink)}
.faq{background:var(--paper);border:1px solid var(--line);border-radius:10px}
.faq+.faq{margin-top:.5rem}
.faq summary{cursor:pointer;list-style:none;position:relative;padding:.8rem 2.6rem .8rem 1rem;font:700 1rem/1.35 var(--display)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:1.4rem;line-height:1;color:var(--accent)}
.faq[open] summary::after{content:"\2212"}
.faq summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:10px}
.faq-a{padding:0 1rem .9rem}
.faq-a p{margin:.4rem 0}
.help-box{margin:2rem 0 1rem;padding:1.1rem 1.3rem;background:var(--paper);border:1px solid var(--line);border-radius:12px}
.help-box h2{margin-top:0}
.about-lead{font-size:1.1rem;line-height:1.55}
.about-stats{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.2rem 0;padding:0!important;list-style:none}
.about-stats li{flex:1 1 9rem;padding:.8rem 1rem;background:var(--paper);border:1px solid var(--line);border-radius:12px;text-align:center}
.about-stats strong{display:block;font:800 1.8rem/1.1 var(--display);color:var(--accent)}
.about-stats span{font-size:.85rem;color:var(--mute)}
.about-cat{margin:.9rem 0 0;font:700 .95rem var(--display)}
.about-src{margin:.15rem 0 0;font-size:.92rem;color:var(--mute)}

.page.page-legal{max-width:none}
.page-legal p,.page-legal li{max-width:none}

.logo{display:inline-flex;align-items:center;line-height:0}
.logo img{display:block;height:1.9rem;width:auto;max-width:none}
.foot-logo{margin:0 0 .4rem;line-height:0}
.foot-logo img{display:block;height:2.6rem;width:auto;max-width:100%}
@media (max-width:640px){.logo img{height:1.65rem}}

.allrow{display:flex;align-items:center;gap:.3rem;border-radius:6px}
.allrow>.chip[data-cat="all"]{flex:1}
.ctools{display:flex;gap:.1rem;margin-left:auto}
.chip.tool{display:inline-flex;align-items:center;justify-content:center;padding:.4rem;color:var(--mute)}
.chip.tool:hover{color:var(--ink)}
.chip.tool svg{display:block}

.content{min-width:0}
.feed{min-width:0}
.feed.minicards,.cards.minicards{grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.6rem}
.minicards .item h3{font-size:.92rem}
.minicards .desc{display:none}

.sliders{display:flex;flex-direction:column;gap:1.6rem}
.slider-h h2{margin:0 0 .5rem;font:800 1.15rem var(--display)}
.slider-h h2 span{font-weight:400;color:var(--mute);font-size:.95rem}
.track{display:flex;gap:.9rem;overflow-x:auto;padding:.2rem .1rem .8rem;scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;scrollbar-width:thin}
.track.cards{display:flex}
.track .item{flex:0 0 16rem;width:16rem;scroll-snap-align:start}

.modal{position:fixed;inset:0;z-index:9500;display:flex;align-items:center;justify-content:center;
  padding:1rem;background:rgba(15,27,39,.55)}
.modal-box{width:min(34rem,100%);max-height:calc(100dvh - 2rem);display:flex;flex-direction:column;
  background:var(--paper);color:var(--ink);border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.4);overflow:hidden}
.modal-h{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.1rem;border-bottom:1px solid var(--line)}
.modal-h h2{margin:0;font:800 1.15rem var(--display)}
.modal-b{flex:1;overflow-y:auto;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:1.1rem;font-family:var(--display);font-size:.95rem}
.modal-b section{display:flex;flex-direction:column;gap:.6rem}
.modal-b h3{margin:0;font:800 .95rem var(--display)}
.modal-f{display:flex;justify-content:flex-end;padding:.8rem 1.1rem;border-top:1px solid var(--line)}
.modal-f .mini,.fact .mini{background:var(--ink);color:#fff;border-color:var(--ink);padding:.5rem 1rem}
.modal input[type=search],.modal input[type=text],.modal input[type=email],.modal input[type=url],.modal select,.modal textarea{
  width:100%;padding:.6rem .7rem;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font:inherit}
.modal textarea{resize:vertical}
.modal label.fld{display:flex;flex-direction:column;gap:.3rem}
.modal label.fld>span{font:700 .88rem var(--display)}
.mrow{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer}
.mrow small{display:block;margin-top:.15rem;font-weight:400;color:var(--mute);line-height:1.4}
.sw{appearance:none;-webkit-appearance:none;flex:none;width:2.8rem;height:1.6rem;border-radius:999px;background:var(--line);
  position:relative;cursor:pointer;transition:background .2s}
.sw::after{content:"";position:absolute;top:.2rem;left:.2rem;width:1.2rem;height:1.2rem;border-radius:50%;background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.4);transition:transform .2s}
.sw:checked{background:var(--accent)}
.sw:checked::after{transform:translateX(1.2rem)}
.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.3rem .8rem;max-height:12rem;overflow-y:auto}
.checks.tall{max-height:18rem}
.checks label{display:flex;align-items:center;gap:.5rem;padding:.15rem 0;cursor:pointer}
.checks input,.mrow input:not(.sw){accent-color:var(--accent)}
.modal-b .acts{display:flex;flex-direction:row;flex-wrap:wrap;gap:.4rem;margin:0}

.htabs{display:flex;flex-wrap:wrap;gap:.4rem}
.htabs .mini[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.hset{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:.8rem}
.hcenter{margin:0;color:var(--mute)}
.fact{display:flex;justify-content:flex-end}
.fmsg{min-height:1.2rem;margin:0;font:700 .88rem var(--display)}
.fmsg.ok{color:#00473F}
.fmsg.err{color:#8C1626}

.helpmenu{position:fixed;z-index:9600;min-width:15rem;display:flex;flex-direction:column;padding:.3rem;
  background:var(--paper);border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 40px rgba(0,0,0,.35);font:.92rem var(--display)}
.helpmenu button,.helpmenu a{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  gap:1rem;padding:.55rem .7rem;border-radius:6px;color:var(--ink);font:700 .92rem var(--display)}
.helpmenu button:hover,.helpmenu a:hover,.helpmenu button:focus-visible,.helpmenu a:focus-visible{background:var(--line)}

kbd{display:inline-block;min-width:1.6rem;padding:.1rem .4rem;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;
  background:#fff;color:var(--ink);font:700 .8rem var(--display);text-align:center}
.klist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}
.klist li{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.klist.cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.4rem 1.2rem}
.khint{margin:.3rem 0 0;font-size:.85rem;color:var(--mute)}

.toast{position:fixed;left:50%;bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));z-index:9700;transform:translate(-50%,1rem);
  padding:.6rem 1rem;border-radius:8px;background:var(--ink);color:#fff;font:700 .9rem var(--display);opacity:0;pointer-events:none;
  transition:opacity .2s,transform .2s}
.toast.show{opacity:1;transform:translate(-50%,0)}

.compte-mosaic~.wrap .fld label.chk{
  display:flex;
  justify-content:flex-start;
  align-items:flex-start;
  gap:.6rem;
  width:100%;
  text-align:left;
}
.compte-mosaic~.wrap .chk input{
  flex:none;
  width:1.15rem;
  height:1.15rem;
  margin:.2rem 0 0;
}
.compte-mosaic~.wrap .chk span{
  flex:1 1 0;
  min-width:0;
}

.mini.plus{
  padding:.25rem;
  border:0;
  border-radius:6px;
  background:none;
  color:var(--mute);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:0;
}
.mini.plus:hover{background:none;border:0;color:var(--ink)}
.mini.plus:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.countrow{display:flex;align-items:center;gap:.3rem;margin:0 auto 0 0}
.countrow .count{margin:0;flex:0 1 auto}
@media (max-width:640px){.countrow{flex:1 1 100%}}

.ftitlerow{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:0 0 .4rem}
.ftools{display:flex;align-items:center;gap:.1rem}
.ftitle{margin:0;font:800 .95rem var(--display);color:var(--ink)}

.bell.off{opacity:.55}
.notif-h strong{font:800 1rem var(--display)}
.notif-btns{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}
.notif-prefs{display:flex;flex-direction:column;gap:.55rem;padding:.8rem .9rem;border-bottom:1px solid var(--line)}
.np-t{margin:0;font:800 .78rem var(--display);text-transform:uppercase;letter-spacing:.05em;color:var(--mute)}
.np-cats{display:flex;flex-wrap:wrap;gap:.35rem}
.np-cats .chip{padding:.25rem .65rem;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.82rem;font-weight:700}
.np-cats .chip:hover{border-color:var(--ink);background:#fff}
.np-cats .chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
#npFilter{width:100%;padding:.5rem .65rem;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:.9rem}
.np-srcs{display:flex;flex-direction:column;gap:.1rem;max-height:11rem;overflow-y:auto;padding-right:.2rem}
.np-srcs label{display:flex;align-items:center;gap:.5rem;padding:.2rem 0;cursor:pointer;font-size:.9rem}
.np-srcs input{accent-color:var(--accent);flex:none}
.np-a{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}
.np-i{margin:0;font-size:.8rem;color:var(--mute)}
.notif-top-wrap{position:sticky;bottom:.7rem;height:0;overflow:visible;pointer-events:none}
.notif-top{all:unset;box-sizing:border-box;pointer-events:auto;cursor:pointer;position:absolute;right:.8rem;bottom:0;
  width:2.4rem;height:2.4rem;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:var(--ink);color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.4)}
.notif-top:hover{background:var(--accent)}
.notif-top:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.notif-top[hidden]{display:none}

  .scroll-progress {
    position: fixed; top: 0; left: 0; right: 0; height: 4px; z-index: 10000;
    background: var(--ink, #0f1b27); pointer-events: none;
  }
  .scroll-progress-bar {
    height: 100%; width: 100%; background: var(--accent, #00796b);
    transform: scaleX(0); transform-origin: left center; will-change: transform;
  }
  
  .back-to-top {
    all: unset; box-sizing: border-box;
    position: fixed; right: 20px; bottom: calc(24px + env(safe-area-inset-bottom, 0px)); z-index: 9000;
    width: 44px; height: 44px; padding: 0; border-radius: 999px;
    display: flex; align-items: center; justify-content: center;
    color: #fff; cursor: pointer; isolation: isolate; text-shadow: 0 1px 2px rgba(0,0,0,.6);
    background: var(--glossy);
    box-shadow:
      inset 1px 1px 1px rgba(255,255,255,.7),
      inset 0 0 0 1px rgba(255,255,255,.16),
      inset -3px -4px 8px rgba(0,0,0,.55),
      0 6px 14px rgba(0,0,0,.65),
      0 2px 4px rgba(0,0,0,.85),
      0 4px 22px rgba(0,200,180,.45);
    opacity: 0; visibility: hidden; transform: translateY(16px);
    transition: opacity .3s ease, transform .2s ease, visibility .3s, filter .2s, box-shadow .2s;
  }
  .back-to-top::before {
    content: ""; position: absolute; z-index: -1; left: 7px; right: 7px; top: 2px; height: 46%;
    border-radius: 999px 999px 50% 50% / 999px 999px 100% 100%;
    background: linear-gradient(180deg, rgba(255,255,255,.5), rgba(255,255,255,0)); pointer-events: none;
  }
  .back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
  .back-to-top.is-visible:hover { filter: brightness(1.12); transform: translateY(-2px); }
  .back-to-top.is-visible:active {
    transform: translateY(1px);
    box-shadow:
      inset 1px 1px 1px rgba(255,255,255,.5),
      inset 0 0 0 1px rgba(255,255,255,.12),
      inset -2px -3px 6px rgba(0,0,0,.5),
      0 3px 7px rgba(0,0,0,.65),
      0 1px 2px rgba(0,0,0,.85);
  }
  .back-to-top:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
  .back-to-top svg { width: 20px; height: 20px; filter: drop-shadow(0 1px 2px rgba(0,0,0,.6)); }
  @media (max-width: 640px) { .back-to-top { right: 14px; bottom: calc(18px + env(safe-area-inset-bottom, 0px)); } }
  @media (prefers-reduced-motion: reduce) { .back-to-top { transition: none; } }

/* ---------- Pages catégories (SEO) ---------- */
.foot-h{margin:.8rem 0 .2rem!important;font:800 .8rem var(--display);text-transform:uppercase;letter-spacing:.05em;color:#fff}
.crumbs{margin:0 0 .6rem;font:700 .85rem var(--display);color:var(--mute)}
.crumbs a{color:var(--mute);text-underline-offset:3px}
.crumbs a:hover{color:var(--ink)}
.crumbs span[aria-current]{color:var(--ink)}
.content h1.cat-h1{margin:0 0 .5rem;font:800 1.8rem/1.2 var(--display)}
.cat-intro{margin:0 0 1rem;max-width:70ch;color:#2b3a47}
.cat-count{margin:0 0 .8rem;font:700 .9rem var(--display);color:var(--mute)}
.cat-srcs h2{margin:1.6rem 0 .4rem;font:800 1.05rem var(--display)}
.cat-srcs p{margin:0;max-width:75ch;color:var(--mute);font:.92rem/1.6 var(--display)}
.chip[href]{text-decoration:none;color:inherit}
.chip[href]:hover{background:var(--line)}
.chip.on[href]{color:#fff}
a.cat{text-decoration:none;display:inline-block}
.pager a{box-sizing:border-box;cursor:pointer;min-width:2.4rem;height:2.4rem;padding:0 .75rem;
  display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;
  background:var(--paper);color:var(--ink);text-decoration:none}
.pager a:hover{border-color:var(--ink)}
.pager a[aria-current="page"]{background:var(--ink);border-color:var(--ink);color:#fff}
.pager a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (max-width:760px){.pager a{min-width:2.75rem;height:2.75rem}}

/* ---------- Pages journaux (SEO) ---------- */
.meta a.src{color:inherit;text-decoration:none}
.meta a.src:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.cat-srcs a{color:inherit;text-underline-offset:3px}
.cat-srcs a:hover{color:var(--ink)}
.az-nav{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 .6rem}
.az-nav a,.page .az-nav a{display:inline-flex;align-items:center;justify-content:center;min-width:2.2rem;height:2.2rem;padding:0 .5rem;
  border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);font:700 .85rem var(--display);text-decoration:none}
.az-nav a:hover{border-color:var(--ink)}
.az h2{scroll-margin-top:calc(var(--bar) + var(--head) + .6rem)}
.az-list{list-style:none;margin:0;padding:0!important;columns:15rem;column-gap:1.5rem}
.az-list li{max-width:none;break-inside:avoid;padding:.12rem 0}
.az-list small{color:var(--mute);font:.75rem var(--display)}

/* ---------- Tendances ---------- */
.trend{margin:0 0 1rem;padding:1rem 1.2rem;background:var(--paper);border:1px solid var(--line);border-radius:12px}
.page .trend h2{display:flex;align-items:center;gap:.6rem;margin:0 0 .2rem;font:800 1.25rem/1.25 var(--display)}
.trend-rank{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:1.9rem;height:1.9rem;padding:0 .4rem;
  border-radius:999px;background:var(--ink);color:#fff;font:800 .85rem var(--display)}
.trend-meta{margin:0 0 .6rem;font:700 .85rem var(--display);color:var(--mute)}
.page .trend-list{list-style:none;margin:0;padding:0}
.trend-list li{max-width:none;padding:.45rem 0;border-top:1px solid var(--line)}
.trend-list li>a{font:700 1rem/1.35 var(--display);text-decoration:none;color:var(--ink)}
.page .trend-list li>a{color:var(--ink)}
.trend-list li>a:hover{text-decoration:underline;text-underline-offset:3px}
.trend-src{display:block;margin-top:.1rem;font:.8rem var(--display);color:var(--mute)}
.page .trend-src a{color:var(--mute)}
.trend-more{margin:.6rem 0 0;font:700 .88rem var(--display)}

.fcount{margin:0;font:700 .82rem var(--display);color:var(--mute)}
.fcount.ok{color:var(--accent)}

.art{max-width:44rem;margin:0 auto;width:100%}
.art-head{margin-bottom:1.4rem}
.art-tag{display:inline-block;margin:0 0 .6rem;padding:.2rem .6rem;border-radius:999px;font:700 .78rem var(--display);
  color:#fff;background:hsl(105 45% 32%);text-decoration:none}
.art h1{font:800 clamp(1.7rem,4vw,2.4rem)/1.15 var(--display);margin:.1rem 0 .8rem}
.art-lead{margin:0 0 .9rem;font:600 1.15rem/1.5 var(--serif);color:var(--mute)}
.art-by{margin:0;font:700 .88rem var(--display);color:var(--mute);display:flex;flex-wrap:wrap;gap:.3rem .7rem}
.art-body{font:1.08rem/1.75 var(--serif)}
.art-body p{margin:0 0 1.1rem;overflow-wrap:anywhere}
.art-note{margin:2rem 0 0;padding-top:1rem;border-top:1px solid var(--line);font:.85rem var(--display);color:var(--mute)}
.art-more{margin-top:2rem}
.art-more h2{font:800 1.1rem var(--display);margin:0 0 .6rem}
.art-more ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
.art-more a{font:700 .95rem var(--display);text-decoration:none}
.art-more a:hover{text-decoration:underline}
.art-more small{display:block;font-weight:400;color:var(--mute)}

.info{width:1.7rem;height:1.7rem;padding:0;border-radius:50%;display:inline-grid;place-items:center;font-style:italic;font-weight:800}
.fmt{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem}
.fmt .info{margin-left:auto}
.legend{margin:0;display:flex;flex-direction:column;gap:.3rem}
.legend dt{font:800 .9rem var(--display)}
.legend dd{margin:0 0 .5rem;font:.9rem/1.5 var(--serif);color:var(--mute)}
.legend-t{width:100%;border-collapse:collapse;font:.85rem var(--display)}
.legend-t th,.legend-t td{padding:.4rem .5rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.legend-t code{font:.82rem ui-monospace,Menlo,Consolas,monospace;background:var(--bg);padding:.1rem .3rem;border-radius:4px;overflow-wrap:anywhere}

.art-fig{margin:0 0 1.4rem}
.art-fig img{display:block;width:100%;height:auto;border-radius:8px;background:var(--line)}
.art-body{display:flow-root}
.art-body .art-fig-left{float:left;width:min(18rem,42%);margin:.3rem 1.3rem 1rem 0}
.art-body .art-fig-right{float:right;width:min(18rem,42%);margin:.3rem 0 1rem 1.3rem}
.art-sans .art-body,.art-sans .art-lead{font-family:var(--display)}
.art-justify .art-body{text-align:justify;hyphens:auto}
.art-body h2{font:800 1.5rem/1.25 var(--display);margin:1.8rem 0 .7rem;clear:both}
.art-body h3{font:800 1.2rem/1.3 var(--display);margin:1.4rem 0 .5rem;clear:both}
.art-body blockquote{margin:0 0 1.1rem;padding:.2rem 0 .2rem 1rem;border-left:4px solid var(--accent);color:var(--mute);font-style:italic}
.art-body blockquote p{margin:0}
.art-body ul,.art-body ol{margin:0 0 1.1rem;padding-left:1.5rem}
.art-body li{margin:0 0 .3rem}
.art-body hr{border:0;border-top:1px solid var(--line);margin:1.6rem 0;clear:both}
@media (max-width:600px){
  .art-body .art-fig-left,.art-body .art-fig-right{float:none;width:100%;margin:0 0 1.2rem}
}


/* Ligne du haut : journaux à gauche, articles à droite ; filtres en dessous */
:root{--ctl-h:2.2rem}
.filters .ftitlerow:first-child{min-height:var(--ctl-h)}

/* Mode sliders : cartes plus compactes */
.track{gap:.7rem}
.track .item{flex:0 0 13rem;width:13rem}
.track .cards .thumb,.track .item .thumb{aspect-ratio:16/9}
.track .item .body{padding:.6rem .7rem 0}
.track .item h3{font-size:.95rem;line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.track .item .desc{font-size:.85rem;line-height:1.4;margin:.35rem 0 0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.track .item .when{padding:.45rem .7rem .6rem}
.track .item .when time{font-size:.85rem}
.track .item .meta{font-size:.78rem}

/* Titre et description quand une seule catégorie est sélectionnée (accueil) */
.content h2.cat-h1{margin:0 0 .5rem;font:800 1.8rem/1.2 var(--display)}
.cat-head{margin:0 0 1rem}
@media (max-width:640px){.content h2.cat-h1{font-size:1.45rem}}

/* Bloc titre / description / compteur : fond image ou dégradé, défilement sur l'accueil */
.cat-head{position:relative;isolation:isolate;overflow:hidden;border-radius:10px;padding:1.6rem 1.4rem 1.2rem;margin:0 0 1rem;color:#fff;background:#0F1B27}
.cat-slides{position:absolute;inset:0;z-index:-2}
.cat-slide{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;
  background-image:var(--cat-img,none),linear-gradient(135deg,hsl(var(--hue,210) 55% 28%),hsl(calc(var(--hue,210) + 40) 60% 18%))}
.cat-head::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,27,39,.82),rgba(15,27,39,.4))}
.cat-head.is-anim .cat-slide{opacity:0;animation-iteration-count:infinite;animation-delay:calc(var(--i) * 6s - 1.2s)}
.cat-head.n2 .cat-slide{animation-name:catFade2;animation-duration:12s}
.cat-head.n3 .cat-slide{animation-name:catFade3;animation-duration:18s}
.cat-head.n4 .cat-slide{animation-name:catFade4;animation-duration:24s}
@keyframes catFade2{0%{opacity:0}10%{opacity:1}50%{opacity:1}60%{opacity:0}100%{opacity:0}}
@keyframes catFade3{0%{opacity:0}6.7%{opacity:1}33.3%{opacity:1}40%{opacity:0}100%{opacity:0}}
@keyframes catFade4{0%{opacity:0}5%{opacity:1}25%{opacity:1}30%{opacity:0}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){
  .cat-head.is-anim .cat-slide{animation:none;opacity:0}
  .cat-head.is-anim .cat-slide:first-child{opacity:1}
}
.cat-head .cat-h1{color:#fff;margin:0 0 .5rem}
.cat-head .cat-intro{color:rgba(255,255,255,.92);margin:0 0 .9rem}
.cat-countrow{display:flex;align-items:center;gap:.5rem}
.cat-head .cat-count{color:rgba(255,255,255,.85);margin:0}
.mtabs{padding:.7rem 1.1rem 0}
@media (max-width:640px){.cat-head{padding:1.1rem}}

/* --- Pagination en liens, fenêtre des journaux, titre h1 des catégories --- */
.pager .off{box-sizing:border-box;min-width:2.4rem;height:2.4rem;padding:0 .75rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;background:var(--paper);opacity:.4}
@media (max-width:760px){.pager .off{min-width:2.75rem;height:2.75rem}}
@media (max-width:640px){.content h1.cat-h1{font-size:1.45rem}}
.srcs-list{margin:0;line-height:1.8}
.srcs-list a{color:inherit;text-underline-offset:3px}

/* --- Tendances : bouton « Voir plus » --- */
.page .trend-more a.trend-btn{display:inline-block;padding:.5rem 1.2rem;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:#fff;text-decoration:none;font:800 .88rem var(--display)}
.page .trend-more a.trend-btn:hover{opacity:.85}

/* --- Tendances : pagination interne de chaque sujet --- */
.trend-pager{display:flex;align-items:center;gap:.75rem;margin:.6rem 0 .2rem}
.trend-pager .mini:disabled{opacity:.4;cursor:default}
.trend-pg{font-size:.85rem;color:var(--mute)}

/* Colonne de gauche remontée pour aligner le titre « Catégories » sur le haut du bloc titre de catégorie (bureau uniquement) */
@media (min-width:761px){.filters{margin-top:-.7rem}}
