.game-tool-description{color: var(--primary-dark);margin: 0;max-width: none;font-size: 1rem;font-weight: 400;line-height: 1.5}.taquin-tool{--taquin-accent: var(--outil-accent,#7c3aed);--taquin-dark: var(--outil-fonce,#173c6c);--taquin-soft: #f8f5ff;--taquin-soft-2: #f3edff;--taquin-border: #c4b5fd;--taquin-text: #111827;--taquin-muted: #6b7280;width: 100%;max-width: none;margin: 0;color: var(--taquin-text)}.taquin-tool *{box-sizing: border-box}.taquin-header{display: flex;justify-content: space-between;gap: 16px;align-items: flex-start;margin-bottom: 16px}.taquin-header h2{margin: 0 0 6px;color: var(--taquin-accent);font-size: 1.55rem;line-height: 1.2}.taquin-header p{margin: 0;color: var(--taquin-muted);line-height: 1.45}.taquin-scoregroup{display: grid;grid-template-columns: repeat(2,minmax(86px,1fr));gap: 10px;flex: 0 0 auto}.taquin-scorebox{min-width: 86px;border: 1px solid #e5e7eb;border-radius: 14px;padding: 10px 12px;text-align: center;background: #fafafa}.taquin-scorebox span{display: block;color: var(--taquin-muted);font-size: 0.8rem}.taquin-scorebox strong{display: block;color: var(--taquin-accent);font-size: 1.35rem;line-height: 1.15}.taquin-status{margin: 14px 0 18px;padding: 12px 14px;border: 1px solid #ddd1ff;border-radius: 12px;background: var(--taquin-soft);color: var(--taquin-dark);font-weight: 800}.taquin-play-wrap{position: relative}.taquin-game-card,.taquin-options-panel{border: 1px solid var(--taquin-border);border-radius: 18px;background: #fff;padding: 18px;box-shadow: 0 14px 40px rgba(15,23,42,0.06)}.taquin-game-card h3,.taquin-options-panel h3{margin: 0 0 14px;color: var(--taquin-accent);font-size: 1.3rem;font-weight: 900}.taquin-board-wrap{position: relative;width: min(100%,520px);margin: 0 auto}.taquin-board{--taquin-size: 3;display: grid;grid-template-rows: repeat(var(--taquin-size),minmax(0,1fr));width: 100%;aspect-ratio: 1;gap: 8px;padding: 8px;border: 1px solid #ddd1ff;border-radius: 18px;background: var(--taquin-soft);outline: none;user-select: none}.taquin-row{display: grid;grid-template-columns: repeat(var(--taquin-size),minmax(0,1fr));gap: inherit;min-width: 0;min-height: 0}.taquin-board:focus-visible{outline: 3px solid rgba(124,58,237,0.42);outline-offset: 3px}.taquin-tile{display: inline-flex;align-items: center;justify-content: center;min-width: 0;min-height: 0;border: 0;border-radius: 14px;background: #fff;color: var(--taquin-dark);font: inherit;font-size: clamp(1.25rem,5vw,2.25rem);font-weight: 950;line-height: 1;box-shadow: 0 7px 18px rgba(88,28,135,0.14);cursor: pointer;transition: transform 0.12s ease,box-shadow 0.12s ease,background 0.12s ease}.taquin-board[data-size="4"] .taquin-tile{font-size: clamp(1.1rem,4.4vw,1.9rem)}.taquin-board[data-size="5"] .taquin-tile{font-size: clamp(0.95rem,3.8vw,1.55rem);border-radius: 12px}.taquin-tile:hover:not(:disabled):not(.taquin-empty){transform: translateY(-1px);box-shadow: 0 10px 22px rgba(88,28,135,0.18)}.taquin-tile:focus-visible{outline: 3px solid rgba(124,58,237,0.42);outline-offset: 2px}.taquin-empty{background: transparent;box-shadow: none;cursor: default;pointer-events: none}.taquin-controls{display: flex;flex-wrap: wrap;gap: 14px;justify-content: center;margin-top: 18px}.taquin-controls .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}.taquin-controls .bouton:disabled{opacity: 0.45;cursor: not-allowed;transform: none}.taquin-help{max-width: 620px;margin: 14px auto 0;color: var(--taquin-muted);line-height: 1.45;text-align: center}.taquin-options-panel{margin-top: 22px;background: var(--taquin-soft)}.taquin-option-group{min-width: 0;margin: 0;padding: 0;border: 0}.taquin-option-group legend{margin: 0 0 8px;color: var(--taquin-dark);font-size: 0.95rem;font-weight: 800}.taquin-segmented{display: inline-grid;grid-template-columns: repeat(3,minmax(0,1fr));width: 100%;padding: 4px;border: 1px solid var(--taquin-border);border-radius: 14px;background: #fff}.taquin-segment{display: flex;align-items: center;justify-content: center;min-height: 46px;padding: 7px 10px;border: 0;border-radius: 10px;background: transparent;color: var(--taquin-dark);font: inherit;font-weight: 850;line-height: 1.1;cursor: pointer}.taquin-segment.is-active{background: var(--taquin-accent);color: #fff}.taquin-segment:hover:not(:disabled),.taquin-segment:focus-visible:not(:disabled){background: var(--taquin-soft-2);color: var(--taquin-accent)}.taquin-segment.is-active:hover:not(:disabled),.taquin-segment.is-active:focus-visible:not(:disabled){background: #7c4dff;color: #fff}.taquin-segment:focus-visible{outline: 2px solid rgba(124,58,237,0.45);outline-offset: 2px}.taquin-segment:disabled{opacity: 0.55;cursor: not-allowed}.taquin-overlay{position: absolute;inset: 0;z-index: 20;display: flex;align-items: center;justify-content: center;padding: 22px;border-radius: 18px;background: rgba(17,24,39,0.34);opacity: 0;visibility: hidden;pointer-events: none;transition: opacity 0.18s ease,visibility 0.18s ease}.taquin-overlay.is-visible{opacity: 1;visibility: visible}.taquin-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(--taquin-accent);text-align: center;box-shadow: 0 18px 50px rgba(0,0,0,0.35);transform: scale(0.94);transition: transform 0.18s ease}.taquin-overlay.is-visible .taquin-overlay-box{transform: scale(1)}.taquin-overlay-box strong{display: block;font-size: clamp(2rem,8vw,3.6rem);font-weight: 950;line-height: 1;letter-spacing: -0.04em}.taquin-overlay-box span{display: block;margin-top: 10px;color: var(--taquin-dark);font-size: clamp(1rem,3vw,1.35rem);font-weight: 900}@media (max-width: 760px){.taquin-board-wrap{width: 100%}}@media (max-width: 560px){.taquin-header{flex-direction: column}.taquin-scoregroup{width: 100%}.taquin-game-card,.taquin-options-panel{padding: 16px}.taquin-board{gap: 6px;padding: 6px;border-radius: 15px}.taquin-tile{border-radius: 11px}.taquin-controls{gap: 12px;margin-top: 20px}.taquin-controls .bouton{min-width: 0;width: 100%;min-height: 58px;padding: 16px 20px;font-size: 1.12rem}.taquin-segment{padding-inline: 6px;font-size: 0.95rem}}@media (prefers-reduced-motion: reduce){.taquin-tile,.taquin-overlay,.taquin-overlay-box{transition: none}.taquin-tile:hover:not(:disabled):not(.taquin-empty){transform: none}}