:root{--bg: #111827;--surface: #1f2937;--surface-2: #273244;--line: #374151;--line-soft: #2b3444;--text: #f4f6f8;--text-soft: #c6cddb;--text-mute: #8b94a5;--rose: #26c6b0;--rose-bright: #45ddc8;--lime: #daff99;--wine: #801e24;--pine: #7bb37a;--rubik: "Rubik", "Segoe UI", system-ui, sans-serif;--inter: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--measure: 40rem;--content: 66rem;--sidebar: 15rem;--topbar-h: 4.75rem}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--inter);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none;text-underline-offset:.18em}a:hover{text-decoration:underline}h1,h2,h3,h4{font-family:var(--rubik);font-weight:700;line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}h1{font-size:clamp(1.9rem,5vw,3rem)}h2{font-size:clamp(1.4rem,3.5vw,1.9rem);font-weight:600}h3{font-size:1.2rem;font-weight:600}p{margin:0 0 1rem}hr{border:0;border-top:1px solid var(--line);margin:2.25rem 0}::selection{background:var(--rose);color:var(--bg)}:focus-visible{outline:2px solid var(--lime);outline-offset:2px;border-radius:2px}.label{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--rose)}.tnum{font-variant-numeric:tabular-nums}.muted{color:var(--text-mute)}.shell{display:flex;flex-direction:column;min-height:100vh}.shell__body{flex:1;width:100%;max-width:82rem;margin:0 auto;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);gap:2.75rem;padding:0 1.5rem}.shell main{padding:2.5rem 0 4rem;min-width:0}.page{max-width:var(--content)}.prose{max-width:var(--measure)}.prose p{color:var(--text-soft)}.topbar{position:sticky;top:0;z-index:30;background:var(--surface);border-bottom:1px solid var(--line)}.topbar__row{max-width:82rem;margin:0 auto;padding:.7rem 1.5rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;min-height:var(--topbar-h)}.topbar__left{justify-self:start;display:flex;align-items:center;gap:.75rem}.topbar__right{justify-self:end;display:flex;align-items:center;gap:.9rem}.brand{justify-self:center;display:flex;flex-direction:column;align-items:center;gap:.15rem;text-align:center}.brand:hover{text-decoration:none}.brand img{width:2.5rem;height:auto}.brand span{font-family:var(--rubik);font-weight:700;font-size:1.05rem;letter-spacing:.01em}.brand:hover span{color:var(--lime)}.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--text);cursor:pointer}.iconbtn:hover{color:var(--lime);border-color:var(--text-mute)}.iconbtn svg{width:1.15rem;height:1.15rem}.topsearch{display:flex;align-items:center;gap:.4rem;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:.3rem .6rem}.topsearch input{font:inherit;font-size:.9rem;background:transparent;border:0;color:var(--text);width:9rem}.topsearch input:focus{outline:none}.topsearch input::placeholder{color:var(--text-mute)}.menu-toggle,.backdrop{display:none}.sidemenu{padding-top:2.25rem}.sidemenu__title{font-family:var(--rubik);font-size:1.25rem;font-weight:600;text-align:center;margin-bottom:1rem}.sidemenu__close{display:none}.themes{list-style:none;margin:0 0 1.25rem;padding:0;display:grid;gap:.5rem}.themes a{display:flex;align-items:center;justify-content:center;height:3.4rem;border-radius:8px;border:1px solid var(--line);background-size:cover;background-position:center;overflow:hidden;font-family:var(--rubik);font-weight:600;color:#fff;position:relative}.themes a:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#1118279e;transition:background .2s}.themes a span{position:relative;font-size:1.05rem}.themes a:hover{text-decoration:none}.themes a:hover:before{background:#11182759}.themes a:hover span{color:var(--lime)}.themes a.is-active{border-color:var(--rose)}.themes a.is-active span{color:var(--rose)}.sidemenu__links{display:grid;gap:.4rem;margin-bottom:1.25rem}.sidemenu__links a{display:block;text-align:center;padding:.5rem .75rem;border:1px solid var(--line);border-radius:8px;color:var(--text-soft);font-size:.95rem}.sidemenu__links a:hover{background:var(--lime);color:var(--bg);border-color:var(--lime);text-decoration:none}.social{display:flex;justify-content:center;gap:.9rem}.social a{color:var(--text-mute)}.social a:hover{color:var(--lime)}.social svg{width:1.2rem;height:1.2rem}.btn{display:inline-flex;align-items:center;gap:.4rem;font:inherit;font-weight:500;padding:.6rem 1.15rem;border:1px solid var(--rose);background:var(--rose);color:var(--bg);cursor:pointer;border-radius:8px}.btn:hover{background:var(--rose-bright);border-color:var(--rose-bright);text-decoration:none}.btn--ghost{background:transparent;color:var(--text);border-color:var(--line)}.btn--ghost:hover{background:var(--surface-2);border-color:var(--text-mute);color:var(--lime)}.btn:disabled{opacity:.4;cursor:not-allowed}.field{margin-bottom:1.1rem}.field label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.35rem;color:var(--text-soft)}.field input,.field textarea,.field select{width:100%;font:inherit;padding:.6rem .7rem;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--text)}.field input::placeholder,.field textarea::placeholder{color:var(--text-mute)}.field input:focus,.field textarea:focus{outline:2px solid var(--lime);outline-offset:0;border-color:transparent}.field__hint{font-size:.82rem;color:var(--text-mute);margin-top:.3rem}.form-narrow{max-width:24rem}.notice{padding:.75rem .95rem;border-left:3px solid var(--wine);background:var(--surface-2);border-radius:0 8px 8px 0;font-size:.95rem;margin-bottom:1.2rem;color:var(--text-soft)}.notice--ok{border-left-color:var(--pine)}.section{margin-bottom:3rem}.section__title{text-align:center;margin-bottom:1.5rem}.carousel{position:relative}.carousel__track{display:grid;grid-auto-flow:column;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:.5rem}.carousel__track::-webkit-scrollbar{display:none}.carousel__track>*{scroll-snap-align:start}.carousel--hero .carousel__track{grid-auto-columns:100%}.carousel--trio .carousel__track{grid-auto-columns:calc((100% - 2.5rem) / 3)}.carousel__btn{position:absolute;top:50%;transform:translateY(-50%);width:2.5rem;height:2.5rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}.carousel__btn:hover{color:var(--lime);border-color:var(--text-mute)}.carousel__btn--prev{left:-1.25rem}.carousel__btn--next{right:-1.25rem}.carousel__btn svg{width:1rem;height:1rem}.carousel__dots{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}.carousel__dots button{width:.55rem;height:.55rem;border-radius:999px;border:0;background:var(--line);cursor:pointer;padding:0}.carousel__dots button[aria-current=true]{background:var(--rose)}.hero-card{display:grid;grid-template-rows:auto 1fr;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.hero-card img{width:100%;height:18rem;object-fit:cover}.hero-card__body{padding:1.5rem}.hero-card__body .label{margin-bottom:.5rem;display:inline-block}.hero-card h3{font-size:1.7rem;margin-bottom:.5rem}.hero-card p{color:var(--text-soft);margin-bottom:1rem}.mini-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.mini-card img{width:100%;height:9rem;object-fit:cover}.mini-card__body{padding:1.1rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.mini-card h3{font-size:1.2rem;margin:0}.mini-card p{color:var(--text-soft);font-size:.95rem;margin:0;flex:1}.mini-card .btn{align-self:flex-start;margin-top:.5rem}.lede{border-bottom:1px solid var(--line);padding-bottom:2rem;margin-bottom:2.25rem}.feed{display:grid;gap:2rem}@media (min-width: 44rem){.feed--cols{grid-template-columns:1fr 1fr;gap:2.5rem 3rem}}.card{display:grid;gap:.5rem;align-content:start}.card__media{aspect-ratio:16 / 9;object-fit:cover;border-radius:10px;border:1px solid var(--line-soft);margin-bottom:.35rem}.card__title{font-family:var(--rubik);font-size:1.35rem;font-weight:600;line-height:1.2}.card a.card__title:hover{color:var(--lime);text-decoration:none}.card__resume{color:var(--text-soft);font-size:.98rem;margin:0}.card__meta{color:var(--text-mute);font-size:.88rem}.article__head{max-width:var(--measure);margin-bottom:1.25rem}.article__head .label{margin-bottom:.7rem;display:inline-block}.article__head .label a:hover{color:var(--lime)}.article__byline{font-size:.9rem;color:var(--text-mute);margin-top:.6rem}.article__media{margin:1.5rem 0;border-radius:12px;border:1px solid var(--line-soft);width:100%}.article__body{max-width:var(--measure)}.article__body p{color:var(--text-soft);font-size:1.1rem;line-height:1.75}.article__body p strong{color:var(--text)}.question{max-width:var(--measure);margin:2.5rem 0;padding:1.6rem 0;border-top:2px solid var(--rose);border-bottom:2px solid var(--rose)}.question p{font-family:var(--rubik);font-weight:600;font-size:clamp(1.35rem,4vw,1.8rem);line-height:1.25;margin:0}.vote{max-width:var(--measure);margin:2.25rem 0}.vote h2{margin-bottom:1rem}.bars{display:grid;gap:1rem;margin:1rem 0 1.25rem}.bar__top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.95rem;margin-bottom:.35rem}.bar__count{color:var(--text-mute);font-size:.85rem;white-space:nowrap}.bar__track{height:.55rem;background:var(--surface-2);border-radius:999px;overflow:hidden}.bar__fill{height:100%;background:var(--text-mute);border-radius:999px;transition:width .4s}.bar--ok .bar__fill{background:var(--lime)}.bar--nok .bar__fill{background:var(--rose)}.bar--neutral .bar__fill{background:var(--text-mute)}.bar--mine .bar__top span:first-child{color:var(--text);font-weight:600}.vote__actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.75rem}.vote__choice{font:inherit;padding:.55rem 1rem;background:transparent;border:1px solid var(--line);border-radius:999px;color:var(--text);cursor:pointer}.vote__choice:hover{border-color:var(--lime);color:var(--lime)}.vote__choice[aria-pressed=true]{background:var(--rose);border-color:var(--rose);color:var(--bg)}.vote__tally{font-size:.9rem;color:var(--text-mute);margin:0}.comments{max-width:var(--measure);margin-top:2.5rem}.comments h2{margin-bottom:1.25rem}.comment{padding:1.15rem 0;border-top:1px solid var(--line)}.comment__head{display:flex;align-items:baseline;gap:.6rem;font-size:.9rem;margin-bottom:.4rem;flex-wrap:wrap}.comment__author{font-weight:600}.comment__pos{font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:var(--rose)}.comment__pos:before{content:"a voté ";color:var(--text-mute)}.comment__date{color:var(--text-mute);margin-left:auto}.comment__body{margin:0;color:var(--text-soft);white-space:pre-wrap}.comment .btn--ghost{margin-top:.6rem;padding:.3rem .7rem;font-size:.85rem}.shell footer{border-top:1px solid var(--line);background:var(--surface);padding:1.75rem 0;font-size:.9rem;color:var(--text-soft)}.shell footer .foot{max-width:82rem;margin:0 auto;padding:0 1.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}.shell footer nav{display:flex;gap:1.2rem;flex-wrap:wrap}.shell footer nav a:hover{color:var(--lime)}.stack>*+*{margin-top:1rem}.center-narrow{max-width:24rem;margin:3rem auto}.center-narrow h1{margin-bottom:1.5rem}.empty{color:var(--text-mute);padding:1.5rem 0}.searchbox{display:flex;gap:.5rem}.searchbox input{flex:1}.about-block{max-width:var(--measure);margin:1.5rem 0;padding:1.25rem 1.4rem;background:var(--surface);border:1px solid var(--line);border-radius:12px}.about-block h2{margin-bottom:.6rem}.about-block p{color:var(--text-soft);margin:0}.about-list{margin:0;padding-left:1.1rem;color:var(--text-soft)}.about-list li{margin-bottom:.6rem}.about-list li:last-child{margin-bottom:0}.team{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:1.25rem}@media (min-width: 46rem){.team{grid-template-columns:1fr 1fr}}.team__card{display:flex;gap:1.1rem;padding:1rem;background:var(--surface);border:1px solid var(--line);border-radius:12px}.team__photo{width:6.5rem;height:8rem;flex:none;object-fit:cover;border-radius:10px;background:var(--surface-2)}.team__card h3{margin:0 0 .15rem;font-size:1.15rem}.team__card h3 a:hover{color:var(--lime)}.team__card--link{transition:border-color .15s}.team__card--link:hover{border-color:var(--lime)}.team__role{margin:0 0 .5rem;font-style:italic;color:var(--rose);font-size:.9rem}.team__bio{margin:0;color:var(--text-soft);font-size:.92rem;line-height:1.5}@media (max-width: 30rem){.team__card{flex-direction:column}.team__photo{width:100%;height:12rem}}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#0009}.modal__box{position:relative;width:100%;max-width:30rem;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.5rem}.modal__box h2{margin-bottom:.75rem;padding-right:2rem}.modal__box p{color:var(--text-soft)}.modal__box .btn{margin-top:.5rem}.modal__close{position:absolute;top:.8rem;right:.8rem}@media (max-width: 64rem){.carousel--trio .carousel__track{grid-auto-columns:calc((100% - 1.25rem)/2)}}@media (max-width: 60rem){.shell__body{grid-template-columns:minmax(0,1fr);gap:0}.menu-toggle{display:inline-flex}.topsearch{display:none}.sidemenu{position:fixed;top:0;left:0;z-index:50;width:min(20rem,84vw);height:100dvh;background:var(--surface);border-right:1px solid var(--line);padding:1.5rem 1.25rem 2rem;overflow-y:auto;transform:translate(-100%);transition:transform .25s ease}.sidemenu.is-open{transform:translate(0)}.sidemenu__close{display:inline-flex;position:absolute;top:.9rem;right:.9rem}.backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#00000080;opacity:0;pointer-events:none;transition:opacity .25s}.backdrop.is-open{opacity:1;pointer-events:auto}.carousel__btn--prev{left:.25rem}.carousel__btn--next{right:.25rem}}@media (max-width: 44rem){.carousel--trio .carousel__track{grid-auto-columns:85%}.hero-card img{height:12rem}.hero-card h3{font-size:1.4rem}.topbar__row{grid-template-columns:auto 1fr auto}.brand span{font-size:.95rem}.brand img{width:2rem}}@media (max-width: 30rem){.shell__body{padding:0 1rem}.carousel__btn{display:none}.carousel--trio .carousel__track{grid-auto-columns:100%}}@media (prefers-reduced-motion: reduce){html,.carousel__track{scroll-behavior:auto}.bar__fill{transition:none}}
