@font-face{font-family:DM;src:url('../fonts/dm-sans.woff2') format('woff2');font-display:swap}
:root{color-scheme:dark;font-family:DM,Arial,sans-serif;color:#f4f8fc;background:#030d19;--teal:#29dfdf;--ease:cubic-bezier(.2,0,0,1)}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid var(--teal);outline-offset:5px}main{min-height:100svh;display:flex;flex-direction:column;justify-content:center}.viewport{width:100%;overflow:auto;scrollbar-width:thin;scrollbar-color:#1a686e #041222}.scene{position:relative;width:min(100%,calc((100svh - 48px)*1672/941));aspect-ratio:1672/941;margin:auto;isolation:isolate;container-type:inline-size;overflow:hidden;background:#041225}.backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.brand{position:absolute;left:2.8%;top:1.5%;display:flex;gap:.6cqw;align-items:center;font-size:2.1cqw;font-weight:650;letter-spacing:-.06cqw}.brand svg{width:3cqw;height:3.7cqw}.top-actions{position:absolute;right:2.7%;top:2%;display:flex;gap:1.3cqw;align-items:center}.text-button{border:0;background:#05142690;padding:.45cqw .5cqw;border-radius:.4cqw;font-size:1.15cqw;font-weight:650}.text-button:hover{color:var(--teal)}.icon-button{font-size:1.9cqw}.teal{color:var(--teal);margin-right:.5em}.door{position:absolute;border:0;background:transparent;border-radius:45% 45% 5% 5%;transition:box-shadow 160ms var(--ease),background 160ms var(--ease);z-index:2}.door:hover,.door.selected{box-shadow:0 0 1.3cqw .15cqw #25dedb50,inset 0 0 .7cqw #25dedb42;background:#25dedb09}.door:active{background:#25dedb30}.dossier{left:6.6%;top:26.5%;width:7.2%;height:17%}.contrat{left:52.5%;top:36.1%;width:6.7%;height:19%}.quittance{left:78.2%;top:14.5%;width:7.7%;height:16%}.etat{left:13.3%;top:63.5%;width:6.6%;height:18.5%}.enter{position:absolute;left:58.5%;top:45.5%;display:flex;align-items:center;gap:.6cqw;min-height:2.5cqw;border:.14cqw solid #b8cdda;border-radius:.7cqw;background:#041426f2;box-shadow:0 .2cqw .6cqw #0007;padding:.25cqw .55cqw;font-size:1.3cqw;font-weight:700;z-index:3;transition:left 280ms var(--ease),top 280ms var(--ease),transform 160ms var(--ease)}.enter:hover{transform:translateY(-2px);border-color:var(--teal)}kbd{font:inherit;color:#041426;background:#f4f8fc;border-radius:.25cqw;padding:.1cqw .4cqw}.bottom-left{position:absolute;left:2.7%;bottom:4.2%;display:flex;gap:1.1cqw}.arrow{border:.14cqw solid #b5d2dc;border-radius:.8cqw;background:#051426e8;width:3.8cqw;height:2.8cqw;font-size:2cqw;line-height:1;transition:transform 140ms var(--ease),border-color 140ms var(--ease)}.arrow:hover{border-color:var(--teal);transform:translateY(-2px)}.arrow:active{transform:scale(.96)}.instruction{position:absolute;bottom:3%;left:23%;right:23%;margin:0;text-align:center;text-shadow:0 1px 4px #000;font-size:1.15cqw;font-weight:550}.all-missions{position:absolute;right:2.7%;bottom:4.2%;border:.15cqw solid var(--teal);border-radius:1.1cqw;background:#041426e8;font-weight:650;font-size:.92cqw;padding:.7cqw .9cqw}.all-missions:hover{background:#113d49}.lantern{position:absolute;width:2.5%;height:4.5%;border-radius:50%;background:#ffc45712;box-shadow:0 0 2cqw .8cqw #ffb74c0c;pointer-events:none;animation:lamp 4s ease-in-out 2}.lantern-one{left:2.9%;top:24%}.lantern-two{left:79.7%;top:3.6%;animation-delay:1s}@keyframes lamp{50%{opacity:.4;transform:scale(.92)}}.review-bar{display:flex;justify-content:center;align-items:center;gap:24px;min-height:48px;padding:8px 16px;color:#b4c6d6;font-size:12px;background:#030d19}.review-bar button{border:1px solid #385162;border-radius:8px;background:#091a2b;color:#f4f8fc;padding:7px 12px;font-size:12px}.reference-mode .scene>:not(.backdrop){visibility:hidden}.reference-mode .backdrop{content:url('reference.png')}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{background:#061b2cf5;color:#f4f8fc;border:1px solid #29dfdf;border-radius:14px;width:min(540px,calc(100% - 32px));padding:26px;box-shadow:0 20px 100px #000b}dialog[open]{animation:dialog-in 280ms var(--ease)}dialog::backdrop{background:#010714a8;backdrop-filter:blur(5px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--teal);margin:0 0 8px}h1{font-size:25px;margin:0}.close{border:1px solid #446173;border-radius:8px;background:#061729;width:36px;height:36px;font-size:25px}.dialog-subtitle{font-size:14px;color:#bdcddb;margin:14px 0 24px}.mission-list{display:grid;gap:8px}.mission-list button{display:flex;align-items:center;gap:16px;text-align:left;background:#0b2438;border:1px solid #2c485b;border-radius:9px;padding:14px;transition:transform 160ms var(--ease),border-color 120ms var(--ease)}.mission-list button:hover{transform:translateX(3px);border-color:var(--teal)}.number{font-size:20px;color:var(--teal)}.mission-list button>span:nth-child(2){flex:1}.mission-list strong{display:block;font-size:16px}.mission-list small{display:block;font-size:12px;margin-top:5px;color:#b9cada}.privacy{font-size:11px;text-align:center;color:#b9cada;margin:24px 0 0;padding-top:16px;border-top:1px solid #2c485b}@keyframes dialog-in{from{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:none}}body:has(:fullscreen) .scene{width:min(100vw,calc(100svh*1672/941))}
@media(max-width:700px) and (orientation:portrait){main{justify-content:flex-start}.viewport{height:calc(100svh - 70px);display:flex;align-items:center}.scene{width:calc((100svh - 160px)*1672/941);min-width:900px;flex-shrink:0;margin:0}.review-bar{flex-wrap:wrap;gap:7px;padding:9px;font-size:11px;min-height:70px}.instruction{font-size:1.25cqw}.all-missions{font-size:1.15cqw}.text-button{font-size:1.3cqw}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.published .scene{width:min(100%,calc(100svh*1672/941))}
@media(max-width:700px) and (orientation:portrait){.published .scene{width:calc((100svh - 100px)*1672/941);min-width:900px}.published .viewport{height:100svh}}
