:root{--ground:#F8ECE7;--paper:#FFFAF6;--ink:#2B2322;--muted:#7B6A66;--line:#EAD5CE;--rouge:#B5362B;--rouge-deep:#8F261E;--rouge-soft:#F3D6D0;--nuit:#25324D;--sauge:#7F9A7A;--sauge-soft:#E2EBDD;--rose:#E6AEA5;--cream-on-red:#FFF1EA;--shadow:0 24px 50px -28px rgba(92,40,30,.45);--serif:"Fraunces","Iowan Old Style",Georgia,serif;--hand:"Caveat","Bradley Hand",cursive}
html{color-scheme:light;scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--ink);font-family:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:18px;line-height:1.7;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
p{margin:0}
h1,h2,h3{font-family:var(--serif);font-variation-settings:"SOFT" 50,"opsz" 110;font-weight:380;line-height:1.08;margin:0;text-wrap:balance;letter-spacing:-.015em}
.ac{font-style:italic;color:var(--rouge);font-weight:340}
.wrap{max-width:1180px;margin-inline:auto;padding-inline:22px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--rouge);font-weight:600}
.eyebrow::before{content:"";width:28px;height:1.5px;background:currentColor}
.vichy{height:22px;background-color:var(--paper);background-image:linear-gradient(90deg,rgba(181,54,43,.42) 50%,transparent 50%),linear-gradient(rgba(181,54,43,.42) 50%,transparent 50%);background-size:22px 22px}
.top{position:sticky;top:0;z-index:30;backdrop-filter:blur(14px);background:color-mix(in srgb,var(--ground) 80%,transparent);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.top nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:13px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--serif);font-size:1.3rem;font-variation-settings:"SOFT" 50,"opsz" 36}
.brand svg{width:26px;height:26px;flex:none}
.brand i{color:var(--rouge);font-weight:340}
.brand span{line-height:1.1}
.brand small{display:block;font-family:"Figtree",sans-serif;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-top:1px}
.links{display:flex;gap:26px;font-size:.93rem;font-weight:500}
.links a{text-decoration:none;color:var(--muted)}
.links a:hover,.links a[aria-current]{color:var(--rouge)}
@media(max-width:760px){.links{display:none}}
.btn{display:inline-flex;align-items:center;gap:9px;padding:13px 22px;border-radius:999px;text-decoration:none;font-weight:600;font-size:.95rem;border:1.5px solid transparent;transition:transform .2s,background .2s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--rouge);color:#fff}
.btn-primary:hover{background:var(--rouge-deep)}
.btn-ghost{border-color:var(--ink)}
.btn-cream{background:var(--cream-on-red);color:var(--rouge-deep)}
a:focus-visible{outline:2px solid var(--rouge);outline-offset:3px;border-radius:6px}

/* en-tête d'article */
.a-head{padding-block:clamp(40px,6vw,84px) clamp(28px,4vw,48px);position:relative}
.a-head::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(800px 420px at 90% 0%,rgba(230,174,165,.42),transparent 62%)}
.a-head .in{max-width:860px;display:flex;flex-direction:column;gap:20px}
.crumbs{font-size:.85rem;color:var(--muted)}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--rouge)}
.a-head h1{font-size:clamp(2.3rem,5.4vw,4.2rem)}
.chapo{font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.45rem);line-height:1.45;color:var(--muted);font-variation-settings:"SOFT" 50,"opsz" 24;max-width:36em}
.meta{font-size:.85rem;color:var(--muted);display:flex;gap:14px;flex-wrap:wrap}
.a-cover{border-radius:26px;overflow:hidden;aspect-ratio:16/8;box-shadow:var(--shadow);margin-bottom:clamp(30px,5vw,60px)}
.a-cover img{width:100%;height:100%;object-fit:cover}
.a-cover.motif{aspect-ratio:16/4.5;background-color:var(--rouge);background-image:radial-gradient(circle,rgba(255,241,234,.22) 2.2px,transparent 2.8px),radial-gradient(circle,rgba(255,241,234,.12) 1.4px,transparent 2px);background-size:34px 34px;background-position:0 0,17px 17px;display:grid;place-items:center;color:var(--cream-on-red);font-family:var(--serif);font-style:italic;font-size:clamp(1.4rem,3.4vw,2.6rem);font-weight:340;text-align:center;padding:20px}

/* corps */
.a-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(30px,5vw,80px);align-items:start;padding-bottom:clamp(60px,8vw,110px)}
@media(max-width:980px){.a-grid{grid-template-columns:1fr}}
.prose{max-width:68ch;display:flex;flex-direction:column;gap:1.15em}
.prose h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-top:.9em}
.prose h3{font-size:1.3rem;margin-top:.5em;font-variation-settings:"SOFT" 50,"opsz" 36}
.prose a{color:var(--rouge-deep);text-decoration-thickness:1.5px;text-underline-offset:3px}
.prose ul,.prose ol{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:.45em}
.prose li::marker{color:var(--rouge)}
.prose strong{font-weight:600}
.prose blockquote{margin:0;padding:6px 0 6px 22px;border-left:3px solid var(--rose);font-family:var(--serif);font-style:italic;font-size:1.25rem;line-height:1.45;color:var(--ink)}
.prose figure{margin:.4em 0}
.prose figure img{border-radius:20px;box-shadow:var(--shadow)}
.prose figcaption{font-size:.85rem;color:var(--muted);padding-top:8px}
.reperes{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:22px 24px;display:flex;flex-direction:column;gap:10px;font-size:.98rem}
.reperes h3{margin:0;font-size:1.15rem}
.reperes dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 16px}
.reperes dt{font-family:var(--serif);color:var(--rouge);font-variant-numeric:tabular-nums;white-space:nowrap}
.reperes dd{margin:0;color:var(--muted)}
.tbl{overflow-x:auto}
.prose table{border-collapse:collapse;width:100%;font-size:.95rem;font-variant-numeric:tabular-nums}
.prose th,.prose td{text-align:left;padding:9px 10px 9px 0;border-bottom:1px solid var(--line);vertical-align:top}
.prose th{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.sources{font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin-top:1em}
.sources a{color:inherit}

/* colonne boutique */
.side{position:sticky;top:90px;display:flex;flex-direction:column;gap:18px}
@media(max-width:980px){.side{position:static}}
.shop-card{background:var(--rouge);color:var(--cream-on-red);border-radius:26px;overflow:hidden;box-shadow:var(--shadow)}
.shop-card img{aspect-ratio:4/3;object-fit:cover;width:100%}
.shop-card .in{padding:22px 24px 26px;display:flex;flex-direction:column;gap:12px;font-size:.95rem;line-height:1.55}
.shop-card h2{font-size:1.5rem}
.shop-card .hand{font-family:var(--hand);font-size:1.4rem;line-height:1.1;color:#FFD9CF}
.shop-card a.tel{color:inherit;font-weight:600;text-decoration:none}
.more{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:20px 22px;display:flex;flex-direction:column;gap:10px}
.more h2{font-size:1.15rem}
.more a{text-decoration:none;font-size:.95rem;border-top:1px solid var(--line);padding-top:10px;line-height:1.35}
.more a:hover{color:var(--rouge)}

/* bandeau bas d'article */
.cta{background:var(--paper);border-block:1px solid var(--line)}
.cta .wrap{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between;padding-block:clamp(36px,5vw,60px)}
.cta h2{font-size:clamp(1.6rem,3vw,2.3rem);max-width:18em}
.cta p{color:var(--muted);max-width:34em;margin-top:8px}

/* index du journal */
.j-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding-bottom:clamp(60px,8vw,110px)}
@media(max-width:980px){.j-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.j-grid{grid-template-columns:1fr}}
.j-card{display:flex;flex-direction:column;gap:14px;text-decoration:none}
.j-card .ph{border-radius:999px 999px 20px 20px;overflow:hidden;aspect-ratio:4/3.6;box-shadow:var(--shadow);background-color:var(--rouge);background-image:radial-gradient(circle,rgba(255,241,234,.22) 2.2px,transparent 2.8px);background-size:30px 30px;display:grid;place-items:center;color:var(--cream-on-red);font-family:var(--serif);font-style:italic;font-size:1.5rem;text-align:center;padding:18px}
.j-card:nth-child(3n+2) .ph{background-color:var(--nuit)}
.j-card:nth-child(3n) .ph{background-color:var(--sauge)}
.j-card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.j-card .ph.has-img{padding:0}
.j-card:hover .ph img{transform:scale(1.05)}
.j-card h2{font-size:1.45rem}
.j-card:hover h2{color:var(--rouge)}
.j-card p{color:var(--muted);font-size:.96rem;line-height:1.55}
.j-card .tag{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--rouge)}

footer{background:var(--ink);color:#E9DAD4;padding-block:54px 30px}
.wordmark{font-family:var(--serif);font-size:clamp(2.4rem,8vw,6rem);line-height:1;font-weight:340;letter-spacing:-.03em;display:block;margin-bottom:30px;color:#FBEDE7;text-decoration:none}
.wordmark i{color:var(--rose)}
.f-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;font-size:.92rem;color:#B9A6A0;border-top:1px solid #4A3C3A;padding-top:24px}
@media(max-width:760px){.f-cols{grid-template-columns:1fr}}
.f-cols b{display:block;color:#FBEDE7;font-weight:600;margin-bottom:6px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
.f-cols a{text-decoration:none;display:block;line-height:1.9}
.f-cols a:hover{color:#fff}

/* agenda interactif */
.ag-head{padding-bottom:10px}
.ag-ctrl{display:flex;flex-direction:column;gap:18px;margin-bottom:clamp(30px,4vw,50px)}
.ag-years{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.yr,.ag-all,.chip,.mo{all:unset;box-sizing:border-box;cursor:pointer}
.yr{font-family:var(--serif);font-style:italic;font-weight:340;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1;color:color-mix(in srgb,var(--ink) 28%,transparent);padding:4px 14px 8px;border-bottom:3px solid transparent;transition:color .25s,border-color .25s}
.yr[aria-pressed="true"]{color:var(--rouge);border-color:var(--rouge)}
.yr:hover{color:var(--rouge-deep)}
.ag-all{margin-left:auto;font-size:.85rem;font-weight:600;padding:10px 16px;border-radius:999px;border:1.5px solid var(--ink)}
.ag-all[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.ag-places{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ag-places-l{font-family:var(--hand);font-size:1.5rem;color:var(--rouge);margin-right:4px}
.ag-places-sep{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--muted);margin-inline:10px 2px}
.place{all:unset;box-sizing:border-box;cursor:pointer;font-size:.84rem;font-weight:600;padding:8px 15px;border-radius:999px;border:1.5px solid var(--line);background:var(--paper);color:var(--muted);transition:background .2s,color .2s,border-color .2s}
.place.main{font-size:.95rem;padding:10px 20px;color:var(--ink);border-color:var(--ink)}
.place:hover{border-color:var(--rouge);color:var(--rouge-deep)}
.place[aria-pressed="true"]{background:var(--rouge);border-color:var(--rouge);color:#fff}
.place:focus-visible{outline:2px solid var(--rouge);outline-offset:3px}
.ag-title small{display:block;font-family:"Figtree",sans-serif;font-size:.95rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:8px}
.ag-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px}
@media(max-width:1000px){.ag-months{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:560px){.ag-months{grid-template-columns:repeat(4,minmax(0,1fr))}}
.mo{--tone:var(--rouge);position:relative;display:flex;flex-direction:column;gap:2px;padding:12px 8px 12px;border-radius:18px;background:var(--paper);border:1.5px solid var(--line);min-height:96px;transition:transform .25s cubic-bezier(.2,.7,.2,1),background .25s,color .25s,border-color .25s,box-shadow .25s;overflow:hidden}
.mo.s-hiver{--tone:var(--nuit)}.mo.s-printemps{--tone:var(--sauge)}.mo.s-ete{--tone:#D9962B}.mo.s-automne{--tone:var(--rouge)}
.mo::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--tone)}
.mo:hover{transform:translateY(-4px);border-color:var(--tone);box-shadow:var(--shadow)}
.mo[aria-pressed="true"]{background:var(--tone);border-color:var(--tone);color:#fff;transform:translateY(-6px);box-shadow:var(--shadow)}
.mo-n{font-family:var(--serif);font-size:1.7rem;line-height:1;font-weight:380;font-variation-settings:"SOFT" 50,"opsz" 48}
.mo-l{font-family:var(--serif);font-size:clamp(.8rem,1.05vw,1.05rem);line-height:1.1;font-weight:420;font-variation-settings:"SOFT" 50,"opsz" 36;letter-spacing:-.01em;margin-top:6px}
.mo-c{font-size:.64rem;opacity:.7;margin-top:auto;line-height:1.2}
.mo-dots{display:flex;gap:3px;flex-wrap:wrap;min-height:6px}
.mo-dots i{width:6px;height:6px;border-radius:50%;background:var(--tone)}
.mo[aria-pressed="true"] .mo-dots i{background:#fff}
.mo.vide{opacity:.55}
.mo:focus-visible,.yr:focus-visible,.chip:focus-visible,.ag-all:focus-visible{outline:2px solid var(--rouge);outline-offset:3px}
.ag-cats{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-size:.82rem;font-weight:600;padding:8px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--paper);transition:background .2s,color .2s,border-color .2s}
.chip::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ct);margin-right:8px}
.chip[aria-pressed="true"]{background:var(--ct);border-color:var(--ct);color:#fff}
.chip[aria-pressed="true"]::before{background:#fff}
.c-fetes{--ct:var(--rouge)}.c-noel{--ct:#2F6B4F}.c-vin{--ct:#8A2D52}.c-famille{--ct:#D9962B}.c-nature{--ct:var(--sauge)}.c-culture{--ct:var(--nuit)}
.ag-wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(30px,5vw,80px);align-items:start;padding-bottom:clamp(60px,8vw,110px)}
@media(max-width:980px){.ag-wrap{grid-template-columns:1fr}}
.ag-title{font-size:clamp(2.4rem,6vw,4.6rem);margin-bottom:24px;scroll-margin-top:100px}
.ag-title span{color:var(--rouge);font-style:italic;font-weight:320}
.evs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.ev{display:grid;grid-template-columns:118px minmax(0,1fr);gap:0 22px;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:18px 22px 18px 18px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.ev[hidden]{display:none}
.ev:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
@media(max-width:600px){.ev{grid-template-columns:1fr;gap:14px}}
.ev.phare{border:1.5px solid var(--rouge)}
.ev-img{grid-column:1/-1;margin:-18px -22px 18px -18px;aspect-ratio:16/5;overflow:hidden}
.ev-img img{width:100%;height:100%;object-fit:cover}
.ev-date{align-self:start;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--rouge);color:var(--cream-on-red);border-radius:18px;padding:14px 8px 12px;text-align:center;min-height:104px}
.ev-date .d{font-family:var(--serif);font-size:2.3rem;line-height:1;font-weight:380;font-variation-settings:"SOFT" 50,"opsz" 72;white-space:nowrap}
.ev-date .d i{font-style:normal;font-size:.5em;opacity:.7;margin-inline:2px;vertical-align:middle}
.ev-date .m{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.ev-date .to{font-size:.72rem;opacity:.85}
.ev-date.multi{gap:3px;padding:12px 6px}
.ev-date .dl{font-family:var(--serif);font-size:1.25rem;line-height:1.15;font-weight:420;white-space:nowrap;font-variation-settings:"SOFT" 50,"opsz" 36}
.ev-date.multi .m{margin-top:4px;font-size:.66rem}
.ev-date.wait{background:transparent;color:var(--rouge-deep);border:2px dashed var(--rose)}
.ev[data-cat="noel"] .ev-date:not(.wait){background:#2F6B4F}
.ev[data-cat="vin"] .ev-date:not(.wait){background:#8A2D52}
.ev[data-cat="famille"] .ev-date:not(.wait){background:#D9962B}
.ev[data-cat="nature"] .ev-date:not(.wait){background:var(--sauge)}
.ev[data-cat="culture"] .ev-date:not(.wait){background:var(--nuit)}
.ev-what{display:flex;flex-direction:column;gap:5px;font-size:.96rem;line-height:1.55}
.ev-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cat{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--ct)}
.badge{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;padding:3px 9px;border-radius:999px}
.badge.ok{background:var(--sauge-soft);color:#4F6B4A}
.badge.warn{background:#FBE8C8;color:#8A5A12}
.badge.wait{background:var(--rouge-soft);color:var(--rouge-deep)}
.ev-what h3{font-size:1.4rem}
.ev-what h3 a{text-decoration:none}
.ev-what h3 a:hover{color:var(--rouge)}
.ev-quand{font-weight:600;font-size:.9rem}
.ev-note{font-size:.88rem;color:var(--muted);font-style:italic}
.ev-src{font-size:.8rem;color:var(--muted);align-self:flex-start}
.ev.past{opacity:.55}
.ev.past .ev-quand::after{content:" · " attr(data-past);color:var(--muted);font-weight:600;text-transform:uppercase;font-size:.72rem;letter-spacing:.08em}
.ag-empty{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--muted);padding:30px 0}
.ag-near{margin-top:44px;border-top:1.5px solid var(--line);padding-top:22px}
.ag-near h3{font-size:1.4rem}
.ag-near h3 span{color:var(--muted);font-style:italic;font-weight:340}
.ag-near-p{font-size:.9rem;color:var(--muted);margin:4px 0 14px}
.nears{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.near{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border:1px dashed var(--line);border-radius:16px;font-size:.92rem;line-height:1.4}
.near[hidden]{display:none}
.near-v{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--sauge)}
.near b{font-family:var(--serif);font-weight:450;font-size:1.05rem}
.near-q{color:var(--muted);font-size:.85rem}
.near.past{opacity:.5}
.ag-weekly-box{margin-top:40px;border-top:1.5px solid var(--line);padding-top:22px}
.ag-weekly-box h3{font-size:1.4rem;margin-bottom:10px}
.ag-weekly{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:8px}
.ag-tip{font-size:.93rem;color:var(--muted);line-height:1.55}
@media(prefers-reduced-motion:no-preference){
  .ag-js .ev.in{animation:evin .55s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0)*70ms)}
  @keyframes evin{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
}
.a-cover:has(+ .cover-credit){margin-bottom:8px}
.cover-credit{font-size:.78rem;color:var(--muted);margin-bottom:clamp(30px,5vw,60px)}
.cover-credit a,.prose figcaption a{color:inherit}

/* menu mobile */
.burger{all:unset;box-sizing:border-box;display:none;cursor:pointer;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line);background:var(--paper);place-items:center;flex:none}
.burger span{display:block;width:18px;height:2px;border-radius:2px;background:var(--ink);transition:transform .3s,opacity .3s}
.burger span+span{margin-top:4px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.burger:focus-visible{outline:2px solid var(--rouge);outline-offset:3px}
@media(max-width:760px){
  .burger{display:grid}
  .top nav{gap:10px}
  .top nav>.btn{padding:10px 16px;font-size:.85rem;margin-left:auto}
  .top .links{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:var(--paper);border-bottom:1px solid var(--line);padding:6px 22px 18px;box-shadow:0 30px 40px -28px rgba(92,40,30,.5);max-height:calc(100vh - 80px);overflow-y:auto}
  .top .links.open{display:flex}
  .top .links a{padding:15px 2px;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:1.35rem;color:var(--ink)}
  .top .links a::after{display:none}
  .top .links a:last-child{border-bottom:none}
}
@media(max-width:420px){.brand{font-size:1.1rem}.brand small{font-size:.54rem;letter-spacing:.1em}.brand svg{width:22px;height:22px}}

@media(max-width:1000px){.mo-l{font-size:1.05rem}}

/* sélecteur de langue : un rond avec le drapeau */
.flag{display:block;width:100%;height:100%;border-radius:50%;overflow:hidden}
.flag svg{display:block;width:100%;height:100%}
.lang{position:relative;flex:none}
.lang summary{list-style:none;cursor:pointer;display:block;width:46px;height:46px;padding:3px;border-radius:50%;border:1.5px solid var(--line);background:var(--paper);box-shadow:0 2px 6px rgba(92,40,30,.12);transition:transform .2s,border-color .2s}
.lang summary::-webkit-details-marker{display:none}
.lang summary:hover{transform:scale(1.07);border-color:var(--rouge)}
.lang[open] summary{border-color:var(--rouge)}
.lang summary:focus-visible{outline:2px solid var(--rouge);outline-offset:3px}
.lang-list{position:absolute;right:0;top:calc(100% + 10px);z-index:40;background:var(--paper);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:12px;display:grid;grid-template-columns:repeat(4,46px);gap:10px}
.lang-list a{display:block;width:46px;height:46px;padding:3px;border-radius:50%;border:1.5px solid transparent;transition:transform .2s,border-color .2s}
.lang-list a:hover{transform:scale(1.12);border-color:var(--rose)}
.lang-list a[aria-current]{border-color:var(--rouge)}
.lang-list a:focus-visible{outline:2px solid var(--rouge);outline-offset:2px}
@media(prefers-reduced-motion:no-preference){.lang[open] .lang-list{animation:langin .22s cubic-bezier(.2,.7,.2,1)}@keyframes langin{from{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:none}}}
@media(max-width:760px){.lang summary{width:42px;height:42px}.top nav>.btn{display:none}.top nav>.lang{margin-left:auto}}
:lang(zh) h1,:lang(zh) h2,:lang(zh) h3,:lang(ja) h1,:lang(ja) h2,:lang(ja) h3{letter-spacing:0;line-height:1.3;font-weight:500}
:lang(zh) .ac,:lang(ja) .ac,:lang(zh) em,:lang(ja) em,:lang(zh) blockquote,:lang(ja) blockquote{font-style:normal}
:lang(zh) body,:lang(ja) body{line-height:1.85}
