@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap');
:root{--black:#000;--panel:#d3cbbe;--panel-dark:#c6bfae;--panel-hi:#e2ddd3;--text:#080808;--muted:#55534f;--purple:#240f59;--purple-dark:#0c041e;--purple-mid:#29126a;--green:#338c40;--green-hi:#57b967;--line:#000;--shadow:#000;--white:#f4f1e8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--panel);color:var(--text);font-family:"VT323",monospace;font-size:22px;line-height:1.25;background-image:linear-gradient(rgba(0,0,0,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.035) 1px,transparent 1px);background-size:16px 16px}a{color:inherit;text-decoration:none}code{font-family:"VT323",monospace;background:#bcb4a5;border:2px solid #000;padding:0 5px;color:#000}.topbar{min-height:58px;display:flex;align-items:center;gap:12px;padding:5px 8px;background:#000;color:#ddd;border-bottom:3px solid #000;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:8px;font-family:"Press Start 2P";font-size:12px;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:34px;height:34px;background:var(--green);color:#000;border:2px solid #000;box-shadow:2px 2px 0 #777}.hero,.doc-hero{max-width:1180px;margin:38px auto 0;padding:clamp(26px,5vw,52px);border:3px solid #000;box-shadow:8px 8px 0 #000;background:var(--panel);position:relative;overflow:hidden}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:38px;align-items:center}.eyebrow{font-family:"Press Start 2P";font-size:10px;line-height:1.7;color:var(--green);letter-spacing:1px}.hero h1,.doc-hero h1{font-family:"Press Start 2P";font-size:clamp(28px,5vw,58px);line-height:1.25;margin:18px 0}.hero h1 span{color:var(--green)}.lead{font-size:28px;color:#282725;max-width:700px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.button{display:inline-block;border:3px solid #000;background:var(--panel-hi);padding:9px 15px;font-family:"VT323",monospace;font-size:23px;box-shadow:4px 4px 0 #000}.button:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 #000}.button.primary{background:var(--green);color:#000}.pixel-engine{border:3px solid #000;background:#000;padding:9px;box-shadow:7px 7px 0 #000;transform:rotate(.5deg)}.pixel-screen{height:290px;position:relative;overflow:hidden;background:linear-gradient(#0c041e,#240f59 65%,#170a3e);background-image:linear-gradient(rgba(90,50,160,.13) 2px,transparent 2px),linear-gradient(90deg,rgba(90,50,160,.08) 2px,transparent 2px);background-size:100% 16px,16px 100%}.pixel-sun{position:absolute;width:62px;height:62px;background:#7c4fd0;right:35px;top:28px;box-shadow:8px 0 #7c4fd0,-8px 0 #7c4fd0,0 8px #7c4fd0,0 -8px #7c4fd0}.pixel-ground{position:absolute;bottom:0;left:0;right:0;height:70px;background:#170a3e;border-top:7px solid var(--green);background-image:linear-gradient(90deg,transparent 28px,#0c041e 28px,#0c041e 34px,transparent 34px);background-size:64px 24px}.pixel-actor{position:absolute;bottom:57px;left:35%;width:52px;height:92px;background:#d35d91;box-shadow:8px 0 #7e3158,0 -8px #e88db1,8px -8px #e88db1,-8px 10px #d35d91}.pixel-actor:before{content:"";position:absolute;width:42px;height:42px;left:5px;top:-35px;background:#d35d91;box-shadow:8px 0 #7e3158}.pixel-actor i,.pixel-actor b{position:absolute;width:7px;height:7px;background:#000;top:-20px;z-index:2}.pixel-actor i{left:14px}.pixel-actor b{right:14px}.pixel-actor em{position:absolute;width:13px;height:8px;background:#f7d4de;left:20px;top:16px}.pixel-console{font-family:"Press Start 2P";font-size:8px;padding:10px 3px 2px;color:var(--green-hi)}.section{max-width:1180px;margin:76px auto;padding:0 20px}.section-head{margin-bottom:25px}.section h2,.doc-content h2{font-family:"Press Start 2P";font-size:clamp(20px,3vw,30px);line-height:1.45;margin:8px 0 16px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cards.compact{grid-template-columns:repeat(3,1fr)}.card{background:var(--panel);border:3px solid #000;padding:20px;box-shadow:5px 5px 0 #000}.card h3{font-family:"Press Start 2P";font-size:12px;margin:10px 0 13px}.card p{color:#282725;margin:0}.icon{display:inline-grid;place-items:center;height:36px;min-width:52px;padding:0 7px;border:2px solid #000;background:var(--panel-hi);color:#000;font-family:"Press Start 2P";font-size:8px}.dark-panel{max-width:none;padding:62px max(20px,calc((100% - 1180px)/2));background:#000;color:#ddd;border-top:3px solid #000;border-bottom:3px solid #000}.split{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start}.split p{color:#bdbdbd}.split h2{color:#eee}pre{font-family:"VT323",monospace;font-size:21px;line-height:1.25;background:#0a0a0a;border:3px solid #555;padding:17px;overflow:auto;box-shadow:4px 4px 0 #000;color:#eee}.code-window{min-height:220px}.kw{color:#78d787}.str{color:#d2f59a}.comment{color:#777}.flow{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.flow>div{border:3px solid #000;background:var(--panel);padding:14px;min-height:145px;box-shadow:3px 3px 0 #000}.flow b{display:block;color:var(--green);font-family:"Press Start 2P";font-size:9px}.flow strong{display:block;font-family:"Press Start 2P";font-size:10px;margin:18px 0 10px}.flow span{color:#393735}.callout{border:3px solid #000;padding:28px;box-shadow:7px 7px 0 #000;background:var(--panel)}.callout p:not(.eyebrow){color:#2b2a28;max-width:800px}.docs{max-width:1180px;margin:38px auto;padding:0 20px}.doc-hero{margin:0 0 28px}.doc-hero h1{font-size:clamp(24px,4vw,44px)}.doc-hero p:not(.eyebrow){color:#34322f;font-size:25px;max-width:900px}.doc-grid{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:start}.toc{position:sticky;top:70px;padding:16px;background:var(--panel);border:3px solid #000;box-shadow:5px 5px 0 #000}.toc h3{font-family:"Press Start 2P";font-size:9px;color:var(--green);margin-top:4px}.toc a{display:block;padding:6px 4px;color:#333;border-bottom:2px dotted #777}.toc a:hover{color:#000;background:var(--panel-hi)}.doc-content.single{max-width:1000px;margin:auto}.doc-content article{background:var(--panel);border:3px solid #000;padding:26px;margin-bottom:20px;box-shadow:5px 5px 0 #000}.doc-content p,.doc-content li{color:#292826}.doc-content h2{margin-top:0}.doc-content h3{font-family:"Press Start 2P";font-size:11px;color:var(--green);margin-top:25px}.note{border:3px solid #000;border-left:7px solid var(--green);background:var(--panel-hi);padding:12px 16px;margin:18px 0;color:#20201e}.table-wrap{overflow:auto}.doc-content table{width:100%;border-collapse:collapse;min-width:600px}.doc-content th,.doc-content td{border:2px solid #000;padding:9px;text-align:left}.doc-content th{font-family:"Press Start 2P";font-size:8px;color:#000;background:var(--panel-dark)}.doc-content td{color:#252422}.api-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.api-grid>div,.reference>div{border:2px solid #000;background:var(--panel-hi);padding:10px}.api-grid code,.reference code{display:block;color:#000;background:transparent;border:0;padding:0;font-size:21px}.api-grid span,.reference span{display:block;color:#55514b;font-size:19px;margin-top:3px}.reference{display:grid;gap:7px}.signature-list{display:grid;gap:7px}.signature-list code{display:block;padding:10px 13px;border:2px solid #000;background:var(--panel-hi);color:#000}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.timeline>div{border:2px solid #000;padding:14px;background:var(--panel-hi)}.timeline b{font-family:"Press Start 2P";font-size:9px;color:var(--green);display:block}.timeline span{color:#4c4945}footer{margin-top:76px;padding:25px max(20px,calc((100% - 1180px)/2));border-top:3px solid #000;background:#000;display:flex;justify-content:space-between;gap:20px;color:#aaa;font-size:18px}footer span:first-child{font-family:"Press Start 2P";font-size:9px;color:var(--green-hi)}@media(max-width:900px){.hero,.split,.doc-grid{grid-template-columns:1fr}.cards,.cards.compact{grid-template-columns:repeat(2,1fr)}.flow{grid-template-columns:repeat(3,1fr)}.toc{position:static}.pixel-engine{max-width:520px}}@media(max-width:620px){body{font-size:19px}.brand span:last-child{display:none}.cards,.cards.compact,.api-grid,.timeline{grid-template-columns:1fr}.flow{grid-template-columns:1fr 1fr}.hero h1{font-size:28px}.doc-content article{padding:19px}.pixel-screen{height:210px}footer{flex-direction:column}}

/* ===== v2 : pixel art, animations, third-party ===== */
:focus-visible{outline:3px solid var(--green-hi);outline-offset:2px}
img{image-rendering:pixelated}
.brand-logo{width:32px;height:32px;display:block}.brand:hover .brand-logo{animation:wiggle .4s steps(4)}
.foot-logo{height:18px;width:auto;margin-right:10px;vertical-align:middle}
@keyframes wiggle{25%{transform:translateY(-3px) rotate(-6deg)}75%{transform:translateY(2px) rotate(6deg)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hero>*{position:relative;z-index:1}
.hero:before{content:"";position:absolute;right:-30px;bottom:-30px;width:340px;height:380px;background:url(assets/logo-black.png) no-repeat center/contain;opacity:.06;image-rendering:pixelated;z-index:0}
/* scène du hero */
.stars{position:absolute;left:0;top:0;width:4px;height:4px;background:#f4f1e8;animation:twinkle 1.6s steps(2) infinite;box-shadow:40px 30px #f4f1e8,90px 12px #b79cf0,150px 52px #f4f1e8,210px 20px #f4f1e8,262px 70px #b79cf0,310px 34px #f4f1e8,24px 96px #b79cf0,120px 110px #f4f1e8,330px 120px #f4f1e8,70px 150px #f4f1e8}
@keyframes twinkle{50%{opacity:.25}}
.cloud{position:absolute;left:100%;width:16px;height:16px;background:#3b2080;box-shadow:16px 0 #3b2080,32px 0 #3b2080,48px 0 #3b2080,16px -16px #3b2080,32px -16px #3b2080;animation:drift 24s linear infinite}
.cloud.c1{top:96px}.cloud.c2{top:150px;opacity:.7;animation-duration:38s;animation-delay:-14s}
@keyframes drift{to{transform:translateX(-640px)}}
.fcube{position:absolute;width:48px;height:48px;animation:bob 2.4s steps(6) infinite}
.f1{left:12%;top:36px}.f2{left:60%;top:84px;width:36px;height:36px;animation-delay:-.8s}.f3{left:80%;top:150px;width:30px;height:30px;animation-delay:-1.6s}
.pixel-ground{animation:ground .8s steps(8) infinite}@keyframes ground{to{background-position-x:-64px}}
.mush{position:absolute;bottom:68px;left:100%;width:48px;animation:pass 5s linear infinite}
@keyframes pass{to{transform:translateX(-520px)}}
.hero-sprite{position:absolute;bottom:68px;left:28%;width:48px;height:52px;background:url(assets/hero.png) 0 0/96px 52px;image-rendering:pixelated;animation:walk .5s steps(2) infinite;cursor:pointer}
@keyframes walk{to{background-position-x:-96px}}
.hero-sprite.jump{animation:walk .5s steps(2) infinite,hop .55s ease-out}
@keyframes hop{50%{transform:translateY(-70px)}}
.pixel-screen{cursor:pointer}
/* capture de l'éditeur */
.shot{margin:0;border:3px solid #000;box-shadow:8px 8px 0 #000;background:#000}
.shot-bar{display:flex;align-items:center;gap:6px;padding:7px 10px;background:#151515;color:#ddd;font-family:"Press Start 2P";font-size:9px}
.shot-bar i{width:10px;height:10px;background:#57b967;display:block}.shot-bar i:nth-child(2){background:#ffd23a}.shot-bar i:nth-child(3){background:#d35d91}.shot-bar span{margin-left:8px}
.shot img{display:block;width:100%;height:auto;border-top:3px solid #000}
.shot figcaption{padding:12px 16px;background:var(--panel);border-top:3px solid #000}
/* bandeau de cubes */
.vox-divider{height:26px;margin:56px 0;background:url(assets/strip.png) repeat-x 0 0/208px 26px;image-rendering:pixelated;animation:strip 10s linear infinite}
@keyframes strip{to{background-position-x:208px}}
.doc-hero+.vox-divider{margin:34px 0}
/* pipeline */
.flow>div{transition:background .15s,transform .15s,box-shadow .15s}
.flow>div.lit{background:var(--green-hi);transform:translate(-3px,-3px);box-shadow:6px 6px 0 #000}
/* pastilles et cartes libs */
.chips{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:22px}
.chip{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border:3px solid #000;background:var(--panel-hi);box-shadow:4px 4px 0 #000;font-family:"Press Start 2P";font-size:11px}
.chip img{width:24px;height:24px}.chip:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 #000}.chip:hover img{animation:bob .6s steps(3)}
.libs{max-width:1180px;margin:0 auto 28px;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.lib{background:var(--panel);border:3px solid #000;box-shadow:5px 5px 0 #000;padding:22px;position:relative;scroll-margin-top:80px}
.lib:target{background:var(--panel-hi);outline:3px solid var(--green)}
.lib-cube{position:absolute;right:18px;top:16px;width:64px;height:64px;animation:bob 3s steps(6) infinite}
.lib h2{font-family:"Press Start 2P";font-size:16px;margin:4px 0 12px}
.tag{display:inline-block;padding:3px 8px;border:2px solid #000;background:var(--green-hi);font-family:"Press Start 2P";font-size:8px;line-height:1.6;margin:0 0 12px}
.lib dl{display:flex;gap:24px;margin:14px 0 18px}.lib dt{font-family:"Press Start 2P";font-size:8px;color:var(--muted);margin-bottom:5px}.lib dd{margin:0}
.doc-hero:after{content:"";position:absolute;right:34px;top:26px;width:88px;height:88px;background:url(assets/cube-green.png) no-repeat center/contain;image-rendering:pixelated;animation:bob 2.6s steps(6) infinite}
@media(max-width:900px){.doc-hero:after,.hero:before{display:none}.libs{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* v3 : logos de libs, HRL, bloc no-C++ */
.lib-head{display:flex;align-items:center;gap:16px;margin-bottom:10px}
.lib h2{margin:0 0 8px;font-size:14px;line-height:1.5}.lib .tag{margin:0}
.lib-logo{width:56px;height:56px;flex:none;object-fit:contain}.lib-logo.lib-cube{position:static;animation:bob 3s steps(6) infinite}
.lib-logo.real{background:#fff;border:3px solid #000;padding:6px;box-shadow:3px 3px 0 #000;animation:none}
.lib-logo.wide{width:120px;height:80px}
.lib-main{grid-column:1/-1;background:var(--panel-hi);border-width:4px}.lib-main .lib-logo.wide{width:170px;height:112px}.lib-main h2{font-size:18px}.lib-main>p{max-width:860px}
.lib-main:hover .lib-logo.real{animation:wiggle .4s steps(4)}
.chip-logo{width:24px;height:24px}.chip-logo.wide{width:auto;height:24px;background:#fff;padding:1px 3px;border:2px solid #000}
.nocpp{display:flex;gap:30px;align-items:center;justify-content:space-between;flex-wrap:wrap;border:3px solid #000;box-shadow:7px 7px 0 #000;background:var(--green-hi);padding:28px}
.nocpp .eyebrow{color:#0c041e}.nocpp h2{margin-top:6px}.nocpp p:not(.eyebrow){max-width:640px;color:#0c1a0e;margin:0}
.badges{display:grid;gap:8px}.badge{display:block;padding:7px 14px;border:3px solid #000;background:var(--panel-hi);font-family:"Press Start 2P";font-size:10px;box-shadow:3px 3px 0 #000}
.badge.on{background:#000;color:var(--green-hi)}.badge.on:before{content:"+ "}
@media(max-width:900px){.lib-main{grid-column:auto}}
.lib-logo.real.wide,.chip-logo.wide{image-rendering:auto}
.lib-logo.real.wide{padding:8px 10px}
.chip .lib-cube{position:static;width:24px;height:24px;animation:none}
/* v4 : code */
pre{background:#0f0a22;border:3px solid #5a34a0;color:#e6e1f5;box-shadow:5px 5px 0 #000;tab-size:2}
pre::selection,pre ::selection{background:#57b967;color:#000}
pre[data-lang]:before{content:attr(data-lang);display:block;margin:-17px -17px 14px;padding:7px 12px;background:#1d1240;border-bottom:3px solid #5a34a0;font-family:"Press Start 2P";font-size:8px;color:#b79cf0}
pre[data-lang="C++"]:before{color:#ff9fc4}
.t-com{color:#8479ad}.t-kw{color:#ff79b0}.t-str{color:#b5f07a}.t-num{color:#ffd23a}.t-fn{color:#7fd8ff}
.t-type{color:#78e8b4}.t-prop{color:#d4c4ff}.t-mac{color:#ffb86b}.t-pun{color:#9a92c0}
.tag.mod{background:#e88db1;margin-left:6px}

/* v5 : Lynxie AI assistant */
.lynxie-panel{scroll-margin-top:80px}.lynxie-panel .split{align-items:stretch}.lynxie-panel h2{max-width:720px}.lynxie-panel p:not(.eyebrow),.lynxie-doc>p{max-width:850px}.lynxie-panel strong,.lynxie-doc strong{color:#000}
.ai-terminal{min-width:320px;max-width:520px;width:100%;background:#0b0715;color:#e9e3f5;border:3px solid #000;box-shadow:8px 8px 0 #000;font-family:"VT323",monospace}.ai-head{display:flex;align-items:center;gap:9px;padding:9px 12px;background:#171025;border-bottom:3px solid #000;font-family:"Press Start 2P";font-size:10px}.ai-dot{width:10px;height:10px;background:var(--green-hi);border:2px solid #000;box-shadow:1px 1px 0 #fff}.ai-status{margin-left:auto;color:#57b967;font-size:7px}.ai-line{display:grid;grid-template-columns:70px 1fr;gap:10px;padding:13px 14px;border-bottom:2px solid #302449}.ai-line b{font-family:"Press Start 2P";font-size:8px;color:#b79cf0}.ai-line.response b{color:#57b967}.ai-line span{color:#eee}.ai-progress{display:flex;gap:5px;padding:12px 14px}.ai-progress i{display:block;width:20px;height:10px;background:#3b2860;animation:aiPulse .9s steps(2) infinite}.ai-progress i:nth-child(2){animation-delay:.12s}.ai-progress i:nth-child(3){animation-delay:.24s}.ai-progress i:nth-child(4){animation-delay:.36s}.ai-progress i:nth-child(5){animation-delay:.48s}@keyframes aiPulse{50%{background:var(--green-hi)}}.ai-result{padding:10px 14px;background:#132417;border-top:2px solid #000;color:#8df39b}.ai-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.ai-tags span{padding:5px 8px;border:2px solid #000;background:var(--panel-hi);font-family:"Press Start 2P";font-size:8px;box-shadow:2px 2px 0 #000}.lynxie-doc{background:var(--panel-hi);border:3px solid #000;box-shadow:7px 7px 0 #000}.lynxie-doc .ai-tags{margin-top:22px}@media(max-width:900px){.ai-terminal{max-width:none}.ai-line{grid-template-columns:62px 1fr}}

/* Lynxie: all text follows the site's black text treatment. */
.lynxie-panel, .lynxie-panel *, .lynxie-doc, .lynxie-doc * { color:#000 !important; }
.ai-terminal { background:var(--panel) !important; color:#000 !important; }
.ai-head { background:var(--panel-hi) !important; color:#000 !important; }
.ai-status, .ai-line b, .ai-line.response b, .ai-line span, .ai-result { color:#000 !important; }
.ai-result { background:var(--panel-hi) !important; }

/* Lynxie special feature */
.lynxie-special{position:relative;overflow:hidden;border-top:3px solid #000;border-bottom:3px solid #000;background:#f0ede4}.lynxie-special .section-intro{max-width:850px;color:#20201e;font-size:23px}.lynxie-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:24px}.lynxie-feature{border:3px solid #000;background:#fffdf7;padding:20px;min-height:205px;box-shadow:5px 5px 0 #000}.lynxie-feature h3{font-family:"Press Start 2P";font-size:11px;margin:15px 0 12px;color:#000}.lynxie-feature p{color:#111!important}.lynxie-number{font-family:"Press Start 2P";font-size:10px;color:#000;background:#9be15d;padding:5px 7px;border:2px solid #000}.lynxie-model{margin-top:28px;border:3px solid #000;background:#fff;padding:22px;display:grid;grid-template-columns:1fr 280px;gap:25px;align-items:center;box-shadow:7px 7px 0 #000}.lynxie-model h3{font-family:"Press Start 2P";font-size:12px;margin:0 0 12px;color:#000}.lynxie-model p{color:#111!important}.model-badge{border:3px solid #000;background:#111;color:#fff;padding:18px;text-align:center;box-shadow:4px 4px 0 #000}.model-badge b{display:block;font-family:"Press Start 2P";font-size:18px;color:#fff}.model-badge span,.model-badge small{display:block;color:#fff;font-family:"VT323",monospace}.model-badge span{font-size:20px;margin-top:8px}.model-badge small{font-size:16px;margin-top:12px;color:#fff}.lynxie-panel p,.lynxie-panel h2,.lynxie-panel h3,.lynxie-panel span{color:#000!important}.lynxie-panel .ai-terminal{color:#000!important}@media(max-width:900px){.lynxie-grid{grid-template-columns:repeat(2,1fr)}.lynxie-model{grid-template-columns:1fr}}@media(max-width:620px){.lynxie-grid{grid-template-columns:1fr}}

/* Lynxie page */
.section-intro{max-width:900px;color:#292826}.lynxie-doc{max-width:1180px;margin:60px auto;padding:28px 20px;border:3px solid #000;box-shadow:7px 7px 0 #000;background:var(--panel)}
.feature-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.feature-card h3{margin-top:14px}.feature-card>p{color:#282725}.feature-card .feature-sub{display:inline-block;margin:14px 0 0;padding:4px 8px;border:2px solid #000;background:var(--green-hi);color:#000;font-family:"Press Start 2P";font-size:8px}.feature-card .shot{margin-top:12px;box-shadow:5px 5px 0 #000}.feature-card .shot-bar{font-size:8px}.feature-card .shot figcaption{font-size:19px}@media(max-width:900px){.feature-cards{grid-template-columns:1fr}}

/* Feature sections and download page */
nav a.lynxie-link{display:inline-flex;align-items:center;gap:5px}.lynxie-nav-icon{width:20px;height:20px;object-fit:contain;image-rendering:pixelated;vertical-align:middle}.feature-intro{margin-bottom:30px}.feature-intro>p:last-child{max-width:780px;color:#292826;font-size:25px}.feature-section{margin-top:40px}.feature-section .feature-card{max-width:100%}.download-list{display:grid;gap:16px}.download-release{background:var(--panel);border:3px solid #000;padding:20px;box-shadow:5px 5px 0 #000}.release-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.release-heading h2{margin:0;font-size:clamp(16px,2vw,23px)}.release-tag{display:inline-block;padding:4px 8px;border:2px solid #000;background:var(--green-hi);color:#000;font-family:"Press Start 2P";font-size:8px}.release-meta{color:#514e48;margin:10px 0}.release-notes{color:#292826;white-space:pre-wrap;overflow-wrap:anywhere}.release-assets{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.release-assets a{display:inline-block;border:2px solid #000;background:var(--panel-hi);padding:6px 10px;box-shadow:2px 2px 0 #000}.release-assets a:hover{background:var(--green-hi);color:#000}.download-status{border:3px solid #000;padding:15px;background:var(--panel-hi);box-shadow:4px 4px 0 #000}.download-status.error{border-left:8px solid #d35d5d}.download-status a{font-weight:bold;text-decoration:underline}
nav a[href="lynxie.html"]{display:inline-flex;align-items:center;gap:5px}

.button.ms-store{display:inline-flex;align-items:center;gap:10px;background:#000;color:#fff;border-color:#000}.button.ms-store:hover{background:#151515}.ms-logo{flex:none}
.plug-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:18px}.plug-tools input,.plug-tools select,.plug-form input{font-family:"VT323",monospace;font-size:22px;padding:7px 10px;border:3px solid #000;background:var(--panel-hi);color:#000;box-shadow:3px 3px 0 #000;min-width:0}.plug-tools input{flex:1 1 240px}.plug-form input{width:100%;margin-top:6px}.plug-tools input:focus,.plug-tools select:focus,.plug-form input:focus{outline:3px solid var(--green)}.plug-count{font-family:"Press Start 2P";font-size:9px;color:#55514b}.plug-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.plug-card{display:flex;flex-direction:column}.plug-card .actions{margin-top:auto;padding-top:16px}.plug-card .button{font-size:20px;padding:5px 11px}.plug-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.plug-top h3{margin:0 0 12px}.plug-tag{font-family:"Press Start 2P";font-size:8px;padding:5px 6px;border:2px solid #000;background:var(--green);color:#000;white-space:nowrap}.plug-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:12px;color:#55514b;font-size:19px}.plug-msg{grid-column:1/-1;font-size:24px}.plug-publish{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.plug-form label{display:block;margin-bottom:14px}.plug-form small{display:block;color:#55514b;font-size:18px;margin-top:4px}.plug-err{color:#a1201f;min-height:1.3em;margin:0}.plug-preview pre{margin:0 0 6px;min-height:150px}.plug-hint{font-size:19px;margin-top:16px!important}.plug-rules{margin-top:12px}.button.disabled{opacity:.45;pointer-events:none}button.button{cursor:pointer;color:#000}@media(max-width:900px){.plug-grid{grid-template-columns:repeat(2,1fr)}.plug-publish{grid-template-columns:1fr}}@media(max-width:620px){.plug-grid{grid-template-columns:1fr}}

/* ===== Toolbar ===== */
.topbar{gap:18px;padding:5px max(12px,calc((100% - 1180px)/2 + 20px))}
.brand{color:#ddd;flex:none}.brand:hover{color:var(--green-hi)}
.main-nav{flex:1;display:flex;align-items:center;gap:4px}
.main-nav a,.nav-drop{font-family:"VT323",monospace;font-size:22px;line-height:1.2;color:#ddd;background:none;border:0;border-bottom:3px solid transparent;padding:6px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;box-shadow:none}
.main-nav a:hover,.nav-drop:hover,.nav-group.open>.nav-drop{color:#000;background:var(--green-hi)}
.main-nav a.active,.nav-drop.active{color:var(--green-hi);border-bottom-color:var(--green)}
.main-nav a.active:hover,.nav-drop.active:hover{color:#000}
.nav-drop:after{content:"";width:7px;height:7px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-2px);transition:transform .12s}
.nav-group.open>.nav-drop:after{transform:rotate(-135deg) translateY(-1px)}
.nav-group{position:relative}
.nav-menu{display:none;position:absolute;top:100%;left:0;min-width:220px;background:#000;border:3px solid #777;box-shadow:5px 5px 0 #000;padding:4px;z-index:30}
.nav-menu a{display:flex;width:100%;border-bottom:0;padding:6px 10px}
.nav-menu a.active{background:#1d1d1d}
.nav-group.open>.nav-menu{display:block}
@media(hover:hover) and (min-width:901px){.nav-group:hover>.nav-menu{display:block}.nav-group:hover>.nav-drop{color:#000;background:var(--green-hi)}}
.main-nav .nav-cta{margin-left:auto;background:var(--green);color:#000;border:3px solid #000;border-bottom-width:3px;box-shadow:3px 3px 0 #777;padding:3px 14px}
.main-nav .nav-cta:hover{background:var(--green-hi);transform:translate(1px,1px);box-shadow:2px 2px 0 #777}
.main-nav .nav-cta.active{color:#000;border-bottom-color:#000;background:var(--green-hi)}
.lynxie-link .lynxie-nav-icon{width:20px;height:20px}
.nav-toggle{display:none;margin-left:auto;width:42px;height:38px;background:#151515;border:2px solid #777;cursor:pointer;padding:0;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.nav-toggle span{display:block;width:20px;height:3px;background:#ddd}
.nav-toggle:hover{border-color:var(--green-hi)}
@media(max-width:900px){
  .topbar{flex-wrap:wrap;align-items:center;gap:0 12px;padding:6px 12px}
  .nav-toggle{display:flex}
  .main-nav{display:none;flex:0 0 100%;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 10px;max-height:calc(100vh - 70px);overflow:auto}
  .topbar.open .main-nav{display:flex}
  .main-nav a,.nav-drop{padding:10px 8px;border-bottom:2px dotted #444;border-left:4px solid transparent}
  .main-nav a.active,.nav-drop.active{border-left-color:var(--green);border-bottom-color:#444}
  .nav-drop{width:100%;justify-content:space-between}
  .nav-menu{position:static;display:none;min-width:0;border:0;box-shadow:none;padding:0 0 0 14px;background:transparent}
  .nav-menu a{padding:9px 8px}
  .main-nav .nav-cta{margin:10px 0 0;justify-content:center}
}
@media(max-width:620px){.brand span:last-child{display:inline}.brand{font-size:11px}}

/* ===== Devlog ===== */
.dev-tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.chip{font-family:"VT323",monospace;font-size:20px;line-height:1.1;border:2px solid #000;background:var(--panel-hi);color:#000;padding:3px 10px;cursor:pointer;box-shadow:2px 2px 0 #000}
.chip:hover,.chip.on{background:var(--green)}
.dev-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.dev-card{display:flex;flex-direction:column;padding:0!important;overflow:hidden;color:inherit}
.dev-card:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 #000}
.dev-cover{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-bottom:3px solid #000;background:#000}
.dev-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.dev-date{font-family:"Press Start 2P";font-size:9px;color:var(--green);line-height:1.6}
.dev-card h3{font-family:"Press Start 2P";font-size:13px;line-height:1.55;margin:10px 0 8px}
.dev-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:12px}
.dev-post{max-width:860px;margin:0 auto}
.dev-post h1{font-family:"Press Start 2P";font-size:clamp(18px,3vw,28px);line-height:1.4;margin:14px 0}
.dev-back{display:inline-block;margin-bottom:16px;text-decoration:underline}
.dev-pn{max-width:860px;margin:18px auto 0;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.md{font-size:23px;line-height:1.35}
.md>:first-child{margin-top:0}
.md h2{font-family:"Press Start 2P";font-size:16px;line-height:1.5;margin:34px 0 12px}
.md h3{font-family:"Press Start 2P";font-size:12px;line-height:1.5;color:var(--green);margin:26px 0 10px}
.md h4{font-family:"Press Start 2P";font-size:10px;margin:22px 0 8px}
.md p,.md li{color:#292826}.md p{margin:0 0 14px}.md ul,.md ol{padding-left:26px;margin:0 0 14px}
.md a{text-decoration:underline;color:#1c5b2a}.md a:hover{background:var(--green-hi);color:#000}
.md img,.md video{display:block;max-width:100%;height:auto;margin:18px 0;border:3px solid #000;box-shadow:4px 4px 0 #000;background:#000}
.md blockquote{border:3px solid #000;border-left:7px solid var(--green);background:var(--panel-hi);margin:18px 0;padding:10px 16px}
.md pre{margin:18px 0}.md hr{border:0;border-top:3px dashed #000;margin:26px 0}
.md-embed{position:relative;aspect-ratio:16/9;margin:18px 0;border:3px solid #000;box-shadow:4px 4px 0 #000;background:#000}
.md-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.md-title{font-family:"Press Start 2P";font-size:18px;line-height:1.4;margin:0 0 18px!important}
.adm-posts{margin-bottom:14px}.adm-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.adm-row h3{margin:0 auto 0 0}
.adm-list{margin-top:12px;display:grid;gap:6px}.adm-li{display:flex;gap:12px;align-items:center;border:2px solid #000;background:var(--panel-hi);padding:6px 10px}.adm-li span{font-family:"Press Start 2P";font-size:9px;color:#55514b}.adm-li b{font-weight:400;flex:1}
.adm{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}.adm-col{display:grid;gap:14px;min-width:0}
.adm-prev{position:sticky;top:70px;max-height:calc(100vh - 90px);overflow:auto}
.adm label{display:block;margin-bottom:12px}.adm small{display:block;color:#55514b;font-size:18px;margin-top:3px}.adm-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.adm input:not([type=file]),.adm select,.adm textarea{width:100%;font-family:"VT323",monospace;font-size:22px;padding:7px 10px;margin-top:6px;border:3px solid #000;background:var(--panel-hi);color:#000;box-shadow:3px 3px 0 #000}
.adm input:focus,.adm select:focus,.adm textarea:focus{outline:3px solid var(--green)}
.adm textarea{min-height:380px;resize:vertical;margin-top:10px;line-height:1.2}
.adm-tb{display:flex;gap:5px;flex-wrap:wrap}.adm-tb button{font-family:"VT323",monospace;font-size:20px;min-width:42px;padding:3px 9px;border:2px solid #000;background:var(--panel-hi);color:#000;cursor:pointer;box-shadow:2px 2px 0 #000}.adm-tb button:hover{background:var(--green)}
.adm-imgs{display:grid;gap:8px;margin-top:12px}.adm-img{display:flex;gap:10px;align-items:center;border:2px solid #000;background:var(--panel-hi);padding:6px}.adm-img img{width:64px;height:48px;object-fit:cover;border:2px solid #000;background:#000}.adm-img div{display:grid;gap:3px;min-width:0}.adm-img b{font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adm-img span{font-size:18px;color:#55514b}
@media(max-width:900px){.dev-grid,.adm{grid-template-columns:1fr}.adm-prev{position:static;max-height:none}}
.plug-tag.lvl{background:var(--panel-hi)}

/* ===== Showcase ===== */
.show-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.show-card{display:flex;flex-direction:column;padding:0!important;overflow:hidden}
.show-thumb{aspect-ratio:16/9;display:grid;place-items:center;border-bottom:3px solid #000;background:repeating-linear-gradient(45deg,#cfc7b8 0 10px,#c6bfae 10px 20px);color:#7b776f;font-family:"Press Start 2P";font-size:10px;overflow:hidden}
.show-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.show-body{display:flex;flex-direction:column;flex:1;padding:16px 18px 18px}
.show-body h3{margin:0 0 10px}
.show-card .plug-top{align-items:center}
.show-card .actions{margin-top:auto;padding-top:16px}
.show-card .actions:empty{display:none}
.show-card .button{font-size:20px;padding:5px 11px}
/* barres grises tant qu'un champ est vide */
.show-card h3:empty:before,.show-card p:empty:before,.show-card .plug-meta span:empty:before,.show-card .plug-tag:empty:before{content:"";display:block;background:#bcb4a5;border:2px solid #a39b8b}
.show-card h3:empty:before{height:14px;width:min(180px,100%)}
.show-card p:empty:before{height:42px}
.show-card .plug-meta span:empty:before{height:12px;width:70px;border-width:1px}
.show-card .plug-tag:empty{border-style:dashed;background:transparent}
.show-card .plug-tag:empty:before{width:46px;height:8px;border:0;background:#bcb4a5}
/* bande de l'accueil */
.show-strip{margin-top:56px;margin-bottom:56px}
.show-strip-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.show-strip-head .section-head{margin-bottom:0}
.show-strip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.show-mini .show-body{padding:12px 14px 14px}
.show-mini h3{font-size:11px}
.show-mini p:empty:before{height:26px}
@media(max-width:900px){.show-grid{grid-template-columns:repeat(2,1fr)}.show-strip-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.show-grid{grid-template-columns:1fr}}
.show-card .plug-top h3:empty{flex:1;max-width:180px}
.roadmap .card .impl{display:inline-block;margin-left:10px;vertical-align:middle}
.show-mini .show-body p:not(:empty){font-size:19px}
/* ===== Build page + footer link ===== */
footer .foot-link{color:#7d7d7d;font-size:16px;border-bottom:1px dotted #555}
footer .foot-link:hover{color:var(--green-hi);border-bottom-color:var(--green-hi)}
.build-step{margin:44px auto}
.build-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.build-grid .card h3{margin-top:12px}
.build-list{margin:14px 0 0;padding-left:22px;color:#282725}
.build-list li{margin:4px 0}
.build-note{margin:22px 0 10px;color:#282725}
.build-step pre{margin:0 0 4px}
.build-grid pre{margin-top:16px}
@media(max-width:900px){.build-grid{grid-template-columns:1fr}}
/* ===== Latest video ===== */
.yt-split{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;align-items:center}
.yt-frame{aspect-ratio:16/9;background:#000;border-top:3px solid #000}
.yt-frame iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:900px){.yt-split{grid-template-columns:1fr}}
/* ===== YouTube channel card (devlog) ===== */
.yt-card{position:relative;z-index:1;display:flex;align-items:center;gap:18px 20px;flex-wrap:wrap;margin-top:28px;padding:16px 18px;border:3px solid #000;background:var(--panel-hi);box-shadow:5px 5px 0 #000}
.yt-avatar{position:relative;flex:none;width:76px;height:76px;border-radius:50%;border:3px solid #000;overflow:hidden;background:var(--green);display:grid;place-items:center;font-family:"Press Start 2P";font-size:14px;color:#000}
.yt-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.yt-info{flex:1;min-width:240px}
.yt-info p{margin:0}
.yt-pitch{font-family:"Press Start 2P";font-size:11px;line-height:1.6;color:var(--green)}
.yt-name{font-size:28px;line-height:1.1;margin-top:6px!important}
.yt-name span{font-size:20px;color:var(--muted);margin-left:6px}
.yt-bio{color:#282725;font-size:20px;margin-top:4px!important}
.yt-card .actions{margin:0}
.yt-card .button{font-size:20px;padding:6px 12px}
.yt-offline{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:20px;text-align:center;color:#e9e3f5}
.yt-offline p{margin:0;max-width:420px}
/* ===== Nav : Plugins à côté de Download ===== */
.main-nav .nav-plugins{margin-left:auto}
.main-nav .nav-plugins+.nav-cta{margin-left:6px}
@media(max-width:900px){.main-nav .nav-plugins{margin-left:0}.main-nav .nav-plugins+.nav-cta{margin:10px 0 0}}
/* ===== System requirements ===== */
.req-wrap{overflow-x:auto}
.req-table{width:100%;border-collapse:collapse;min-width:520px}
.req-table th,.req-table td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:2px dotted #8a8478}
.req-table thead th{font-family:"Press Start 2P";font-size:9px;color:var(--green);border-bottom:3px solid #000}
.req-table tbody th{font-weight:normal;color:var(--muted);white-space:nowrap;width:1%}
.req-table tbody tr:last-child th,.req-table tbody tr:last-child td{border-bottom:0}
