@font-face{font-family:Poppins;src:url("../../font/Poppins.ttf") format("truetype");font-display:swap}
:root{color-scheme:dark;--bg:#05030b;--ink:#f4f0ff;--muted:#aaa1bc;--line:rgba(220,211,255,.14);--glass:rgba(12,8,24,.76);--pink:#ff83c8;--violet:#9b82ff;--cyan:#5fe8e2;--ease:cubic-bezier(.2,.8,.2,1);--ease-out:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html,body{width:100%;min-width:320px;min-height:100%;margin:0;background:var(--bg)}html{scroll-behavior:smooth}body{overflow:hidden;color:var(--ink);font-family:Poppins,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a{color:inherit}button{border:0}a{text-decoration:none}:focus-visible{outline:2px solid #fff;outline-offset:5px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;z-index:500;top:12px;left:12px;padding:11px 16px;background:#fff;color:#08050f;transform:translateY(-160%);transition:transform .2s}.skip:focus{transform:none}
#starfield,.ambient,.atlas{position:fixed;inset:0}#starfield{z-index:0}.ambient{z-index:1;overflow:hidden;pointer-events:none}.ambient i{position:absolute;width:55vw;aspect-ratio:1;border-radius:50%;filter:blur(120px);opacity:.12;animation:drift 18s ease-in-out infinite alternate}.ambient i:nth-child(1){top:-25%;left:-12%;background:#714bd1}.ambient i:nth-child(2){right:-20%;bottom:-28%;background:#c648a0;animation-delay:-8s}.ambient i:nth-child(3){top:20%;right:12%;width:32vw;background:#318fa0;animation-delay:-13s}.atlas{z-index:2;overflow:hidden}.brand{position:fixed;z-index:80;top:30px;left:38px;display:flex;align-items:center;gap:25px}.brand a{display:flex;align-items:center;gap:11px}.brand a span{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.4);border-radius:50%;font-size:.72rem;font-weight:800}.brand b{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.brand p{margin:0;padding-left:25px;border-left:1px solid var(--line);color:var(--muted);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase}.depth{position:fixed;z-index:80;top:34px;right:38px;display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.56rem;letter-spacing:.16em}.depth i{width:70px;height:1px;background:var(--line);position:relative}.depth i:after{content:"";position:absolute;left:0;top:-1px;width:25%;height:3px;background:#fff;box-shadow:0 0 10px #fff;transition:width .8s var(--ease)}body[data-state="world"] .depth i:after{width:100%}.coordinates{position:fixed;z-index:70;right:38px;bottom:24px;left:38px;display:flex;justify-content:space-between;color:rgba(255,255,255,.48);font-size:.52rem;letter-spacing:.16em;pointer-events:none}
.boot{position:fixed;z-index:999;inset:0;display:grid;place-content:center;justify-items:center;background:#05030b;animation:boot-out .8s 1.7s var(--ease) forwards;pointer-events:none}.boot-mark{position:relative;width:80px;height:80px}.boot-mark span{position:absolute;inset:0;border:1px solid rgba(255,255,255,.3);border-radius:50%;animation:boot-ring 1.5s var(--ease-out) both}.boot-mark span:nth-child(2){inset:15px;border-color:var(--pink);animation-delay:.1s}.boot-mark span:nth-child(3){inset:31px;background:#fff;border:0;box-shadow:0 0 24px #fff;animation-delay:.2s}.boot p{margin:25px 0 5px;color:var(--muted);font-size:.55rem;letter-spacing:.22em;text-transform:uppercase}.boot strong{font-size:1rem;letter-spacing:.18em}
.universe{position:absolute;inset:0;transform-origin:50% 50%;transition:transform 1.05s var(--ease),filter .8s ease,opacity .5s}.galaxy-art{position:absolute;inset:0;pointer-events:none}.galaxy-disc{position:absolute;left:61%;top:49%;width:min(96vw,1450px);height:min(62vw,900px);transform:translate(-50%,-50%) rotate(-13deg);border-radius:50%;background:radial-gradient(ellipse at 50% 50%,rgba(255,242,255,.3) 0 1%,rgba(220,188,255,.14) 4%,transparent 16%),radial-gradient(ellipse at 39% 57%,rgba(255,97,187,.1),transparent 31%),radial-gradient(ellipse at 68% 41%,rgba(72,190,210,.08),transparent 34%),conic-gradient(from 202deg at 50% 50%,transparent 0 4%,rgba(135,88,226,.18) 8%,transparent 19%,rgba(255,104,188,.11) 27%,transparent 41%,rgba(84,188,205,.09) 51%,transparent 65%,rgba(150,105,235,.15) 76%,transparent 91%);-webkit-mask-image:radial-gradient(ellipse at center,#000 0 12%,rgba(0,0,0,.9) 31%,rgba(0,0,0,.45) 54%,transparent 78%);mask-image:radial-gradient(ellipse at center,#000 0 12%,rgba(0,0,0,.9) 31%,rgba(0,0,0,.45) 54%,transparent 78%);filter:blur(14px) saturate(1.18);opacity:.82;animation:galaxy-drift 38s ease-in-out infinite alternate}.galaxy-disc:before,.galaxy-disc:after{content:"";position:absolute;border-radius:50%;mix-blend-mode:screen}.galaxy-disc:before{inset:10% -4%;background:conic-gradient(from 35deg at 50% 50%,transparent 0 9%,rgba(195,157,255,.13) 14%,transparent 24%,rgba(255,131,200,.09) 34%,transparent 49%,rgba(113,204,216,.08) 58%,transparent 71%,rgba(173,127,239,.12) 82%,transparent 95%);filter:blur(20px);animation:galaxy-arms 24s ease-in-out infinite alternate}.galaxy-disc:after{inset:24% 7%;background:radial-gradient(ellipse at center,rgba(232,215,255,.13),rgba(137,88,209,.08) 28%,transparent 68%);filter:blur(24px);transform:rotate(18deg)}.galaxy-heart{position:absolute;left:61%;top:49%;width:105px;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.92) 0 1%,rgba(247,207,239,.4) 5%,rgba(161,111,224,.17) 24%,transparent 70%);filter:blur(3px);box-shadow:0 0 75px rgba(169,112,255,.16);animation:pulse 7s ease-in-out infinite}.galaxy-art svg{position:absolute;inset:7% 5% 9%;width:90%;height:84%;opacity:.2}.galaxy-art path{fill:none;stroke:rgba(198,180,255,.3);stroke-width:.65;stroke-dasharray:2 14;vector-effect:non-scaling-stroke;animation:route 22s linear infinite}
.manifesto{position:absolute;z-index:6;top:50%;left:8%;width:min(430px,34vw);transform:translateY(-50%);animation:reveal 1s 1.8s var(--ease-out) both}.overline,.kicker,.world-head>p{color:#d5b9ff;font-size:.58rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.manifesto h1,.world-head h2{margin:16px 0 20px;font-size:clamp(2.7rem,5.4vw,6.5rem);font-weight:300;letter-spacing:-.065em;line-height:.92}.manifesto h1 em,.world-head h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.55)}.manifesto>p:not(.overline){max-width:380px;color:var(--muted);font-size:.78rem;line-height:1.8}.explore{display:flex;align-items:center;gap:25px;margin-top:30px;padding:0;background:none;cursor:pointer}.explore span{padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.5);font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.explore i{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;font-style:normal;transition:.3s}.explore:hover i{background:#fff;color:#090510;transform:rotate(-45deg)}
.systems{position:absolute;inset:0;z-index:7}.system{position:absolute;left:var(--px);top:var(--py);width:var(--size,110px);aspect-ratio:1;padding:0;background:none;border-radius:50%;transform:translate(-50%,-50%);cursor:pointer;animation:system-in .8s calc(2s + var(--delay,0s)) var(--ease-out) both}.system:nth-child(1){--size:118px;--delay:.05s}.system:nth-child(2){--size:96px;--delay:.15s}.system:nth-child(3){--size:112px;--delay:.25s}.system:nth-child(4){--size:78px;--delay:.35s}.system:nth-child(5){--size:58px;--delay:.45s}.system-visual{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 34% 27%,#fff 0 2%,var(--hue) 8%,color-mix(in srgb,var(--hue) 35%,#191020) 47%,#080510 78%);box-shadow:inset -20px -18px 34px rgba(0,0,0,.65),0 0 30px color-mix(in srgb,var(--hue) 22%,transparent);transition:transform .5s var(--ease-out),box-shadow .4s}.system-visual:before,.system-visual:after{content:"";position:absolute;border:1px solid color-mix(in srgb,var(--hue) 40%,transparent);border-radius:50%}.system-visual:before{inset:-26%;transform:rotate(31deg) scaleY(.28)}.system-visual:after{inset:-48%;border-style:dashed;opacity:.28;animation:rotate 22s linear infinite}.system-visual i{position:absolute;inset:-65%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--hue) 14%,transparent),transparent 61%);opacity:0;transition:.4s}.system-visual b{position:absolute;left:50%;top:-45%;width:4px;height:4px;border-radius:50%;background:#fff;box-shadow:0 0 12px var(--hue);transform-origin:0 calc(var(--size,110px)*.95);animation:rotate 8s linear infinite}.system-copy{position:absolute;top:50%;left:calc(100% + 34px);display:grid;width:190px;text-align:left;transform:translateY(-50%);pointer-events:none}.system-copy:before{content:"";position:absolute;top:50%;right:calc(100% + 7px);width:27px;height:1px;background:linear-gradient(90deg,transparent,var(--hue))}.system-copy small{color:var(--hue);font-size:.48rem;letter-spacing:.14em}.system-copy strong{margin:3px 0;font-size:.86rem;letter-spacing:.02em}.system-copy em{color:var(--muted);font-size:.52rem;font-style:normal}.system:hover .system-visual,.system:focus-visible .system-visual{transform:scale(1.14);box-shadow:inset -20px -18px 34px rgba(0,0,0,.5),0 0 55px color-mix(in srgb,var(--hue) 38%,transparent)}.system:hover .system-visual i,.system:focus-visible .system-visual i{opacity:1}.system--work .system-visual{border-radius:47% 53% 46% 54%;background:conic-gradient(from 20deg,#52274e,#ff83c8,#403682,#8c3f76,#52274e)}.system--lab .system-visual{background:radial-gradient(circle,#000 0 22%,#33183f 27%,#be7cff 36%,rgba(99,48,137,.3) 47%,transparent 68%);box-shadow:none;animation:wobble 6s ease-in-out infinite}.system--signal .system-visual{background:repeating-linear-gradient(0deg,transparent 0 8px,rgba(95,232,226,.12) 9px),radial-gradient(circle at 34% 28%,#a9ffff,#246e76 36%,#0a232c 72%)}.system--archive .system-copy{left:auto;right:calc(100% + 30px);text-align:right}.system--archive .system-copy:before{right:auto;left:calc(100% + 7px);background:linear-gradient(90deg,var(--hue),transparent)}
body[data-state="travelling"] .universe{transform:translate(var(--cam-x),var(--cam-y)) scale(2.7);filter:brightness(1.4) blur(1px)}body[data-state="world"] .universe{opacity:0;transform:translate(var(--cam-x),var(--cam-y)) scale(3.4);filter:blur(12px);pointer-events:none}.warp{position:fixed;z-index:40;inset:0;display:grid;place-items:center;visibility:hidden;pointer-events:none}.warp-tunnel{position:absolute;inset:-25%;opacity:0;background:repeating-conic-gradient(from 0deg at 50% 50%,transparent 0 3deg,rgba(255,255,255,.05) 3.2deg 3.5deg,transparent 3.8deg 8deg);mask:radial-gradient(circle,transparent 0 4%,#000 35%);transform:scale(.15);filter:blur(1px)}.warp span{opacity:0;font-size:.55rem;letter-spacing:.24em}.warp.is-active{visibility:visible}.warp.is-active .warp-tunnel{animation:warp .95s var(--ease) both}.warp.is-active span{animation:warp-label .95s ease both}
.destination{position:fixed;z-index:30;inset:0;visibility:hidden;opacity:0;transition:opacity .35s}.destination.is-visible{visibility:visible;opacity:1}.back{position:fixed;z-index:90;top:92px;left:38px;display:flex;align-items:center;gap:12px;background:none;color:var(--muted);cursor:pointer}.back i{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;font-style:normal;transition:.3s}.back span{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase}.back:hover i{background:#fff;color:#090510}.world{position:absolute;inset:0;display:none;overflow:auto;padding:125px 7vw 90px;opacity:0;transform:scale(.96);transition:opacity .6s,transform .8s var(--ease-out)}.world.is-active{display:block}.world.is-entered{opacity:1;transform:none}.world-head{position:relative;z-index:3;max-width:900px}.world-head h2{font-size:clamp(3rem,6.5vw,7.2rem)}
.world--path{background:radial-gradient(circle at 75% 45%,rgba(91,124,214,.17),transparent 31%)}.orbit-content{position:absolute;z-index:5;left:7vw;bottom:9%;width:min(500px,43vw);min-height:230px;padding:28px;border:1px solid var(--line);background:rgba(8,6,18,.65);backdrop-filter:blur(16px)}.orbit-content h3,.project-detail h3{margin:7px 0 13px;font-size:1.7rem;font-weight:400}.orbit-content p{color:var(--muted);font-size:.72rem;line-height:1.7}.orbit-content a,.project-detail a{display:inline-block;margin-top:13px;padding-bottom:5px;border-bottom:1px solid #fff;font-size:.65rem}.orbit-content ul{display:grid;gap:11px;margin:0;padding:0;list-style:none}.orbit-content li{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:8px;font-size:.63rem}.orbit-content li span{color:var(--muted);text-align:right}.skills{display:flex;flex-wrap:wrap;gap:7px}.skills span{padding:7px 10px;border:1px solid rgba(159,184,255,.24);border-radius:999px;color:#dbe4ff;font-size:.58rem}
.world--work{background:radial-gradient(circle at 30% 55%,rgba(255,79,173,.11),transparent 35%)}.world--work .world-head{max-width:min(45vw,760px);pointer-events:none}.project-space{position:absolute;inset:17% 6% 7% 44%;display:grid;grid-template-columns:1.4fr .8fr;gap:25px}.project-map{position:relative;border:1px solid rgba(255,131,200,.12);background:radial-gradient(circle at 45% 55%,rgba(255,131,200,.1),transparent 43%);clip-path:polygon(0 0,96% 0,100% 7%,100% 100%,4% 100%,0 93%)}.project-map:before,.project-map:after{content:"";position:absolute;inset:8%;background:linear-gradient(31deg,transparent 49.8%,rgba(255,131,200,.11) 50%,transparent 50.2%);pointer-events:none}.project-map:after{transform:rotate(51deg)}.project-node{position:absolute;left:var(--nx);top:var(--ny);width:16px;height:16px;padding:0;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:#fff;box-shadow:0 0 20px var(--pink);cursor:pointer;transition:.35s}.project-node i{position:absolute;inset:-13px;border:1px solid rgba(255,131,200,.18);border-radius:50%}.project-node span{position:absolute;left:25px;top:50%;width:110px;color:var(--muted);font-size:.5rem;text-align:left;transform:translateY(-50%)}.project-node:hover,.project-node.is-active{transform:scale(1.5);background:var(--pink)}.project-detail{overflow:hidden;border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(18px)}.project-detail section{padding:17px}.project-image{height:175px;margin:-17px -17px 20px;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover}.project-detail section>p:first-of-type{color:var(--pink);font-size:.52rem;letter-spacing:.12em}.project-detail section>span,.project-detail section>p:last-of-type{color:var(--muted);font-size:.62rem;line-height:1.6}
.world--lab{background:radial-gradient(circle at 66% 52%,rgba(150,51,196,.16),transparent 32%)}.singularity{position:absolute;left:56%;top:51%;width:min(42vw,550px);aspect-ratio:1;transform:translate(-50%,-50%)}.singularity span{position:absolute;inset:28%;border-radius:50%;background:#000;box-shadow:0 0 20px #000,0 0 80px rgba(171,73,230,.35)}.singularity i,.singularity b{position:absolute;inset:15% -12%;border-radius:50%;background:conic-gradient(from 0deg,transparent,#e389ff,transparent 28%,#744cae,transparent 65%,#ff83c8,transparent);transform:rotate(-18deg) scaleY(.18);filter:blur(5px);animation:spin-flat 5s linear infinite}.singularity b{inset:0 -28%;opacity:.25;animation-duration:11s;animation-direction:reverse}
.world--signal{background:radial-gradient(circle at 22% 68%,rgba(64,208,208,.13),transparent 34%)}.beacon{position:absolute;left:8%;bottom:8%;width:300px;height:300px}.contact-form{position:absolute;top:18%;right:8%;display:grid;grid-template-columns:1fr 1fr;gap:18px;width:min(650px,53vw);padding:32px;border:1px solid var(--line);background:rgba(7,12,20,.72);backdrop-filter:blur(20px)}.contact-form label{display:grid;gap:8px}.contact-form label>span{color:var(--muted);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.22);padding:10px 0;background:transparent;color:#fff;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:0;border-color:var(--cyan)}.contact-form small{color:#ff8aa7;font-size:.55rem}.wide{grid-column:1/-1}.consent{grid-template-columns:auto 1fr!important;align-items:start}.consent input{width:auto;margin-top:2px}.consent span{text-transform:none!important;letter-spacing:0!important}.send{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:var(--cyan);color:#041011;cursor:pointer}.send i{font-style:normal}.feedback{grid-column:1/-1;margin:0;padding:10px;border:1px solid}.success{color:#8fffd5}.error,.form-error{color:#ff8aa7}
.world--archive{background:radial-gradient(circle at 85% 15%,rgba(190,198,220,.12),transparent 30%)}.archive-copy{position:absolute;top:21%;right:8%;display:grid;grid-template-columns:1fr 1fr;gap:12px;width:min(680px,54vw)}.archive-copy section{padding:24px;border:1px solid var(--line);background:rgba(14,14,22,.55)}.archive-copy h3{margin:0 0 12px;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.archive-copy p,.archive-copy a{color:var(--muted);font-size:.62rem;line-height:1.7}
@keyframes drift{to{transform:translate(8vw,4vh) scale(1.1)}}@keyframes galaxy-drift{to{transform:translate(-48%,-52%) rotate(-8deg) scale(1.06)}}@keyframes galaxy-arms{to{transform:rotate(10deg) scale(1.08);opacity:.72}}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes spin-flat{to{transform:rotate(342deg) scaleY(.18)}}@keyframes route{to{stroke-dashoffset:-140}}@keyframes pulse{50%{transform:translate(-50%,-50%) scale(1.12);opacity:.76}}@keyframes reveal{from{opacity:0;transform:translateY(calc(-50% + 30px));filter:blur(10px)}to{opacity:1;transform:translateY(-50%);filter:blur(0)}}@keyframes system-in{from{opacity:0;transform:translate(-50%,-50%) scale(.5);filter:blur(8px)}to{opacity:1;transform:translate(-50%,-50%) scale(1);filter:blur(0)}}@keyframes wobble{50%{border-radius:45% 55% 51% 49%;filter:hue-rotate(15deg)}}@keyframes boot-ring{from{opacity:0;transform:scale(.2) rotate(-80deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes boot-out{to{opacity:0;visibility:hidden;transform:scale(1.08)}}@keyframes warp{0%{opacity:0;transform:scale(.1) rotate(0)}45%{opacity:1}100%{opacity:0;transform:scale(1.8) rotate(22deg)}}@keyframes warp-label{0%,100%{opacity:0;letter-spacing:.5em}45%{opacity:.75;letter-spacing:.24em}}@keyframes beacon{from{opacity:.8;transform:scale(.25)}to{opacity:0;transform:scale(1.2)}}
@media(max-width:1100px){.manifesto{left:6%;width:38vw}.brand p{display:none}.world--work .world-head{max-width:100%}.project-space{inset:23% 4% 7% 38%}.world{padding-left:5vw}.orbit-content{left:5vw}.contact-form{right:4%;width:58vw}.archive-copy{right:4%;width:57vw}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.boot{display:none}.manifesto,.system{opacity:1!important;filter:none!important}.galaxy-disc{transform:translate(-50%,-50%) rotate(-13deg)}.galaxy-heart{transform:translate(-50%,-50%)}.warp{display:none!important}}

/* Five genuinely different destinations */
.system--path .system-visual{background:radial-gradient(circle at center,#fff 0 4%,#ffd4a3 7%,#8d5937 12%,transparent 14%);box-shadow:none}
.system--path .system-visual:before{inset:6%;border-color:rgba(159,184,255,.28);transform:rotate(-18deg) scaleY(.42)}
.system--path .system-visual:after{inset:-20%;border-style:solid;opacity:.25;transform:rotate(28deg) scaleY(.55);animation:none}
.system--path .system-visual i{inset:auto;left:10%;top:50%;width:13px;height:13px;background:#809ee9;opacity:1;box-shadow:54px -24px 0 -2px #d580b2,82px 14px 0 -4px #76c6ca}
.system--path .system-visual b{left:77%;top:55%;animation:rotate 18s linear infinite}
.system--work .system-visual{background:radial-gradient(circle at 50% 50%,#fff 0 3%,transparent 4%),radial-gradient(circle at 20% 32%,#ff83c8 0 3%,transparent 4%),radial-gradient(circle at 72% 22%,#a9a0ff 0 2%,transparent 3%),radial-gradient(circle at 68% 73%,#fff 0 2%,transparent 3%),radial-gradient(circle at 31% 77%,#d06dff 0 2%,transparent 3%);box-shadow:inset 0 0 25px rgba(255,131,200,.12),0 0 36px rgba(255,131,200,.18);border:1px solid rgba(255,131,200,.18)}
.system--work .system-visual:before{inset:12%;border:0;border-radius:0}
.system--work .system-visual:after,.system--work .system-visual b{display:none}
.system--work .system-constellation{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.system--work .system-constellation path{fill:none;stroke:rgba(255,173,222,.38);stroke-width:.75;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2 4;vector-effect:non-scaling-stroke}.system--work .system-constellation circle{fill:#e6b5ff;filter:drop-shadow(0 0 3px #ca79ff)}
.system--lab .system-visual:before,.system--lab .system-visual:after,.system--lab .system-visual b{display:none}
.system--lab .system-visual i{inset:-45%;opacity:.9;background:conic-gradient(from 10deg,transparent,#a453d1,transparent 28%,#ff83c8,transparent 61%);transform:scaleY(.24) rotate(-14deg);filter:blur(3px)}
.system--signal .system-visual{border-radius:18%;clip-path:polygon(50% 0,67% 31%,100% 50%,68% 64%,50% 100%,35% 67%,0 50%,33% 34%)}
.system--signal .system-visual:before{inset:30%;border-radius:5%;transform:none;background:var(--cyan);box-shadow:0 0 20px var(--cyan)}
.system--signal .system-visual:after{inset:-28%;border-style:solid;animation:beacon 3s ease-out infinite}.system--signal .system-visual b{display:none}
.system--archive .system-visual{background:radial-gradient(circle at 32% 27%,#f7f8fc 0 3%,transparent 4%),radial-gradient(circle at 68% 61%,#555c6b 0 10%,transparent 11%),radial-gradient(circle at 35% 70%,#7e8698 0 7%,transparent 8%),radial-gradient(circle at 35% 28%,#dfe3ed,#697181 62%,#222733 100%)}
.system--archive .system-visual:before,.system--archive .system-visual:after,.system--archive .system-visual b{display:none}

/* Parcours: system view and focused planet view */
.career-system{position:absolute;z-index:4;right:4%;top:10%;width:min(47vw,600px);aspect-ratio:1;border-radius:50%}
.career-sun{position:absolute;z-index:3;left:50%;top:50%;width:76px;height:76px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 28%,#fff,#ffd6a0 12%,#e2834c 54%,#602f2e);box-shadow:0 0 35px rgba(255,177,101,.55),0 0 100px rgba(255,137,91,.2)}
.career-sun span{position:absolute;inset:-55%;border-radius:50%;background:radial-gradient(circle,rgba(255,171,101,.18),transparent 68%)}
.career-ring{position:absolute;left:50%;top:50%;border:1px solid rgba(159,184,255,.13);border-radius:50%;transform:translate(-50%,-50%) rotate(-13deg) scaleY(.58);pointer-events:none}
.career-ring--1{width:35%;height:35%}.career-ring--2{width:55%;height:55%}.career-ring--3{width:75%;height:75%}.career-ring--4{width:95%;height:95%}
.career-planet{position:absolute;z-index:5;padding:0;border-radius:50%;background:none;cursor:pointer;transition:transform .45s var(--ease-out),filter .35s}
.career-planet i{position:absolute;inset:0;border-radius:50%;box-shadow:inset -10px -9px 16px rgba(0,0,0,.55),0 0 17px rgba(159,184,255,.18)}
.career-planet span{position:absolute;top:calc(100% + 10px);left:50%;color:var(--muted);font-size:.52rem;letter-spacing:.08em;text-transform:uppercase;transform:translateX(-50%);white-space:nowrap}
.career-planet--profile{left:56%;top:31%;width:42px;height:42px}.career-planet--profile i{background:radial-gradient(circle at 32% 27%,#fff,#87a5e8 12%,#344776 62%,#11172a)}
.career-planet--experience{left:72%;top:58%;width:55px;height:55px}.career-planet--experience i{background:repeating-linear-gradient(170deg,transparent 0 7px,rgba(255,255,255,.08) 8px),radial-gradient(circle at 30% 25%,#ffd9bf,#b86d63 42%,#492937)}
.career-planet--diploma{left:25%;top:68%;width:48px;height:48px}.career-planet--diploma i{background:radial-gradient(circle at 34% 28%,#e8fff9,#4eaaa1 38%,#173f4b 75%)}
.career-planet--skills{left:17%;top:24%;width:62px;height:62px}.career-planet--skills i{background:conic-gradient(from 25deg,#8067bb,#c879bc,#426f9b,#8067bb)}
.career-planet--skills:after{content:"";position:absolute;inset:35% -38%;border:3px solid rgba(207,181,255,.42);border-radius:50%;transform:rotate(-13deg) scaleY(.3)}
.career-planet:hover,.career-planet:focus-visible,.career-planet.is-selected{transform:scale(1.24);filter:brightness(1.2)}.career-planet.is-selected span{color:#fff}
.planet-focus{position:absolute;z-index:5;right:5%;bottom:5%;display:grid;justify-items:center;width:250px}.focused-planet{position:relative;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle at 31% 25%,#fff,#87a5e8 10%,#344776 57%,#101526 78%);box-shadow:inset -30px -24px 45px rgba(0,0,0,.6),0 0 60px rgba(142,169,255,.25);transition:background .5s,box-shadow .5s}
.focused-planet[data-focused-planet="experience"]{background:repeating-linear-gradient(170deg,transparent 0 13px,rgba(255,255,255,.07) 14px),radial-gradient(circle at 30% 25%,#ffe1c9,#ae625d 42%,#432433 78%)}
.focused-planet[data-focused-planet="diplomes"]{background:radial-gradient(circle at 34% 28%,#effffa,#51afa6 35%,#153d49 76%)}
.focused-planet[data-focused-planet="competences"]{background:conic-gradient(from 25deg,#8067bb,#ca7cbd,#426f9b,#8067bb)}
.focused-planet>i{display:none}.focused-planet[data-focused-planet="competences"]>i{display:block;position:absolute;inset:-16%;border:1px solid rgba(255,255,255,.12);border-radius:50%;transform:rotate(-15deg) scaleY(.38)}
.moon{position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 8px #fff;transform-origin:0 98px;animation:moon-orbit 24s linear infinite}.moon--b{width:4px;height:4px;transform-origin:0 78px;animation-duration:37s;animation-direction:reverse}
.planet-focus-hint{position:relative;bottom:18px;margin:16px 0 0;color:var(--muted);font-size:.52rem;letter-spacing:.08em;text-align:center;text-transform:uppercase}.career-content{right:calc(5% + 265px);left:auto;bottom:5%;width:min(430px,34vw)}
.archive-copy{grid-template-columns:repeat(2,1fr);padding-bottom:80px}.archive-copy section small{color:#aeb8ca;font-size:.5rem;letter-spacing:.15em}
.project-node span{opacity:0;transition:opacity .2s}.project-node:hover span,.project-node:focus-visible span,.project-node.is-active span{opacity:1}
@keyframes moon-orbit{to{transform:rotate(360deg)}}

@media(max-width:1100px){.career-system{right:1%;width:52vw}.career-content{right:270px;width:38vw}.planet-focus{right:1%}.archive-copy{width:61vw}}
@media(max-width:760px){.career-system{position:relative;right:auto;top:auto;width:96vw;margin:-12vw auto 0}.planet-focus{position:relative;right:auto;bottom:auto;width:100%;margin-top:-17vw}.career-content{position:relative;right:auto;left:auto;bottom:auto;width:100%;margin-top:20px}.archive-copy{width:100%;grid-template-columns:1fr}.system--path .system-visual{inset:13px auto 13px 15px}.project-node span{display:none}}

/* Responsive experience -------------------------------------------------- */
@media (min-width:761px) and (max-width:1100px){
  .brand{left:26px}.depth{right:26px}.coordinates{right:26px;left:26px}
  .manifesto{left:5%;width:40vw}.manifesto h1{font-size:clamp(2.8rem,6vw,5rem)}
  .system:nth-child(1){--px:70%!important;--py:23%!important}.system:nth-child(2){--px:20%!important;--py:68%!important}.system:nth-child(3){--px:68%!important;--py:77%!important}.system:nth-child(4){--px:89%!important;--py:49%!important}.system:nth-child(5){--px:44%!important;--py:88%!important}
  .system-copy{width:155px}.system-copy em{display:none}
  .world{padding:120px 5vw 80px}.world-head{max-width:48vw}.world-head h2{font-size:clamp(3rem,7vw,5.5rem)}
  .project-space{inset:25% 3% 6% 38%;grid-template-columns:1.25fr .9fr}.project-node span{display:none}.project-detail h3{font-size:1.35rem}
  .career-system{top:16%;right:0;width:53vw}.career-content{right:245px;width:39vw}.planet-focus{right:0;width:235px}.focused-planet{width:125px;height:125px}
  .singularity{left:53%;width:46vw}
  .archive-copy{top:24%;right:3%;width:60vw}.archive-copy section{padding:18px}
}

@media (max-width:760px){
  :root{--mobile-pad:clamp(16px,5vw,24px)}
  html,body{min-height:100%;background:#05030b}body{overflow-x:hidden;overflow-y:auto;padding:0 env(safe-area-inset-right) 0 env(safe-area-inset-left)}
  #starfield{position:fixed}.ambient i{width:100vw;filter:blur(90px);opacity:.09}
  .atlas{position:relative;inset:auto;width:100%;min-height:100svh;overflow:visible}
  .brand{position:fixed;top:calc(14px + env(safe-area-inset-top));left:var(--mobile-pad);z-index:120}.brand a span{width:34px;height:34px}.brand b{font-size:.62rem}
  .depth{position:fixed;top:calc(24px + env(safe-area-inset-top));right:var(--mobile-pad);z-index:120}.depth span:last-child{max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}
  .coordinates{display:none}.boot strong{font-size:.86rem}
  .universe{position:relative;inset:auto;min-height:100svh;padding:calc(86px + env(safe-area-inset-top)) var(--mobile-pad) calc(50px + env(safe-area-inset-bottom));overflow:hidden}
  .galaxy-art{position:fixed;inset:0;opacity:.62}.galaxy-disc{left:76%;top:29%;width:155vw;height:96vw}.galaxy-heart{left:76%;top:29%;width:78px}.galaxy-art svg{display:none}
  .manifesto{position:relative;z-index:8;top:auto;left:auto;width:100%;transform:none}.manifesto .overline{font-size:.5rem}.manifesto h1{margin-top:12px;font-size:clamp(2.8rem,13.5vw,4.8rem);line-height:.94}.manifesto>p:not(.overline){max-width:92%;font-size:.68rem;line-height:1.65}
  .systems{position:relative;inset:auto;display:grid;grid-template-columns:1fr;gap:10px;margin-top:32px}
  .system,.system:nth-child(n){position:relative;left:auto!important;top:auto!important;width:100%;height:94px;min-height:94px;aspect-ratio:auto;margin:0;padding:12px;border:1px solid rgba(220,211,255,.13);border-radius:16px;background:linear-gradient(110deg,rgba(18,12,35,.88),rgba(8,6,18,.72));transform:none;animation-name:mobile-card-in;overflow:hidden}
  .system:active{transform:scale(.985)}.system-visual,.system--path .system-visual{inset:11px auto 11px 13px;width:72px;height:72px}.system-copy,.system--archive .system-copy{top:50%;right:auto;left:105px;width:calc(100% - 118px);text-align:left;transform:translateY(-50%)}.system-copy:before,.system--archive .system-copy:before{display:none}.system-copy strong{font-size:.8rem}.system-copy small{font-size:.45rem}.system-copy em{font-size:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.system--lab .system-visual i{inset:-28%}
  .warp{position:fixed}.warp-tunnel{inset:-50%;background:radial-gradient(circle at center,rgba(255,255,255,.12),transparent 45%);mask:none}.warp span{font-size:.48rem;text-align:center}
  body[data-state="travelling"] .universe{transform:scale(1.14);filter:brightness(1.35) blur(2px)}body[data-state="world"] .universe{transform:scale(1.2);opacity:0}
  .destination{position:fixed;inset:0;z-index:100;background:#06040c}.back{position:fixed;top:calc(64px + env(safe-area-inset-top));left:var(--mobile-pad);z-index:140}.back i{width:36px;height:36px}.back span{font-size:.52rem}
  .world{position:absolute;inset:0;height:100%;padding:calc(118px + env(safe-area-inset-top)) var(--mobile-pad) calc(50px + env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .world-head{max-width:100%}.world-head>p{font-size:.5rem}.world-head h2{margin:12px 0 22px;font-size:clamp(2.7rem,13vw,4.5rem);line-height:.95}
  .world--path,.world--work,.world--lab,.world--signal,.world--archive{background-position:center;background-attachment:scroll}
  .career-system{position:relative;top:auto;right:auto;width:min(94vw,520px);margin:-8vw auto 0}.career-sun{width:62px;height:62px}.career-planet--profile{width:36px;height:36px}.career-planet--experience{width:47px;height:47px}.career-planet--diploma{width:42px;height:42px}.career-planet--skills{width:52px;height:52px}.career-planet span{font-size:.45rem}
  .planet-focus{position:relative;right:auto;bottom:auto;width:100%;margin:-12vw auto 0}.focused-planet{width:122px;height:122px}.moon{transform-origin:0 84px;animation-duration:32s}.moon--b{transform-origin:0 68px;animation-duration:46s}.planet-focus-hint{font-size:.46rem}
  .career-content{position:relative;right:auto;left:auto;bottom:auto;width:100%;min-height:280px;margin:18px 0 0;padding:22px}.orbit-content h3{font-size:1.4rem}.orbit-content p{font-size:.67rem}.orbit-content li{display:grid;gap:4px;font-size:.6rem}.orbit-content li span{text-align:left}.skills span{font-size:.53rem}
  .project-space{position:relative;inset:auto;display:block;margin-top:8px}.project-map{display:grid;height:auto;gap:8px;border:0;background:none;clip-path:none}.project-map:before,.project-map:after{display:none}
  .project-node{position:relative;left:auto;top:auto;display:grid;grid-template-columns:13px 1fr;align-items:center;gap:12px;width:100%;height:auto;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:0;background:rgba(255,131,200,.04);box-shadow:none;text-align:left}.project-node i{position:relative;inset:auto;width:10px;height:10px;background:#fff;box-shadow:0 0 10px var(--pink)}.project-node span{position:static;display:block;width:auto;opacity:1!important;color:var(--muted);font-size:.55rem;transform:none}.project-node.is-active{transform:none;border-color:rgba(255,131,200,.52);background:rgba(255,131,200,.13)}
  .project-detail{margin-top:13px}.project-detail section{padding:18px}.project-image{height:min(55vw,250px)}.project-detail h3{font-size:1.45rem}.project-detail section>p:last-of-type{font-size:.66rem}
  .singularity{position:relative;top:auto;left:50%;width:min(105vw,480px);margin:-11vw 0 -13vw;transform:translateX(-50%)}
  .beacon{display:block;position:relative;left:auto;bottom:auto;width:190px;height:190px;margin:-20px auto -35px;opacity:.75}.contact-form{position:relative;top:auto;right:auto;width:100%;grid-template-columns:1fr;gap:16px;margin-top:0;padding:20px}.contact-form label,.wide{grid-column:1}.contact-form input,.contact-form textarea{font-size:16px}.send{min-height:48px}
  .archive-copy{position:relative;top:auto;right:auto;width:100%;grid-template-columns:1fr;gap:9px;margin-top:5px;padding-bottom:25px}.archive-copy section{padding:20px}.archive-copy h3{font-size:.66rem}.archive-copy p,.archive-copy a{font-size:.63rem}
  @keyframes mobile-card-in{from{opacity:0;transform:translateY(18px);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}
}

/* Champ leurre anti-robots, hors écran mais présent dans le DOM. */
.contact-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

@media (max-width:390px){
  .manifesto h1{font-size:12.5vw}.manifesto>p:not(.overline){font-size:.63rem}.system,.system:nth-child(n){height:86px;min-height:86px}.system-visual,.system--path .system-visual{width:64px;height:64px}.system-copy,.system--archive .system-copy{left:93px;width:calc(100% - 104px)}.system-copy em{display:none}
  .career-system{width:108vw;margin-left:-8vw}.career-planet span{display:none}.world-head h2{font-size:12.5vw}.contact-form{padding:17px}.archive-copy section{padding:17px}
}

@media (max-height:650px) and (min-width:761px){
  .brand{top:18px}.depth{top:22px}.manifesto h1{font-size:4.5rem}.manifesto>p:not(.overline){line-height:1.5}.explore{margin-top:15px}.system{scale:.82}.world{padding-top:88px}.world-head h2{font-size:4.5rem}.career-system{top:4%;width:43vw}.career-content{bottom:3%;min-height:190px}.planet-focus{bottom:2%}.project-space{inset:17% 5% 5% 43%}.contact-form{top:14%}.archive-copy{top:18%}
}

@media (orientation:landscape) and (max-width:900px) and (max-height:520px){
  .universe{padding-top:72px}.manifesto{width:43%;position:fixed;left:24px;top:52%;transform:translateY(-50%)}.manifesto h1{font-size:8vh}.manifesto>p:not(.overline){display:none}.systems{width:50%;margin:0 0 0 auto;grid-template-columns:1fr 1fr}.system,.system:nth-child(n){height:70px;min-height:70px}.system-visual,.system--path .system-visual{width:50px;height:50px}.system-copy,.system--archive .system-copy{left:72px;width:calc(100% - 78px)}.system-copy em{display:none}.world{padding-top:92px}.world-head h2{font-size:10vh}.career-system{width:62vh;margin:-20vh 0 0 auto}.planet-focus{position:absolute;right:2%;bottom:2%;width:180px}.career-content{width:48%;margin-top:0}.project-map{grid-template-columns:1fr 1fr}.project-detail{position:absolute;right:0;top:0;width:45%;margin:0}.project-space{padding-right:48%}.singularity,.beacon{display:none}.contact-form{grid-template-columns:1fr 1fr}.archive-copy{grid-template-columns:1fr 1fr}
}

@media (hover:none), (pointer:coarse){
  button,a{touch-action:manipulation}
  .system:hover .system-visual,.system:focus-visible .system-visual{transform:none}
  .career-planet:hover{transform:none}.career-planet.is-selected{transform:scale(1.18)}
  .project-node:hover{transform:none}
}

/* Performance pass ------------------------------------------------------ */
.ambient i{width:48vw;filter:blur(82px);will-change:transform}
.universe{transition:transform 1.05s var(--ease),opacity .5s}

/* Immersive home universe --------------------------------------------- */
.galaxy-art{overflow:hidden;background:radial-gradient(ellipse at 76% 18%,rgba(103,77,185,.085),transparent 44%),radial-gradient(ellipse at 82% 82%,rgba(35,137,159,.065),transparent 43%),radial-gradient(ellipse at 24% 78%,rgba(156,54,132,.045),transparent 42%),linear-gradient(115deg,rgba(91,55,153,.025),transparent 38%,rgba(40,112,130,.02))}
.galaxy-art:before{content:"";position:absolute;z-index:0;inset:-12%;background:radial-gradient(ellipse at 88% 12%,rgba(125,105,223,.16),transparent 24%),radial-gradient(ellipse at 72% 68%,rgba(50,176,188,.1),transparent 27%),radial-gradient(ellipse at 42% 40%,rgba(192,72,160,.085),transparent 32%),radial-gradient(ellipse at 14% 88%,rgba(94,63,176,.09),transparent 26%);filter:blur(42px);opacity:.9;animation:universe-clouds 26s ease-in-out infinite alternate}
.galaxy-art:after{content:"";position:absolute;z-index:2;left:-24%;top:25%;width:155%;height:48%;border-radius:50%;background:linear-gradient(180deg,transparent 5%,rgba(5,3,12,.08) 28%,rgba(5,3,12,.2) 48%,rgba(25,14,44,.1) 63%,transparent 95%);filter:blur(68px);opacity:.5;transform:rotate(-9deg);pointer-events:none}
.galaxy-disc{z-index:1;left:65%;top:52%;width:min(142vw,2050px);height:min(88vw,1240px);filter:blur(28px) saturate(1.2);opacity:.82;-webkit-mask-image:radial-gradient(ellipse at center,#000 0 8%,rgba(0,0,0,.82) 34%,rgba(0,0,0,.36) 62%,rgba(0,0,0,.1) 82%,transparent 100%);mask-image:radial-gradient(ellipse at center,#000 0 8%,rgba(0,0,0,.82) 34%,rgba(0,0,0,.36) 62%,rgba(0,0,0,.1) 82%,transparent 100%)}
.galaxy-disc:before{inset:1% -12%;filter:blur(32px);opacity:.72}
.galaxy-heart{z-index:3;left:65%;top:52%;width:min(46vw,680px);height:min(22vw,310px);aspect-ratio:auto;background:radial-gradient(ellipse at center,rgba(250,232,255,.22),rgba(210,155,239,.14) 17%,rgba(138,88,211,.075) 39%,transparent 72%);filter:blur(16px);box-shadow:0 0 130px rgba(142,91,212,.13);opacity:.88}
.galaxy-art svg{z-index:4;opacity:.16}
@keyframes universe-clouds{to{transform:translate(-2vw,2vh) scale(1.05);opacity:.76}}

body[data-state="travelling"] .universe{filter:none}
body[data-state="world"] .universe{filter:none}
body[data-state="world"] .galaxy-disc,
body[data-state="world"] .galaxy-heart,
body[data-state="world"] .galaxy-art:before,
body[data-state="world"] .galaxy-art path,
body[data-state="world"] .ambient i{animation-play-state:paused}
.orbit-content,.project-detail,.contact-form{-webkit-backdrop-filter:none;backdrop-filter:none}
.orbit-content{background:rgba(8,6,18,.88)}
.project-detail{background:rgba(12,8,24,.92)}
.contact-form{background:rgba(7,12,20,.9)}

@media(max-width:760px){
  .galaxy-art{opacity:.72}
  .galaxy-disc{left:82%;top:27%;width:220vw;height:145vw}
  .galaxy-heart{left:82%;top:27%;width:82vw;height:38vw}
  .galaxy-art:after{top:10%;height:40%;transform:rotate(-12deg)}
}

/* Destination symbols -------------------------------------------------- */

/* Parcours: panneau éditorial propre à chaque planète ------------------ */
.career-system{right:2%;top:9%;width:min(43vw,620px)}
.career-planet span{top:calc(100% + 13px);font-size:.66rem;font-weight:600;letter-spacing:.1em}
.planet-focus{right:2%;bottom:3%;width:210px}
.focused-planet{width:126px;height:126px}
.career-content{--career-accent:#9fb8ff;right:auto;left:5vw;bottom:calc(3% + 18px);width:min(760px,52vw);min-height:480px;padding:0;overflow:hidden;border-color:color-mix(in srgb,var(--career-accent) 34%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--career-accent) 10%,#080612),rgba(8,6,18,.96) 48%);box-shadow:0 28px 80px rgba(0,0,0,.28);transition:width .5s var(--ease-out),min-height .5s var(--ease-out),border-color .35s,background .35s}
.career-content[data-career-theme="experience"]{--career-accent:#ff9b84}.career-content[data-career-theme="diplomes"]{--career-accent:#63d8c8}.career-content[data-career-theme="competences"]{--career-accent:#c58cff}
.career-content:before{content:"";position:absolute;top:-130px;right:-90px;width:310px;height:310px;border:1px solid color-mix(in srgb,var(--career-accent) 22%,transparent);border-radius:50%;box-shadow:0 0 90px color-mix(in srgb,var(--career-accent) 9%,transparent);pointer-events:none}
.career-content:after{content:"";position:absolute;right:28px;bottom:25px;width:55px;height:1px;background:var(--career-accent);box-shadow:0 0 12px var(--career-accent);opacity:.7;pointer-events:none}
.career-content [data-tab-panel]:not([hidden]){animation:path-panel-in .42s var(--ease-out) both}
.path-panel{position:relative;z-index:1;min-height:480px;padding:30px 34px 32px}
.path-panel-head{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-bottom:18px;border-bottom:1px solid color-mix(in srgb,var(--career-accent) 28%,transparent)}
.path-panel-head .kicker{margin:0;color:var(--career-accent);font-size:.7rem;font-weight:700}.path-panel-head>span{color:color-mix(in srgb,var(--career-accent) 55%,#fff);font-size:.64rem;font-weight:600;letter-spacing:.14em;text-shadow:0 0 10px color-mix(in srgb,var(--career-accent) 28%,transparent)}
.career-content h3{margin:20px 0;font-size:2.3rem;line-height:1.02}.career-content h3 em{color:var(--career-accent);font-style:normal}
.career-content p{font-size:.82rem;line-height:1.75}.career-content a{margin-top:0}
.profile-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(260px,1.1fr);gap:38px;align-items:end;margin-top:12px}
.profile-copy>p{max-width:330px;margin:0;color:var(--muted)}
.path-cta{display:flex!important;align-items:center;justify-content:space-between;width:min(245px,100%);margin-top:24px!important;padding:12px 0 9px;border-top:1px solid var(--line);border-bottom:1px solid var(--career-accent)!important}.path-cta i{color:var(--career-accent);font-size:1rem;font-style:normal}
.profile-pillars{display:grid;gap:8px}.profile-pillars article{position:relative;display:grid;grid-template-columns:30px 1fr;gap:4px 13px;padding:14px 16px;border:1px solid var(--line);background:rgba(255,255,255,.025)}.profile-pillars small{grid-row:1/3;color:var(--career-accent);font-size:.62rem}.profile-pillars b{font-size:.82rem;line-height:1.35}.profile-pillars span{color:var(--muted);font-size:.72rem;line-height:1.5}
.career-timeline{position:relative;display:grid!important;grid-template-columns:1fr 1fr;gap:9px!important;margin:0!important;padding:0;list-style:none}.career-timeline:before{content:"";position:absolute;left:50%;top:8px;bottom:8px;width:1px;background:linear-gradient(transparent,var(--career-accent),transparent);opacity:.32}.career-content .career-timeline li{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:14px;padding:16px 17px;border:1px solid var(--line);background:rgba(255,255,255,.025)}.career-timeline time{color:var(--career-accent);font-size:.7rem;font-weight:600;letter-spacing:.08em}.career-timeline b{font-size:.8rem;line-height:1.35}.career-timeline p{margin:4px 0 0;color:var(--muted);font-size:.7rem;line-height:1.5}.career-timeline li>span{padding:5px 7px;border:1px solid color-mix(in srgb,var(--career-accent) 30%,transparent);color:var(--career-accent);font-size:.52rem;letter-spacing:.1em}
.diploma-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.diploma-grid article{position:relative;display:grid;grid-template-columns:58px 1fr;grid-template-rows:auto auto;min-height:102px;padding:18px;border:1px solid var(--line);background:linear-gradient(120deg,color-mix(in srgb,var(--career-accent) 7%,transparent),transparent)}.diploma-grid time{grid-row:1/3;align-self:center;color:var(--career-accent);font-size:1.2rem;font-weight:400}.diploma-grid i{position:absolute;top:10px;right:12px;color:color-mix(in srgb,var(--career-accent) 75%,#fff);font-size:.62rem;font-weight:700;font-style:normal;text-shadow:0 0 10px color-mix(in srgb,var(--career-accent) 55%,transparent)}.diploma-grid b{padding-right:22px;font-size:.8rem;line-height:1.4}.diploma-grid span{align-self:end;color:var(--muted);font-size:.7rem;line-height:1.45}
.skill-matrix{display:grid;grid-template-columns:1.15fr 1fr .9fr;gap:9px}.skill-matrix article{min-height:180px;padding:19px;border-top:1px solid var(--career-accent);background:linear-gradient(180deg,color-mix(in srgb,var(--career-accent) 9%,transparent),rgba(255,255,255,.018))}.skill-matrix article>small{display:block;margin-bottom:20px;color:var(--career-accent);font-size:.68rem;font-weight:700;letter-spacing:.13em}.career-content .skills{display:grid;gap:8px}.career-content .skills span{position:relative;padding:10px 10px 10px 24px;border:0;border-bottom:1px solid var(--line);border-radius:0;color:#e8e9f2;font-size:.74rem;line-height:1.4}.career-content .skills span:before{content:"";position:absolute;left:6px;top:50%;width:6px;height:6px;border-radius:50%;background:var(--career-accent);box-shadow:0 0 8px var(--career-accent);transform:translateY(-50%)}
.focused-planet-stage{display:grid;place-items:center;width:220px;height:220px;overflow:hidden;overflow:clip;contain:layout paint}
.focused-planet .moon{display:none}
.focused-planet[data-focused-planet="profil"] .moon--a{display:block}
.focused-planet[data-focused-planet="experience"] .moon--a,.focused-planet[data-focused-planet="experience"] .moon--b{display:block}
.focused-planet[data-focused-planet="diplomes"] .moon--b{display:block}
@keyframes path-panel-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* Easter egg Mokoko ---------------------------------------------------- */
.mokoko-easter-egg{position:fixed;z-index:160;inset:0;display:grid;place-items:center;visibility:hidden;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(42,92,70,.3),rgba(5,4,12,.94) 48%,rgba(5,4,12,.98));opacity:0;pointer-events:none;transition:visibility .5s,opacity .5s}
.mokoko-easter-egg.is-revealed{visibility:visible;opacity:1;pointer-events:auto}
.mokoko-easter-egg img{position:relative;z-index:2;width:min(48vh,390px);max-width:68vw;height:auto;opacity:0;filter:drop-shadow(0 0 8px rgba(157,255,186,.7)) drop-shadow(0 0 28px rgba(84,255,153,.28));transform:scale(.72) rotate(-4deg)}
.mokoko-easter-egg.is-revealed img{animation:mokoko-appear 1.8s .25s var(--ease-out) forwards,mokoko-float 4.5s 2.05s ease-in-out infinite}
.mokoko-aura,.mokoko-aura i{position:absolute;left:50%;top:47%;border:1px solid rgba(137,255,178,.2);border-radius:50%;transform:translate(-50%,-50%)}
.mokoko-aura{width:min(63vh,520px);aspect-ratio:1}.mokoko-aura i{inset:12%;transform:none}.mokoko-aura i:nth-child(2){inset:25%;border-style:dashed;animation:rotate 18s linear infinite}.mokoko-aura i:nth-child(3){inset:-10%;opacity:.35;animation:beacon 3.2s ease-out infinite}
.mokoko-message{position:absolute;z-index:3;left:50%;bottom:6%;display:grid;justify-items:center;width:min(520px,82vw);text-align:center;opacity:0;transform:translate(-50%,14px)}.is-revealed .mokoko-message{animation:mokoko-copy .7s 1.25s var(--ease-out) forwards}.mokoko-message small{color:#8fffb1;font-size:.52rem;letter-spacing:.2em}.mokoko-message b{margin:8px 0 5px;font-size:1rem;font-weight:500}.mokoko-message span{color:var(--muted);font-size:.56rem;letter-spacing:.08em;text-transform:uppercase}
.mokoko-easter-egg button{position:absolute;z-index:4;top:90px;right:38px;display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(143,255,177,.32);border-radius:50%;background:rgba(5,15,10,.6);color:#b8ffca;font-size:1.15rem;cursor:pointer;transition:.25s}.mokoko-easter-egg button:hover{background:#b8ffca;color:#07110b;transform:rotate(90deg)}
@keyframes mokoko-appear{0%{opacity:0;clip-path:circle(0 at 50% 55%);transform:scale(.72) rotate(-4deg);filter:blur(10px) drop-shadow(0 0 0 transparent)}55%{opacity:1;clip-path:circle(38% at 50% 55%)}100%{opacity:1;clip-path:circle(75% at 50% 55%);transform:scale(1) rotate(0);filter:blur(0) drop-shadow(0 0 8px rgba(157,255,186,.7)) drop-shadow(0 0 28px rgba(84,255,153,.28))}}
@keyframes mokoko-float{0%,100%{opacity:1;transform:translateY(0) rotate(0)}50%{opacity:.88;transform:translateY(-8px) rotate(1deg)}}
@keyframes mokoko-copy{to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:760px){.mokoko-easter-egg button{top:calc(18px + env(safe-area-inset-top));right:18px}.mokoko-message{bottom:8%}.mokoko-message b{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){.mokoko-easter-egg.is-revealed img,.mokoko-easter-egg.is-revealed .mokoko-message{opacity:1;clip-path:none;transform:none}}

/* Project filters ------------------------------------------------------ */
.project-filters{position:absolute;z-index:6;left:7vw;top:48%;display:grid;grid-template-columns:1fr 1fr;gap:24px;width:min(29vw,390px)}
.project-filters>div{display:flex;align-content:flex-start;flex-wrap:wrap;gap:7px}
.project-filters small{flex:0 0 100%;margin-bottom:5px;color:rgba(255,255,255,.42);font-size:.48rem;letter-spacing:.18em}
.project-filters button{padding:8px 11px;border:1px solid rgba(255,131,200,.17);border-radius:999px;background:rgba(16,9,27,.7);color:var(--muted);font-size:.54rem;cursor:pointer;transition:background .22s,color .22s,border-color .22s}
.project-filters button:hover,.project-filters button[aria-pressed="true"]{border-color:rgba(255,131,200,.62);background:rgba(255,131,200,.16);color:#fff}
.project-node{transition:transform .35s,background .35s,opacity .3s,filter .3s}
.project-node.is-filtered-out{opacity:.28;filter:saturate(.15);box-shadow:none;animation:none}


@media (min-width:761px) and (max-width:1100px){
  .career-system{right:0;top:14%;width:49vw}.career-planet span{font-size:.56rem}
  .career-content{left:4vw;width:55vw;min-height:350px}.path-panel{min-height:350px;padding:25px}.career-content h3{font-size:1.75rem}.profile-layout{grid-template-columns:1fr 1.15fr;gap:20px}.career-timeline{grid-template-columns:1fr}.career-timeline:before{display:none}.career-content .career-timeline li{padding:10px 12px}.skill-matrix article{padding:13px}.planet-focus{right:0;width:180px}
  .project-filters{left:5vw;top:50%;width:30vw;grid-template-columns:1fr}
}

@media (max-width:760px){
  .ambient i{width:92vw;filter:blur(68px)}
  .career-planet span{font-size:.56rem}.focused-planet-stage{width:210px;height:210px}.career-content{width:100%;min-height:0}.path-panel{min-height:0;padding:22px}.career-content h3{font-size:1.7rem}.career-content p{font-size:.7rem}.profile-layout{grid-template-columns:1fr;gap:22px}.profile-pillars{grid-template-columns:1fr}.career-timeline{grid-template-columns:1fr}.career-timeline:before{display:none}.career-content .career-timeline li{grid-template-columns:45px 1fr auto;padding:12px}.diploma-grid{grid-template-columns:1fr}.skill-matrix{grid-template-columns:1fr}.skill-matrix article{min-height:0}.career-content:after{display:none}
  .project-filters{position:relative;left:auto;top:auto;width:100%;grid-template-columns:1fr;gap:13px;margin:5px 0 18px}.project-filters>div{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.project-filters small{display:none}.project-filters button{flex:0 0 auto}
}

@media (orientation:landscape) and (min-width:761px) and (max-width:900px) and (max-height:520px){
  .career-content{bottom:2%;width:52vw;min-height:0;max-height:62vh;overflow:auto}.path-panel{min-height:0;padding:18px}.career-content h3{margin:12px 0;font-size:1.4rem}.profile-layout{grid-template-columns:1fr;gap:14px}.profile-pillars{display:none}.skill-matrix article{min-height:0;padding:10px}.skill-matrix article>small{margin-bottom:8px}
}

/* Laboratory black hole ------------------------------------------------ */
.world--lab{background:radial-gradient(circle at 50% 67%,rgba(115,58,158,.13),transparent 23%),radial-gradient(circle at 78% 45%,rgba(30,18,51,.32),transparent 38%)}
.singularity{z-index:2;left:48%;top:65%;width:min(34vw,560px);isolation:isolate;pointer-events:none}
.singularity:before{content:"";position:absolute;z-index:0;inset:8%;border-radius:50%;background:radial-gradient(ellipse at center,transparent 42%,rgba(225,178,230,.18) 44%,rgba(132,77,171,.13) 50%,transparent 59%);transform:rotate(-7deg) scaleY(.78)}
.singularity i,.singularity b{animation:none!important}
.singularity i{z-index:1;inset:27% -30%;border-radius:50%;background:linear-gradient(90deg,transparent 3%,rgba(87,48,119,.16) 13%,#804697 25%,#c86ea9 38%,#f5b6cc 46%,#ffe1b8 50%,#df8fbd 57%,#9b579e 72%,rgba(76,43,108,.18) 87%,transparent 97%);transform:rotate(-7deg) scaleY(.19);filter:blur(7px);opacity:.82}
.singularity b{z-index:4;inset:auto -22% 45%;height:7%;border-radius:50%;background:linear-gradient(90deg,transparent 2%,#704087 19%,#c86ead 37%,#ffe0b5 49%,#da83b5 62%,#854b91 81%,transparent 98%);box-shadow:0 0 13px rgba(224,134,187,.28);transform:rotate(-7deg);filter:none;opacity:.88}
.singularity span{z-index:3;inset:31%;background:radial-gradient(circle at 42% 36%,#09060e 0,#010103 52%,#000 75%);box-shadow:0 0 0 2px rgba(242,201,214,.34),0 -8px 24px rgba(226,151,205,.18),0 12px 30px rgba(111,60,149,.22),inset -22px -18px 36px #000}
.singularity span:before{content:"";position:absolute;inset:-8%;border:2px solid transparent;border-top-color:rgba(255,216,198,.55);border-bottom-color:rgba(171,94,186,.28);border-radius:50%;transform:rotate(-7deg)}
.singularity span:after{content:"";position:absolute;z-index:5;left:-74%;right:-74%;top:48%;height:8%;border-radius:50%;background:linear-gradient(90deg,transparent 2%,#714089 19%,#cb70ae 37%,#ffe2b8 49%,#db84b8 62%,#82498e 81%,transparent 98%);box-shadow:0 0 11px rgba(232,151,199,.32);transform:rotate(-7deg);opacity:.94}
.singularity.is-reacting:before{box-shadow:0 0 30px color-mix(in srgb,var(--active-signal) 28%,transparent),inset 0 0 18px color-mix(in srgb,var(--active-signal) 14%,transparent)}
.singularity.is-reacting span{box-shadow:0 0 0 2px color-mix(in srgb,var(--active-signal) 60%,#fff),0 0 34px color-mix(in srgb,var(--active-signal) 28%,transparent),inset -22px -18px 36px #000}

/* Matching static symbol on the galaxy map */
.system--lab .system-visual{border-radius:50%;background:radial-gradient(circle,#000 0 24%,#07040c 26% 31%,rgba(125,66,161,.22) 35%,transparent 58%);box-shadow:none;animation:none}
.system--lab .system-visual:before{display:block;inset:26% -23%;border:0;border-radius:50%;background:linear-gradient(90deg,transparent,#8b4c9e 22%,#e58fbd 43%,#ffe0b5 50%,#ce76ac 61%,#75428e 79%,transparent);transform:rotate(-7deg) scaleY(.17);opacity:.9}
.system--lab .system-visual:after{display:block;inset:25%;border:1px solid rgba(231,188,224,.38);border-radius:50%;transform:none;animation:none}
.system--lab .system-visual i{display:block;inset:5% -26%;border-radius:50%;background:radial-gradient(ellipse,transparent 42%,rgba(171,97,194,.28) 45%,transparent 57%);transform:rotate(-7deg) scaleY(.42);filter:blur(2px);opacity:.72}
.system--path:hover .system-visual,.system--path:focus-visible .system-visual,.system--lab:hover .system-visual,.system--lab:focus-visible .system-visual{box-shadow:none}

@media (min-width:761px) and (max-width:1400px){
  .singularity{left:43%;top:70%;width:min(36vw,480px)}
}

@media (max-width:760px){
  .singularity{position:relative;z-index:2;top:auto;left:50%;width:min(100vw,450px);margin:-5vw 0 -9vw;transform:translateX(-50%)}
}

/* Galaxy map readability ---------------------------------------------- */
.manifesto>p:not(.overline){max-width:430px;font-size:.88rem;line-height:1.8}
.explore span{font-size:.72rem}
.system:nth-child(1){--size:132px}
.system:nth-child(2){--size:132px}
.system:nth-child(3){--size:126px}
.system:nth-child(4){--size:90px}
.system:nth-child(5){--size:68px}
.system-copy{left:calc(100% + 38px);width:240px}
.system-copy:before{right:calc(100% + 8px);width:31px}
.system-copy small{font-size:.72rem;font-weight:700;letter-spacing:.15em}
.system-copy strong{margin:5px 0;font-size:1.12rem}
.system-copy em{font-size:.80rem;line-height:1.45}
.career-easter-code{position:absolute;z-index:4;left:50%;bottom:24px;color:color-mix(in srgb,#9fb8ff 58%,var(--muted));font-size:.5rem;font-weight:600;letter-spacing:.2em;opacity:.52;transform:translateX(-50%);white-space:nowrap}
@media(max-width:760px){.career-easter-code{position:relative;left:auto;bottom:auto;display:block;margin:18px 0 0;text-align:right;transform:none}}
.system--signal .system-copy{right:calc(100% + 35px);left:auto;text-align:right}
.system--signal .system-copy:before{right:auto;left:calc(100% + 8px);background:linear-gradient(90deg,var(--hue),transparent)}

@media (min-width:761px) and (max-width:1100px){
  .system-copy{width:190px}.system-copy small{font-size:.56rem}.system-copy strong{font-size:1rem}.system-copy em{display:none}
}

@media (max-width:760px){
  .manifesto>p:not(.overline){max-width:96%;font-size:.76rem;line-height:1.7}
  .system,.system:nth-child(n){height:100px;min-height:100px}
  .system-visual,.system--path .system-visual{width:76px;height:76px}
  .system-copy,.system--archive .system-copy,.system--signal .system-copy{right:auto;left:110px;width:calc(100% - 122px);text-align:left}
  .system-copy small{font-size:.53rem}.system-copy strong{font-size:.94rem}.system-copy em{display:block;font-size:.58rem}
  .system--signal .system-copy:before{display:none}
}

/* Project controls and detail readability ----------------------------- */
.project-filters{left:5.2vw;top:55%;bottom:auto;width:min(32vw,480px);padding:18px 20px;border:1px solid rgba(255,131,200,.16);background:rgba(10,6,18,.82);grid-template-columns:1fr 1fr;gap:22px}
.project-filters small{margin-bottom:8px;color:rgba(255,255,255,.62);font-size:.6rem;font-weight:700;letter-spacing:.17em}
.project-filters button{padding:10px 14px;border-color:rgba(255,131,200,.25);background:rgba(24,13,38,.82);font-size:.65rem}
.project-detail section{padding:21px}
.project-image{height:190px;margin:-21px -21px 22px}
.project-image img{object-position:var(--img-x,50%) var(--img-y,50%)}
.project-detail section>p:first-of-type{font-size:.63rem;font-weight:600}
.project-detail section>span{font-size:.73rem;line-height:1.6}
.project-detail section>p:last-of-type{font-size:.73rem;line-height:1.75}
.project-detail a{margin-top:17px;font-size:.72rem;font-weight:600}

@media (min-width:761px) and (max-width:1100px){
  .project-filters{left:4vw;top:52%;width:32vw;padding:15px;grid-template-columns:1fr;gap:13px}
  .project-filters button{padding:8px 11px;font-size:.58rem}
  .project-detail section>span,.project-detail section>p:last-of-type{font-size:.68rem}
}

@media (max-width:760px){
  .project-filters{position:relative;left:auto;top:auto;width:100%;margin:5px 0 18px;padding:15px;grid-template-columns:1fr;gap:12px}
  .project-filters>div{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}
  .project-filters small{display:none}.project-filters button{flex:0 0 auto;font-size:.6rem}
  .project-detail section{padding:18px}.project-image{height:min(58vw,270px);margin:-18px -18px 20px}
  .project-detail section>span,.project-detail section>p:last-of-type{font-size:.7rem}
}

/* Filtered project constellations -------------------------------------- */
.project-map:before,.project-map:after{content:none!important;display:none!important;background:none!important}
.project-constellation{position:absolute;z-index:1;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.project-constellation line{stroke:var(--constellation-color,#ff83c8);stroke-width:1.2;stroke-dasharray:1;stroke-dashoffset:1;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px var(--constellation-color,#ff83c8));animation:constellation-draw .65s var(--ease-out) forwards}
.project-node{z-index:2}
@keyframes constellation-draw{to{stroke-dashoffset:0}}

@media (max-width:760px){
  .project-constellation{display:none}
}

/* Lightweight project preview modal ----------------------------------- */
.world--work.is-modal-open{overflow:hidden}
.project-modal[hidden]{display:none}
.project-modal{position:fixed;z-index:220;inset:0;display:grid;place-items:center;padding:4vh 4vw;opacity:0;visibility:hidden;transition:opacity .22s,visibility .22s}
.project-modal.is-open{opacity:1;visibility:visible}
.project-modal-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(3,2,8,.9);cursor:zoom-out}
.project-modal-window{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);width:min(1180px,92vw);height:min(82vh,760px);overflow:hidden;border:1px solid rgba(220,211,255,.18);background:#0b0715;box-shadow:0 28px 90px rgba(0,0,0,.55);transform:translateY(18px) scale(.985);transition:transform .28s var(--ease-out)}
.project-modal.is-open .project-modal-window{transform:none}
.project-modal-close{position:absolute;z-index:4;top:16px;right:16px;display:flex;align-items:center;gap:10px;padding:7px 8px 7px 13px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(7,4,13,.82);color:#fff;cursor:pointer}
.project-modal-close span{font-size:.55rem;letter-spacing:.12em;text-transform:uppercase}.project-modal-close i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fff;color:#090510;font-size:1rem;font-style:normal}
.project-modal-image{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;overflow:hidden;padding:24px;background:#050309}
.project-modal-image img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain}
.project-modal-copy{align-self:stretch;display:flex;flex-direction:column;justify-content:center;overflow:auto;padding:clamp(34px,5vw,72px) clamp(28px,4vw,58px);border-left:1px solid rgba(220,211,255,.12);background:linear-gradient(145deg,rgba(29,17,47,.82),rgba(10,6,18,.96))}
.project-modal-copy small{color:var(--pink);font-size:.63rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.project-modal-copy h3{margin:13px 0 22px;font-size:clamp(1.8rem,3vw,3.2rem);font-weight:400;line-height:1.05}
.project-modal-copy p{margin:0;color:#bdb4ca;font-size:.78rem;line-height:1.8}
.project-modal-copy a{align-self:flex-start;margin-top:30px;padding-bottom:7px;border-bottom:1px solid #fff;font-size:.72rem;font-weight:600}

@media (max-width:760px){
  .project-modal{padding:12px}
  .project-modal-window{grid-template-columns:1fr;grid-template-rows:minmax(280px,52vh) auto;width:100%;height:min(92vh,820px);overflow:auto}
  .project-modal-image{padding:14px}.project-modal-copy{padding:27px 22px;border-top:1px solid rgba(220,211,255,.12);border-left:0}
  .project-modal-copy h3{font-size:1.8rem}.project-modal-copy p{font-size:.72rem}.project-modal-close span{display:none}
}

/* Responsive layout consolidation ------------------------------------ */
/* Les libellés restent disponibles au survol/focus sans masquer les étoiles. */
.project-node span{left:36px;top:50%;width:max-content;max-width:145px;padding:6px 9px;border:1px solid rgba(205,172,255,.2);background:rgba(7,4,15,.94);box-shadow:0 8px 24px rgba(0,0,0,.3);color:#e8e0f2;line-height:1.35;transform:translateY(-50%) translateX(-4px);opacity:0;pointer-events:none;transition:opacity .2s,transform .25s var(--ease-out)}
.project-node.is-active span{opacity:0}
.project-node:hover span,.project-node:focus-visible span{opacity:1;transform:translateY(-50%) translateX(0)}
.project-node{width:30px;height:30px;border:0;background:none;box-shadow:none;transform:translate(-50%,-50%);isolation:isolate}
.project-node:nth-of-type(3n),.project-node:nth-of-type(4n){width:30px;height:30px}
.project-node:before{content:"";position:absolute;z-index:2;left:50%;top:50%;width:7px;height:7px;border:1px solid rgba(244,235,255,.92);background:#ad7de0;box-shadow:0 0 5px #fff,0 0 13px rgba(190,124,255,.7);transform:translate(-50%,-50%) rotate(45deg);transition:background .25s,box-shadow .25s,transform .3s var(--ease-out)}
.project-node:after{content:"";position:absolute;z-index:0;inset:5px;border-radius:50%;background:linear-gradient(90deg,transparent 47%,rgba(213,190,255,.32) 48% 52%,transparent 53%),linear-gradient(0deg,transparent 47%,rgba(213,190,255,.32) 48% 52%,transparent 53%);opacity:.55;transition:opacity .25s,transform .45s var(--ease-out)}
.project-node i{z-index:1;inset:2px;border:1px dashed rgba(190,124,255,.42);box-shadow:inset 0 0 9px rgba(190,124,255,.09),0 0 10px rgba(128,77,181,.12);transition:border-color .25s,transform .45s var(--ease-out),box-shadow .25s}
.project-node:hover,.project-node:focus-visible{background:none;box-shadow:none;transform:translate(-50%,-50%) scale(1.12)}
.project-node:hover i,.project-node:focus-visible i{border-color:rgba(255,180,225,.78);box-shadow:0 0 15px rgba(255,131,200,.28);transform:rotate(45deg)}
.project-node:hover:before,.project-node:focus-visible:before,.project-node.is-active:before{background:#ff83c8;box-shadow:0 0 7px #fff,0 0 18px rgba(255,131,200,.9);transform:translate(-50%,-50%) rotate(135deg) scale(1.14)}
.project-node.is-active{background:none;box-shadow:none;transform:translate(-50%,-50%) scale(1.08);animation:project-node-pulse 2.2s ease-in-out infinite}
.project-node.is-active i{border-style:solid;border-color:rgba(255,131,200,.72);box-shadow:0 0 18px rgba(255,131,200,.22)}
.project-node:nth-of-type(6) span,.project-node:nth-of-type(7) span,.project-node:nth-of-type(13) span,.project-node:nth-of-type(17) span{right:36px;left:auto;text-align:right;transform:translateY(-50%) translateX(4px)}
.project-node:nth-of-type(6):hover span,.project-node:nth-of-type(6):focus-visible span,.project-node:nth-of-type(7):hover span,.project-node:nth-of-type(7):focus-visible span,.project-node:nth-of-type(13):hover span,.project-node:nth-of-type(13):focus-visible span,.project-node:nth-of-type(17):hover span,.project-node:nth-of-type(17):focus-visible span{transform:translateY(-50%) translateX(0)}
@keyframes project-node-pulse{50%{filter:brightness(1.3);scale:1.08}}

/* Ordinateurs portables et écrans desktop compacts. */
@media (min-width:1101px) and (max-width:1500px),
       (min-width:1101px) and (max-height:850px){
  .manifesto{left:6%;width:min(390px,31vw)}
  .manifesto h1{font-size:clamp(3.2rem,5vw,4.8rem)}
  .world{padding:112px 5.5vw 64px}
  .world-head{max-width:900px}.world-head h2{font-size:clamp(3.25rem,5vw,4.7rem)}
  .project-space{inset:17% 4.5% 7% 43%;grid-template-columns:minmax(0,1.45fr) minmax(230px,.75fr);gap:20px}
  .project-filters{left:5.5vw;top:53%;width:min(33vw,440px);padding:15px 17px;gap:15px}
  .project-filters button{padding:8px 11px;font-size:.57rem}
  .project-image{height:160px}.project-detail section{padding:18px}.project-detail h3{font-size:1.55rem}
  .project-detail section>span,.project-detail section>p:last-of-type{font-size:.66rem}
  .singularity{left:42%;top:69%;width:min(34vw,450px)}
}

/* Tablettes verticales et horizontales : les sections reviennent dans le flux. */
@media (min-width:761px) and (max-width:1100px){
  body{overflow:hidden}
  body[data-state="world"] .universe{visibility:hidden}
  .back{top:78px;left:4vw}.world{height:100%;padding:138px 4vw 60px;overflow-x:hidden;overflow-y:auto}
  .world-head{max-width:100%;margin-bottom:24px}.world-head h2{max-width:620px;margin:11px 0 18px;font-size:clamp(3rem,7vw,4.4rem);line-height:.92}
  .world-head>p{font-size:.52rem}

  .world--work .world-head{margin-bottom:18px}
  .project-filters{position:relative;left:auto;top:auto;width:100%;margin:0 0 18px;padding:14px 16px;grid-template-columns:1fr 1fr;gap:18px}
  .project-filters>div{gap:6px}.project-filters small{font-size:.52rem}.project-filters button{padding:8px 10px;font-size:.55rem}
  .project-space{position:relative;inset:auto;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(235px,.75fr);gap:16px;width:100%;min-height:520px}
  .project-map{height:520px;min-width:0}.project-detail{align-self:start;min-width:0}.project-image{height:155px}
  .project-detail section{padding:17px}.project-detail h3{font-size:1.35rem}.project-detail section>p:last-of-type{font-size:.65rem}
  .project-node span{display:block;max-width:120px;font-size:.48rem}

  .world--lab .world-head{margin-bottom:0}
  .world--lab{min-height:100%;height:100%}
  .world--lab .singularity{position:relative;left:50%;top:auto;width:min(58vw,440px);margin:-48px 0 10px;transform:translateX(-50%)}

  .career-system{position:relative;right:auto;top:auto;width:min(78vw,590px);margin:-55px auto -30px}
  .planet-focus{position:relative;right:auto;bottom:auto;width:100%;margin:-80px auto 0}
  .career-content{position:relative;right:auto;left:auto;bottom:auto;width:min(100%,760px);min-height:0;margin:22px auto 0}
  .path-panel{min-height:0}
  .beacon{position:relative;left:auto;bottom:auto;width:230px;height:230px;margin:-35px auto -42px}
  .contact-form{position:relative;top:auto;right:auto;width:min(100%,720px);margin:0 auto}
  .archive-copy{position:relative;top:auto;right:auto;width:100%;margin-top:12px;padding-bottom:30px}
}

/* Portable : la planète d'aperçu reste décorative et ne masque pas Expériences. */
@media (min-width:761px) and (max-width:1100px){
  .world--path .focused-planet{width:100px;height:100px}
  .world--path .focused-planet-stage{pointer-events:none}
}

@media (orientation:landscape) and (min-width:761px) and (max-width:1100px){
  .world{padding-top:118px}.back{top:68px}
  .world-head h2{font-size:clamp(2.8rem,6vw,3.8rem)}
  .world--work .world-head{margin-bottom:12px}.project-filters{padding:11px 14px;margin-bottom:14px}
  .project-space{min-height:470px}.project-map{height:470px}.project-image{height:135px}
  .world--lab .singularity{width:min(48vw,390px);margin:-55px 0 8px}
}

/* Téléphones verticaux. */
@media (max-width:760px){
  html,body{max-width:100%;overflow-x:hidden!important}
  body[data-state="world"] .universe{visibility:hidden}
  .world{overflow-x:hidden;padding-top:calc(116px + env(safe-area-inset-top))}
  .manifesto h1{font-size:clamp(2.65rem,11.5vw,3.5rem)}
  .world-head h2{font-size:clamp(2.35rem,11vw,3.25rem);line-height:.93}
  .world-head>p{font-size:.47rem;letter-spacing:.16em}
  .project-filters{overflow:hidden;padding:13px;margin-bottom:14px}
  .project-filters>div{flex-wrap:wrap;overflow:visible;padding-bottom:0}
  .project-filters button{padding:8px 10px;font-size:.56rem}
  .project-node,.project-node:nth-of-type(3n),.project-node:nth-of-type(4n){width:100%;height:auto;min-height:46px;background:rgba(255,131,200,.035);box-shadow:none;transform:none;animation:none}
  .project-node:hover,.project-node:focus-visible,.project-node.is-active{background:rgba(255,131,200,.12);box-shadow:none;transform:none}
  .project-node:before,.project-node:after{display:none}.project-node i{inset:auto}.project-node span{max-width:none;padding:0;border:0;background:none;box-shadow:none;transform:none}
  .world--lab .singularity{width:min(86vw,390px);margin:-18px 0 8px}
}

/* Correctifs téléphones réels : aucun élément ne peut élargir le viewport. */
@media (max-width:760px){
  html{width:100%;max-width:100%;overflow-x:clip!important}
  body{width:100%;max-width:100%;overflow-x:clip!important;overscroll-behavior-x:none}
  .atlas,.universe,.destination,.world{width:100%;max-width:100vw}
  .atlas{overflow-x:clip}
  .universe{overflow-x:clip;padding-right:var(--mobile-pad);padding-left:var(--mobile-pad)}
  .destination{overflow:hidden}
  .world{left:0;right:0;padding:calc(96px + env(safe-area-inset-top)) var(--mobile-pad) calc(48px + env(safe-area-inset-bottom));overflow-x:clip}

  .brand{right:auto;max-width:62vw;gap:10px}
  .brand a{min-width:0}.brand b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .depth{display:none}
  .back{top:calc(58px + env(safe-area-inset-top))}

  .manifesto,.world-head,.project-filters,.project-space,.project-map,.project-detail,
  .career-content,.contact-form,.archive-copy{min-width:0;max-width:100%}
  .manifesto h1{font-size:clamp(2.45rem,11vw,3.2rem);overflow-wrap:anywhere}
  .world-head{padding-top:8px}.world-head h2{font-size:clamp(2.25rem,10.5vw,3rem);overflow-wrap:anywhere}

  .project-filters{width:100%;overflow:hidden}
  .project-filters>div{display:flex;flex-wrap:wrap!important;overflow:visible!important;max-width:100%;gap:7px}
  .project-filters button{flex:0 1 auto;max-width:100%;white-space:normal}
  .project-map{width:100%;grid-template-columns:minmax(0,1fr)}
  .project-node,.project-node:nth-of-type(3n),.project-node:nth-of-type(4n){position:relative;left:auto;top:auto;max-width:100%}

  .career-system{max-width:100%;margin-right:auto;margin-left:auto}
  .world--lab .singularity{max-width:90vw}
  .world--lab .singularity i{inset:15% 0}
  .world--lab .singularity b{inset:4% 0}
  .contact-form{right:auto}
  .contact-form input,.contact-form textarea{min-width:0;max-width:100%}
}

/* Composition mobile compacte, pensée pour les navigateurs Android. */
@media (max-width:760px){
  html,body,.atlas{overflow-x:hidden!important}
  body[data-state="galaxy"] .universe,
  body[data-state="returning"] .universe{transform:none!important;translate:none!important}
  .universe{left:0!important;right:0!important;margin-inline:0!important}
  .manifesto{left:0!important;right:auto!important;width:100%!important;max-width:100%!important;margin-inline:0!important;transform:none!important;translate:none!important}
  .manifesto h1{max-width:100%;margin-right:0;font-size:clamp(2.2rem,10vw,2.85rem);line-height:.98;letter-spacing:-.045em}
  .manifesto>p:not(.overline){max-width:100%;font-size:.7rem}

  .world{padding-top:calc(88px + env(safe-area-inset-top))}
  .world-head{margin-bottom:18px;padding-top:4px}
  .world-head h2{max-width:100%;margin:10px 0 16px;font-size:clamp(1.95rem,9vw,2.55rem);line-height:.98;letter-spacing:-.045em}

  .world--path .career-system{width:min(68vw,265px);margin:4px auto 12px}
  .world--path .career-sun{width:44px;height:44px}
  .world--path .career-planet--profile{width:28px;height:28px}
  .world--path .career-planet--experience{width:36px;height:36px}
  .world--path .career-planet--diploma{width:32px;height:32px}
  .world--path .career-planet--skills{width:40px;height:40px}
  .world--path .career-planet span{top:calc(100% + 6px);font-size:.38rem;letter-spacing:.045em}
  .world--path .career-planet:hover,.world--path .career-planet:focus-visible,.world--path .career-planet.is-selected{transform:scale(1.1)}
  .world--path .planet-focus{display:none}
  .world--path .career-content{margin-top:14px}

  .world--work .world-head{margin-bottom:12px}
  .world--work .project-filters{display:grid;grid-template-columns:1fr;margin:0 0 14px;padding:11px;gap:8px}
  .world--work .project-filters>div{gap:5px}
  .world--work .project-filters button{padding:6px 9px;font-size:.52rem}
  .world--work .project-space{display:flex;flex-direction:column;margin-top:0}
  .world--work .project-detail{order:1;margin:0 0 12px}
  .world--work .project-map{order:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .world--work .project-node,.world--work .project-node:nth-of-type(3n),.world--work .project-node:nth-of-type(4n){grid-template-columns:10px minmax(0,1fr);min-height:52px;padding:9px 10px;gap:9px}
  .world--work .project-node span{overflow:hidden;color:#d6cedd;font-size:.64rem;line-height:1.3;text-overflow:ellipsis;white-space:normal}
  .world--work .project-image{height:min(48vw,210px)}
  .world--work .project-detail h3{font-size:1.3rem}
}

@media (max-width:360px){
  .world--work .project-map{grid-template-columns:1fr}
  .world--work .project-node,.world--work .project-node:nth-of-type(3n),.world--work .project-node:nth-of-type(4n){min-height:46px}
}

/* Explorateur d'expériences du laboratoire ---------------------------- */
.world--lab{--lab-accent:#be7cff}
.world--lab .world-head{max-width:35vw;pointer-events:none}
.world--lab .singularity{left:23%;top:67%;width:min(38vw,590px);transition:filter .45s,opacity .45s}
.world--lab .singularity.is-reacting:before{animation:lab-hole-react 3.8s ease-in-out infinite}

.lab-explorer{position:absolute;z-index:8;top:10%;right:4%;bottom:5%;display:grid;grid-template-rows:auto auto minmax(0,1fr);width:min(60vw,980px);min-width:0;color:#f7f2ff}
.lab-explorer-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 2px 12px}
.lab-explorer-head>p{display:flex;align-items:baseline;gap:13px;margin:0}
.lab-explorer-head small{color:#d7c5ff;font-size:.62rem;font-weight:700;letter-spacing:.18em}
.lab-explorer-head>p span{color:rgba(255,255,255,.4);font-size:.5rem;letter-spacing:.14em;text-transform:uppercase}
.lab-active-state{display:flex;align-items:center;gap:8px;color:color-mix(in srgb,var(--lab-accent) 76%,#fff);font-size:.5rem;letter-spacing:.15em;text-transform:uppercase}
.lab-active-state i{width:5px;height:5px;border-radius:50%;background:var(--lab-accent);box-shadow:0 0 10px var(--lab-accent);animation:lab-status-pulse 1.8s ease-in-out infinite}

.lab-navigation{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid rgba(215,197,255,.2);border-bottom:1px solid rgba(215,197,255,.2)}
.lab-navigation button{--experience-color:#be7cff;position:relative;display:grid;grid-template-rows:42px auto;place-items:center;min-width:0;min-height:88px;padding:10px 5px 9px;border-right:1px solid rgba(215,197,255,.1);background:transparent;color:rgba(230,222,240,.57);cursor:pointer;transition:color .25s,background .25s,transform .3s var(--ease-out)}
.lab-navigation button:last-child{border-right:0}
.lab-navigation button:before{content:"";position:absolute;right:22%;bottom:-1px;left:22%;height:1px;background:var(--experience-color);box-shadow:0 0 10px var(--experience-color);transform:scaleX(0);transition:transform .3s var(--ease-out)}
.lab-navigation button:after{content:"";position:absolute;inset:10px 22% 33px;border:1px solid var(--experience-color);border-radius:50%;opacity:0;transform:scale(.75);transition:opacity .25s,transform .35s var(--ease-out)}
.lab-navigation button:hover,.lab-navigation button:focus-visible,.lab-navigation button.is-active{background:linear-gradient(180deg,color-mix(in srgb,var(--experience-color) 8%,transparent),transparent 82%);color:#fff}
.lab-navigation button:hover .lab-nav-icon,.lab-navigation button:focus-visible .lab-nav-icon{transform:scale(1.07);filter:drop-shadow(0 0 7px var(--experience-color))}
.lab-navigation button.is-active:before{transform:scaleX(1)}
.lab-navigation button.is-active:after{opacity:.24;transform:scale(1)}
.lab-navigation button:focus-visible{z-index:2;outline:1px solid color-mix(in srgb,var(--experience-color) 68%,#fff);outline-offset:-3px}
.lab-navigation b{max-width:100%;overflow:hidden;font-size:.57rem;font-weight:500;line-height:1.2;text-align:center;text-overflow:ellipsis;white-space:nowrap}
.lab-navigation small{position:absolute;top:7px;right:7px;color:var(--experience-color);font-size:.36rem;letter-spacing:.12em;opacity:0;transition:opacity .25s}
.lab-navigation button.is-active small{opacity:.85}
.lab-nav-icon{position:relative;z-index:1;display:block;width:34px;height:34px;color:var(--experience-color);transition:transform .3s var(--ease-out),filter .3s}
.lab-nav-icon svg{display:block;width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}

.lab-active{display:grid;grid-template-columns:minmax(250px,.82fr) minmax(330px,1.18fr);gap:clamp(24px,3vw,48px);min-height:0;padding-top:clamp(22px,3.2vh,38px);transition:opacity .17s,transform .17s,filter .17s}
.lab-active.is-switching{opacity:0;filter:blur(4px);transform:translateY(7px)}
.lab-active.is-arriving{animation:lab-panel-in .46s var(--ease-out)}
.lab-copy{align-self:center;min-width:0;padding:10px 0 18px}
.lab-project-meta{margin:0;color:color-mix(in srgb,var(--lab-accent) 80%,#fff);font-size:.59rem;font-weight:700;letter-spacing:.16em}
.lab-project-meta span{color:#fff}
.lab-copy h3{margin:15px 0 18px;font-size:clamp(2rem,3.5vw,4rem);font-weight:400;line-height:.93;letter-spacing:-.035em}
.lab-project-description{max-width:470px;margin:0;color:#bcb4c7;font-size:clamp(.7rem,.8vw,.84rem);line-height:1.78}
.lab-project-tags{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:20px 0 0;color:rgba(255,255,255,.54);font-size:.5rem;font-weight:600;letter-spacing:.12em}
.lab-project-tags i{color:var(--lab-accent);font-style:normal}
.lab-copy>a{display:inline-flex;align-items:center;gap:18px;margin-top:27px;padding:11px 0 8px;border-bottom:1px solid color-mix(in srgb,var(--lab-accent) 66%,#fff);color:#fff;font-size:.59rem;letter-spacing:.11em;text-transform:uppercase;transition:color .25s,gap .3s,border-color .25s}
.lab-copy>a i{color:var(--lab-accent);font-size:.9rem;font-style:normal}
.lab-copy>a:hover,.lab-copy>a:focus-visible{gap:24px;color:color-mix(in srgb,var(--lab-accent) 70%,#fff);outline:0}

.lab-visual-shell{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;padding-left:clamp(18px,2.5vw,36px);border-left:1px solid rgba(215,197,255,.17)}
.lab-visual-shell:before,.lab-visual-shell:after{content:"";position:absolute;left:-1px;width:8px;height:1px;background:var(--lab-accent)}
.lab-visual-shell:before{top:0}.lab-visual-shell:after{bottom:0}
.lab-visual-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding-bottom:11px;color:rgba(255,255,255,.34);font-size:.46rem;letter-spacing:.15em}
.lab-visual-label small{color:color-mix(in srgb,var(--lab-accent) 64%,#fff);font-size:.45rem;font-weight:400;letter-spacing:.08em;text-align:right}
.lab-visual{position:relative;min-width:0;min-height:310px;overflow:hidden;background:radial-gradient(circle at 52% 48%,color-mix(in srgb,var(--lab-accent) 8%,transparent),transparent 58%);isolation:isolate}
.lab-visual:before,.lab-visual:after{content:"";position:absolute;z-index:-1;width:34px;height:34px;pointer-events:none}
.lab-visual:before{top:0;left:0;border-top:1px solid rgba(255,255,255,.15);border-left:1px solid rgba(255,255,255,.15)}
.lab-visual:after{right:0;bottom:0;border-right:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15)}
.lab-visual button{font:inherit;color:inherit}

/* Archive */
.mini-archive{position:absolute;inset:0;overflow:hidden}
.mini-archive:before{content:"";position:absolute;inset:7%;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--lab-accent) 9%,transparent),transparent 62%);filter:blur(8px)}
.mini-archive button{position:absolute;z-index:2;top:var(--y,50%);left:var(--x,50%);display:grid;place-items:center;align-content:center;width:var(--size,78px);height:var(--size,78px);padding:8px;border:1px solid color-mix(in srgb,var(--lab-accent) 58%,#fff);border-radius:50%;background:radial-gradient(circle at 35% 27%,color-mix(in srgb,var(--lab-accent) 38%,#fff),color-mix(in srgb,var(--lab-accent) 24%,#17101f) 38%,color-mix(in srgb,var(--lab-accent) 8%,#09050e) 76%);box-shadow:inset -8px -10px 16px rgba(0,0,0,.48),inset 5px 5px 12px rgba(255,255,255,.08),0 0 18px color-mix(in srgb,var(--lab-accent) 18%,transparent);text-align:center;cursor:pointer;opacity:0;transform:translate(-50%,-50%) scale(.55);transition:opacity .42s,transform .48s var(--ease-out),border-color .25s,box-shadow .25s;animation:archive-bubble-drift 4.6s calc(var(--phase,0s) + var(--delay,0s)) ease-in-out infinite alternate}
.mini-archive button:after{content:"";position:absolute;inset:-5px;border:1px solid color-mix(in srgb,var(--lab-accent) 15%,transparent);border-radius:50%;opacity:.5}
.mini-archive button b{max-width:100%;font-size:clamp(.42rem,.65vw,.61rem);font-weight:500;line-height:1.2}.mini-archive button small{margin-top:4px;color:color-mix(in srgb,var(--lab-accent) 72%,#fff);font-size:.3rem;letter-spacing:.11em}
.mini-archive button.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}
.mini-archive button.is-leaving{opacity:0;transform:translate(-50%,-50%) scale(.35);animation-play-state:paused}
.mini-archive button:hover,.mini-archive button:focus-visible{z-index:8;border-color:#fff;box-shadow:inset -8px -10px 16px rgba(0,0,0,.42),0 0 27px color-mix(in srgb,var(--lab-accent) 48%,transparent);outline:0;transform:translate(-50%,-50%) scale(1.13);animation-play-state:paused}
.mini-archive button.is-popping{z-index:9;pointer-events:none;animation:archive-bubble-pop .52s cubic-bezier(.3,.8,.3,1) forwards}
.mini-archive button.is-popping:after{animation:archive-bubble-ring .52s ease-out forwards}
.mini-archive>p{position:absolute;right:4%;bottom:5%;margin:0;color:rgba(255,255,255,.3);font-size:.39rem;letter-spacing:.14em}.mini-archive>p span{color:var(--lab-accent);font-weight:700}

/* Booster */
.mini-booster{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;cursor:pointer;perspective:900px}
.booster-pack{position:absolute;z-index:5;top:50%;left:50%;display:grid;place-items:center;width:180px;height:255px;border:1px solid color-mix(in srgb,var(--lab-accent) 70%,#fff);background:linear-gradient(145deg,#221020,#09060f 52%,#32142d);clip-path:polygon(7% 0,93% 0,100% 8%,96% 100%,4% 100%,0 8%);box-shadow:0 18px 55px rgba(0,0,0,.45),0 0 32px color-mix(in srgb,var(--lab-accent) 18%,transparent);transform:translate(-50%,-48%) rotate(-4deg);transition:opacity .32s,transform .48s var(--ease-out)}
.booster-pack:before,.booster-pack:after{content:"";position:absolute;right:8px;left:8px;height:12px;border-top:1px dashed color-mix(in srgb,var(--lab-accent) 55%,transparent);border-bottom:1px solid rgba(255,255,255,.08)}
.booster-pack:before{top:10px}.booster-pack:after{bottom:10px}
.booster-pack i{position:absolute;width:82px;height:82px;border:1px solid var(--lab-accent);transform:rotate(45deg);opacity:.38}
.booster-pack b{z-index:1;color:#fff;font-size:1rem;font-weight:500;line-height:1.45;letter-spacing:.12em;text-align:center}.booster-pack em{position:absolute;bottom:36px;color:var(--lab-accent);font-size:.59rem;font-style:normal;letter-spacing:.18em}
.booster-card{--rarity-color:#a9b0ba;position:absolute;z-index:3;top:50%;left:50%;display:grid;place-items:center;align-content:center;width:145px;height:205px;padding:42px 14px 18px;border:1px solid color-mix(in srgb,var(--rarity-color) 62%,#fff);background:linear-gradient(155deg,color-mix(in srgb,var(--rarity-color) 22%,#171020),#08050e 72%);box-shadow:0 14px 35px rgba(0,0,0,.45),0 0 22px color-mix(in srgb,var(--rarity-color) 18%,transparent);transform:translate(-50%,-48%) scale(.76);transition:transform .62s var(--ease-out) var(--reveal-delay,0ms),opacity .35s var(--reveal-delay,0ms);opacity:0}
.booster-card:before{content:"";position:absolute;inset:8px;border:1px solid color-mix(in srgb,var(--rarity-color) 38%,transparent)}
.booster-card:after{content:"";position:absolute;right:10px;bottom:9px;left:10px;height:2px;background:linear-gradient(90deg,transparent,var(--rarity-color),transparent);box-shadow:0 0 9px var(--rarity-color)}
.booster-card small{position:absolute;top:17px;right:10px;left:10px;color:var(--rarity-color);font-size:.54rem;letter-spacing:.09em;text-align:center}.booster-card b{z-index:1;max-width:118px;margin-top:12px;font-size:.8rem;font-weight:600;line-height:1.25;letter-spacing:.07em;text-align:center;text-transform:uppercase}.booster-card i{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--rarity-color);border-radius:50%;color:var(--rarity-color);box-shadow:0 0 18px color-mix(in srgb,var(--rarity-color) 35%,transparent);font-size:.72rem;font-style:normal;letter-spacing:.06em}
.booster-card[data-rarity="legendary"]{background:linear-gradient(145deg,color-mix(in srgb,var(--rarity-color) 30%,#25190b),#08050e 74%);box-shadow:0 14px 35px rgba(0,0,0,.45),0 0 30px color-mix(in srgb,var(--rarity-color) 34%,transparent)}
.booster-action{position:absolute;z-index:9;right:0;bottom:5%;left:0;color:rgba(255,255,255,.68);font-size:.62rem;letter-spacing:.16em;text-align:center;text-shadow:0 2px 10px #05030a}
.booster-collection{position:absolute;z-index:8;top:5%;left:4%;padding:7px 10px;border-left:1px solid var(--lab-accent);color:rgba(255,255,255,.76);background:rgba(7,4,11,.82);font-size:.55rem;letter-spacing:.1em}
.booster-complete-signal{position:absolute;z-index:12;top:50%;left:50%;display:grid;gap:6px;width:min(84%,360px);padding:18px;border:1px solid #ffc857;background:rgba(8,5,10,.96);box-shadow:0 0 42px rgba(255,200,87,.24);opacity:0;pointer-events:none;transform:translate(-50%,-45%) scale(.82)}
.booster-complete-signal b{color:#ffc857;font-size:.78rem;letter-spacing:.16em}.booster-complete-signal small{color:rgba(255,255,255,.7);font-size:.42rem;letter-spacing:.12em;line-height:1.5}
.mini-booster.is-unlocking .booster-complete-signal{animation:booster-unlock 3.2s var(--ease-out) both}
.mini-booster.is-complete .booster-pack{border-color:#ffc857;box-shadow:0 18px 55px rgba(0,0,0,.45),0 0 30px rgba(255,200,87,.22)}
.mini-booster.is-complete .booster-pack i,.mini-booster.is-complete .booster-pack em{border-color:#ffc857;color:#ffc857}
.mini-booster:hover .booster-pack,.mini-booster:focus-visible .booster-pack{transform:translate(-50%,-51%) rotate(-2deg) scale(1.025)}
.mini-booster:focus-visible{outline:1px solid color-mix(in srgb,var(--lab-accent) 55%,transparent);outline-offset:-5px}
.mini-booster.is-open .booster-pack{opacity:.13;transform:translate(-50%,32%) rotate(-9deg) scale(.6)}
.mini-booster.is-open .booster-card{opacity:1}.mini-booster.is-open .booster-card--one{transform:translate(-130%,-56%) rotate(-13deg)}.mini-booster.is-open .booster-card--two{transform:translate(-50%,-68%) rotate(0)}.mini-booster.is-open .booster-card--three{transform:translate(30%,-56%) rotate(13deg)}
.mini-booster.is-storing .booster-card{opacity:0;transform:translate(-50%,-45%) rotate(0) scale(.62);transition-delay:0ms}.mini-booster.is-storing .booster-pack{opacity:1;transform:translate(-50%,-48%) rotate(-4deg)}

/* Atelier génératif */
.mini-generative{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;border:0;background:transparent;cursor:crosshair}
.generative-grid{position:absolute;inset:8%;background:linear-gradient(rgba(95,232,226,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(95,232,226,.055) 1px,transparent 1px);background-size:26px 26px;mask:radial-gradient(circle,#000,transparent 72%)}
.generative-images{position:absolute;inset:6%;overflow:hidden;opacity:.92;filter:saturate(1.04) contrast(1.08) brightness(1.16)}
.generative-images:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(4,3,9,.04) 0 2px,rgba(4,3,9,.28) 3px);mix-blend-mode:multiply;pointer-events:none}
.generative-images img{position:absolute;inset:-5%;width:110%;height:110%;object-fit:cover;transform:translateX(var(--image-shift,0)) scale(var(--image-scale,1.08));filter:grayscale(.08) saturate(1.08) contrast(1.04) brightness(1.12);transition:transform .65s var(--ease-out),filter .45s,opacity .45s,clip-path .45s var(--ease-out)}
.generative-images img:nth-child(1){opacity:.86}
.generative-images img:nth-child(2){mix-blend-mode:screen;opacity:.68}
.generative-images img:nth-child(3){mix-blend-mode:lighten;opacity:.8}
.generative-core{position:absolute;top:50%;left:50%;width:112px;height:112px;border:1px solid var(--lab-accent);background:conic-gradient(from 40deg,transparent,var(--lab-accent),transparent 28%,rgba(255,131,200,.7),transparent 62%,var(--lab-accent),transparent);box-shadow:0 0 40px color-mix(in srgb,var(--lab-accent) 20%,transparent);transform:translate(-50%,-50%) rotate(12deg);clip-path:polygon(50% 0,90% 20%,100% 63%,71% 100%,24% 91%,0 54%,13% 13%);opacity:.58;animation:generative-core 9s linear infinite}
.mini-generative i{position:absolute;z-index:3;top:var(--y,50%);left:var(--x,50%);width:clamp(15px,3vw,42px);height:clamp(12px,2.5vw,34px);border:1px solid color-mix(in srgb,var(--lab-accent) 68%,#fff);background:color-mix(in srgb,var(--lab-accent) 13%,transparent);clip-path:polygon(0 0,100% 17%,72% 100%,12% 77%);opacity:var(--o,.6);transform:translate(-50%,-50%) rotate(var(--r,0deg)) scale(var(--s,1));transition:top .65s var(--ease-out),left .65s var(--ease-out),transform .65s var(--ease-out),opacity .45s}
.mini-generative i:nth-of-type(3n){border-color:#ff83c8;border-radius:50%;clip-path:none}.mini-generative i:nth-of-type(4n){width:5px;height:58px;background:var(--lab-accent);clip-path:none}
.mini-generative small{position:absolute;z-index:5;right:5%;bottom:5%;color:rgba(255,255,255,.56);font-size:.43rem;letter-spacing:.16em;text-shadow:0 1px 8px #000}
.mini-generative.is-remixing i{animation:fragment-glitch .42s var(--delay,0ms) steps(2,end)}
.mini-generative.is-remixing .generative-images img{animation:generative-image-glitch .7s var(--image-delay,0ms) steps(2,end)}
.mini-generative:focus-visible{outline:1px solid color-mix(in srgb,var(--lab-accent) 55%,transparent);outline-offset:-5px}

/* Archives narratives JDR */
.mini-narrative{position:absolute;inset:0;overflow:hidden;background:radial-gradient(circle at 78% 72%,color-mix(in srgb,var(--lab-accent) 8%,transparent),transparent 34%)}
.mini-narrative:before{content:"";position:absolute;inset:4%;border:1px solid rgba(255,255,255,.05);clip-path:polygon(0 0,31% 0,31% 1px,69% 1px,69% 0,100% 0,100% 100%,72% 100%,72% calc(100% - 1px),28% calc(100% - 1px),28% 100%,0 100%)}
.narrative-scan{position:absolute;z-index:4;top:-15%;right:0;left:0;height:1px;background:linear-gradient(90deg,transparent,var(--lab-accent),transparent);box-shadow:0 0 15px var(--lab-accent);opacity:.35;animation:narrative-scan 5.5s linear infinite}
.mini-narrative.is-paused .narrative-scan{animation-play-state:paused}
.narrative-fragment{position:absolute;top:8%;right:6%;left:6%;min-height:40%;padding:19px 21px 30px;border-left:1px solid var(--lab-accent);background:linear-gradient(90deg,color-mix(in srgb,var(--lab-accent) 8%,rgba(8,5,14,.88)),rgba(8,5,14,.36));cursor:pointer;transition:opacity .26s,filter .26s,transform .26s}
.narrative-fragment>img{position:absolute;z-index:0;top:0;right:0;width:40%;height:100%;object-fit:cover;opacity:.72;filter:saturate(.72) contrast(1.08);mask-image:linear-gradient(90deg,transparent,#000 32%)}
.narrative-fragment:before{content:"";position:absolute;top:0;left:0;width:34px;height:1px;background:var(--lab-accent)}
.narrative-fragment:after{content:"CLIQUER / FRAGMENT SUIVANT";position:absolute;right:15px;bottom:10px;color:rgba(255,255,255,.3);font-size:.34rem;letter-spacing:.13em}
.narrative-fragment small,.narrative-fragment p{position:relative;z-index:1}.narrative-fragment small{color:var(--lab-accent);font-size:.46rem;letter-spacing:.13em}.narrative-fragment p{max-width:59%;margin:13px 0 0;color:#f1eaf4;font-family:Georgia,"Times New Roman",serif;font-size:clamp(.7rem,.92vw,.9rem);font-style:italic;line-height:1.55;text-shadow:0 2px 12px #050308}.narrative-fragment>span{position:absolute;z-index:2;right:15px;top:14px;color:rgba(255,255,255,.48);font-size:.42rem;letter-spacing:.12em}
.narrative-fragment.is-changing{opacity:0;filter:blur(4px);transform:translateY(5px)}
.narrative-gangs{position:absolute;bottom:7%;left:5%;display:flex;gap:7px}
.narrative-gangs button{display:grid;grid-template-rows:45px auto;place-items:center;width:66px;min-height:75px;padding:6px;border:1px solid rgba(255,255,255,.1);background:rgba(8,5,14,.82);cursor:pointer;opacity:.68;transition:opacity .25s,border-color .25s,background .25s,transform .3s var(--ease-out)}
.narrative-gangs button img{width:42px;height:42px;object-fit:contain;filter:grayscale(1) contrast(1.15);transition:filter .25s}.narrative-gangs button span{overflow:hidden;width:100%;font-size:.5rem;font-weight:600;line-height:1.18;text-align:center;text-overflow:ellipsis;white-space:nowrap}
.narrative-gangs button:hover,.narrative-gangs button:focus-visible,.narrative-gangs button.is-selected{border-color:color-mix(in srgb,var(--lab-accent) 58%,#fff);background:color-mix(in srgb,var(--lab-accent) 9%,rgba(8,5,14,.82));opacity:1;outline:0;transform:translateY(-3px)}
.narrative-gangs button.is-selected img{filter:none;filter:drop-shadow(0 0 7px color-mix(in srgb,var(--lab-accent) 48%,transparent))}
.narrative-dossier{position:absolute;right:5%;bottom:6%;display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:12px;width:43%;min-height:82px;padding:9px 11px;border-top:1px solid color-mix(in srgb,var(--lab-accent) 45%,transparent);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--lab-accent) 8%,rgba(8,5,14,.72)))}
.narrative-dossier>img{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--lab-accent) 28%,transparent))}.narrative-dossier>p{display:grid;gap:4px;margin:0}.narrative-dossier small{color:var(--lab-accent);font-size:.53rem;letter-spacing:.08em}.narrative-dossier b{font-size:.92rem;font-weight:600}.narrative-dossier span{color:rgba(255,255,255,.74);font-size:.65rem;line-height:1.4}
.narrative-dossier.is-updating{animation:narrative-dossier-in .42s var(--ease-out)}

/* Déduction sociale */
.mini-deduction{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:8px;padding:11% 3% 17%;perspective:900px}
.mini-deduction>button{position:relative;width:100%;height:min(18vw,155px);max-height:58%;padding:0;border:0;background:transparent;transform-style:preserve-3d;cursor:pointer;transition:transform .55s var(--ease-out)}
.mini-deduction>button.is-revealed{transform:rotateY(180deg) translateY(-7px)}
.agent-front,.agent-back{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:7px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(165deg,color-mix(in srgb,var(--lab-accent) 9%,#100b16),#08050c);backface-visibility:hidden}
.agent-front:before,.agent-back:before{content:"";position:absolute;inset:6px;border:1px solid rgba(255,255,255,.05)}
.agent-front i{position:relative;width:28px;height:35px;border:1px solid var(--lab-accent);border-radius:50% 50% 44% 44%;opacity:.58}.agent-front i:after{content:"";position:absolute;top:62%;left:17%;width:66%;height:20%;border-top:1px solid var(--lab-accent);border-radius:50%}
.agent-front b{font-size:.9rem;letter-spacing:.1em}.agent-front small,.agent-back small{max-width:90%;color:rgba(255,255,255,.55);font-size:.65rem;line-height:1.15;letter-spacing:.08em;text-align:center}.agent-back{color:var(--lab-accent);transform:rotateY(180deg)}.agent-back b{font-size:2rem;font-weight:300}.agent-back small{color:currentColor}
.mini-deduction>button:hover:not(.is-revealed),.mini-deduction>button:focus-visible:not(.is-revealed){transform:translateY(-5px);outline:0}.mini-deduction>button:focus-visible .agent-front{border-color:var(--lab-accent)}
.mini-deduction>button[data-role="saboteur"] .agent-back{color:#ff647f}.mini-deduction>button[data-role="tryharder"] .agent-back{color:#f0c86e}.mini-deduction>button[data-role="farmer"] .agent-back{color:#75d895}.mini-deduction>button[data-role="cameleon"] .agent-back{color:#8db4ff}
.mini-deduction>p{position:absolute;right:4%;bottom:5%;display:flex;align-items:center;gap:7px;margin:0;color:rgba(255,255,255,.48);font-size:.68rem;letter-spacing:.1em}.mini-deduction>p i{width:6px;height:6px;border-radius:50%;background:#e0aa56;box-shadow:0 0 8px #e0aa56}

/* Lecteur Midnight Signal */
.mini-midnight{position:absolute;inset:0;overflow:hidden;padding:8% 7%;background:linear-gradient(145deg,rgba(7,11,19,.42),rgba(7,11,19,.88));color:#edf4ff}
.midnight-grid{position:absolute;inset:0;background:linear-gradient(rgba(142,188,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(142,188,255,.045) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(#000,transparent 88%)}
.midnight-wave{position:absolute;top:13%;right:6%;left:6%;display:flex;align-items:center;justify-content:center;gap:clamp(2px,.45vw,5px);height:31%;opacity:.85}
.midnight-wave:before{content:"";position:absolute;right:0;left:0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--lab-accent) 55%,transparent),transparent)}
.midnight-wave i{width:clamp(2px,.28vw,4px);height:42%;border-radius:3px;background:linear-gradient(180deg,#e9f2ff,var(--lab-accent) 55%,rgba(142,188,255,.15));box-shadow:0 0 8px color-mix(in srgb,var(--lab-accent) 34%,transparent);transform:scaleY(.22);transform-origin:center;transition:transform .35s}
.midnight-wave i:nth-child(3n){height:72%}.midnight-wave i:nth-child(4n){height:95%}.midnight-wave i:nth-child(7n){height:58%}
.mini-midnight.is-playing .midnight-wave i{animation:midnight-wave .72s calc(var(--bar)*-47ms) ease-in-out infinite alternate}
.midnight-now{position:absolute;top:47%;left:7%;display:grid;gap:3px;max-width:60%}.midnight-now small{color:var(--lab-accent);font-size:.42rem;letter-spacing:.15em}.midnight-now b{overflow:hidden;font-size:clamp(.95rem,1.4vw,1.35rem);font-weight:560;line-height:1.18;text-overflow:ellipsis;white-space:nowrap}.midnight-now>span{color:rgba(237,244,255,.52);font-size:.58rem;letter-spacing:.08em}
.midnight-toggle{position:absolute;top:49%;right:7%;display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--lab-accent) 48%,transparent);background:rgba(8,13,22,.72);color:#edf4ff;cursor:pointer;transition:border-color .25s,background .25s,transform .25s}.midnight-toggle:hover,.midnight-toggle:focus-visible{border-color:var(--lab-accent);background:color-mix(in srgb,var(--lab-accent) 10%,#080d16);outline:0;transform:translateY(-2px)}.midnight-toggle i{width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:7px solid var(--lab-accent)}.mini-midnight.is-playing .midnight-toggle i{width:7px;height:8px;border:0;border-right:2px solid var(--lab-accent);border-left:2px solid var(--lab-accent)}.midnight-toggle span{font-size:.46rem;letter-spacing:.1em;text-transform:uppercase}
.midnight-progress{position:absolute;top:64%;right:7%;left:7%;height:1px;background:rgba(255,255,255,.12)}.midnight-progress i{display:block;width:100%;height:100%;background:var(--lab-accent);box-shadow:0 0 7px var(--lab-accent);transform:scaleX(0);transform-origin:left;transition:transform .4s linear}
.midnight-playlist{position:absolute;right:7%;bottom:7%;left:7%;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.1)}.midnight-playlist button{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;min-width:0;padding:12px 8px;border:0;border-right:1px solid rgba(255,255,255,.08);background:transparent;color:rgba(237,244,255,.45);text-align:left;cursor:pointer;transition:color .25s,background .25s}.midnight-playlist button:last-child{border-right:0}.midnight-playlist button:hover,.midnight-playlist button:focus-visible,.midnight-playlist button.is-current{background:rgba(142,188,255,.07);color:#edf4ff;outline:0}.midnight-playlist small{color:var(--lab-accent);font-size:.38rem}.midnight-playlist span{overflow:hidden;font-size:.48rem;text-overflow:ellipsis;white-space:nowrap}

/* Tracé japonais */
.mini-kana{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;border:0;background:transparent;cursor:pointer}
.kana-guide{position:absolute;top:50%;left:50%;width:min(70%,240px);aspect-ratio:1;border:1px solid color-mix(in srgb,var(--lab-accent) 22%,transparent);transform:translate(-50%,-50%)}
.kana-guide:before,.kana-guide:after,.kana-guide i{content:"";position:absolute;background:color-mix(in srgb,var(--lab-accent) 16%,transparent)}
.kana-guide:before{top:50%;right:0;left:0;height:1px}.kana-guide:after{top:0;bottom:0;left:50%;width:1px}.kana-guide i:first-child{top:25%;right:0;left:0;height:1px}.kana-guide i:last-child{right:0;bottom:25%;left:0;height:1px}
.kana-stroke{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:min(72%,270px);height:min(78%,270px);transform:translate(-50%,-52%);filter:drop-shadow(0 0 8px color-mix(in srgb,var(--lab-accent) 24%,transparent))}
.kana-stroke>svg{display:block;width:100%;height:100%;overflow:visible}
.kana-stroke [id*="StrokePaths"]{fill:none!important;stroke:var(--lab-accent)!important;stroke-width:3!important;stroke-linecap:round;stroke-linejoin:round}
.kana-stroke path{fill:none!important;stroke:var(--lab-accent)!important;stroke-dasharray:1;stroke-dashoffset:0}
.kana-stroke [id*="StrokeNumbers"]{fill:color-mix(in srgb,var(--lab-accent) 58%,#fff)!important;opacity:.7}.kana-stroke [id*="StrokeNumbers"] text{font-size:7px!important}
.kana-stroke.is-drawing path{animation:kana-path-draw .72s calc(var(--stroke-index,0)*.34s) ease-out both}
.kana-stroke>span{color:var(--lab-accent);font-family:"Noto Sans JP","Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-size:7rem;text-shadow:0 0 10px color-mix(in srgb,var(--lab-accent) 35%,transparent)}
.kana-trail{position:absolute;top:8%;right:5%;display:grid;gap:7px}.kana-trail i{display:grid;place-items:center;width:25px;height:25px;border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.28);font-size:.7rem;font-style:normal;transition:color .25s,border-color .25s,background .25s}.kana-trail i.is-current{border-color:var(--lab-accent);background:color-mix(in srgb,var(--lab-accent) 12%,transparent);color:#fff}
.mini-kana>small{position:absolute;right:5%;bottom:5%;color:rgba(255,255,255,.38);font-size:.4rem;letter-spacing:.14em}.mini-kana>small b{color:var(--lab-accent);font-weight:600}
.mini-kana:focus-visible{outline:1px solid color-mix(in srgb,var(--lab-accent) 55%,transparent);outline-offset:-5px}

@keyframes lab-status-pulse{50%{opacity:.35;transform:scale(.75)}}
@keyframes lab-hole-react{50%{filter:brightness(1.13);opacity:.78}}
@keyframes lab-panel-in{from{opacity:0;filter:blur(4px);transform:translateY(9px)}to{opacity:1;filter:none;transform:none}}
@keyframes archive-bubble-drift{to{translate:var(--drift,5px) -9px}}
@keyframes archive-bubble-pop{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}48%{opacity:1;filter:brightness(1.65);transform:translate(-50%,-50%) scale(1.22)}100%{opacity:0;filter:brightness(2);transform:translate(-50%,-50%) scale(.05)}}
@keyframes archive-bubble-ring{0%{inset:-5px;opacity:.8}100%{inset:-42px;opacity:0}}
@keyframes booster-unlock{0%,100%{opacity:0;transform:translate(-50%,-45%) scale(.82)}12%,78%{opacity:1;transform:translate(-50%,-50%) scale(1)}82%{opacity:1;filter:brightness(1.5);transform:translate(-50%,-50%) scale(1.02)}}
@keyframes generative-core{to{transform:translate(-50%,-50%) rotate(372deg)}}
@keyframes fragment-glitch{0%,100%{filter:none}35%{filter:brightness(1.8);translate:4px -2px}65%{filter:hue-rotate(45deg);translate:-3px 2px}}
@keyframes generative-image-glitch{0%,100%{filter:grayscale(.08) saturate(1.08) contrast(1.04) brightness(1.12)}22%{translate:var(--glitch-a,9px) 0;filter:saturate(1.75) brightness(1.2) hue-rotate(28deg)}48%{translate:var(--glitch-b,-7px) 2px;filter:contrast(1.55) brightness(1.25)}68%{translate:calc(var(--glitch-a,3px)*-.45) -2px;filter:saturate(.65) brightness(1.15) hue-rotate(-24deg)}}
@keyframes narrative-scan{to{top:112%}}
@keyframes narrative-dossier-in{from{opacity:.25;filter:blur(4px);transform:translateX(7px)}to{opacity:1;filter:none;transform:none}}
@keyframes midnight-wave{from{transform:scaleY(.16);opacity:.42}to{transform:scaleY(1);opacity:1}}
@keyframes kana-path-draw{from{stroke-dashoffset:1;opacity:.18}to{stroke-dashoffset:0;opacity:1}}

@media (min-width:1101px) and (max-height:760px){
  .lab-explorer{top:8%;bottom:3%}.lab-navigation button{min-height:72px;grid-template-rows:32px auto}.lab-nav-icon{width:28px;height:28px}.lab-active{padding-top:18px}.lab-copy h3{margin:10px 0 13px;font-size:clamp(2rem,3vw,3.25rem)}.lab-project-tags{margin-top:14px}.lab-copy>a{margin-top:18px}.lab-visual{min-height:270px}
}

@media (min-width:761px) and (max-width:1100px){
  .world--lab{height:auto;min-height:100%}
  .world--lab .world-head{max-width:100%}
  .world--lab .singularity{position:relative;top:auto;left:50%;width:min(47vw,390px);margin:-58px 0 -24px;transform:translateX(-50%)}
  .lab-explorer{position:relative;top:auto;right:auto;bottom:auto;width:min(100%,880px);margin:0 auto;padding-bottom:25px}
  .lab-active{grid-template-columns:minmax(250px,.8fr) minmax(330px,1.2fr);min-height:410px}
  .lab-copy h3{font-size:clamp(2.25rem,5vw,3.5rem)}
  .lab-visual{min-height:330px}
}

@media (max-width:760px){
  .world--lab .world-head{max-width:100%;margin-bottom:0}
  .world--lab .singularity{position:relative;top:auto;left:50%;width:min(76vw,330px);margin:-18px 0 -5px;transform:translateX(-50%)}
  .lab-explorer{position:relative;top:auto;right:auto;bottom:auto;display:block;width:100%;padding-bottom:24px}
  .lab-explorer-head{padding-bottom:10px}.lab-explorer-head small{font-size:.54rem}.lab-explorer-head>p span{display:none}.lab-active-state{font-size:.42rem}
  .lab-navigation{display:flex;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:rgba(190,124,255,.4) transparent}
  .lab-navigation button{flex:0 0 88px;min-height:82px;scroll-snap-align:start}.lab-navigation b{font-size:.51rem}.lab-navigation small{font-size:.32rem}
  .lab-active{display:block;min-height:0;padding-top:24px}.lab-copy{padding:4px 2px 25px}.lab-copy h3{margin:12px 0 15px;font-size:clamp(2.3rem,11vw,3.2rem)}.lab-project-description{font-size:.75rem;line-height:1.7}.lab-project-tags{margin-top:17px}.lab-copy>a{margin-top:21px}
  .lab-visual-shell{display:grid;min-height:360px;padding:17px 0 0;border-top:1px solid rgba(215,197,255,.17);border-left:0}.lab-visual-shell:before{top:-1px;left:0}.lab-visual-shell:after{right:0;bottom:auto;left:auto;top:-1px}.lab-visual{min-height:325px}
  .mini-deduction{gap:5px;padding-right:1%;padding-left:1%}.mini-deduction>button{height:138px}.agent-front b{font-size:.78rem}.agent-front small,.agent-back small{font-size:.53rem}.mini-deduction>p{font-size:.58rem}
}

@media (max-width:390px){
  .lab-navigation button{flex-basis:82px}.lab-visual-shell{min-height:335px}.lab-visual{min-height:300px}.booster-pack{width:145px;height:205px}.booster-pack i{width:66px;height:66px}.booster-pack b{font-size:.82rem}.booster-pack em{bottom:29px;font-size:.5rem}.mini-booster.is-open .booster-card--one{transform:translate(-117%,-56%) rotate(-11deg)}.mini-booster.is-open .booster-card--three{transform:translate(17%,-56%) rotate(11deg)}.booster-card{width:106px;height:155px;padding-top:33px}.booster-card small{top:12px;font-size:.43rem}.booster-card b{font-size:.64rem}.booster-card i{width:38px;height:38px;font-size:.58rem}.booster-action{font-size:.5rem}.booster-collection{font-size:.45rem}
}

@media (prefers-reduced-motion:reduce){
  .world--lab .singularity.is-reacting:before,.lab-active-state i,.mini-archive button,.generative-core,.generative-images img,.narrative-scan,.midnight-wave i{animation:none!important}
  .lab-active,.lab-navigation button,.lab-nav-icon,.mini-archive button,.booster-pack,.booster-card,.mini-generative i,.narrative-fragment,.narrative-dossier,.mini-deduction>button{transition-duration:.01ms!important}
  .kana-stroke path{stroke-dashoffset:0!important;animation:none!important}
}

/* Harmonisation transmission, portables et archive légale — 2026-10 ---- */
.system--signal .system-visual{
  display:grid;place-items:center;overflow:visible;border:1px solid rgba(95,232,226,.22);border-radius:50%;
  background:radial-gradient(circle at 50% 50%,rgba(95,232,226,.16),rgba(7,22,29,.94) 46%,rgba(5,8,18,.98) 72%);
  box-shadow:inset 0 0 22px rgba(95,232,226,.12),0 0 30px rgba(95,232,226,.13)
}
.system--signal .system-visual:before,.system--signal .system-visual:after{content:none}
.beacon{display:grid;place-items:center;opacity:.86;filter:drop-shadow(0 0 26px rgba(95,232,226,.16))}
.consent a{color:#bffffc;text-decoration:underline;text-decoration-color:rgba(95,232,226,.48);text-underline-offset:3px}
.consent a:hover,.consent a:focus-visible{color:#fff;text-decoration-color:#fff}

.world--archive{overflow-y:auto}
.archive-layout{position:relative;z-index:4;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;padding-bottom:34px}
.archive-layout>.world-head{grid-column:1;grid-row:1/span 2;align-self:start;max-width:100%;padding:10px clamp(20px,3vw,48px) 25px 0}
.archive-layout>.world-head h2{font-size:clamp(3.2rem,4.8vw,5.6rem)}
.archive-intro{max-width:330px;color:var(--muted);font-size:.72rem;line-height:1.75}
.archive-intro small{color:rgba(215,208,228,.58);font-size:.58rem;letter-spacing:.06em}
.archive-copy{display:contents}
.archive-copy section{min-width:0;min-height:190px;padding:22px;background:linear-gradient(145deg,rgba(25,24,37,.68),rgba(10,10,18,.78))}
.archive-copy section>small{display:block;margin-bottom:12px;color:#bcc5d8;font-size:.52rem;font-weight:700;letter-spacing:.17em}
.archive-copy strong{color:#e7e3ee;font-weight:600}
.archive-copy h3{font-size:.68rem;line-height:1.4}.archive-copy p,.archive-copy a{font-size:.61rem;line-height:1.72}

/* Ordinateurs portables : conserver les titres et les contrôles dégagés. */
@media (min-width:1101px) and (max-width:1500px),
       (min-width:1101px) and (max-height:850px){
  .world--signal .world-head,.world--work .world-head{max-width:min(660px,35vw)}
  .world--signal .world-head h2,.world--work .world-head h2{font-size:clamp(3rem,4.35vw,4.15rem)}

  .world--path .career-content{bottom:4%;width:min(700px,50vw);min-height:370px}
  .world--path .path-panel{min-height:370px;padding:24px 27px}
  .world--path .career-content h3{margin:15px 0;font-size:1.85rem}
  .world--path .profile-layout{gap:22px}.world--path .profile-pillars article{padding:10px 12px}
  .world--path .career-content .career-timeline li{padding:11px 13px}
  .world--path .skill-matrix article{min-height:148px;padding:14px}
  .world--path .skill-matrix article>small{margin-bottom:12px}
  .world--path .planet-focus{right:.5%;bottom:1%;width:154px;pointer-events:none}
  .world--path .focused-planet-stage{width:160px;height:160px}
  .world--path .focused-planet{width:90px;height:90px}
  .world--path .planet-focus-hint{bottom:10px;margin-top:8px;font-size:.43rem}

  .world--lab .singularity{left:20%;top:72%;width:min(27vw,380px);opacity:.68}
  .world--lab .singularity i{inset:29% -15%;opacity:.62}
  .world--lab .singularity b{right:-11%;left:-11%;opacity:.7}
  .world--lab .singularity span:after{right:-52%;left:-52%;opacity:.72}
}

@media (min-width:1101px) and (max-height:720px){
  .world--path .career-content,.world--path .path-panel{min-height:330px}
  .world--path .path-panel{padding-top:19px;padding-bottom:19px}
  .world--path .profile-pillars article{padding-top:8px;padding-bottom:8px}
  .world--path .skill-matrix article{min-height:125px}
}

@media (min-width:761px) and (max-width:1100px){
  .archive-layout{grid-template-columns:repeat(2,minmax(0,1fr))}
  .archive-layout>.world-head{grid-column:1/-1;grid-row:auto;padding-right:0}
  .archive-copy section{min-height:0}
  .world--signal .world-head,.world--work .world-head{max-width:660px}
  .world--path .planet-focus{width:150px;margin-top:-54px;pointer-events:none}
  .world--path .focused-planet-stage{width:150px;height:150px}
  .world--path .focused-planet{width:84px;height:84px}
  .world--lab .singularity{width:min(39vw,320px);opacity:.7}
}

@media (max-width:760px){
  .archive-layout{display:grid;grid-template-columns:1fr;gap:9px}
  .archive-layout>.world-head{grid-column:1;grid-row:auto;padding:0}
  .archive-copy section{min-height:0;padding:19px}
  .beacon{width:170px;height:170px;margin-top:-8px;margin-bottom:-26px}
}

/* Pulsar de transmission, rail du laboratoire et saisie Konami mobile. */
.system--signal .system-visual{
  isolation:isolate;border-color:rgba(95,232,226,.28);
  background:radial-gradient(circle at 46% 43%,rgba(219,255,255,.16),rgba(20,79,87,.12) 23%,rgba(5,17,26,.96) 62%,#040711 78%);
  box-shadow:inset 0 0 28px rgba(95,232,226,.12),0 0 32px rgba(95,232,226,.13)
}
.signal-pulsar{display:block;width:106%;height:106%;overflow:visible;fill:none;stroke-linecap:round;stroke-linejoin:round}
.signal-pulsar__beam{stroke:#c9ffff;stroke-width:1.15;opacity:.7;filter:drop-shadow(0 0 3px rgba(95,232,226,.92))}
.signal-pulsar__beam--wide{stroke:rgba(95,232,226,.13);stroke-width:9;filter:none}
.signal-pulsar__orbit{stroke:rgba(95,232,226,.46);stroke-width:1;stroke-dasharray:2 4;transform-origin:center;animation:pulsar-orbit 19s linear infinite}
.signal-pulsar__orbit--inner{stroke:rgba(255,131,200,.42);stroke-width:.8;stroke-dasharray:1 4;animation-direction:reverse;animation-duration:13s}
.signal-pulsar__star{fill:#0d4049;stroke:#bffffc;stroke-width:1.15;filter:drop-shadow(0 0 7px rgba(95,232,226,.88))}
.signal-pulsar__light{fill:#f3ffff;stroke:none;filter:drop-shadow(0 0 4px #fff);animation:pulsar-light 2.8s ease-in-out infinite}
.signal-pulsar__moon{fill:#ff83c8;stroke:#ffe2f3;stroke-width:.55;filter:drop-shadow(0 0 4px #ff83c8)}
.signal-pulsar__halo{stroke:rgba(95,232,226,.14);stroke-width:.65;stroke-dasharray:1 5;transform-origin:center;animation:pulsar-orbit 28s linear infinite reverse}
@keyframes pulsar-orbit{to{rotate:360deg}}
@keyframes pulsar-light{50%{opacity:.48;transform:scale(.76);transform-origin:45px 44px}}

.beacon{isolation:isolate;width:270px;height:270px;opacity:.9;filter:drop-shadow(0 0 34px rgba(95,232,226,.18))}
.beacon:before,.beacon:after{content:"";position:absolute;z-index:-1;inset:10%;border:1px solid rgba(95,232,226,.09);border-radius:50%}
.beacon:after{inset:24%;border-color:rgba(255,131,200,.08);box-shadow:0 0 60px rgba(95,232,226,.08)}
.beacon .signal-pulsar--large{width:100%;height:100%}
.beacon .signal-pulsar__star{stroke-width:.8}.beacon .signal-pulsar__beam{stroke-width:.72}.beacon .signal-pulsar__beam--wide{stroke-width:7}

.konami-mobile-console{display:none}

@media (max-width:760px){
  .beacon{width:154px;height:154px;margin:0 auto -22px}

  .konami-mobile-console{position:fixed;z-index:78;right:14px;bottom:calc(38px + env(safe-area-inset-bottom));display:block;transition:opacity .25s,transform .3s var(--ease-out)}
  body:not([data-state="galaxy"]) .konami-mobile-console{opacity:0;pointer-events:none;transform:translateY(12px)}
  .konami-console-toggle{display:grid;grid-template-columns:20px auto;align-items:center;column-gap:8px;min-width:148px;padding:9px 11px;border:1px solid rgba(190,124,255,.32);background:rgba(8,5,18,.92);box-shadow:0 8px 28px rgba(0,0,0,.38);color:#eee8fa;text-align:left;touch-action:manipulation}
  .konami-console-toggle i{grid-row:1/3;width:8px;height:8px;border-radius:50%;background:#be7cff;box-shadow:0 0 9px #be7cff;animation:lab-status-pulse 1.8s ease-in-out infinite}
  .konami-console-toggle span{font-size:.48rem;font-weight:700;letter-spacing:.13em}.konami-console-toggle b{color:rgba(238,232,250,.48);font-size:.38rem;font-weight:400;letter-spacing:.12em}
  .konami-mobile-console.is-open .konami-console-toggle{border-color:rgba(190,124,255,.7);background:rgba(18,10,34,.97)}
  .konami-mobile-pad{position:absolute;right:0;bottom:calc(100% + 8px);display:grid;grid-template-columns:156px 1fr;gap:12px;width:min(330px,calc(100vw - 28px));padding:14px;border:1px solid rgba(190,124,255,.34);background:linear-gradient(145deg,rgba(17,10,32,.98),rgba(6,5,15,.98));box-shadow:0 18px 55px rgba(0,0,0,.58)}
  .konami-mobile-pad[hidden]{display:none}.konami-mobile-pad button{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid rgba(215,197,255,.22);background:rgba(190,124,255,.08);color:#fff;font-size:.9rem;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  .konami-mobile-pad button:active{border-color:#be7cff;background:rgba(190,124,255,.25);transform:scale(.94)}
  .konami-dpad{display:grid;grid-template:repeat(2,44px)/repeat(3,44px);gap:5px}.konami-dpad button:nth-child(1){grid-column:2}.konami-dpad button:nth-child(2){grid-column:1;grid-row:2}.konami-dpad button:nth-child(3){grid-column:2;grid-row:2}.konami-dpad button:nth-child(4){grid-column:3;grid-row:2}
  .konami-actions{display:flex;align-items:flex-end;gap:8px;padding-bottom:5px}.konami-actions button{width:48px;height:48px;border-radius:50%;border-color:rgba(255,131,200,.36);color:#ffc4e4}.konami-actions button:last-child{translate:0 -18px}
  .konami-mobile-pad p{grid-column:1/-1;display:flex;justify-content:space-between;gap:10px;margin:1px 0 0;padding-top:9px;border-top:1px solid rgba(215,197,255,.12);font-size:.43rem;letter-spacing:.1em}.konami-mobile-pad p span{color:#be7cff}.konami-mobile-pad p small{color:rgba(238,232,250,.46);font-size:inherit}
}

@media (prefers-reduced-motion:reduce){
  .signal-pulsar__orbit,.signal-pulsar__light,.konami-console-toggle i{animation:none!important}
}

/* Mobile-only controls ------------------------------------------------ */
.career-mobile-carousel,.career-mobile-dock{display:none}

/* Mobile galaxy: destinations as an open, exploratory trail ---------- */
@media (max-width:760px){
  .systems{
    display:flex;
    flex-direction:column;
    gap:clamp(38px,12vw,64px);
    margin-top:clamp(48px,14vw,76px);
    padding:0 0 34px;
  }

  .explore{display:none}

  .system,.system:nth-child(n){
    --mobile-shift:0px;
    display:flex;
    flex-direction:column;
    align-items:center;
    width:100%;
    height:auto;
    min-height:0;
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    background:none;
    overflow:visible;
    box-shadow:none;
  }

  .system:active{transform:none}

  .system-visual,.system--path .system-visual{
    position:relative;
    inset:auto;
    flex:0 0 auto;
    width:clamp(110px,31vw,138px);
    height:clamp(110px,31vw,138px);
    margin:0 0 24px;
    transform:translateX(var(--mobile-shift));
  }

  .system-copy,
  .system--archive .system-copy,
  .system--signal .system-copy{
    position:relative;
    inset:auto;
    display:grid;
    width:min(78vw,310px);
    text-align:center;
    transform:translateX(var(--mobile-shift));
  }

  .system-copy small{font-size:.58rem;letter-spacing:.17em}
  .system-copy strong{margin:8px 0 7px;font-size:1.12rem}
  .system-copy em{display:block;font-size:.68rem;line-height:1.55;white-space:normal;overflow:visible;text-overflow:clip}

  .system--path{--mobile-shift:-8vw}
  .system--work{--mobile-shift:5vw}
  .system--lab{--mobile-shift:9vw}
  .system--signal{--mobile-shift:-5vw}
  .system--archive{--mobile-shift:4vw}

  .system--lab .system-visual{width:clamp(124px,35vw,152px);height:clamp(124px,35vw,152px)}
  .system--signal .system-visual{width:clamp(100px,28vw,120px);height:clamp(100px,28vw,120px)}
  .system--archive .system-visual{width:clamp(88px,25vw,106px);height:clamp(88px,25vw,106px)}

  .manifesto .overline{font-size:.56rem}
  .manifesto h1{font-size:clamp(3rem,14.5vw,5.1rem)}
  .manifesto>p:not(.overline){font-size:.82rem;line-height:1.72}

  /* Parcours : carrousel orbital mobile, sans réduction du système desktop. */
  .world--path .career-system{display:none}
  .world--path .planet-focus{display:none}

  .career-mobile-carousel{
    position:relative;
    display:grid;
    grid-template-columns:44px minmax(0,1fr) 44px;
    align-items:center;
    height:168px;
    margin:-2px 0 6px;
    overflow:hidden;
  }
  .career-mobile-carousel:before{content:"";position:absolute;z-index:0;right:10%;bottom:18px;left:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(159,184,255,.25),transparent)}
  .career-carousel-viewport{position:relative;z-index:1;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .career-carousel-viewport::-webkit-scrollbar{display:none}
  .career-carousel-track{display:flex;align-items:center;height:100%;padding-inline:25%}
  .career-carousel-item{flex:0 0 50%;display:grid;grid-template-rows:76px 22px 18px;place-items:center;min-width:44px;min-height:140px;padding:4px 2px;border:0;background:none;color:rgba(224,217,237,.4);scroll-snap-align:center;cursor:pointer;touch-action:pan-x;transition:color .28s,opacity .28s,transform .32s var(--ease-out)}
  .career-carousel-item i{display:block;width:34px;height:34px;border-radius:50%;filter:saturate(.72) brightness(.72);box-shadow:inset -8px -7px 12px rgba(0,0,0,.58),0 0 13px rgba(159,184,255,.14);transition:width .32s var(--ease-out),height .32s var(--ease-out),filter .28s,box-shadow .28s}
  .career-carousel-item strong{font-size:.55rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;opacity:.54;transition:font-size .28s,opacity .28s,color .28s}
  .career-carousel-item small{font-size:.42rem;letter-spacing:.14em;opacity:0;transition:opacity .25s}
  .career-carousel-item.is-selected{color:#fff;transform:translateY(-2px)}
  .career-carousel-item.is-selected i{width:68px;height:68px;filter:none;box-shadow:inset -13px -11px 20px rgba(0,0,0,.56),0 0 24px currentColor}
  .career-carousel-item.is-selected strong{font-size:.72rem;opacity:1}
  .career-carousel-item.is-selected small{opacity:.56}
  .career-carousel-item--profile{color:#9fb8ff}.career-carousel-item--experience{color:#ffd0b7}.career-carousel-item--diploma{color:#72d4cb}.career-carousel-item--skills{color:#d5a2ff}
  .career-carousel-item--profile i{background:radial-gradient(circle at 32% 27%,#fff,#87a5e8 13%,#344776 62%,#11172a)}
  .career-carousel-item--experience i{background:repeating-linear-gradient(170deg,transparent 0 7px,rgba(255,255,255,.08) 8px),radial-gradient(circle at 30% 25%,#ffd9bf,#b86d63 42%,#492937)}
  .career-carousel-item--diploma i{background:radial-gradient(circle at 34% 28%,#e8fff9,#4eaaa1 38%,#173f4b 75%)}
  .career-carousel-item--skills i{background:conic-gradient(from 25deg,#8067bb,#c879bc,#426f9b,#8067bb)}
  .career-carousel-item:focus-visible{outline:1px solid currentColor;outline-offset:-4px}

  .career-carousel-arrow{position:relative;z-index:3;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:none;color:rgba(229,221,242,.58);font-size:1rem;cursor:pointer;touch-action:manipulation}
  .career-carousel-arrow:focus-visible{outline:1px solid #9fb8ff;outline-offset:-3px}
  .world--path .career-content{margin-top:4px}

  .career-mobile-dock{
    position:sticky;
    z-index:130;
    top:calc(110px + env(safe-area-inset-top));
    display:grid;
    grid-template-columns:48px minmax(0,1fr) 48px;
    align-items:center;
    width:calc(100% + (var(--mobile-pad) * 2));
    height:0;
    margin:0 0 0 calc(var(--mobile-pad) * -1);
    padding:0 var(--mobile-pad);
    overflow:hidden;
    border:0;
    background:rgba(6,4,14,.9);
    -webkit-backdrop-filter:blur(14px);
    backdrop-filter:blur(14px);
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    transform:translateY(-8px);
    transition:height .28s var(--ease-out),margin .28s var(--ease-out),opacity .2s,transform .28s var(--ease-out),visibility .28s;
  }
  .world--path.is-career-dock-visible .career-mobile-dock{height:58px;margin-bottom:10px;border-top:1px solid rgba(159,184,255,.2);border-bottom:1px solid rgba(159,184,255,.16);visibility:visible;opacity:1;pointer-events:auto;transform:none}
  .career-mobile-dock>button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:none;color:rgba(229,221,242,.7);font-size:.95rem;cursor:pointer;touch-action:manipulation}
  .career-dock-current{display:flex;align-items:center;justify-content:center;gap:11px;min-width:0}
  .career-dock-current>i{flex:0 0 auto;width:24px;height:24px;border-radius:50%;box-shadow:inset -5px -4px 8px rgba(0,0,0,.55),0 0 12px rgba(159,184,255,.24)}
  .career-dock-current>i[data-career-dock-planet="profil"]{background:radial-gradient(circle at 32% 27%,#fff,#87a5e8 13%,#344776 65%)}
  .career-dock-current>i[data-career-dock-planet="experience"]{background:radial-gradient(circle at 30% 25%,#ffd9bf,#b86d63 48%,#492937)}
  .career-dock-current>i[data-career-dock-planet="diplomes"]{background:radial-gradient(circle at 34% 28%,#e8fff9,#4eaaa1 42%,#173f4b)}
  .career-dock-current>i[data-career-dock-planet="competences"]{background:conic-gradient(from 25deg,#8067bb,#c879bc,#426f9b,#8067bb)}
  .career-dock-current span{display:grid;gap:3px;min-width:0}.career-dock-current b{overflow:hidden;color:#fff;font-size:.56rem;font-weight:600;letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.career-dock-current small{color:rgba(224,217,237,.5);font-size:.4rem;letter-spacing:.13em}
  .career-mobile-dock>button:focus-visible{outline:1px solid #9fb8ff;outline-offset:-3px}

  .atlas:before{
    content:"";
    position:fixed;
    z-index:110;
    inset:0 0 auto;
    height:calc(64px + env(safe-area-inset-top));
    background:rgba(5,3,11,.5);
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
    pointer-events:none;
  }

  .brand{
    padding:8px 0;
    background:none;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
}

