@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size:12px;--rc-drag-handle-mobile-size:24px;--rc-drag-handle-bg-colour:rgba(0,0,0,.2);--rc-drag-bar-size:6px;--rc-border-color:rgba(255,255,255,.7);--rc-focus-color:#0088ff}.ReactCrop{position:relative;display:inline-block;cursor:crosshair;max-width:100%}.ReactCrop *,.ReactCrop :after,.ReactCrop :before{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{overflow:hidden;max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px)}.ReactCrop__crop-selection{position:absolute;top:0;left:0;transform:translateZ(0);cursor:move}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border:1px solid var(--rc-border-color);opacity:.3}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed white}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){animation:marching-ants 1s;background-image:linear-gradient(90deg,#fff 50%,#444 0),linear-gradient(90deg,#fff 50%,#444 0),linear-gradient(180deg,#fff 50%,#444 0),linear-gradient(180deg,#fff 50%,#444 0);background-size:10px 1px,10px 1px,1px 10px,1px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;color:#fff;animation-play-state:running;animation-timing-function:linear;animation-iteration-count:infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-hz:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-vt:before{content:"";display:block;position:absolute;background-color:#fff6}.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-vt:before{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:after,.ReactCrop__rule-of-thirds-hz:before{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute;width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nw-resize}.ReactCrop .ord-n{top:0;left:50%;transform:translate(-50%,-50%);cursor:n-resize}.ReactCrop .ord-ne{top:0;cursor:ne-resize}.ReactCrop .ord-e,.ReactCrop .ord-ne{right:0;transform:translate(50%,-50%)}.ReactCrop .ord-e{top:50%;cursor:e-resize}.ReactCrop .ord-se{bottom:0;right:0;transform:translate(50%,50%);cursor:se-resize}.ReactCrop .ord-s{left:50%;cursor:s-resize}.ReactCrop .ord-s,.ReactCrop .ord-sw{bottom:0;transform:translate(-50%,50%)}.ReactCrop .ord-sw{left:0;cursor:sw-resize}.ReactCrop .ord-w{top:50%;left:0;transform:translate(-50%,-50%);cursor:w-resize}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(-50%)}.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w,.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle{display:none}@media (pointer:coarse){.ReactCrop .ord-e,.ReactCrop .ord-n,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}:root{color-scheme:light;--background:#f6f8fb;--foreground:#1f2633;--muted:#667085;--border:#d8e0ec;--soft:#eef5ff;--accent:#2f6fdd;--accent-dark:#174a9c;--surface:rgba(255,255,255,0.94);--shadow-soft:0 18px 48px rgba(31,41,55,0.08);--shadow-hover:0 24px 68px rgba(31,41,55,0.13)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 18% 8%,#eaf2ff 0,transparent 34%),radial-gradient(circle at 92% 10%,#eef7f2 0,transparent 28%),linear-gradient(180deg,#fbfcff 0,var(--background) 100%);color:var(--foreground);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit}main{min-height:100vh;padding:36px 20px}.page{width:min(920px,100%);margin:0 auto}.page-wide{width:min(1120px,100%)}.page-narrow{width:min(760px,100%)}.eyebrow{color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.card,.panel{border:1px solid rgba(30,64,175,.08);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-soft);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease}.panel{padding:24px}.soft-panel{background:#f8fbff;box-shadow:none}.compact-panel{padding:18px}.muted{color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:#ffffff;padding:10px 14px;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease}.activity-row-link:hover,.button:hover,.icon-button:hover,.learner-live-card:hover,.learner-summary:hover,.picker-row:hover,.session-row-card:hover,.tab:hover{transform:translateY(-1px)}.button:hover{box-shadow:0 12px 28px rgba(47,111,221,.2)}.cta-create{gap:8px}.button-plus{display:inline-grid;width:22px;height:22px;place-items:center;border-radius:6px;background:rgba(255,255,255,.18);font-size:1.15rem;line-height:1}.button.secondary{background:#ffffff;color:var(--accent)}.button:disabled{cursor:not-allowed;opacity:.6}.button-row,.header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.app-shell{min-height:100vh;padding:24px}.app-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:16px;gap:16px;width:min(1120px,100%);margin:0 auto 28px}.brand,.brand-large{font-weight:900}.brand{gap:8px;font-size:1.15rem;text-decoration:none}.brand,.brand-large{display:inline-flex;align-items:center}.brand-large{gap:10px;font-size:1.35rem}.brand img,.brand-large img{border-radius:8px}.brand-lockup{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.back-button{width:-moz-fit-content;width:fit-content;border:0;background:transparent;color:var(--accent);padding:0;font:inherit;cursor:pointer}.avatar,.back-button{display:inline-flex;align-items:center;font-weight:900}.avatar{justify-self:end;width:42px;height:42px;justify-content:center;border:1px solid var(--border);border-radius:8px;background:#ffffff}.avatar-button{cursor:pointer}.avatar-blue{justify-self:auto;background:#eaf1ff;color:var(--accent-dark)}.profile-menu{position:relative}.profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:20;display:grid;min-width:220px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#ffffff;box-shadow:0 18px 45px rgba(31,41,55,.12)}.profile-dropdown a,.profile-dropdown button{border:0;background:#ffffff;color:var(--foreground);padding:12px 14px;font:inherit;font-weight:800;text-align:left;text-decoration:none;cursor:pointer}.profile-dropdown a:hover,.profile-dropdown button:hover{background:#f4f7fb}.tabs{display:inline-grid;grid-template-columns:repeat(2,1fr);gap:4px;padding:4px;border:1px solid var(--border);border-radius:8px;background:#ffffff}.dashboard-tabs{display:grid;grid-template-columns:repeat(5,1fr);width:max(80%,min(920px,100%));min-width:min(80%,100%);margin-bottom:24px}.activity-wizard-tabs{grid-template-columns:repeat(auto-fit,minmax(116px,1fr))}.activity-wizard-tabs .tab{display:grid;grid-gap:4px;gap:4px;min-height:72px;place-items:center;text-align:center}.activity-wizard-tabs .tab span{display:grid;width:28px;height:28px;place-items:center;border-radius:999px;background:rgba(37,99,235,.1);font-size:.82rem;font-weight:900}.activity-wizard-tabs .tab small{color:inherit;font-size:.78rem;font-weight:800}.wizard-progress-shell{width:100%;height:12px;overflow:hidden;border-radius:999px;background:#e8eef8}.wizard-progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,#2f6fdd,#7c3aed);transition:width .22s ease}.tab{border:0;border-radius:6px;background:transparent;padding:12px 16px;color:#596579;cursor:pointer;font-size:1rem;font-weight:900}.tab.active{background:#e8f0ff;color:#0f3d86}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:16px;gap:16px;margin-top:16px}.card{padding:18px}.activity-card{min-height:190px}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.session-action-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.type-icon{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:8px;font-weight:900}.type-mise_en_situation{background:#dbeafe;color:#1e40af}.type-jeu{background:#ede9fe;color:#6d28d9}.type-evaluation{background:#fef3c7;color:#92400e}.status-pill{display:inline-flex;border:1px solid var(--border);border-radius:8px;padding:4px 8px;color:var(--muted);font-size:.82rem;font-weight:800}.icon-button{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--border);border-radius:8px;background:#ffffff;color:var(--foreground);font-weight:900;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.answer-list,.form-grid,.learner-list{display:grid;grid-gap:14px;gap:14px}.sva-manager{display:grid;grid-gap:10px;gap:10px;border:1px solid rgba(47,111,221,.16);border-radius:8px;background:#ffffff;padding:12px}.sva-manager-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,360px);align-items:center;grid-gap:12px;gap:12px}.sva-manager-header p{margin:0}.sva-create-row{grid-template-columns:minmax(0,1fr) auto}.sva-create-row,.sva-folder-layout{display:grid;grid-gap:8px;gap:8px}.sva-folder-tree{display:flex;min-height:72px;flex-wrap:wrap;gap:8px;border:1px dashed #b8c6da;border-radius:8px;background:rgba(255,255,255,.72);padding:10px}.sva-folder-node{display:contents}.sva-folder{display:inline-grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-height:42px;gap:8px;border:1px solid var(--border);border-radius:8px;background:#ffffff;color:var(--foreground);cursor:pointer;font:inherit;padding:8px 12px;text-align:left}.sva-folder strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sva-folder small{color:var(--muted);font-weight:900}.sva-folder.active{border-color:var(--accent);background:#eef5ff;color:var(--accent-dark)}.activity-row-card[draggable=true],.answer-card[draggable=true]{cursor:-webkit-grab;cursor:grab}.answer-card{cursor:pointer;display:grid;grid-template-columns:1fr auto;grid-gap:16px;gap:16px}.answer-card-reviewed{border-color:rgba(34,197,94,.42);box-shadow:0 20px 52px rgba(31,41,55,.08),0 0 0 1px rgba(34,197,94,.14)}.answer-meta{display:grid;justify-items:end;grid-gap:8px;gap:8px}.status-pill-reviewed{border-color:rgba(34,197,94,.24);background:#ecfdf3;color:#166534}.answer-score-reviewed{color:#15803d;font-size:1.08rem}.answer-detail{grid-column:1/-1;border-top:1px solid var(--border);padding-top:12px;display:grid;grid-gap:12px;gap:12px}.answer-timeline{display:grid;grid-gap:18px;gap:18px}.timeline-day{display:grid;grid-gap:10px;gap:10px}.timeline-day>h3{margin:0;color:var(--muted);font-size:.95rem}.answer-detail img,.card img{border-radius:8px;max-width:100%}.image-carousel{display:grid;grid-gap:12px;gap:12px}.carousel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:900}.carousel-toolbar-actions{display:flex;align-items:flex-end;justify-content:flex-end;gap:14px;flex-wrap:wrap}.button-review-pink{border-color:#facc15;background:#facc15;color:#3f3200}.button-review-pink:hover{box-shadow:0 12px 28px rgba(250,204,21,.24)}.inline-review-toolbar{display:grid;grid-template-columns:auto minmax(320px,1fr) auto;align-items:end;justify-content:flex-end;grid-gap:14px;gap:14px;flex-wrap:wrap;width:min(100%,980px)}.inline-review-field{display:grid;grid-gap:6px;gap:6px}.inline-review-field span{color:var(--muted);font-size:.74rem;font-weight:900}.inline-review-field input{min-height:38px;border:1px solid var(--border);border-radius:8px;background:#ffffff;color:var(--foreground);font:inherit;padding:8px 10px}.inline-review-score input{width:74px}.inline-review-feedback{min-width:min(440px,100%)}.inline-review-feedback input{width:100%}.inline-review-suggestions{display:flex;flex-wrap:wrap;gap:8px}.inline-review-chip{cursor:pointer;text-align:left}.answer-game-review{display:grid;grid-gap:14px;gap:14px}.answer-game-review-top{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}.answer-game-review-top .button-review-pink{flex:0 0 auto}.answer-inline-review-card{display:grid;grid-gap:12px;gap:12px}.answer-attachment-list{display:grid;grid-gap:10px;gap:10px}.answer-attachment{display:grid;grid-gap:4px;gap:4px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;text-decoration:none;color:var(--foreground);background:#ffffff}.answer-attachment span{color:var(--muted);font-size:.9rem}.button.danger{border-color:rgba(220,38,38,.2);background:#fef2f2;color:#b91c1c}.dashboard-top-actions{display:flex;justify-content:flex-end;margin-bottom:16px}.modal-card-wide{width:min(1040px,calc(100vw - 32px))}.manual-selection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.manual-step-panel{display:grid;grid-gap:14px;gap:14px;min-height:420px}.manual-selection-panel{display:grid;grid-gap:12px;gap:12px}.manual-selection-panel h3{margin:0}.manual-selection-list{display:grid;grid-gap:10px;gap:10px;max-height:320px;overflow:auto}.manual-selection-list-large{max-height:520px}.manual-selection-item{display:grid;grid-gap:4px;gap:4px;text-align:left;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:#ffffff;color:var(--foreground)}.manual-selection-item small{color:var(--muted)}.manual-selection-item.active{border-color:rgba(37,99,235,.45);box-shadow:0 0 0 3px rgba(37,99,235,.12)}.manual-session-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.manual-file-list{display:flex;flex-wrap:wrap;gap:10px}.manual-file-chip{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:#eef2ff;color:#1e3a8a;font-size:.92rem;font-weight:700}.manual-upload-summary{display:grid;grid-gap:6px;gap:6px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:#ffffff}.manual-upload-summary p{margin:0}.manual-upload-button{justify-content:center}.answer-game-attempts{display:grid;grid-gap:10px;gap:10px}.answer-game-summary{color:var(--foreground)}.answer-game-attempt-list{display:grid;grid-gap:10px;gap:10px}.answer-game-attempt{display:grid;grid-gap:6px;gap:6px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:#ffffff}.answer-game-attempt-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.answer-game-attempt-head span{font-size:.84rem;font-weight:900;text-transform:uppercase}.answer-game-attempt p{margin:0}.answer-game-attempt.is-correct{border-color:rgba(34,197,94,.3);background:#f0fdf4}.answer-game-attempt.is-correct .answer-game-attempt-head span{color:#15803d}.answer-game-attempt.is-incorrect{border-color:rgba(239,68,68,.24);background:#fef2f2}.answer-game-attempt.is-incorrect .answer-game-attempt-head span{color:#b91c1c}@media (max-width:1080px){.inline-review-toolbar{grid-template-columns:1fr;justify-content:stretch;width:100%}.inline-review-feedback,.inline-review-score input{width:100%;min-width:0}.answer-game-review-top{align-items:stretch}}.carousel-main{display:block;width:100%;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#f8fbff;padding:0;cursor:zoom-in}.carousel-main img{display:block;width:100%;max-height:56vh;object-fit:contain}.carousel-controls{display:grid;grid-template-columns:1fr 1fr;align-items:center;grid-gap:8px;gap:8px}.carousel-thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.carousel-thumbs button{flex:0 0 58px;width:58px;height:58px;overflow:hidden;border:2px solid transparent;border-radius:8px;background:#ffffff;padding:0;cursor:pointer}.carousel-thumbs button.active{border-color:var(--accent)}.carousel-thumbs img{width:100%;height:100%;object-fit:cover}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:rgba(15,23,42,.62);animation:modal-fade .16s ease;padding:18px}.zoom-backdrop{background:rgba(4,10,24,.88);padding:0}.modal-card,.review-modal,.zoom-modal{position:relative;width:min(720px,100%);max-height:92vh;overflow:auto}.zoom-modal{width:80vw;height:88vh;max-height:88vh;overflow:hidden}.modal-card{border-radius:8px;background:#ffffff;padding:18px;box-shadow:0 28px 80px rgba(15,23,42,.24);animation:modal-rise .18s ease}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-rise{0%{opacity:0;transform:translateY(8px)}}.zoom-modal{display:grid;grid-gap:12px;gap:12px}.image-editor-modal{grid-template-rows:auto 1fr auto;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#050b17;padding:54px 14px 14px}.image-editor-topbar{position:absolute;top:10px;left:12px;right:58px;z-index:4;display:flex;align-items:center;justify-content:flex-end;gap:8px;overflow-x:auto;padding-bottom:2px}.image-editor-topbar .button{min-height:34px;white-space:nowrap}.zoom-tools{display:flex;flex:0 0 auto;justify-content:center;gap:4px;border-radius:8px;background:rgba(255,255,255,.16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:4px}.cropper-frame,.preview-frame{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;border-radius:8px;background:#0a1222}.cropper-frame{display:grid;place-items:center}.react-crop-frame{padding:18px}.react-crop-shell{display:grid;width:100%;height:100%;place-items:center}.react-crop-shell .ReactCrop{display:inline-block;max-width:100%;max-height:100%}.react-crop-shell .ReactCrop__image{display:block;max-width:min(100%,calc(100vw - 96px));max-height:calc(100vh - 240px);width:auto;height:auto;object-fit:contain;-webkit-user-drag:none}.react-crop-shell .ReactCrop__crop-selection{border:2px solid rgba(96,165,250,.98);border-radius:8px;box-shadow:0 0 0 9999px rgba(2,6,23,.28)}.react-crop-shell .ReactCrop__rule-of-thirds-hz:after,.react-crop-shell .ReactCrop__rule-of-thirds-hz:before,.react-crop-shell .ReactCrop__rule-of-thirds-vt:after,.react-crop-shell .ReactCrop__rule-of-thirds-vt:before{background-color:rgba(255,255,255,.82)}.react-crop-shell .ReactCrop__drag-handle:after{background-color:#60a5fa}.react-crop-shell .ReactCrop__drag-bar,.react-crop-shell .ReactCrop__drag-elements,.react-crop-shell .ReactCrop__drag-handle{color:#60a5fa}.preview-frame{display:grid;place-items:center;touch-action:none}.preview-pan-surface{cursor:default;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.preview-pan-surface.is-zoomed{cursor:-webkit-grab;cursor:grab}.preview-pan-surface.is-panning{cursor:-webkit-grabbing;cursor:grabbing}.preview-pan-surface img{pointer-events:none}.preview-frame img{width:100%;height:100%;object-fit:contain;transition:transform .16s ease}.image-editor-error,.image-editor-status{position:relative;z-index:5;margin:0}.image-editor-status{border:1px solid rgba(255,255,255,.14);border-radius:8px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.86);font-size:.86rem;font-weight:800;padding:8px 10px}.cropper-hint{color:rgba(255,255,255,.72);font-size:.82rem;text-align:center}.zoom-tool-button{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:8px;background:rgba(255,255,255,.18);color:#ffffff;cursor:pointer;font-size:1rem;font-weight:900}.zoom-tool-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.nested-modal{z-index:60;background:rgba(2,6,23,.74)}.compact-modal{width:min(460px,calc(100vw - 28px))}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.image-save-progress{display:grid;grid-gap:8px;gap:8px;margin-top:14px}.image-save-progress-label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--foreground);font-size:.92rem}.image-save-progress-track{width:100%;height:10px;overflow:hidden;border-radius:999px;background:#e6edf8}.image-save-progress-value{height:100%;border-radius:inherit;background:linear-gradient(90deg,#2f6fdd,#60a5fa);transition:width .18s ease}.modal-close{position:absolute;top:10px;right:10px;z-index:2;display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--border);border-radius:8px;background:#ffffff;color:var(--foreground);font-size:1.35rem;font-weight:900;cursor:pointer}.photo-preview-grid{display:flex;flex-wrap:wrap;gap:10px}.photo-preview-card{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;width:min(100%,230px);min-height:84px;grid-gap:10px;gap:10px;border:1px solid var(--border);border-radius:8px;background:#ffffff;padding:6px 8px 6px 6px}.photo-preview-card img{width:72px;height:72px;border-radius:8px;object-fit:cover}.photo-preview-meta{display:grid;min-width:0;grid-gap:6px;gap:6px}.photo-preview-meta strong{overflow:hidden;font-size:.88rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.photo-preview-meta .button{width:-moz-fit-content;width:fit-content;min-height:34px;padding:6px 10px;font-size:.82rem}.answer-review-card{padding:14px}.settings-toggle-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:16px;gap:16px;padding:14px;border:1px solid var(--border);border-radius:8px;background:#ffffff;box-shadow:var(--shadow-soft)}.settings-toggle-card small,.settings-toggle-card strong{display:block}.settings-toggle-card small{margin-top:4px;color:var(--muted);line-height:1.45}.settings-toggle-card input{width:22px;height:22px;accent-color:var(--primary)}.backoffice-page{min-height:100vh;padding:28px;background:radial-gradient(circle at top left,rgba(37,99,235,.12),transparent 34%),#f7f9fc}.backoffice-header{display:flex;align-items:center;justify-content:space-between;gap:18px;width:min(1180px,100%);margin:0 auto 18px}.backoffice-header h1{margin:0}.backoffice-tabs{width:min(1180px,100%);margin:0 auto 18px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;overflow:visible;padding:8px}.backoffice-tabs .tab{flex:0 1 150px;text-align:center}.backoffice-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:16px;gap:16px}.organization-logo-preview{width:92px;height:92px;border:1px solid var(--border);border-radius:8px;object-fit:contain;background:#ffffff}.learner-row-main{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:12px;gap:12px}.avatar-img{width:44px;height:44px;border-radius:8px;object-fit:cover}.inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:end}@media (max-width:900px){.inline-form{grid-template-columns:minmax(0,1fr)}}.programme-tree{display:grid;grid-gap:14px;gap:14px}.programme-chapitre,.programme-module{display:grid;grid-gap:10px;gap:10px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fbfcff}.programme-chapitre strong,.programme-module h4{margin:0;padding-left:10px;border-left:4px solid var(--primary)}.tag-row{display:flex;flex-wrap:wrap;gap:8px}.pill,.programme-tag{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border:1px solid var(--border);border-radius:8px;background:#ffffff;color:var(--muted);font-size:.78rem}.clickable-card{width:100%;color:inherit;text-align:left;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.clickable-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft)}.activity-preview-list{display:grid;grid-gap:10px;gap:10px;max-height:min(60vh,680px);overflow:auto}.field-shell{display:grid;grid-gap:8px;gap:8px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#ffffff}.field-shell,.field-shell>label,.field-shell>span{color:var(--foreground)}.field-shell small{color:var(--muted);line-height:1.45}.ai-field{border-color:rgba(37,99,235,.42);box-shadow:0 8px 22px rgba(37,99,235,.08)}.ai-field>label:first-child,.ai-field>span:first-child{color:#1d4ed8;font-weight:800}.ai-instruction-field{border-style:dashed;background:linear-gradient(180deg,#ffffff,#f7fbff)}.ai-instruction-field>span:first-child{align-items:center;display:inline-flex;gap:8px}.subchapter-picker{overflow:hidden}.subchapter-option-list{display:grid;grid-gap:8px;gap:8px;max-height:260px;overflow:auto;padding:2px}.subchapter-option{display:grid;grid-gap:4px;gap:4px;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#ffffff;color:var(--foreground);text-align:left;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.subchapter-option.selected,.subchapter-option:hover{border-color:rgba(37,99,235,.5);background:#f7fbff;transform:translateY(-1px)}.subchapter-option small{color:var(--muted)}.chip-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px}.content-intro{margin:0 0 18px;padding:14px 16px;border-left:4px solid var(--primary);border-radius:8px;background:#f8fbff;color:var(--foreground)}.row-list{display:grid;grid-gap:10px;gap:10px}.activity-row-card,.session-row-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:12px;gap:12px;padding:14px}.module-colored-card{border-left:5px solid var(--module-color,var(--border));background:linear-gradient(90deg,color-mix(in srgb,var(--module-color,#ffffff) 10%,#ffffff),#ffffff 38%),#ffffff}.module-chip{justify-self:end;max-width:180px;padding:5px 8px;border:1px solid color-mix(in srgb,var(--module-color,var(--border)) 45%,#ffffff);border-radius:999px;background:color-mix(in srgb,var(--module-color,#2563eb) 10%,#ffffff);color:var(--foreground);font-size:.75rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-row-card{grid-template-columns:minmax(0,1fr) auto auto}.activity-row-link,.session-row-card{color:inherit;text-decoration:none}.session-row-stopped{border-color:#ef4444;border-left-color:var(--module-color,#ef4444)}.row-main-link{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:12px;gap:12px;color:inherit;text-decoration:none}.row-main-link strong,.session-row-card strong{display:block;overflow-wrap:anywhere}.row-main-link small,.session-row-card small{display:block;color:var(--muted)}.row-actions,.session-metrics{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.session-metrics{max-width:520px}.learner-profile-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:18px;gap:18px}.learner-profile-header h1{margin:0}.learner-answer-row,.learner-subject-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;color:inherit;text-decoration:none}.learner-answer-row small,.learner-subject-row small{display:block;color:var(--muted)}.module-progression-topbar{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:18px;gap:18px;align-items:center}.module-progression-avatar,.module-progression-avatar-fallback{width:76px;height:76px;border-radius:8px;object-fit:cover}.module-progression-avatar-fallback{font-size:1.4rem}.module-progression-heading{display:grid;grid-gap:6px;gap:6px}.module-progression-chart-card h2,.module-progression-heading h1,.module-progression-section-header h2{margin:0}.module-progression-tabs{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.module-progression-module-row{display:grid;grid-gap:10px;gap:10px}.module-progression-module-chip{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%;min-width:0;grid-gap:16px;gap:16px;padding:16px 18px;border:1px solid var(--border);border-radius:8px;background:linear-gradient(180deg,#ffffff,#f8fbff);color:inherit;text-decoration:none;box-shadow:var(--shadow-soft);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.module-progression-module-chip.active,.module-progression-module-chip:hover{transform:translateY(-1px);border-color:rgba(47,111,221,.36);background:#f7fbff}.module-progression-module-chip.profile{min-width:0}.module-progression-module-copy{display:grid;grid-gap:6px;gap:6px;min-width:0}.module-progression-module-progress{width:100%;height:10px;overflow:hidden;border-radius:999px;background:#e5edf9}.module-progression-module-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#14b8a6);transition:width .22s ease}.module-progression-module-chip strong{font-size:.98rem;overflow-wrap:anywhere}.module-progression-module-chip small{color:var(--muted);font-weight:800}.module-progression-module-score{color:var(--accent-dark);font-size:clamp(1.35rem,3vw,1.85rem);font-weight:900;line-height:1;text-align:right;white-space:nowrap}.module-progression-chart-card,.module-progression-evaluation-table,.module-progression-remaining-row{display:grid;grid-gap:16px;gap:16px}.module-progression-chart-layout{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);grid-gap:20px;gap:20px;align-items:center}.module-progression-chart-shell{display:grid;place-items:center;min-height:280px;border:1px solid rgba(47,111,221,.08);border-radius:8px;background:linear-gradient(180deg,#ffffff,#f8fbff)}.module-progression-chart{width:min(280px,100%);height:auto}.module-progression-chart-value{fill:#172033;font-size:1.6rem;font-weight:900}.module-progression-chart-label{fill:var(--muted);font-size:.72rem;font-weight:800}.module-progression-legend{display:grid;grid-gap:12px;gap:12px}.module-progression-legend-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px}.module-progression-legend-dot{width:14px;height:14px;border-radius:999px}.module-progression-legend-row strong,.module-progression-remaining-row strong{display:block}.module-progression-evaluation-detail small,.module-progression-legend-row small{color:var(--muted)}.module-progression-section-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:end}.module-progression-evaluation-row{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);grid-gap:18px;gap:18px;align-items:center;padding:14px 0;border-top:1px solid rgba(15,23,42,.08)}.module-progression-evaluation-row:first-child{border-top:0;padding-top:0}.module-progression-evaluation-chapter{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px}.module-progression-evaluation-swatch{width:16px;height:16px;border-radius:5px}.module-progression-evaluation-detail{display:grid;grid-gap:8px;gap:8px}.module-progression-overall-score{display:grid;justify-items:end;grid-gap:4px;gap:4px}.module-progression-overall-score strong{color:var(--accent-dark);font-size:clamp(1.8rem,4vw,2.4rem);line-height:1}.module-progression-overall-score small{color:var(--muted);font-weight:800}.module-progression-progress-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px}.module-progression-progress-track{height:14px;overflow:hidden;border-radius:999px;background:#e5edf9}.module-progression-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#14b8a6)}.module-progression-progress-value{color:var(--accent-dark);font-size:1rem;white-space:nowrap}.module-progression-remaining-row{grid-template-columns:1fr;align-items:start;gap:14px}.module-progression-remaining-heading{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:12px;gap:12px}.module-progression-remaining-heading strong{font-size:1.08rem;font-weight:900;line-height:1.3}.module-progression-subchapter-list{display:flex;flex-wrap:wrap;gap:10px}.module-progression-subchapter-list.line-layout{margin-top:2px}.module-progression-subchapter-button{border:1px solid rgba(47,111,221,.14);border-radius:999px;background:#ffffff;color:var(--foreground);padding:8px 12px;font:inherit;font-size:.86rem;font-weight:500;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.module-progression-subchapter-button:hover{transform:translateY(-1px);border-color:rgba(47,111,221,.36);background:#f7fbff;box-shadow:var(--shadow-soft)}.module-progression-done-card{position:relative;display:grid;grid-gap:16px;gap:16px;width:100%;border:1px solid rgba(15,23,42,.08);border-radius:8px;background:linear-gradient(180deg,#ffffff,#f8fbff);color:inherit;padding:18px;text-align:left;cursor:pointer}.module-progression-done-card.is-opening{opacity:.78}.module-progression-done-header{display:block}.module-progression-done-title{display:grid;grid-gap:6px;gap:6px}.module-progression-done-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.module-progression-done-title strong{font-size:1.02rem;overflow-wrap:anywhere}.module-progression-done-label,.module-progression-done-title small{color:var(--muted)}.module-progression-done-chapters{display:flex;flex-wrap:wrap;gap:8px}.module-progression-done-chapter-dot{width:18px;height:18px;border:0;border-radius:6px;background:transparent;box-shadow:inset 0 0 0 1px rgba(255,255,255,.8);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.module-progression-done-chapter-dot:hover{transform:translateY(-1px) scale(1.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 10px 18px rgba(15,23,42,.14)}.module-progression-done-section{display:grid;grid-gap:10px;gap:10px}.module-progression-done-label{font-size:.84rem;font-weight:800}.module-progression-done-autoeval-row{display:flex;align-items:center;gap:10px}.module-progression-done-autoeval-row strong{color:var(--accent-dark);font-size:1rem}.module-progression-feedback-box{width:-moz-fit-content;width:fit-content;max-width:100%;border:1px solid rgba(47,111,221,.12);border-radius:8px;background:#ffffff;color:var(--foreground);padding:8px 10px;font-size:.84rem;line-height:1.5}.module-progression-feedback-box.subtle{border-color:rgba(15,23,42,.08);background:#fbfcff}.module-progression-progress-fill.trainer{background:linear-gradient(90deg,#2563eb,#60a5fa)}.module-progression-opening-indicator{position:absolute;top:14px;right:14px;border:1px solid rgba(47,111,221,.18);border-radius:999px;background:rgba(255,255,255,.96);color:var(--accent-dark);padding:6px 10px;font-size:.78rem;font-weight:900}@media (max-width:820px){.learner-profile-header,.module-progression-chart-layout,.module-progression-evaluation-row,.module-progression-remaining-row,.module-progression-topbar{grid-template-columns:1fr}.module-progression-tabs{width:100%}.module-progression-tabs .tab{min-width:0}.module-progression-done-header{grid-template-columns:1fr}.module-progression-done-chapters{justify-content:flex-start}}@media (max-width:540px){.module-progression-overall-score{justify-items:start;gap:2px;margin-bottom:35px}.module-progression-overall-score small{font-size:.74rem}.module-progression-legend-row strong{font-size:.88rem}.module-progression-legend-row small{font-size:.8rem}.module-progression-tabs{gap:3px;padding:3px}.module-progression-tabs .tab{padding:10px 8px;font-size:.8rem;line-height:1.2}.module-progression-module-chip{grid-template-columns:1fr;gap:12px;padding:15px}.module-progression-module-score{text-align:left}}.trainer-card{display:grid;grid-gap:16px;gap:16px;width:100%;min-width:0}.trainer-list-wide{gap:14px}.dashboard-trainer-list,.trainer-card-wide{grid-template-columns:minmax(0,1fr)}.trainer-card-wide{width:100%}.response-row-card{grid-template-columns:minmax(0,1fr) auto}.response-row-main{display:grid;grid-gap:6px;gap:6px;min-width:0}.response-row-title{display:inline-flex;align-items:center;gap:10px;min-width:0}.module-color-dot{display:inline-block;width:14px;height:14px;flex:0 0 14px;border-radius:4px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}.trainer-card-link{color:inherit;text-decoration:none}.trainer-card-link:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.trainer-card-header{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:12px;gap:12px;min-width:0}.trainer-card-copy{min-width:0}.trainer-card-copy h3,.trainer-card-copy p,.trainer-card-copy small{overflow-wrap:anywhere;word-break:break-word}.trainer-card-header img{width:52px;height:52px;border-radius:8px;object-fit:cover}.trainer-readonly-header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:16px;gap:16px}.trainer-readonly-header img{width:72px;height:72px;border-radius:8px;object-fit:cover}.readonly-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;color:inherit;text-decoration:none}.readonly-row small{display:block;color:var(--muted)}.learner-admin-row{gap:0}.learner-admin-row-button{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;background:transparent;border:0;padding:0;text-align:left;color:inherit;cursor:pointer}.learner-admin-row-button div{min-width:0}.learner-admin-row-button small,.learner-admin-row-button strong{display:block;overflow-wrap:anywhere;word-break:break-word}.self-evaluation-box{border:1px solid var(--border);border-radius:8px;background:#f8fbff;padding:12px;margin-bottom:12px}.media-chip-list{display:flex;flex-wrap:wrap;gap:8px}.media-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:8px;background:#f8fbff;padding:8px 10px;font-size:.86rem}.media-chip a{color:var(--accent);text-decoration:none}.media-chip button{border:0;background:transparent;color:var(--muted);cursor:pointer;font-weight:900}.preview-block{display:grid;grid-gap:6px;gap:6px}.activity-content-flow{display:grid;grid-gap:18px;gap:18px;margin-top:10px}.activity-content-flow.compact{gap:14px}.content-block,.content-intro{display:grid;grid-gap:12px;gap:12px;border:1px solid rgba(30,64,175,.08);border-radius:8px;background:rgba(255,255,255,.88);padding:16px}.content-block{box-shadow:0 14px 36px rgba(31,41,55,.05)}.content-block p{margin:0;color:var(--foreground);font-size:1rem;line-height:1.72}.rich-text-editor{overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#ffffff}.rich-text-toolbar{display:flex;gap:4px;border-bottom:1px solid var(--border);background:#f8fbff;padding:6px}.rich-text-toolbar button{display:grid;min-width:34px;height:32px;place-items:center;border:1px solid transparent;border-radius:8px;background:#ffffff;color:var(--foreground);cursor:pointer;font:inherit;font-weight:900}.rich-text-toolbar button:hover{border-color:var(--accent);color:var(--accent)}.rich-text-input{min-height:150px;padding:12px;outline:none;line-height:1.65}.rich-text-input:focus{box-shadow:inset 0 0 0 2px rgba(47,111,221,.18)}.rich-text-content{color:var(--foreground);font-size:1rem;line-height:1.72}.rich-text-content div,.rich-text-content p{margin:0 0 .7em}.rich-text-content div:last-child,.rich-text-content p:last-child{margin-bottom:0}.rich-text-content ol,.rich-text-content ul{margin:.35em 0 .7em;padding-left:1.35rem}.rich-text-content li{margin:.15em 0}.content-block-type{color:var(--accent)!important;font-size:.75rem!important;font-weight:900;letter-spacing:0;text-transform:uppercase}.content-media-flow{display:grid;grid-gap:12px;gap:12px}.content-media-figure{display:grid;grid-gap:8px;gap:8px;margin:0}.content-media-embed,.content-media-figure img,.content-media-figure video{width:100%;max-height:520px;border-radius:8px;object-fit:contain;background:#f8fafc}.content-media-embed{min-height:320px;border:0}.content-media-figure audio{width:100%}.content-media-figure figcaption{color:var(--muted);font-size:.82rem}.content-media-link{display:grid;grid-gap:4px;gap:4px;border:1px solid var(--border);border-radius:8px;background:#ffffff;color:inherit;padding:12px;text-decoration:none}.content-media-link span{color:var(--muted);font-size:.78rem}.document-viewer-page{position:fixed;inset:0;display:grid;min-height:100dvh;overflow:hidden;padding:0;min-height:100vh;background:#eef3fb}.document-viewer-shell{display:grid;width:100vw;height:100dvh;overflow:hidden}.document-viewer-actions{position:fixed;top:10px;right:10px;z-index:10;display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:6px}.document-zoom-group{display:inline-flex;overflow:hidden;background:rgba(255,255,255,.74)}.document-answer-button,.document-tool-button,.document-zoom-group{border:1px solid rgba(15,23,42,.12);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.document-answer-button,.document-tool-button{min-height:34px;background:rgba(255,255,255,.72);color:#172033;padding:7px 10px;font:inherit;font-size:.78rem;font-weight:900;text-decoration:none;cursor:pointer}.document-tool-button{min-width:34px}.document-zoom-group .document-tool-button{border:0;border-radius:0;background:transparent}.document-download-button{color:#42526b}.document-tool-button:disabled{cursor:not-allowed;opacity:.55}.document-answer-button{border-color:var(--accent);background:var(--accent);color:#ffffff;box-shadow:0 12px 28px rgba(47,111,221,.22)}.document-viewer-card{display:grid;width:100vw;height:100dvh;overflow:hidden;background:#eef3fb}.document-frame-viewport{width:100vw;height:100dvh;overflow:auto;border:0;border-radius:0;background:#eef3fb}.document-frame{display:block;min-height:100%;border:0;border-radius:0;background:#ffffff;transform-origin:top left}.pdf-viewport{padding:56px 16px 24px}.document-loading{width:-moz-fit-content;width:fit-content;margin:0 auto 14px;border-radius:8px;background:rgba(255,255,255,.82);padding:8px 10px}.pdf-page-stack{display:grid;width:min(920px,100%);margin:0 auto;grid-gap:18px;gap:18px;transform-origin:top center}.pdf-page-image{display:block;width:100%;border-radius:8px;background:#ffffff;box-shadow:0 14px 42px rgba(15,23,42,.16)}.game-choice-grid,.game-content-editor-shell,.game-content-inline-preview{display:grid;grid-gap:10px;gap:10px}.game-inline-text{white-space:pre-wrap;line-height:1.6}.game-inline-text.compact{font-size:.92rem}.game-inline-media{display:grid;place-items:center;width:100%;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#f8fbff;padding:10px}.game-inline-media.compact{min-height:120px;padding:8px}.game-inline-media-element{width:100%;max-height:240px;border-radius:8px;object-fit:contain;background:#ffffff}audio.game-inline-media-element{max-height:none}.game-inline-link{color:var(--accent);font-weight:800;text-decoration:none}.game-choice-card{display:grid;grid-gap:10px;gap:10px;justify-items:stretch;border:1px solid var(--border);border-radius:8px;background:#ffffff;padding:14px;font-weight:900;text-align:left}.game-choice-card.selected{border-color:rgba(37,99,235,.48);background:#eef5ff;color:var(--accent-dark)}.game-buzzer{display:grid;width:min(230px,100%);aspect-ratio:1;place-items:center;border:0;border-radius:50%;background:#9ca3af;color:#ffffff;font-size:2rem;font-weight:900;box-shadow:0 18px 45px rgba(31,41,55,.18);cursor:pointer;justify-self:center;transition:background-color .18s ease,transform .18s ease,opacity .18s ease}.game-buzzer-active{background:#7dd3fc;color:#0f172a}.game-buzzer-busy,.game-buzzer-inactive,.game-buzzer-paused{background:#9ca3af;color:#ffffff}.game-buzzer:disabled{opacity:1;cursor:not-allowed}.game-buzzer-status{margin:0;text-align:center;font-size:.92rem;font-weight:800}.game-buzzer-status-active{color:#0f3d86}.game-buzzer-status-busy,.game-buzzer-status-inactive,.game-buzzer-status-paused{color:#5b6472}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.learner-answer-page,.learner-success-page{display:grid;min-height:100vh;align-items:center;background:radial-gradient(circle at 82% 12%,#dff1ff 0,transparent 28%),radial-gradient(circle at 12% 88%,#edf7ef 0,transparent 30%),linear-gradient(180deg,#fbfdff,#f5f8fc)}.learner-answer-card,.sent-animation-card,.sent-success-card{border:1px solid rgba(47,111,221,.12);border-radius:8px;background:rgba(255,255,255,.94);box-shadow:0 24px 70px rgba(31,41,55,.1);padding:22px}.learner-hub-card{display:grid;grid-gap:28px;gap:28px}.learner-hub-hero{display:grid;justify-items:center;grid-gap:8px;gap:8px;text-align:center}.learner-hub-hero h1,.learner-hub-hero h2{margin:0}.learner-hub-name{display:grid;grid-gap:2px;gap:2px;text-align:center}.learner-hub-hero h1{font-size:2.35rem;letter-spacing:0}.learner-hub-hero h2{color:var(--muted);font-size:1.35rem;font-weight:800}.learner-avatar-upload{display:grid;width:132px;height:132px;place-items:center;overflow:hidden;border:3px solid #ffffff;border-radius:50%;background:linear-gradient(135deg,#eaf1ff,#f8fbff);color:var(--accent-dark);box-shadow:0 18px 42px rgba(47,111,221,.18);cursor:pointer;font-size:2.4rem;font-weight:900;transition:transform .16s ease,box-shadow .16s ease}.learner-avatar-upload:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 24px 58px rgba(47,111,221,.23)}.learner-avatar-upload img{width:100%;height:100%;object-fit:cover}.contact-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:14px;gap:14px;border:1px solid rgba(47,111,221,.1);border-radius:8px;background:linear-gradient(180deg,#ffffff,#f8fbff);box-shadow:var(--shadow-soft);padding:16px}.contact-card-copy{min-width:0}.contact-card p{margin:4px 0}.contact-card-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.learner-answer-card h1,.sent-animation-card h1,.sent-success-card h1{margin:0;font-size:clamp(2rem,8vw,3rem);line-height:1.05}.activity-prompt{display:grid;grid-template-columns:auto 1fr;grid-gap:12px;gap:12px;align-items:start;border:1px solid var(--border);border-radius:8px;background:#ffffff;padding:14px}.activity-prompt span{display:grid;width:30px;height:30px;place-items:center;border-radius:8px;background:#eaf1ff;color:var(--accent-dark);font-weight:900}.activity-prompt p{margin:0}.photo-answer-panel{display:grid;grid-gap:14px;gap:14px;border:1px solid rgba(47,111,221,.12);border-radius:8px;background:linear-gradient(180deg,#ffffff,#f8fbff);padding:16px}.photo-answer-panel h2{margin-bottom:4px}.camera-actions{display:grid;grid-gap:10px;gap:10px}.camera-action{display:flex;min-height:58px;align-items:center;justify-content:center;gap:10px;border:1px solid var(--border);border-radius:8px;background:#ffffff;color:var(--accent);font:inherit;font-weight:900;cursor:pointer}.board-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.board-score-header{align-items:center;margin-bottom:12px}.board-score-card{display:grid;grid-gap:6px;gap:6px;border-width:2px;text-align:center}.board-score-card-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px}.board-score-card p,.board-score-card strong{margin:0}.board-team-status{color:var(--muted);font-size:.78rem;font-weight:800}.board-score-card strong{font-size:clamp(2rem,7vw,3.4rem);line-height:1}.board-team-toggle{display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(15,23,42,.1);border-radius:999px;background:#ffffff;color:var(--foreground);cursor:pointer;font:inherit;font-size:.82rem;font-weight:900}.board-question-card{gap:18px}.board-question-title{display:grid;grid-gap:8px;gap:8px}.board-question-title h2{margin:0}.board-buzz-banner{min-height:64px;display:grid;place-items:center;border:1px dashed var(--border);border-radius:8px;background:#f8fbff;color:var(--muted);text-align:center}.board-buzz-banner.active{border-style:solid;border-color:rgba(37,99,235,.36);background:linear-gradient(180deg,#eef5ff,#ffffff);color:var(--accent-dark);animation:boardBuzzPulse .48s ease}.board-answer-feedback{display:grid;min-height:68px;place-items:center;border-radius:8px;text-align:center;animation:boardBuzzPulse .26s ease}.board-answer-feedback strong{font-size:clamp(1.15rem,4vw,1.6rem)}.board-answer-feedback.success{border:1px solid rgba(21,128,61,.28);background:linear-gradient(180deg,#ecfdf3,#ffffff);color:#166534}.board-answer-feedback.error{border:1px solid rgba(185,28,28,.24);background:linear-gradient(180deg,#fef2f2,#ffffff);color:#991b1b}.board-justification-panel{display:grid;grid-gap:12px;gap:12px;padding:14px;border:1px solid rgba(37,99,235,.18);border-radius:8px;background:linear-gradient(180deg,#f8fbff,#ffffff)}.board-justification-panel h3,.board-justification-panel p{margin:0}@keyframes boardBuzzPulse{0%{transform:scale(.97);opacity:.55}to{transform:scale(1);opacity:1}}.camera-action.primary{border-color:var(--accent);background:var(--accent);color:#ffffff}.camera-action span{display:grid;width:26px;height:26px;place-items:center;border-radius:8px;background:rgba(255,255,255,.2);font-size:1.3rem;line-height:1}.empty-photo-state{display:grid;min-height:150px;place-items:center;grid-gap:8px;gap:8px;border:1px dashed #b8c6da;border-radius:8px;background:#fbfdff;color:var(--muted);padding:18px;text-align:center}.empty-photo-state span{color:var(--accent);font-size:2rem}.photo-preview{position:relative}.photo-preview button{position:absolute;right:6px;bottom:6px;border:0;border-radius:8px;background:rgba(255,255,255,.92);color:var(--foreground);padding:6px 8px;font-weight:900;cursor:pointer}.learner-live-card{display:grid;grid-gap:10px;gap:10px;align-content:start;min-height:196px;padding:22px;border:1px solid rgba(47,111,221,.14);background:linear-gradient(180deg,#ffffff,#f7fbff);box-shadow:0 16px 38px rgba(31,41,55,.09);text-decoration:none}.learner-live-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.learner-live-badge{display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:#ecfdf3;color:#166534;padding:6px 10px;font-size:.78rem;font-weight:900}.learner-live-badge-dot{width:9px;height:9px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.18)}.learner-live-subject{color:var(--accent);font-size:.82rem;font-weight:900}.learner-live-card>strong{font-size:1.08rem;line-height:1.35}.learner-live-card>small{color:var(--muted);font-size:.88rem}.learner-live-trainer{display:grid;grid-gap:3px;gap:3px;margin-top:auto;padding-top:10px;border-top:1px solid rgba(148,163,184,.24)}.learner-live-trainer span{color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.learner-live-trainer strong{font-size:.95rem;line-height:1.35}.learner-submit-button{min-height:56px;font-size:1rem}.sent-animation-card,.sent-success-card{display:grid;width:min(460px,calc(100% - 36px));margin:0 auto;grid-gap:14px;gap:14px}.success-badge{display:grid;width:72px;height:72px;place-items:center;border-radius:8px;background:#eaf1ff;color:var(--accent);font-size:2.2rem;font-weight:900}.success-details{display:grid;grid-gap:6px;gap:6px;border:1px solid var(--border);border-radius:8px;background:#ffffff;padding:14px}.success-details span{color:var(--muted)}.trainer-contact-card{display:grid;grid-template-columns:auto 1fr;grid-gap:12px;gap:12px;align-items:center;border:1px solid var(--border);border-radius:8px;background:#ffffff;padding:14px}.trainer-contact-card img{width:58px;height:58px;border-radius:8px;object-fit:cover}.trainer-contact-card div{display:grid;grid-gap:3px;gap:3px}.trainer-contact-card span{color:var(--muted);font-size:.9rem;overflow-wrap:anywhere}.sent-orbit{position:relative;display:grid;width:104px;height:104px;place-items:center}.sent-orbit span{position:absolute;inset:0;border:3px solid #cfe0ff;border-top:3px solid var(--accent);border-radius:50%;animation:sent-spin 1.1s linear infinite}.sent-orbit strong{display:grid;width:66px;height:66px;place-items:center;border-radius:8px;background:#ffffff;color:var(--accent);box-shadow:0 16px 36px rgba(47,111,221,.18);font-size:2rem}@keyframes sent-spin{to{transform:rotate(1turn)}}.learner-row{padding:10px 14px}.learner-summary{width:100%;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;grid-gap:14px;gap:14px;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.learner-summary small{display:block;color:var(--muted);margin-top:3px}.learner-detail{display:grid;grid-gap:12px;margin-top:14px;padding-top:14px}.learner-detail,.score-row{gap:12px;border-top:1px solid var(--border)}.score-row{display:flex;justify-content:space-between;padding-top:8px;text-decoration:none}.qr-block{position:relative;display:grid;width:-moz-fit-content;width:fit-content;max-width:260px;justify-items:center;grid-gap:10px;gap:10px;border:1px solid rgba(30,64,175,.08);border-radius:8px;background:rgba(255,255,255,.92);padding:18px;box-shadow:0 18px 45px rgba(31,41,55,.06)}.qr-remove-button{position:absolute;top:8px;right:8px;display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(185,28,28,.22);border-radius:8px;background:#fff5f5;color:#9f1239;cursor:pointer;font-size:1.2rem;font-weight:900}.qr-link{width:100%;max-width:220px;margin:0;color:var(--muted);font-size:.68rem;line-height:1.35;overflow-wrap:anywhere;text-align:center}.qr-block-red .qr-link{max-width:128px}.qr-block-black .qr-link{max-width:220px}.profile-editor{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:16px;gap:16px}.profile-preview img{width:72px;height:72px;border-radius:8px;object-fit:cover}.hidden-qr{position:absolute;left:-9999px}.learner-picker{display:grid;grid-gap:8px;gap:8px;max-height:220px;overflow:auto}.picker-row{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:8px;background:#ffffff;padding:10px 12px;cursor:pointer}.picker-row.selected{border-color:var(--accent);background:#eaf1ff}.session-board-page{position:relative;min-height:100vh;padding:28px;background:linear-gradient(180deg,#f8fbff,#eef4ff)}.board-home-button,.board-settings-button{position:fixed;top:18px;right:18px;z-index:4;display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--border);border-radius:8px;background:#ffffff;color:var(--foreground);box-shadow:var(--shadow);text-decoration:none}.board-home-button{right:72px}.trainer-home-button{position:fixed;top:18px;right:18px;z-index:30;display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.96);color:var(--foreground);box-shadow:var(--shadow-soft);font-size:1.1rem;font-weight:900;text-decoration:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.trainer-home-button:hover{transform:translateY(-1px)}.board-icon-button{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--border);border-radius:8px;background:#ffffff;color:var(--foreground);box-shadow:var(--shadow);text-decoration:none}.board-content-panel,.board-grid,.board-hero{width:min(1100px,100%);margin:0 auto}.board-hero{display:grid;grid-gap:8px;gap:8px;padding:24px 0}.board-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}@media (max-width:780px){.dashboard-top-actions{justify-content:stretch}.dashboard-top-actions .button{width:100%}.zoom-modal{width:100vw;height:100vh;max-height:100vh;border-radius:0}.zoom-modal img{max-height:92vh;border-radius:0}.image-editor-modal{padding:58px 8px 10px}.image-editor-topbar{left:8px;right:52px;justify-content:flex-start}.cropper-hint{padding:0 8px;text-align:left}.manual-selection-grid,.manual-session-filters{grid-template-columns:1fr}}.file-button input{display:none}label{display:grid;grid-gap:6px;gap:6px;font-weight:800}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:8px;background:#ffffff;color:var(--foreground);font:inherit;padding:11px 12px;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:rgba(47,111,221,.65);box-shadow:0 0 0 4px rgba(47,111,221,.12)}textarea{min-height:112px;resize:vertical}.welcome-page{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:center;grid-gap:56px;gap:56px;width:min(1120px,100%);margin:0 auto}.welcome-copy h1{max-width:620px;font-size:clamp(2rem,6vw,3.3rem);line-height:1.15}.welcome-copy h1 span{color:var(--accent)}.welcome-copy p{max-width:560px;color:#4b5563;font-size:1.1rem}.welcome-points{display:grid;grid-gap:12px;gap:12px;margin-top:28px}.welcome-points p{margin:0;font-weight:800}.login-preview{display:grid;justify-items:center;grid-gap:12px;gap:12px;padding:42px}.lock-icon{display:grid;width:64px;height:64px;place-items:center;border-radius:8px;background:#eaf1ff;color:var(--accent);font-weight:900}.mobile-card{max-width:460px}@media (max-width:780px){.app-shell,main{padding:18px}.app-header,.welcome-page{grid-template-columns:1fr}.app-header>.button,.header-actions{justify-self:start}.dashboard-tabs{grid-template-columns:repeat(2,1fr);width:100%;min-width:100%}.activity-row-card,.session-row-card{grid-template-columns:1fr;align-items:stretch}.row-actions,.session-metrics{justify-content:flex-start}.response-row-card,.session-row-card{grid-template-columns:minmax(0,1fr)}.response-row-card .pill,.session-row-card .pill{justify-self:start}.learner-answer-row,.learner-hub-profile,.learner-profile-header,.learner-subject-row,.readonly-row,.trainer-readonly-header{grid-template-columns:1fr}.learner-summary{grid-template-columns:auto 1fr}.answer-card{grid-template-columns:1fr}.document-viewer-actions{top:8px;right:8px;gap:5px}.document-frame-viewport{height:100dvh}.document-answer-button,.document-tool-button{min-height:32px;padding:6px 8px;font-size:.72rem}}