:root{--ink:#17152a;--muted:#66637b;--indigo:#4b43b8;--violet:#7667d9;--pale:#f3f2ff;--line:#e5e3f1;--radius:22px;--shadow:0 14px 40px rgba(49,43,112,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fbfbfe;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}button,a{touch-action:manipulation}.site-header{height:112px;max-width:1180px;margin:auto;padding:0 28px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line)}.brand{justify-self:end;color:#777389;font-size:.88rem;font-weight:750}.main-nav{grid-column:2;display:flex;gap:14px}.main-nav a{padding:15px 27px;border:1px solid var(--line);background:white;border-radius:17px;font-size:1.2rem;font-weight:750;color:#363149;box-shadow:0 5px 20px rgba(45,41,90,.04);transition:.2s}.main-nav a:hover,.main-nav a.active{background:var(--indigo);border-color:var(--indigo);color:white;transform:translateY(-1px)}.menu-toggle{display:none;background:white;border:1px solid var(--line);border-radius:12px;padding:8px 12px;color:var(--ink)}main{max-width:1180px;margin:auto;padding:0 28px}.page{display:none;animation:appear .25s ease}.page.active{display:block}@keyframes appear{from{opacity:.25;transform:translateY(4px)}}.eyebrow{margin:0 0 9px;color:var(--indigo);font-weight:750;font-size:.76rem;letter-spacing:.13em;text-transform:uppercase}.home-layout,.club-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:34px;align-items:start;padding:48px 0 78px}.feed-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.9rem;font-weight:700}.text-button{border:0;background:none;color:var(--indigo);font-weight:700;cursor:pointer;padding:8px}.news-grid{display:flex;flex-direction:column;gap:16px}.news-card{display:flex;flex-direction:column;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:28px 30px;min-height:245px;box-shadow:0 5px 22px rgba(45,41,90,.035)}.news-card .meta{color:var(--violet);font-size:.78rem;font-weight:750}.news-card h3{margin:15px 0 8px;font-size:1.55rem;line-height:1.22}.news-card p{color:var(--muted);margin:0}.news-card .read{margin-top:auto;padding-top:22px;color:var(--indigo);font-weight:700}.tools-section{position:sticky;top:22px;background:linear-gradient(145deg,#302b75,#564bbf);border-radius:24px;padding:25px 20px;color:white;box-shadow:var(--shadow)}.tools-section .eyebrow{color:#c8c2ff}.aside-heading{margin-bottom:18px}.aside-heading h2{font-size:1.3rem;line-height:1.2;margin:0}.tool-grid{display:grid;grid-template-columns:1fr;gap:9px}.tool-card{min-height:88px;padding:15px 16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:15px;display:flex;flex-direction:column;justify-content:space-between;transition:.2s}.tool-card:hover{transform:translateY(-2px);background:rgba(255,255,255,.16)}.tool-icon{font-size:1.05rem}.tool-card strong{font-size:1rem}.tool-card span:last-child{opacity:.72;font-size:.84rem}.back{display:inline-block;margin:34px 0;color:var(--indigo);font-weight:700}.page-title{padding:35px 0 45px}.page-title h1,.japan-title h1{margin:0;line-height:1.06;letter-spacing:-.045em;font-size:clamp(2.8rem,6vw,4.6rem);font-weight:790}.page-title>p:last-child{font-size:1.1rem;color:var(--muted);margin:24px 0 0}.level-bar{display:flex;align-items:center;gap:10px;padding:14px 16px;background:white;border:1px solid var(--line);border-radius:18px;overflow:auto}.level-bar>span{color:var(--muted);font-size:.88rem;margin-right:auto;white-space:nowrap}.level-pill{border:0;border-radius:999px;padding:9px 16px;white-space:nowrap}.level-pill.active{background:var(--indigo);color:white}.level-pill.future{color:#9996a8;background:#f5f4f8}.theme-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;padding:28px 0 78px}.theme-card,.club-card{padding:28px;background:white;border:1px solid var(--line);border-radius:var(--radius)}.theme-card h2,.club-card h2{font-size:1.35rem;margin:0 0 8px}.theme-card>p,.club-card>p{margin:0 0 20px;color:var(--muted)}.lesson-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.lesson-list li{border-bottom:1px solid var(--line)}.lesson-list a{display:flex;justify-content:space-between;gap:15px;padding:14px 2px;font-weight:600}.lesson-list a span{color:var(--indigo)}.japan-title{margin-top:26px;padding:36px 42px;background:linear-gradient(130deg,#211e4c,#5146aa);color:white;border-radius:30px;display:flex;align-items:center;justify-content:space-between;overflow:hidden}.japan-title .eyebrow{color:#d3ceff}.enso{width:125px;height:125px;border:16px solid rgba(255,255,255,.12);border-right-color:transparent;border-radius:50%;transform:rotate(-30deg)}.club-layout{padding-top:28px}.club-links{position:sticky;top:22px;background:white;border:1px solid var(--line);border-radius:24px;padding:24px 20px}.club-grid{display:grid;grid-template-columns:1fr;gap:9px}.club-card{min-height:0;padding:17px 16px;border-radius:15px}.club-card h2{font-size:1.02rem}.club-card>p{font-size:.9rem;margin-bottom:12px}.club-card a{color:var(--indigo);font-size:.9rem;font-weight:700}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.filter{border:1px solid var(--line);background:white;border-radius:999px;padding:8px 15px;cursor:pointer}.filter.active{background:var(--indigo);border-color:var(--indigo);color:white}.all-news{padding-bottom:70px}.article-page{max-width:780px;margin:10px auto 90px;background:white;border:1px solid var(--line);border-radius:28px;padding:clamp(28px,6vw,64px)}.article-page .meta{color:var(--violet);font-size:.85rem;font-weight:750}.article-page h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1.08;letter-spacing:-.04em;margin:18px 0 24px}.article-page .lead{font-size:1.2rem;color:var(--muted)}.article-page .placeholder{margin-top:38px;padding:22px;background:var(--pale);border-radius:16px;color:#54506b}footer{max-width:1180px;margin:20px auto 0;padding:28px;display:flex;justify-content:space-between;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}
@media(max-width:800px){.site-header{height:auto;min-height:82px;grid-template-columns:1fr auto;padding:14px 20px}.brand{grid-column:2;grid-row:1}.menu-toggle{display:block;grid-column:1;grid-row:1;justify-self:start}.main-nav{display:none;grid-column:1/-1;width:100%;flex-direction:column;padding-top:12px}.main-nav.open{display:flex}.main-nav a{background:#f4f3fa;text-align:center;font-size:1.05rem;padding:12px}.home-layout,.club-layout{grid-template-columns:1fr;padding:30px 0 55px}.tools-section,.club-links{position:static;grid-row:1;padding:24px 20px;border-radius:22px}.club-news{grid-row:2}.tool-grid{grid-template-columns:repeat(2,1fr)}.tool-card{min-height:100px}main{padding:0 18px}.theme-grid{grid-template-columns:1fr}.japan-title{padding:34px 25px}.enso{display:none}.level-bar>span{display:none}.news-card{min-height:230px}}
@media(max-width:430px){.tool-grid{grid-template-columns:1fr}.tool-card{min-height:88px}.page-title h1,.japan-title h1{font-size:2.5rem}footer{padding:24px 18px}}

/* Identité visuelle — papier contemporain, académique et japonisant */
body{background:linear-gradient(135deg,#f6f1e8 0%,#f4eff0 48%,#eeecf7 100%);color:#242035}
.site-header{border-bottom-color:#dcd4df}
.main-nav a{position:relative;overflow:hidden;padding:15px 29px;border-color:rgba(70,55,90,.16);color:#fff}
.main-nav a::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.23;background-image:repeating-linear-gradient(115deg,transparent 0 5px,rgba(255,255,255,.18) 6px,transparent 8px),radial-gradient(circle at 20% 25%,rgba(255,255,255,.34) 0 1px,transparent 2px)}
.main-nav .nav-maths{background:linear-gradient(145deg,#37317f,#5750b8);font-family:Cambria,Georgia,serif;letter-spacing:.015em}
.main-nav .nav-japan{background:linear-gradient(145deg,#713a66,#c46c66);font-family:"Segoe Print","Yu Mincho","Hiragino Mincho ProN",cursive;font-weight:700}
.main-nav a:hover,.main-nav a.active{border-color:rgba(50,35,70,.28);filter:saturate(1.08) brightness(.96)}
.news-card,.theme-card,.club-card,.level-bar,.article-page{background:rgba(255,255,255,.78);backdrop-filter:blur(8px)}
.news-card .category,.article-page .category{color:#7d416e;font-size:.76rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.tools-section{background:linear-gradient(145deg,#353078,#6654b9)}
.tool-card{background-image:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.07)),repeating-linear-gradient(112deg,transparent 0 7px,rgba(255,255,255,.04) 8px,transparent 10px)}
.japan-title{background:linear-gradient(130deg,#553356,#9a5367)}
.japan-title .eyebrow{color:#f3d7d8}
.japan-title h1{font-family:"Segoe Print","Yu Mincho","Hiragino Mincho ProN",cursive;font-weight:700}
.page[data-page="mathematiques"] .page-title h1{font-family:Cambria,Georgia,serif;font-weight:700}
.club-links{background:rgba(255,255,255,.72);backdrop-filter:blur(8px)}
@media(max-width:800px){.main-nav a{color:#fff}.main-nav .nav-maths{background:linear-gradient(145deg,#37317f,#5750b8)}.main-nav .nav-japan{background:linear-gradient(145deg,#713a66,#c46c66)}}
