[data-tool="position-des-lettres"]{--lp-action: var(--outil-action);--lp-action-hover: var(--outil-action-hover);--lp-action-text: var(--outil-action-texte);--lp-border: var(--outil-bord);--lp-focus: var(--outil-focus);--lp-strong: var(--outil-fonce);--lp-surface: var(--outil-surface);--lp-surface-hover: var(--outil-surface-hover);--lp-text: var(--outil-texte);display: grid;gap: 1rem}[data-tool="position-des-lettres"] *,[data-tool="position-des-lettres"] *::before,[data-tool="position-des-lettres"] *::after{box-sizing: border-box}.letter-position-intro,.letter-position-source-status,.letter-position-export-status{margin: 0;color: var(--lp-text);line-height: 1.45}.letter-position-top{display: grid;grid-template-columns: minmax(0,1.25fr) minmax(18rem,0.85fr);gap: 1rem;align-items: start}.letter-position-source,.letter-position-settings,.letter-position-export,.letter-position-results{display: grid;gap: 0.85rem;min-width: 0}.letter-position-section-head{display: grid;grid-template-columns: auto 1fr auto;gap: 0.75rem;align-items: center}.letter-position-head-spacer{width: 6rem}.letter-position-source h2,.letter-position-settings h2,.letter-position-export h2,.letter-position-results h2{margin: 0;color: var(--lp-strong);font-size: 1.16rem;font-weight: 900;line-height: 1.2;text-align: center}.letter-position-textarea{width: min(100%,52rem);min-height: 18rem;border: 1px solid var(--lp-border);border-radius: 10px;background: #fff;color: var(--lp-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;resize: vertical}.letter-position-textarea::placeholder,.letter-position-custom-separator input::placeholder{color: color-mix(in srgb,var(--lp-text) 72%,#fff)}.letter-position-textarea:focus,.letter-position-selector-button:focus-visible,.letter-position-action:focus-visible,.letter-position-stepper button:focus-visible,.letter-position-stepper input:focus,.letter-position-switch-row:focus-visible,.letter-position-custom-separator input:focus{outline: 3px solid color-mix(in srgb,var(--lp-focus) 30%,transparent);outline-offset: 2px}.letter-position-source-status{min-height: 2.8rem;margin-left: auto;display: flex;align-items: center;justify-content: flex-end;color: var(--lp-text);font-size: 0.92rem;font-weight: 800;line-height: 1.3;text-align: right}.letter-position-source-actions,.letter-position-export-actions{display: flex;flex-wrap: wrap;gap: 0.65rem;align-items: center}.letter-position-action{min-height: 2.8rem;border: 1px solid var(--lp-action);border-radius: 10px;background: var(--lp-action);color: var(--lp-action-text);cursor: pointer;display: inline-flex;gap: 0.45rem;align-items: center;justify-content: center;font: inherit;font-weight: 900;line-height: 1.15;padding: 0.58rem 0.9rem;text-align: center;transition: background-color 0.16s ease,border-color 0.16s ease,color 0.16s ease,transform 0.12s ease}.letter-position-action-small{min-width: 6rem}.letter-position-action:not(:disabled):hover,.letter-position-action:not(:disabled):focus-visible{border-color: var(--lp-action-hover);background: var(--lp-action-hover)}.letter-position-action:not(:disabled):active,.letter-position-selector-button:not(:disabled):active,.letter-position-stepper button:not(:disabled):active,.letter-position-switch-row:not(:disabled):active{transform: translateY(1px)}.letter-position-action:disabled,.letter-position-stepper button:disabled{cursor: not-allowed;border-color: color-mix(in srgb,var(--lp-border) 70%,#9b9b9b);background: #fff;color: color-mix(in srgb,var(--lp-text) 55%,#777)}.letter-position-action-icon{flex: 0 0 auto}.letter-position-setting{display: grid;gap: 0.45rem}.letter-position-label,.letter-position-step-field>span,.letter-position-custom-separator>span{margin: 0;color: var(--lp-strong);font-weight: 900;line-height: 1.25;text-align: left}.letter-position-selector{display: grid;gap: 0.25rem;border: 1px solid var(--lp-border);border-radius: 14px;background: #fff;padding: 0.25rem}.letter-position-selector-2{grid-template-columns: repeat(2,minmax(0,1fr))}.letter-position-selector-3{grid-template-columns: repeat(3,minmax(0,1fr))}.letter-position-selector-button{min-width: 0;min-height: 40px;border: 0;border-radius: 10px;background: transparent;color: var(--lp-strong);cursor: pointer;font: inherit;font-size: 0.9rem;font-weight: 800;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-position-selector-button:not(.is-active):hover,.letter-position-selector-button:not(.is-active):focus-visible{background: var(--lp-surface-hover);color: var(--lp-action-hover)}.letter-position-selector-button.is-active{background: var(--lp-action);color: var(--lp-action-text)}.letter-position-switch-row{width: 100%;min-height: 46px;border: 1px solid var(--lp-border);border-radius: 10px;background: #fff;color: var(--lp-strong);cursor: pointer;display: flex;gap: 0.75rem;align-items: center;justify-content: space-between;font: inherit;font-weight: 900;line-height: 1.15;padding: 0.55rem 0.8rem;text-align: left;transition: background-color 0.16s ease,border-color 0.16s ease,color 0.16s ease,transform 0.12s ease}.letter-position-switch-row:not(.is-active){border-color: #cfc7a9;background: #f4f4f4;color: #4b5563}.letter-position-switch-row:not(.is-active)>span:first-child{color: #4b5563}.letter-position-switch{flex: 0 0 3rem;width: 3rem;height: 1.65rem;border-radius: 999px;background: var(--lp-border);box-shadow: inset 0 0 0 1px rgb(var(--outil-ombre-rgb) / 0.12);position: relative;transition: background-color 0.16s ease}.letter-position-switch::after{content: "";width: 1.25rem;height: 1.25rem;border-radius: 999px;background: #fff;box-shadow: 0 2px 6px rgb(var(--outil-ombre-rgb) / 0.22);left: 0.2rem;position: absolute;top: 0.2rem;transition: transform 0.16s ease}.letter-position-switch-row.is-active .letter-position-switch{background: var(--lp-action)}.letter-position-switch-row.is-active .letter-position-switch::after{transform: translateX(1.35rem)}.letter-position-switch-row:hover{border-color: var(--lp-action-hover)}.letter-position-step-grid{display: grid;grid-template-columns: repeat(2,max-content);gap: 1.2rem;justify-content: center;align-items: start}.letter-position-step-field{display: grid;gap: 0.5rem;justify-items: center}.letter-position-step-field>span:first-child{text-align: center}.letter-position-stepper{display: grid;grid-template-columns: 2.6rem 3.3rem 2.6rem;gap: 0.5rem;align-items: center}.letter-position-stepper button,.letter-position-stepper input,.letter-position-custom-separator input{min-height: 2.6rem;border: 1px solid var(--lp-border);border-radius: 10px;background: #fff;color: var(--lp-strong);font: inherit;font-weight: 900}.letter-position-stepper button{width: 2.6rem;color: var(--lp-action);cursor: pointer;transition: background-color 0.16s ease,border-color 0.16s ease,color 0.16s ease,transform 0.12s ease}.letter-position-stepper button:not(:disabled):hover{border-color: var(--lp-action-hover);background: var(--lp-surface-hover);color: var(--lp-action-hover)}.letter-position-stepper input{width: 3.3rem;min-width: 0;padding: 0.45rem;text-align: center;appearance: textfield}.letter-position-stepper input::-webkit-outer-spin-button,.letter-position-stepper input::-webkit-inner-spin-button{margin: 0;appearance: none}.letter-position-separator-row{display: grid;gap: 0.55rem}.letter-position-custom-separator{display: grid;gap: 0.35rem}.letter-position-custom-separator input{width: 100%;padding: 0.5rem 0.65rem}.letter-position-custom-separator input:disabled{cursor: not-allowed;background: color-mix(in srgb,#fff 82%,var(--lp-surface));color: color-mix(in srgb,var(--lp-text) 65%,#777)}.letter-position-export{border: 1px solid var(--lp-border);border-radius: 12px;background: color-mix(in srgb,#fff 86%,var(--lp-surface));padding: 0.75rem 0.95rem}.letter-position-export-row{display: flex;flex-wrap: wrap;gap: 0.8rem;align-items: center;justify-content: space-between}.letter-position-switch-compact{width: auto;min-width: min(100%,18rem)}.letter-position-export-side{display: grid;gap: 0.35rem;justify-items: end}.letter-position-export-status{min-height: 1.35rem;font-size: 0.92rem;font-weight: 800;text-align: right}.letter-position-missing{border: 1px solid #c87500;border-radius: 10px;background: #fff7e8;color: var(--lp-strong);line-height: 1.45;padding: 0.75rem 0.9rem}.letter-position-missing strong{color: #7a3f00;font-weight: 900}.letter-position-missing span{color: var(--lp-strong);font-weight: 900}.letter-position-result-list{width: 100%;overflow-x: auto}.letter-position-empty{margin: 0;border: 1px solid var(--lp-border);border-radius: 10px;background: var(--lp-surface);color: var(--lp-strong);font-weight: 900;line-height: 1.45;padding: 1.35rem;text-align: center}.letter-position-table{width: 100%;min-width: 38rem;border-collapse: collapse;color: var(--lp-strong)}.letter-position-table tr{border-bottom: 1px solid var(--lp-border)}.letter-position-table tr:first-child{border-top: 1px solid var(--lp-border)}.letter-position-table th,.letter-position-table td{padding: 0.58rem 0.65rem;vertical-align: middle}.letter-position-table thead th{color: var(--lp-strong);font-size: 0.92rem;font-weight: 900;line-height: 1.2}.letter-position-table thead th:first-child,.letter-position-table thead th:nth-child(2),.letter-position-table thead th:nth-child(4),.letter-position-table thead th:nth-child(5){text-align: center}.letter-position-table thead th:nth-child(3){text-align: left}.letter-position-table-letter{width: 5rem;color: var(--lp-strong);font-size: 1.35rem;font-weight: 900;line-height: 1.1;text-align: center;vertical-align: middle}.letter-position-table-count{width: 9rem;color: var(--lp-text);font-weight: 900;text-align: center;vertical-align: middle}.letter-position-table-positions{color: var(--lp-strong);font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size: 0.96rem;font-weight: 800;line-height: 1.45;overflow-wrap: anywhere;text-align: left}.letter-position-table-copy{width: 4.2rem;text-align: center;vertical-align: middle}.letter-position-letter-copy{width: 2.55rem;min-width: 2.55rem;min-height: 2.55rem;margin: 0 auto;padding: 0.45rem}.letter-position-letter-copy span{position: absolute;width: 1px;height: 1px;margin: -1px;border: 0;clip: rect(0 0 0 0);overflow: hidden;padding: 0}.letter-position-copy-proxy{position: fixed;left: -9999px;top: 0;opacity: 0}.letter-position-info-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(15rem,1fr));gap: 0.8rem;margin: 1rem 0}.letter-position-info-card{border: 1px solid var(--outil-bord);border-radius: 10px;background: var(--outil-surface);padding: 0.9rem}.letter-position-info-card h3{margin: 0 0 0.45rem;color: var(--outil-fonce);font-size: 1rem;font-weight: 900}.letter-position-info-card p{margin: 0}.letter-position-info-table{width: 100%;border-collapse: collapse;margin: 1rem 0}.letter-position-info-table th,.letter-position-info-table td{border: 1px solid var(--outil-bord);padding: 0.55rem 0.65rem;text-align: left;vertical-align: top}.letter-position-info-table th{background: var(--outil-surface);color: var(--outil-fonce);font-weight: 900}.letter-position-info-example{border-left: 4px solid var(--outil-action);background: var(--outil-surface);border-radius: 0 10px 10px 0;margin: 1rem 0;padding: 0.85rem 1rem}@media (max-width: 980px){.letter-position-top{grid-template-columns: 1fr}.letter-position-textarea{width: 100%}}@media (max-width: 680px){.letter-position-section-head{grid-template-columns: 1fr;justify-items: center}.letter-position-head-spacer{display: none}.letter-position-action-small,.letter-position-action,.letter-position-switch-compact{width: 100%}.letter-position-source-actions,.letter-position-export-actions,.letter-position-export-row{width: 100%;justify-content: center}.letter-position-source-status,.letter-position-export-status,.letter-position-export-side{width: 100%;margin-left: 0;justify-content: center;justify-self: stretch;justify-items: center;text-align: center}.letter-position-step-grid{grid-template-columns: 1fr;justify-items: center}.letter-position-selector-button{font-size: 0.84rem}}