/* Moniteur et tour de bureau, vers 2000 : plastique mastic mat, tube bombé, la cartouche entre par la façade de la tour. */
@property --teinte{syntax:'<color>';inherits:true;initial-value:#e8e6dd}
.salle{transition:--teinte .45s ease;background:radial-gradient(80% 60% at 50% 30%,#2a2b2e 0%,#1a1b1e 55%,#0e0f11 100%)}
.table{top:calc(var(--dy) + calc(var(--k)*48.6));border-top:0;background:linear-gradient(#4a3a2c 0,#3a2d22 5px,#2c221a 60px,#1f1813 100%);box-shadow:inset 0 2px 0 #ffe8c81a}
.lueur{top:calc(var(--dy) + calc(var(--k)*21))}
.pupitre{top:calc(var(--dy) + calc(var(--k)*2.8));height:calc(var(--k)*45.8)}
.mon,.tour,.mon__cou,.mon__plateau{position:absolute}
.mat{position:absolute;inset:0;opacity:.42;pointer-events:none;background:radial-gradient(30% 18% at 12% 14%,#ffffff1a,#fff0 70%),radial-gradient(22% 12% at 92% 80%,#463e2c1f,#0000 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .32 0 0 0 0 .3 0 0 0 0 .26 0 0 0 .9 -.28'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23g)'/%3E%3C/svg%3E")}
.mon,.tour{background:linear-gradient(180deg,#c6c2b5 0%,#b8b4a6 45%,#a9a596 100%);overflow:hidden}
.mon{left:calc(var(--k)*6.25);top:0;width:calc(var(--k)*51.39);height:calc(var(--k)*38.89);z-index:2;border-radius:calc(var(--k)*1.94) calc(var(--k)*1.94) calc(var(--k)*1.67) calc(var(--k)*1.67);box-shadow:inset 0 2px 0 #ffffff61,inset 0 -3px 0 #00000040,inset 3px 0 0 #ffffff1a,inset -3px 0 0 #00000029,0 calc(var(--k)*1.67) calc(var(--k)*2.1) #0009}
.mon__joint{position:absolute;left:0;right:0;top:calc(var(--k)*35.56);height:3px;background:linear-gradient(#7d796d,#d7d3c6)}
.mon__creux{position:absolute;left:calc(var(--k)*2.78);top:calc(var(--k)*2.08);width:calc(var(--k)*45.83);height:calc(var(--k)*32.5);border-radius:calc(var(--k)*2.08);background:linear-gradient(160deg,#2d2d2a,#141413 60%,#1f1f1d);box-shadow:inset 0 0 0 2px #0b0b0a,inset 0 4px 10px #000d,0 1px 0 #ffffff47,inset 0 0 calc(var(--k)*3) color-mix(in srgb,var(--teinte) 16%,transparent)}
.mon__ouies{position:absolute;border-radius:3px;box-shadow:0 1px 0 #ffffff40}
.mon__ouies--h{left:calc(var(--k)*17.36);top:calc(var(--k)*.49);width:calc(var(--k)*16.67);height:calc(var(--k)*.83);background:repeating-linear-gradient(90deg,#3c3932d9 0 4px,#0000 4px 9px)}
.mon__ouies--g,.mon__ouies--d{top:calc(var(--k)*10.4);width:calc(var(--k)*1.1);height:calc(var(--k)*13.9);background:repeating-linear-gradient(0deg,#3c3932cc 0 3px,#0000 3px 8px)}
.mon__ouies--g{left:-2px}.mon__ouies--d{right:-2px}
.ecran{position:absolute;left:calc(var(--k)*4.17);top:calc(var(--k)*2.92);width:calc(var(--k)*43.06);height:calc(var(--k)*30.83);z-index:2;border-radius:calc(var(--k)*2.78)/calc(var(--k)*2.22);box-shadow:inset 0 0 0 2px #000,0 0 0 1px #070707}
.ecran__image{inset:0;border-radius:inherit}
.ecran__verre{border-radius:inherit;background:linear-gradient(118deg,#ffffff24 0%,#ffffff0a 20%,#fff0 36%),radial-gradient(72% 66% at 50% 50%,#0000 56%,#0000009e 100%),repeating-linear-gradient(0deg,#0000003d 0 1px,#0000 1px 3px);box-shadow:inset 0 0 calc(var(--k)*4) calc(var(--k)*.5) #0000008c}
.plaque{position:absolute;left:calc(var(--k)*2.78);top:calc(var(--k)*36.5);font:700 calc(var(--k)*1.04)/1 Arial,Helvetica,sans-serif;letter-spacing:-.02em;color:#33312b;text-shadow:none;text-align:left}
.mon__modele{position:absolute;left:calc(var(--k)*2.78);top:calc(var(--k)*37.9);font:600 calc(var(--k)*.42)/1 "Helvetica Neue",Arial,sans-serif;letter-spacing:.05em;text-transform:uppercase;color:#55524a}
.mon__boutons{position:absolute;right:calc(var(--k)*4.3);top:calc(var(--k)*35.97);display:flex;gap:calc(var(--k)*1.1);align-items:flex-end}
.mon__boutons span{display:flex;flex-direction:column;align-items:center;gap:calc(var(--k)*.3);font:600 calc(var(--k)*.48)/1 "Helvetica Neue",Arial,sans-serif;letter-spacing:.05em;text-transform:uppercase;color:#3d3b35}
.mon__boutons i{display:block;width:calc(var(--k)*1.8);height:calc(var(--k)*1.1);border-radius:3px;background:linear-gradient(#dcd8cb,#a29e90);box-shadow:0 2px 0 #716d62,0 3px 3px #00000052,inset 0 1px 0 #f4f1e8}
.vis{position:absolute;width:calc(var(--k)*.7);height:calc(var(--k)*.7);border-radius:50%;background:radial-gradient(circle at 35% 35%,#ebe7db,#8f8a7d 70%);box-shadow:0 1px 1px #00000073}
.vis::after{content:"";position:absolute;left:8%;right:8%;top:42%;height:1.5px;background:#4d493f;transform:rotate(35deg)}
.mon .vis--g{left:calc(var(--k)*.97);top:calc(var(--k)*36.4)}.mon .vis--d{right:calc(var(--k)*.97);top:calc(var(--k)*36.4)}
.tour .vis--g{left:calc(var(--k)*.55);top:calc(var(--k)*.55)}.tour .vis--d{right:calc(var(--k)*.55);top:calc(var(--k)*.55)}
.mon__cou,.mon__plateau{filter:brightness(calc(1 - var(--nuit,0)*.72))}
.mon__cou{left:calc(var(--k)*28.47);top:calc(var(--k)*38.33);width:calc(var(--k)*6.94);height:calc(var(--k)*2.08);z-index:1;border-radius:calc(var(--k)*.7) calc(var(--k)*.7) 4px 4px;background:linear-gradient(90deg,#9e9a8c,#c3bfb2 50%,#9e9a8c);box-shadow:inset 0 2px 0 #ffffff4d}
.mon__plateau{left:calc(var(--k)*23.6);top:calc(var(--k)*39.58);width:calc(var(--k)*16.67);height:calc(var(--k)*.97);z-index:3;border-radius:calc(var(--k)*.49);background:linear-gradient(#cdc9bc,#a19d8f);box-shadow:0 3px 4px #00000073,inset 0 1px 0 #ffffff66}
.tour{left:0;top:calc(var(--k)*40.28);width:calc(var(--k)*63.89);height:calc(var(--k)*5.56);z-index:2;border-radius:calc(var(--k)*.83) calc(var(--k)*.83) calc(var(--k)*.55) calc(var(--k)*.55);box-shadow:inset 0 2px 0 #ffffff61,inset 0 -3px 0 #00000047,inset 3px 0 0 #ffffff1a,inset -3px 0 0 #00000029,0 calc(var(--k)*1.1) calc(var(--k)*1.5) #0009}
.mon::after,.tour::after{content:"";position:absolute;inset:0;background:#050506;opacity:calc(var(--nuit,0)*.62);pointer-events:none}
.salle.nuit-finie .mon::after,.salle.nuit-finie .tour::after{opacity:0;transition:opacity .5s ease-out}
.tour__grille{position:absolute;top:calc(var(--k)*1.11);height:calc(var(--k)*3.33);border-radius:4px;background:repeating-linear-gradient(90deg,#3a3730e6 0 3px,#0000 3px 7px);box-shadow:inset 0 2px 3px #00000059,0 1px 0 #ffffff4d}
.tour__grille--g{left:calc(var(--k)*2.5);width:calc(var(--k)*10.3)}.tour__grille--d{right:calc(var(--k)*2.5);width:calc(var(--k)*10.3)}
.tour .afficheur{position:absolute;left:calc(var(--k)*14);top:calc(var(--k)*1.11);width:calc(var(--k)*12.2);height:calc(var(--k)*3.33);padding:0 calc(var(--k)*.8);flex-direction:row;align-items:center;justify-content:space-between;gap:calc(var(--k)*.5);border-radius:3px;background:#0a130c;color:#4d8a5f;box-shadow:inset 0 2px 4px #000,0 1px 0 #ffffff4d}
.tour .afficheur span{font:500 calc(var(--k)*.5)/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.04em}
.tour .afficheur b{font:500 calc(var(--k)*1)/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.04em;color:#7dff9c;text-shadow:0 0 calc(var(--k)*.5) #3cff6e88}
.pupitre__fente{left:calc(var(--k)*27.845);top:calc(var(--k)*1.25);width:calc(var(--k)*8.2);height:calc(var(--k)*2.5);margin-left:0;border-radius:3px;background:#0c0c0b;box-shadow:0 0 0 2px #8e8a7e,0 0 0 3px #d8d4c7,inset 0 6px 8px #000000f2,inset 0 -2px 0 #ffffff2e}
.pupitre__fente::after{content:"";position:absolute;left:4%;right:4%;bottom:calc(var(--k)*.35);height:calc(var(--k)*.2);border-radius:9px;background:var(--teinte);box-shadow:0 0 calc(var(--k)*.8) calc(var(--k)*.12) var(--teinte);opacity:0;transition:opacity .35s ease}
.pupitre.est-chargee .pupitre__fente::after{opacity:.9}
.tour__lbl{position:absolute;left:calc(var(--k)*27.845);width:calc(var(--k)*8.2);top:calc(var(--k)*4.3);text-align:center;font:600 calc(var(--k)*.44)/1 "Helvetica Neue",Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#55524a}
.tour .ejecter{position:absolute;left:calc(var(--k)*37.69);top:calc(var(--k)*1.4);width:calc(var(--k)*5.6);height:calc(var(--k)*2.3);padding:0;border-radius:3px;font:500 calc(var(--k)*.72)/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.02em;background:linear-gradient(#dcd8cb,#a29e90);color:#33312b;box-shadow:0 2px 0 #716d62,0 3px 3px #0000004d,inset 0 1px 0 #f4f1e8}
.tour .ejecter:disabled{color:#7a766a}
.tour .voyant-ligne{position:absolute;left:calc(var(--k)*44.5);top:calc(var(--k)*1.5);display:flex;align-items:center;gap:calc(var(--k)*.5);padding:0;font:600 calc(var(--k)*.5)/1 "Helvetica Neue",Arial,sans-serif;letter-spacing:.06em;color:#3d3b35}
.voyant{width:calc(var(--k)*.72);height:calc(var(--k)*.72);background:#6b7768}
.voyant.est-allume{background:radial-gradient(circle at 35% 35%,#c9ffcf,#25b84c 55%,#0d6b25);box-shadow:0 0 calc(var(--k)*.5) calc(var(--k)*.12) #3cff6e73,0 0 0 1px #00000073}
.tour .voyant,.tour .afficheur{z-index:1}
.tour .pupitre__fente,.tour .ejecter{z-index:auto}
@media (max-width:720px) and (orientation:portrait){
  .table{top:auto;height:calc(100vh - 52.6vw - min(100vw,calc(100vh - 100vw)));height:calc(100dvh - 52.6vw - min(100vw,calc(100dvh - 100vw)))}
  .pupitre{left:3vw;margin-left:0;width:94vw;height:auto;top:21vw}
  .mon{position:relative;left:0;top:0;width:100%;height:auto;padding:3.4vw 3.4vw 13vw;border-radius:3.6vw}
  .mon__creux{left:2vw;right:2vw;top:2vw;bottom:11.4vw;width:auto;height:auto;border-radius:3vw}
  .ecran{position:relative;left:0;top:0;width:100%;height:min(100vw,calc(100vh - 100vw));height:min(100vw,calc(100dvh - 100vw));border-radius:3vw/2.6vw}
  .ecran__image{inset:0;border-radius:inherit}
  .mon__joint{top:auto;bottom:10vw}
  .mon__ouies,.mon__boutons,.mon__modele,.vis,.mon__cou{display:none}
  .plaque{display:block;left:4vw;top:auto;bottom:2.6vw;font-size:5vw}
  .mon__plateau{position:relative;left:auto;top:auto;display:block;width:40vw;height:2.2vw;margin:-.6vw auto 0;border-radius:1.1vw}
  .tour{position:relative;left:0;top:0;width:100%;height:14vw;margin-top:-.4vw;border-radius:1.8vw}
  .tour__grille,.tour__lbl,.tour .voyant-ligne{display:none}
  .tour .afficheur{left:2.4vw;top:2.8vw;width:30.85vw;height:8.4vw;padding:0 1.6vw;gap:1vw}
  .tour .afficheur span{display:none}.tour .afficheur b{font-size:3.2vw}
  .pupitre__fente{left:37.25vw;top:3.4vw;width:19.5vw;height:6.6vw;margin-left:0}
  .pupitre__fente::after{bottom:1vw;height:.6vw}
  .tour .ejecter{left:auto;right:2.4vw;top:3.2vw;width:30.85vw;height:7.4vw;font-size:2.9vw;border-radius:1vw}
}
/* Une cartouche qui entre dans la fente n'a plus d'ombre portée : coupée avec elle, l'ombre ferait un trait droit sur la façade. */
.cartouche.cartouche--vol{transition:box-shadow .24s ease}
.cartouche.cartouche--vol.est-rentree{box-shadow:inset 0 1px 0 #ffffff55,inset 0 calc(var(--ck)*-.5) 0 #00000038,0 calc(var(--ck)*.5) 0 color-mix(in srgb,var(--corps) 56%,#000)}
.cartouche__ombre{position:absolute;inset:0;display:block;border-radius:inherit;background:linear-gradient(180deg,#000 32%,#0000 72%);opacity:0;pointer-events:none;z-index:3}
.vol__fenetre{position:absolute;left:0;right:0;bottom:-30vh;overflow:hidden;pointer-events:none}
.cartouche{box-shadow:inset 0 1px 0 #ffffff55,inset 0 calc(var(--ck)*-.5) 0 #00000038,0 calc(var(--ck)*.5) 0 color-mix(in srgb,var(--corps) 56%,#000),0 calc(var(--ck)*1.05) calc(var(--ck)*1.4) #0009}
.cartouche__tranche{position:absolute;left:0;top:0;display:block;border-radius:0 0 calc(var(--ck)*.42) calc(var(--ck)*.42);background:linear-gradient(180deg,color-mix(in srgb,var(--corps) 70%,#fff) 0,var(--corps) 18%,color-mix(in srgb,var(--corps) 58%,#000) 100%);box-shadow:0 calc(var(--ck)*.55) calc(var(--ck)*1.1) #000b,inset 0 1px 0 #ffffff4d;pointer-events:none}
.cartouche__tranche::after{content:"";position:absolute;left:24%;right:24%;top:28%;bottom:30%;border-radius:2px;background:repeating-linear-gradient(90deg,#00000047 0 2px,#ffffff1f 2px 5px)}

/* Rangée : les 5 grandes cartouches posées à plat sur un bac en plastique mastic,
   centrées sous la tour ; les 6 petites en grille à droite, dans le prolongement de la rangée. */
@media (min-width:721px),(orientation:landscape){
  .etagere{
    --ck:calc(var(--k)*.7);
    position:absolute;left:0;right:0;top:calc(var(--dy) + var(--k)*50.64);
    width:auto;height:calc(var(--ck)*12.8);transform:none;
    display:flex;justify-content:center;align-items:flex-end;gap:calc(var(--ck)*2);
  }

  /* Bac mastic : il s'étend sous la rangée et laisse dépasser un liseré à l'avant */
  .etagere::before{
    content:"";position:absolute;left:calc(var(--ck)*-2.6);right:calc(var(--ck)*-2.6);
    bottom:calc(var(--ck)*-1.6);height:calc(var(--ck)*2.9);border-radius:calc(var(--ck)*.5);
    background:
      repeating-linear-gradient(90deg,#0000 0 calc(var(--ck)*1.1),#00000014 calc(var(--ck)*1.1) calc(var(--ck)*1.2)),
      linear-gradient(180deg,#8f8b7e 0%,#716d62 45%,#4f4b42 100%);
    box-shadow:inset 0 calc(var(--ck)*.25) 0 #ffffff80,inset 0 calc(var(--ck)*-.3) 0 #0000002e,0 calc(var(--ck)*.35) calc(var(--ck)*.6) #0000004d;
    pointer-events:none;
  }

  /* Ombre portée légère au sol, sous le bac */
  .etagere::after{
    content:"";position:absolute;left:calc(var(--ck)*-3.4);right:calc(var(--ck)*-3.4);
    bottom:calc(var(--ck)*-2.6);height:calc(var(--ck)*4);border-radius:50%;
    background:radial-gradient(closest-side,#0000008c,#0000);
    z-index:-1;pointer-events:none;
  }

  /* Les petites : une grille nette de 3 sur 2, de la même hauteur qu'une grande cartouche, dans le prolongement de la rangée */
  .etagere__petites{
    display:grid;grid-template-columns:repeat(3,auto);gap:calc(var(--ck)*.6);margin:0;
  }
}

/* Téléphone debout : deux lignes centrées, les 11 cartouches visibles sans défiler */
@media (max-width:720px) and (orientation:portrait){
  .etagere{--ck:1.62vw;left:0;right:0;transform:none;top:auto;bottom:max(5vw,env(safe-area-inset-bottom));padding:0 3vw;display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:2vw 1.5vw;overflow:visible}
  .etagere__petites{flex-basis:100%;display:flex;justify-content:center;gap:1.5vw;margin:0}
}

/* Décor : ambiance lampe de bureau */
.decor__lampe,.decor__lampe-lumiere,.decor__mug{display:none}

/* Décor « chaud » : une lampe de bureau allumée à gauche, un mur gris chaud sombre,
   une table en bois vue de haut. Rien ne touche à la géométrie de l'ordinateur ni des cartouches :
   les positions reprennent --k (taille de la scène) et --dy (décalage vertical). */
@media (min-width:721px),(orientation:landscape){

/* La bande marron cède la place au plateau et au chant du décor */
.table{background:none;border-top:0;box-shadow:none}

.decor{position:absolute;inset:0;pointer-events:none}
.decor i{display:block}

/* Mur : gris chaud sombre, les coins tombent dans l'ombre. La lumière de la lampe est une image à part. */
.decor__mur{
  position:absolute;left:0;right:0;top:0;height:calc(var(--dy) + var(--k)*48.6);
  background:
    radial-gradient(75% 95% at 60% 42%,#0000 48%,#00000080 100%),
    linear-gradient(180deg,#3b3530 0%,#322d28 58%,#2b2723 100%);
}
/* Grain très fin du plâtre, pour que le mur ne soit pas un aplat */
.decor__mur::after{
  content:"";position:absolute;inset:0;opacity:.3;mix-blend-mode:overlay;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .55 0 0 0 0 .5 0 0 0 0 .44 0 0 0 .8 -.3'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23g)'/%3E%3C/svg%3E");
}

/* Plinthe de bois peint, juste au-dessus de la table, son bord haut accroche la lumière */
.decor__plinthe{
  position:absolute;left:0;right:0;top:calc(var(--dy) + var(--k)*46.2);height:calc(var(--k)*2.4);
  background:linear-gradient(180deg,#4a433b 0,#2f2a24 24%,#211d19 100%);
  box-shadow:inset 0 1px 0 #ffffff1f,inset 0 -1px 0 #0000006b;
}

/* Ombre du moniteur sur le mur : la lumière vient de la gauche, elle tombe vers la droite et vers le bas */
.decor__ombre-mon{
  position:absolute;left:calc(50% - var(--k)*23.5);top:calc(var(--dy) + var(--k)*5.8);
  width:calc(var(--k)*51.4);height:calc(var(--k)*39);border-radius:calc(var(--k)*2.2);
  background:#0c0805;opacity:.55;filter:blur(calc(var(--k)*1.7));
}

/* Plateau : bois foncé au fond (contact avec le mur), plus clair à l'avant, fil qui fuit vers le fond */
.decor__plateau{
  position:absolute;left:0;right:0;top:calc(var(--dy) + var(--k)*48.6);height:calc(var(--k)*12.2);
  overflow:hidden;
  background:
    linear-gradient(180deg,#0c0805d9 0,#0000 10px),
    radial-gradient(60% 60% at 50% 0%,#00000091,#0000 100%),
    linear-gradient(180deg,#1f1711 0%,#2e2118 16%,#41301f 52%,#4a3623 100%);
}
/* Fil du bois : des traits qui convergent vers un point de fuite au-dessus de la table */
.decor__plateau::before{
  content:"";position:absolute;inset:0;opacity:.15;
  background:repeating-conic-gradient(from 180deg at 50% -520%,#140b05 0 .08deg,#0000 .08deg 1.4deg);
}
/* Chant épais à l'avant de la table : l'arête reçoit la lumière sur le haut, s'assombrit en bas.
   Il descend jusqu'au bas de la page : sur un écran plus haut que la scène (4:3, tablette debout),
   le devant du bureau continue au lieu de laisser une bande noire. Le dégradé est en --k, l'arête reste la même partout. */
.decor__chant{
  position:absolute;left:0;right:0;top:calc(var(--dy) + var(--k)*60.8);bottom:0;min-height:calc(var(--k)*5);
  background:linear-gradient(180deg,#6e5539 0,#58412c calc(var(--k)*.7),#3b2b1d calc(var(--k)*3),#24190f calc(var(--k)*5));
  box-shadow:inset 0 1px 0 #ffe2b43d,0 calc(var(--k)*-.3) calc(var(--k)*.6) #0000004d;
}

/* Lumière de l'écran sur le plateau, sous le moniteur, teintée par la couleur de la cartouche */
.decor__lueur{
  position:absolute;left:calc(50% - var(--k)*30);top:calc(var(--dy) + var(--k)*48.6);
  width:calc(var(--k)*60);height:calc(var(--k)*11);border-radius:50%;
  background:radial-gradient(closest-side,color-mix(in srgb,var(--teinte) 15%,transparent),#0000 100%);
  filter:blur(calc(var(--k)*.3));
}

/* Lampe de bureau, à gauche : rendu 3D. L'objet et la lumière qu'il verse
   sur le bureau et le mur sont deux images, calées sur le centre de la page comme l'ordinateur. */
.decor__lampe-lumiere{display:block;position:absolute;left:calc(50% - var(--k)*81);top:calc(var(--dy) - var(--k)*10);width:calc(var(--k)*90);height:calc(var(--k)*76);mix-blend-mode:screen}
.decor__lampe{display:block;position:absolute;left:calc(50% - var(--k)*54);top:calc(var(--dy) + var(--k)*2);width:calc(var(--k)*30);height:calc(var(--k)*59.5)}

/* Pot à stylos, à droite, loin de la tour et des cartouches : rendu 3D avec son ombre sur le bureau.
   Calé sur le centre de la page, comme la lampe. */
.decor__mug{display:block;position:absolute;left:calc(50% + var(--k)*34.1);top:calc(var(--dy) + var(--k)*37.9);width:calc(var(--k)*25);height:calc(var(--k)*23)}

/* Cartouches : ombre portée au sol, vers la droite comme la lumière de la lampe.
   Même taille, même place. */
.cartouche{box-shadow:
  inset 0 1px 0 #ffffff55,
  inset 0 calc(var(--ck)*-.5) 0 #00000038,
  calc(var(--ck)*1.1) calc(var(--ck)*.2) calc(var(--ck)*.5) calc(var(--ck)*-.2) #000000a6,
  calc(var(--ck)*2.2) calc(var(--ck)*.7) calc(var(--ck)*2.4) calc(var(--ck)*-.4) #00000070,
  0 calc(var(--ck)*.5) 0 color-mix(in srgb,var(--corps) 56%,#000)}

/* Le bac gris sous la rangée disparaît ; une ombre douce reste sur le plateau */
.etagere::before{display:none}
.etagere::after{
  left:calc(var(--ck)*-2);right:calc(var(--ck)*-2);bottom:calc(var(--ck)*-1.9);height:calc(var(--ck)*3.2);
  border-radius:50%;background:radial-gradient(closest-side,#000000a0,#0000);
}
}

/* Téléphone couché : pas la place pour le mug à côté des cartouches */
@media (max-height:520px){.decor__mug{display:none}}

/* Étagère murale et plante, à droite du moniteur : rendu 3D, ombre sur le mur comprise. Le cadre déborde à droite pour que l'ombre s'efface. */
.decor__plante{display:none}
@media (min-width:721px),(orientation:landscape){
  .decor__plante{display:block;position:absolute;left:calc(50% + var(--k)*31);top:calc(var(--dy) + var(--k)*1.5);width:calc(var(--k)*24.25);height:calc(var(--k)*40)}
}
