.missing-letters-tool{--missing-primary: var(--primary-dark,#123b69);--missing-action: var(--outil-action,#8a4f0f);--missing-action-dark: var(--outil-action-dark,#744006);--missing-border: var(--outil-bord,#e3cf75);--missing-surface: var(--outil-surface,#fff7d7);color: var(--missing-primary)}.missing-letters-tool *{box-sizing: border-box}.missing-letters-intro{margin: 0 0 1rem;color: var(--missing-primary);font-size: 1rem;line-height: 1.55}.missing-letters-grid{display: grid;grid-template-columns: minmax(0,1fr) minmax(19rem,0.92fr);gap: 1rem}.missing-letters-card{min-width: 0;border: 1px solid var(--missing-border);border-radius: 10px;background: var(--missing-surface);display: flex;flex-direction: column;overflow: hidden}.missing-letters-card-head,.missing-letters-card-bottom{background: var(--missing-surface);padding: 0.65rem 0.75rem}.missing-letters-card-head{border-bottom: 1px solid var(--missing-border);display: flex;align-items: center;justify-content: space-between;gap: 0.75rem}.missing-letters-card-head-centered{justify-content: center}.missing-letters-title{margin: 0;color: var(--missing-action-dark);font-size: 1.08rem;font-weight: 900;line-height: 1.2}.missing-letters-head-actions,.missing-letters-actions{display: flex;flex: 0 0 auto;flex-wrap: wrap;gap: 0.45rem;justify-content: flex-end;min-width: 0}.missing-letters-textarea{display: block;width: 100%;min-height: 16rem;flex: 1 1 auto;border: 0;border-radius: 0;background: #fff;color: var(--missing-primary);font: inherit;font-weight: 650;line-height: 1.5;padding: 0.85rem;resize: none}.missing-letters-textarea:focus{outline: 2px solid color-mix(in srgb,var(--missing-action) 38%,transparent);outline-offset: -2px}.missing-letters-card-bottom{border-top: 1px solid var(--missing-border);display: flex;align-items: center;justify-content: space-between;gap: 0.75rem}.missing-letters-status{flex: 1 1 auto;min-width: 8rem;margin: 0;color: var(--missing-primary);font-weight: 800;line-height: 1.35}.missing-letters-result-body{display: grid;gap: 0.75rem;background: #fff;padding: 0.85rem;flex: 1 1 auto}.missing-letters-summary,.missing-letters-panel{border: 1px solid var(--missing-border);border-radius: 10px;background: var(--missing-surface);padding: 0.75rem}.missing-letters-summary{color: var(--missing-primary);font-weight: 850;line-height: 1.4;text-align: center}.missing-letters-panel{display: grid;gap: 0.55rem}.missing-letters-panel h3{margin: 0;color: var(--missing-action-dark);font-size: 0.98rem;font-weight: 900;line-height: 1.2}.missing-letters-list{display: flex;flex-wrap: wrap;gap: 0.35rem;min-height: 2.25rem}.missing-letters-chip{display: inline-flex;align-items: center;justify-content: center;min-width: 2rem;height: 2rem;border: 1px solid var(--missing-border);border-radius: 8px;background: #fff;color: var(--missing-primary);font-weight: 900}.missing-letters-chip.is-present{background: color-mix(in srgb,var(--missing-primary) 12%,#fff);border-color: color-mix(in srgb,var(--missing-primary) 32%,var(--missing-border))}.missing-letters-chip.is-missing{background: color-mix(in srgb,var(--missing-surface) 78%,#fff);color: var(--missing-action-dark)}.missing-letters-empty{display: block;width: 100%;text-align: center;color: var(--missing-primary);font-weight: 800}.missing-letters-result-bottom{display: grid;grid-template-columns: minmax(0,1fr) minmax(10.5rem,13rem);gap: 0.75rem;align-items: center}.missing-letters-result-bottom .missing-letters-actions{display: flex;flex-direction: column;flex: 0 0 auto;width: 100%}.missing-letters-result-bottom .missing-letters-button{width: 100%;justify-content: center}.missing-letters-button,.missing-letters-file-button{min-width: 0;min-height: 2.55rem;border: 1px solid var(--missing-border);border-radius: 8px;background: #fff;color: var(--missing-action-dark);display: inline-flex;align-items: center;justify-content: center;gap: 0.45rem;padding: 0.55rem 0.75rem;cursor: pointer;font: inherit;font-size: 0.95rem;font-weight: 900;line-height: 1.15;text-align: center;text-decoration: none}.missing-letters-button-main{background: var(--missing-action);border-color: var(--missing-action);color: #fff}.missing-letters-button:hover,.missing-letters-button:focus-visible,.missing-letters-file-button:hover,.missing-letters-file-button:focus-within{background: color-mix(in srgb,var(--missing-border) 28%,#fff);outline: 0}.missing-letters-button-main:hover,.missing-letters-button-main:focus-visible{background: var(--missing-action-dark);border-color: var(--missing-action-dark);color: #fff}.missing-letters-button:active,.missing-letters-file-button:active{transform: translateY(1px) scale(0.99)}.missing-letters-button:disabled{cursor: not-allowed;opacity: 0.58;transform: none}.missing-letters-file-button input{position: absolute;width: 1px;height: 1px;opacity: 0;pointer-events: none}.missing-letters-action-icon{flex: 0 0 auto}.missing-letters-copy-proxy{position: fixed;left: -9999px;top: 0}.letter-info-grid{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 0.85rem;margin: 1rem 0}.letter-info-card,.letter-info-note{border: 1px solid var(--outil-bord,#e3cf75);border-radius: 8px;background: var(--outil-surface,#fff7d7);padding: 0.85rem}.letter-info-card h3,.letter-info-note h3{margin: 0 0 0.45rem;color: var(--outil-action-dark,#744006)}.letter-info-card p,.letter-info-note p{margin: 0}.letter-info-table{width: 100%;border-collapse: collapse;margin: 0.85rem 0 1rem;border: 1px solid var(--outil-bord,#e3cf75)}.letter-info-table th,.letter-info-table td{border: 1px solid var(--outil-bord,#e3cf75);padding: 0.65rem;vertical-align: top}.letter-info-table th{background: var(--outil-surface,#fff7d7);color: var(--outil-action-dark,#744006);font-weight: 900}.letter-info-table td{background: #fff}.letter-info-link{color: var(--outil-action-dark,#744006);font-weight: 900;text-decoration: underline;cursor: pointer}@media (max-width: 760px){.letter-info-grid{grid-template-columns: 1fr}}@media (max-width: 860px){.missing-letters-grid{grid-template-columns: 1fr}}@media (max-width: 560px){.missing-letters-card-head,.missing-letters-card-bottom{align-items: stretch;flex-direction: column}.missing-letters-head-actions,.missing-letters-actions{justify-content: flex-start}.missing-letters-result-bottom{grid-template-columns: 1fr}.missing-letters-result-bottom .missing-letters-actions{width: 100%}}