/* Approved illustrations are retained as scene artwork. Form data remains in the existing local tools. */
html:has(.mission-game){background:#020d19;color-scheme:dark}
body.mission-game{--scene-w:min(100vw,calc(100svh * 1672 / 941));--scene-h:calc(var(--scene-w) * 941 / 1672);--ink:#f4f8fc;--text:#f4f8fc;--muted:#a7bdcd;--bg:#041725;--surface:#0b2336;--soft:#102c40;--line:#365065;--primary:#22e3df;--primary-hover:#69f6ef;--primary-soft:#113c48;--on-primary:#031a24;--success:#22e3df;--success-text:#6af7ef;--success-soft:#0b373e;--focus:#73fff3;--danger:#ffb09f;--danger-soft:#422731;--warning-text:#ffd080;--warning-soft:#372d20;--derja:#f7bf72;--font:'DM Sans',Arial,sans-serif;--panel-left:.558;--panel-top:.087;--panel-width:.42;--panel-height:.835;margin:0!important;background:#020d19!important;color:var(--text);overflow:hidden;font-family:var(--font);min-height:100svh}
body.mission-game[data-mission=quittance]{--panel-left:.542;--panel-top:.079;--panel-width:.422;--panel-height:.845}
body.mission-game[data-mission=etat]{--panel-left:.643;--panel-top:.081;--panel-width:.343;--panel-height:.875}
.mission-scene{position:fixed;width:var(--scene-w);height:var(--scene-h);left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:0}.mission-scene img{width:100%;height:100%;display:block}
body.mission-game main{position:fixed!important;left:calc((100vw - var(--scene-w))/2 + var(--scene-w)*var(--panel-left))!important;top:calc((100svh - var(--scene-h))/2 + var(--scene-h)*var(--panel-top))!important;width:calc(var(--scene-w)*var(--panel-width))!important;height:calc(var(--scene-h)*var(--panel-height))!important;max-width:none!important;margin:0!important;padding:22px 26px!important;border:2px solid #26ddd6;border-radius:2px;background:#041725!important;box-shadow:inset 0 0 55px #081f3266,0 0 0 3px #061925;overflow:auto;scrollbar-width:thin;scrollbar-color:#31616c #061925;z-index:2;color:var(--text)}
body.mission-game main:before{content:'';display:block;position:sticky;top:-20px;width:20px;height:5px;border-top:2px solid #26ddd6;border-left:2px solid #26ddd6;margin:-10px 0 10px -14px}
.mission-game .wz-bar,.mission-game .topbar,.mission-game>.document-footer,.mission-game .tool-follow,.mission-game .tool-title>p{display:none!important}.mission-game .tool-title{margin:0 0 22px}.mission-game .tool-title h1,.mission-game .wz h1{color:var(--text);font-size:clamp(25px,2.2vw,38px);letter-spacing:-1px;line-height:1.12}.mission-game .tool-title h1 span{color:var(--text)}.mission-game .editor-layout{display:flex;flex-direction:column;gap:22px}.mission-game .editor-panel,.mission-game .preview-panel{width:100%;min-width:0;position:static}.mission-game .field-grid{gap:12px}.mission-game label{font-size:13px;color:var(--text)}.mission-game input:not([type=checkbox]):not([type=range]),.mission-game select,.mission-game textarea{background:var(--surface)!important;color:var(--text)!important;border:1px solid #60798b!important;border-radius:7px!important;min-height:43px;padding:10px;font-size:15px!important}.mission-game input[type=checkbox]{accent-color:var(--primary)}.mission-game .wz-attest input{min-height:0}.mission-game .btn.primary,.mission-game .wz-next{background:var(--primary)!important;color:#031a24!important;border-radius:7px;min-height:49px;font-size:16px;font-weight:750}.mission-game .wz-foot{background:linear-gradient(#04172500,#041725 20%);padding-bottom:0}.mission-game [hidden]{display:none!important}.mission-game .wz-progress span.on{background:var(--primary)}.mission-game .wz-lead{font-size:13px;margin:8px 0 15px}.mission-game .wz-body{padding-top:12px}.mission-game .ds-pieces{border-radius:7px}.mission-game .ds-pieces button{padding:10px 12px}.mission-game .ds-pieces b{font-size:14px}.mission-game .ds-pieces small{font-size:11px}.mission-game .ds-tag{font-size:10px}.mission-game .ds-mark{border-radius:6px}.mission-game .paper-preview,.mission-game .sheet{color:#17334a!important;background:#f7f5ee!important;border-color:#ded8c8!important;border-radius:3px;box-shadow:none}.mission-game .paper-preview p,.mission-game .paper-preview h2,.mission-game .paper-preview h3,.mission-game .sheet h3,.mission-game .sheet h4,.mission-game .sheet p{color:#17334a!important}.mission-game .sheet .dots{background:#eae6db;color:#17334a}.mission-game .room{padding:13px;border-radius:7px}.mission-game .room h3{font-size:17px}.mission-game .quiet,.mission-game .back-link,.mission-game .next-tool{color:var(--primary)}.mission-game .preview-panel{border-top:1px solid var(--line);padding-top:20px}.mission-game .profile-dialog,.mission-game .redact-dialog{color:var(--text);background:var(--bg);border:1px solid var(--primary)}.mission-game .profile-dialog::backdrop,.mission-game .redact-dialog::backdrop{background:#020b17cc}.mission-game .ds-footer{font-size:11px}.game-return{position:fixed;left:calc((100vw - var(--scene-w))/2 + var(--scene-w)*.845);top:calc((100svh - var(--scene-h))/2 + var(--scene-h)*.021);width:calc(var(--scene-w)*.131);height:calc(var(--scene-h)*.052);display:flex;align-items:center;justify-content:center;gap:9px;text-decoration:none!important;border:1px solid #527180;border-radius:10px;background:#051728;color:#f5f9fc!important;font-size:clamp(11px,1.2vw,19px);font-weight:550;z-index:4;white-space:nowrap}.game-return:hover{border-color:var(--primary)}.game-logo{position:fixed;left:calc((100vw - var(--scene-w))/2 + var(--scene-w)*.023);top:calc((100svh - var(--scene-h))/2 + var(--scene-h)*.012);width:calc(var(--scene-w)*.146);height:calc(var(--scene-h)*.069);z-index:3}.mission-privacy{font-size:10px;color:var(--muted);text-align:center;padding:18px 0 0;border-top:1px solid var(--line);margin-top:20px}.mission-nav{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0 20px}.mission-nav button{flex:1;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:6px;min-height:36px;padding:6px 9px;font:600 12px var(--font);cursor:pointer}.mission-nav button[aria-pressed=true]{background:var(--primary);color:#031a24}.room-hotspot{position:fixed;left:calc((100vw - var(--scene-w))/2 + var(--scene-w)*var(--x));top:calc((100svh - var(--scene-h))/2 + var(--scene-h)*var(--y));border:3px solid #22e3df;background:#031525b8;border-radius:50%;width:calc(var(--scene-w)*.025);height:calc(var(--scene-w)*.025);min-width:30px;min-height:30px;color:#22e3df;font-size:16px;z-index:1;cursor:pointer}.room-photo-preview{max-width:100%;height:90px;object-fit:contain;border-radius:5px}.mission-game :is(a,button,input,select,textarea):focus-visible{outline:3px solid #73fff3!important;outline-offset:3px}
@media(max-width:760px){body.mission-game{overflow:auto;--scene-w:100vw;--scene-h:56.28vw}.mission-scene{position:absolute;top:0;left:0;transform:none;width:100%;height:230px;overflow:hidden}.mission-scene img{width:185%;height:auto;max-width:none;transform:translateY(-12%)}body.mission-game main{position:relative!important;left:auto!important;top:auto!important;width:calc(100% - 24px)!important;height:auto!important;max-height:none!important;margin:210px 12px 18px!important;padding:22px 18px!important;overflow:visible}.game-return{position:absolute;top:12px;left:auto;right:12px;width:auto;height:40px;padding:0 12px;font-size:12px;box-shadow:0 4px 20px #0008}.game-logo{position:absolute;top:10px;left:12px;width:145px;height:55px}.mission-game .tool-title h1,.mission-game .wz h1{font-size:28px}.room-hotspot{display:none}.mission-game .field-grid{grid-template-columns:1fr}.mission-game .wz-foot{position:static}.mission-game .wz-attest{font-size:12px}.mission-game .ds-pieces button{gap:8px}.mission-game .ds-tag{padding:3px 5px}.mission-game .ds-pieces b{font-size:13px}.mission-game .ds-footer{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.mission-game *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.mission-game *, .mission-game *::before, .mission-game *::after{box-sizing:border-box}
.game-return{left:calc((100vw - var(--scene-w))/2 + var(--scene-w)*.793);width:calc(var(--scene-w)*.183);top:calc((100svh - var(--scene-h))/2 + var(--scene-h)*.017);height:calc(var(--scene-h)*.065)}
.mission-game .wz-foot{margin-top:18px}
@media(max-width:760px){.game-return{left:auto;right:12px;width:auto;top:12px;height:40px}}
.room-nav{position:fixed;left:calc((100vw - var(--scene-w))/2 + var(--scene-w)*.07);bottom:calc((100svh - var(--scene-h))/2 + var(--scene-h)*.045);width:calc(var(--scene-w)*.54);display:flex;gap:7px;overflow:auto;padding:4px;background:#051725;z-index:3;border-radius:7px}
.room-nav button{border:1px solid #5b7689;border-radius:6px;min-height:43px;padding:8px 14px;color:#f4f8fc;background:#092436;white-space:nowrap;cursor:pointer;font:600 13px var(--font)}.room-nav button:hover,.room-nav button:focus{border-color:#22e3df;background:#10424b}
@media(max-width:760px){.room-nav{position:relative;left:auto;bottom:auto;width:calc(100% - 24px);margin:0 12px 18px}}
.game-return{left:calc((100vw - var(--scene-w))/2 + var(--scene-w)*.79);width:calc(var(--scene-w)*.2)}
.room-hotspot{border:0;background:transparent;color:transparent}.room-hotspot:hover,.room-hotspot:focus-visible{box-shadow:0 0 16px 3px #22e3df88}
.room-nav{top:calc((100svh - var(--scene-h))/2 + var(--scene-h)*.864);bottom:auto;height:calc(var(--scene-h)*.09);align-items:center;padding:10px 12px}
@media(max-width:760px){.game-return{left:auto;width:auto}.room-nav{top:auto;height:auto}}
.mission-game .visually-hidden{width:1px!important;max-width:1px!important;min-width:0!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important;left:0!important}
/* Optional corner discoveries: no persistence, same scene coordinates as mission art. */
.souvenir-hotspot{position:fixed;z-index:5;left:calc((100vw - var(--scene-w))/2 + var(--scene-w)*var(--x));top:calc((100svh - var(--scene-h))/2 + var(--scene-h)*var(--y));width:calc(var(--scene-w)*.048);height:calc(var(--scene-h)*.08);transform:translate(-50%,-50%);background:transparent;border:1px solid transparent;border-radius:8px;cursor:help;color:transparent;padding:0}
.souvenir-hotspot:hover,.souvenir-hotspot:focus-visible{border:2px solid #4ff8e9;box-shadow:0 0 16px #22d7d988;outline:2px solid #07182a;outline-offset:3px}
.souvenir-collection{margin:16px 0 0;border:1px solid #34576d;border-radius:10px;padding:10px;background:#0b2435;color:#eefbff}
.souvenir-collection summary{cursor:pointer;color:#6cf7e6;font-weight:700}.souvenir-collection p{font-size:13px}.souvenir-collection>div{display:flex;flex-wrap:wrap;gap:6px}.mission-game .souvenir-collection button{font-size:13px;padding:7px 9px;min-height:36px;background:#102f43;color:#fff;border:1px solid #51788b;border-radius:6px;cursor:pointer}
.souvenir-dialog{box-sizing:border-box;width:min(600px,calc(100vw - 24px));max-height:calc(100svh - 24px);overflow:auto;padding:20px;border:2px solid #32dfdc;border-radius:16px;background:#071b2d;color:#f5fbff;box-shadow:0 24px 80px #0009;font-family:'DM Sans',sans-serif}.souvenir-dialog::backdrop{background:#000b}.souvenir-dialog h2{font-size:24px;margin:16px 0 8px}.souvenir-dialog p{line-height:1.6}.souvenir-close{float:right;width:40px;height:40px;font-size:26px;color:white;background:#173b50;border:1px solid #7c9aa9;border-radius:8px;cursor:pointer}.souvenir-art{clear:both;width:100%;aspect-ratio:836/470;background-image:url('/quartier-assets/souvenirs.png');background-size:200% 200%;border-radius:10px;margin-top:48px;image-rendering:pixelated}.souvenir-art.souvenir-zoom{background-size:260% 260%}.souvenir-action{background:#1de5d9;color:#032035;border:0;border-radius:8px;padding:12px 18px;font-size:16px;font-weight:700;cursor:pointer}.souvenir-reveal{margin-top:14px;padding:12px;border-left:3px solid #ffd18c;background:#173047}.snake-game{margin:16px auto;max-width:280px}.snake-screen{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;background:#a7bb76;padding:8px;aspect-ratio:1;border:10px solid #263b56;border-radius:12px}.snake-screen span{background:#a7bb76}.snake-screen .snake-pixel{background:#273b20}.snake-screen .snake-food{background:#556b32;border:3px solid #273b20}.snake-controls{display:flex;gap:6px;justify-content:center}.snake-controls button{width:48px;height:44px;background:#29415b;color:white;border:1px solid #98b0bf;border-radius:8px;font-size:22px;cursor:pointer}.souvenir-dialog [hidden]{display:none!important}.souvenir-dialog button:focus-visible{outline:3px solid #ffe0a0;outline-offset:3px}.mission-game b[lang='ar-TN']{font-family:'Noto Arabic',sans-serif;font-size:1.15em}
@media(max-width:760px){.souvenir-hotspot{display:none}.souvenir-collection{margin-bottom:12px}.souvenir-dialog{padding:14px}}
