@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url("../fonts/dmsans.ttf") format("truetype")}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:400 700;font-display:swap;src:url("../fonts/spacegrotesk.ttf") format("truetype")}
:root{color-scheme:dark;--bg:#111113;--surface:#19191d;--line:#303036;--muted:#a6a5b1;--text:#f6f5f9;--purple:#b9a0ff;--purple-dark:#261d3e;--heading:'Space Grotesk',sans-serif;--body:'DM Sans',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:400 1rem/1.6 var(--body)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--heading);line-height:1.15;font-weight:500;letter-spacing:-.04em}h1{font-size:clamp(2.8rem,5.6vw,5rem)}h2{font-size:2rem}h3{font-size:1.5rem}p{color:var(--muted)}[hidden]{display:none!important}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--purple);outline-offset:5px}a:hover{color:var(--purple)}.shell{max-width:1264px;margin:auto;padding-left:48px;padding-right:48px}.header{max-width:1456px;margin:auto;display:flex;align-items:center;gap:32px;padding:27px 48px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font:600 1.2rem var(--heading);white-space:nowrap}.brand-mark{background:var(--purple);color:var(--bg);width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;font-weight:700}.brand-mark span{margin-left:-2px}.brand-tag{display:none}.header nav{display:flex;gap:26px;margin-left:auto;align-items:center}.header nav a{font-size:.9rem;color:#bdbcc5;position:relative;padding:12px 0}.header nav a:hover,.header nav a[aria-current=page]{color:#fff}.header nav a[aria-current=page]:after{content:'';position:absolute;height:3px;background:var(--purple);left:0;right:0;bottom:0;border-radius:2px}.twitch-link{border:1px solid var(--line);padding:8px 14px;border-radius:6px;font-size:.9rem}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;padding-top:92px;padding-bottom:80px}.eyebrow{font-size:.75rem;line-height:1.5;letter-spacing:.13em;font-weight:650;color:var(--muted)}.hero-copy>.eyebrow{color:var(--purple);display:flex;align-items:center;gap:10px}.tiny-line{height:1px;width:24px;background:var(--purple)}.hero h1{margin:23px 0 24px;max-width:620px;line-height:1.04}.lead{font-size:1.1rem;line-height:1.8;max-width:610px}.actions{display:flex;align-items:center;gap:26px;margin-top:30px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;font-weight:650;font-size:.95rem;border-radius:7px;padding:13px 20px;border:1px solid transparent;line-height:1.5}.primary{background:var(--purple);color:#1b132c}.primary:hover{background:#cab6ff;color:#1b132c}.secondary{background:transparent;border-color:#554569;color:#ddcfff}.secondary:hover{background:#302341;color:#fff}.text-link{font-size:.95rem;font-weight:500}.hero-footnote{font-size:.8rem;margin-top:35px;color:#8c8b96}.next-card{margin-top:8px;align-self:center;min-height:340px;background:var(--surface);border:1px solid #3d354b;border-radius:12px;display:flex;flex-direction:column;box-shadow:0 20px 60px #0002;overflow:hidden}.card-top{display:flex;justify-content:space-between;align-items:center;padding:22px 26px;border-bottom:1px solid var(--line);gap:15px}.badge{font-size:.7rem;letter-spacing:.08em;padding:4px 9px;border:1px solid #4a405c;border-radius:4px;color:#d1bfff;white-space:nowrap}.next-empty{padding:22px 27px 34px;flex:1}.outline-number{display:block;font:500 clamp(2.6rem,4vw,3.9rem)/1.3 var(--heading);letter-spacing:-.06em;color:#82729e;margin-bottom:14px}.next-empty h2{font-size:1.5rem;margin-bottom:10px}.next-empty p{font-size:.95rem}.card-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:16px 26px;font-size:.9rem;margin-top:auto}.card-bottom span{color:var(--purple)}.next-card .appointment{padding:24px;display:block;border:0;background:none;margin:0}.next-card .date-tile{float:left;margin-right:18px;margin-bottom:18px}.next-card .appointment h3{font-size:1.6rem}.next-card .appointment p{clear:both}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px}.section-heading .eyebrow{margin-bottom:10px}.section-heading>p{font-size:.9rem}.explore{padding-bottom:74px}.portal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.portal{border:1px solid var(--line);border-radius:10px;padding:26px;background:#17171b;transition:background .2s,transform .2s}.portal:hover{background:#202026;color:var(--text);transform:translateY(-3px)}.portal-top{display:flex;align-items:center;gap:12px;margin-bottom:30px}.portal-top>span:last-child{margin-left:auto;color:var(--muted)}.portal-icon{display:flex;align-items:center;justify-content:center;border:1px solid #47434f;border-radius:8px;width:35px;height:35px;color:var(--purple);font-size:1.6rem;line-height:1}.portal-top .eyebrow{font-size:.68rem;letter-spacing:.08em}.portal h3{margin-bottom:13px;font-size:1.55rem}.portal p{font-size:.94rem;min-height:72px}.portal-footer{display:block;border-top:1px solid var(--line);padding-top:18px;margin-top:18px;font-size:.8rem;color:#c4c2cf}.purple-portal{background:#221b31;border-color:#493b61}.purple-portal:hover{background:#2b223e}.purple-portal .portal-icon{border-color:#5b477a}.purple-portal .portal-footer{color:var(--purple);border-color:#40314f}.section-block{padding-bottom:65px}.footer{max-width:1168px;margin:0 auto;border-top:1px solid var(--line);padding:32px 0 38px;display:flex;gap:40px;align-items:center}.footer-brand{font:500 1.1rem var(--heading)}.footer-brand span{display:block;font:.8rem var(--body);color:var(--muted);margin-top:8px}.footer>div{margin-left:auto;display:flex;flex-direction:column;gap:4px;font-size:.8rem;text-align:right}.footer>div>span{color:var(--muted)}.footer-note{display:none}.page{padding-top:68px;padding-bottom:80px;min-height:72vh}.page-heading{margin-bottom:50px}.page-heading .eyebrow{color:var(--purple);margin-bottom:18px}.page-heading h1{font-size:clamp(2.6rem,4.8vw,4rem);margin-bottom:20px}.accent{color:var(--purple)}.empty-state{text-align:center;padding:58px 24px;border:1px dashed #3b3746;border-radius:12px;background:#17161b}.empty-state h2{font-size:1.65rem;margin-bottom:12px}.empty-symbol{font-size:2.1rem;color:var(--purple);display:block;margin-bottom:22px}.empty-state .button{margin-top:25px}.appointment{display:flex;gap:24px;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:26px;margin-bottom:15px;align-items:flex-start}.date-tile{min-width:68px;text-align:center;background:#292133;border-radius:7px;padding:8px 10px;color:var(--purple)}.date-tile span{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.date-tile strong{display:block;font:500 2rem var(--heading)}.appointment h3{margin:7px 0 12px}.appointment p{font-size:.95rem}.appointment p+p{margin-top:12px}.appointment-body{min-width:0;overflow-wrap:anywhere}.multiline{white-space:pre-line;overflow-wrap:anywhere}.past-section{margin-top:32px;color:var(--muted)}.past-section summary{cursor:pointer;margin-bottom:20px}.panel{padding:32px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.panel h2{margin-bottom:22px}.panel .eyebrow{margin-bottom:12px}.panel .text-link{display:inline-block;margin-top:24px;color:var(--purple)}.info-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:28px}.social-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:16px 0}.social-row span:last-child{color:var(--purple)}.library-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}.filter-group{display:flex;gap:7px;flex-wrap:wrap}.filter{border:1px solid var(--line);background:transparent;border-radius:6px;padding:9px 13px;color:var(--muted);font-size:.9rem}.filter span{margin-left:8px;font-size:.8rem}.filter.active{background:var(--purple);color:#1b132c;border-color:var(--purple)}input,textarea,select{background:#111115;border:1px solid #4a4654;color:var(--text);padding:12px 14px;border-radius:6px;width:100%;min-width:0}input::placeholder,textarea::placeholder{color:#898793}textarea{resize:vertical}.search{display:flex;align-items:center;gap:12px;border:1px solid #4a4654;border-radius:7px;padding-left:15px;max-width:100%}.search>span{color:var(--muted);font-size:1.4rem}.search input{border:0;background:transparent;padding-left:0}.results-line{font-size:.85rem;margin:25px 0 17px}.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.game-card{padding:23px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.game-card h2{font-size:1.35rem;margin:22px 0;overflow-wrap:anywhere}.game-card a{font-size:.8rem;color:var(--purple)}.sync-note{display:flex;justify-content:space-between;gap:10px;font-size:.8rem;margin-top:25px;flex-wrap:wrap}.suggestion-strip{display:flex;align-items:center;justify-content:space-between;padding:28px;background:#20192c;border:1px solid #443351;border-radius:10px;margin-top:45px;gap:22px}.suggestion-strip h2{font-size:1.5rem;margin-bottom:6px}.suggestions-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:70px}.form-panel h2{font-size:1.65rem}.form-panel label{display:block;font-size:.95rem;margin:20px 0 8px}.optional{font-size:.8rem;color:var(--muted);margin-left:8px}.field-note{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted);margin:5px 0 18px}.form-panel .button{margin-top:22px}.form-panel [role=status]{margin-top:17px;color:#ddcfff}.suggestion-aside{padding-top:10px}.large-quote{font:5rem/1 var(--heading);color:var(--purple)}.suggestion-aside h2{margin:5px 0 25px}.suggestion-aside p{font-size:.95rem}.aside-rule{height:1px;background:var(--line);margin:26px 0;width:55px}.small-note{font-size:.8rem!important;margin-top:32px}.form-unavailable{padding:30px 0}.form-unavailable h3{margin:22px 0 14px}.honeypot{position:absolute;left:-9999px;opacity:0}.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:absolute;top:-100px;left:20px;z-index:99;background:var(--purple);color:#111;padding:10px}.skip:focus{top:10px}
@media(min-width:1600px){.brand-tag{display:block;color:var(--muted);font:.65rem var(--body);letter-spacing:.1em;margin-left:5px}}
@media(max-width:1100px){.header{padding:20px 30px;gap:22px;flex-wrap:wrap}.header nav{gap:22px}.twitch-link{display:none}.hero{gap:32px;padding-top:65px}.footer{margin:0 48px}.portal{padding:22px}.portal-top{gap:8px}.portal-top .eyebrow{font-size:.65rem}.suggestions-grid{gap:35px}}
@media(max-width:800px){.header{display:block;padding:20px 24px 0}.header nav{margin-top:15px;gap:23px;overflow-x:auto;padding-bottom:10px}.header nav a{white-space:nowrap}.shell{padding-left:24px;padding-right:24px}.hero{grid-template-columns:1fr;padding-top:50px;padding-bottom:52px;gap:38px}.hero h1{font-size:3.8rem;max-width:500px}.next-card{max-width:600px;width:100%}.portal-grid{grid-template-columns:1fr}.portal-top{margin-bottom:20px}.portal p{min-height:0}.portal-footer{margin-top:22px}.portal-top .eyebrow{font-size:.75rem}.section-heading>p{display:none}.footer{margin:0 24px;align-items:start}.page{padding-top:45px}.page-heading{margin-bottom:35px}.info-grid,.suggestions-grid{grid-template-columns:1fr}.suggestion-aside{padding:10px 10px 0}.game-grid{grid-template-columns:repeat(2,1fr)}.suggestion-strip{align-items:start;flex-direction:column}.footer>div{max-width:230px}.panel{padding:24px}}
@media(max-width:450px){.hero h1{font-size:3.2rem}.hero-copy .eyebrow{font-size:.68rem}.card-top{padding:20px;gap:8px}.card-top .eyebrow{font-size:.65rem}.next-empty{padding:23px}.footer{flex-direction:column;gap:22px}.footer>div{margin-left:0;text-align:left}.game-grid{grid-template-columns:1fr}.filter{padding:9px 10px}.filter span{margin-left:4px}.search{width:100%}.appointment{padding:18px;gap:15px}.date-tile{min-width:56px}.appointment h3{font-size:1.3rem}.page-heading h1{font-size:2.5rem}.section-heading h2{font-size:1.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Jaquettes : espace stable au chargement et remplacement sans image cassée. */
.game-card{overflow:hidden;transition:border-color .2s,transform .2s}.game-card:hover{border-color:#9471c9;transform:translateY(-3px)}.game-artwork{position:relative;aspect-ratio:460/215;margin:-23px -23px 22px;overflow:hidden;background:radial-gradient(ellipse at 20% 20%,#62418b,transparent 65%),linear-gradient(135deg,#30203f,#15141d);display:grid;place-items:center}.game-monogram{font:600 3.5rem var(--heading);color:#d7c0ff;letter-spacing:.08em}.game-artwork img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}.game-card h2{margin:18px 0}.game-card .badge{position:relative}@media(prefers-reduced-motion:reduce){.game-card{transition:none}.game-card:hover{transform:none}}

.library-facets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:16px;align-items:end;margin-top:24px}.library-facets label{font-size:.85rem;color:var(--muted)}.library-facets select{display:block;margin-top:6px}.game-genres{font-size:.8rem;margin-bottom:18px}@media(max-width:700px){.library-facets{grid-template-columns:1fr 1fr}}@media(max-width:420px){.library-facets{grid-template-columns:1fr}}

.about-stickers{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 26px}.about-stickers span{padding:6px 12px;border:1px solid #735593;border-radius:6px;background:#2d203e;color:#e2ceff;font-size:.78rem}.about-stickers span:first-child{transform:rotate(-3deg);background:var(--purple);color:#20142e;font-weight:700}.about-stickers span:last-child{transform:rotate(2deg)}.setup-panel{margin-top:28px}.setup-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}.setup-heading>p{font-size:.9rem;text-align:right}.setup-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;margin:12px 0 0}.setup-item{padding:22px 0;border-top:1px solid var(--line)}.setup-item dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.09em;color:var(--purple);margin-bottom:8px}.setup-item dd{margin:0;font-size:1rem;overflow-wrap:anywhere}@media(max-width:850px){.setup-list{grid-template-columns:1fr 1fr}}@media(max-width:520px){.setup-list{grid-template-columns:1fr}.setup-heading{display:block}.setup-heading>p{text-align:left;margin-bottom:24px}}

.stream-mood{display:grid;grid-template-columns:1fr 1.15fr;gap:24px;align-items:center;margin-top:28px;padding:36px 32px 0;border:1px solid #59426f;border-radius:16px;background:radial-gradient(ellipse at 80% 100%,#48305e,transparent 65%),#1b1622;overflow:hidden}.mood-copy{padding-bottom:36px}.mood-copy .eyebrow{color:#c7a5f0;margin-bottom:16px}.mood-copy h2{font-size:clamp(1.8rem,3vw,2.6rem)}.mood-disclaimer{margin:15px 0 24px;font-size:.95rem}.mood-portrait{margin:0;align-self:end;position:relative;transform-origin:50% 100%;padding-top:100px}.mood-portrait img{display:block;width:100%;height:auto;filter:drop-shadow(0 0 12px #b794f622)}.mood-portrait figcaption{position:absolute;top:0;left:5%;right:5%;padding:16px 20px;background:#e9dcff;color:#271b36;border-radius:16px;font-weight:650;line-height:1.4;transform:rotate(-2deg)}.mood-portrait figcaption:after{content:"";position:absolute;bottom:-11px;left:58%;border-left:12px solid transparent;border-right:12px solid transparent;border-top:13px solid #e9dcff}.mood-arrived{animation:mood-pop .75s ease-out both}@keyframes mood-pop{0%{opacity:0;transform:translateY(45px) rotate(-5deg)}65%{opacity:1;transform:translateY(-8px) rotate(2deg)}100%{opacity:1;transform:none}}@media(max-width:700px){.stream-mood{grid-template-columns:1fr;padding:28px 20px 0;gap:0}.mood-copy{padding-bottom:24px}.mood-portrait{width:100%;max-width:500px;justify-self:center;padding-top:110px}}@media(prefers-reduced-motion:reduce){.mood-arrived{animation:none}}

/* Accueil : salon multigaming */
html[data-page=accueil] body{background:radial-gradient(ellipse at 85% 12%,#39204d66,transparent 40%),var(--bg)}html[data-page=accueil] .hero{gap:32px;align-items:center;padding-top:64px;padding-bottom:48px;grid-template-columns:1.05fr 1fr}html[data-page=accueil] .hero h1{font-size:clamp(2.8rem,5vw,4.8rem);max-width:650px}html[data-page=accueil] .hero .lead{max-width:540px}.home-stickers{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.home-stickers span{font-size:.75rem;padding:6px 10px;background:#24202c;border:1px solid #50425e;border-radius:30px;color:#ded3eb}.hero-scene{position:relative;isolation:isolate;min-height:385px;display:flex;align-items:end;border-radius:32px;background:radial-gradient(circle at 65% 35%,#d0b4ff,#9461c9 47%,#55306b);border:1px solid #c8a2f8;box-shadow:0 20px 70px #9762db20;transform:rotate(2deg);margin:24px 0 28px}.hero-scene:before{content:"";position:absolute;inset:16px;border:1px dashed #ffffff50;border-radius:23px;z-index:-1}.hero-person{display:block;width:112%;max-width:none;height:auto;margin-left:-6%;filter:drop-shadow(0 12px 12px #1a082c66);transform:rotate(-2deg);border-radius:0 0 28px 28px}.scene-sticker{position:absolute;top:24px;left:-12px;background:#e4ff9b;color:#24300c;padding:10px 17px;font-weight:800;font-size:.78rem;letter-spacing:.06em;transform:rotate(-7deg);box-shadow:4px 4px 0 #34233e;border-radius:6px;z-index:2}.scene-spark{position:absolute;right:20px;top:50px;font-size:4rem;color:#e9ffad}.scene-caption{position:absolute;bottom:-22px;right:16px;left:16px;background:#21172e;border:1px solid #b68bdd;padding:14px 18px;border-radius:12px;transform:rotate(-2deg);box-shadow:0 8px 20px #0004}.scene-caption span{display:block;color:#d1b3ff;font-weight:700}.scene-caption strong{font-size:.86rem;font-weight:400;color:#f4eaff}.home-rendezvous{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:64px}.home-rendezvous .next-card{width:100%;align-self:stretch}.home-rendezvous .next-empty{padding:26px;position:relative}.next-icon{float:right;font-size:2.5rem;color:#c4a3ff}.home-rendezvous .next-empty h2{font-size:1.65rem}.home-discord{padding:30px;border-radius:14px;background:linear-gradient(120deg,#35214c,#211c38);border:1px solid #705594}.home-discord .eyebrow{color:#ccb0f6}.home-discord h2{margin:18px 0 14px;font-size:2rem}.home-discord .button{margin-top:24px}.home-discord p{max-width:420px}html[data-page=accueil] .portal{position:relative;overflow:hidden;transition:transform .2s,border-color .2s}html[data-page=accueil] .portal:hover{transform:translateY(-5px);border-color:#b998ea}html[data-page=accueil] .portal:first-child{background:linear-gradient(145deg,#1c2b29,#17191c)}html[data-page=accueil] .portal:nth-child(2){background:linear-gradient(145deg,#332321,#1c181b)}html[data-page=accueil] .portal-icon{background:#ffffff0b}html[data-page=accueil] .portal:first-child .portal-icon{color:#c9efa0}html[data-page=accueil] .portal:nth-child(2) .portal-icon{color:#ffbb97}@media(max-width:900px){html[data-page=accueil] .hero{grid-template-columns:1fr}.hero-scene{width:min(100%,550px);justify-self:center;min-height:330px}.home-rendezvous{grid-template-columns:1fr}html[data-page=accueil] .hero h1{max-width:720px}}@media(max-width:520px){.hero-scene{min-height:290px;margin-top:30px}.scene-sticker{font-size:.65rem;left:0}.scene-spark{font-size:3rem;top:65px}.scene-caption strong{font-size:.75rem}.home-discord{padding:24px}html[data-page=accueil] .hero{padding-top:36px}}@media(prefers-reduced-motion:reduce){html[data-page=accueil] .portal{transition:none}html[data-page=accueil] .portal:hover{transform:none}}

/* Accueil simplifié : une photo, une présentation et des liens directs. */
html[data-page=accueil] body{background:var(--bg)}html[data-page=accueil] .hero{padding-top:56px;gap:48px}html[data-page=accueil] .hero h1{font-size:clamp(2.8rem,4.7vw,4.4rem);line-height:1.08;text-wrap:balance;max-width:580px}html[data-page=accueil] .hero .eyebrow{letter-spacing:.08em}.hero-scene{min-height:340px;transform:none;border:0;border-radius:0;box-shadow:none;background:none;margin:12px 0;align-self:center}.hero-scene:before{inset:35px 15px 0;border:0;border-radius:50% 50% 12px 12px;background:#70508c;z-index:-1}.hero-person{width:108%;margin-left:-4%;transform:none;filter:none;border-radius:0}.home-discord{background:transparent;border:0;border-left:2px solid #9674bb;border-radius:0;padding:24px 32px}.home-discord h2{margin:0 0 16px;font-size:1.8rem}.home-discord .button{background:transparent;color:#d3b8f5;border-color:#715784}.home-rendezvous .next-card{box-shadow:none;border-radius:10px}.home-rendezvous{margin-top:20px;margin-bottom:56px}html[data-page=accueil] .portal,html[data-page=accueil] .portal:first-child,html[data-page=accueil] .portal:nth-child(2){background:transparent;border:0;border-top:1px solid #51435e;border-radius:0;padding:24px 0;box-shadow:none}html[data-page=accueil] .portal:hover{transform:none;border-color:#c7a4f1}html[data-page=accueil] .portal h3{margin-top:0}html[data-page=accueil] .portal-footer{border:0;padding-top:18px}html[data-page=accueil] .portal-grid{gap:32px}@media(max-width:900px){html[data-page=accueil] .hero{gap:20px}.hero-scene{min-height:280px}}@media(max-width:520px){html[data-page=accueil] .hero{padding-top:32px}.hero-scene{min-height:220px}.home-discord{padding:20px}.home-rendezvous{margin-top:0}}

/* Accès aux pages : contraste et indication de clic. */
html[data-page=accueil] .portal,html[data-page=accueil] .portal:first-child,html[data-page=accueil] .portal:nth-child(2){background:#231c2e;border:1px solid #72568e;border-top:3px solid #b99af3;border-radius:10px;padding:28px;display:flex;flex-direction:column;min-height:245px}html[data-page=accueil] .portal h3{color:#fff;font-size:1.6rem;padding-right:32px;margin:0 0 16px}html[data-page=accueil] .portal p{color:#ded6e8;line-height:1.65;margin-bottom:24px}html[data-page=accueil] .portal:after{content:"↗";position:absolute;top:24px;right:24px;color:#d9c4ff;font-size:1.6rem}html[data-page=accueil] .portal-footer{display:block;margin-top:auto;padding-top:18px;border-top:1px solid #665274;color:#e1d0ff;font-size:.9rem;font-weight:650}html[data-page=accueil] .portal:hover,html[data-page=accueil] .portal:focus-visible{background:#30243e;border-color:#d2b4ff;transform:none}html[data-page=accueil] .portal-grid{gap:22px}@media(max-width:520px){html[data-page=accueil] .portal,html[data-page=accueil] .portal:first-child,html[data-page=accueil] .portal:nth-child(2){padding:24px;min-height:220px}}

.appointment-art{display:block;grid-column:1 / -1;width:100%;height:auto;max-height:260px;object-fit:cover;border-radius:9px;margin-top:12px}.appointment .date-tile{background:#38264c;border-color:#8865a8;color:#edddff}.appointment time{color:#e2d0f5}


.legal-content{max-width:850px}.legal-content section{margin:32px 0}.legal-content h2{font-size:1.5rem;margin-bottom:14px}.legal-content p,.legal-content li{line-height:1.8;margin-bottom:12px}.legal-content ul{padding-left:24px}.legal-content a,.privacy-note a{color:#d6bfff;text-decoration:underline;text-underline-offset:3px}.legal-links{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.privacy-note{font-size:.9rem;line-height:1.65;margin:22px 0;color:#ded6e8}.privacy-actions{display:flex;flex-wrap:wrap;gap:12px}.legal-draft{border-left:3px solid #e6bd73;padding:16px;background:#29241b}.privacy-actions .button{margin-top:8px}

.footer{flex-wrap:wrap}.footer .legal-links{font-size:.85rem;gap:10px 18px}.footer .legal-links a{text-decoration:underline;text-underline-offset:3px}@media(max-width:700px){.footer .legal-links{flex-basis:100%;justify-content:flex-start}.privacy-actions .button{width:100%}}

.live-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px;margin-bottom:40px;background:#211b2b;border:1px solid #665080;border-radius:12px}.live-banner strong{font-size:1.3rem}.live-banner p{margin-top:8px}.live-banner.is-live{border-color:#f47789;background:#301a26}.live-banner.is-live strong{color:#ffacb8}.agenda-button{display:flex;margin-top:16px}.agenda-note{font-size:.8rem!important;margin-top:8px}.schedule-status{display:inline-block;margin-top:12px}.appointment-cancelled{border-style:dashed}@media(max-width:650px){.live-banner{flex-direction:column;align-items:stretch;padding:20px}.live-banner .button{width:100%}}

/* Community participation */
.community-section{margin:0 0 64px;scroll-margin-top:110px}.community-poll{padding:28px;border:1px solid #66547e;border-radius:16px;background:#1b1722}.community-poll h3{font-size:1.6rem}.community-poll fieldset{border:0;padding:0;margin:24px 0}.community-poll legend{font-weight:700;margin-bottom:12px}.poll-choice{display:flex;align-items:center;gap:16px;padding:16px;margin:10px 0;border:1px solid #51445f;border-radius:10px;cursor:pointer}.poll-choice:has(input:checked){border-color:#bca1ff;background:#30253e}.poll-choice input{width:20px;height:20px;flex:none;accent-color:#bca1ff}.poll-choice>span{display:grid;gap:6px;flex:1;min-width:0}.poll-choice strong{overflow-wrap:anywhere}.poll-choice progress{width:100%;height:8px;accent-color:#bca1ff}.poll-help{font-size:.85rem;color:#c5bfce}.community-poll>.button{margin:16px 16px 0 0}.community-poll>a{display:inline-block;margin-top:16px}.community-ideas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px}.community-idea{padding:24px;border-top:3px solid #bca1ff;background:#1c1921;border-radius:4px 4px 14px 14px;overflow-wrap:anywhere}.community-idea h3{margin:18px 0 12px}.community-teaser{margin-top:36px;margin-bottom:56px;padding-top:32px;border-top:1px solid #51445f}.community-teaser h2{margin-bottom:24px}@media(max-width:600px){.community-poll{padding:18px}.community-poll>.button{width:100%;margin-right:0}}

/* Responsive navigation and content */
.menu-toggle{display:none}.appointment{display:grid;grid-template-columns:68px minmax(0,1fr)}.appointment-art{grid-column:1/-1;width:100%;max-height:260px}.next-card .appointment{display:grid}.next-card .date-tile{float:none;margin:0}.appointment-body{width:100%}.agenda-button{white-space:normal;word-break:normal;overflow-wrap:normal}
@media(max-width:900px){
.header.has-menu{display:flex;flex-wrap:wrap;gap:0;align-items:center;padding:16px 20px;position:relative;background:var(--bg);z-index:20}.header.has-menu .brand{margin-right:auto}.header.has-menu .menu-toggle{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;background:#211b2b;border:1px solid #51445f;border-radius:8px;color:var(--text);font-size:.9rem}.menu-icon{width:18px;height:12px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;position:relative}.menu-icon:after{content:'';position:absolute;left:0;right:0;top:4px;border-top:2px solid currentColor}.header.has-menu nav{display:none;width:100%;margin:16px 0 0;padding:8px 0;overflow:visible;white-space:normal;border-top:1px solid var(--line)}.header.has-menu.menu-open nav{display:grid;grid-template-columns:1fr 1fr;gap:6px}.header.has-menu nav a{padding:14px;border-radius:8px;min-height:48px;background:#19171e;font-size:1rem}.header.has-menu nav a[aria-current=page]{background:#30243e;color:#e3d6ff}.header.has-menu nav a:after{display:none}.header.has-menu>.twitch-link{display:none}.header.has-menu.menu-open>.twitch-link{display:block;width:100%;text-align:center;margin-top:10px;padding:12px}
}
@media(max-width:600px){
.shell{padding-left:20px;padding-right:20px}.page{padding-top:32px;padding-bottom:44px}.page-heading{margin-bottom:30px}.page-heading h1{font-size:2.35rem}.lead{font-size:1rem;line-height:1.65}.hero{gap:24px;padding-top:30px;padding-bottom:30px}.hero h1{font-size:2.5rem;margin:16px 0 18px;line-height:1.08}.hero .actions{gap:12px;margin-top:22px}.hero .actions .button{width:100%}.hero .text-link{display:block;width:100%;text-align:center;padding:10px}.hero-scene{margin:0 auto!important;width:100%;max-width:360px;min-height:0!important}.hero-person{max-height:235px;object-fit:contain}.live-banner{margin-left:20px;margin-right:20px;margin-bottom:28px}.live-banner strong{font-size:1.1rem}.appointment,.next-card .appointment{grid-template-columns:54px minmax(0,1fr);gap:14px;padding:18px;align-items:start}.appointment .date-tile{min-width:0;width:54px;padding:7px 4px}.date-tile strong{font-size:1.6rem}.appointment-body{min-width:0}.appointment .eyebrow{letter-spacing:.05em;font-size:.7rem}.appointment h3,.next-card .appointment h3{font-size:1.35rem}.appointment-art{grid-column:1/-1;grid-row:1;max-height:180px;margin:0 auto 4px;background:#111113}.appointment .agenda-button{width:100%;padding:12px 8px;gap:8px;font-size:.85rem}.appointment .agenda-note{line-height:1.5}.section-heading{align-items:center;gap:12px}.section-heading h2{font-size:1.55rem}.panel{padding:22px}.footer{margin:0 20px;padding-top:26px;gap:22px}.community-section{margin-bottom:38px}.community-section h2{font-size:1.65rem;margin-bottom:16px}.community-teaser{margin-left:20px;margin-right:20px;padding-left:0;padding-right:0}.library-toolbar{gap:14px}.filter-group{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.filter{padding:10px 5px;font-size:.8rem}.filter span{margin-left:4px}.search{width:100%}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.game-card{padding:14px}.game-card h2{font-size:1rem;overflow-wrap:normal;word-break:normal;margin-top:12px}.game-card .badge{font-size:.6rem;white-space:normal}.game-card img{height:100px;object-fit:cover}.game-card .button{padding:10px 8px;gap:5px;font-size:.8rem}.info-grid,.suggestions-grid{gap:24px}input,select,textarea{font-size:16px}
}

/* Navigation experiment: full-screen editorial layout */
.menu-heading,.menu-link-description,.menu-link-arrow,.menu-backdrop{display:none}
@media(max-width:900px){
html.navigation-open{overflow:hidden}.header.has-menu{z-index:50}.header.has-menu.menu-open{position:fixed;top:0;left:0;width:100%;max-width:none;background:#c4acf6;border-color:#ad94dc;color:#22182e}.header.has-menu.menu-open .brand-mark{background:#22182e;color:#d3bfff}.header.has-menu .menu-toggle{border:0;background:none;border-radius:0;padding:9px 0 9px 16px;gap:12px;color:inherit}.header.has-menu .menu-icon{border:0;width:22px;height:18px;transform:rotate(0deg);transition:transform .45s cubic-bezier(.22,1,.36,1)}.menu-icon:before,.header.has-menu .menu-icon:after{content:'';position:absolute;left:0;top:5px;height:2px;width:22px;background:currentColor;border:0;transition:transform .4s,top .4s}.header.has-menu .menu-icon:after{top:12px}.header.has-menu.menu-open .menu-icon{transform:rotate(90deg)}.menu-open .menu-icon:before{top:8px;transform:rotate(45deg)}.header.has-menu.menu-open .menu-icon:after{top:8px;transform:rotate(-45deg)}
.header.has-menu nav,.header.has-menu.menu-open nav{position:fixed;inset:76px 0 0;display:grid;grid-template-columns:1fr 1fr;align-content:start;align-items:stretch;gap:0 16px;width:100%;margin:0;padding:24px 26px max(24px,env(safe-area-inset-bottom));border:0;background:#c4acf6;color:#22182e;overflow-y:auto;overscroll-behavior:contain;visibility:hidden;transform:translateY(105%);transition:transform .48s cubic-bezier(.22,1,.36,1),visibility .48s;pointer-events:none}.header.has-menu.menu-open nav{visibility:visible;transform:translateY(0);pointer-events:auto}.header.has-menu .menu-heading{display:block;grid-column:1/-1;font-size:.65rem;letter-spacing:.18em;font-weight:700;color:#58466e;margin:0 0 14px}.header.has-menu .menu-secondary-heading{margin:30px 0 10px;padding-top:22px;border-top:1px solid #a48bc5}.header.has-menu nav a:not(.twitch-link){border:0;border-radius:0;background:none;color:#22182e;padding:10px 0;min-height:44px;font-size:1rem;transform:translateX(-18px);opacity:0;transition:opacity .25s,transform .4s}.header.has-menu.menu-open nav a{opacity:1;transform:none;transition-delay:calc(100ms + var(--menu-order,0)*35ms)}.header.has-menu nav a:nth-of-type(-n+3){grid-column:1/-1;padding:10px 0;line-height:1.12}.header.has-menu nav a:nth-of-type(-n+3) .menu-link-title{font-family:var(--heading);font-size:clamp(2.4rem,10.5vw,3.7rem);letter-spacing:-.055em;font-weight:500}.header.has-menu nav a[aria-current=page]{color:#22182e;box-shadow:none;background:none}.header.has-menu nav a[aria-current=page] .menu-link-title{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}.header.has-menu nav a:hover .menu-link-title{color:#624284}.header.has-menu nav a:focus-visible{outline:2px solid #22182e;outline-offset:4px}.header.has-menu nav .twitch-link{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;background:#22182e;color:#f0e8fc;border:0;border-radius:0;font-size:1rem;font-weight:600;padding:17px 20px;margin-top:30px;min-height:56px}.header.has-menu nav .twitch-link:hover{background:#39264c}
}
@media(max-height:650px) and (max-width:900px){.header.has-menu nav{padding-top:16px}.header.has-menu nav a:nth-of-type(-n+3) .menu-link-title{font-size:2.2rem}.header.has-menu .menu-secondary-heading{margin-top:16px;padding-top:12px}.header.has-menu nav .twitch-link{margin-top:16px}}
@media(prefers-reduced-motion:reduce){.header.has-menu nav,.header.has-menu nav a,.menu-icon,.menu-icon:before,.menu-icon:after{transition:none!important}}
