.pop{animation:pop .3s linear forwards}@keyframes pop{25%{transform:scale(1.2)}100%{transform:scale(1)}}.reveal{animation:reveal 3s linear 1}@keyframes reveal{0%{opacity:1;display:block}30%{opacity:1;display:block}60%{opacity:.7;display:block}90%{opacity:.3;display:block}100%{opacity:0}}.lightSpeedIn{animation:lightSpeedIn .7s ease-in forwards}.lightSpeedOut{animation:lightSpeedOut .7s ease-out forwards}@keyframes lightSpeedIn{0%{-webkit-transform:translateX(100%) skewX(-30deg);opacity:0}60%{-webkit-transform:translateX(-20%) skewX(30deg);opacity:1}80%{-webkit-transform:translateX(0%) skewX(-15deg);opacity:1}100%{-webkit-transform:translateX(0%) skewX(0deg);opacity:1}}@keyframes lightSpeedOut{100%{-webkit-transform:translateX(100%) skewX(-30deg);opacity:0}80%{-webkit-transform:translateX(-20%) skewX(30deg);opacity:1}60%{-webkit-transform:translateX(0%) skewX(-15deg);opacity:1}0%{-webkit-transform:translateX(0%) skewX(0deg);opacity:1}}.interactive-image-preview-wrapper{border:1px solid #dee2e6;border-radius:4px}.interactive-image-preview-cell{transition:background-color .1s}.interactive-image-preview-cell:hover{background-color:rgba(255, 255, 255, 0.15) !important}.interactive-image-answers,.choice-grid-answers{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0}.interactive-image-answers>div,.choice-grid-answers>div{flex:0 0 auto;margin-bottom:0}.interactive-image-answers .form-check,.choice-grid-answers .form-check{padding:0}.interactive-image-answers .form-check-input,.choice-grid-answers .form-check-input{position:absolute;opacity:0;width:0;height:0}.interactive-image-answers .form-check-label,.choice-grid-answers .form-check-label{display:inline-flex;align-items:center;padding:4px 10px;border:1.5px solid #dee2e6;border-radius:20px;cursor:pointer;font-size:.8rem;font-weight:600;background:#f8f9fa;transition:background .15s,border-color .15s;user-select:none}.interactive-image-answers .form-check-input:checked+.form-check-label,.choice-grid-answers .form-check-input:checked+.form-check-label{background:var(--primary-color, #008f9c);border-color:var(--primary-color, #008f9c);color:#fff}.ranking-admin-handle{cursor:grab;color:#aaa;border-radius:3px;transition:color .15s}.ranking-admin-handle:hover{color:#555}.ranking-admin-ghost{opacity:.4;background:#e9ecef}.ranking-admin-dragging{box-shadow:0 4px 12px rgba(0, 0, 0, 0.12);opacity:.95}:root{--primary-color: rgb(0, 143, 156);--secondary-color: rgb(73, 138, 248);--field-text-color:rgb(26, 27, 24);--field-bg-color: rgb(255,255,255);--bg-color: rgb(228, 235, 244);--field-color: rgb(242, 242, 242)}.steps-inner,.card.form-question,.card.form-page,.form-question-choices,.bottom-section,.options-section,.top-section{background-color:rgb(255, 255, 255);border-radius:10px;box-shadow:0px 0px 15px 0px rgba(0, 0, 0, 0.15);margin:15px auto auto}.top-section-navbar{background-color:rgb(255, 255, 255);border-radius:10px;box-shadow:0px 0px 15px 0px rgba(0, 0, 0, 0.15);margin:15px auto auto}.bottom-section{min-height:80px;padding:10px;text-align:right}.top-section{min-height:60px;padding:17px 19px 10px 10px}.form-question-choices{margin:10px 0 10px 0;min-height:inherit;width:100%}.options-section{width:100%;margin-left:0}.accordion.steps-inner,table.steps-inner{min-height:inherit}table.steps-inner{margin-top:35px}input[type=file]{padding:8px 20px 6px 6px;transition:.4s all ease}input[type=file]::file-selector-button{border-radius:6px;font-size:16px;font-weight:normal;height:100%;text-align:center;padding:0 30px;margin:0 10px 0 0}.question-button{border-radius:6px;height:45px;padding:8px 20px 6px 6px;transition:.4s all ease;display:flex;align-items:center;margin:15px 0 0 13%}.add-question-button{align-items:center}.add-valid-question-choices-button{align-items:center;margin:0 0 0 10px}.add-question-choices-button{align-items:center}.delete-question-button{align-items:center}.delete-choice-button{align-items:center;margin:4rem 0 0 1rem}.delete-resource-button{align-items:center;margin:0 0 20px 0}div[data-type=free-response].subEmbeddedCollection .form-content .delete-choice-button{margin:2.5rem 0 0 1rem}.form-content{padding:10px 45px 10px 30px}.form-content textarea{min-height:110px;resize:none;transition:.4s all ease;padding:25px}.form-content textarea:focus{outline:none;border-color:var(--primary-color)}.bottom-section-link{float:left;font-weight:500;margin:14px 0 0 0}.form-content.form-question-choices fieldset{width:100%}label.form-label{font-weight:600 !important}.btn-choices{height:30px;border-radius:5px 5px 5px 5px}.submit{width:100%;height:auto;margin-top:50px}.submit .sub{border-radius:6px;background-color:var(--primary-color);width:auto;padding:0 60px;font-weight:500;height:50px;border:solid 2px transparent;font-size:16px;color:var(--field-bg-color);margin-right:15px;position:relative}.submit .sub span{margin-left:10px;display:inline-block;transform:translateX(-200%);opacity:0;transition:.4s ease;position:absolute}.submit .sub:hover span{opacity:1;transform:translateX(0)}#sub img{width:60px}.error-validation{border:1px solid red}.error-validation:focus{outline:none}.range-input{-webkit-appearance:none;appearance:none;width:100%;cursor:pointer;outline:none;border-radius:15px;height:6px;background:#ccc}.range-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;height:15px;width:15px;background-color:#f50;border-radius:50%;border:none;transition:.2s ease-in-out}.range-input::-moz-range-thumb{height:15px;width:15px;background-color:#f50;border-radius:50%;border:none;transition:.2s ease-in-out}.range-input::-webkit-slider-thumb:hover{box-shadow:0 0 0 10px rgba(255, 85, 0, 0.1)}.range-input:active::-webkit-slider-thumb{box-shadow:0 0 0 13px rgba(255, 85, 0, 0.2)}.range-input:focus::-webkit-slider-thumb{box-shadow:0 0 0 13px rgba(255, 85, 0, 0.2)}.range-input::-moz-range-thumb:hover{box-shadow:0 0 0 10px rgba(255, 85, 0, 0.1)}.range-input:active::-moz-range-thumb{box-shadow:0 0 0 13px rgba(255, 85, 0, 0.2)}.range-input:focus::-moz-range-thumb{box-shadow:0 0 0 13px rgba(255, 85, 0, 0.2)}.range-slider-value{font-size:20px;width:50px;text-align:center}.range-slider{flex:1}.sliderticks{display:flex;justify-content:space-between;padding:0 10px}.sliderticks span{display:flex;justify-content:center;width:1px;height:10px;background:#d3d3d3;line-height:40px}.range{display:flex;align-items:center;margin-bottom:1.3rem}.questionnaire-item:hover{background-color:#f0f8ff;transition:background-color .2s ease-in-out}.questionnaire-item:hover i.fa-arrow-right{color:#0d6efd;transform:translateX(3px);transition:all .2s ease-in-out}.taxonomy{margin:0 auto;padding:1rem}.taxonomy-bottom-section{margin:15px auto auto;text-align:right}.taxonomy .steps-inner{margin:1rem auto;background-color:rgb(255, 255, 255);overflow:hidden}.taxonomy .form-control{font-size:.9rem}.taxonomy .preview-img{max-width:150px;max-height:150px;margin:0 0 1rem 0;border-radius:5px}.taxonomy .form-actions{display:flex;gap:.5rem;margin-top:.5rem}.taxonomy .table{border-collapse:collapse}.taxonomy .table th,.taxonomy .table td{padding:.75rem;border-bottom:1px solid #ddd}.taxonomy .table-actions{gap:.5rem}.taxonomy .action-icon{font-size:1.2rem}.qb-stepper{display:flex;align-items:center;justify-content:center;gap:0;padding:1.25rem 1rem .75rem;background:#fff;border-bottom:1px solid #e9ecef;margin-bottom:1.5rem}.qb-step{display:flex;flex-direction:column;align-items:center;gap:.3rem;text-decoration:none;color:#6c757d;cursor:pointer;transition:color .15s;min-width:90px}.qb-step:hover{color:#0d6efd}.qb-step.active{color:#0d6efd}.qb-step.active .qb-step-circle{background:#0d6efd;color:#fff;border-color:#0d6efd}.qb-step-circle{width:40px;height:40px;border-radius:50%;border:2px solid #dee2e6;background:#f8f9fa;color:#6c757d;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:background .15s,border-color .15s,color .15s}.qb-step-label{font-size:.75rem;font-weight:500;white-space:nowrap}.qb-step-line{flex:1;height:2px;background:#dee2e6;min-width:30px;max-width:80px;margin-bottom:1.2rem}.qb-config-card{background:#fff;border:1px solid #e9ecef;border-radius:.5rem;overflow:hidden}.qb-config-header{display:flex;align-items:center;padding:.6rem 1rem;background:#f8f9fa;border-bottom:1px solid #e9ecef}.qb-config-title{font-size:.875rem;font-weight:600;color:#495057}.qb-config-body{padding:1rem}.qb-config-tabs-wrapper .nav-link{font-size:.8rem;padding:.35rem .65rem}.qb-fieldset{padding:.75rem 1rem;border:1px solid #e6e9ee;border-radius:.375rem;background:#fdfdfe}.qb-fieldset legend{float:none;width:auto;font-size:.8rem;font-weight:600;color:#495057;padding:0 .4rem}.qb-item{border:1px solid #dee2e6;border-radius:.5rem;margin-bottom:.5rem;background:#fff;overflow:hidden}.qb-item-header{display:flex;align-items:stretch;background:#f8f9fa;border-bottom:1px solid transparent;min-height:44px}.qb-item.form-page>.qb-item-header{background:#eef2ff}.qb-item.form-group>.qb-item-header{background:#f3fcfc}.qb-delete-zone,.qb-delete-zone-question-group{display:flex;align-items:center;padding:0 .25rem 0 .5rem;flex-shrink:0}.qb-item-toggle{flex:1;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:none;border:none;text-align:left;cursor:pointer;color:#212529;font-size:.875rem;min-width:0}.qb-item-toggle:hover{background:rgba(0, 0, 0, 0.03)}.qb-item-num{flex-shrink:0;font-size:.7rem;font-weight:700;color:#6c757d;background:#e9ecef;border-radius:.25rem;padding:.1rem .35rem;letter-spacing:.02em}.form-page .qb-item-num{background:#c7d2fe;color:#3730a3}.qb-item-badge{flex-shrink:0;font-size:.65rem;font-weight:700;padding:.15rem .4rem;border-radius:.25rem;letter-spacing:.03em;text-transform:uppercase}.qb-badge-multiple-choice{background:#dbeafe;color:#1d4ed8}.qb-badge-true-false{background:#dcfce7;color:#15803d}.qb-badge-free-response{background:#fef9c3;color:#854d0e}.qb-item-preview{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;color:#6c757d;min-width:0}.qb-item-placeholder{color:#adb5bd}.qb-chevron{flex-shrink:0;font-size:.7rem;color:#adb5bd;transition:transform .2s;margin-left:auto}.qb-item-toggle:not(.collapsed) .qb-chevron{transform:rotate(180deg)}.qb-item-body{padding:.75rem 1rem}.qb-question-nav{margin-bottom:0;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.qb-question-nav .nav-link{font-size:.875rem;padding:.5rem .9rem;white-space:nowrap}.qb-question-tab-content{padding-top:.75rem}.qb-hero-label{font-size:.92rem}.qb-hero-input{height:48px;font-size:1.05rem;font-weight:500;border-color:#adb5bd}.qb-hero-input::placeholder{font-weight:400;color:#adb5bd}.qb-adv-dot{color:#0d6efd;font-size:1.15rem;line-height:0;margin-left:.15rem;vertical-align:-0.05em}.qb-adv-subnav{display:flex;flex-wrap:wrap;gap:.4rem;border-bottom:0}.qb-adv-subnav .nav-link{font-size:.8rem;font-weight:500;padding:.4rem .85rem;border:1px solid #dee2e6;border-radius:999px;color:#6c757d;background:#fff;line-height:1.2}.qb-adv-subnav .nav-link:hover{border-color:#adc4f0;color:#0d6efd}.qb-adv-subnav .nav-link.active{background:#eef2ff;border-color:#a9c4fc;color:#0d6efd;font-weight:600}.qb-adv-subcontent{padding-top:.25rem}.qb-choice-nav .nav-link{font-size:.75rem;padding:.25rem .5rem}.qb-resource-item{border:1px solid #e9ecef;border-radius:.375rem;background:#f8f9fa}.qb-action-bar{position:sticky;bottom:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;background:#fff;border-top:1px solid #dee2e6;box-shadow:0 -2px 8px rgba(0, 0, 0, 0.06)}.qb-back-link{font-size:.85rem;color:#6c757d;text-decoration:none;display:flex;align-items:center;gap:.35rem}.qb-back-link:hover{color:#0d6efd}.qb-action-buttons{display:flex;gap:.5rem}section:has(.funfact){color:blue}fieldset.main-question-fields.disabled input,fieldset.main-question-fields.disabled select{background-color:lightgrey;pointer-events:none;opacity:.7}@media(max-width: 768px){.qb-stepper{gap:0;padding:.75rem .5rem .5rem}.qb-step{min-width:60px}.qb-step-label{font-size:.65rem}.qb-step-circle{width:32px;height:32px;font-size:.85rem}.qb-item-preview{display:none}.qb-action-bar{flex-wrap:wrap;gap:.5rem}}.qb-list-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 6px;padding:6px 10px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;font-size:.8rem}.qb-list-toolbar .qb-lt-label{font-weight:600;white-space:nowrap}.qb-list-toolbar .qb-lt-filter{max-width:200px;flex:1 1 140px}.qb-list-toolbar.qb-lt-is-collapsed .qb-lt-filter,.qb-list-toolbar.qb-lt-is-collapsed .qb-lt-cols{display:none !important}.qb-row-hidden{display:none !important}.qb-collapsed{display:none !important}[data-qb-cols="2"],[data-qb-cols="3"],[data-qb-cols="4"]{display:grid;gap:10px;align-items:start}[data-qb-cols="2"]{grid-template-columns:repeat(2, minmax(0, 1fr))}[data-qb-cols="3"]{grid-template-columns:repeat(3, minmax(0, 1fr))}[data-qb-cols="4"]{grid-template-columns:repeat(4, minmax(0, 1fr))}[data-qb-cols]>:not(.qb-row){justify-self:start}[data-qb-cols]>.qb-row.form-content{margin:0;padding:10px 14px}[data-qb-cols] .delete-choice-button{margin:.25rem 0 0 .5rem}@media(max-width: 992px){[data-qb-cols="3"],[data-qb-cols="4"]{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(max-width: 576px){[data-qb-cols="2"],[data-qb-cols="3"],[data-qb-cols="4"]{grid-template-columns:1fr}}@media(max-width: 768px){.form-content{padding:10px 18px}.form-content textarea{padding:16px}.delete-choice-button{font-size:0}.delete-choice-button::before{font-family:"Font Awesome 6 Free";font-weight:900;content:"";font-size:.875rem}}@media(max-width: 576px){.qb-config-body{padding:.75rem .5rem}.form-content{padding:10px 10px}.qb-config-nav .nav-link,.qb-question-nav .nav-link,.qb-choice-nav .nav-link{font-size:0}.qb-config-nav .nav-link>i,.qb-question-nav .nav-link>i,.qb-choice-nav .nav-link>i{font-size:1rem;margin-right:0 !important}}.qb-item-header{container:qb-header/inline-size}@container qb-header (max-width: 400px){.qb-delete-zone>.btn{font-size:0}.qb-delete-zone>.btn::before{font-family:"Font Awesome 6 Free";font-weight:900;content:"";font-size:.875rem}}@media(max-width: 768px){.qb-item-body{padding:.75rem .75rem}}@media(max-width: 576px){.qb-item-body{padding:.6rem .5rem}}@media(max-width: 768px){#taxonomy table.steps-inner{display:block;width:max-content;max-width:100%;overflow-x:auto}}@media(max-width: 576px){#taxonomy .container.mb-5>.d-flex{flex-direction:column;align-items:stretch !important;justify-content:flex-start !important;gap:.5rem}#taxonomy .container.mb-5>.d-flex>.d-flex{flex-direction:column;gap:.5rem !important;width:100%}#taxonomy .container.mb-5 .btn{width:100%;white-space:nowrap}}@media(max-width: 576px){.qb-action-bar .add-question-button,.qb-action-bar .add-group-button{font-size:0}.qb-action-bar .add-question-button::before,.qb-action-bar .add-group-button::before{font-family:"Font Awesome 6 Free";font-weight:900;font-size:.875rem}.qb-action-bar .add-question-button::before{content:""}.qb-action-bar .add-group-button::before{content:""}}.taxonomy-refresh{font-size:.75rem;color:var(--bs-secondary-color, #6c757d);line-height:1}.taxonomy-refresh:hover:not(:disabled){color:var(--bs-primary, #0d6efd)}.taxonomy-refresh:disabled{opacity:.65}.taxonomy-refresh.is-refreshing i{animation:taxonomy-refresh-spin .8s linear infinite}.taxonomy-refresh[data-refresh-failed]{color:var(--bs-danger, #dc3545)}@keyframes taxonomy-refresh-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion: reduce){.taxonomy-refresh.is-refreshing i{animation:none}}
/* Éditeur WYSIWYG « maison » (assets/js/rich-text.js).
   Harmonisé avec les champs .form-control de l'app (clair uniquement) : même fond blanc,
   même bordure #ced4da, même rayon var(--radius), même focus. Pas de dark auto (OS) :
   les formulaires de l'app ne réagissent pas à prefers-color-scheme, l'éditeur non plus. */
.rich-text {
    --rt-border: #ced4da;          /* = bordure .form-control */
    --rt-toolbar-bg: #f8f9fa;      /* gris très léger (en-têtes/inputs group) */
    --rt-btn-color: #495057;
    --rt-btn-hover-bg: #e9ecef;
    --rt-editor-bg: #ffffff;       /* = fond .form-control */
    --rt-editor-color: #212529;    /* = texte .form-control */
    --rt-placeholder: #6c757d;     /* = placeholder .form-control */

    display: block;
    border: 1px solid var(--rt-border);
    border-radius: var(--radius, 0.375rem);
    overflow: hidden;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

/* Focus aligné sur .form-control:focus de l'app. */
.rich-text:focus-within {
    border-color: var(--color-primary, #86b7fe);
    box-shadow: 0 0 0 .25rem var(--shadow-color, rgba(0, 0, 0, 0.05));
}

.rich-text-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.125rem;
    padding: 0.25rem 0.375rem;
    background: var(--rt-toolbar-bg);
    border-bottom: 1px solid var(--rt-border);
}

.rich-text-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.9rem;
    height: 1.9rem;
    padding: 0 0.4rem;
    border: 0;
    border-radius: 0.25rem;
    background: transparent;
    color: var(--rt-btn-color);
    cursor: pointer;
    font-size: 0.85rem;
    line-height: 1;
}

.rich-text-btn:hover {
    background: var(--rt-btn-hover-bg);
}

/* La pastille couleur héberge un <input type=color> invisible superposé. */
.rich-text-color {
    position: relative;
    overflow: hidden;
}

.rich-text-color input[type="color"] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    border: 0;
    padding: 0;
}

.rich-text-select {
    width: auto;
    min-width: 5.5rem;
    height: 1.9rem;
    padding: 0 1.4rem 0 0.4rem;
    font-size: 0.8rem;
}

.rich-text-sep {
    width: 1px;
    align-self: stretch;
    margin: 0.15rem 0.25rem;
    background: var(--rt-border);
}

.rich-text-editor {
    min-height: 6.5rem;
    max-height: 30rem;
    overflow-y: auto;
    padding: 0.75rem 1rem;                        /* ~ .form-control */
    background: var(--rt-editor-bg);
    color: var(--rt-editor-color);
    font-family: var(--font-text-family, inherit);
    font-size: 1rem;
    line-height: 1.4;
    border: 0;
    border-radius: 0;
}

.rich-text-editor:focus {
    outline: none;
    box-shadow: none;
}

/* Placeholder quand l'éditeur est vide. */
.rich-text-editor:empty::before {
    content: attr(data-placeholder);
    color: var(--rt-placeholder);
    pointer-events: none;
}

/* Le textarea source reste dans le DOM (soumission du formulaire) mais masqué. */
.rich-text-source {
    display: none !important;
}

