/* Fullset One Up — trois identités : .t-studio (éditeur), .t-fullset (FULLSET 1UP), .t-muzi (MUZIWALK).
   Couleurs reprises des applications : FULLSET 1UP Theme.kt (FullsetPalette, makerColor) ; MUZIWALK colors.xml et Cassette.swift. */
@font-face{font-family:"Press Start 2P";src:url(/assets/fonts/press-start-2p.ttf) format("truetype");font-display:swap}
@font-face{font-family:"Permanent Marker";src:url(/assets/fonts/permanent-marker.ttf) format("truetype");font-display:swap}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background:var(--bg);color:var(--text)}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,figure,ul,ol{margin:0}
a{color:inherit;text-underline-offset:4px}
:focus-visible{outline:3px solid var(--focus);outline-offset:4px;border-radius:4px}
.skip{position:absolute;left:12px;top:-80px;background:#fff;color:#000;padding:10px 14px;z-index:20}
.skip:focus{top:12px}
.wrap{width:min(1120px,100% - 40px);margin-inline:auto}
.wrap-narrow{width:min(760px,100% - 40px);margin:56px auto 96px}
.small{font-size:14px}
.px{font-family:"Press Start 2P",ui-monospace,monospace;font-weight:400;letter-spacing:.02em}
.bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px max(20px,calc((100% - 1120px)/2));position:sticky;top:0;z-index:10;background:var(--bar)}
.bar nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.bar nav a{text-decoration:none;font-size:15px;font-weight:600;color:var(--muted)}
.bar nav a:hover,.bar nav a[aria-current]{color:var(--text)}
fieldset{border:0;padding:0;margin:28px 0 0;display:flex;flex-wrap:wrap;gap:10px}
legend{font-size:14px;color:var(--muted);margin-bottom:12px;padding:0}
fieldset input{position:absolute;opacity:0;width:1px;height:1px}
fieldset input:focus-visible+span{outline:3px solid var(--focus);outline-offset:3px}
details summary{cursor:pointer;list-style:none}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";float:right;margin-left:16px;font-weight:400;opacity:.7}
details[open] summary::after{content:"–"}
.document h1{font-size:clamp(34px,5vw,54px);line-height:1.08;margin:6px 0 28px;letter-spacing:-.02em}
.document h2{font-size:24px;margin:40px 0 14px;line-height:1.2}
.document h3{font-size:19px;margin:28px 0 10px}
.document p,.document li{margin-bottom:14px}
.document ul,.document ol{padding-left:22px;margin-bottom:14px}
.document a{overflow-wrap:anywhere}
.document p,.document li,.document td{overflow-wrap:break-word}
.legal .maj{color:var(--muted);font-size:15px}
.legal table{border-collapse:collapse;width:100%;font-size:15px;margin:18px 0;display:block;overflow-x:auto}
.legal th,.legal td{border:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}
.legal caption{text-align:left;font-weight:700;margin-bottom:8px}
.legal mark.todo{background:var(--accent);color:var(--on-accent);padding:0 4px;border-radius:3px}
.foot{padding:64px 0 48px;margin-top:0;border-top:1px solid var(--line);background:var(--foot)}
.foot nav{display:flex;flex-wrap:wrap;gap:10px 22px;margin:22px 0;font-size:15px}
.foot nav a{color:var(--text)}
.foot p{color:var(--muted)}

/* ---------- Fullset One Up (éditeur) ---------- */
.t-studio{--bg:#F4F3EF;--text:#141414;--muted:#55564F;--line:#DDDCD4;--bar:rgba(244,243,239,.94);--foot:#ECEBE5;--focus:#1269BB;--accent:#FFC233;--on-accent:#241A00}
.t-studio .brand{font-weight:800;text-decoration:none;font-size:18px}
.studio-hero{padding:72px 0 40px}
.eyebrow{font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.studio-hero h1{font-size:clamp(48px,12vw,168px);line-height:.92;letter-spacing:-.055em;font-weight:850;margin:18px 0 26px}
.lead{font-size:clamp(19px,2vw,23px);max-width:620px;color:#2C2D28}
.doors{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:24px 0 80px}
.door{display:grid;grid-template-columns:1.1fr .9fr;gap:12px;min-height:500px;border-radius:28px;overflow:hidden;text-decoration:none;padding:36px 0 0 36px;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 18px 40px rgba(0,0,0,.12)}
.door:hover{transform:translateY(-4px);box-shadow:0 26px 50px rgba(0,0,0,.18)}
.door-copy{display:flex;flex-direction:column;gap:14px;padding-bottom:36px}
.door-copy p{font-size:16px;opacity:.82}
.door .door-title{font-size:24px;line-height:1.2;font-weight:800;opacity:1}
.door-link{margin-top:auto;font-weight:800}
.door-fullset{background:#15131F;color:#F2EFFA}
.door-fullset .door-logo{width:min(100%,260px)}
.door-fullset .door-link{color:#FFC233}
.door-phone{align-self:end;justify-self:end;width:min(100%,250px);margin-right:-18px}
.door-phone img{border-radius:26px 26px 0 0;border:8px solid #2D2843;border-bottom:0}
.door-muzi{background:#0B0C0F;color:#F2F3F7}
.door-muzi .door-mark{width:64px;border-radius:14px}
.door-name{font-weight:900;font-stretch:condensed;font-family:"Helvetica Neue","Arial Narrow",Arial,sans-serif;font-size:44px;letter-spacing:.02em;line-height:1}
.door-muzi .door-name{opacity:1}
.door-muzi .door-link{color:#BDE57A}
.door-cassette{align-self:center;margin-right:-60px}
.door-cassette img{border-radius:16px;box-shadow:0 20px 40px rgba(0,0,0,.6)}
.studio-about{padding:40px 0 96px;max-width:720px}
.studio-about h2{font-size:clamp(34px,4.5vw,56px);letter-spacing:-.04em;line-height:1.05;margin-bottom:20px}
.btn-ink{display:inline-block;margin-top:26px;background:#141414;color:#F4F3EF;text-decoration:none;font-weight:800;padding:15px 24px;border-radius:999px}
.btn-ink:hover{background:#34352f}
.foot-brand{font-size:clamp(34px,6vw,72px);font-weight:850;letter-spacing:-.05em;line-height:1;color:var(--text)!important}

/* ---------- FULLSET 1UP ---------- */
.t-fullset{--bg:#15131F;--text:#F2EFFA;--muted:#A39DB8;--surface:#211D31;--high:#2D2843;--highest:#38324F;--line:#3A3450;--bar:rgba(21,19,31,.94);--foot:#100E18;--accent:#FFC233;--on-accent:#241A00;--owned:#9BCB3C;--focus:#FFC233}
.t-fullset a{color:var(--text)}
.t-fullset .document a{color:var(--accent)}
.fs-bar{border-bottom:1px solid var(--line)}
.fs-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.fs-brand img{width:38px;border-radius:10px}
.fs-brand .px{font-size:12px;color:var(--accent)}
.fs-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:var(--on-accent)!important;text-decoration:none;font-weight:800;padding:15px 24px;border-radius:16px;box-shadow:0 5px 0 #B98500;transition:transform .12s ease,box-shadow .12s ease}
.fs-btn:hover{transform:translateY(2px);box-shadow:0 3px 0 #B98500}
.fs-btn-sm{padding:9px 16px;font-size:14px;border-radius:12px;box-shadow:0 3px 0 #B98500}
.bar nav .fs-btn-sm{color:var(--on-accent)}
.fs-btn-ghost{background:transparent;color:var(--text)!important;box-shadow:inset 0 0 0 2px var(--line)}
.fs-btn-ghost:hover{box-shadow:inset 0 0 0 2px var(--muted)}
.fs-btn-dark{background:#15131F;color:var(--accent)!important;box-shadow:0 5px 0 #000}
.fs-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding:56px 0 72px}
.fs-eyebrow{font-size:12px;color:var(--owned);margin-bottom:22px}
.fs-logo{width:min(100%,560px)}
.fs-lead{font-size:clamp(19px,2vw,22px);margin:26px 0 30px;max-width:560px}
.fs-actions{display:flex;flex-wrap:wrap;gap:14px}
.fs-note{margin-top:22px;font-size:14px;color:var(--muted)}
.fs-phone{background:#000;padding:9px;border-radius:40px;box-shadow:0 0 0 1px var(--line),0 30px 60px rgba(0,0,0,.5)}
.fs-phone img{border-radius:31px}
.fs-hero-phone{width:min(100%,330px);justify-self:center;transform:rotate(3deg)}
.fs-stats{background:var(--surface);border-block:1px solid var(--line)}
.fs-stats ul{list-style:none;padding:34px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.fs-stats li{color:var(--muted);font-size:15px}
.fs-stats .px{display:block;color:var(--accent);font-size:clamp(16px,2.3vw,26px);margin-bottom:12px}
.fs-section{padding:96px 0 0}
.fs-head{max-width:660px;margin-bottom:36px}
.fs-head h2,.fs-demo-copy h2{font-size:clamp(30px,4vw,46px);line-height:1.1;letter-spacing:-.02em;margin-bottom:14px}
.fs-head p,.fs-demo-copy p{color:var(--muted)}
.fs-shelf{display:grid;grid-template-columns:1fr 1fr;gap:28px 24px}
.fs-maker h3{font-size:13px;letter-spacing:.14em;font-weight:800;color:var(--maker);margin-bottom:12px}
.fs-maker ul{list-style:none;padding:0;display:grid;gap:10px}
.m-nintendo{--maker:#FF3B3B}.m-sony{--maker:#5B84FF}.m-sega{--maker:#3D9BF0}.m-snk{--maker:#D4AF37}.m-atari{--maker:#EF6C2B}
.fs-console{display:flex;align-items:center;gap:14px;background:var(--surface);border-radius:16px;padding:12px 16px 12px 12px;border-left:5px solid var(--maker)}
.fs-pad{flex:0 0 56px;height:56px;border-radius:12px;background:var(--high);display:grid;place-items:center}
.fs-pad img{width:44px}
.fs-console-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.fs-console-name{font-weight:800;line-height:1.25}
.fs-count{font-size:12px;color:var(--muted)}
.fs-count b{color:var(--accent);font-weight:400}
.fs-bar-track{height:6px;border-radius:3px;background:var(--highest);overflow:hidden}
.fs-bar-fill{display:block;height:100%;border-radius:3px;background:var(--maker)}
.fs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fs-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:26px}
.fs-num{font-size:13px;color:var(--accent);margin-bottom:18px}
.fs-card h3{font-size:20px;margin-bottom:10px}
.fs-card p{color:var(--muted);font-size:16px}
.fs-demo{display:grid;grid-template-columns:1fr 360px;gap:56px;align-items:center}
.fs-chip span{display:inline-block;padding:10px 18px;border-radius:999px;background:var(--high);font-weight:700;font-size:15px;cursor:pointer}
.fs-chip input:checked+span{background:var(--accent);color:var(--on-accent)}
.fs-preview{width:min(100%,340px);justify-self:center}
.fs-preview figcaption{color:var(--muted);text-align:center;font-size:15px;padding:14px 0 4px}
.fs-faqs{display:grid;gap:12px;max-width:860px}
.fs-faq{background:var(--surface);border-radius:16px;padding:20px 24px}
.fs-faq summary{font-weight:800;font-size:18px}
.fs-faq p{color:var(--muted);margin-top:12px}
.fs-faq a{color:var(--accent)}
.fs-cta{background:var(--accent);color:var(--on-accent);margin-top:96px;padding:72px 0}
.fs-cta .px{font-size:13px;margin-bottom:18px}
.fs-cta h2{font-size:clamp(28px,4vw,44px);line-height:1.1;letter-spacing:-.02em;margin-bottom:12px}
.fs-cta p{max-width:600px;margin-bottom:28px}
.fs-foot-logo{width:180px}
.fs-foot{margin-top:0}

/* ---------- MUZIWALK ---------- */
.t-muzi{--bg:#0B0C0F;--text:#F2F3F7;--muted:#A9ADB5;--surface:#17191D;--high:#22252B;--line:#30343B;--bar:rgba(11,12,15,.94);--foot:#07080A;--green:#BDE57A;--gold:#CFB882;--blue:#4655C4;--accent:#CFB882;--on-accent:#1B1406;--focus:#BDE57A}
.t-muzi .document a{color:var(--gold)}
.mz-bar{border-bottom:1px solid var(--high)}
.mz-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.mz-brand img{width:36px;border-radius:9px}
.mz-brand span,.mz-title,.mz-foot-name,.t-muzi h2,.mz-faq summary,.mz-tracks b{font-family:"Helvetica Neue","Arial Narrow",Arial,sans-serif;font-stretch:condensed}
.mz-brand span{font-weight:900;letter-spacing:.08em;font-size:18px}
.mz-btn{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(#424242,#121212);color:#fff!important;text-decoration:none;font-weight:700;padding:14px 22px;border-radius:7px;border:1px solid rgba(255,255,255,.25);box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}
.mz-btn:hover{background:linear-gradient(#545454,#1c1c1c)}
.mz-btn-sm{padding:8px 14px;font-size:14px}
.bar nav .mz-btn-sm{color:#fff}
.mz-btn-play{color:var(--green)!important}
.mz-hero{padding:64px 0 88px;text-align:center;background:radial-gradient(70% 55% at 50% 38%,rgba(207,184,130,.13),transparent 70%)}
.mz-eyebrow{color:var(--gold);font-size:13px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.mz-title{font-size:clamp(44px,15vw,190px);font-weight:900;line-height:.9;letter-spacing:.01em;margin:14px 0 18px}
.mz-lead{font-size:clamp(19px,2.2vw,23px);color:var(--muted);max-width:640px;margin:0 auto}
.mz-deck{width:min(100%,760px);margin:44px auto 34px;background:var(--surface);border:1px solid var(--high);border-radius:24px;padding:20px;box-shadow:0 40px 80px rgba(0,0,0,.6)}
.mz-cassette{border-radius:14px;width:100%}
.mz-keys{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:16px}
.mz-key{display:flex;align-items:center;justify-content:center;height:48px;border-radius:7px;background:linear-gradient(#424242,#121212);border:1px solid rgba(255,255,255,.25)}
.mz-key svg{fill:#fff}
.mz-key.is-on svg{fill:var(--green)}
.mz-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.mz-note{color:var(--muted);font-size:14px;margin-top:20px}
.mz-section{padding:96px 0 0}
.mz-marker{font-family:"Permanent Marker",cursive;color:var(--gold);font-size:22px;transform:rotate(-2deg);display:inline-block;margin-bottom:8px}
.t-muzi h2{font-size:clamp(34px,4.6vw,58px);font-weight:900;line-height:1;letter-spacing:.005em;text-transform:uppercase;margin-bottom:18px}
.mz-demo{display:grid;grid-template-columns:1fr 360px;gap:56px;align-items:center}
.mz-demo-copy>p{color:var(--muted);max-width:520px}
.mz-switch span{display:inline-block;padding:11px 20px;border-radius:7px;background:linear-gradient(#424242,#121212);border:1px solid rgba(255,255,255,.25);font-weight:700;cursor:pointer}
.mz-switch input:checked+span{color:var(--green);box-shadow:inset 0 2px 6px rgba(0,0,0,.7)}
.mz-phone{width:min(100%,330px);justify-self:center;background:#000;padding:9px;border-radius:40px;box-shadow:0 0 0 1px var(--line),0 30px 60px rgba(0,0,0,.6)}
.mz-phone img{border-radius:31px}
.mz-phone figcaption{color:var(--muted);text-align:center;font-size:15px;padding:12px 0 2px}
.mz-jcard{background:#EFE6CC;color:#1D2430;border-radius:18px;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.5)}
.mz-jcard::before{content:"";display:block;height:18px;background:linear-gradient(#E39A3B 0 34%,#B4612A 34% 67%,#30343B 67%)}
.mz-jcard-head{padding:36px 40px 10px}
.mz-jcard .mz-marker{color:#B4612A}
.mz-jcard h2{color:#1D2430}
.mz-jcard-head p{color:#4A5160;max-width:560px}
.mz-tracks{list-style:none;padding:16px 40px 8px;display:grid;grid-template-columns:1fr 1fr;gap:4px 40px}
.mz-tracks li{display:flex;gap:16px;padding:16px 0;border-bottom:1px dashed rgba(29,36,48,.25)}
.mz-track-n{font-weight:900;color:#B4612A;font-variant-numeric:tabular-nums;font-size:20px;line-height:1.2}
.mz-track-body{display:flex;flex-direction:column;gap:2px;color:#4A5160;font-size:16px}
.mz-tracks b{color:#1D2430;text-transform:uppercase;font-size:19px;letter-spacing:.02em}
.mz-jcard-foot{display:flex;justify-content:space-between;align-items:baseline;padding:18px 40px 26px;font-weight:900;font-size:26px;color:#3A3F4A}
.mz-jcard-foot span+span{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:700;font-size:22px}
.mz-faqs{max-width:880px;border-top:1px solid var(--high)}
.mz-faq{border-bottom:1px solid var(--high);padding:22px 0}
.mz-faq summary{font-weight:800;font-size:clamp(20px,2.2vw,26px);text-transform:uppercase;letter-spacing:.01em}
.mz-faq p{color:var(--muted);margin-top:12px;max-width:760px}
.mz-cta{margin-top:96px;padding:80px 0;background:var(--surface);border-top:1px solid var(--high);text-align:center}
.mz-cta p{color:var(--muted);max-width:560px;margin:0 auto 28px}
.mz-foot-name{font-weight:900;font-size:clamp(40px,7vw,84px);line-height:1;letter-spacing:.01em;color:var(--text)!important}

.mz-fold{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:center}
.mz-fold-copy>p{color:var(--muted)}
.mz-fold-steps{list-style:none;padding:0;margin:26px 0 8px;display:grid;gap:12px;counter-reset:pas}
.mz-fold-steps li{counter-increment:pas;display:grid;grid-template-columns:44px 1fr;column-gap:14px;color:var(--muted);background:var(--surface);border:1px solid var(--high);border-radius:12px;padding:14px 16px}
.mz-fold-steps li::before{content:counter(pas,decimal-leading-zero);grid-row:span 2;font-weight:900;font-size:22px;color:var(--gold);font-family:"Helvetica Neue","Arial Narrow",Arial,sans-serif;font-stretch:condensed}
.mz-fold-steps b{color:var(--text);text-transform:uppercase;letter-spacing:.04em;font-size:15px}
.mz-video video{display:block;width:100%;height:auto;background:#000;border-radius:18px;box-shadow:0 0 0 1px var(--line),0 30px 60px rgba(0,0,0,.55)}
.mz-video figcaption{color:var(--muted);font-size:14px;padding-top:12px;text-align:center}
.mz-video-wide video{aspect-ratio:16/9}
.mz-reels-lead{color:var(--muted);margin-bottom:30px}
.mz-reels-grid{display:grid;grid-template-columns:repeat(2,minmax(0,320px));gap:28px}
.mz-video-tall video{aspect-ratio:9/16}
@media (max-width:900px){.mz-fold{grid-template-columns:1fr}}
@media (max-width:640px){.mz-video-wide video{aspect-ratio:9/16;max-height:78vh}.mz-reels-grid{grid-template-columns:1fr 1fr;gap:14px}}

/* ---------- Petits écrans ---------- */
@media (max-width:900px){
 .doors{grid-template-columns:1fr}
 .fs-hero,.fs-demo,.mz-demo{grid-template-columns:1fr}
 .fs-hero-phone{transform:none;width:min(80%,300px)}
 .fs-grid{grid-template-columns:1fr 1fr}
 .fs-shelf{grid-template-columns:1fr}
 .fs-stats ul{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
 body{font-size:16px}
 .bar{flex-direction:column;align-items:flex-start;gap:10px;position:static}
 .bar nav{gap:14px}
 .door{grid-template-columns:1fr;padding:28px 0 0 28px;min-height:0}
 .door-phone{width:62%;justify-self:center;margin:0}
 .door-cassette{margin:0 28px 28px 0}
 .fs-grid{grid-template-columns:1fr}
 .mz-tracks{grid-template-columns:1fr;padding:8px 24px}
 .mz-jcard-head{padding:28px 24px 6px}
 .mz-jcard-foot{padding:14px 24px 22px}
 .mz-keys{gap:6px}
 .mz-key{height:42px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.fs-hero-phone{transform:none}}
/* Largeurs des barres de progression (pas de style en ligne : CSP style-src self) */
.p1{width:1%}.p2{width:2%}.p3{width:3%}.p4{width:4%}.p5{width:5%}.p6{width:6%}.p7{width:7%}.p8{width:8%}.p9{width:9%}.p10{width:10%}.p11{width:11%}.p12{width:12%}.p13{width:13%}.p14{width:14%}.p15{width:15%}.p16{width:16%}.p17{width:17%}.p18{width:18%}.p19{width:19%}.p20{width:20%}.p21{width:21%}.p22{width:22%}.p23{width:23%}.p24{width:24%}.p25{width:25%}.p26{width:26%}.p27{width:27%}.p28{width:28%}.p29{width:29%}.p30{width:30%}.p31{width:31%}.p32{width:32%}.p33{width:33%}.p34{width:34%}.p35{width:35%}.p36{width:36%}.p37{width:37%}.p38{width:38%}.p39{width:39%}.p40{width:40%}.p41{width:41%}.p42{width:42%}.p43{width:43%}.p44{width:44%}.p45{width:45%}.p46{width:46%}.p47{width:47%}.p48{width:48%}.p49{width:49%}.p50{width:50%}.p51{width:51%}.p52{width:52%}.p53{width:53%}.p54{width:54%}.p55{width:55%}.p56{width:56%}.p57{width:57%}.p58{width:58%}.p59{width:59%}.p60{width:60%}.p61{width:61%}.p62{width:62%}.p63{width:63%}.p64{width:64%}.p65{width:65%}.p66{width:66%}.p67{width:67%}.p68{width:68%}.p69{width:69%}.p70{width:70%}.p71{width:71%}.p72{width:72%}.p73{width:73%}.p74{width:74%}.p75{width:75%}.p76{width:76%}.p77{width:77%}.p78{width:78%}.p79{width:79%}.p80{width:80%}.p81{width:81%}.p82{width:82%}.p83{width:83%}.p84{width:84%}.p85{width:85%}.p86{width:86%}.p87{width:87%}.p88{width:88%}.p89{width:89%}.p90{width:90%}.p91{width:91%}.p92{width:92%}.p93{width:93%}.p94{width:94%}.p95{width:95%}.p96{width:96%}.p97{width:97%}.p98{width:98%}.p99{width:99%}.p100{width:100%}
