/* CARD.PM — version à plat. Chargée par <noscript> quand JavaScript est coupé, ou par boot.js quand les modules ne se
   chargent pas (navigateur ancien, script bloqué) : tout le contenu reste lisible, les objets 3D deviennent des éléments
   à plat, les commandes inertes disparaissent. */
pm-theme, .scene-tabs, pm-materials, pm-live-cards.live-bar, pm-stack3d > [slot='controls'], .calc-dyn { display: none; }
.scene-note:not(.is-active) { display: block; }
.marquee { -webkit-mask-image: none; mask-image: none; }
.marquee-track { flex-wrap: wrap; }

pm-phone:not(:defined) { position: relative; z-index: 1; opacity: 1; border: 10px solid #0b0c0e; border-radius: 46px; background: #fff; rotate: -3deg; box-shadow: var(--shadow-2); }
pm-phone:not(:defined) > [slot='back'] { display: none; }

pm-stack3d:not(:defined) { display: grid; gap: 12px; aspect-ratio: auto; opacity: 1; overflow: visible; }
pm-stack3d:not(:defined) > [slot^='floor-'] { border: 1px solid var(--line-2); border-radius: 18px; background: var(--surface); min-block-size: 150px; --brand: var(--accent); }

pm-card3d:not(:defined) { display: grid; align-content: end; gap: 4px; padding: 26px; opacity: 1; border-radius: 16px; background: #0b0c0e; color: #fff; font-family: var(--font-d); }
pm-card3d:not(:defined) > svg, pm-card3d:not(:defined) > [slot='hint'] { display: none; }
