@font-face{font-family:"EuroFix";src:local("Arial Bold"),local("Arial");unicode-range:U+20AC}
/* ============================================================
   EXPERTISE PSYCHIATRIC SIMULATOR — interface
============================================================ */
:root{--or:#e8913a;--ye:#f2d34a;--red:#ff5a3c;--grn:#7be07b;--ink:#0c0b0a;--pan:rgba(12,11,10,.88);--txt:#e8e2cc;--dim:#a49e86;--px:.22cqw}
html,body{margin:0;height:100%;background:#050607;overflow:hidden;font-family:"EuroFix","Pixelify Sans",ui-monospace,monospace;color:var(--or)}
#wrap{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(100vw,calc(100vh*16/9));aspect-ratio:16/9;background:#000;container-type:size;overflow:hidden}
canvas#cv{width:100%;height:100%;display:block;image-rendering:pixelated;image-rendering:crisp-edges}
.vg{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 58%,rgba(0,0,0,.55) 100%),repeating-linear-gradient(0deg,rgba(0,0,0,.1) 0 1px,transparent 1px 3px)}
.h{position:absolute;letter-spacing:.04em}
#wrap[data-mode=menu] .h,#wrap[data-mode=load] .h{display:none!important}
#wrap[data-mode=hall] #bl,#wrap[data-mode=hall] #street,#wrap[data-mode=hall] #hint{display:none}
.lbl,kbd,.tag,.mfoot,.pfoot,h2,h3{font-family:"Silkscreen","Pixelify Sans",monospace}
/* contours pixel */
.out{text-shadow:var(--px) var(--px) 0 #000,calc(-1*var(--px)) var(--px) 0 #000,var(--px) calc(-1*var(--px)) 0 #000,calc(-1*var(--px)) calc(-1*var(--px)) 0 #000}
.box{background:var(--pan);border:.22cqw solid #3a2e20;box-shadow:0 0 0 .22cqw #000,.45cqw .45cqw 0 rgba(0,0,0,.6)}
/* argent façon GTA */
#money{top:1.6cqw;right:2.2cqw;font-family:"Pixelify Sans";font-weight:700;font-size:5.2cqw;color:var(--ye);text-shadow:.25cqw .25cqw 0 #000,-.25cqw .25cqw 0 #000,.25cqw -.25cqw 0 #000,-.25cqw -.25cqw 0 #000,0 .55cqw 0 #6a5410}
#money.neg{color:var(--red);text-shadow:.25cqw .25cqw 0 #000,-.25cqw .25cqw 0 #000,.25cqw -.25cqw 0 #000,-.25cqw -.25cqw 0 #000,0 .55cqw 0 #5a1a10}
#ticker{top:9.4cqw;right:2.2cqw;text-align:right;font-size:1.75cqw;font-weight:600}
#ticker div{margin-bottom:.35cqw;text-shadow:.16cqw .16cqw 0 #000,-.16cqw .16cqw 0 #000,.16cqw -.16cqw 0 #000,-.16cqw -.16cqw 0 #000;animation:fade 5s forwards,slin .25s ease-out}
#ticker .m{color:var(--red)}#ticker .p{color:var(--grn)}#ticker .i{color:var(--or)}
@keyframes fade{0%,75%{opacity:1}100%{opacity:0}}
@keyframes slin{from{transform:translateX(3cqw);opacity:0}to{transform:none;opacity:1}}
/* horloge / objectif */
.pan{background:var(--pan);border:.22cqw solid #3a2e20;box-shadow:0 0 0 .22cqw #000,.45cqw .45cqw 0 rgba(0,0,0,.6);padding:.7cqw 1.1cqw;font-size:1.25cqw}
#tl{top:1.8cqw;left:2cqw;line-height:1.45;min-width:24cqw}
#tlabel{font-family:"Silkscreen";color:var(--dim);font-size:1.05cqw}
#tl .big{font-family:"Pixelify Sans";font-weight:700;font-size:3.4cqw;color:var(--or);line-height:1.1}
#tl.late .big{color:var(--red);animation:bl .6s steps(2) infinite}
@keyframes bl{50%{opacity:.25}}
#bar{height:.6cqw;background:#2a2118;margin-top:.4cqw;box-shadow:inset 0 0 0 .1cqw #000}#bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#c8702a,var(--ye))}
#req{font-family:"Silkscreen";font-size:1.05cqw;color:var(--dim);margin-top:.5cqw}
#req.warn{color:var(--red);animation:bl .7s steps(2) infinite}
/* vitesse + clignotants */
#bl{bottom:2cqw;left:2cqw;font-size:1.6cqw}
#spd{font-family:"Pixelify Sans";font-weight:700;font-size:3.4cqw;color:var(--or);text-shadow:.22cqw .22cqw 0 #000}
.cl{display:inline-block;width:3cqw;height:2.2cqw;line-height:2.2cqw;text-align:center;border:.2cqw solid #4a3a28;color:#4a3a28;margin-right:.6cqw;cursor:pointer;font-size:1.5cqw;background:rgba(0,0,0,.5)}
.cl.on{color:#6aff6a;border-color:#6aff6a;box-shadow:0 0 1cqw #4aff4a}
#hint{bottom:1.6cqw;left:50%;transform:translateX(-50%);font-family:"Silkscreen";font-size:1.05cqw;text-align:center;opacity:.9;transition:opacity 1s;white-space:nowrap;color:var(--txt);background:var(--pan);padding:.5cqw 1cqw;box-shadow:0 0 0 .2cqw #000}
#msg{top:34%;left:0;right:0;text-align:center;font-family:"Pixelify Sans";font-weight:700;font-size:6.4cqw;color:var(--red);text-shadow:.35cqw .35cqw 0 #000,-.2cqw -.2cqw 0 #000;opacity:0;transition:opacity .2s}
#sub{top:47%;left:0;right:0;text-align:center;font-size:2cqw;color:var(--ye);opacity:0;text-shadow:.2cqw .2cqw 0 #000,-.2cqw .2cqw 0 #000;transition:opacity .2s}
#street{left:2cqw;bottom:10cqw;font-family:"Pixelify Sans";font-weight:700;font-size:3.2cqw;color:var(--ye);opacity:0;text-shadow:.25cqw .25cqw 0 #000,-.2cqw .2cqw 0 #000,.2cqw -.2cqw 0 #000;white-space:nowrap}
@keyframes st{0%{opacity:0;transform:translateX(-3cqw)}10%,72%{opacity:1;transform:none}100%{opacity:0}}
/* prison : objectifs, invite, jauge */
#todo{top:13.6cqw;left:2cqw;font-size:1.35cqw;line-height:1.65;display:none;background:var(--pan);padding:.7cqw 1.1cqw;box-shadow:0 0 0 .22cqw #000,.45cqw .45cqw 0 rgba(0,0,0,.6);border:.22cqw solid #3a2e20;color:var(--txt)}
#todo .ok{color:var(--grn);text-decoration:line-through;text-decoration-color:rgba(123,224,123,.5)}
#prompt{bottom:13cqw;left:50%;transform:translateX(-50%);font-size:1.8cqw;font-weight:600;color:var(--ye);display:none;white-space:nowrap;background:var(--pan);padding:.5cqw 1.2cqw;box-shadow:0 0 0 .22cqw #000;animation:pop .2s ease-out}
@keyframes pop{from{transform:translateX(-50%) scale(.85);opacity:0}to{transform:translateX(-50%);opacity:1}}
#mini{top:28%;left:50%;transform:translateX(-50%);display:none;font-family:"Silkscreen";font-size:1.6cqw;text-align:center;background:var(--pan);border:.25cqw solid var(--or);box-shadow:0 0 0 .22cqw #000;padding:1.1cqw 2cqw;min-width:34cqw;color:var(--txt)}
#minib{height:1.3cqw;background:#2a2118;margin-top:.8cqw;box-shadow:inset 0 0 0 .12cqw #000}#minif{display:block;height:100%;width:0;background:linear-gradient(90deg,#c8702a,var(--ye))}
/* dialogues avec portrait */
#dlg{position:absolute;left:10cqw;right:10cqw;bottom:2.4cqw;background:var(--pan);border:.25cqw solid var(--or);box-shadow:0 0 0 .25cqw #000,.6cqw .6cqw 0 rgba(0,0,0,.6);padding:1.1cqw 1.6cqw 1.8cqw 1.1cqw;font-size:1.95cqw;line-height:1.45;display:none;gap:1.4cqw;align-items:flex-start;color:var(--txt);z-index:3}
#por{width:8cqw;height:8cqw;image-rendering:pixelated;flex:none;box-shadow:0 0 0 .22cqw #000,0 0 0 .44cqw #3a2e20}
#dlg .dt{flex:1;min-height:6cqw}
#dlg b{display:block;font-family:"Silkscreen";color:var(--ye);font-size:1.35cqw;margin-bottom:.3cqw;letter-spacing:.08em}
#dlg em{position:absolute;right:1.2cqw;bottom:.4cqw;font-family:"Silkscreen";font-size:1.05cqw;color:var(--or);font-style:normal;animation:bl 1s steps(2) infinite}
/* fondus */
#fade{position:absolute;inset:0;background:#050607;display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--or);gap:1.2cqw;z-index:6;animation:fin .35s ease-out}
@keyframes fin{from{opacity:0}to{opacity:1}}
#fade h2{font-family:"Pixelify Sans";font-weight:700;font-size:4.6cqw;margin:0;letter-spacing:.06em;text-shadow:.35cqw .35cqw 0 #3a1a08}
#fade p{font-size:1.9cqw;color:var(--dim);margin:0}
/* écrans plein cadre */
.scr{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1.2cqw;z-index:5}
.logo{display:flex;flex-direction:column;font-family:"Pixelify Sans";font-weight:700;line-height:.92;letter-spacing:.04em}
.logo span{font-size:6.4cqw;color:var(--or);text-shadow:.45cqw .45cqw 0 #3a1a08,-.2cqw -.2cqw 0 #000,.2cqw -.2cqw 0 #000,-.2cqw .2cqw 0 #000}
.logo span:nth-child(2){color:var(--ye);font-size:5.2cqw}
.logo span:nth-child(3){font-size:4.4cqw;color:#e8e2cc}
.logo.small span{font-size:4cqw}.logo.small span:nth-child(2){font-size:3.3cqw}.logo.small span:nth-child(3){font-size:2.8cqw}
#loading{background:#050607}
.ld{font-family:"Silkscreen";color:var(--dim);font-size:1.4cqw;animation:bl 1s steps(2) infinite}
#menu{align-items:flex-start;justify-content:center;background:linear-gradient(90deg,rgba(4,4,6,.92) 0%,rgba(4,4,6,.75) 38%,rgba(4,4,6,0) 70%)}
.mleft{margin-left:6cqw;display:flex;flex-direction:column;align-items:flex-start;gap:1.2cqw;text-align:left}
.tag{font-size:1.2cqw;color:var(--dim);letter-spacing:.2em;margin:.6cqw 0 1.6cqw}
.mitems{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5cqw}
.mitems li{font-family:"Pixelify Sans";font-weight:600;font-size:2.6cqw;color:#8a8270;cursor:pointer;padding:.15cqw 1cqw .15cqw 0;transition:color .1s,transform .1s}
.mitems li .cur{display:inline-block;width:2.6cqw;color:transparent}
.mitems li.on{color:var(--ye);transform:translateX(.6cqw);text-shadow:.25cqw .25cqw 0 #000}
.mitems li.on .cur{color:var(--or);animation:bl .8s steps(2) infinite}
.mfoot,.pfoot{font-size:1cqw;color:#6a6452;letter-spacing:.12em;margin-top:1.4cqw}
#pause,#panel{background:rgba(4,4,6,.72)}
.pbox{background:var(--pan);border:.25cqw solid var(--or);box-shadow:0 0 0 .25cqw #000,.8cqw .8cqw 0 rgba(0,0,0,.6);padding:2cqw 3cqw;min-width:30cqw;display:flex;flex-direction:column;align-items:center;gap:1cqw}
.pbox.wide{width:70cqw;max-height:80cqh;overflow:auto;align-items:stretch;text-align:left}
.pbox h2{margin:0 0 .6cqw;font-size:2.6cqw;color:var(--ye);text-align:center;letter-spacing:.12em}
.pbox h3{margin:.8cqw 0 .4cqw;font-size:1.3cqw;color:var(--or);letter-spacing:.1em}
.pbox p{margin:.35cqw 0;font-size:1.55cqw;color:var(--txt);line-height:1.5}
.pbox b{color:var(--ye)}
.pbox .small,.small{font-size:1.1cqw!important;color:var(--dim)!important}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:2cqw}
.rule{border-top:.15cqw solid #3a2e20;padding-top:1cqw;margin-top:1cqw!important}
kbd{display:inline-block;min-width:1.6cqw;padding:.05cqw .45cqw;margin-right:.3cqw;font-size:1.05cqw;color:#141210;background:#e8e2cc;box-shadow:0 .25cqw 0 #8a8270,0 0 0 .15cqw #000;text-align:center}
.cred p{font-size:1.5cqw}
.opts{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.7cqw}
.opts li{display:grid;grid-template-columns:22cqw 1fr 6cqw;align-items:center;font-size:1.6cqw;color:#8a8270;cursor:pointer;padding:.3cqw .6cqw}
.opts li.on{color:var(--ye);background:rgba(232,145,58,.12);box-shadow:inset .3cqw 0 0 var(--or)}
.opts .bar{display:flex;gap:.25cqw}.opts .bar i{display:block;width:1.8cqw;height:1.4cqw;background:#2a2118;box-shadow:inset 0 0 0 .12cqw #000}.opts .bar i.f{background:var(--or)}
.opts li.on .bar i.f{background:var(--ye)}
.opts .val{text-align:right;font-family:"Silkscreen";font-size:1.2cqw}
.go{margin-top:1cqw;font-family:"Silkscreen";font-size:1.4cqw;color:var(--ye);animation:bl 1s steps(2) infinite}
/* bilan */
#end{background:rgba(4,4,6,.9)}
#end h1{margin:0;font-family:"Pixelify Sans";font-weight:700;font-size:4.4cqw;color:var(--or);letter-spacing:.06em;text-shadow:.4cqw .4cqw 0 #3a1a08}
#end p{margin:0;font-size:1.6cqw;color:var(--txt);line-height:1.6}
#end b{color:var(--ye)}
#end table{border-collapse:collapse;font-size:1.8cqw;min-width:44cqw;background:var(--pan);box-shadow:0 0 0 .22cqw #000;color:var(--txt)}
#end td{padding:.35cqw 1.4cqw;text-align:left}#end td:last-child{text-align:right;font-weight:600}
#end .tot td{border-top:.22cqw solid var(--or);font-size:2.6cqw;color:var(--ye);padding-top:.7cqw;font-weight:700}
.neg{color:var(--red)!important}.pos{color:var(--grn)!important}

#money .eur{font-family:"Arial Black",Arial,sans-serif;font-size:.78em;margin-left:.6cqw}

#dlg{cursor:pointer}#dlg .opt{cursor:pointer}#dlg .opt:hover{color:var(--ye)}

/* note d'intro : papier qui se déplie */
#note{position:absolute;inset:0;display:none;align-items:center;justify-content:center;z-index:7;background:rgba(5,6,7,.55);cursor:pointer}
#note .paper{position:relative;width:46cqw;padding:2.4cqw 3cqw 1.8cqw;color:#2a2418;transform:rotate(-1.6deg);transform-origin:50% 50%;
 background:linear-gradient(180deg,transparent 32.6%,rgba(80,60,30,.22) 33.2%,rgba(255,255,255,.35) 33.8%,transparent 35%,transparent 65.6%,rgba(80,60,30,.22) 66.2%,rgba(255,255,255,.35) 66.8%,transparent 68%),
 linear-gradient(90deg,transparent 49.4%,rgba(80,60,30,.14) 50%,rgba(255,255,255,.25) 50.6%,transparent 51.5%),
 repeating-linear-gradient(180deg,transparent 0 2.25cqw,rgba(70,110,170,.18) 2.25cqw 2.4cqw),#efe6cc;
 box-shadow:0 0 0 .2cqw #c9bc98,.8cqw 1cqw 0 rgba(0,0,0,.55);animation:unfold 1.15s cubic-bezier(.3,.7,.2,1) both}
#note .paper::before{content:"";position:absolute;left:4.2cqw;top:0;bottom:0;width:.15cqw;background:rgba(200,60,50,.45)}
#note .tape{position:absolute;top:-1.2cqw;left:50%;width:9cqw;height:2.4cqw;transform:translateX(-50%) rotate(3deg);background:rgba(240,225,170,.75);box-shadow:0 .2cqw .4cqw rgba(0,0,0,.25)}
#note .nc{position:relative;padding-left:2.4cqw;font-family:"Pixelify Sans";font-size:1.75cqw;line-height:1.35;animation:nfade .5s .95s both}
#note .nh{font-family:"Silkscreen";font-size:1.05cqw;color:#8a6a3a;letter-spacing:.1em;margin-bottom:.8cqw}
#note p{margin:.25cqw 0}#note .hi{font-weight:700;font-size:2.1cqw}
#note ul{margin:.6cqw 0;padding-left:1.8cqw}#note li{margin:.35cqw 0}#note b{color:#7a2a14}
#note .oce{margin-top:1cqw;font-weight:700;font-size:2.6cqw;color:#c0281c;transform:rotate(-2deg);display:inline-block;padding:0 .6cqw;background:linear-gradient(transparent 60%,rgba(242,211,74,.75) 60% 92%,transparent 92%);animation:nfade .4s 1.25s both,oce 1.6s 1.7s ease-in-out infinite}
#note .oce span{display:block;font-family:"Silkscreen";font-weight:400;font-size:1cqw;color:#8a3a2a;letter-spacing:.06em}
#note .sig{font-size:1.4cqw;color:#5a4a30;font-style:italic;margin-top:.6cqw}
#note .nfoot{display:flex;justify-content:space-between;margin-top:1.2cqw;font-family:"Silkscreen";font-size:1.05cqw;color:#8a6a3a}
#note .nfoot span:last-child{color:#c0281c;animation:bl 1s steps(2) infinite}
#note.ok .oce{color:#2a7a2a;background:linear-gradient(transparent 60%,rgba(123,224,123,.6) 60% 92%,transparent 92%);animation:none}
@keyframes unfold{0%{transform:rotate(-1.6deg) scale(.12,.05);opacity:0}25%{transform:rotate(-1.6deg) scale(.5,.06);opacity:1}48%{transform:rotate(-1.6deg) scale(1,.06)}72%{transform:rotate(-1.6deg) scale(1,.36)}86%{transform:rotate(-1.6deg) scale(1,.38)}100%{transform:rotate(-1.6deg) scale(1,1)}}
@keyframes nfade{from{opacity:0}to{opacity:1}}
@keyframes oce{0%,100%{transform:rotate(-2deg) scale(1)}50%{transform:rotate(-2deg) scale(1.05)}}

/* succès, records */
#toasts{position:absolute;right:1.5cqw;bottom:6cqw;display:flex;flex-direction:column;gap:.8cqw;z-index:60;pointer-events:none}
.toast{background:var(--pan);border:.22cqw solid var(--ye);box-shadow:0 0 0 .22cqw #000,.5cqw .5cqw 0 rgba(0,0,0,.6);padding:.7cqw 1.2cqw;display:flex;flex-direction:column;gap:.2cqw;animation:tin .35s steps(4);transition:opacity .5s,transform .5s;max-width:34cqw}
.toast b{font-family:"Silkscreen";font-size:1.3cqw;color:var(--ye);letter-spacing:.05em}.toast span{font-size:1.2cqw;color:var(--txt)}
.toast.out{opacity:0;transform:translateX(4cqw)}
@keyframes tin{from{transform:translateX(6cqw);opacity:0}to{transform:none;opacity:1}}
.succ{grid-template-columns:1.1fr 1fr}
.achl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25cqw;max-height:24cqw;overflow:auto}
.achl li{display:flex;flex-direction:column;font-size:1.1cqw;color:#5a5244;padding:.15cqw .5cqw;box-shadow:inset .25cqw 0 0 #3a2e20}
.achl li b{color:#6a6050;font-size:1.25cqw}.achl li.ok{color:var(--txt);box-shadow:inset .25cqw 0 0 var(--ye)}.achl li.ok b{color:var(--ye)}
.recs{border-collapse:collapse;font-size:1.15cqw;color:var(--txt)}.recs td{padding:.12cqw .5cqw}.recs tr:first-child td{color:var(--ye)}
#end .score{font-family:"Silkscreen";font-size:1.45cqw;color:var(--or)}
