[data-tool="extracteur-de-lettres"]{--letter-action: var(--outil-action);--letter-action-hover: var(--outil-action-hover);--letter-action-text: var(--outil-action-texte);--letter-border: var(--outil-bord);--letter-surface: var(--outil-surface);--letter-surface-hover: var(--outil-surface-hover);--letter-text: var(--outil-texte);--letter-strong: var(--outil-fonce);display: grid;gap: 1rem}[data-tool="extracteur-de-lettres"] *,[data-tool="extracteur-de-lettres"] *::before,[data-tool="extracteur-de-lettres"] *::after{box-sizing: border-box}.letter-extractor-intro,.letter-extractor-status{margin: 0;color: var(--letter-text);line-height: 1.55}.letter-extractor-grid{display: grid;grid-template-columns: minmax(0,1.35fr) minmax(19rem,0.95fr);gap: 1rem;align-items: start}.letter-extractor-source,.letter-extractor-settings,.letter-extractor-result{min-width: 0}.letter-extractor-source,.letter-extractor-settings{display: grid;gap: 0.85rem}.letter-extractor-source{justify-items: start}.letter-extractor-result{grid-column: 1 / -1;display: grid;gap: 0.85rem}.letter-extractor-section-head{width: 100%;display: grid;grid-template-columns: auto 1fr auto;gap: 0.75rem;align-items: center}.letter-extractor-head-spacer{width: 6.25rem}.letter-extractor-source h2,.letter-extractor-settings h2,.letter-extractor-result h2{margin: 0;color: var(--letter-strong);font-size: 1.16rem;font-weight: 900;line-height: 1.2;text-align: center}.letter-extractor-textarea{width: 100%;border: 1px solid var(--letter-border);border-radius: 10px;background: #fff;color: var(--letter-strong);font: inherit;font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size: 1rem;font-weight: 800;line-height: 1.55;padding: 0.85rem}.letter-extractor-source-textarea{width: min(100%,52rem);min-height: 18rem;resize: vertical}.letter-extractor-result-textarea{height: 9.6rem;max-height: 9.6rem;overflow-y: auto;resize: none;background: var(--letter-surface)}.letter-extractor-textarea::placeholder,.letter-extractor-field input::placeholder{color: color-mix(in srgb,var(--letter-text) 72%,#fff)}.letter-extractor-textarea:focus,.letter-extractor-field input:focus,.letter-extractor-stepper input:focus,.letter-extractor-selector-button:focus-visible,.letter-extractor-action:focus-visible,.letter-extractor-stepper button:focus-visible{outline: 3px solid color-mix(in srgb,var(--outil-focus) 30%,transparent);outline-offset: 2px}.letter-extractor-setting,.letter-extractor-fields{display: grid;gap: 0.45rem}.letter-extractor-label,.letter-extractor-field>span{display: block;margin: 0;color: var(--letter-strong);font-weight: 900;line-height: 1.25;text-align: left}.letter-extractor-selector{display: grid;gap: 0.25rem;border: 1px solid var(--letter-border);border-radius: 14px;background: #fff;padding: 0.25rem}.letter-extractor-selector-3{grid-template-columns: repeat(3,minmax(0,1fr))}.letter-extractor-selector-6,.letter-extractor-selector-7{grid-template-columns: repeat(3,minmax(0,1fr))}.letter-extractor-selector-button-wide{grid-column: 1 / -1}.letter-extractor-selector-button{min-width: 0;min-height: 40px;border: 0;border-radius: 10px;background: transparent;color: var(--letter-strong);cursor: pointer;font: inherit;font-size: 0.92rem;font-weight: 750;line-height: 1.15;padding: 0.48rem 0.42rem;text-align: center;transition: background-color 0.12s ease,color 0.12s ease,transform 0.12s ease}.letter-extractor-selector-button:not(.is-active):hover,.letter-extractor-selector-button:not(.is-active):focus-visible{background: var(--letter-surface-hover);color: var(--letter-action-hover)}.letter-extractor-selector-button:active,.letter-extractor-action:active,.letter-extractor-stepper button:active{transform: translateY(1px)}.letter-extractor-selector-button.is-active{background: var(--letter-action);color: var(--letter-action-text)}.letter-extractor-mode-panel{display: none}.letter-extractor-mode-panel.is-active{display: grid}.letter-extractor-field-grid{display: grid;grid-template-columns: repeat(2,max-content);gap: 1.35rem;justify-content: center;align-items: start;padding-top: 0.2rem}.letter-extractor-field{gap: 0.5rem}.letter-extractor-field input{width: 100%;min-height: 44px;border: 1px solid var(--letter-border);border-radius: 10px;background: #fff;color: var(--letter-strong);font: inherit;font-weight: 800;padding: 0.55rem 0.7rem}.letter-extractor-stepper{display: grid;grid-template-columns: 2.65rem 3.25rem 2.65rem;gap: 0.55rem;align-items: center}.letter-extractor-stepper button,.letter-extractor-stepper input{min-height: 2.65rem;border: 1px solid var(--letter-border);border-radius: 10px;background: #fff;color: var(--letter-strong);font: inherit;font-weight: 900}.letter-extractor-stepper button{width: 2.65rem;cursor: pointer;color: var(--letter-action);transition: transform 0.12s ease,border-color 0.16s ease,color 0.16s ease,background-color 0.16s ease}.letter-extractor-stepper button:hover{border-color: var(--letter-action-hover);color: var(--letter-action-hover);background: var(--letter-surface-hover)}.letter-extractor-stepper input{width: 3.25rem;min-width: 0;padding: 0.45rem;text-align: center;appearance: textfield}.letter-extractor-source-actions,.letter-extractor-bottom-row{display: flex;flex-wrap: wrap;gap: 0.65rem;align-items: center}.letter-extractor-source-actions{justify-content: flex-start}.letter-extractor-bottom-row{justify-content: space-between}.letter-extractor-result-actions{display: flex;flex-wrap: wrap;gap: 0.65rem;justify-content: flex-end}.letter-extractor-action{min-height: 50px;min-width: 8rem;border: 1px solid var(--letter-border);border-radius: 10px;background: #fff;color: var(--letter-strong);cursor: pointer;display: inline-flex;align-items: center;justify-content: center;gap: 0.55rem;font: inherit;font-weight: 900;line-height: 1.12;padding: 0.56rem 0.72rem;text-align: center;transition: transform 0.12s ease,border-color 0.16s ease,background-color 0.16s ease,color 0.16s ease,box-shadow 0.16s ease,opacity 0.16s ease}.letter-extractor-action-small{min-height: 44px;min-width: 6.25rem}.letter-extractor-action-icon{flex: 0 0 auto;width: 18px;height: 18px}.letter-extractor-action:not(:disabled):hover,.letter-extractor-action:not(:disabled):focus-visible{border-color: var(--letter-action-hover);color: var(--letter-action-hover);box-shadow: 0 0 0 3px color-mix(in srgb,var(--letter-action) 16%,transparent)}.letter-extractor-action-primary{border-color: var(--letter-action);background: var(--letter-action);color: var(--letter-action-text)}.letter-extractor-action-primary:not(:disabled):hover,.letter-extractor-action-primary:not(:disabled):focus-visible{background: var(--letter-action-hover);color: var(--letter-action-text)}.letter-extractor-action:disabled{cursor: not-allowed;opacity: 0.58;transform: none;box-shadow: none}.letter-extractor-status{min-height: 1.35rem;color: var(--letter-strong);font-weight: 900}.letter-extractor-copy-proxy{position: fixed;top: -9999px;left: -9999px;width: 1px;height: 1px;opacity: 0}.letter-extractor-info-grid{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 0.8rem;margin: 1rem 0}.letter-extractor-info-card{border: 1px solid var(--letter-border,var(--outil-bord));border-radius: 10px;background: var(--letter-surface,var(--outil-surface));padding: 0.85rem}.letter-extractor-info-card h3{margin: 0 0 0.4rem;color: var(--letter-strong,var(--outil-fonce));font-size: 1rem;font-weight: 900}.letter-extractor-info-card p{margin: 0}.letter-extractor-info-table{width: 100%;margin: 1rem 0;border-collapse: collapse;border: 1px solid var(--letter-border,var(--outil-bord));background: #fff}.letter-extractor-info-table caption{padding: 0.65rem;color: var(--letter-strong,var(--outil-fonce));font-weight: 900;text-align: left}.letter-extractor-info-table th,.letter-extractor-info-table td{border: 1px solid var(--letter-border,var(--outil-bord));padding: 0.62rem 0.7rem;vertical-align: top}.letter-extractor-info-table th{background: var(--letter-surface,var(--outil-surface));color: var(--letter-strong,var(--outil-fonce));text-align: left}.letter-extractor-info-example{display: block;margin: 0.35rem 0 0;color: var(--letter-strong,var(--outil-fonce));font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-weight: 800}@media (max-width: 980px){.letter-extractor-grid,.letter-extractor-info-grid{grid-template-columns: 1fr}}@media (max-width: 620px){.letter-extractor-selector-3,.letter-extractor-selector-6,.letter-extractor-selector-7,.letter-extractor-field-grid{grid-template-columns: 1fr}.letter-extractor-field-grid{justify-content: stretch}.letter-extractor-stepper{grid-template-columns: 2.65rem minmax(3.25rem,1fr) 2.65rem}.letter-extractor-stepper input{width: auto}.letter-extractor-section-head,.letter-extractor-bottom-row,.letter-extractor-result-actions{display: grid;width: 100%}.letter-extractor-head-spacer{display: none}.letter-extractor-action{width: 100%}}@media (prefers-reduced-motion: reduce){[data-tool="extracteur-de-lettres"] *,[data-tool="extracteur-de-lettres"] *::before,[data-tool="extracteur-de-lettres"] *::after{animation-duration: 0.01ms;transition-duration: 0.01ms}}