.so-presenter{flex-flow:wrap;align-items:center;gap:18px}.so-presenter-txt{flex-direction:column;flex:220px;gap:6px;display:flex}.so-presenter-desc{color:var(--muted);margin:0;font-size:.85rem;line-height:1.45}.so-presenter-btn{border:1.5px solid var(--accent);border-radius:var(--r-lg);background:var(--accent-tint);color:var(--accent-hover);font:700 1.05rem var(--font-ui);cursor:pointer;align-items:center;gap:10px;padding:16px 22px;transition:background .15s,color .15s;display:inline-flex}.so-presenter-btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linejoin:round;stroke-linecap:round;width:24px;height:24px}.so-presenter-btn:hover{background:var(--accent);color:#fff}.so-picks{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.so-pick{border:1.5px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--muted);cursor:pointer;font-family:var(--font-ui);flex-direction:column;align-items:center;gap:4px;padding:8px 8px 12px;transition:border-color .15s,background .15s,color .15s;display:flex}.so-pick:hover{border-color:var(--accent)}.so-pick[aria-pressed=true]{border-color:var(--accent);background:var(--accent-tint);color:var(--accent-hover)}.so-pick[aria-pressed=false] .so-pick-cv{opacity:.3;filter:grayscale()}.so-pick-cv{width:100%;height:88px;display:block}.so-pick-lbl{font-size:.95rem;font-weight:700}.so-types{grid-template-columns:repeat(2,minmax(0,1fr))}.so-types .sp-mode:last-child{grid-column:1/-1}.so-h-note{font:600 .8rem var(--font-ui);color:var(--muted);letter-spacing:0;font-style:normal}.so-scene{background:radial-gradient(ellipse at 50% 40%, var(--surface) 0%, var(--surface) 45%, var(--surface-alt) 100%);border-radius:var(--r-lg);min-width:0;min-height:0;box-shadow:var(--shadow-md);position:relative;overflow:hidden}.so-cv{cursor:grab;width:100%;height:100%;display:block;position:absolute;inset:0}.so-cv.is-glisse{cursor:grabbing}.so-scene-hint{text-align:center;font:600 .82rem var(--font-ui);color:var(--subtle);pointer-events:none;margin:0;position:absolute;bottom:12px;left:0;right:0}#so-pres{gap:12px;padding:14px 24px 12px}.so-pres-top{flex-shrink:0;align-items:center;gap:12px;display:flex}.so-tabs{flex:1;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;min-width:0;display:grid}.so-tab{border:1.5px solid var(--border);border-radius:var(--r-md);background:var(--surface);min-height:56px;color:var(--text);cursor:pointer;font:700 .95rem var(--font-ui);align-items:center;gap:6px;min-width:0;padding:4px 10px 4px 4px;transition:border-color .15s,background .15s;display:flex}.so-tab:hover{border-color:var(--accent)}.so-tab[aria-selected=true]{border-color:var(--accent);background:var(--accent-tint);color:var(--accent-hover)}.so-tab-cv{flex-shrink:0;width:48px;height:48px}.so-tab-lbl{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.so-pres-body{flex:1 1 0;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:16px;min-height:0;display:grid}.so-panel{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:14px;padding:22px 22px 18px;display:flex;overflow-y:auto}.so-nom{font-family:var(--font-display);color:var(--accent);letter-spacing:-.015em;margin:0;font-size:clamp(2.2rem,5.5vh,3.4rem);font-style:italic;font-weight:600;line-height:1}.so-nom:first-letter{text-transform:uppercase}.so-sous{font:600 1.05rem var(--font-ui);color:var(--muted);margin:-6px 0 0}.so-sous[hidden]{display:none}.so-variantes{flex-wrap:wrap;gap:6px;display:flex}.so-variantes:empty{display:none}.so-var{border:1.5px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--text);font:600 .85rem var(--font-ui);cursor:pointer;padding:7px 12px}.so-var:hover{border-color:var(--accent)}.so-var[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.so-carac{border-top:1px solid var(--border-light);flex-direction:column;margin:0;display:flex}.so-carac>div{border-bottom:1px solid var(--border-light);grid-template-columns:7.5em 1fr;align-items:baseline;gap:10px;padding:9px 0;display:grid}.so-carac dt{font:600 .82rem var(--font-ui);color:var(--muted)}.so-carac dd{font:800 clamp(1rem, 2.2vh, 1.2rem) "Nunito", var(--font-ui);color:var(--text);margin:0}.so-toggles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto;display:grid}.so-toggle{border:1.5px solid var(--border);border-radius:var(--r-md);background:var(--surface);min-height:48px;color:var(--text);font:700 .95rem var(--font-ui);text-align:left;cursor:pointer;align-items:center;gap:10px;padding:8px 14px;transition:border-color .15s,background .15s,color .15s;display:flex}.so-toggle:hover{border-color:var(--accent)}.so-toggle[aria-pressed=true]{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-hover)}.so-toggle kbd{font:500 .72rem var(--font-mono);text-align:center;background:var(--surface-alt);border:1px solid var(--border);min-width:1.9em;color:var(--muted);white-space:nowrap;border-radius:4px;padding:1px 5px}@media (hover:none) and (pointer:coarse){.so-toggle kbd{display:none}}#sp-game{gap:12px;padding:14px 24px 16px}.so-q-nommer{flex-direction:column;flex:1 1 0;gap:10px;min-height:0;display:flex}.so-q-nommer[hidden],.so-q-trouver[hidden]{display:none}.so-scene--jeu{flex:1 1 0;width:100%;max-width:1100px;margin:0 auto}.so-reponse{flex-direction:column;flex-shrink:0;align-items:center;gap:2px;display:flex}.so-reponse[hidden]{display:none}.so-reponse-nom{font-family:var(--font-display);color:var(--text);font-size:clamp(2.2rem,6vh,3.8rem);font-style:italic;font-weight:600;line-height:1.05;animation:.45s cubic-bezier(.16,1,.3,1) both so-monte}.so-reponse-carac{font:600 clamp(.95rem, 2vh, 1.15rem) var(--font-ui);color:var(--muted);text-align:center}.so-reponse--prop .so-reponse-nom{text-align:center;font-size:clamp(1.8rem,4.6vh,3rem)}.so-empreinte{flex-shrink:0;justify-content:center;align-items:center;gap:20px;display:flex}.so-empreinte[hidden]{display:none}.so-empreinte-svg{aspect-ratio:240/150;border-radius:var(--r-lg);height:clamp(110px,22vh,220px);box-shadow:inset 0 2px 8px #78501e40, var(--shadow-sm);background:radial-gradient(at 40% 35%,#f6e7c8,#e8cf9f)}.so-empreinte-rep{max-width:22em;font:800 clamp(1.1rem, 2.6vh, 1.5rem) var(--font-ui);color:var(--text);margin:0;animation:.45s cubic-bezier(.16,1,.3,1) both so-monte}.so-empreinte-rep[hidden]{display:none}.so-toggle--large{grid-column:1/-1}.so-toggle[hidden]{display:none}.so-num-outils{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;display:flex}.so-num-outils[hidden]{display:none}.so-num-mode{gap:4px;display:flex}.so-num-compte{min-width:8em;font:700 .9rem var(--font-ui);color:var(--accent-hover);flex:1}.so-var:disabled{opacity:.4;cursor:default}.so-indices{counter-reset:indice;flex-direction:column;flex-shrink:0;gap:6px;width:100%;max-width:1100px;margin:0 auto;padding:0;list-style:none;display:flex}.so-indices[hidden]{display:none}.so-indices li{counter-increment:indice;border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-sm);font:700 clamp(1.05rem, 2.6vh, 1.5rem) var(--font-ui);color:var(--text);align-items:baseline;gap:12px;padding:8px 16px;display:flex}.so-indices li:before{content:counter(indice);font:900 1em "Nunito", var(--font-ui);color:var(--accent);min-width:1em}.so-indices li.is-nouveau{outline:2px solid var(--accent-light);animation:.45s cubic-bezier(.16,1,.3,1) both so-monte}@keyframes so-monte{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.so-q-trouver{flex:1 1 0;justify-content:center;gap:clamp(12px,2vw,28px);min-height:0;display:flex}.so-carte{border:3px solid var(--border);border-radius:var(--r-lg);background:var(--surface);min-width:0;max-width:460px;box-shadow:var(--shadow-md);cursor:pointer;flex-direction:column;flex:1 1 0;padding:0 0 8px;transition:border-color .15s,transform .12s,background .15s;display:flex;position:relative}.so-carte[hidden]{display:none}.so-carte:hover:not(:disabled){border-color:var(--accent);transform:translateY(-2px)}.so-carte-cv{flex:1 1 0;width:100%;min-height:0;display:block}.so-carte-nom{min-height:2.4rem;font:800 clamp(1.1rem, 2.6vh, 1.5rem) var(--font-ui);color:var(--text);visibility:hidden;flex-shrink:0;justify-content:center;align-items:center;display:flex}.so-carte.is-revealed .so-carte-nom{visibility:visible}.so-carte.is-good{border-color:var(--success);background:var(--success-bg)}.so-carte.is-good .so-carte-nom{color:var(--success)}.so-carte.is-bad{border-color:var(--unread);background:var(--unread-bg);animation:.4s ease-out so-shake}.so-carte.is-bad .so-carte-nom{color:var(--unread)}.so-carte:disabled{cursor:default}.so-carte:disabled:not(.is-good):not(.is-bad){opacity:.45}@keyframes so-shake{0%,to{transform:translate(0)}20%{transform:translate(-10px)}45%{transform:translate(8px)}70%{transform:translate(-5px)}}.so-dire{vertical-align:middle;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:50%;margin-left:10px;padding:6px;display:inline-flex}.so-dire svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.so-dire:hover{color:var(--accent);border-color:var(--accent)}#so-pres button,#sp-game .so-carte{touch-action:manipulation;-webkit-tap-highlight-color:transparent}:where(#so-pres) :where(button):focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.so-carte.is-bad,.so-reponse-nom,.so-indices li.is-nouveau{animation:none}.so-carte:hover:not(:disabled){transform:none}}@media (width<=1400px){.so-tab{justify-content:center;padding:4px}.so-tab-lbl{display:none}}@media (width<=1000px){.so-tab{justify-content:center;padding:4px}.so-tab-lbl{display:none}}@media (width<=860px){.so-pres-body{grid-template-rows:minmax(260px,1fr) auto;grid-template-columns:minmax(0,1fr)}#so-pres{overflow-y:auto}}@media (width<=520px){.so-types{grid-template-columns:minmax(0,1fr)}.so-picks{grid-template-columns:repeat(2,minmax(0,1fr))}#sp-game,#so-pres{padding:10px 16px 14px}.so-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (aspect-ratio<=4/5){.so-q-trouver{flex-direction:column;align-items:stretch}.so-carte{max-width:none}}
