[data-tool="chiffres-romains"]{--roman-action: var(--outil-action);--roman-action-hover: var(--outil-action-hover);--roman-action-text: var(--outil-action-texte);--roman-border: var(--outil-bord);--roman-surface: var(--outil-surface);--roman-surface-hover: var(--outil-surface-hover);--roman-text: var(--outil-texte);--roman-strong: var(--outil-fonce);display: grid;gap: 1rem}[data-tool="chiffres-romains"] *,[data-tool="chiffres-romains"] *::before,[data-tool="chiffres-romains"] *::after{box-sizing: border-box}.roman-numerals-intro,.roman-numerals-field-status{margin: 0;color: var(--roman-text);line-height: 1.55}.roman-numerals-settings{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 0.8rem;border: 1px solid var(--roman-border);border-radius: 10px;background: #fff;padding: 0.85rem}.roman-numerals-settings h2,.roman-numerals-editor h2,.roman-numerals-result-panel h2{margin: 0;color: var(--roman-strong);font-size: 1.06rem;font-weight: 900;line-height: 1.2}.roman-numerals-settings h2{grid-column: 1 / -1;text-align: center}.roman-numerals-setting-row{display: grid;gap: 0.55rem;width: 100%;border: 1px solid var(--roman-border);border-radius: 10px;background: var(--roman-surface);padding: 0.75rem}.roman-numerals-setting-row>p{margin: 0;color: var(--roman-strong);font-size: 1rem;font-weight: 900;text-align: center}.roman-numerals-selector{display: grid;gap: 0.25rem;border: 1px solid var(--roman-border);border-radius: 14px;background: #fff;padding: 0.25rem}.roman-numerals-selector-two{grid-template-columns: repeat(2,minmax(0,1fr))}.roman-numerals-selector-button{min-width: 0;min-height: 2.55rem;border: 0;border-radius: 10px;background: transparent;color: var(--roman-strong);cursor: pointer;font: inherit;font-weight: 900;line-height: 1.12;padding: 0.5rem 0.45rem;transition: transform 0.12s ease,background-color 0.16s ease,color 0.16s ease,box-shadow 0.16s ease}.roman-numerals-selector-button:not(.is-active):hover,.roman-numerals-selector-button:not(.is-active):focus-visible{background: var(--roman-surface-hover);color: var(--roman-action-hover)}.roman-numerals-selector-button.is-active{background: var(--roman-action);color: var(--roman-action-text)}.roman-numerals-grid{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 1rem;align-items: stretch}.roman-numerals-editor,.roman-numerals-result-panel{display: grid;min-width: 0;grid-template-rows: auto minmax(0,1fr) auto;border: 1px solid var(--roman-border);border-radius: 10px;background: #fff;overflow: hidden}.roman-numerals-panel-top,.roman-numerals-panel-bottom{display: flex;flex-wrap: wrap;gap: 0.55rem;align-items: center;justify-content: space-between;background: var(--roman-surface);padding: 0.55rem}.roman-numerals-panel-top{border-bottom: 1px solid var(--roman-border)}.roman-numerals-panel-bottom{border-top: 1px solid var(--roman-border)}.roman-numerals-editor .roman-numerals-panel-bottom{display: grid;grid-template-columns: minmax(0,1fr) auto;align-items: center}.roman-numerals-editor .roman-numerals-action-group{justify-self: end}.roman-numerals-result-panel .roman-numerals-action-group{margin-left: auto}.roman-numerals-source-area{display: grid;gap: 1rem;min-height: 16rem;padding: 1rem}.roman-numerals-source-unit{display: grid;gap: 0.65rem;border: 1px solid var(--roman-border);border-radius: 10px;background: #fff;color: var(--roman-strong);font-weight: 900;padding: 0.85rem;transition: background-color 0.16s ease,color 0.16s ease,opacity 0.16s ease}.roman-numerals-source-unit.is-disabled{background: color-mix(in srgb,var(--roman-surface) 56%,#fff);color: color-mix(in srgb,var(--roman-strong) 66%,#fff)}.roman-numerals-source-unit.is-disabled .roman-numerals-stepper-button,.roman-numerals-source-unit.is-disabled input,.roman-numerals-source-unit.is-disabled textarea{opacity: 0.68}.roman-numerals-source-unit>label{text-align: center}.roman-numerals-stepper{display: grid;grid-template-columns: 3.25rem minmax(0,1fr) 3.25rem;gap: 0.45rem;width: min(100%,25rem);margin: 0 auto}.roman-numerals-stepper-button,.roman-numerals-stepper input{min-height: 3rem;border: 1px solid var(--roman-border);border-radius: 8px;background: #fff;color: var(--roman-strong);font: inherit}.roman-numerals-stepper-button{display: inline-flex;align-items: center;justify-content: center;cursor: pointer;color: var(--roman-action);font-size: 1.35rem;font-weight: 950;transition: transform 0.12s ease,border-color 0.16s ease,background-color 0.16s ease,color 0.16s ease,box-shadow 0.16s ease}.roman-numerals-stepper-button:not(:disabled):hover,.roman-numerals-stepper-button:not(:disabled):focus-visible{border-color: var(--roman-action-hover);color: var(--roman-action-hover);background: var(--roman-surface-hover);box-shadow: 0 0 0 3px color-mix(in srgb,var(--roman-action) 15%,transparent);outline: 0}.roman-numerals-stepper-button:not(:disabled):active{transform: translateY(1px) scale(0.985)}.roman-numerals-stepper input{min-width: 0;padding: 0.55rem 0.65rem;text-align: center;appearance: textfield}.roman-numerals-stepper input::-webkit-outer-spin-button,.roman-numerals-stepper input::-webkit-inner-spin-button{margin: 0;appearance: none}.roman-numerals-textarea{width: 100%;min-width: 0;border: 0;border-radius: 0;resize: none;background: #fff;color: var(--roman-strong);font: inherit;font-size: 1rem;line-height: 1.55;padding: 1rem}.roman-numerals-source-textarea{min-height: 8rem;border: 0;border-radius: 8px;background: color-mix(in srgb,var(--roman-surface) 35%,#fff)}.roman-numerals-result-textarea{min-height: 16rem;background: color-mix(in srgb,var(--roman-surface) 72%,#fff);color: color-mix(in srgb,var(--primary-dark,var(--roman-strong)) 82%,#64748b);font-size: clamp(1.35rem,3vw,2.2rem);font-weight: 900;text-align: center;cursor: default}.roman-numerals-textarea:focus,.roman-numerals-stepper input:focus{outline: 3px solid color-mix(in srgb,var(--outil-focus) 30%,transparent);outline-offset: 2px}.roman-numerals-action-group{display: flex;flex-wrap: wrap;gap: 0.35rem;align-items: center;justify-content: flex-end}.roman-numerals-action{min-height: 2.35rem;border: 1px solid var(--roman-border);border-radius: 8px;background: #fff;color: var(--roman-strong);cursor: pointer;display: inline-flex;align-items: center;justify-content: center;gap: 0.35rem;font: inherit;font-size: 0.9rem;font-weight: 850;line-height: 1.15;padding: 0.38rem 0.52rem;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}.roman-numerals-action-primary{border-color: var(--roman-action);background: var(--roman-action);color: var(--roman-action-text)}.roman-numerals-action-icon{width: 18px;height: 18px;flex: 0 0 auto}.roman-numerals-action:not(:disabled):hover,.roman-numerals-action:not(:disabled):focus-visible{border-color: var(--roman-action-hover);color: var(--roman-action-hover);background: var(--roman-surface-hover);box-shadow: 0 0 0 3px color-mix(in srgb,var(--roman-action) 15%,transparent);outline: 0}.roman-numerals-action-primary:not(:disabled):hover,.roman-numerals-action-primary:not(:disabled):focus-visible{background: var(--roman-action-hover);color: var(--roman-action-text)}.roman-numerals-action:active,.roman-numerals-selector-button:active{transform: translateY(1px) scale(0.985)}.roman-numerals-action:disabled{cursor: not-allowed;opacity: 0.58}.roman-numerals-field-status{min-height: 1.25rem;color: var(--roman-strong);font-size: 0.78rem;font-weight: 850;max-width: 100%;overflow-wrap: anywhere}.roman-numerals-field-status.is-error{color: #b91c1c}.roman-numerals-copy-proxy{position: fixed;top: -9999px;left: -9999px;width: 1px;height: 1px;opacity: 0}.roman-numerals-info-grid{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 0.9rem;margin: 1.15rem 0}.roman-numerals-info-card{border: 1px solid var(--roman-border,var(--outil-bord));border-radius: 10px;background: var(--roman-surface,var(--outil-surface));padding: 0.9rem}.roman-numerals-info-card h3{margin: 0 0 0.45rem;color: var(--roman-strong,var(--outil-fonce));font-size: 1rem;font-weight: 900}.roman-numerals-info-card p{margin: 0}.roman-numerals-info-code{display: inline-block;border: 1px solid var(--roman-border,var(--outil-bord));border-radius: 6px;background: #fff;color: var(--roman-strong,var(--outil-fonce));font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-weight: 900;padding: 0.05rem 0.28rem}.roman-numerals-info-table{width: 100%;border-collapse: collapse;margin: 1rem 0;overflow: hidden;border: 1px solid var(--roman-border,var(--outil-bord));border-radius: 10px}.roman-numerals-info-table caption{padding: 0.55rem;color: var(--roman-strong,var(--outil-fonce));font-weight: 900;text-align: left}.roman-numerals-info-table th,.roman-numerals-info-table td{border: 1px solid var(--roman-border,var(--outil-bord));padding: 0.55rem;text-align: center;vertical-align: middle}.roman-numerals-info-table th{background: var(--roman-surface,var(--outil-surface));color: var(--roman-strong,var(--outil-fonce));font-weight: 900}.roman-numerals-info-table td:nth-child(odd){background: color-mix(in srgb,var(--outil-jaune,#ffd24a) 24%,#fff);color: var(--roman-strong,var(--outil-fonce));font-weight: 900}.roman-numerals-info-table td:nth-child(even){color: var(--primary-dark,var(--roman-strong));font-weight: 850}.roman-numerals-info-link{color: var(--roman-action-hover,var(--outil-action-hover));font-weight: 850;text-decoration-thickness: 0.08em;text-underline-offset: 0.18em}.roman-numerals-info-link:hover,.roman-numerals-info-link:focus-visible{color: var(--roman-strong,var(--outil-fonce))}@media (max-width: 980px){.roman-numerals-grid,.roman-numerals-settings,.roman-numerals-info-grid{grid-template-columns: 1fr}}@media (max-width: 720px){.roman-numerals-selector-two{grid-template-columns: 1fr}.roman-numerals-info-table{font-size: 0.92rem}.roman-numerals-info-table th,.roman-numerals-info-table td{padding: 0.45rem 0.35rem}}@media (max-width: 560px){.roman-numerals-panel-top,.roman-numerals-panel-bottom{display: grid;justify-items: stretch}.roman-numerals-editor .roman-numerals-panel-bottom{grid-template-columns: 1fr}.roman-numerals-action-group,.roman-numerals-action{width: 100%}.roman-numerals-stepper{grid-template-columns: 3rem minmax(0,1fr) 3rem}}@media (prefers-reduced-motion: reduce){[data-tool="chiffres-romains"] *,[data-tool="chiffres-romains"] *::before,[data-tool="chiffres-romains"] *::after{animation-duration: 0.01ms;transition-duration: 0.01ms}}