.random-alphabet-tool{--random-alphabet-action: var(--outil-action);--random-alphabet-action-hover: var(--outil-action-hover);--random-alphabet-action-text: var(--outil-action-texte);--random-alphabet-border: var(--outil-bord);--random-alphabet-surface: var(--outil-surface);--random-alphabet-surface-hover: var(--outil-surface-hover);--random-alphabet-text: var(--outil-texte);--random-alphabet-strong: var(--outil-fonce);--random-alphabet-shadow: 0 10px 28px rgb(var(--outil-ombre-rgb) / 0.08);display: grid;gap: 1rem}.random-alphabet-tool *,.random-alphabet-tool *::before,.random-alphabet-tool *::after{box-sizing: border-box}.random-alphabet-visually-hidden{position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap;margin: -1px;padding: 0;border: 0}.random-alphabet-intro{color: var(--random-alphabet-text);font-size: 1rem;line-height: 1.55;margin: 0}.random-alphabet-text-grid{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 1rem;align-items: stretch}.random-alphabet-editor,.random-alphabet-result-panel{display: grid;grid-template-rows: auto minmax(0,1fr) auto;min-width: 0;border: 1px solid var(--random-alphabet-border);border-radius: 10px;background: #fff;overflow: hidden}.random-alphabet-editor-top,.random-alphabet-editor-bottom,.random-alphabet-result-top,.random-alphabet-result-bottom{display: flex;flex-wrap: wrap;gap: 0.55rem;align-items: center;justify-content: space-between;background: var(--random-alphabet-surface);padding: 0.55rem}.random-alphabet-editor-top,.random-alphabet-result-top{border-bottom: 1px solid var(--random-alphabet-border)}.random-alphabet-editor-bottom,.random-alphabet-result-bottom{border-top: 1px solid var(--random-alphabet-border)}.random-alphabet-result-bottom{justify-content: flex-end}.random-alphabet-editor h2,.random-alphabet-result-panel h2{margin: 0;color: var(--random-alphabet-strong);font-size: 1.08rem;font-weight: 900;line-height: 1.2}.random-alphabet-action-group{display: flex;flex-wrap: wrap;gap: 0.35rem;align-items: center;justify-content: flex-end}.random-alphabet-action{min-height: 2.35rem;border: 1px solid var(--random-alphabet-border);border-radius: 8px;background: #fff;color: var(--random-alphabet-strong);cursor: pointer;display: inline-flex;gap: 0.35rem;align-items: center;justify-content: center;font: inherit;font-weight: 900;line-height: 1.1;padding: 0.5rem 0.75rem;text-align: center;transition: background-color 0.12s ease,border-color 0.12s ease,color 0.12s ease,transform 0.12s ease}.random-alphabet-action:hover,.random-alphabet-action:focus-visible{border-color: var(--random-alphabet-action);background: var(--random-alphabet-surface-hover);color: var(--random-alphabet-action-hover)}.random-alphabet-action:active{transform: translateY(1px)}.random-alphabet-action:disabled{border-color: var(--random-alphabet-border);background: #fff;color: color-mix(in srgb,var(--random-alphabet-strong) 48%,#fff);cursor: not-allowed;transform: none}.random-alphabet-action-primary{border-color: var(--random-alphabet-action);background: var(--random-alphabet-action);color: var(--random-alphabet-action-text)}.random-alphabet-action-primary:hover,.random-alphabet-action-primary:focus-visible{background: var(--random-alphabet-action-hover);color: var(--random-alphabet-action-text)}.random-alphabet-action-icon{flex: 0 0 auto}.random-alphabet-textarea{width: 100%;min-height: 16rem;border: 0;border-radius: 0;background: #fff;color: var(--random-alphabet-text);font: inherit;line-height: 1.55;padding: 0.9rem;resize: vertical}.random-alphabet-result-textarea,.random-alphabet-textarea[readonly]{background: var(--random-alphabet-surface);color: var(--random-alphabet-strong);cursor: default}.random-alphabet-textarea::placeholder{color: color-mix(in srgb,var(--random-alphabet-strong) 56%,#fff)}.random-alphabet-textarea:focus{outline: 3px solid color-mix(in srgb,var(--random-alphabet-action) 32%,transparent);outline-offset: -3px}.random-alphabet-field-status,.random-alphabet-alphabet-status{min-height: 1.25rem;color: var(--random-alphabet-strong);font-size: 0.9rem;font-weight: 850;margin: 0}.random-alphabet-workbench{display: grid;gap: 1rem;border: 1px solid var(--random-alphabet-border);border-radius: 12px;background: #fff;box-shadow: var(--random-alphabet-shadow);padding: 1rem}.random-alphabet-workbench-head{display: grid;align-items: start}.random-alphabet-control-stack{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 0.45rem 0.75rem}.random-alphabet-direction-selector{grid-column: 1 / -1;grid-template-columns: repeat(2,minmax(0,1fr))}.random-alphabet-encode-selector{grid-column: 1;grid-template-columns: 1fr}.random-alphabet-selector{display: grid;gap: 0.25rem;border: 1px solid var(--random-alphabet-border);border-radius: 14px;background: #fff;padding: 0.25rem}.random-alphabet-encode-selector.is-disabled{background: var(--random-alphabet-surface);opacity: 0.62}.random-alphabet-encode-selector.is-disabled .random-alphabet-selector-button{cursor: not-allowed}.random-alphabet-selector-button{min-width: 0;min-height: 44px;border: 0;border-radius: 10px;background: transparent;color: var(--random-alphabet-strong);cursor: pointer;font: inherit;font-weight: 900;line-height: 1.15;padding: 0.55rem;transition: background-color 0.12s ease,color 0.12s ease,transform 0.12s ease}.random-alphabet-selector-button:hover,.random-alphabet-selector-button:focus-visible{background: var(--random-alphabet-surface-hover);color: var(--random-alphabet-action-hover)}.random-alphabet-selector-button.is-active{background: var(--random-alphabet-action);color: var(--random-alphabet-action-text)}.random-alphabet-selector-button:disabled{cursor: not-allowed}.random-alphabet-encode-panel,.random-alphabet-decode-panel,.random-alphabet-row{display: grid;gap: 0.9rem}.random-alphabet-encode-panel[hidden],.random-alphabet-decode-panel[hidden],.random-alphabet-available-block[hidden],.random-alphabet-action[hidden]{display: none}.random-alphabet-row-title{display: flex;flex-wrap: wrap;gap: 0.75rem;align-items: center;justify-content: space-between}.random-alphabet-row-label{margin: 0;color: var(--random-alphabet-strong);font-weight: 900;line-height: 1.25}.random-alphabet-substitution-block,.random-alphabet-available-block{display: grid;gap: 0.65rem;border: 1px solid var(--random-alphabet-border);border-radius: 10px;background: var(--random-alphabet-surface);padding: 0.85rem}.random-alphabet-substitution-head{display: flex;flex-wrap: wrap;gap: 0.55rem;align-items: center;justify-content: space-between}.random-alphabet-substitution-block h3,.random-alphabet-available-block h3{margin: 0;color: var(--random-alphabet-strong);font-size: 1rem;font-weight: 900;line-height: 1.2}.random-alphabet-available-block h3{text-align: center}.random-alphabet-substitution-block p{margin: 0;color: var(--random-alphabet-text);font-weight: 800;line-height: 1.45;text-align: center}.random-alphabet-substitution-block span{color: var(--random-alphabet-strong);font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-weight: 900;letter-spacing: 0.045em;word-break: break-all}.random-alphabet-letters{display: grid;grid-template-columns: repeat(13,minmax(1.65rem,1fr));gap: 0.22rem;min-width: 0}.random-alphabet-letters span{min-width: 0;min-height: 2rem;border: 1px solid var(--random-alphabet-border);border-radius: 7px;background: var(--random-alphabet-surface-hover);color: var(--random-alphabet-strong);display: inline-flex;align-items: center;justify-content: center;font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size: 0.9rem;font-weight: 900;line-height: 1}.random-alphabet-available-letters span.is-used{background: color-mix(in srgb,#fff 70%,#d1d5db);color: color-mix(in srgb,var(--random-alphabet-strong) 45%,#fff);text-decoration: line-through}.random-alphabet-code-grid{display: grid;grid-template-columns: repeat(13,minmax(0,1fr));gap: 0.55rem 0.45rem}.random-alphabet-code-cell{display: grid;gap: 0.3rem;justify-items: center;min-width: 0}.random-alphabet-code-cell label{color: var(--random-alphabet-action-hover);font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-weight: 900;line-height: 1}.random-alphabet-code-cell input{width: 100%;min-width: 0;max-width: 3rem;min-height: 2.35rem;border: 1px solid var(--random-alphabet-border);border-radius: 8px;background: #fff;color: var(--random-alphabet-strong);font: inherit;font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size: 1rem;font-weight: 900;text-align: center;text-transform: uppercase}.random-alphabet-code-cell input[readonly]{background: var(--random-alphabet-surface);cursor: default}.random-alphabet-copy-proxy{position: fixed;left: -9999px;top: 0;width: 1px;height: 1px;opacity: 0}.random-alphabet-info-grid{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 0.9rem;margin: 1.15rem 0}.random-alphabet-info-card,.random-alphabet-info-example{border: 2px solid var(--random-alphabet-border,var(--outil-bord));border-radius: 10px;background: #fff;box-shadow: 0 8px 22px rgb(var(--outil-ombre-rgb) / 0.06);padding: 0.95rem}.random-alphabet-info-card h3{color: var(--random-alphabet-strong,var(--outil-fonce));font-size: 1rem;font-weight: 900;line-height: 1.2;margin: 0 0 0.55rem;text-align: center}.random-alphabet-info-card p,.random-alphabet-info-example p{color: var(--random-alphabet-text,var(--outil-texte));line-height: 1.58;margin: 0}.random-alphabet-info-example{margin: 1rem 0}.random-alphabet-info-code{color: var(--random-alphabet-strong,var(--outil-fonce));font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-weight: 900}.random-alphabet-info-table{width: 100%;border-collapse: collapse;margin: 1rem 0;overflow-wrap: anywhere;border: 2px solid var(--random-alphabet-border,var(--outil-bord));background: #fff}.random-alphabet-info-table caption{color: var(--random-alphabet-strong,var(--outil-fonce));font-weight: 900;margin-bottom: 0.55rem;text-align: left}.random-alphabet-info-table th,.random-alphabet-info-table td{border: 1px solid var(--random-alphabet-border,var(--outil-bord));padding: 0.62rem 0.55rem;text-align: center;vertical-align: middle}.random-alphabet-info-table th{background: var(--random-alphabet-surface,var(--outil-surface));color: var(--random-alphabet-strong,var(--outil-fonce));font-weight: 900}.random-alphabet-info-table tbody tr:nth-child(even){background: color-mix(in srgb,var(--random-alphabet-surface,var(--outil-surface)) 58%,#fff)}.random-alphabet-info-table td{color: var(--random-alphabet-text,var(--outil-texte));font-weight: 800}.random-alphabet-info-table td .random-alphabet-info-code,.random-alphabet-info-table th .random-alphabet-info-code{display: inline-block}@media (max-width: 980px){.random-alphabet-text-grid,.random-alphabet-info-grid{grid-template-columns: 1fr}}@media (max-width: 720px){.random-alphabet-code-grid{grid-template-columns: repeat(6,minmax(0,1fr))}}@media (max-width: 560px){.random-alphabet-editor-top,.random-alphabet-editor-bottom,.random-alphabet-result-top,.random-alphabet-result-bottom,.random-alphabet-row-title{align-items: stretch;flex-direction: column}.random-alphabet-control-stack{grid-template-columns: 1fr}.random-alphabet-direction-selector,.random-alphabet-encode-selector{grid-column: 1}.random-alphabet-action-group,.random-alphabet-action,.random-alphabet-selector{width: 100%}.random-alphabet-letters{grid-template-columns: repeat(7,minmax(1.75rem,1fr))}.random-alphabet-code-grid{grid-template-columns: repeat(4,minmax(0,1fr))}}.random-alphabet-choice-table{width: 100%;margin: 1rem 0;border-collapse: collapse;border: 1px solid var(--random-alphabet-border,var(--outil-bord));border-radius: 10px;overflow: hidden;background: #fff}.random-alphabet-choice-table th,.random-alphabet-choice-table td{border: 1px solid var(--random-alphabet-border,var(--outil-bord));padding: 0.65rem 0.75rem;color: var(--random-alphabet-text,var(--outil-texte));line-height: 1.45;text-align: left;vertical-align: top;font-weight: 400}.random-alphabet-choice-table th{color: var(--random-alphabet-strong,var(--outil-fonce));background: var(--random-alphabet-surface,var(--outil-surface));font-weight: 900}.random-alphabet-choice-table tbody tr:nth-child(even) td{background: #fffaf0}.random-alphabet-choice-table a,.random-alphabet-choice-link{color: var(--random-alphabet-strong,var(--outil-fonce));cursor: pointer;font-weight: 900;text-decoration: underline;text-decoration-thickness: 0.08em;text-underline-offset: 0.16em}