:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#eafff7;--panel:#f8fffc;--ink:#17392f;--soft:#41685c;--line:#9bcfbb;--action:#14b96d;--action-ink:#073e28;--action-2:#24dc87;--soft-action:#e9fff4;--error:#a63b32;--gold:#f2a900;--hint:#1768b2;--radius:18px;--shadow:0 16px 40px #15382c18;--tap:48px;--max:1040px;background:var(--page);color:var(--ink);font-family:Nunito,Avenir Next,Segoe UI,ui-rounded,system-ui,sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at 16% 18%,#a8e7d0 0,#0000 38%),radial-gradient(circle at 84% 4%,#a9dcff 0,#0000 44%),linear-gradient(145deg,#eafff7 0,#ccebed 53%,#c8eadb 100%);min-height:100dvh}button,input{font:inherit}button{min-height:var(--tap);border:2px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:14px;padding:12px 18px;font-weight:750}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible{outline:3px solid var(--action);outline-offset:3px}.primary{background:linear-gradient(145deg, var(--action-2), var(--action));color:var(--action-ink);border-color:#20c978}.app-shell{width:min(var(--max), 100%);margin:0 auto;padding:12px}.topbar{border:1px solid var(--line);background:#f7fffc;border-radius:20px 20px 0 0;justify-content:space-between;align-items:center;gap:10px;min-height:64px;padding:8px 16px;display:flex}.topbar-start,.topbar-end{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.topbar-end{justify-content:flex-end}.brand{align-items:center;gap:10px;font-weight:900;display:flex}.brand-link{color:inherit;text-decoration:none}.nav-icon-btn{min-height:var(--tap);border:2px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:6px;padding:8px 12px;font-size:.92rem;font-weight:800;display:inline-flex}.home-btn span:first-child{font-size:1.1rem;line-height:1}.brand-mark{color:#fff;background:#16734e;border-radius:12px;place-items:center;width:39px;height:39px;font-size:20px;display:grid}.step-pill{color:#316254;background:#fff;border:1px solid #a8d4c2;border-radius:999px;padding:7px 12px;font-size:.92rem;font-weight:800}.window{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-top:0;border-radius:0 0 24px 24px;min-height:min(78dvh,720px);padding:18px}h1{margin:0 0 10px;font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.12}p{color:var(--soft);margin:0 0 12px;font-size:1.125rem;line-height:1.5}.lead{color:var(--ink)}.kicker{color:#16734e;letter-spacing:.08em;text-transform:uppercase;background:#ffffffb8;border-radius:999px;margin-bottom:8px;padding:6px 11px;font-size:.75rem;font-weight:900;display:inline-block}.actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.actions .primary,.actions button{flex:160px}.field label{margin-bottom:6px;font-weight:700;display:block}.field input{width:100%;min-height:var(--tap);background:#fff;border:2px solid #82c9ad;border-radius:12px;padding:12px 14px}.error{min-height:22px;color:var(--error);font-weight:700}.split{gap:16px;display:grid}.choice-grid{gap:10px;display:grid}.choice,.mode{text-align:left;background:#f8fffc;border:3px solid #21dc78;grid-template-columns:56px 1fr;align-items:center;gap:12px;min-height:92px;padding:12px 16px;display:grid}.choice.is-selected,.mode.is-selected{background:#eafff2;border-color:#138c59}.choice small,.mode small{color:var(--soft);font-weight:500;display:block}.icon-badge{background:#c9f4df;border-radius:14px;place-items:center;width:52px;height:52px;font-size:1.6rem;display:grid}.progress{gap:5px;margin:8px 0 14px;display:flex}.progress i{background:var(--line);border-radius:99px;flex:1;height:6px}.progress i.on{background:var(--action)}.feedback{min-height:28px;font-weight:750}.feedback.ok{color:#14613f}.feedback.retry{color:#8a4b12}.feedback.hint{color:var(--hint)}.qcm{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0;display:grid}.qcm button.is-selected{border-color:var(--action);background:var(--soft-action)}.fraction{text-align:center;min-width:28px;color:var(--ink);grid-template-rows:auto 2px auto;font-weight:800;display:inline-grid}.fraction i{background:currentColor}.fraction-entry{grid-template-rows:48px 3px 48px;width:92px;display:grid}.fraction-entry input{text-align:center;width:92px;min-height:44px}.fraction-entry i{background:var(--ink)}.free-row{flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0;display:flex}.free-row input[type=number]{width:110px;min-height:var(--tap);border:2px solid var(--line);border-radius:12px;padding:10px}.two-steps{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.step-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px;font-size:.95rem}.step-card.active{border-color:var(--action);background:var(--soft-action)}.collection{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.star{aspect-ratio:1;filter:grayscale();opacity:.4;background:0 0;border:0;place-items:center;min-height:64px;font-size:1.8rem;display:grid}.star.is-earned{filter:none;opacity:1}.scene{border:1px solid var(--line);background:#0b2446;border-radius:16px;min-height:280px;margin:0;position:relative;overflow:hidden}.scene-svg{width:100%;height:auto;min-height:280px;display:block}.scene-equitation{background:#d7efdc}.scene-football,.scene-rugby,.scene.is-dedicated{background:#3d8a52}.scene-espace.is-dedicated{background:#07152c}.scene-equitation.is-dedicated{background:#d7efdc}.scene-panel.scene-tutorial,.scene-panel.scene-celebrate{min-height:280px;color:var(--ink);text-align:center;background:#fffdf3;place-items:center;gap:12px;padding:24px;display:grid}.scene-celebrate{background:radial-gradient(circle at 35% 28%,#fff8c8,#e5bd31 72%);font-size:clamp(1.4rem,4vw,2rem);font-weight:900}.tutorial-board{background:repeating-linear-gradient(#fffdf3 0 31px,#d9e6e9 32px);border:1px solid #d7cda9;border-radius:16px;justify-items:center;gap:14px;width:min(100%,220px);padding:22px;display:grid}.fraction-slices{grid-template-columns:repeat(4,1fr);gap:6px;width:100%;height:72px;display:grid}.fraction-slices.big{height:96px}.fraction-slices b.is-hint{background:#a8d4b8}.scene-panel.scene-pedagogy{min-height:280px;color:var(--ink);text-align:center;place-items:center;gap:14px;padding:20px 18px 16px;display:grid}.scene-pedagogy.tone-math{background:linear-gradient(160deg,#f7fbff 0%,#e8f2ff 55%,#dff0e8 100%)}.scene-pedagogy.tone-lang{background:linear-gradient(160deg,#fffaf2 0%,#f4e6d4 60%,#efe0c8 100%)}.scene-pedagogy.tone-world{background:linear-gradient(160deg,#f3faf5 0%,#dceee3 55%,#cfe4f2 100%)}.scene-pedagogy.tone-civic{background:linear-gradient(160deg,#f7f4ff 0%,#e8e2f8 55%,#dce8ff 100%)}.pedagogy-stack{justify-items:center;gap:12px;width:min(100%,320px);display:grid}.pedagogy-title{font-size:1.35rem;font-weight:800}.pedagogy-note{opacity:.85;margin:0;font-size:.95rem}.fraction-bars{gap:10px;width:100%;display:grid}.fraction-slices.pedagogy-bar{grid-template-columns:repeat(auto-fit,minmax(18px,1fr));height:56px}.pedagogy-svg{color:#1d3557;max-width:340px;min-height:160px}.place-grid,.place-row{grid-template-columns:repeat(4,minmax(52px,1fr));gap:8px;width:min(100%,320px);display:grid}.place-classes{gap:10px;width:min(100%,340px);display:grid}.place-class{gap:4px;display:grid}.place-class .place-row{grid-template-columns:repeat(3,1fr)}.place-cell{background:#fff;border:1px solid #c9d7ea;border-radius:10px;gap:2px;padding:8px 4px;display:grid}.place-cell.is-hot{border-color:#e8a317;box-shadow:0 0 0 2px #ffe08a88}.place-cell span,.place-cell small{opacity:.7;font-size:.7rem}.place-cell strong{font-size:1.25rem}.prop-table{grid-template-columns:1.2fr repeat(3,1fr);gap:6px;width:min(100%,320px);font-weight:700;display:grid}.prop-table>div{background:#fff;border:1px solid #c9d7ea;border-radius:8px;padding:10px 6px}.prop-table>div.is-hot{background:#fff4cc;border-color:#e8a317}.calc-board{justify-items:center;gap:16px;display:grid}.calc-expr{align-items:center;gap:12px;font-size:clamp(1.4rem,4vw,2rem);font-weight:800;display:flex}.calc-op{color:#2f6fed}.calc-result{background:#fff;border:2px dashed #9bb0d0;border-radius:14px;min-width:96px;padding:12px 18px;font-size:1.6rem;font-weight:900}.calc-result.is-hot{background:#e9f8ee;border-style:solid;border-color:#63c782}.text-board{justify-items:center;gap:14px;width:min(100%,280px);display:grid}.text-badge{color:#fff;background:#1d3557;border-radius:14px;place-items:center;width:48px;height:48px;font-weight:800;display:inline-grid}.text-card{background:#fff;border:1px solid #d7cda9;border-radius:16px;gap:6px;width:100%;padding:18px;display:grid}.text-card.is-hot{background:#eefaf1;border-color:#63c782}.text-card small{opacity:.65;font-size:.8rem}.text-card strong{font-size:1.35rem}.text-hints{gap:8px;display:flex}.text-hints i{background:#c5b89a;border-radius:50%;width:10px;height:10px}.method-board{text-align:left;background:#fff;border:1px solid #d7cda9;border-radius:16px;width:min(100%,280px);padding:16px 18px}.method-board ol{margin:10px 0 0;padding-left:1.2rem}.group-dots{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.group-dot{border:2px solid #fff;border-radius:50%;width:18px;height:18px}.group-dot.tone-a{background:#e46f3d}.group-dot.tone-b{background:#ef885a}.scene-panel.scene-groups{background:#dcefe3;grid-template-columns:1fr 1fr;align-content:center;gap:12px;min-height:280px;padding:18px 14px 12px;display:grid}.group-box{background:#ffe05a14;border:2px dashed #f1d166;border-radius:14px;justify-items:center;gap:10px;padding:16px 12px;display:grid}.group-box span{color:#17392f;font-weight:800}.group-box.is-hot{background:#ffe16a33;border-style:solid}.group-eq{text-align:center;color:#14613f;grid-column:1/-1;margin:4px 0 0;font-weight:800}.signal-wait{animation:.8s ease-in-out infinite alternate signalPulse}.signal-good{filter:drop-shadow(0 0 6px #77df98)}.scene-overlay{pointer-events:none;background:#07152ccc;border-radius:14px;padding:12px;position:absolute;bottom:58px;left:12px;right:12px}.scene-equitation .scene-overlay,.scene-football .scene-overlay,.scene-rugby .scene-overlay{background:#17392fcc}.token-grid{justify-items:center;gap:8px;display:grid}.token{background:#718ba5;border:2px solid #c9def0;border-radius:50%;width:16px;height:16px}.token.tone-good.is-on{background:#63c782;border-color:#c8f4d4}.token.tone-other.is-on,.token.tone-other{background:#9b6df2;border-color:#eadcff}.token.is-blink{animation:.8s ease-in-out infinite alternate signalPulse}.fraction-slices{grid-template-columns:repeat(4,1fr);gap:6px;height:72px;display:grid}.fraction-slices b{background:#d8e4ef;border-radius:8px}.fraction-slices b.is-filled{background:#63c782}.scene-split{grid-template-columns:1fr 1fr;gap:10px;display:grid}.split-box{background:#0b2446aa;border:3px solid #62b8f1;border-radius:14px;padding:10px}.corridors{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.corridor{color:#fff;background:#fff2;border-radius:12px;place-items:center;min-height:64px;font-weight:800;display:grid}.corridor.is-on{color:#17392f;background:#ffe08acc}.celebration,.mystery{aspect-ratio:1;color:#142840;text-align:center;background:radial-gradient(circle at 35% 28%,#fff8c8,#e5bd31 72%);border-radius:50%;place-items:center;width:min(180px,70%);min-height:90px;margin:0 auto;font-size:1.2rem;font-weight:800;display:grid}.mystery{font-size:3rem}.scene-caption{color:var(--soft);background:#f7fffc;margin:0;padding:8px 12px;font-size:.95rem;font-weight:600;position:relative}.scene-actor{transition:transform .65s}.listen{z-index:50;background:#f4fff8;border:3px solid #267d4e;border-radius:999px;max-width:min(200px,100vw - 24px);min-height:46px;font-weight:800;position:fixed;top:auto;bottom:16px;right:16px;box-shadow:0 8px 20px #15382c22}.listen.is-on{background:#ffe8c8;border-color:#c47a12}.method-box{color:var(--ink);background:repeating-linear-gradient(#fffdf3 0 31px,#d9e6e9 32px);border:1px solid #d7cda9;border-radius:12px;padding:16px 16px 16px 18px}.neo{object-fit:contain;filter:drop-shadow(0 10px 12px #1b5f4933);width:min(220px,70%);height:auto}.neo-small{width:min(170px,58%)}.neo-a06{width:min(240px,70%);min-height:280px;margin:0 auto;position:relative}.neo-a06 img{object-fit:contain;object-position:center bottom;width:100%;height:100%;position:absolute;inset:0}.neo-clap{object-fit:cover;object-position:0 0;width:210px;height:230px;animation:.7s step-end infinite clap}@keyframes clap{0%,49%{object-position:0 0}50%,to{object-position:100% 0}}.hint-overlay{align-items:center;gap:10px;margin-top:8px;display:flex}.hint-overlay .neo{width:72px}.hint-text{color:var(--hint);margin:0;font-weight:800}.mascot-stage{flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:240px;display:flex}.bubble{color:#214f41;text-align:center;background:#fffef8;border:3px solid #258760;border-radius:50% 48% 52% 49%/54% 49% 52% 46%;max-width:260px;padding:14px 18px;font-weight:800}.summary{background:#fafffd;border:2px solid #8fd5b8;border-radius:16px;margin:12px 0 18px;padding:14px 16px}.summary div{justify-content:space-between;gap:12px;padding:6px 0;display:flex}.reward-hero{text-align:center}.reward-badge{border:4px solid var(--gold);background:var(--soft-action);border-radius:50%;place-items:center;width:120px;height:120px;margin:8px auto 12px;font-size:3rem;display:grid}.intro{text-align:center;justify-items:center;gap:8px;display:grid}.intro h1,.intro p{max-width:36rem}.mission-layout{gap:16px;display:grid}.collectible-wrap{text-align:center;font-weight:700}.collectible-wrap small{margin-top:4px;display:block}@media (width>=768px){.app-shell{padding:18px}.window{padding:28px 32px}.split{grid-template-columns:minmax(220px,36%) minmax(0,64%);align-items:center}.mission-layout{grid-template-columns:minmax(280px,1fr) minmax(0,1.05fr);align-items:start}.scene-svg,.scene{min-height:380px}}@media (width<=620px){.qcm,.two-steps,.collection,.scene-split,.corridors,.scene-groups{grid-template-columns:1fr}.listen{white-space:nowrap;text-overflow:ellipsis;max-width:48vw;min-height:40px;padding:8px 10px;font-size:.82rem;top:auto;bottom:12px;right:12px;overflow:hidden}.topbar{flex-wrap:wrap}.scene{min-height:240px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.neo-clap{object-position:100% 0}.token.is-blink{opacity:1;animation:none}.scene-actor{transition:none}}@keyframes signalPulse{0%{opacity:.35}to{opacity:1}}.portal-grid{gap:10px;margin:16px 0 8px;display:grid}.login-form{text-align:left;gap:12px;margin-top:12px;display:grid}.field-help{color:var(--soft);margin:6px 0 0;font-size:1rem;font-weight:500}.role-tabs{grid-template-columns:1fr 1fr;gap:8px;display:grid}.role-tabs button.is-selected{background:#eafff2;border-color:#138c59}.code-hero{background:#f4fff8;border:3px solid #21dc78;border-radius:18px;justify-items:start;gap:8px;margin:18px 0;padding:18px 20px;display:grid}.code-hero span{text-transform:uppercase;letter-spacing:.08em;color:#16734e;font-size:.78rem;font-weight:800}.code-hero strong{letter-spacing:.18em;color:var(--ink);font-size:clamp(1.8rem,5vw,2.6rem)}.teacher-space h2{margin:28px 0 12px;font-size:1.35rem}.app-shell:has(.suivi-classe){width:min(1520px,100%)}.app-shell:has(.suivi-classe) .window{min-height:min(82dvh,960px);padding-left:16px;padding-right:16px;overflow-x:clip}.suivi-classe .class-detail.suivi-main{width:100%;min-width:0;margin-top:8px}.suivi-topbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 18px;margin-bottom:8px;display:flex}.suivi-classes-trigger{min-height:var(--tap);border:2px solid var(--line);text-align:left;max-width:100%;font:inherit;color:inherit;cursor:pointer;background:#fff;border-radius:16px;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;transition:border-color .15s,background .15s;display:inline-flex}.suivi-classes-trigger:hover{background:#f4fff8;border-color:#0f6a45}.suivi-classes-trigger:focus-visible{outline-offset:2px;outline:3px solid #21dc78}.suivi-classes-trigger-label{letter-spacing:.06em;text-transform:uppercase;color:#5a7266;font-size:.75rem;font-weight:800}.suivi-classes-trigger strong{font-size:1.05rem}.suivi-classes-trigger-code{letter-spacing:.08em;color:#16734e;background:#eafff2;border-radius:8px;padding:2px 8px;font-family:ui-monospace,monospace;font-weight:700}.suivi-empty-class{justify-items:start;gap:14px;padding:28px 0;display:grid}.suivi-modal-backdrop{z-index:80;background:#17392f66;place-items:center;padding:18px;animation:.18s suivi-reveal;display:grid;position:fixed;inset:0}.suivi-modal{border:2px solid var(--line);width:min(440px,100%);max-height:min(86dvh,640px);box-shadow:var(--shadow);background:#fff;border-radius:20px;padding:18px 18px 20px;overflow:auto}.suivi-modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.suivi-modal-head h2{margin:0;font-size:1.25rem}.suivi-modal-close{border-radius:12px;min-height:40px;padding:8px 12px;font-weight:700}.suivi-modal-list{margin-bottom:16px}.suivi-modal .create-class{border-top:1px solid #e3f3ea;margin-top:4px;padding-top:14px}.class-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.class-item{text-align:left;border:2px solid var(--line);cursor:pointer;width:100%;font:inherit;color:inherit;background:#f8fffb;border-radius:14px;gap:2px;padding:12px 14px;display:grid}.class-item span{letter-spacing:.08em;color:#16734e;font-family:ui-monospace,monospace;font-weight:700}.class-item.is-selected{background:#eafff2;border-color:#138c59}.create-class{gap:8px;margin-top:4px;display:grid}.class-detail{min-width:0}.stats-filters{border:2px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:22px 0 8px;padding:14px 16px;display:grid}.activity-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:12px 0 16px;display:grid}.activity-grid select{width:100%}.session-control .roster-panel{margin-top:8px}.presence-pill{vertical-align:middle;border-radius:999px;padding:2px 8px;font-size:.85rem;font-weight:700;display:inline-block}.presence-connecte{color:#0b6b3a;background:#e6f8ee}.presence-deconnecte{color:#7a4a00;background:#fff3df}.presence-absent{color:#5a6270;background:#eef1f5}.stats-filters .field{min-width:0;margin:0}.stats-filters select,.stats-filters input[type=date]{width:100%;min-width:0;max-width:100%}.suivi-greeting{color:var(--soft);margin:0 0 8px;font-size:.95rem}.suivi-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px 24px;margin-bottom:16px;display:flex}.suivi-header-main{flex:220px;min-width:0}.suivi-header-main h1{overflow-wrap:anywhere;margin:0 0 10px;font-size:clamp(1.45rem,3vw,2.1rem);line-height:1.15}.suivi-code{border:1px solid var(--line);background:#f7fffb;border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;display:inline-flex}.suivi-code-label{text-transform:uppercase;letter-spacing:.04em;color:#5a7266;font-size:.8rem;font-weight:700}.suivi-code strong{letter-spacing:.08em;font-variant-numeric:tabular-nums;font-size:1.35rem}.suivi-header-actions{flex-wrap:wrap;align-items:center;gap:10px;max-width:100%;display:flex}.suivi-prepare-toggle{font:inherit;color:#0f6a45;cursor:pointer;min-height:var(--tap);background:0 0;border:none;padding:8px 4px;font-weight:700;text-decoration:underline}.suivi-prepare{border:1px solid var(--line);background:#fff;border-radius:16px;margin:0 0 18px;padding:16px 18px;animation:.22s suivi-reveal}.suivi-prepare h2{margin-top:0}.suivi-prepare .roster-panel{background:0 0;border:none;margin-top:12px;padding:0}.suivi-prepare .roster-panel h3{margin:0 0 6px;font-size:1.1rem}.suivi-summary{background:linear-gradient(#f4fff8,#fff);border:2px solid #21dc78;border-radius:16px;flex-wrap:wrap;gap:10px 18px;margin:0 0 18px;padding:14px 16px;display:flex}.suivi-summary-item{flex:120px;gap:2px;min-width:110px;display:grid}.suivi-summary-value{color:var(--ink);font-size:1.25rem;font-weight:800;line-height:1.2}.suivi-summary-label{color:#5a7266;font-size:.82rem;font-weight:600}.suivi-modes{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.suivi-modes button{min-height:var(--tap);border:2px solid var(--line);font:inherit;color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;padding:10px 16px;font-weight:700;transition:background .18s,border-color .18s,color .18s}.suivi-modes button.is-selected{color:#0b5a38;background:#eafff2;border-color:#0f6a45}.suivi-panel h2{margin:0}.suivi-classe .teacher-space h2,.suivi-classe h2{margin-top:0}.suivi-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;margin:4px 0 14px;display:flex}.suivi-panel-head .field-help{max-width:42rem;margin:0}.suivi-filters-full{width:100%;margin:0 0 16px}.suivi-fullbleed{width:100%;min-width:0}.suivi-eleve-list,.suivi-theme-list{border:1px solid var(--line);background:#fff;border-radius:16px;gap:0;width:100%;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.suivi-eleve-list>li,.suivi-theme-list>li{border-bottom:1px solid #e3f3ea;width:100%;min-width:0}.suivi-eleve-list>li:last-child,.suivi-theme-list>li:last-child{border-bottom:none}.suivi-eleve-cols,.suivi-theme-cols{letter-spacing:.04em;text-transform:uppercase;color:#5a7266;border:1px solid var(--line);background:#f3fff8;border-bottom:none;border-radius:16px 16px 0 0;gap:10px 14px;margin:0;padding:12px 18px;font-size:.78rem;font-weight:800;display:grid}.suivi-eleve-cols{grid-template-columns:minmax(0,1.6fr) 7.5rem minmax(0,1.1fr) 5.5rem}.suivi-theme-cols{grid-template-columns:minmax(0,1.6fr) minmax(0,1.1fr) 4.5rem 8.5rem 8.5rem;margin-top:8px}.suivi-eleve-list,.suivi-theme-list{border-radius:0 0 16px 16px}.suivi-eleve-row{text-align:left;width:100%;font:inherit;cursor:pointer;background:#fff;border:none;border-radius:0;grid-template-columns:minmax(0,1.6fr) 7.5rem minmax(0,1.1fr) 5.5rem;align-items:center;gap:10px 14px;padding:16px 18px;transition:background .15s;display:grid}.suivi-eleve-row:hover{background:#f7fffb;border-color:#0000}.suivi-eleve-row.is-open{background:#eafff2;border-color:#0000}.suivi-theme-row{background:#fff;border:none;border-radius:0;grid-template-columns:minmax(0,1.6fr) minmax(0,1.1fr) 4.5rem 8.5rem 8.5rem;align-items:center;gap:10px 14px;width:100%;padding:14px 18px;display:grid}.suivi-theme-row.status-fait{background:#f3fff8}.suivi-theme-row.status-partiel_classe{background:#fffaf0}.suivi-theme-row.status-partiel_app{background:#f5faff}.suivi-eleve-detail{background:#eafff2;border:none;border-radius:0;margin:0;padding:4px 18px 18px;animation:.22s suivi-reveal}.stats-filters.suivi-filters-full{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;margin:0 0 16px;display:grid}.suivi-programme .stats-filters.suivi-filters-full{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.suivi-table-full{border-radius:14px;width:100%}.suivi-table-full .session-table{table-layout:fixed;width:100%}.suivi-eleve-name{align-items:center;gap:10px;min-width:0;font-size:1.08rem;font-weight:800;display:inline-flex}.suivi-chevron{color:#0f6a45;place-items:center;width:1.1rem;font-size:.95rem;display:inline-grid}.suivi-eleve-meta,.suivi-eleve-rate{color:#3d5a4c;font-size:.98rem;font-weight:600}.suivi-eleve-rate{font-variant-numeric:tabular-nums;justify-self:end;font-weight:800}.suivi-activity{white-space:nowrap;border-radius:999px;justify-self:start;padding:5px 11px;font-size:.8rem;font-weight:800;display:inline-block}.suivi-activity.status-recent{color:#0b5a38;background:#d8ffe8}.suivi-activity.status-pause{color:#7a5200;background:#fff3d6}.suivi-activity.status-never{color:#4a5c52;background:#f0f3f1}.suivi-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px;margin-bottom:12px;display:grid}.suivi-detail-label{letter-spacing:.04em;text-transform:uppercase;color:#5a7266;margin-bottom:2px;font-size:.78rem;font-weight:800;display:block}.suivi-detail-grid strong{color:var(--ink);font-size:1rem;font-weight:700}.suivi-journal-table .col-eleve{width:22%}.suivi-journal-table .col-parcours{width:40%}.suivi-journal-table .col-resultat{width:24%}.suivi-journal-table .col-heure{width:14%}.suivi-subline{margin-top:2px;font-size:.88rem}.suivi-day-group{margin-bottom:18px}.suivi-day-title{color:#3d5a4c;text-transform:capitalize;margin:0 0 8px;font-size:.95rem}.programme-toolbar{margin-bottom:8px}.programme-legend{flex-wrap:wrap;gap:8px 12px;margin:0 0 10px;padding:0;list-style:none;display:flex}.suivi-theme-label strong{font-size:1.02rem;line-height:1.3}.suivi-theme-mission{color:#3d5a4c;font-size:.95rem;font-weight:600}.suivi-theme-app .is-yes{color:#0b5a38;font-weight:800}.suivi-theme-app .is-no{color:#7a8a82;font-weight:600}.suivi-theme-status{justify-self:end}.programme-check{min-height:var(--tap);cursor:pointer;align-items:center;gap:10px;padding:4px 2px;font-weight:700;display:inline-flex}.programme-check input{accent-color:#0f6a45;flex:none;width:1.25rem;height:1.25rem}@keyframes suivi-reveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.stats-filters.suivi-filters-full{grid-template-columns:repeat(2,minmax(0,1fr))}.suivi-eleve-cols,.suivi-theme-cols{display:none}.suivi-eleve-row{grid-template-columns:1fr auto;grid-template-areas:"name activity""meta rate"}.suivi-eleve-name{grid-area:name}.suivi-activity{grid-area:activity;justify-self:end}.suivi-eleve-meta{grid-area:meta}.suivi-eleve-rate{grid-area:rate}.suivi-detail-grid{grid-template-columns:1fr}.suivi-theme-row{grid-template-columns:1fr auto;grid-template-areas:"label status""mission mission""app class"}.suivi-theme-label{grid-area:label}.suivi-theme-mission{grid-area:mission}.suivi-theme-app{grid-area:app}.suivi-theme-class{grid-area:class;justify-self:end}.suivi-theme-status{grid-area:status}}@media (width<=620px){.stats-filters.suivi-filters-full,.suivi-programme .stats-filters.suivi-filters-full{grid-template-columns:minmax(0,1fr)}.suivi-header-actions{width:100%}.suivi-header-actions>button{flex:auto}.suivi-modes{width:100%}.suivi-modes button{flex:auto}.suivi-summary{gap:12px}.suivi-summary-item{flex:calc(50% - 12px);min-width:0}}.muted{color:#5a7266}.programme-progress{margin:12px 0 8px;font-size:1.05rem}.programme-progress-bar{background:#e3f3ea;border-radius:999px;height:10px;margin:0 0 16px;overflow:hidden}.programme-progress-bar>i{border-radius:inherit;background:linear-gradient(90deg,#1bbf6a,#0f6a45);height:100%;transition:width .25s;display:block}.programme-status{white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:.85rem;font-weight:700;display:inline-block}.programme-status.status-fait{color:#0b5a38;background:#d8ffe8}.programme-status.status-partiel_app{color:#0b4a7a;background:#e7f3ff}.programme-status.status-partiel_classe{color:#7a5200;background:#fff3d6}.programme-status.status-a_faire{color:#4a5c52;background:#f0f3f1}.student-detail{background:#f4fff8;border:2px solid #21dc78;border-radius:16px;margin-top:22px;padding:16px 18px}.student-detail h3{margin:0 0 8px;font-size:1.2rem}.linkish{font:inherit;color:#0f6a45;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.session-table tr.is-selected-row{background:#eafff2}.session-table-wrap{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:auto}.session-table{border-collapse:collapse;width:100%;font-size:1.05rem}.session-table th,.session-table td{text-align:left;min-height:var(--tap);border-bottom:1px solid #e3f3ea;padding:12px 14px}.session-table th{text-transform:uppercase;letter-spacing:.04em;background:#f3fff8;font-size:.85rem}.feedback.info{color:var(--hint)}.section-title{margin:22px 0 10px;font-size:1.15rem}.chip-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.chip-grid.subjects{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.chip{text-align:left;min-height:var(--tap);border:2px solid var(--line);cursor:pointer;font:inherit;color:inherit;background:#fff;border-radius:16px;gap:4px;padding:14px 12px;display:grid}.chip strong{font-size:1.15rem}.chip small{color:var(--soft);font-size:.85rem;line-height:1.3}.chip.is-selected{background:#eafff2;border-color:#138c59;box-shadow:0 0 0 2px #138c5926}.course-status{border:2px solid var(--line);background:#fff;border-radius:16px;margin:18px 0 8px;padding:16px 18px}.course-status.is-ready{background:#f4fff8;border-color:#21dc78}.course-status.is-soon{background:#fffbeb;border-color:#e2c56b}.course-status p{margin:8px 0 0}.course-layout .section-title:first-of-type{margin-top:8px}.setup-steps{border:1px solid var(--line);background:#f2fff9;border-top:0;padding:10px 16px}.setup-steps ol{flex-wrap:wrap;gap:8px 14px;margin:0;padding:0;list-style:none;display:flex}.setup-steps a,.setup-steps span{color:var(--soft);font-size:.88rem;font-weight:800;text-decoration:none}.setup-steps .is-done a{color:#16734e;text-underline-offset:3px;text-decoration:underline}.setup-steps .is-current span{color:var(--ink);background:#fff;border:1px solid #a8d4c2;border-radius:999px;padding:4px 10px}.setup-steps+.window{border-radius:0 0 24px 24px}.public-topbar{border-radius:20px;margin-bottom:12px}.public-window{border-top:1px solid var(--line);border-radius:24px}.public-nav{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.nav-text-link,.text-link{color:#16734e;font-weight:800;text-decoration:none}button.text-link{min-height:auto;box-shadow:none;cursor:pointer;background:0 0;border:0;padding:8px 4px}.nav-text-link:hover,.text-link:hover{text-decoration:underline}.nav-cta-link{min-height:var(--tap);background:linear-gradient(145deg, var(--action-2), var(--action));color:var(--action-ink);border:2px solid #20c978;border-radius:14px;align-items:center;padding:10px 16px;font-weight:800;text-decoration:none;display:inline-flex}.nav-cta{min-height:var(--tap)}.home-hero{grid-template-columns:1.2fr .8fr;align-items:center;gap:28px;margin-bottom:36px;display:grid}.home-brand{letter-spacing:-.03em;color:#0f5c3d;margin:0 0 8px;font-size:clamp(1.8rem,5vw,2.8rem);font-weight:900;line-height:1.05}.home-hero h1{font-size:clamp(1.45rem,3.5vw,2.1rem);font-weight:800}.home-note{color:var(--soft);margin-top:16px;font-size:.98rem}.home-actions{align-items:center}.role-card-grid{grid-template-columns:1fr 1fr;gap:14px;margin:18px 0 8px;display:grid}.role-card{border:2px solid var(--line);color:inherit;background:#fff;border-radius:18px;flex-direction:column;gap:6px;min-height:96px;padding:18px 16px;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.role-card:hover{border-color:var(--action);transform:translateY(-2px)}.role-card-teacher{background:#f5fbff;border-color:#9bc4e8}.role-card-label{color:var(--ink);font-size:1.15rem;font-weight:900}.role-card-hint{color:var(--soft);font-size:.95rem}.home-how{border-top:1px dashed var(--line);padding-top:8px}.home-how h2{margin:0 0 14px;font-size:1.35rem}.how-steps{gap:12px;margin:0;padding:0;list-style:none;display:grid}.how-steps li{border:1px solid var(--line);background:#fff;border-radius:16px;gap:4px;padding:14px 16px;display:grid}.how-steps strong{color:var(--ink);font-size:1.05rem}.how-steps span{color:var(--soft)}.login-page{max-width:640px}.teacher-banner{color:var(--ink);background:#f4fff8;border:2px solid #21dc78;border-radius:14px;margin:0 0 16px;padding:14px 16px;font-size:1.05rem}.teacher-banner code{letter-spacing:.06em;font-weight:900}.field-label{margin-bottom:8px;font-weight:800;display:block}.roster-pick{gap:8px;display:grid}.roster-panel{border:1px solid var(--line);background:#fff;border-radius:16px;margin:20px 0 24px;padding:16px}.roster-panel h2{margin:0 0 8px;font-size:1.2rem}.roster-list{gap:8px;margin:12px 0;padding:0;list-style:none;display:grid}.roster-row,.roster-edit-row,.roster-add{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.roster-row{background:#f7fffc;border:1px solid #d7efe4;border-radius:12px;justify-content:space-between;padding:10px 12px}.roster-row-actions{flex-wrap:wrap;gap:8px;display:flex}.roster-edit-row input,.roster-add .field{flex:180px}.roster-add{margin-top:12px}.mission-editor h1{margin-bottom:8px}.mission-editor h2{margin-top:28px;margin-bottom:12px}.mission-catalog-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.mission-catalog-list li{border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);background:color-mix(in srgb, var(--paper) 88%, white);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.mission-catalog-list li strong{display:block}.mission-catalog-list li span{opacity:.78;font-size:.92rem;display:block}.mission-editor-grid{grid-template-columns:minmax(0,1.4fr) minmax(240px,.8fr);align-items:start;gap:22px;display:grid}.mission-editor-main .field textarea,.mission-editor-main .field select,.mission-step-editor .field select{border:1px solid color-mix(in srgb, var(--ink) 18%, transparent);width:100%;font:inherit;background:#fff;border-radius:10px;padding:10px 12px}.mission-publish{align-items:center;gap:10px;margin:14px 0 8px;font-weight:700;display:flex}.mission-step-tabs{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.mission-step-tabs button{border:1px solid color-mix(in srgb, var(--ink) 16%, transparent);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:8px 12px}.mission-step-tabs button.is-selected{background:var(--ink);color:#fff;border-color:var(--ink)}.mission-step-editor{border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);background:color-mix(in srgb, var(--paper) 92%, white);border-radius:14px;gap:10px;padding:14px;display:grid}.mission-preview{border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);background:color-mix(in srgb, var(--paper) 88%, white);border-radius:14px;padding:16px;position:sticky;top:16px}.mission-preview h3{margin:6px 0 8px}@media (width<=900px){.mission-editor-grid{grid-template-columns:1fr}.mission-preview{position:static}}@media (width<=620px){.login-layout{grid-template-columns:1fr}.chip-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.chip-grid.subjects,.home-hero,.role-card-grid{grid-template-columns:1fr}.step-pill,.public-nav .nav-text-link{display:none}}.skin-toggle.is-newfront{color:#0b2420;background:#dff7f0;border-color:#0f8f78}.skin-toggle.is-classic{border-color:var(--line)}@media (width<=620px){.skin-toggle-label{display:none}}.colorblind-toggle.is-on{color:#1e3a8a;background:#eff6ff;border-color:#2563eb}@media (width<=620px){.colorblind-toggle-label{display:none}}html[data-colorblind="1"]{--page:#eef4ff;--panel:#f8faff;--ink:#0f172a;--soft:#334155;--line:#93c5fd;--action:#2563eb;--action-ink:#0b1f4d;--action-2:#60a5fa;--soft-action:#eff6ff;--error:#be185d;--gold:#d97706;--hint:#7c3aed}html[data-colorblind="1"] body{background:radial-gradient(circle at 16% 18%,#bfdbfe 0,#0000 38%),radial-gradient(circle at 84% 4%,#ddd6fe 0,#0000 44%),linear-gradient(145deg,#eef4ff 0,#e0e7ff 53%,#dbeafe 100%)}html[data-colorblind="1"] .topbar,html[data-colorblind="1"] .window{background:var(--panel);border-color:var(--line)}html[data-colorblind="1"] .primary{background:linear-gradient(145deg, var(--action-2), var(--action));color:#fff;border-color:#3b82f6}html[data-colorblind="1"] button:focus-visible,html[data-colorblind="1"] input:focus-visible{outline-color:#2563eb}html[data-colorblind="1"] .programme-status.status-fait,html[data-colorblind="1"] .suivi-activity.status-recent,html[data-colorblind="1"] .presence-connecte{color:#1e3a8a;background:#dbeafe;box-shadow:inset 4px 0 #2563eb}html[data-colorblind="1"] .programme-status.status-partiel_app{color:#5b21b6;background:#ede9fe;box-shadow:inset 4px 0 #7c3aed}html[data-colorblind="1"] .programme-status.status-partiel_classe,html[data-colorblind="1"] .suivi-activity.status-pause,html[data-colorblind="1"] .presence-deconnecte{color:#9a3412;background:repeating-linear-gradient(-45deg,#ffedd5,#ffedd5 4px,#fed7aa 4px 8px);box-shadow:inset 4px 0 #d97706}html[data-colorblind="1"] .programme-status.status-a_faire,html[data-colorblind="1"] .suivi-activity.status-never,html[data-colorblind="1"] .presence-absent{color:#334155;background:#f1f5f9;border:1px dashed #94a3b8;box-shadow:inset 4px 0 #64748b}html[data-colorblind="1"] .suivi-theme-row.status-fait{background:#eff6ff;border-color:#93c5fd}html[data-colorblind="1"] .suivi-theme-row.status-partiel_classe{background:#fff7ed}html[data-colorblind="1"] .suivi-theme-row.status-partiel_app{background:#f5f3ff}html[data-colorblind="1"] .suivi-theme-app .is-yes,html[data-colorblind="1"] .suivi-eleve-rate,html[data-colorblind="1"] .class-item span,html[data-colorblind="1"] .suivi-classes-trigger-code,html[data-colorblind="1"] .linkish,html[data-colorblind="1"] .suivi-prepare-toggle{color:#1d4ed8}html[data-colorblind="1"] .suivi-summary,html[data-colorblind="1"] .student-detail,html[data-colorblind="1"] .suivi-eleve-row.is-open,html[data-colorblind="1"] .class-item.is-selected,html[data-colorblind="1"] .suivi-modes button.is-selected{background:#eff6ff;border-color:#2563eb}html[data-colorblind="1"] .suivi-eleve-detail{background:#eff6ff}html[data-colorblind="1"] .programme-progress-bar>i,html[data-colorblind="1"] .progress i.on{background:linear-gradient(90deg,#60a5fa,#2563eb)}html[data-colorblind="1"] .listen{background:#eff6ff;border-color:#2563eb}html[data-colorblind="1"] .listen.is-on{background:#ffedd5;border-color:#d97706}html[data-colorblind="1"] .kicker{color:#1d4ed8}html[data-colorblind="1"] .code-hero,html[data-colorblind="1"] .suivi-code{background:#eff6ff;border-color:#93c5fd}html[data-colorblind="1"] .brand-mark{background:#1d4ed8}html[data-colorblind="1"] .home-brand,html[data-colorblind="1"] .nav-text-link,html[data-colorblind="1"] .text-link{color:#1d4ed8}html[data-colorblind="1"] .step-pill{color:#1e3a8a;border-color:#93c5fd}html[data-colorblind="1"] .choice,html[data-colorblind="1"] .mode{background:#f8faff;border-color:#60a5fa}html[data-colorblind="1"] .choice.is-selected,html[data-colorblind="1"] .mode.is-selected{background:#dbeafe;border-color:#2563eb}html[data-colorblind="1"] .icon-badge{background:#bfdbfe}html[data-colorblind="1"] .field input{border-color:#93c5fd}html[data-colorblind="1"] .nav-cta-link{color:#fff;border-color:#3b82f6}html[data-colorblind="1"] .feedback.ok{color:#1d4ed8}html[data-colorblind="1"] .feedback.retry{color:#c2410c}html[data-colorblind="1"] .star.on,html[data-colorblind="1"] .progress-dot.on,html[data-colorblind="1"] .mission-progress .fill,html[data-colorblind="1"] .bar-fill,html[data-colorblind="1"] .xp-fill{background:#2563eb}html[data-colorblind="1"] .choice.is-correct,html[data-colorblind="1"] .option.is-correct,html[data-colorblind="1"] button.is-correct{color:#1e3a8a;background:#dbeafe;border-color:#2563eb}html[data-colorblind="1"] .role-card:hover,html[data-colorblind="1"] .mission-card:hover,html[data-colorblind="1"] a.primary,html[data-colorblind="1"] .nav-cta{border-color:#3b82f6}html[data-colorblind="1"] .home-btn{border-color:#93c5fd}html[data-skin=newfront]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#e8f4f1;--panel:#fff;--ink:#0b2420;--soft:#3d5c56;--line:#b7d4cc;--action:#0f8f78;--action-ink:#fff;--action-2:#1bb894;--soft-action:#dff7f0;--error:#c23b2e;--gold:#e8a317;--hint:#1a6fa8;--accent-warm:#e85d4c;--radius:20px;--radius-sm:14px;--shadow:0 18px 48px #0b242014;--shadow-soft:0 8px 24px #0b242010;--tap:52px;--max:1120px;--font-display:"Fraunces", "Georgia", "Times New Roman", serif;--font-ui:"Plus Jakarta Sans", "Avenir Next", "Segoe UI", system-ui, sans-serif;font-family:var(--font-ui);background:var(--page);color:var(--ink);letter-spacing:-.01em;font-weight:600}html[data-skin=newfront] *,html[data-skin=newfront] :before,html[data-skin=newfront] :after{box-sizing:border-box}html[data-skin=newfront] html,html[data-skin=newfront] body,html[data-skin=newfront] #root{min-height:100%;margin:0}html[data-skin=newfront] body{-webkit-font-smoothing:antialiased;background:radial-gradient(80% 55% at 12% -10%,#9ee0d0 0%,#0000 55%),radial-gradient(70% 50% at 92% 0,#f7c9a0 0%,#0000 48%),linear-gradient(165deg,#eef8f5 0%,#e4f0ec 42%,#dceef5 100%);min-height:100dvh}html[data-skin=newfront] button,html[data-skin=newfront] input{font:inherit}html[data-skin=newfront] button{min-height:var(--tap);border-radius:var(--radius-sm);border:2px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;padding:12px 20px;font-weight:750;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s}html[data-skin=newfront] button:hover:not(:disabled){box-shadow:var(--shadow-soft);transform:translateY(-1px)}html[data-skin=newfront] button:disabled{opacity:.45;cursor:default}html[data-skin=newfront] button:focus-visible,html[data-skin=newfront] input:focus-visible{outline:3px solid var(--action);outline-offset:3px}html[data-skin=newfront] .primary{background:linear-gradient(145deg, var(--action-2), var(--action));color:var(--action-ink);border-color:#0000;box-shadow:0 10px 24px #0f8f7833}html[data-skin=newfront] .primary:hover:not(:disabled){box-shadow:0 14px 28px #0f8f7844}html[data-skin=newfront] .ghost-btn{min-height:var(--tap);border-radius:var(--radius-sm);border:2px solid var(--ink);color:var(--ink);background:0 0;justify-content:center;align-items:center;padding:12px 20px;font-weight:800;text-decoration:none;transition:transform .18s,background .18s;display:inline-flex}html[data-skin=newfront] .ghost-btn:hover{background:#0b242008;transform:translateY(-1px)}html[data-skin=newfront] .app-shell{width:min(var(--max), 100%);margin:0 auto;padding:14px}html[data-skin=newfront] .app-shell.public-shell.is-bleed{width:100%;max-width:none;padding:0}html[data-skin=newfront] .topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-height:68px;box-shadow:var(--shadow-soft);background:#fffffff2;border:1px solid #fffa;border-radius:22px 22px 0 0;justify-content:space-between;align-items:center;gap:10px;padding:10px 18px;display:flex}html[data-skin=newfront] .public-shell.is-bleed .topbar{z-index:40;border:1px solid #fffc;border-radius:999px;width:auto;margin:12px 16px 0;position:sticky;top:0}html[data-skin=newfront] .topbar-start,html[data-skin=newfront] .topbar-end{flex-wrap:wrap;align-items:center;gap:10px;display:flex}html[data-skin=newfront] .topbar-end{justify-content:flex-end}html[data-skin=newfront] .brand{font-weight:800;font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.15rem;display:flex}html[data-skin=newfront] .brand-word{font-family:var(--font-display)}html[data-skin=newfront] .brand-link{color:inherit;text-decoration:none}html[data-skin=newfront] .nav-icon-btn{min-height:var(--tap);border:1.5px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:.92rem;font-weight:750;display:inline-flex}html[data-skin=newfront] .home-btn span:first-child{font-size:1.1rem;line-height:1}html[data-skin=newfront] .brand-mark{color:#fff;background:linear-gradient(145deg,#1bb894,#0b6f5c);border-radius:14px;place-items:center;width:40px;height:40px;font-size:18px;display:grid;box-shadow:0 8px 18px #0f8f7833}html[data-skin=newfront] .step-pill{border:1px solid var(--line);background:var(--soft-action);color:var(--ink);border-radius:999px;padding:8px 14px;font-size:.88rem;font-weight:750}html[data-skin=newfront] .window{box-shadow:var(--shadow);background:#fffffff5;border:1px solid #fffa;border-top:0;border-radius:0 0 24px 24px;min-height:min(78dvh,720px);padding:22px}html[data-skin=newfront] .public-shell.is-bleed .window.is-bleed{box-shadow:none;background:0 0;border:0;border-radius:0;min-height:auto;margin:0;padding:0}html[data-skin=newfront] h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 10px;font-size:clamp(1.7rem,4vw,2.55rem);font-weight:750;line-height:1.1}html[data-skin=newfront] p{color:var(--soft);margin:0 0 12px;font-size:1.08rem;line-height:1.5}html[data-skin=newfront] .lead{color:var(--ink);font-weight:600}html[data-skin=newfront] .kicker{background:var(--soft-action);color:#0b6f5c;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;margin-bottom:8px;padding:6px 12px;font-size:.72rem;font-weight:800;display:inline-block}html[data-skin=newfront] .actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}html[data-skin=newfront] .actions .primary,html[data-skin=newfront] .actions button{flex:160px}html[data-skin=newfront] .field label{margin-bottom:6px;font-weight:700;display:block}html[data-skin=newfront] .field input{width:100%;min-height:var(--tap);background:#fff;border:2px solid #82c9ad;border-radius:12px;padding:12px 14px}html[data-skin=newfront] .error{min-height:22px;color:var(--error);font-weight:700}html[data-skin=newfront] .split{gap:16px;display:grid}html[data-skin=newfront] .choice-grid{gap:10px;display:grid}html[data-skin=newfront] .choice,html[data-skin=newfront] .mode{text-align:left;background:#f8fffc;border:3px solid #21dc78;grid-template-columns:56px 1fr;align-items:center;gap:12px;min-height:92px;padding:12px 16px;display:grid}html[data-skin=newfront] .choice.is-selected,html[data-skin=newfront] .mode.is-selected{background:#eafff2;border-color:#138c59}html[data-skin=newfront] .choice small,html[data-skin=newfront] .mode small{color:var(--soft);font-weight:500;display:block}html[data-skin=newfront] .icon-badge{background:#c9f4df;border-radius:14px;place-items:center;width:52px;height:52px;font-size:1.6rem;display:grid}html[data-skin=newfront] .progress{gap:5px;margin:8px 0 14px;display:flex}html[data-skin=newfront] .progress i{background:var(--line);border-radius:99px;flex:1;height:6px}html[data-skin=newfront] .progress i.on{background:var(--action)}html[data-skin=newfront] .feedback{min-height:28px;font-weight:750}html[data-skin=newfront] .feedback.ok{color:#14613f}html[data-skin=newfront] .feedback.retry{color:#8a4b12}html[data-skin=newfront] .feedback.hint{color:var(--hint)}html[data-skin=newfront] .qcm{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0;display:grid}html[data-skin=newfront] .qcm button.is-selected{border-color:var(--action);background:var(--soft-action)}html[data-skin=newfront] .fraction{text-align:center;min-width:28px;color:var(--ink);grid-template-rows:auto 2px auto;font-weight:800;display:inline-grid}html[data-skin=newfront] .fraction i{background:currentColor}html[data-skin=newfront] .fraction-entry{grid-template-rows:48px 3px 48px;width:92px;display:grid}html[data-skin=newfront] .fraction-entry input{text-align:center;width:92px;min-height:44px}html[data-skin=newfront] .fraction-entry i{background:var(--ink)}html[data-skin=newfront] .free-row{flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0;display:flex}html[data-skin=newfront] .free-row input[type=number]{width:110px;min-height:var(--tap);border:2px solid var(--line);border-radius:12px;padding:10px}html[data-skin=newfront] .two-steps{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}html[data-skin=newfront] .step-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px;font-size:.95rem}html[data-skin=newfront] .step-card.active{border-color:var(--action);background:var(--soft-action)}html[data-skin=newfront] .collection{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}html[data-skin=newfront] .star{aspect-ratio:1;filter:grayscale();opacity:.4;background:0 0;border:0;place-items:center;min-height:64px;font-size:1.8rem;display:grid}html[data-skin=newfront] .star.is-earned{filter:none;opacity:1}html[data-skin=newfront] .scene{border:1px solid var(--line);background:#0b2446;border-radius:16px;min-height:280px;margin:0;position:relative;overflow:hidden}html[data-skin=newfront] .scene-svg{width:100%;height:auto;min-height:280px;display:block}html[data-skin=newfront] .scene-equitation{background:#d7efdc}html[data-skin=newfront] .scene-football,html[data-skin=newfront] .scene-rugby,html[data-skin=newfront] .scene.is-dedicated{background:#3d8a52}html[data-skin=newfront] .scene-espace.is-dedicated{background:#07152c}html[data-skin=newfront] .scene-equitation.is-dedicated{background:#d7efdc}html[data-skin=newfront] .scene-panel.scene-tutorial,html[data-skin=newfront] .scene-panel.scene-celebrate{min-height:280px;color:var(--ink);text-align:center;background:#fffdf3;place-items:center;gap:12px;padding:24px;display:grid}html[data-skin=newfront] .scene-celebrate{background:radial-gradient(circle at 35% 28%,#fff8c8,#e5bd31 72%);font-size:clamp(1.4rem,4vw,2rem);font-weight:900}html[data-skin=newfront] .tutorial-board{background:repeating-linear-gradient(#fffdf3 0 31px,#d9e6e9 32px);border:1px solid #d7cda9;border-radius:16px;justify-items:center;gap:14px;width:min(100%,220px);padding:22px;display:grid}html[data-skin=newfront] .fraction-slices{grid-template-columns:repeat(4,1fr);gap:6px;width:100%;height:72px;display:grid}html[data-skin=newfront] .fraction-slices.big{height:96px}html[data-skin=newfront] .fraction-slices b.is-hint{background:#a8d4b8}html[data-skin=newfront] .scene-panel.scene-pedagogy{min-height:280px;color:var(--ink);text-align:center;place-items:center;gap:14px;padding:20px 18px 16px;display:grid}html[data-skin=newfront] .scene-pedagogy.tone-math{background:linear-gradient(160deg,#f7fbff 0%,#e8f2ff 55%,#dff0e8 100%)}html[data-skin=newfront] .scene-pedagogy.tone-lang{background:linear-gradient(160deg,#fffaf2 0%,#f4e6d4 60%,#efe0c8 100%)}html[data-skin=newfront] .scene-pedagogy.tone-world{background:linear-gradient(160deg,#f3faf5 0%,#dceee3 55%,#cfe4f2 100%)}html[data-skin=newfront] .scene-pedagogy.tone-civic{background:linear-gradient(160deg,#f7f4ff 0%,#e8e2f8 55%,#dce8ff 100%)}html[data-skin=newfront] .pedagogy-stack{justify-items:center;gap:12px;width:min(100%,320px);display:grid}html[data-skin=newfront] .pedagogy-title{font-size:1.35rem;font-weight:800}html[data-skin=newfront] .pedagogy-note{opacity:.85;margin:0;font-size:.95rem}html[data-skin=newfront] .fraction-bars{gap:10px;width:100%;display:grid}html[data-skin=newfront] .fraction-slices.pedagogy-bar{grid-template-columns:repeat(auto-fit,minmax(18px,1fr));height:56px}html[data-skin=newfront] .pedagogy-svg{color:#1d3557;max-width:340px;min-height:160px}html[data-skin=newfront] .place-grid,html[data-skin=newfront] .place-row{grid-template-columns:repeat(4,minmax(52px,1fr));gap:8px;width:min(100%,320px);display:grid}html[data-skin=newfront] .place-classes{gap:10px;width:min(100%,340px);display:grid}html[data-skin=newfront] .place-class{gap:4px;display:grid}html[data-skin=newfront] .place-class .place-row{grid-template-columns:repeat(3,1fr)}html[data-skin=newfront] .place-cell{background:#fff;border:1px solid #c9d7ea;border-radius:10px;gap:2px;padding:8px 4px;display:grid}html[data-skin=newfront] .place-cell.is-hot{border-color:#e8a317;box-shadow:0 0 0 2px #ffe08a88}html[data-skin=newfront] .place-cell span,html[data-skin=newfront] .place-cell small{opacity:.7;font-size:.7rem}html[data-skin=newfront] .place-cell strong{font-size:1.25rem}html[data-skin=newfront] .prop-table{grid-template-columns:1.2fr repeat(3,1fr);gap:6px;width:min(100%,320px);font-weight:700;display:grid}html[data-skin=newfront] .prop-table>div{background:#fff;border:1px solid #c9d7ea;border-radius:8px;padding:10px 6px}html[data-skin=newfront] .prop-table>div.is-hot{background:#fff4cc;border-color:#e8a317}html[data-skin=newfront] .calc-board{justify-items:center;gap:16px;display:grid}html[data-skin=newfront] .calc-expr{align-items:center;gap:12px;font-size:clamp(1.4rem,4vw,2rem);font-weight:800;display:flex}html[data-skin=newfront] .calc-op{color:#2f6fed}html[data-skin=newfront] .calc-result{background:#fff;border:2px dashed #9bb0d0;border-radius:14px;min-width:96px;padding:12px 18px;font-size:1.6rem;font-weight:900}html[data-skin=newfront] .calc-result.is-hot{background:#e9f8ee;border-style:solid;border-color:#63c782}html[data-skin=newfront] .text-board{justify-items:center;gap:14px;width:min(100%,280px);display:grid}html[data-skin=newfront] .text-badge{color:#fff;background:#1d3557;border-radius:14px;place-items:center;width:48px;height:48px;font-weight:800;display:inline-grid}html[data-skin=newfront] .text-card{background:#fff;border:1px solid #d7cda9;border-radius:16px;gap:6px;width:100%;padding:18px;display:grid}html[data-skin=newfront] .text-card.is-hot{background:#eefaf1;border-color:#63c782}html[data-skin=newfront] .text-card small{opacity:.65;font-size:.8rem}html[data-skin=newfront] .text-card strong{font-size:1.35rem}html[data-skin=newfront] .text-hints{gap:8px;display:flex}html[data-skin=newfront] .text-hints i{background:#c5b89a;border-radius:50%;width:10px;height:10px}html[data-skin=newfront] .method-board{text-align:left;background:#fff;border:1px solid #d7cda9;border-radius:16px;width:min(100%,280px);padding:16px 18px}html[data-skin=newfront] .method-board ol{margin:10px 0 0;padding-left:1.2rem}html[data-skin=newfront] .group-dots{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}html[data-skin=newfront] .group-dot{border:2px solid #fff;border-radius:50%;width:18px;height:18px}html[data-skin=newfront] .group-dot.tone-a{background:#e46f3d}html[data-skin=newfront] .group-dot.tone-b{background:#ef885a}html[data-skin=newfront] .scene-panel.scene-groups{background:#dcefe3;grid-template-columns:1fr 1fr;align-content:center;gap:12px;min-height:280px;padding:18px 14px 12px;display:grid}html[data-skin=newfront] .group-box{background:#ffe05a14;border:2px dashed #f1d166;border-radius:14px;justify-items:center;gap:10px;padding:16px 12px;display:grid}html[data-skin=newfront] .group-box span{color:#17392f;font-weight:800}html[data-skin=newfront] .group-box.is-hot{background:#ffe16a33;border-style:solid}html[data-skin=newfront] .group-eq{text-align:center;color:#14613f;grid-column:1/-1;margin:4px 0 0;font-weight:800}html[data-skin=newfront] .signal-wait{animation:.8s ease-in-out infinite alternate signalPulse}html[data-skin=newfront] .signal-good{filter:drop-shadow(0 0 6px #77df98)}html[data-skin=newfront] .scene-overlay{pointer-events:none;background:#07152ccc;border-radius:14px;padding:12px;position:absolute;bottom:58px;left:12px;right:12px}html[data-skin=newfront] .scene-equitation .scene-overlay,html[data-skin=newfront] .scene-football .scene-overlay,html[data-skin=newfront] .scene-rugby .scene-overlay{background:#17392fcc}html[data-skin=newfront] .token-grid{justify-items:center;gap:8px;display:grid}html[data-skin=newfront] .token{background:#718ba5;border:2px solid #c9def0;border-radius:50%;width:16px;height:16px}html[data-skin=newfront] .token.tone-good.is-on{background:#63c782;border-color:#c8f4d4}html[data-skin=newfront] .token.tone-other.is-on,html[data-skin=newfront] .token.tone-other{background:#9b6df2;border-color:#eadcff}html[data-skin=newfront] .token.is-blink{animation:.8s ease-in-out infinite alternate signalPulse}html[data-skin=newfront] .fraction-slices{grid-template-columns:repeat(4,1fr);gap:6px;height:72px;display:grid}html[data-skin=newfront] .fraction-slices b{background:#d8e4ef;border-radius:8px}html[data-skin=newfront] .fraction-slices b.is-filled{background:#63c782}html[data-skin=newfront] .scene-split{grid-template-columns:1fr 1fr;gap:10px;display:grid}html[data-skin=newfront] .split-box{background:#0b2446aa;border:3px solid #62b8f1;border-radius:14px;padding:10px}html[data-skin=newfront] .corridors{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}html[data-skin=newfront] .corridor{color:#fff;background:#fff2;border-radius:12px;place-items:center;min-height:64px;font-weight:800;display:grid}html[data-skin=newfront] .corridor.is-on{color:#17392f;background:#ffe08acc}html[data-skin=newfront] .celebration,html[data-skin=newfront] .mystery{aspect-ratio:1;color:#142840;text-align:center;background:radial-gradient(circle at 35% 28%,#fff8c8,#e5bd31 72%);border-radius:50%;place-items:center;width:min(180px,70%);min-height:90px;margin:0 auto;font-size:1.2rem;font-weight:800;display:grid}html[data-skin=newfront] .mystery{font-size:3rem}html[data-skin=newfront] .scene-caption{color:var(--soft);background:#f7fffc;margin:0;padding:8px 12px;font-size:.95rem;font-weight:600;position:relative}html[data-skin=newfront] .scene-actor{transition:transform .65s}html[data-skin=newfront] .listen{z-index:50;border:2px solid var(--action);max-width:min(200px,100vw - 24px);min-height:46px;color:var(--ink);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff0;border-radius:999px;font-weight:750;position:fixed;top:14px;right:14px}html[data-skin=newfront] .listen.is-on{background:#fff3df;border-color:#c47a12}html[data-skin=newfront] .public-shell.is-bleed .listen{top:auto;bottom:22px;right:22px}html[data-skin=newfront] .method-box{color:var(--ink);background:repeating-linear-gradient(#fffdf3 0 31px,#d9e6e9 32px);border:1px solid #d7cda9;border-radius:12px;padding:16px 16px 16px 18px}html[data-skin=newfront] .neo{object-fit:contain;filter:drop-shadow(0 10px 12px #1b5f4933);width:min(220px,70%);height:auto}html[data-skin=newfront] .neo-small{width:min(170px,58%)}html[data-skin=newfront] .neo-a06{width:min(240px,70%);min-height:280px;margin:0 auto;position:relative}html[data-skin=newfront] .neo-a06 img{object-fit:contain;object-position:center bottom;width:100%;height:100%;position:absolute;inset:0}html[data-skin=newfront] .neo-clap{object-fit:cover;object-position:0 0;width:210px;height:230px;animation:.7s step-end infinite clap}html[data-skin=newfront] .hint-overlay{align-items:center;gap:10px;margin-top:8px;display:flex}html[data-skin=newfront] .hint-overlay .neo{width:72px}html[data-skin=newfront] .hint-text{color:var(--hint);margin:0;font-weight:800}html[data-skin=newfront] .mascot-stage{flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:240px;display:flex}html[data-skin=newfront] .bubble{color:#214f41;text-align:center;background:#fffef8;border:3px solid #258760;border-radius:50% 48% 52% 49%/54% 49% 52% 46%;max-width:260px;padding:14px 18px;font-weight:800}html[data-skin=newfront] .summary{background:#fafffd;border:2px solid #8fd5b8;border-radius:16px;margin:12px 0 18px;padding:14px 16px}html[data-skin=newfront] .summary div{justify-content:space-between;gap:12px;padding:6px 0;display:flex}html[data-skin=newfront] .reward-hero{text-align:center}html[data-skin=newfront] .reward-badge{border:4px solid var(--gold);background:var(--soft-action);border-radius:50%;place-items:center;width:120px;height:120px;margin:8px auto 12px;font-size:3rem;display:grid}html[data-skin=newfront] .intro{text-align:center;justify-items:center;gap:8px;display:grid}html[data-skin=newfront] .intro h1,html[data-skin=newfront] .intro p{max-width:36rem}html[data-skin=newfront] .mission-layout{gap:16px;display:grid}html[data-skin=newfront] .collectible-wrap{text-align:center;font-weight:700}html[data-skin=newfront] .collectible-wrap small{margin-top:4px;display:block}@media (width>=768px){html[data-skin=newfront] .app-shell{padding:18px}html[data-skin=newfront] .window{padding:28px 32px}html[data-skin=newfront] .split{grid-template-columns:minmax(220px,36%) minmax(0,64%);align-items:center}html[data-skin=newfront] .mission-layout{grid-template-columns:minmax(280px,1fr) minmax(0,1.05fr);align-items:start}html[data-skin=newfront] .scene-svg,html[data-skin=newfront] .scene{min-height:380px}}@media (width<=620px){html[data-skin=newfront] .qcm,html[data-skin=newfront] .two-steps,html[data-skin=newfront] .collection,html[data-skin=newfront] .scene-split,html[data-skin=newfront] .corridors,html[data-skin=newfront] .scene-groups{grid-template-columns:1fr}html[data-skin=newfront] .listen{white-space:nowrap;text-overflow:ellipsis;max-width:42vw;min-height:40px;padding:8px 10px;font-size:.82rem;top:8px;bottom:auto;right:8px;overflow:hidden}html[data-skin=newfront] .topbar{flex-wrap:wrap;padding-right:118px}html[data-skin=newfront] .scene{min-height:240px}}@media (prefers-reduced-motion:reduce){html[data-skin=newfront] *,html[data-skin=newfront] :before,html[data-skin=newfront] :after{transition:none!important;animation:none!important}html[data-skin=newfront] .neo-clap{object-position:100% 0}html[data-skin=newfront] .token.is-blink{opacity:1;animation:none}html[data-skin=newfront] .scene-actor{transition:none}}html[data-skin=newfront] .portal-grid{gap:10px;margin:16px 0 8px;display:grid}html[data-skin=newfront] .login-form{text-align:left;gap:12px;margin-top:12px;display:grid}html[data-skin=newfront] .field-help{color:var(--soft);margin:6px 0 0;font-size:1rem;font-weight:500}html[data-skin=newfront] .role-tabs{grid-template-columns:1fr 1fr;gap:8px;display:grid}html[data-skin=newfront] .role-tabs button.is-selected{background:#eafff2;border-color:#138c59}html[data-skin=newfront] .code-hero{background:#f4fff8;border:3px solid #21dc78;border-radius:18px;justify-items:start;gap:8px;margin:18px 0;padding:18px 20px;display:grid}html[data-skin=newfront] .code-hero span{text-transform:uppercase;letter-spacing:.08em;color:#16734e;font-size:.78rem;font-weight:800}html[data-skin=newfront] .code-hero strong{letter-spacing:.18em;color:var(--ink);font-size:clamp(1.8rem,5vw,2.6rem)}html[data-skin=newfront] .teacher-space h2{margin:28px 0 12px;font-size:1.35rem}html[data-skin=newfront] .app-shell:has(.suivi-classe){width:min(1520px,100%)}html[data-skin=newfront] .app-shell:has(.suivi-classe) .window{min-height:min(82dvh,960px);padding-left:16px;padding-right:16px;overflow-x:clip}html[data-skin=newfront] .suivi-classe .class-detail.suivi-main{width:100%;min-width:0;margin-top:8px}html[data-skin=newfront] .suivi-topbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 18px;margin-bottom:8px;display:flex}html[data-skin=newfront] .suivi-classes-trigger{min-height:var(--tap);border:2px solid var(--line);text-align:left;max-width:100%;font:inherit;color:inherit;cursor:pointer;background:#fff;border-radius:16px;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;transition:border-color .15s,background .15s;display:inline-flex}html[data-skin=newfront] .suivi-classes-trigger:hover{background:#f4fff8;border-color:#0f6a45}html[data-skin=newfront] .suivi-classes-trigger:focus-visible{outline-offset:2px;outline:3px solid #21dc78}html[data-skin=newfront] .suivi-classes-trigger-label{letter-spacing:.06em;text-transform:uppercase;color:#5a7266;font-size:.75rem;font-weight:800}html[data-skin=newfront] .suivi-classes-trigger strong{font-size:1.05rem}html[data-skin=newfront] .suivi-classes-trigger-code{letter-spacing:.08em;color:#16734e;background:#eafff2;border-radius:8px;padding:2px 8px;font-family:ui-monospace,monospace;font-weight:700}html[data-skin=newfront] .suivi-empty-class{justify-items:start;gap:14px;padding:28px 0;display:grid}html[data-skin=newfront] .suivi-modal-backdrop{z-index:80;background:#17392f66;place-items:center;padding:18px;animation:.18s suivi-reveal;display:grid;position:fixed;inset:0}html[data-skin=newfront] .suivi-modal{border:2px solid var(--line);width:min(440px,100%);max-height:min(86dvh,640px);box-shadow:var(--shadow);background:#fff;border-radius:20px;padding:18px 18px 20px;overflow:auto}html[data-skin=newfront] .suivi-modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}html[data-skin=newfront] .suivi-modal-head h2{margin:0;font-size:1.25rem}html[data-skin=newfront] .suivi-modal-close{border-radius:12px;min-height:40px;padding:8px 12px;font-weight:700}html[data-skin=newfront] .suivi-modal-list{margin-bottom:16px}html[data-skin=newfront] .suivi-modal .create-class{border-top:1px solid #e3f3ea;margin-top:4px;padding-top:14px}html[data-skin=newfront] .class-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}html[data-skin=newfront] .class-item{text-align:left;border:2px solid var(--line);cursor:pointer;width:100%;font:inherit;color:inherit;background:#f8fffb;border-radius:14px;gap:2px;padding:12px 14px;display:grid}html[data-skin=newfront] .class-item span{letter-spacing:.08em;color:#16734e;font-family:ui-monospace,monospace;font-weight:700}html[data-skin=newfront] .class-item.is-selected{background:#eafff2;border-color:#138c59}html[data-skin=newfront] .create-class{gap:8px;margin-top:4px;display:grid}html[data-skin=newfront] .class-detail{min-width:0}html[data-skin=newfront] .stats-filters{border:2px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:22px 0 8px;padding:14px 16px;display:grid}html[data-skin=newfront] .activity-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:12px 0 16px;display:grid}html[data-skin=newfront] .activity-grid select{width:100%}html[data-skin=newfront] .session-control .roster-panel{margin-top:8px}html[data-skin=newfront] .presence-pill{vertical-align:middle;border-radius:999px;padding:2px 8px;font-size:.85rem;font-weight:700;display:inline-block}html[data-skin=newfront] .presence-connecte{color:#0b6b3a;background:#e6f8ee}html[data-skin=newfront] .presence-deconnecte{color:#7a4a00;background:#fff3df}html[data-skin=newfront] .presence-absent{color:#5a6270;background:#eef1f5}html[data-skin=newfront] .stats-filters .field{min-width:0;margin:0}html[data-skin=newfront] .stats-filters select,html[data-skin=newfront] .stats-filters input[type=date]{width:100%;min-width:0;max-width:100%}html[data-skin=newfront] .suivi-greeting{color:var(--soft);margin:0 0 8px;font-size:.95rem}html[data-skin=newfront] .suivi-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px 24px;margin-bottom:16px;display:flex}html[data-skin=newfront] .suivi-header-main{flex:220px;min-width:0}html[data-skin=newfront] .suivi-header-main h1{overflow-wrap:anywhere;margin:0 0 10px;font-size:clamp(1.45rem,3vw,2.1rem);line-height:1.15}html[data-skin=newfront] .suivi-code{border:1px solid var(--line);background:#f7fffb;border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;display:inline-flex}html[data-skin=newfront] .suivi-code-label{text-transform:uppercase;letter-spacing:.04em;color:#5a7266;font-size:.8rem;font-weight:700}html[data-skin=newfront] .suivi-code strong{letter-spacing:.08em;font-variant-numeric:tabular-nums;font-size:1.35rem}html[data-skin=newfront] .suivi-header-actions{flex-wrap:wrap;align-items:center;gap:10px;max-width:100%;display:flex}html[data-skin=newfront] .suivi-prepare-toggle{font:inherit;color:#0f6a45;cursor:pointer;min-height:var(--tap);background:0 0;border:none;padding:8px 4px;font-weight:700;text-decoration:underline}html[data-skin=newfront] .suivi-prepare{border:1px solid var(--line);background:#fff;border-radius:16px;margin:0 0 18px;padding:16px 18px;animation:.22s suivi-reveal}html[data-skin=newfront] .suivi-prepare h2{margin-top:0}html[data-skin=newfront] .suivi-prepare .roster-panel{background:0 0;border:none;margin-top:12px;padding:0}html[data-skin=newfront] .suivi-prepare .roster-panel h3{margin:0 0 6px;font-size:1.1rem}html[data-skin=newfront] .suivi-summary{background:linear-gradient(#f4fff8,#fff);border:2px solid #21dc78;border-radius:16px;flex-wrap:wrap;gap:10px 18px;margin:0 0 18px;padding:14px 16px;display:flex}html[data-skin=newfront] .suivi-summary-item{flex:120px;gap:2px;min-width:110px;display:grid}html[data-skin=newfront] .suivi-summary-value{color:var(--ink);font-size:1.25rem;font-weight:800;line-height:1.2}html[data-skin=newfront] .suivi-summary-label{color:#5a7266;font-size:.82rem;font-weight:600}html[data-skin=newfront] .suivi-modes{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}html[data-skin=newfront] .suivi-modes button{min-height:var(--tap);border:2px solid var(--line);font:inherit;color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;padding:10px 16px;font-weight:700;transition:background .18s,border-color .18s,color .18s}html[data-skin=newfront] .suivi-modes button.is-selected{color:#0b5a38;background:#eafff2;border-color:#0f6a45}html[data-skin=newfront] .suivi-panel h2{margin:0}html[data-skin=newfront] .suivi-classe .teacher-space h2,html[data-skin=newfront] .suivi-classe h2{margin-top:0}html[data-skin=newfront] .suivi-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;margin:4px 0 14px;display:flex}html[data-skin=newfront] .suivi-panel-head .field-help{max-width:42rem;margin:0}html[data-skin=newfront] .suivi-filters-full{width:100%;margin:0 0 16px}html[data-skin=newfront] .suivi-fullbleed{width:100%;min-width:0}html[data-skin=newfront] .suivi-eleve-list,html[data-skin=newfront] .suivi-theme-list{border:1px solid var(--line);background:#fff;border-radius:16px;gap:0;width:100%;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}html[data-skin=newfront] .suivi-eleve-list>li,html[data-skin=newfront] .suivi-theme-list>li{border-bottom:1px solid #e3f3ea;width:100%;min-width:0}html[data-skin=newfront] .suivi-eleve-list>li:last-child,html[data-skin=newfront] .suivi-theme-list>li:last-child{border-bottom:none}html[data-skin=newfront] .suivi-eleve-cols,html[data-skin=newfront] .suivi-theme-cols{letter-spacing:.04em;text-transform:uppercase;color:#5a7266;border:1px solid var(--line);background:#f3fff8;border-bottom:none;border-radius:16px 16px 0 0;gap:10px 14px;margin:0;padding:12px 18px;font-size:.78rem;font-weight:800;display:grid}html[data-skin=newfront] .suivi-eleve-cols{grid-template-columns:minmax(0,1.6fr) 7.5rem minmax(0,1.1fr) 5.5rem}html[data-skin=newfront] .suivi-theme-cols{grid-template-columns:minmax(0,1.6fr) minmax(0,1.1fr) 4.5rem 8.5rem 8.5rem;margin-top:8px}html[data-skin=newfront] .suivi-eleve-list,html[data-skin=newfront] .suivi-theme-list{border-radius:0 0 16px 16px}html[data-skin=newfront] .suivi-eleve-row{text-align:left;width:100%;font:inherit;cursor:pointer;background:#fff;border:none;border-radius:0;grid-template-columns:minmax(0,1.6fr) 7.5rem minmax(0,1.1fr) 5.5rem;align-items:center;gap:10px 14px;padding:16px 18px;transition:background .15s;display:grid}html[data-skin=newfront] .suivi-eleve-row:hover{background:#f7fffb;border-color:#0000}html[data-skin=newfront] .suivi-eleve-row.is-open{background:#eafff2;border-color:#0000}html[data-skin=newfront] .suivi-theme-row{background:#fff;border:none;border-radius:0;grid-template-columns:minmax(0,1.6fr) minmax(0,1.1fr) 4.5rem 8.5rem 8.5rem;align-items:center;gap:10px 14px;width:100%;padding:14px 18px;display:grid}html[data-skin=newfront] .suivi-theme-row.status-fait{background:#f3fff8}html[data-skin=newfront] .suivi-theme-row.status-partiel_classe{background:#fffaf0}html[data-skin=newfront] .suivi-theme-row.status-partiel_app{background:#f5faff}html[data-skin=newfront] .suivi-eleve-detail{background:#eafff2;border:none;border-radius:0;margin:0;padding:4px 18px 18px;animation:.22s suivi-reveal}html[data-skin=newfront] .stats-filters.suivi-filters-full{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;margin:0 0 16px;display:grid}html[data-skin=newfront] .suivi-programme .stats-filters.suivi-filters-full{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}html[data-skin=newfront] .suivi-table-full{border-radius:14px;width:100%}html[data-skin=newfront] .suivi-table-full .session-table{table-layout:fixed;width:100%}html[data-skin=newfront] .suivi-eleve-name{align-items:center;gap:10px;min-width:0;font-size:1.08rem;font-weight:800;display:inline-flex}html[data-skin=newfront] .suivi-chevron{color:#0f6a45;place-items:center;width:1.1rem;font-size:.95rem;display:inline-grid}html[data-skin=newfront] .suivi-eleve-meta,html[data-skin=newfront] .suivi-eleve-rate{color:#3d5a4c;font-size:.98rem;font-weight:600}html[data-skin=newfront] .suivi-eleve-rate{font-variant-numeric:tabular-nums;justify-self:end;font-weight:800}html[data-skin=newfront] .suivi-activity{white-space:nowrap;border-radius:999px;justify-self:start;padding:5px 11px;font-size:.8rem;font-weight:800;display:inline-block}html[data-skin=newfront] .suivi-activity.status-recent{color:#0b5a38;background:#d8ffe8}html[data-skin=newfront] .suivi-activity.status-pause{color:#7a5200;background:#fff3d6}html[data-skin=newfront] .suivi-activity.status-never{color:#4a5c52;background:#f0f3f1}html[data-skin=newfront] .suivi-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px;margin-bottom:12px;display:grid}html[data-skin=newfront] .suivi-detail-label{letter-spacing:.04em;text-transform:uppercase;color:#5a7266;margin-bottom:2px;font-size:.78rem;font-weight:800;display:block}html[data-skin=newfront] .suivi-detail-grid strong{color:var(--ink);font-size:1rem;font-weight:700}html[data-skin=newfront] .suivi-journal-table .col-eleve{width:22%}html[data-skin=newfront] .suivi-journal-table .col-parcours{width:40%}html[data-skin=newfront] .suivi-journal-table .col-resultat{width:24%}html[data-skin=newfront] .suivi-journal-table .col-heure{width:14%}html[data-skin=newfront] .suivi-subline{margin-top:2px;font-size:.88rem}html[data-skin=newfront] .suivi-day-group{margin-bottom:18px}html[data-skin=newfront] .suivi-day-title{color:#3d5a4c;text-transform:capitalize;margin:0 0 8px;font-size:.95rem}html[data-skin=newfront] .programme-toolbar{margin-bottom:8px}html[data-skin=newfront] .programme-legend{flex-wrap:wrap;gap:8px 12px;margin:0 0 10px;padding:0;list-style:none;display:flex}html[data-skin=newfront] .suivi-theme-label strong{font-size:1.02rem;line-height:1.3}html[data-skin=newfront] .suivi-theme-mission{color:#3d5a4c;font-size:.95rem;font-weight:600}html[data-skin=newfront] .suivi-theme-app .is-yes{color:#0b5a38;font-weight:800}html[data-skin=newfront] .suivi-theme-app .is-no{color:#7a8a82;font-weight:600}html[data-skin=newfront] .suivi-theme-status{justify-self:end}html[data-skin=newfront] .programme-check{min-height:var(--tap);cursor:pointer;align-items:center;gap:10px;padding:4px 2px;font-weight:700;display:inline-flex}html[data-skin=newfront] .programme-check input{accent-color:#0f6a45;flex:none;width:1.25rem;height:1.25rem}@media (width<=900px){html[data-skin=newfront] .stats-filters.suivi-filters-full{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-skin=newfront] .suivi-eleve-cols,html[data-skin=newfront] .suivi-theme-cols{display:none}html[data-skin=newfront] .suivi-eleve-row{grid-template-columns:1fr auto;grid-template-areas:"name activity""meta rate"}html[data-skin=newfront] .suivi-eleve-name{grid-area:name}html[data-skin=newfront] .suivi-activity{grid-area:activity;justify-self:end}html[data-skin=newfront] .suivi-eleve-meta{grid-area:meta}html[data-skin=newfront] .suivi-eleve-rate{grid-area:rate}html[data-skin=newfront] .suivi-detail-grid{grid-template-columns:1fr}html[data-skin=newfront] .suivi-theme-row{grid-template-columns:1fr auto;grid-template-areas:"label status""mission mission""app class"}html[data-skin=newfront] .suivi-theme-label{grid-area:label}html[data-skin=newfront] .suivi-theme-mission{grid-area:mission}html[data-skin=newfront] .suivi-theme-app{grid-area:app}html[data-skin=newfront] .suivi-theme-class{grid-area:class;justify-self:end}html[data-skin=newfront] .suivi-theme-status{grid-area:status}}@media (width<=620px){html[data-skin=newfront] .stats-filters.suivi-filters-full,html[data-skin=newfront] .suivi-programme .stats-filters.suivi-filters-full{grid-template-columns:minmax(0,1fr)}html[data-skin=newfront] .suivi-header-actions{width:100%}html[data-skin=newfront] .suivi-header-actions>button{flex:auto}html[data-skin=newfront] .suivi-modes{width:100%}html[data-skin=newfront] .suivi-modes button{flex:auto}html[data-skin=newfront] .suivi-summary{gap:12px}html[data-skin=newfront] .suivi-summary-item{flex:calc(50% - 12px);min-width:0}}html[data-skin=newfront] .muted{color:#5a7266}html[data-skin=newfront] .programme-progress{margin:12px 0 8px;font-size:1.05rem}html[data-skin=newfront] .programme-progress-bar{background:#e3f3ea;border-radius:999px;height:10px;margin:0 0 16px;overflow:hidden}html[data-skin=newfront] .programme-progress-bar>i{border-radius:inherit;background:linear-gradient(90deg,#1bbf6a,#0f6a45);height:100%;transition:width .25s;display:block}html[data-skin=newfront] .programme-status{white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:.85rem;font-weight:700;display:inline-block}html[data-skin=newfront] .programme-status.status-fait{color:#0b5a38;background:#d8ffe8}html[data-skin=newfront] .programme-status.status-partiel_app{color:#0b4a7a;background:#e7f3ff}html[data-skin=newfront] .programme-status.status-partiel_classe{color:#7a5200;background:#fff3d6}html[data-skin=newfront] .programme-status.status-a_faire{color:#4a5c52;background:#f0f3f1}html[data-skin=newfront] .student-detail{background:#f4fff8;border:2px solid #21dc78;border-radius:16px;margin-top:22px;padding:16px 18px}html[data-skin=newfront] .student-detail h3{margin:0 0 8px;font-size:1.2rem}html[data-skin=newfront] .linkish{font:inherit;color:#0f6a45;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}html[data-skin=newfront] .session-table tr.is-selected-row{background:#eafff2}html[data-skin=newfront] .session-table-wrap{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:auto}html[data-skin=newfront] .session-table{border-collapse:collapse;width:100%;font-size:1.05rem}html[data-skin=newfront] .session-table th,html[data-skin=newfront] .session-table td{text-align:left;min-height:var(--tap);border-bottom:1px solid #e3f3ea;padding:12px 14px}html[data-skin=newfront] .session-table th{text-transform:uppercase;letter-spacing:.04em;background:#f3fff8;font-size:.85rem}html[data-skin=newfront] .feedback.info{color:var(--hint)}html[data-skin=newfront] .section-title{margin:22px 0 10px;font-size:1.15rem}html[data-skin=newfront] .chip-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}html[data-skin=newfront] .chip-grid.subjects{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}html[data-skin=newfront] .chip{text-align:left;min-height:var(--tap);border:2px solid var(--line);cursor:pointer;font:inherit;color:inherit;background:#fff;border-radius:16px;gap:4px;padding:14px 12px;display:grid}html[data-skin=newfront] .chip strong{font-size:1.15rem}html[data-skin=newfront] .chip small{color:var(--soft);font-size:.85rem;line-height:1.3}html[data-skin=newfront] .chip.is-selected{background:#eafff2;border-color:#138c59;box-shadow:0 0 0 2px #138c5926}html[data-skin=newfront] .course-status{border:2px solid var(--line);background:#fff;border-radius:16px;margin:18px 0 8px;padding:16px 18px}html[data-skin=newfront] .course-status.is-ready{background:#f4fff8;border-color:#21dc78}html[data-skin=newfront] .course-status.is-soon{background:#fffbeb;border-color:#e2c56b}html[data-skin=newfront] .course-status p{margin:8px 0 0}html[data-skin=newfront] .course-layout .section-title:first-of-type{margin-top:8px}html[data-skin=newfront] .setup-steps{border:1px solid var(--line);background:#f2fff9;border-top:0;padding:10px 16px}html[data-skin=newfront] .setup-steps ol{flex-wrap:wrap;gap:8px 14px;margin:0;padding:0;list-style:none;display:flex}html[data-skin=newfront] .setup-steps a,html[data-skin=newfront] .setup-steps span{color:var(--soft);font-size:.88rem;font-weight:800;text-decoration:none}html[data-skin=newfront] .setup-steps .is-done a{color:#16734e;text-underline-offset:3px;text-decoration:underline}html[data-skin=newfront] .setup-steps .is-current span{color:var(--ink);background:#fff;border:1px solid #a8d4c2;border-radius:999px;padding:4px 10px}html[data-skin=newfront] .setup-steps+.window{border-radius:0 0 24px 24px}html[data-skin=newfront] .public-topbar{border-radius:22px;margin-bottom:12px}html[data-skin=newfront] .public-window{border-top:1px solid #fffa;border-radius:24px}html[data-skin=newfront] .public-nav{flex-wrap:wrap;align-items:center;gap:10px;display:flex}html[data-skin=newfront] .nav-text-link,html[data-skin=newfront] .text-link{color:#0b6f5c;font-weight:750;text-decoration:none}html[data-skin=newfront] button.text-link{min-height:auto;box-shadow:none;cursor:pointer;background:0 0;border:0;padding:8px 4px}html[data-skin=newfront] .nav-text-link:hover,html[data-skin=newfront] .text-link:hover{text-decoration:underline}html[data-skin=newfront] .nav-cta-link{min-height:var(--tap);background:linear-gradient(145deg, var(--action-2), var(--action));color:var(--action-ink);border:0;border-radius:999px;align-items:center;padding:10px 18px;font-weight:800;text-decoration:none;display:inline-flex;box-shadow:0 8px 20px #0f8f7830}html[data-skin=newfront] .nav-cta{min-height:var(--tap);border-radius:999px}html[data-skin=newfront] .hl-hero{isolation:isolate;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:end;gap:clamp(24px,4vw,48px);min-height:min(92dvh,860px);padding:clamp(72px,12vh,120px) clamp(20px,6vw,72px) clamp(40px,6vh,64px);display:grid;position:relative;overflow:hidden}html[data-skin=newfront] .hl-hero-glow{z-index:-1;background:radial-gradient(55% 60% at 78% 55%,#7fd4c088 0%,#0000 70%),radial-gradient(40% 45% at 18% 30%,#ffd4a855 0%,#0000 65%),linear-gradient(160deg,#0b6f5c 0%,#0f8f78 38%,#1a8fb5 100%);animation:14s ease-in-out infinite alternate hlGlowShift;position:absolute;inset:0}@keyframes hlGlowShift{0%{filter:hue-rotate()saturate()}to{filter:hue-rotate(8deg)saturate(1.08)}}html[data-skin=newfront] .hl-hero-copy{color:#fff;max-width:34rem;animation:.7s both hlRise}@keyframes hlRise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}html[data-skin=newfront] .hl-hero-brand{font-family:var(--font-display);letter-spacing:-.04em;color:#fff;text-shadow:0 10px 40px #04352f55;margin:0 0 10px;font-size:clamp(2.4rem,7vw,4.2rem);font-weight:800;line-height:.95}html[data-skin=newfront] .hl-hero h1{font-family:var(--font-ui);letter-spacing:-.02em;color:#e8fff8;margin:0 0 14px;font-size:clamp(1.25rem,2.6vw,1.75rem);font-weight:700}html[data-skin=newfront] .hl-hero-lead{color:#d7f5ec;max-width:28rem;margin:0 0 28px;font-size:clamp(1.05rem,2vw,1.2rem);font-weight:600;line-height:1.45}html[data-skin=newfront] .hl-hero-cta{flex-wrap:wrap;align-items:center;gap:12px;display:flex}html[data-skin=newfront] .hl-cta{color:#0b2420;background:#fff;border:0;border-radius:999px;justify-content:center;min-width:168px;font-weight:800;text-decoration:none;box-shadow:0 14px 32px #04352f44}html[data-skin=newfront] .hl-cta:hover{background:#f3fffb}html[data-skin=newfront] .hl-cta-secondary,html[data-skin=newfront] .hl-hero .ghost-btn{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border-color:#fffc;border-radius:999px}html[data-skin=newfront] .hl-cta-secondary:hover,html[data-skin=newfront] .hl-hero .ghost-btn:hover{background:#ffffff28}html[data-skin=newfront] .hl-hero-visual{place-items:end center;animation:.9s .12s both hlFloatIn;display:grid}@keyframes hlFloatIn{0%{opacity:0;transform:translateY(28px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}html[data-skin=newfront] .hl-hero-neo{width:min(420px,92%);animation:5.5s ease-in-out infinite hlBob}html[data-skin=newfront] .hl-hero-neo .neo{filter:drop-shadow(0 24px 40px #04352f66);width:100%}@keyframes hlBob{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}html[data-skin=newfront] .hl-how{max-width:1040px;margin:0 auto;padding:clamp(40px,7vh,72px) clamp(20px,6vw,72px) 80px}html[data-skin=newfront] .hl-section-kicker{color:#0b6f5c;letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:800}html[data-skin=newfront] .hl-how h2{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 22px;font-size:clamp(1.6rem,3vw,2.1rem)}html[data-skin=newfront] .hl-how-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}html[data-skin=newfront] .hl-how-steps li{background:0 0;border:0;align-content:start;gap:8px;padding:8px 4px 8px 0;animation:.6s both hlRise;display:grid}html[data-skin=newfront] .hl-how-steps li:nth-child(2){animation-delay:80ms}html[data-skin=newfront] .hl-how-steps li:nth-child(3){animation-delay:.16s}html[data-skin=newfront] .hl-how-num{background:linear-gradient(145deg, var(--action-2), var(--action));color:#fff;border-radius:12px;place-items:center;width:36px;height:36px;font-size:.95rem;font-weight:800;display:grid}html[data-skin=newfront] .hl-how-steps strong{color:var(--ink);font-size:1.12rem;font-family:var(--font-display);letter-spacing:-.02em}html[data-skin=newfront] .hl-how-steps span{color:var(--soft);font-size:1rem;line-height:1.45}html[data-skin=newfront] .role-card-grid{grid-template-columns:1fr 1fr;gap:14px;margin:18px 0 8px;display:grid}html[data-skin=newfront] .role-card{border:2px solid var(--line);color:inherit;min-height:104px;box-shadow:var(--shadow-soft);background:#fff;border-radius:20px;flex-direction:column;gap:6px;padding:20px 18px;text-decoration:none;transition:border-color .18s,transform .18s,box-shadow .18s;display:flex}html[data-skin=newfront] .role-card:hover{border-color:var(--action);box-shadow:var(--shadow);transform:translateY(-3px)}html[data-skin=newfront] .role-card-teacher{background:linear-gradient(160deg,#f7fbff,#eef6ff);border-color:#9bc4e8}html[data-skin=newfront] .role-card-label{font-size:1.18rem;font-weight:800;font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink)}html[data-skin=newfront] .role-card-hint{color:var(--soft);font-size:.95rem;font-weight:600}html[data-skin=newfront] .login-page{max-width:640px}html[data-skin=newfront] .student-home .student-home-meta{background:var(--soft-action);color:#0b6f5c;border-radius:999px;padding:6px 12px;font-size:.92rem;font-weight:750;display:inline-flex}html[data-skin=newfront] .student-next{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:20px;margin-top:8px;display:grid}html[data-skin=newfront] .student-next-actions{flex-direction:column;align-items:stretch}html[data-skin=newfront] .student-next-actions .primary{min-height:56px;font-size:1.1rem}@media (width<=720px){html[data-skin=newfront] .student-next{grid-template-columns:1fr}}html[data-skin=newfront] .teacher-banner{border:2px solid var(--action);background:var(--soft-action);color:var(--ink);border-radius:14px;margin:0 0 16px;padding:14px 16px;font-size:1.05rem}html[data-skin=newfront] .teacher-banner code{letter-spacing:.06em;font-weight:900}html[data-skin=newfront] .field-label{margin-bottom:8px;font-weight:800;display:block}html[data-skin=newfront] .roster-pick{gap:8px;display:grid}html[data-skin=newfront] .roster-panel{border:1px solid var(--line);background:#fff;border-radius:16px;margin:20px 0 24px;padding:16px}html[data-skin=newfront] .roster-panel h2{margin:0 0 8px;font-size:1.2rem}html[data-skin=newfront] .roster-list{gap:8px;margin:12px 0;padding:0;list-style:none;display:grid}html[data-skin=newfront] .roster-row,html[data-skin=newfront] .roster-edit-row,html[data-skin=newfront] .roster-add{flex-wrap:wrap;align-items:end;gap:10px;display:flex}html[data-skin=newfront] .roster-row{background:#f7fffc;border:1px solid #d7efe4;border-radius:12px;justify-content:space-between;padding:10px 12px}html[data-skin=newfront] .roster-row-actions{flex-wrap:wrap;gap:8px;display:flex}html[data-skin=newfront] .roster-edit-row input,html[data-skin=newfront] .roster-add .field{flex:180px}html[data-skin=newfront] .roster-add{margin-top:12px}html[data-skin=newfront] .mission-editor h1{margin-bottom:8px}html[data-skin=newfront] .mission-editor h2{margin-top:28px;margin-bottom:12px}html[data-skin=newfront] .mission-catalog-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}html[data-skin=newfront] .mission-catalog-list li{border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);background:color-mix(in srgb, var(--paper) 88%, white);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}html[data-skin=newfront] .mission-catalog-list li strong{display:block}html[data-skin=newfront] .mission-catalog-list li span{opacity:.78;font-size:.92rem;display:block}html[data-skin=newfront] .mission-editor-grid{grid-template-columns:minmax(0,1.4fr) minmax(240px,.8fr);align-items:start;gap:22px;display:grid}html[data-skin=newfront] .mission-editor-main .field textarea,html[data-skin=newfront] .mission-editor-main .field select,html[data-skin=newfront] .mission-step-editor .field select{border:1px solid color-mix(in srgb, var(--ink) 18%, transparent);width:100%;font:inherit;background:#fff;border-radius:10px;padding:10px 12px}html[data-skin=newfront] .mission-publish{align-items:center;gap:10px;margin:14px 0 8px;font-weight:700;display:flex}html[data-skin=newfront] .mission-step-tabs{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}html[data-skin=newfront] .mission-step-tabs button{border:1px solid color-mix(in srgb, var(--ink) 16%, transparent);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:8px 12px}html[data-skin=newfront] .mission-step-tabs button.is-selected{background:var(--ink);color:#fff;border-color:var(--ink)}html[data-skin=newfront] .mission-step-editor{border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);background:color-mix(in srgb, var(--paper) 92%, white);border-radius:14px;gap:10px;padding:14px;display:grid}html[data-skin=newfront] .mission-preview{border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);background:color-mix(in srgb, var(--paper) 88%, white);border-radius:14px;padding:16px;position:sticky;top:16px}html[data-skin=newfront] .mission-preview h3{margin:6px 0 8px}@media (width<=900px){html[data-skin=newfront] .mission-editor-grid{grid-template-columns:1fr}html[data-skin=newfront] .mission-preview{position:static}}@media (width<=620px){html[data-skin=newfront] .login-layout{grid-template-columns:1fr}html[data-skin=newfront] .chip-grid{grid-template-columns:repeat(3,minmax(0,1fr))}html[data-skin=newfront] .chip-grid.subjects{grid-template-columns:1fr}html[data-skin=newfront] .hl-hero{grid-template-columns:1fr;align-items:start;min-height:auto;padding-top:100px}html[data-skin=newfront] .hl-hero-visual{order:-1;place-items:center}html[data-skin=newfront] .hl-hero-neo{width:min(260px,70%)}html[data-skin=newfront] .hl-how-steps,html[data-skin=newfront] .role-card-grid{grid-template-columns:1fr}html[data-skin=newfront] .step-pill,html[data-skin=newfront] .public-nav .nav-text-link{display:none}html[data-skin=newfront] .public-shell.is-bleed .topbar{margin:8px 10px 0}}html[data-skin=newfront] .colorblind-toggle.is-on{color:#1e3a8a;background:#eff6ff;border-color:#2563eb}@media (width<=620px){html[data-skin=newfront] .colorblind-toggle-label{display:none}}html[data-skin=newfront][data-colorblind="1"]{--page:#eef4ff;--panel:#f8faff;--ink:#0f172a;--soft:#334155;--line:#93c5fd;--action:#2563eb;--action-ink:#fff;--action-2:#60a5fa;--soft-action:#eff6ff;--error:#be185d;--gold:#d97706;--hint:#7c3aed}html[data-skin=newfront][data-colorblind="1"] body{background:radial-gradient(circle at 16% 18%,#bfdbfe 0,#0000 38%),radial-gradient(circle at 84% 4%,#ddd6fe 0,#0000 44%),linear-gradient(145deg,#eef4ff 0,#e0e7ff 53%,#dbeafe 100%)}html[data-skin=newfront][data-colorblind="1"] .hl-hero-glow{background:radial-gradient(55% 60% at 78% 55%,#60a5fa88 0%,#0000 70%),linear-gradient(160deg,#1e3a8a 0%,#2563eb 45%,#7c3aed 100%)}html[data-skin=newfront][data-colorblind="1"] .hl-hero-brand,html[data-skin=newfront][data-colorblind="1"] .hl-hero h1,html[data-skin=newfront][data-colorblind="1"] .hl-hero-lead{color:#fff}html[data-skin=newfront][data-colorblind="1"] .hl-cta{color:#0f172a}html[data-skin=newfront][data-colorblind="1"] .topbar,html[data-skin=newfront][data-colorblind="1"] .window{background:var(--panel);border-color:var(--line)}html[data-skin=newfront][data-colorblind="1"] .primary{background:linear-gradient(145deg, var(--action-2), var(--action));color:#fff;border-color:#3b82f6}html[data-skin=newfront][data-colorblind="1"] button:focus-visible,html[data-skin=newfront][data-colorblind="1"] input:focus-visible{outline-color:#2563eb}html[data-skin=newfront][data-colorblind="1"] .programme-status.status-fait,html[data-skin=newfront][data-colorblind="1"] .suivi-activity.status-recent,html[data-skin=newfront][data-colorblind="1"] .presence-connecte{color:#1e3a8a;background:#dbeafe;box-shadow:inset 4px 0 #2563eb}html[data-skin=newfront][data-colorblind="1"] .programme-status.status-partiel_app{color:#5b21b6;background:#ede9fe;box-shadow:inset 4px 0 #7c3aed}html[data-skin=newfront][data-colorblind="1"] .programme-status.status-partiel_classe,html[data-skin=newfront][data-colorblind="1"] .suivi-activity.status-pause,html[data-skin=newfront][data-colorblind="1"] .presence-deconnecte{color:#9a3412;background:repeating-linear-gradient(-45deg,#ffedd5,#ffedd5 4px,#fed7aa 4px 8px);box-shadow:inset 4px 0 #d97706}html[data-skin=newfront][data-colorblind="1"] .programme-status.status-a_faire,html[data-skin=newfront][data-colorblind="1"] .suivi-activity.status-never,html[data-skin=newfront][data-colorblind="1"] .presence-absent{color:#334155;background:#f1f5f9;border:1px dashed #94a3b8;box-shadow:inset 4px 0 #64748b}html[data-skin=newfront][data-colorblind="1"] .suivi-theme-row.status-fait{background:#eff6ff;border-color:#93c5fd}html[data-skin=newfront][data-colorblind="1"] .suivi-theme-row.status-partiel_classe{background:#fff7ed}html[data-skin=newfront][data-colorblind="1"] .suivi-theme-row.status-partiel_app{background:#f5f3ff}html[data-skin=newfront][data-colorblind="1"] .suivi-theme-app .is-yes,html[data-skin=newfront][data-colorblind="1"] .suivi-eleve-rate,html[data-skin=newfront][data-colorblind="1"] .class-item span,html[data-skin=newfront][data-colorblind="1"] .suivi-classes-trigger-code,html[data-skin=newfront][data-colorblind="1"] .linkish,html[data-skin=newfront][data-colorblind="1"] .suivi-prepare-toggle{color:#1d4ed8}html[data-skin=newfront][data-colorblind="1"] .suivi-summary,html[data-skin=newfront][data-colorblind="1"] .student-detail,html[data-skin=newfront][data-colorblind="1"] .suivi-eleve-row.is-open,html[data-skin=newfront][data-colorblind="1"] .class-item.is-selected,html[data-skin=newfront][data-colorblind="1"] .suivi-modes button.is-selected{background:#eff6ff;border-color:#2563eb}html[data-skin=newfront][data-colorblind="1"] .suivi-eleve-detail{background:#eff6ff}html[data-skin=newfront][data-colorblind="1"] .programme-progress-bar>i,html[data-skin=newfront][data-colorblind="1"] .progress i.on{background:linear-gradient(90deg,#60a5fa,#2563eb)}html[data-skin=newfront][data-colorblind="1"] .listen{background:#eff6ff;border-color:#2563eb}html[data-skin=newfront][data-colorblind="1"] .listen.is-on{background:#ffedd5;border-color:#d97706}html[data-skin=newfront][data-colorblind="1"] .kicker{color:#1d4ed8}html[data-skin=newfront][data-colorblind="1"] .code-hero,html[data-skin=newfront][data-colorblind="1"] .suivi-code{background:#eff6ff;border-color:#93c5fd}html[data-skin=newfront][data-colorblind="1"] .brand-mark{background:#1d4ed8}html[data-skin=newfront][data-colorblind="1"] .hl-hero-brand,html[data-skin=newfront][data-colorblind="1"] .home-brand,html[data-skin=newfront][data-colorblind="1"] .nav-text-link,html[data-skin=newfront][data-colorblind="1"] .text-link{color:#1d4ed8}html[data-skin=newfront][data-colorblind="1"] .hl-hero-brand{color:#fff}html[data-skin=newfront][data-colorblind="1"] .step-pill{color:#1e3a8a;border-color:#93c5fd}html[data-skin=newfront][data-colorblind="1"] .choice,html[data-skin=newfront][data-colorblind="1"] .mode{background:#f8faff;border-color:#60a5fa}html[data-skin=newfront][data-colorblind="1"] .choice.is-selected,html[data-skin=newfront][data-colorblind="1"] .mode.is-selected{background:#dbeafe;border-color:#2563eb}html[data-skin=newfront][data-colorblind="1"] .icon-badge{background:#bfdbfe}html[data-skin=newfront][data-colorblind="1"] .field input{border-color:#93c5fd}html[data-skin=newfront][data-colorblind="1"] .nav-cta-link{color:#fff;border-color:#3b82f6}html[data-skin=newfront][data-colorblind="1"] .feedback.ok{color:#1d4ed8}html[data-skin=newfront][data-colorblind="1"] .feedback.retry{color:#c2410c}html[data-skin=newfront][data-colorblind="1"] .star.on,html[data-skin=newfront][data-colorblind="1"] .progress-dot.on,html[data-skin=newfront][data-colorblind="1"] .mission-progress .fill,html[data-skin=newfront][data-colorblind="1"] .bar-fill,html[data-skin=newfront][data-colorblind="1"] .xp-fill{background:#2563eb}html[data-skin=newfront][data-colorblind="1"] .choice.is-correct,html[data-skin=newfront][data-colorblind="1"] .option.is-correct,html[data-skin=newfront][data-colorblind="1"] button.is-correct{color:#1e3a8a;background:#dbeafe;border-color:#2563eb}html[data-skin=newfront][data-colorblind="1"] .role-card:hover,html[data-skin=newfront][data-colorblind="1"] .mission-card:hover,html[data-skin=newfront][data-colorblind="1"] a.primary,html[data-skin=newfront][data-colorblind="1"] .nav-cta{border-color:#3b82f6}html[data-skin=newfront][data-colorblind="1"] .home-btn{border-color:#93c5fd}html[data-skin=newfront] .public-shell.is-bleed{flex-direction:column;height:100dvh;max-height:100dvh;display:flex;overflow:hidden}html[data-skin=newfront] .public-shell.is-bleed .topbar{min-height:52px;margin:0;padding:6px 14px;position:absolute;top:10px;left:12px;right:12px}html[data-skin=newfront] .public-shell.is-bleed .window.is-bleed{flex:1;height:100%;min-height:0;overflow:hidden}html[data-skin=newfront] .hl-home{grid-template-rows:minmax(0,1fr) auto;height:100%;max-height:100%;display:grid;overflow:hidden}html[data-skin=newfront] .hl-hero{align-items:center;gap:clamp(12px,2vw,28px);height:100%;min-height:0;max-height:none;padding:clamp(64px,10vh,88px) clamp(16px,4vw,56px) clamp(12px,2vh,20px)}html[data-skin=newfront] .hl-hero-brand{margin:0 0 6px;font-size:clamp(1.9rem,5.2vw,3.4rem)}html[data-skin=newfront] .hl-hero h1{margin:0 0 8px;font-size:clamp(1.05rem,2.1vw,1.45rem)}html[data-skin=newfront] .hl-hero-lead{margin:0 0 16px;font-size:clamp(.92rem,1.5vw,1.08rem)}html[data-skin=newfront] .hl-hero-cta{gap:10px}html[data-skin=newfront] .hl-cta,html[data-skin=newfront] .hl-hero .ghost-btn{min-height:44px;padding:10px 18px}html[data-skin=newfront] .hl-hero-neo{width:min(340px,38vw,100%);max-height:min(48vh,420px)}html[data-skin=newfront] .hl-hero-neo .neo{width:auto;max-height:min(48vh,420px);margin:0 auto;display:block}html[data-skin=newfront] .hl-how{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;border-top:1px solid #fffa;grid-template-columns:minmax(140px,200px) minmax(0,1fr);align-items:center;gap:12px 20px;width:100%;max-width:none;margin:0;padding:12px clamp(16px,4vw,48px) 14px;display:grid}html[data-skin=newfront] .hl-how-head{gap:2px;display:grid}html[data-skin=newfront] .hl-section-kicker{margin:0;font-size:.68rem}html[data-skin=newfront] .hl-how h2{margin:0;font-size:clamp(1.05rem,1.8vw,1.35rem)}html[data-skin=newfront] .hl-how-steps{gap:10px}html[data-skin=newfront] .hl-how-steps li{grid-template-rows:auto auto;grid-template-columns:28px minmax(0,1fr);gap:4px 8px;padding:0}html[data-skin=newfront] .hl-how-num{border-radius:9px;grid-row:1/span 2;align-self:center;width:28px;height:28px;font-size:.8rem}html[data-skin=newfront] .hl-how-steps strong{font-size:.95rem}html[data-skin=newfront] .hl-how-steps span{font-size:.82rem;line-height:1.3}html[data-skin=newfront] .public-shell.is-bleed .listen{min-height:40px;padding:8px 12px;font-size:.82rem;top:70px;bottom:auto;right:16px}@media (width<=900px){html[data-skin=newfront] .hl-how{grid-template-columns:1fr;gap:8px}}@media (width<=620px){html[data-skin=newfront] .hl-home{grid-template-rows:minmax(0,1fr) auto}html[data-skin=newfront] .hl-hero{grid-template-columns:1fr;align-content:center;gap:4px;padding:62px 14px 8px}html[data-skin=newfront] .hl-hero-visual{order:-1;place-items:center}html[data-skin=newfront] .hl-hero-neo{width:min(150px,42vw);max-height:22vh}html[data-skin=newfront] .hl-hero-neo .neo{max-height:22vh}html[data-skin=newfront] .hl-hero-brand{font-size:clamp(1.7rem,9vw,2.2rem)}html[data-skin=newfront] .hl-hero h1{font-size:1rem}html[data-skin=newfront] .hl-hero-lead{margin-bottom:12px;font-size:.9rem}html[data-skin=newfront] .hl-how{padding:10px 12px 12px}html[data-skin=newfront] .hl-how-steps{grid-template-columns:1fr;gap:6px}html[data-skin=newfront] .hl-how-steps span,html[data-skin=newfront] .public-shell.is-bleed .listen{display:none}}@media (height<=700px){html[data-skin=newfront] .hl-hero-neo{width:min(260px,32vw);max-height:36vh}html[data-skin=newfront] .hl-hero-brand{font-size:clamp(1.6rem,4vw,2.6rem)}html[data-skin=newfront] .hl-how-steps span{display:none}}
