:root{--bg:#080b13;--panel:#111827;--panel2:#0d1320;--border:#29394c;--cyan:#47e7fa;--pink:#fa72e2;--gold:#ffc85d;--white:#f5f8fe;--muted:#92a3bb;--green:#89fbb6;--font:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font-family:var(--font);min-width:320px;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:4px}a{color:inherit}h1,h2,p{margin-top:0}h1,h2,.brand,.digits,.ticker,.lcd,.hero-label{font-family:Impact,"Arial Narrow","Arial Black",sans-serif;letter-spacing:.025em}
.wrap{width:min(1160px,calc(100% - 52px));margin-inline:auto}.site-hidden{display:none}.site{background:radial-gradient(ellipse at 70% 7%,#17283a 0%,transparent 31%),var(--bg);min-height:100vh}.brand{position:relative;display:inline-flex;align-items:baseline;font-size:36px;line-height:1;color:#f4f9ff;text-decoration:none;letter-spacing:-.012em;text-shadow:0 0 17px #47e7fa25}.brand span{color:var(--cyan)}.brand i{display:block;position:absolute;bottom:-7px;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--cyan),var(--pink));transform:skewX(-18deg);box-shadow:0 0 15px var(--cyan)}
.intro{position:relative;min-height:100vh;min-height:100dvh;display:grid;place-items:center;text-align:center;padding:52px 20px;background:radial-gradient(ellipse at 50% 45%,#17263f 0%,#0b1020 52%,#070912 100%);overflow:hidden}.intro:before,.intro:after{content:"";position:absolute;border:1px solid #3361a644;transform:rotate(45deg);width:600px;height:600px;pointer-events:none}.intro:before{top:-400px;left:-260px}.intro:after{bottom:-430px;right:-230px}.intro-grid{position:absolute;inset:0;background-image:linear-gradient(#4a80b010 1px,transparent 1px),linear-gradient(90deg,#4a80b010 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(0deg,#000a,transparent 98%);pointer-events:none}.intro-inner{z-index:1;width:min(800px,100%)}.era-pill{display:inline-flex;align-items:center;gap:12px;border:1px solid #45526c;background:#1d29458f;border-radius:50px;padding:9px 18px;font-size:11px;letter-spacing:.18em;color:#d7e9fa;font-weight:700}.signal-dot{display:inline-block;width:8px;height:8px;background:var(--green);box-shadow:0 0 14px var(--green);border-radius:50%;animation:blink 2.3s infinite}.intro-brand{font-size:clamp(67px,12vw,120px);margin:37px 0 17px}.intro-brand i{bottom:-6px;height:7px}.overline{font-size:12px;font-weight:800;letter-spacing:.35em;color:var(--gold);margin:15px 0 16px}.intro h1{font-family:var(--font);font-size:clamp(28px,4.8vw,52px);line-height:1.2;font-weight:850;letter-spacing:-.055em;margin:0 0 17px}.intro h1 em{font-style:normal;color:var(--cyan)}.intro-desc{color:#aabbd1;font-size:15px;line-height:1.8;max-width:560px;margin:0 auto}.intro-illustration{display:flex;justify-content:center;align-items:center;gap:16px;margin:37px auto 34px;filter:drop-shadow(0 16px 24px #0008)}.intro-speaker,.hero-speaker{width:118px;aspect-ratio:1;background:linear-gradient(145deg,#28364f,#060a11);border-radius:17px;padding:11px;border:2px solid #496078;box-shadow:inset 0 0 0 4px #111b2b,0 0 20px #47e7fa14}.driver{height:100%;border-radius:50%;background:radial-gradient(circle at center,#070a12 0 18%,#485876 19% 21%,#172536 22% 49%,#354e62 50% 53%,#08111b 54% 67%,#698199 68% 70%,#121c2b 71%);animation:woofer 1.1s ease-in-out infinite}.faceplate{border-radius:11px;border:2px solid #5e7287;background:linear-gradient(#1e3049,#0b1120);box-shadow:inset 0 0 0 4px #090f19;min-width:280px;max-width:320px;padding:18px 19px}.faceplate-top{font:22px monospace;color:var(--cyan);text-shadow:0 0 11px #47e7faaa;background:#091e25;padding:12px 7px;display:flex;justify-content:center;gap:8px;border-radius:4px}.blink-dot{color:#fb6bcb;animation:blink 1s infinite}.faceplate-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:15px}.faceplate-knob{width:28px;height:28px;border-radius:50%;border:5px solid #718597;background:#111a29}.level-bars{height:29px;display:flex;align-items:end;gap:5px}.level-bars b{width:8px;height:40%;background:var(--cyan);box-shadow:0 0 7px #47e7fa88;animation:bar .7s ease-in-out infinite alternate}.level-bars b:nth-child(3n){height:95%;animation-delay:-.4s;background:var(--pink)}.level-bars b:nth-child(2n){height:60%;animation-delay:-.2s}.enter-btn{display:flex;align-items:center;justify-content:center;gap:13px;min-height:59px;width:min(385px,100%);margin:0 auto;border:0;border-radius:8px;background:linear-gradient(110deg,var(--cyan),#93effd);color:#061423;font-weight:900;font-size:16px;letter-spacing:.06em;box-shadow:0 10px 30px #45dffb30;transition:transform .15s,box-shadow .15s}.enter-btn:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 14px 40px #45dffb66}.enter-btn span:last-child{font-size:22px}.intro-note{margin:18px 0 0;font-size:12px;color:#879db8}
.masthead{display:flex;min-height:91px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);gap:18px}.small-brand{font-size:33px;white-space:nowrap}.masthead-middle,.masthead-right{font-size:10px;letter-spacing:.13em;font-weight:800;color:#a3b3cb}.masthead-middle b{color:var(--pink);padding:0 8px}.masthead-right{display:flex;align-items:center;gap:8px;white-space:nowrap}.status-light{display:inline-block;width:8px;height:8px;border-radius:50%;background:#758392}.status-light.live{background:var(--green);box-shadow:0 0 12px var(--green)}
.hero{display:grid;grid-template-columns:1.06fr .94fr;min-height:335px;align-items:center;gap:25px;padding:48px 0 41px}.section-kicker{font-size:11px;color:var(--cyan);font-weight:850;letter-spacing:.24em;margin:0 0 15px;display:flex;align-items:center;gap:10px}.stripe{height:2px;background:var(--cyan);width:24px;display:inline-block}.hero h1{font-size:clamp(44px,5.5vw,76px);line-height:1.03;font-weight:900;margin:0 0 23px}.hero h1 span{color:var(--pink)}.hero-copy>p:not(.section-kicker){font-size:15px;color:var(--muted);line-height:1.6}.hero-label{display:inline-flex;gap:10px;align-items:center;color:var(--gold);font-size:16px;letter-spacing:.055em;margin-top:18px}.little-diamond{width:9px;height:9px;background:var(--gold);transform:rotate(45deg)}.hero-display{height:265px;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate}.hero-display:before{content:"";position:absolute;inset:35px 30px 25px;border:1px solid #4b91ab50;border-radius:50%;transform:rotate(-10deg)}.hero-display:after{content:"";position:absolute;inset:13px 75px;background:radial-gradient(ellipse,#2499c120,transparent 66%);z-index:-1}.car-shape{width:100%;max-width:470px;filter:drop-shadow(0 9px 14px #07101a);z-index:2}.speed-lines{position:absolute;inset:20% 0 26%;background:repeating-linear-gradient(0deg,transparent 0 18px,#1a4c6142 19px,#1a4c6142 20px);transform:skewY(-5deg)}.hero-speaker{position:absolute;width:88px;opacity:.62;z-index:0;bottom:24px;border-radius:50%;display:grid;place-items:center}.hero-speaker span{width:100%;height:100%;border-radius:50%;background:radial-gradient(circle,#182439 0 24%,#648ba2 26% 30%,#112438 31% 55%,#59d8f044 56% 60%,#081322 61%)}.sp-left{left:6%}.sp-right{right:6%}.hero-display-label{position:absolute;bottom:0;color:#9caec6;font-size:10px;letter-spacing:.19em}.hero-display-label b{color:var(--pink);padding:0 8px}
.countdown-panel{background:linear-gradient(140deg,#101a2c,#091220 78%);border:1px solid #34516a;border-radius:10px;position:relative;overflow:hidden;padding:25px 31px 22px;box-shadow:0 15px 60px #0003}.countdown-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--cyan),var(--pink),var(--gold))}.panel-top,.panel-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:11px;letter-spacing:.16em;color:#9cb1c8;font-weight:800}.panel-eyebrow{color:#e1e8f4}.panel-live{display:flex;align-items:center;gap:8px}.countdown{display:flex;align-items:center;justify-content:center;gap:30px;margin:29px auto 24px}.time-unit{display:flex;flex-direction:column;align-items:center;min-width:96px}.digits{font-size:clamp(58px,7.6vw,98px);line-height:1;color:var(--cyan);font-variant-numeric:tabular-nums;font-weight:700;text-shadow:0 0 25px #46e6fa25}.unit{font-size:10px;letter-spacing:.21em;font-weight:900;margin-top:12px;color:#97afc4}.time-colon{font-family:Impact,sans-serif;font-size:49px;align-self:flex-start;color:#ff83e5;line-height:1;opacity:.75}.panel-bottom{border-top:1px solid #293a50;padding-top:14px;font-size:9px}.reunion-message{text-align:center;font-size:clamp(21px,4vw,36px);font-weight:900;margin:30px 0;color:var(--gold);text-shadow:0 0 17px #ffca5d66}
.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:25px}.module{background:linear-gradient(160deg,#121b2b,#0a111d);border:1px solid #2a3a4e;border-radius:10px;padding:25px;min-width:0}.module-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:10px}.module-heading h2{font-size:29px;margin:0;line-height:1.05}.module-heading h2 span{color:var(--cyan)}.photo-module .module-heading h2 span{color:var(--pink)}.module-heading .section-kicker{font-size:10px;margin-bottom:9px}.heading-icon{font-size:31px;font-weight:900;color:#40728b}.headunit{padding:19px 18px 15px;border-radius:8px;background:linear-gradient(130deg,#202b39,#0b1019);border:1px solid #647381;box-shadow:0 9px 19px #0007,inset 0 0 0 3px #070b13}.headunit-top{display:flex;align-items:center;justify-content:space-between;color:#8599b3;font-size:10px;letter-spacing:.17em;font-weight:800;margin-bottom:12px}.headunit-indicator{display:flex;align-items:center;gap:5px}.headunit-indicator i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}.lcd{border:2px solid #34545a;outline:4px solid #090f16;border-radius:3px;background:linear-gradient(115deg,#071e24,#08252b);padding:13px 14px 8px;color:var(--cyan);box-shadow:inset 0 0 35px #0009,0 0 15px #45fff315}.lcd-small,.lcd-sub{display:flex;justify-content:space-between;font:10px monospace;color:#7baeb0;gap:10px}.lcd-title{font-size:26px;font-family:Impact,"Arial Narrow",sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:7px 0;letter-spacing:.055em;text-shadow:0 0 11px #47e7fa77}.lcd-sub{font-size:9px}.eq{display:flex;align-items:end;justify-content:space-between;gap:3px;height:47px;margin-top:11px;border-top:1px solid #20585b;padding-top:9px}.eq b{display:block;flex:1;min-width:2px;border-radius:1px 1px 0 0;background:linear-gradient(to top,var(--cyan) 0%,var(--cyan) 55%,#a0f4ff 75%,var(--pink) 96%);height:13%;transition:height 65ms linear;box-shadow:0 0 5px #47e7fa2c}.progress-row{margin-top:17px}input[type=range]{accent-color:var(--cyan);cursor:pointer}.progress-row input{display:block;width:100%;height:7px}.player-controls{display:flex;justify-content:center;align-items:center;gap:17px;margin-top:18px}.player-controls button{background:transparent;border:1px solid #465771;color:#d8e5f7;min-height:40px;min-width:43px;border-radius:5px;font-size:18px}.player-controls button:hover,.photo-controls button:hover{border-color:var(--cyan);color:var(--cyan)}.player-controls button.play-main{background:var(--cyan);color:#0b1625;min-width:63px;height:56px;border:0;font-size:23px;font-weight:900;box-shadow:0 0 25px #45dcf944}.player-controls button:last-child{font-size:18px;padding:0 8px;margin-left:auto}.player-controls button:last-child span{font-size:9px;letter-spacing:.07em;font-weight:800}.player-controls button[aria-pressed=false]{opacity:.55}.bottom-controls{display:flex;align-items:center;gap:9px;margin-top:20px;border-top:1px solid #28374a;padding-top:16px}.volume-label{display:flex;gap:6px;align-items:center;font-size:11px;font-weight:800;white-space:nowrap}.volume-label span{font-size:9px;letter-spacing:.07em;color:#b0c4d8}.bottom-controls input{width:100%;min-width:50px;max-width:125px}.bottom-controls>span{font-size:11px;color:#a6bdcc;min-width:30px}.refresh-btn{margin-left:auto;background:none;color:var(--muted);border:0;font-size:15px;white-space:nowrap}.refresh-btn span{font-size:9px;font-weight:800;letter-spacing:.04em}.track-panel{margin-top:20px;border:1px solid #25374a;border-radius:5px;overflow:hidden}.track-list-title{display:flex;justify-content:space-between;gap:6px;padding:11px 12px;background:#19263a;color:#aebed4;font-size:9px;letter-spacing:.12em;font-weight:850}.track-list{max-height:184px;overflow-y:auto}.track-row{width:100%;border:0;border-bottom:1px solid #1e2e42;background:transparent;text-align:left;color:#b9cce2;display:flex;align-items:center;gap:10px;padding:10px 11px;font-size:12px;transition:background .15s}.track-row:hover,.track-row.active{background:#1a3440}.track-row.active{color:var(--cyan)}.track-num{font:11px monospace;color:#70839b;min-width:24px}.track-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.active .track-num{color:var(--cyan)}.track-now{font-size:9px;font-weight:800;letter-spacing:.07em;color:var(--cyan)}.empty-msg{color:#91a4b9;font-size:12px;padding:10px 14px}.module-footnote{margin:15px 0 0;color:#8194ad;font-size:11px;line-height:1.5}
.gallery-window{aspect-ratio:1.24;position:relative;background:radial-gradient(ellipse at center,#1d3352,#0b1020 70%);border-radius:6px;overflow:hidden;border:1px solid #456478;min-height:260px}.gallery-window:before{content:"";position:absolute;inset:10px;border:1px solid #ffffff15;z-index:1;pointer-events:none}.photo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;height:100%;background:linear-gradient(135deg,#1d3752,#111528 55%,#351c4a);text-align:center}.placeholder-ring{width:140px;height:140px;border:8px double #55dbee8b;display:grid;place-items:center;border-radius:50%;box-shadow:0 0 45px #47e7fa26,inset 0 0 22px #2d8eab33;transform:rotate(-13deg)}.placeholder-ring div{font-size:61px;font-family:Impact,sans-serif;color:var(--cyan);line-height:1}.placeholder-ring span{color:var(--pink)}.placeholder-sub{font-family:Impact,sans-serif;font-size:22px;letter-spacing:.085em;line-height:1.1}.photo-placeholder>span{color:#8baacc;font-size:9px;letter-spacing:.26em;font-weight:900}.gallery-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#070b12}.photo-label{position:absolute;top:21px;left:23px;background:#08111bcc;border:1px solid #5cd8e86a;color:#bbedf2;padding:7px 10px;letter-spacing:.13em;font-size:9px;font-weight:900;z-index:3}.photo-controls{display:flex;align-items:center;gap:9px;position:absolute;bottom:16px;right:17px;z-index:3}.photo-controls button{width:34px;height:34px;border:1px solid #8796a3;border-radius:5px;color:white;background:#09111ec7;font-size:24px;line-height:1}.photo-controls span{color:#fff;font:11px monospace;background:#08111ea8;padding:8px;border-radius:3px}.gallery-caption{display:flex;align-items:center;gap:9px;margin-top:13px;font-size:12px;color:#a6b8cf}.caption-icon{color:var(--pink);font-size:16px}.gallery-caption>span:nth-child(2){flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-autoplay{font-size:9px;font-weight:800;white-space:nowrap;color:#778da4;letter-spacing:.06em}.memory-card{margin-top:25px;padding:22px;background:radial-gradient(ellipse at 80% 0%,#5c2d5b50,transparent 75%),linear-gradient(140deg,#30203e,#1f1a2b);border:1px solid #754b87;border-radius:7px}.memory-card-top{font-size:10px;color:var(--pink);font-weight:900;letter-spacing:.2em}.memory-card p{font-size:20px;line-height:1.35;margin:12px 0 20px;font-weight:450}.memory-card p strong{color:var(--gold)}.memory-card-bottom{display:flex;justify-content:space-between;gap:10px;font-size:9px;font-weight:850;letter-spacing:.08em;color:#bba1c9}
.ticker{margin-top:24px;display:flex;align-items:center;gap:20px;background:#101d2c;border:1px solid #315467;min-height:61px;border-radius:5px;overflow:hidden}.ticker-tag{align-self:stretch;background:var(--cyan);color:#081c28;display:flex;align-items:center;padding:0 20px;font-size:13px;font-weight:800;white-space:nowrap}.ticker p{flex:1;color:#c5e1f4;font-size:17px;margin:0;line-height:1.2;padding-block:10px}.ticker-icon{color:var(--pink);font-size:29px;margin-right:17px}.footer-hero{text-align:center;padding:55px 0 43px;font:clamp(27px,4.5vw,55px)/1.17 Impact,sans-serif;letter-spacing:.04em}.footer-hero span{display:block;color:#e5eaf5}.footer-hero strong{display:block;color:var(--cyan);font-weight:inherit}.footer{border-top:1px solid #29384b;min-height:80px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:9px;letter-spacing:.07em;font-weight:800;color:#647a94;padding-top:16px;padding-bottom:16px}
.site.music-on .hero-speaker span{animation:woofer .35s ease-in-out infinite}.site.music-on .hero-display{filter:drop-shadow(0 0 10px #47e7fa20)}@keyframes woofer{0%,100%{transform:scale(.98)}50%{transform:scale(1.04)}}@keyframes blink{0%,49%{opacity:1}50%,100%{opacity:.35}}@keyframes bar{0%{transform:scaleY(.4)}100%{transform:scaleY(1)}}
@media(max-width:1000px){.masthead-middle{display:none}.content-grid{gap:15px}.module{padding:18px}.player-controls{gap:8px}.player-controls button:last-child span{display:none}.volume-label span,.refresh-btn span{display:none}.countdown{gap:19px}.digits{font-size:72px}.time-unit{min-width:75px}}
@media(max-width:760px){.wrap{width:min(640px,calc(100% - 32px))}.masthead{min-height:75px}.small-brand{font-size:29px}.hero{grid-template-columns:1fr;padding:42px 0 32px;gap:6px}.hero h1{font-size:clamp(45px,10.5vw,66px)}.hero-display{height:210px}.hero-display-label{font-size:8px}.content-grid{grid-template-columns:1fr;gap:17px}.module{padding:19px}.countdown-panel{padding:21px 15px}.countdown{gap:12px;margin:28px 0 22px}.digits{font-size:clamp(42px,11vw,82px)}.time-unit{min-width:0;flex:1}.time-colon{font-size:30px}.unit{font-size:8px}.panel-live{font-size:8px;text-align:right}.panel-top{font-size:9px}.footer{flex-wrap:wrap;justify-content:center;text-align:center;gap:9px}.footer span{flex:1 1 100%}.ticker-tag{font-size:10px;padding:0 12px}.ticker p{font-size:13px}.ticker-icon{display:none}.gallery-window{max-height:410px}.intro-illustration{gap:6px}.intro-speaker{width:75px;border-radius:11px;padding:6px}.faceplate{min-width:0;width:240px;padding:10px}.faceplate-top{font-size:15px;padding:9px 4px}.faceplate-knob{width:19px;height:19px;border-width:3px}.level-bars{height:20px;gap:3px}.level-bars b{width:6px}.intro-brand{font-size:clamp(64px,13vw,96px)}.intro{padding:42px 18px}.intro h1{font-size:clamp(27px,5.9vw,43px)}}
@media(max-width:440px){.era-pill{font-size:9px;padding:9px 12px;letter-spacing:.1em}.intro-speaker{width:56px;padding:4px}.faceplate{width:190px;padding:10px}.faceplate-top{font-size:13px}.intro-illustration{margin-top:27px}.overline{letter-spacing:.16em}.intro-desc{font-size:13px}.intro-brand{font-size:60px}.countdown{gap:4px}.digits{font-size:42px}.time-colon{font-size:24px}.unit{font-size:7px;letter-spacing:.08em}.panel-bottom{font-size:7px}.masthead-right{font-size:8px}.small-brand{font-size:25px}.bottom-controls{gap:6px}.player-controls button{min-width:40px}.player-controls button.play-main{min-width:54px}.module-heading h2{font-size:24px}.memory-card p{font-size:18px}.gallery-autoplay{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* v0.2.0 · Sous-vitrine et arrière-plan photo cinématique */
.site{position:relative;isolation:isolate;--bass-pulse:1;background:radial-gradient(ellipse at 70% 7%,#17283a 0%,transparent 31%),var(--bg)}
.site > :not(.memory-backdrop){position:relative;z-index:1}
.memory-backdrop{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.15;overflow:hidden;mix-blend-mode:screen}
.memory-backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#080b13cc,#080b13dd 45%,#080b13eb)}
.memory-backdrop img{width:100%;height:100%;object-fit:cover;filter:blur(12px) saturate(.85);transform:scale(1.075);animation:backdropBreath 18s ease-in-out alternate infinite}
@keyframes backdropBreath{from{transform:scale(1.07)}to{transform:scale(1.14)}}
.cover-display{height:196px;position:relative;overflow:hidden;margin:13px 0 21px;border:1px solid #36536c;border-radius:4px;background:radial-gradient(circle at 50% 40%,#243e5e,#101625 70%);display:grid;place-items:center}
.cover-display:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,#ffffff00 0 5px,#ffffff09 6px 7px);pointer-events:none;z-index:2}
.cover-image{width:min(196px,100%);height:100%;object-fit:contain;box-shadow:0 0 24px #0007;animation:coverFloat 5s ease-in-out infinite alternate}
@keyframes coverFloat{to{transform:scale(1.045) rotate(.5deg)}}
.cover-empty{display:flex;align-items:center;justify-content:center;gap:20px;min-width:100%;height:100%;background:radial-gradient(ellipse at 50% 110%,#e35aae30,transparent 70%)}
.speaker-big{width:136px;aspect-ratio:1;border:6px solid #243149;border-radius:14px;background:linear-gradient(135deg,#3b5366,#080d17);box-shadow:inset 0 0 0 7px #0d1727,0 12px 18px #0009;display:grid;place-items:center}
.speaker-big-cone{width:90%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#172331 0 16%,#526979 18% 23%,#0b111c 24% 50%,#475c73 52% 57%,#131b2a 58% 67%,#8aa0ba 68% 70%,#18212f 73%);transform:scale(var(--bass-pulse));will-change:transform}
.cover-empty-label{font:clamp(24px,3.9vw,40px) Impact,sans-serif;letter-spacing:.03em;color:var(--cyan);text-shadow:0 0 18px #47e7fa77}.cover-empty-label span{display:block;font:10px system-ui,sans-serif;letter-spacing:.18em;color:#dbabed;margin-top:8px}
.cover-tag{position:absolute;bottom:9px;right:12px;background:#08101fbb;border:1px solid #7194a34d;padding:6px 8px;color:#e4eefa;font:9px system-ui,sans-serif;letter-spacing:.08em;z-index:4}
.bass-wall{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:35px;margin-top:28px;padding:30px 31px;border:1px solid #34556d;border-radius:8px;background:linear-gradient(115deg,#192a40,#0a1322 70%);overflow:hidden}
.bass-wall h2{font:clamp(26px,3.2vw,40px)/1.06 Impact,sans-serif;margin:12px 0 13px;letter-spacing:.035em}.bass-wall h2 em{font-style:normal;color:var(--pink)}.bass-wall p{color:#aebfd2;line-height:1.6;font-size:13px;margin:0}
.bass-wall-speakers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;position:relative;padding-bottom:27px}
.bass-box{aspect-ratio:1;min-width:0;background:linear-gradient(135deg,#374b60,#070e17);border:2px solid #61758b;border-radius:8px;padding:5px;box-shadow:inset 0 0 0 3px #0a1423}
.bass-cone{width:100%;height:100%;border-radius:50%;background:radial-gradient(circle,#17232f 0 18%,#526579 19% 21%,#0a101a 23% 47%,#36465a 48% 54%,#0b1321 55% 63%,#9bbcd1 64% 67%,#172230 68%);transform:scale(var(--bass-pulse));will-change:transform}
#bassMeter{position:absolute;bottom:0;right:0;font:12px monospace;letter-spacing:.08em;color:var(--cyan)}
.backdrop-toggle{border:1px solid #3e5369;border-radius:4px;background:#18263b;color:#afc6e2;font-size:9px;letter-spacing:.08em;min-width:110px;padding:8px 7px;font-weight:800}
.backdrop-toggle[aria-pressed=false]{opacity:.7}
.site.music-on .hero-speaker span{animation:none;transform:scale(var(--bass-pulse))}
@media(max-width:760px){.bass-wall{grid-template-columns:1fr;padding:22px;gap:15px}.bass-wall-speakers{max-width:460px;width:100%;margin:auto}.cover-display{height:175px}.cover-empty-label{font-size:25px}.speaker-big{width:110px}}
@media(prefers-reduced-motion:reduce){.cover-image,.memory-backdrop img{animation:none!important}.bass-cone,.speaker-big-cone{transform:none!important}}

/* v0.3.0 — accents lumineux façon installation 12 V / bassheads années 90 */
.intro-event{display:inline-block;margin:17px auto 12px;padding:8px 14px;border:1px solid #f9c85880;border-radius:4px;background:#33281f99;color:#ffe09d;font:800 13px/1.4 var(--font);letter-spacing:.16em;box-shadow:0 0 20px #efb74714}
.intro-brand{animation:retroGlow 4.8s ease-in-out infinite}
.intro .faceplate{position:relative;overflow:hidden}
.intro .faceplate::after{content:"";position:absolute;top:0;bottom:0;left:-75%;width:50%;transform:skewX(-25deg);background:linear-gradient(90deg,transparent,#b4f6ff28,transparent);animation:chromeSweep 7s ease-in-out infinite;pointer-events:none}
.hero-display{overflow:hidden}
.headlight-sweep{position:absolute;inset:18% -6% 8%;background:linear-gradient(110deg,transparent 22%,#45ddf211 44%,#ed77eb20 50%,transparent 68%);animation:heroSweep 5.5s ease-in-out infinite;pointer-events:none}
.neon-sticker{position:absolute;right:5px;top:5px;padding:7px 9px;border:1px solid #f3c26277;color:#f5d995;background:#171a29dd;transform:rotate(5deg);font-size:9px;font-weight:900;letter-spacing:.14em;box-shadow:0 0 14px #fac45122;z-index:4;animation:signShimmer 5s ease-in-out infinite}
.neon-sticker span{display:block;color:#67dfee;font-size:8px;margin-top:2px}
.hero-display .car-shape{animation:vehicleFloat 4.8s ease-in-out infinite}
.site.music-on .hero-display .car-shape{animation:vehicleBass .15s linear infinite}
.site.music-on .hero-display .headlight-sweep{animation-duration:2s}
.gallery-image.slide-enter{animation:slidePhoto .7s ease both}
.throwback{margin:34px 0;padding:31px;border:1px solid #2b435e;border-radius:15px;position:relative;overflow:hidden;background:linear-gradient(132deg,#111b30,#0a1422 60%,#1c1327)}
.throwback::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 46px,#ffffff03 47px 48px);pointer-events:none}
.throwback-heading{position:relative}
.throwback-heading h2{font-size:clamp(32px,4.5vw,52px);line-height:1.1;margin:8px 0 11px}
.throwback-heading h2 span{color:var(--gold)}
.throwback-heading p{color:#a7b9d2;font-size:14px;line-height:1.6;margin:0 0 26px}
.throwback-items{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.throwback-item{min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;padding:19px 7px;background:#070c18b8;border:1px solid #2e4b67;border-radius:12px;box-shadow:inset 0 1px #ffffff0b}
.throwback-icon{font-family:monospace;font-size:39px;color:#60e3f5;text-shadow:0 0 22px #45dbff70;line-height:1;animation:iconGlow 2.7s ease-in-out infinite}
.throwback-item:nth-child(2) .throwback-icon{color:#ffc663}
.throwback-item:nth-child(3) .throwback-icon{color:#fe89d9}
.throwback-item strong{font-size:14px;letter-spacing:.09em}
.throwback-item small{font-size:10px;color:#b6c4d9;letter-spacing:.07em}
.throwback-leds{display:flex;gap:5px;height:19px;align-items:flex-end}
.throwback-leds i{width:6px;height:7px;background:#47e7fa;box-shadow:0 0 7px #47e7fa80;animation:vuLights .65s ease-in-out infinite alternate}
.throwback-leds i:nth-child(even){height:16px;background:#fa72e2;animation-delay:-.3s}
.throwback-leds i:nth-child(3){height:12px;animation-delay:-.18s}
.throwback-signal{font:800 10px monospace;color:#9dd9b2}
.throwback-signal b{color:#4dfba5;text-shadow:0 0 10px #4dfba5;animation:blink 1.6s infinite}
.throwback-alarm{width:44px;height:6px;border-radius:20px;background:linear-gradient(90deg,#ed419e 0 48%,#39d9ff 52%);box-shadow:0 0 14px #ed419e66;animation:alarmBlink 1.2s infinite}
.throwback-cables{width:52px;height:13px;border-top:3px solid #da8cff;border-bottom:3px solid #42d6e8;transform:skewX(-20deg);opacity:.8}
@keyframes retroGlow{0%,100%{filter:drop-shadow(0 0 1px #35d5ef36)}50%{filter:drop-shadow(0 0 11px #35d5ef66)}}
@keyframes chromeSweep{0%,50%{left:-75%}76%,100%{left:130%}}
@keyframes heroSweep{0%,100%{opacity:.3;transform:translateX(-20px)}50%{opacity:1;transform:translateX(36px)}}
@keyframes vehicleFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes vehicleBass{0%,100%{transform:translateY(0)}50%{transform:translateY(-1px)}}
@keyframes signShimmer{0%,100%{box-shadow:0 0 7px #fac4511a}50%{box-shadow:0 0 22px #fac4517a}}
@keyframes slidePhoto{from{opacity:.25;filter:brightness(.65)}to{opacity:1;filter:brightness(1)}}
@keyframes vuLights{to{height:5px;opacity:.55}}
@keyframes alarmBlink{0%,49%{filter:hue-rotate(0deg)}50%,100%{filter:hue-rotate(100deg)}}
@keyframes iconGlow{0%,100%{opacity:.7}50%{opacity:1}}
@media(max-width:750px){.throwback{padding:20px}.throwback-items{grid-template-columns:repeat(2,minmax(0,1fr))}.throwback-item{min-height:143px}.neon-sticker{top:12px;right:18px}.intro-event{font-size:11px;letter-spacing:.07em}}
@media(max-width:430px){.throwback-items{gap:8px}.throwback-item strong{font-size:12px}.throwback-item small{font-size:9px}.neon-sticker{font-size:8px;right:8px}}
@media(prefers-reduced-motion:reduce){.intro-brand,.intro .faceplate::after,.headlight-sweep,.neon-sticker,.hero-display .car-shape,.site.music-on .hero-display .car-shape,.gallery-image.slide-enter,.throwback-icon,.throwback-leds i,.throwback-signal b,.throwback-alarm{animation:none!important}html{scroll-behavior:auto}}
