[data-tool="tap-code"]{--tool-code-action: var(--outil-action);--tool-code-action-hover: var(--outil-action-hover);--tool-code-action-text: var(--outil-action-texte);--tool-code-border: var(--outil-bord);--tool-code-surface: var(--outil-surface);--tool-code-surface-hover: var(--outil-surface-hover);--tool-code-text: var(--outil-texte);--tool-code-strong: var(--outil-fonce);display: grid;gap: 1rem}[data-tool="tap-code"] *,[data-tool="tap-code"] *::before,[data-tool="tap-code"] *::after{box-sizing: border-box}.tap-code-intro,.tap-code-status,.tap-code-reference p{margin: 0;color: var(--tool-code-text);line-height: 1.55}.tap-code-settings,.tap-code-editor,.tap-code-reference{border: 1px solid var(--tool-code-border);border-radius: 10px;background: #fff;overflow: hidden}.tap-code-settings,.tap-code-reference{padding: .9rem}.tap-code-settings h2,.tap-code-editor h2,.tap-code-reference h2{margin: 0;color: var(--tool-code-strong);font-size: 1.08rem;font-weight: 900;line-height: 1.2}.tap-code-settings>h2{margin-bottom: .8rem;text-align: center}.tap-code-settings-grid{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: .8rem;align-items: start}.tap-code-setting{display: grid;gap: .55rem;min-width: 0;padding: .75rem;border: 1px solid var(--tool-code-border);border-radius: 8px;background: var(--tool-code-surface)}.tap-code-label{margin: 0;color: var(--tool-code-strong);font-weight: 900;text-align: center;line-height: 1.25}.tap-code-selector{display: grid;grid-auto-flow: column;grid-auto-columns: minmax(0,1fr);gap: .25rem;padding: .25rem;border: 1px solid var(--tool-code-border);border-radius: 8px;background: #fff}.tap-code-selector-3{grid-template-columns: repeat(3,minmax(0,1fr));grid-auto-flow: initial}.tap-code-selector-4{grid-template-columns: repeat(4,minmax(0,1fr));grid-auto-flow: initial}.tap-code-selector-button{min-height: 2.45rem;border: 0;border-radius: 7px;background: transparent;color: var(--tool-code-strong);cursor: pointer;font: inherit;font-size: .9rem;font-weight: 850;line-height: 1.15;transition: transform .12s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease}.tap-code-selector-button:not(.is-active):hover{background: var(--tool-code-surface-hover)}.tap-code-selector-button:active,.tap-code-action:not(:disabled):active{transform: translateY(1px)}.tap-code-selector-button.is-active{background: var(--tool-code-action);color: var(--tool-code-action-text)}.tap-code-custom-label{display: grid;gap: .4rem;color: var(--tool-code-strong);font-size: .9rem;font-weight: 850}.tap-code-custom-label input{min-height: 2.45rem;width: 100%;border: 1px solid var(--tool-code-border);border-radius: 8px;background: #fff;color: var(--tool-code-strong);font: inherit;font-weight: 780;padding: .45rem .6rem}.tap-code-custom-label input:disabled{opacity: .55;cursor: not-allowed}.tap-code-grid{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 1rem;align-items: stretch}.tap-code-editor{position: relative;display: grid;grid-template-rows: auto minmax(16rem,1fr) auto;min-width: 0}.tap-code-editor-top,.tap-code-editor-bottom{display: grid;grid-template-columns: minmax(0,1fr) auto;gap: .55rem;align-items: center;background: var(--tool-code-surface);padding: .55rem}.tap-code-editor-top{border-bottom: 1px solid var(--tool-code-border)}.tap-code-editor-bottom{border-top: 1px solid var(--tool-code-border)}.tap-code-textarea{width: 100%;min-width: 0;min-height: 16rem;border: 0;border-radius: 0;background: #fff;color: var(--tool-code-strong);font: inherit;font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size: .98rem;font-weight: 780;line-height: 1.55;padding: .85rem;resize: none;appearance: none}.tap-code-textarea-result,.tap-code-textarea[readonly]{background: var(--tool-code-surface);cursor: default}.tap-code-textarea:focus,.tap-code-action:focus-visible,.tap-code-selector-button:focus-visible,.tap-code-custom-label input:focus{outline: 3px solid color-mix(in srgb,var(--outil-focus) 30%,transparent);outline-offset: 2px}.tap-code-status{min-height: 1.25rem;color: var(--tool-code-strong);font-size: .82rem;font-weight: 850;max-width: 100%;overflow-wrap: anywhere}.tap-code-status.is-error{color: #a70f13}.tap-code-status.is-success{color: #0b5b2f}.tap-code-action-group{display: flex;flex-wrap: nowrap;gap: .35rem;align-items: center;justify-content: flex-end;min-width: max-content}.tap-code-action{min-height: 2.35rem;border: 1px solid var(--tool-code-border);border-radius: 8px;background: #fff;color: var(--tool-code-strong);cursor: pointer;display: inline-flex;align-items: center;justify-content: center;gap: .35rem;font: inherit;font-size: .9rem;font-weight: 850;line-height: 1.15;padding: .38rem .52rem;text-align: center;transition: transform .12s ease,border-color .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease,opacity .16s ease}.tap-code-action-primary{border-color: var(--tool-code-action);background: var(--tool-code-action);color: var(--tool-code-action-text)}.tap-code-action-icon{width: 18px;height: 18px;flex: 0 0 auto}.tap-code-action:not(:disabled):hover,.tap-code-action:not(:disabled):focus-visible{border-color: var(--tool-code-action-hover);color: var(--tool-code-action-hover);background: var(--tool-code-surface-hover);box-shadow: 0 0 0 3px color-mix(in srgb,var(--tool-code-action) 15%,transparent);outline: 0}.tap-code-action-primary:not(:disabled):hover,.tap-code-action-primary:not(:disabled):focus-visible{background: var(--tool-code-action-hover);color: var(--tool-code-action-text)}.tap-code-action:disabled{cursor: not-allowed;opacity: .48;transform: none;box-shadow: none}.tap-code-reference{display: grid;gap: .85rem}.tap-code-reference-head{display: grid;gap: .3rem}.tap-code-square{display: grid;grid-template-columns: repeat(6,minmax(2.2rem,1fr));gap: .35rem;max-width: 34rem}.tap-code-cell{min-height: 2.3rem;display: grid;place-items: center;border: 1px solid var(--tool-code-border);border-radius: 8px;background: #fff;color: var(--tool-code-strong);font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-weight: 900}.tap-code-cell.is-head{background: var(--tool-code-surface);color: var(--tool-code-action)}.tap-code-file-input,.tap-code-copy-proxy{position: fixed;left: -9999px;top: 0;width: 1px;height: 1px;opacity: 0;pointer-events: none}.tap-code-info-grid{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 1rem;margin: 1rem 0}.tap-code-info-card,.tap-code-info-note{border: 1px solid var(--outil-bord,#e2cf82);border-radius: 8px;padding: 1rem;background: #fffdf3}.tap-code-info-card h3,.tap-code-info-note h3{margin: 0 0 .45rem;color: var(--outil-fonce,#7a4400);font-size: 1rem;font-weight: 900;line-height: 1.25}.tap-code-info-card p,.tap-code-info-note p{margin: 0;color: var(--outil-texte,var(--primary-dark,#103b6d));line-height: 1.58}.tap-code-info-table{width: 100%;margin: 1rem 0;border-collapse: collapse;border: 1px solid var(--outil-bord,#e2cf82);border-radius: 8px;overflow: hidden;background: #fff}.tap-code-info-table th,.tap-code-info-table td{border: 1px solid var(--outil-bord,#e2cf82);padding: .65rem .75rem;text-align: left;vertical-align: top;line-height: 1.45}.tap-code-info-table th{color: var(--outil-fonce,#7a4400);background: var(--outil-surface,#fff7d8);font-weight: 900}.tap-code-info-table td{color: var(--outil-texte,var(--primary-dark,#103b6d));background: #fff}.tap-code-info-table tbody tr:nth-child(even) td{background: #fffaf0}.tap-code-info-code{display: inline-block;padding: .08rem .28rem;border-radius: 5px;background: #fff;color: var(--primary-dark,#103b6d);font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-weight: 850}.tap-code-info-note{border-left: 5px solid var(--outil-action,#9a5a08);background: var(--outil-surface,#fff7d8)}.tap-code-info-link{color: var(--primary-dark,#103b6d);font-weight: 900;text-decoration: underline;cursor: pointer}@media (max-width: 980px){.tap-code-settings-grid,.tap-code-grid,.tap-code-info-grid{grid-template-columns: 1fr}}@media (max-width: 680px){.tap-code-selector,.tap-code-selector-3,.tap-code-selector-4,.tap-code-editor-top,.tap-code-editor-bottom{grid-template-columns: 1fr;grid-auto-flow: row}.tap-code-action-group{justify-content: flex-start;flex-wrap: wrap;min-width: 0}.tap-code-square{grid-template-columns: repeat(6,minmax(1.65rem,1fr));gap: .25rem}.tap-code-cell{min-height: 1.9rem;font-size: .82rem}}