.o-stockage { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; margin-block: 18px; }
.o-stockage .st__detail { margin: 6px 0 12px; font-size: 1.1rem; font-weight: 750; }
.o-stockage .st__barre { display: flex; block-size: 22px; overflow: hidden; border-radius: 6px; background: var(--gravier); }
.o-stockage .st__barre i { display: block; inline-size: var(--p, 0%); transition: inline-size .3s ease; }
.o-stockage .st__occupe { background: var(--trait); }
.o-stockage .st__jeu { background: linear-gradient(90deg, var(--magenta), var(--orange)); }
.o-stockage .st__libre { background: var(--vert); }
.o-stockage .st__barre[data-etat="non"] .st__jeu { background: var(--rouge); }
.o-stockage .st__legende { display: flex; flex-wrap: wrap; gap: 2px 16px; list-style: none; margin: 8px 0 0; padding: 0; color: var(--gris); font-size: .9rem; }
.o-stockage .st__legende li::before { content: ""; display: inline-block; inline-size: 11px; block-size: 11px; margin-inline-end: 6px; border-radius: 3px; }
.o-stockage .st__l-occupe::before { background: var(--trait); }
.o-stockage .st__l-jeu::before { background: var(--orange); }
.o-stockage .st__l-libre::before { background: var(--vert); }
.o-stockage .st__info { margin-block-start: 8px; }
.o-stockage .st__info strong { display: block; font-size: 1.1rem; }
.o-stockage .st__deux { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); gap: 0 12px; }
.o-stockage .st__titre { font-size: 1.7rem; }
.o-stockage .st__jeux { display: grid; gap: 8px; margin-block-end: 10px; }
.o-stockage .st__jeu-ligne { display: grid; grid-template-columns: minmax(0, 1fr) 84px 44px 44px; gap: 6px; align-items: center; padding: 4px; border-radius: 10px; }
.o-stockage .st__jeu-ligne[data-retenu] { background: var(--orange-sombre); outline: 2px solid var(--orange); }
.o-stockage .st__jeu-ligne input { min-block-size: 44px; padding-inline: 8px; }
.o-stockage .st__icone { display: grid; place-items: center; inline-size: 44px; block-size: 44px; padding: 0; border: 2px solid var(--trait); border-radius: 10px; background: var(--bitume); color: var(--papier); font-weight: 900; cursor: pointer; }
.o-stockage .st__icone[aria-pressed="true"] { background: var(--vert); border-color: var(--vert); color: var(--encre); }
.o-stockage .st__icone svg { inline-size: 20px; block-size: 20px; }
.o-stockage .st__plan { margin-block-start: 14px; padding-block-start: 12px; border-block-start: 2px dashed var(--gravier); }
.o-stockage .st__plan h3 { color: var(--orange); }
.o-stockage .st__plan ul { margin-block: 0 8px; }
