.game-tool-description{color: var(--primary-dark);margin: 0;max-width: none;font-size: 1rem;font-weight: 400;line-height: 1.5}.tool-demineur{--demineur-accent: var(--outil-accent,#7c3aed);--demineur-dark: var(--outil-fonce,#173c6c);--demineur-soft: #f8f5ff;--demineur-soft-2: #f3edff;--demineur-border: #c4b5fd;--demineur-text: #111827;--demineur-muted: #6b7280;width: 100%;max-width: none;margin: 0;color: var(--demineur-text)}.tool-demineur *{box-sizing: border-box}.demineur-header{display: flex;justify-content: space-between;gap: 16px;align-items: flex-start;margin-bottom: 16px}.demineur-header h2{margin: 0 0 6px;color: var(--demineur-accent);font-size: 1.55rem}.demineur-header p{margin: 0;color: var(--demineur-muted);line-height: 1.45}.demineur-scorebox{min-width: 92px;border: 1px solid #e5e7eb;border-radius: 14px;padding: 10px 12px;text-align: center;background: #fafafa}.demineur-scorebox span{display: block;color: var(--demineur-muted);font-size: 0.8rem}.demineur-scorebox strong{display: block;color: var(--demineur-accent);font-size: 1.7rem;line-height: 1.1}.demineur-message{margin: 14px 0 18px;padding: 12px 14px;border: 1px solid #ddd1ff;border-radius: 12px;background: var(--demineur-soft);color: var(--demineur-dark);font-weight: 800}.demineur-board-wrap{position: relative;width: 100%;margin: 0 auto}.demineur-board{--size: 12;--demineur-board-max: 540px;display: grid;grid-template-columns: repeat(var(--size),minmax(0,1fr));gap: 3px;width: 100%;max-width: min(100%,var(--demineur-board-max));aspect-ratio: 1 / 1;margin: 0 auto;padding: 8px;border-radius: 16px;background: rgba(17,24,39,0.08);touch-action: manipulation}.demineur-board[data-density="large"]{gap: 2px;padding: 7px}.demineur-cell{position: relative;display: grid;place-items: center;aspect-ratio: 1;min-width: 0;min-height: 0;border: 0;border-radius: 7px;background: radial-gradient(circle at 30% 18%,rgba(255,255,255,0.78),transparent 34%),linear-gradient(135deg,#ede9fe 0%,#fff 100%);color: var(--demineur-text);font: inherit;font-size: clamp(0.8rem,2.6vw,1.05rem);font-weight: 950;line-height: 1;cursor: pointer;user-select: none;box-shadow: inset 0 -2px 0 rgba(17,24,39,0.16);transition: transform 0.12s ease,filter 0.12s ease,background 0.12s ease,box-shadow 0.12s ease}.demineur-board[data-density="large"] .demineur-cell{border-radius: 5px;font-size: clamp(0.72rem,2.2vw,0.95rem)}.demineur-cell:hover:not(:disabled){transform: translateY(-1px);filter: brightness(0.98)}.demineur-cell:focus-visible{outline: 3px solid rgba(124,58,237,0.42);outline-offset: 2px;z-index: 2}.demineur-cell.is-open{background: #fff;box-shadow: inset 0 0 0 1px rgba(148,163,184,0.35);cursor: default}.demineur-cell.is-flagged{background: #fef3c7;color: #b45309}.demineur-cell.is-mine{background: #fee2e2;color: #991b1b}.demineur-cell.is-exploded{background: #fecaca;box-shadow: inset 0 0 0 2px #dc2626,0 0 0 3px rgba(220,38,38,0.12)}.demineur-cell:disabled{cursor: default}.demineur-flag{color: #b45309;font-size: 1.05em;line-height: 1}.demineur-mine-icon{width: 64%;height: 64%;color: #991b1b}.demineur-cell[data-n="1"]{color: #2563eb}.demineur-cell[data-n="2"]{color: #16a34a}.demineur-cell[data-n="3"]{color: #dc2626}.demineur-cell[data-n="4"]{color: var(--demineur-accent)}.demineur-cell[data-n="5"]{color: #b45309}.demineur-cell[data-n="6"]{color: #0891b2}.demineur-cell[data-n="7"]{color: #111827}.demineur-cell[data-n="8"]{color: #64748b}.demineur-overlay{position: absolute;inset: 0;z-index: 20;display: flex;align-items: center;justify-content: center;padding: 22px;border-radius: 16px;background: rgba(17,24,39,0.34);opacity: 0;visibility: hidden;pointer-events: none;transition: opacity 0.18s ease,visibility 0.18s ease}.demineur-overlay.is-visible{opacity: 1;visibility: visible}.demineur-overlay-box{min-width: min(78%,340px);padding: 18px 22px;border: 3px solid #fff;border-radius: 18px;background: rgba(255,255,255,0.96);color: var(--demineur-accent);text-align: center;box-shadow: 0 18px 50px rgba(0,0,0,0.35);transform: scale(0.94);transition: transform 0.18s ease}.demineur-overlay.is-visible .demineur-overlay-box{transform: scale(1)}.demineur-overlay-box strong{display: block;font-size: clamp(2rem,8vw,4rem);font-weight: 950;line-height: 1;letter-spacing: -0.04em}.demineur-overlay-box span{display: block;margin-top: 10px;color: var(--demineur-dark);font-size: clamp(1rem,3.2vw,1.5rem);font-weight: 900}.demineur-actions{display: flex;flex-wrap: wrap;gap: 14px;justify-content: center;align-items: stretch;margin-top: 18px}.demineur-actions .bouton{min-width: 170px;min-height: 52px;padding: 14px 22px;border-radius: 999px;font-size: 1.05rem;font-weight: 900;line-height: 1.1;cursor: pointer}.demineur-mode{display: inline-grid;grid-template-columns: repeat(2,minmax(0,1fr));min-width: min(100%,280px);padding: 4px;border: 1px solid var(--demineur-border);border-radius: 999px;background: #fff}.demineur-mode-btn{min-height: 44px;padding: 10px 16px;border: 0;border-radius: 999px;background: transparent;color: var(--demineur-dark);font: inherit;font-weight: 900;cursor: pointer}.demineur-mode-btn.is-active{background: var(--demineur-accent);color: #fff}.demineur-mode-btn:focus-visible{outline: 2px solid rgba(124,58,237,0.45);outline-offset: 2px}.demineur-stats{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 12px;margin: 18px 0 0}.demineur-stat{border: 1px solid #e5e7eb;border-radius: 14px;padding: 12px;background: #fafafa;text-align: center}.demineur-stat strong{display: block;color: var(--demineur-accent);font-size: 1.35rem;line-height: 1.1}.demineur-stat span{display: block;margin-top: 5px;color: var(--demineur-muted);font-size: 0.85rem;font-weight: 800}.demineur-options-panel{margin-top: 22px;padding: 18px;border: 1px solid var(--demineur-border);border-radius: 18px;background: var(--demineur-soft)}.demineur-options-panel h3{margin: 0 0 14px;color: var(--demineur-accent);font-size: 1.3rem;font-weight: 900}.demineur-option-group{min-width: 0;margin: 0;padding: 0;border: 0}.demineur-option-group legend{margin: 0 0 8px;color: var(--demineur-dark);font-size: 0.95rem;font-weight: 800}.demineur-segmented{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 0;width: 100%;padding: 4px;border: 1px solid var(--demineur-border);border-radius: 14px;background: #fff}.demineur-segment{display: flex;flex-direction: column;align-items: center;justify-content: center;min-height: 56px;padding: 8px 10px;border: 0;border-radius: 10px;background: transparent;color: var(--demineur-dark);font: inherit;font-weight: 900;line-height: 1.1;cursor: pointer}.demineur-segment small{margin-top: 4px;color: var(--demineur-muted);font-size: 0.72rem;font-weight: 750}.demineur-segment.is-active{background: var(--demineur-accent);color: #fff}.demineur-segment.is-active small{color: rgba(255,255,255,0.82)}.demineur-segment:hover:not(:disabled),.demineur-segment:focus-visible:not(:disabled){background: var(--demineur-soft-2);color: var(--demineur-accent)}.demineur-segment.is-active:hover:not(:disabled),.demineur-segment.is-active:focus-visible:not(:disabled){background: #7c4dff;color: #fff}.demineur-segment:focus-visible{outline: 2px solid rgba(124,58,237,0.45);outline-offset: 2px}.demineur-segment:disabled{opacity: 0.55;cursor: not-allowed}.demineur-help{margin-top: 16px;padding: 14px 16px;border: 1px solid #e5e7eb;border-radius: 14px;background: #fafafa;color: var(--demineur-muted)}.demineur-help p{margin: 0.35rem 0;line-height: 1.45}.demineur-help strong{color: var(--demineur-dark)}@media (max-width: 760px){.demineur-header{flex-direction: column}.demineur-scorebox{width: 100%}.demineur-board{gap: 2px;padding: 6px}.demineur-actions{gap: 12px;margin-top: 20px}.demineur-actions .bouton,.demineur-mode{width: 100%;min-width: 0}.demineur-actions .bouton{min-height: 58px;padding: 16px 20px;font-size: 1.12rem}.demineur-stats{grid-template-columns: 1fr}.demineur-segmented{grid-template-columns: 1fr;gap: 4px}.demineur-overlay{padding: 14px}.demineur-overlay-box{min-width: 82%;padding: 14px 16px;border-radius: 14px}}@media (prefers-reduced-motion: reduce){.demineur-cell,.demineur-overlay,.demineur-overlay-box{transition: none}.demineur-cell:hover:not(:disabled){transform: none}}