/* Écran de démarrage – Diane Stylisme Digital */
#dsplash{--g:#1f5d3a;--gold:#c9a24a;--S:min(74vw,330px,44vh);position:fixed;inset:0;z-index:99999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(26px,6vh,46px);background:radial-gradient(circle at 50% 38%,#fffdf8 0,#fbf6ec 52%,#efe7d2 100%);font-family:'DM Sans',system-ui,sans-serif;overflow:hidden;transition:opacity .8s ease,transform .8s ease,filter .8s ease}
#dsplash.out{opacity:0;transform:scale(1.06);filter:blur(4px);pointer-events:none}
#dsplash::before{content:"";position:absolute;inset:calc(14px + env(safe-area-inset-top)) 14px calc(14px + env(safe-area-inset-bottom));border:1px solid rgba(201,162,74,.38);border-radius:22px;opacity:0;animation:dsFade 1.4s ease .3s forwards;pointer-events:none}
.ds-stage{position:relative;width:var(--S);height:var(--S);display:grid;place-items:center}
.ds-glow{position:absolute;inset:-18%;border-radius:50%;background:radial-gradient(circle,rgba(201,162,74,.34),rgba(201,162,74,0) 66%);opacity:0;animation:dsFade 1.8s ease .2s forwards,dsBreath 4.5s ease-in-out 2s infinite}
.ds-orbit{position:absolute;inset:-13px;border-radius:50%;background:conic-gradient(from 0deg,rgba(201,162,74,0) 0,rgba(201,162,74,0) 55%,#c9a24a 92%,#f3dd9a 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1.5px));opacity:0;animation:dsFade .8s ease 1.5s forwards,dsSpin 2.6s linear 1.5s infinite}
.ds-medal{position:relative;width:100%;height:100%;border-radius:50%;overflow:hidden;background:#fcf7f1;box-shadow:0 14px 40px rgba(31,93,58,.18);clip-path:circle(0% at 50% 50%);opacity:0;transform:scale(.86);filter:blur(6px);animation:dsReveal 1.5s cubic-bezier(.2,.8,.2,1) .2s forwards,dsFloat 6s ease-in-out 1.8s infinite alternate}
.ds-medal img{width:100%;height:100%;object-fit:cover;display:block}
.ds-medal::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.7) 50%,transparent 62%);background-size:260% 100%;background-position:160% 0;mix-blend-mode:soft-light;animation:dsSheen 3.4s ease 1.7s infinite}
.ds-sp{position:absolute;bottom:-10px;width:var(--s);height:var(--s);border-radius:50%;background:radial-gradient(circle,#f3dd9a,#c9a24a 60%,transparent 70%);opacity:0;animation:dsRise var(--d) ease-in var(--dl) infinite;pointer-events:none}
.ds-load{display:grid;justify-items:center;gap:12px;width:min(62vw,260px);opacity:0;animation:dsFade 1s ease 1.2s forwards}
.ds-msg{font:italic 600 19px/1.1 'Cormorant Garamond',Georgia,serif;color:var(--g);min-height:21px;text-align:center;transition:opacity .35s ease}
.ds-msg.sw{opacity:0}
.ds-bar{position:relative;width:100%;height:3px;border-radius:3px;background:rgba(201,162,74,.28);overflow:visible}
.ds-fill{position:absolute;inset:0;border-radius:3px;background:linear-gradient(90deg,var(--g),#2f7a4d 55%,var(--gold));transform:scaleX(0);transform-origin:left}
.ds-fill::after{content:"";position:absolute;right:-4px;top:50%;width:9px;height:9px;margin-top:-4.5px;background:var(--gold);transform:rotate(45deg);box-shadow:0 0 10px rgba(201,162,74,.9)}
.ds-pct{font:500 11px 'DM Sans',sans-serif;letter-spacing:.22em;color:#6d7a70;font-variant-numeric:tabular-nums}
.ds-tag{font:500 10px 'DM Sans',sans-serif;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-top:-2px}
@keyframes dsFade{to{opacity:1}}
@keyframes dsReveal{to{clip-path:circle(50% at 50% 50%);opacity:1;transform:scale(1);filter:blur(0)}}
@keyframes dsFloat{from{transform:translateY(0) scale(1)}to{transform:translateY(-6px) scale(1.012)}}
@keyframes dsBreath{50%{transform:scale(1.08);opacity:.75}}
@keyframes dsSpin{to{transform:rotate(360deg)}}
@keyframes dsSheen{0%{background-position:160% 0}38%,100%{background-position:-60% 0}}
@keyframes dsRise{0%{transform:translateY(0) scale(.4);opacity:0}20%{opacity:.85}100%{transform:translateY(-62vh) scale(1);opacity:0}}
@media(prefers-reduced-motion:reduce){#dsplash *,#dsplash::before{animation-duration:.01s!important;animation-delay:0s!important;animation-iteration-count:1!important}.ds-sp,.ds-orbit{display:none}#dsplash,#dsplash.out{transition:opacity .3s ease;transform:none;filter:none}}
