:root{--navy:#061b39;--blue:#0d67ad;--sky:#7db9e8;--yellow:#ffd91c;--paper:#fff;--soft:#f3f6fa;--ink:#101b2b;--muted:#667085;--line:#dce3eb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--soft);color:var(--ink);font:16px/1.5 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.student-head{height:82px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:10}.student-brand{display:flex;align-items:center;gap:12px;font:800 15px/1.1 Manrope;text-transform:uppercase}.student-brand img{width:54px;height:54px;border-radius:50%}.student-brand small,.user-name small{display:block;color:var(--muted);font:600 11px/1.4 'DM Sans';letter-spacing:.1em}.student-user{display:flex;align-items:center;gap:11px}.preview{background:#fff5b5;border:1px solid #efd21a;color:#5e5000;border-radius:99px;padding:7px 12px;font-size:12px;font-weight:700}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);font-weight:800}.user-name{font-weight:700;line-height:1.15}.student-user button{border:0;background:transparent;font-size:20px}.dashboard{max-width:1500px;margin:auto;display:grid;grid-template-columns:245px 1fr;min-height:calc(100vh - 82px)}.side-nav{background:var(--navy);color:#fff;padding:34px 22px;display:flex;flex-direction:column;gap:8px}.side-nav>p{margin:0 12px 14px;color:#83a1c2;text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:700}.side-nav>a{display:flex;gap:13px;align-items:center;padding:12px 14px;border-radius:9px;font-weight:600;color:#bfd0e3}.side-nav>a span{width:22px;text-align:center;color:var(--yellow)}.side-nav>a.active,.side-nav>a:hover{background:rgba(255,255,255,.1);color:#fff}.side-help{margin-top:auto;background:var(--yellow);color:var(--navy);padding:19px;border-radius:12px;display:flex;flex-direction:column}.side-help strong{font:800 17px Manrope}.side-help span{font-size:13px;margin:4px 0 13px}.side-help a{font-weight:800;font-size:13px;border-bottom:2px solid var(--navy);width:max-content}.student-main{padding:42px clamp(24px,4vw,64px) 70px;min-width:0}.welcome{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:28px}.kicker{text-transform:uppercase;letter-spacing:.14em;color:var(--blue);font-size:11px;font-weight:800}.welcome h1{font:800 clamp(31px,4vw,50px)/1.05 Manrope;margin:7px 0 8px;letter-spacing:-.04em}.welcome p{margin:0;color:var(--muted);font-size:17px}.progress-ring{width:112px;height:112px;border-radius:50%;background:conic-gradient(var(--yellow) 0 68%,#dfe5ec 68%);display:grid;place-content:center;text-align:center;position:relative;flex:0 0 auto}.progress-ring:after{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--soft)}.progress-ring strong,.progress-ring span{position:relative;z-index:1}.progress-ring strong{font:800 24px Manrope}.progress-ring span{font-size:10px;text-transform:uppercase}.zoom-card{background:linear-gradient(110deg,#0c69b0,#083e78);color:#fff;border-radius:16px;padding:24px 26px;display:grid;grid-template-columns:76px 1fr auto;gap:22px;align-items:center;box-shadow:0 15px 35px rgba(4,56,103,.17);position:relative;overflow:hidden}.zoom-card:after{content:"";position:absolute;width:170px;height:170px;border:32px solid rgba(255,255,255,.07);border-radius:50%;right:-55px;top:-70px}.zoom-date{background:#fff;color:var(--navy);border-radius:10px;text-align:center;padding:7px;display:flex;flex-direction:column;line-height:1}.zoom-date strong,.zoom-date span{font-size:10px}.zoom-date b{font:800 33px Manrope;margin:4px 0}.live{font-size:11px;font-weight:800;letter-spacing:.11em;color:#dff4ff}.live i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--yellow);margin-right:7px}.zoom-info h2{font:800 22px Manrope;margin:4px 0}.zoom-info p{margin:0;color:#d5e7f7}.zoom-button,.lesson button,.rousseau button{position:relative;z-index:1;border:0;background:var(--yellow);color:var(--navy);border-radius:8px;padding:14px 18px;font-weight:800;cursor:pointer}.zoom-button span{margin-left:12px}.content-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.75fr);gap:22px;margin-top:22px}.panel,.mini-panel,.path{background:#fff;border:1px solid var(--line);border-radius:14px;padding:25px}.panel-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}.panel h2,.mini-panel h2,.path h2{font:800 23px/1.2 Manrope;margin:5px 0 0}.panel-head>a{font-weight:700;color:var(--blue);font-size:13px}.lesson-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.lesson{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.lesson img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top}.lesson>div{padding:16px}.lesson span{font-size:11px;color:var(--blue);text-transform:uppercase;font-weight:800}.lesson h3{font:800 17px/1.25 Manrope;margin:6px 0}.lesson p{color:var(--muted);font-size:13px;margin:0 0 12px}.lesson button{background:var(--navy);color:#fff;padding:10px 13px;font-size:12px}.right-stack{display:grid;gap:22px}.mini-panel{display:flex;flex-direction:column}.mini-panel p{color:var(--muted);margin:10px 0 18px}.mini-panel a{margin-top:auto;color:var(--blue);font-size:13px;font-weight:800}.mini-panel.rousseau{background:var(--yellow);border:0;display:grid;grid-template-columns:50px 1fr;gap:15px}.r-icon{width:48px;height:48px;background:var(--navy);color:#fff;border-radius:50%;display:grid;place-items:center;font:800 22px Manrope}.rousseau span{font-size:11px;text-transform:uppercase;font-weight:800}.rousseau p{color:#3f4650}.rousseau button{background:var(--navy);color:#fff;padding:11px 13px}.path{margin-top:22px}.path-items{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.path-items article{display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:15px;border-radius:10px}.path-items b{width:38px;height:38px;border-radius:50%;background:#e8edf2;display:grid;place-items:center;font:800 12px Manrope}.path-items span{font-weight:700;font-size:14px}.path-items small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.path-items .done b{background:var(--navy);color:var(--yellow)}.path-items .current{border:2px solid var(--yellow)}.path-items .current b{background:var(--yellow)}.demo-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,120px);background:var(--navy);color:#fff;padding:13px 20px;border-radius:9px;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:.25s;z-index:30;font-weight:700}.demo-toast.show{transform:translate(-50%,0)}
@media(max-width:1050px){.dashboard{grid-template-columns:1fr}.side-nav{display:none}.content-grid{grid-template-columns:1fr}.right-stack{grid-template-columns:1fr 1fr}.path-items{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.student-head{height:70px;padding:0 15px}.student-brand img{width:44px;height:44px}.student-brand{font-size:12px}.preview,.user-name,.student-user button{display:none}.student-main{padding:25px 15px 50px}.welcome{align-items:flex-start}.welcome p{font-size:15px}.progress-ring{width:82px;height:82px}.zoom-card{grid-template-columns:62px 1fr;padding:18px;gap:14px}.zoom-button{grid-column:1/-1;width:100%}.zoom-info h2{font-size:17px}.zoom-info p{font-size:13px}.content-grid{gap:15px}.lesson-grid,.right-stack,.path-items{grid-template-columns:1fr}.panel,.mini-panel,.path{padding:19px}.panel-head{align-items:start}.panel h2,.mini-panel h2,.path h2{font-size:20px}.lesson img{aspect-ratio:1.45}.demo-toast{width:calc(100% - 30px);text-align:center}}

/* Nouvelle entrée de tableau de bord : claire en un coup d'œil, énergique sans être criarde. */
body { background: radial-gradient(circle at 88% 0%, rgba(13,103,173,.09), transparent 34%), var(--soft); }
.student-main { padding-top: 48px; }
.welcome { align-items: flex-start; }
.welcome h1 { max-width: 760px; font-size: clamp(38px,5vw,66px); }
.welcome p { max-width: 680px; }
.welcome-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.welcome-tags span { padding:6px 10px; background:#fff; border:1px solid var(--line); border-radius:99px; color:var(--navy); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.welcome-tags span:first-child { background:var(--yellow); border-color:var(--yellow); }
.quick-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:0 0 18px; }
.quick-action { min-height:152px; display:grid; grid-template-columns:34px 1fr 22px; gap:12px; align-items:start; padding:20px; border:2px solid var(--navy); border-radius:16px; color:var(--navy); box-shadow:6px 6px 0 rgba(6,27,57,.14); transition:transform .22s ease, box-shadow .22s ease; }
.quick-action:hover { transform:translateY(-5px); box-shadow:8px 10px 0 rgba(6,27,57,.18); }
.quick-action .quick-number { font:800 12px/1 Manrope; padding-top:4px; opacity:.65; }
.quick-action small { display:block; margin-bottom:5px; text-transform:uppercase; letter-spacing:.1em; font-size:10px; font-weight:800; opacity:.72; }
.quick-action h2 { margin:0; font:800 22px/1.1 Manrope; letter-spacing:-.03em; }
.quick-action p { margin:8px 0 0; font-size:13px; line-height:1.35; opacity:.8; }
.quick-action b { justify-self:end; font-size:22px; line-height:1; }
.quick-action.yellow { background:var(--yellow); }
.quick-action.blue { background:var(--blue); color:#fff; border-color:var(--blue); }
.quick-action.dark { background:var(--navy); color:#fff; border-color:var(--navy); }
.student-pulse { display:flex; align-items:center; gap:10px; margin:0 0 24px; padding:12px 15px; background:#fff; border:1px solid var(--line); border-left:5px solid var(--yellow); color:var(--muted); font-size:13px; }
.student-pulse strong { color:var(--navy); }
.pulse-mark { margin-left:auto; color:var(--blue); font-size:10px; font-weight:800; letter-spacing:.11em; }
.sarool-card, .zoom-card, .panel, .mini-panel, .path { box-shadow:0 15px 35px rgba(4,56,103,.1); }
.panel, .mini-panel, .path { border-color:rgba(13,103,173,.16); }
.lesson { transition:transform .2s ease, box-shadow .2s ease; }
.lesson:hover { transform:translateY(-3px); box-shadow:0 10px 24px rgba(4,56,103,.12); }
@media(max-width:1050px){.quick-actions{grid-template-columns:1fr 1fr}.quick-action:last-child{grid-column:1/-1}}
@media(max-width:680px){.student-main{padding-top:28px}.welcome h1{font-size:38px}.welcome-tags{gap:6px}.welcome-tags span{font-size:10px}.quick-actions{grid-template-columns:1fr;gap:10px}.quick-action:last-child{grid-column:auto}.quick-action{min-height:125px;padding:17px}.student-pulse{align-items:flex-start;flex-wrap:wrap;gap:5px 8px}.pulse-mark{margin-left:0;width:100%}}
@media(prefers-reduced-motion:reduce){.quick-action,.lesson{transition:none}.quick-action:hover,.lesson:hover{transform:none}}

/* Tri de l'espace élève : garder le parcours, le Code, Sarool et les révisions utiles. */
.student-pulse,
.student-exam-guide,
#conseils,
.verification-secondary-content { display:none !important; }

/* Le fil Smart : une invitation à suivre la vie de l'équipe, pas une liste froide de liens. */
.side-socials { order:-1; margin:0 0 20px; padding:16px 13px; border:0; border-radius:18px; background:linear-gradient(145deg,#ffd91c 0%,#fff0a4 100%); color:var(--navy); box-shadow:5px 6px 0 rgba(255,217,28,.18); display:grid; gap:9px; }
.side-socials-kicker { display:inline-flex; width:max-content; padding:5px 8px; border-radius:999px; background:var(--navy); color:var(--yellow); font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.side-socials strong { margin:0; color:var(--navy); font:800 16px/1.08 Manrope; }
.side-socials-copy { margin:0; color:#35445a; font-size:11px; line-height:1.4; }
.side-socials-themes { display:flex; flex-wrap:wrap; gap:5px; }
.side-socials-themes span { padding:5px 7px; border:1px solid rgba(6,27,57,.1); border-radius:999px; background:rgba(255,255,255,.55); color:var(--navy); font-size:9px; font-weight:800; }
.side-socials-agencies { display:grid; gap:7px; padding-top:8px; border-top:1px solid rgba(6,27,57,.15); }
.side-socials-agency { display:flex; align-items:center; justify-content:space-between; gap:6px; }
.side-socials-agency>strong { font:800 11px Manrope; }
.side-socials-links { display:grid; grid-template-columns:repeat(2,1fr); gap:6px; flex:1; max-width:154px; }
.side-social-icon { display:grid; place-items:center; gap:3px; min-height:53px; padding:7px 4px!important; border:1px solid rgba(255,255,255,.72); border-radius:14px!important; background:rgba(255,255,255,.8)!important; color:var(--navy)!important; font-size:8px!important; font-weight:900!important; box-shadow:0 3px 0 rgba(6,27,57,.12); transition:transform .18s ease,box-shadow .18s ease; }
.side-social-icon svg { width:22px; height:22px; display:block; }
.side-social-icon.facebook svg { fill:#1877f2; }
.side-social-icon.instagram svg { fill:none; stroke:#d62976; stroke-width:1.8; }
.side-social-icon.instagram .instagram-dot { fill:#d62976; stroke:none; }
.side-social-icon:hover { transform:translateY(-2px); box-shadow:0 5px 0 rgba(6,27,57,.14); }

.exam-access-card { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:22px 0; padding:22px 24px; border:2px solid rgba(255,217,28,.75); border-radius:18px; background:linear-gradient(110deg,#fffdf0 0%,#eef8ff 100%); box-shadow:7px 7px 0 rgba(13,103,173,.1); }
.exam-access-card h2 { margin:6px 0 7px; color:var(--navy); font:800 clamp(22px,2.7vw,31px)/1.08 Manrope; letter-spacing:-.035em; }
.exam-access-card p { max-width:700px; margin:0; color:var(--muted); font-size:13px; }
.exam-access-actions { display:grid; flex:0 0 auto; gap:8px; min-width:205px; }
.exam-access-button { display:inline-flex; align-items:center; justify-content:center; padding:13px 15px; border-radius:10px; background:var(--navy); color:#fff; font-size:12px; font-weight:900; box-shadow:0 4px 0 rgba(6,27,57,.2); }
.exam-access-button:hover { background:var(--blue); }
.exam-access-actions small { color:var(--muted); font-size:10px; text-align:center; }
@media(max-width:680px){.exam-access-card{display:block;padding:19px}.exam-access-actions{margin-top:16px}.exam-access-button{width:100%}}

.rousseau-link { display:inline-flex; align-items:center; justify-content:center; margin-top:8px !important; padding:11px 13px; background:var(--navy); color:#fff !important; border-radius:8px; font-size:12px !important; font-weight:800 !important; }
.rousseau-link:hover { background:var(--blue); }
.zoom-pending{display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.14);color:#dce8f5;border:1px solid rgba(255,255,255,.35);border-radius:8px;padding:14px 18px;font-weight:800;font-size:13px;text-align:center;}

/* Guide local Fécamp : support de révision enrichi progressivement par l’équipe. */
.student-section-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin:32px 0 18px; }
.student-section-head h2 { margin:6px 0 0; color:var(--navy); font:800 clamp(25px,3vw,38px)/1.08 Manrope; letter-spacing:-.035em; }
.student-section-head h2 em { color:var(--blue); font-style:normal; }
.student-section-head > p { max-width:420px; margin:0; color:var(--muted); }
.student-exam-guide { margin-top:26px; padding:26px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 15px 35px rgba(4,56,103,.1); }
.student-exam-guide .exam-guide-widget { display:grid; grid-template-columns:1.18fr .82fr; gap:18px; align-items:stretch; }
.student-exam-guide .exam-map { position:relative; min-height:390px; overflow:hidden; border:1px solid #cbddea; border-radius:20px; background-color:#e8f3ff; background-image:linear-gradient(28deg,transparent 47%,rgba(13,103,173,.10) 48%,rgba(13,103,173,.10) 51%,transparent 52%),linear-gradient(112deg,transparent 44%,rgba(13,103,173,.08) 45%,rgba(13,103,173,.08) 48%,transparent 49%),radial-gradient(circle at 22% 28%,rgba(255,217,28,.36) 0 7%,transparent 7.5%),radial-gradient(circle at 80% 72%,rgba(13,103,173,.13) 0 11%,transparent 11.5%); }
.student-exam-guide .exam-map::before { content:''; position:absolute; inset:25px; border:1px dashed rgba(13,103,173,.24); border-radius:50% 42% 56% 35%; transform:rotate(-10deg); }
.student-exam-guide .exam-map-road { position:absolute; z-index:1; height:13px; border:4px solid #fff; border-radius:999px; background:#9ec4e4; box-shadow:0 0 0 1px rgba(13,103,173,.2); transform-origin:left center; }
.student-exam-guide .exam-map-road-one { width:58%; top:49%; left:18%; transform:rotate(-18deg); }
.student-exam-guide .exam-map-road-two { width:48%; top:33%; left:35%; transform:rotate(63deg); }
.student-exam-guide .exam-map-road-three { width:45%; top:68%; left:38%; transform:rotate(10deg); }
.student-exam-guide .exam-map-label { position:absolute; z-index:2; color:rgba(6,27,57,.58); font:800 11px Manrope; text-transform:uppercase; letter-spacing:.1em; }
.student-exam-guide .exam-map-label-town { left:11%; top:17%; }
.student-exam-guide .exam-map-label-north { right:10%; top:23%; max-width:130px; }
.student-exam-guide .exam-map-dot { position:absolute; z-index:3; display:grid; place-items:center; width:68px; height:68px; padding:0; border:3px solid var(--navy); border-radius:50%; background:var(--yellow); color:var(--navy); cursor:pointer; box-shadow:5px 5px 0 rgba(6,27,57,.2); transition:transform .2s ease,background .2s ease; }
.student-exam-guide .exam-map-dot:hover,.student-exam-guide .exam-map-dot:focus-visible,.student-exam-guide .exam-map-dot.is-active { transform:scale(1.08); background:var(--blue); color:#fff; outline:none; }
.student-exam-guide .exam-map-dot span { font:800 17px Manrope; }
.student-exam-guide .exam-map-dot small { font-size:9px; font-weight:800; }
.student-exam-guide .exam-map-dot[data-guide-point="town"] { left:15%; top:39%; }
.student-exam-guide .exam-map-dot[data-guide-point="priority"] { left:55%; top:18%; }
.student-exam-guide .exam-map-dot[data-guide-point="roundabout"] { right:13%; top:52%; }
.student-exam-guide .exam-map-dot[data-guide-point="outskirts"] { left:45%; bottom:11%; }
.student-exam-guide .exam-map-disclaimer { position:absolute; z-index:4; left:15px; right:15px; bottom:12px; color:#526171; font-size:10px; }
.student-exam-guide .exam-guide-detail { display:flex; flex-direction:column; justify-content:center; padding:28px; border:1px solid var(--line); border-radius:20px; background:linear-gradient(145deg,#fff,#f4f8fc); }
.student-exam-guide .exam-guide-detail .kicker { color:var(--blue); }
.student-exam-guide .exam-guide-detail h3 { margin:8px 0; color:var(--navy); font:800 clamp(23px,2.6vw,34px)/1.1 Manrope; }
.student-exam-guide .exam-guide-detail p { color:var(--muted); line-height:1.6; }
.student-exam-guide .exam-guide-tip { display:grid; gap:4px; margin-top:17px; padding:14px 15px; border-left:5px solid var(--yellow); background:var(--navy); color:#fff; }
.student-exam-guide .exam-guide-tip strong { color:var(--yellow); font:800 14px Manrope; }
.student-exam-guide .exam-guide-tip span { color:#e5eef8; font-size:13px; }
.teacher-photo-note { display:flex; gap:12px; align-items:flex-start; margin-top:16px; padding:14px 16px; border-left:5px solid var(--blue); background:#eef7ff; color:var(--muted); font-size:13px; }
.teacher-photo-note strong { display:block; color:var(--navy); }
.teacher-photo-note span { display:block; margin-top:3px; }
@media(max-width:850px){.student-section-head{display:block}.student-section-head>p{margin-top:12px}.student-exam-guide .exam-guide-widget{grid-template-columns:1fr}}
@media(max-width:680px){.student-exam-guide{padding:18px}.student-exam-guide .exam-map{min-height:350px;border-radius:16px}.student-exam-guide .exam-guide-detail{padding:21px}.student-exam-guide .exam-map-dot{width:60px;height:60px}.student-exam-guide .exam-map-dot[data-guide-point="priority"]{left:50%}.student-exam-guide .exam-map-dot[data-guide-point="roundabout"]{right:7%}.teacher-photo-note{display:block}}

/* Verre clair : continuité visuelle avec le site public, sans affaiblir la lisibilité. */
.student-head { background:rgba(255,255,255,.78); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border-bottom-color:rgba(13,103,173,.16); box-shadow:0 8px 24px rgba(4,56,103,.06); }
.panel,.mini-panel,.path,.student-exam-guide,.student-pulse,.lesson { background:rgba(255,255,255,.72); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.panel,.mini-panel,.path,.student-exam-guide { border-color:rgba(255,255,255,.8); box-shadow:0 15px 35px rgba(4,56,103,.08); }
.student-exam-guide .exam-guide-detail { background:rgba(255,255,255,.68); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }
.student-pulse { box-shadow:0 8px 22px rgba(4,56,103,.06); }
.lesson { box-shadow:0 8px 22px rgba(4,56,103,.06); }
a:focus-visible,button:focus-visible { outline:3px solid var(--yellow); outline-offset:3px; }
.student-demo-banner { display:flex; gap:12px; align-items:center; justify-content:center; padding:10px 18px; background:#fff8d6; border-bottom:1px solid rgba(239,210,26,.65); color:#5e5000; font-size:13px; }
.student-demo-banner strong { font:800 13px Manrope; white-space:nowrap; }
.student-demo-banner span { color:#6f620d; }
@media(max-width:680px){.student-demo-banner{display:block;padding:10px 15px;font-size:12px}.student-demo-banner strong{display:block;margin-bottom:2px}}
.daily-code-learning { display:grid; gap:7px; margin:12px 0; }
.daily-code-learning span { display:block; padding:8px 10px; border-left:3px solid var(--yellow); background:rgba(255,255,255,.08); color:#e8f2fb; font-size:12px; }
.daily-code-learning b { display:inline-block; min-width:52px; margin-right:7px; color:var(--yellow); text-transform:uppercase; font-size:10px; letter-spacing:.08em; }

.student-remote{margin:0 0 26px;padding:24px;background:#071c39;color:#fff;border-radius:16px;box-shadow:0 15px 35px rgba(4,56,103,.16);overflow:hidden;position:relative}.student-remote:after{content:"";position:absolute;width:240px;height:240px;border:42px solid rgba(255,255,255,.06);border-radius:50%;right:-90px;top:-110px;pointer-events:none}.student-remote-head{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:1}.student-remote-head .kicker{color:var(--yellow)}.student-remote-head h2{margin:6px 0 5px;font:800 clamp(24px,3vw,36px)/1.05 Manrope;letter-spacing:-.03em}.student-remote-head p{margin:0;color:#c6d9eb}.student-remote-question{min-width:105px;padding:12px 16px;text-align:center;background:#fff;color:var(--navy);border-radius:12px;display:flex;flex-direction:column;line-height:1}.student-remote-question span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.student-remote-question strong{font:800 37px Manrope;margin-top:5px}.student-remote-options{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0;position:relative;z-index:1}.student-remote-options button{min-height:110px;border:0;border-radius:16px;color:#fff;font:900 clamp(32px,5vw,54px) Manrope;cursor:pointer;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease;position:relative}.student-remote-options button:nth-child(1){background:#ef4444}.student-remote-options button:nth-child(2){background:#3b82f6}.student-remote-options button:nth-child(3){background:#f5c400;color:#071c39}.student-remote-options button:nth-child(4){background:#22a55a}.student-remote-options button:hover{filter:brightness(1.08)}.student-remote-options button:active{transform:scale(.96)}.student-remote-options button[aria-pressed="true"]{transform:scale(.96);box-shadow:0 0 0 7px #fff,inset 0 8px 20px rgba(0,0,0,.18)}.student-remote-options button[aria-pressed="true"]:after{content:"✓";position:absolute;top:9px;right:12px;font:800 18px/1 'DM Sans'}.student-remote-options button:disabled{opacity:.42;filter:saturate(.45);cursor:not-allowed}.student-remote-footer{display:flex;align-items:center;gap:16px;position:relative;z-index:1}.student-remote-submit{border:0;border-radius:10px;padding:14px 18px;background:linear-gradient(100deg,#34d399,#22d3ee);color:#071c39;font-weight:900;cursor:pointer}.student-remote-submit:disabled{background:#23364c;color:#7790a7;cursor:not-allowed}.student-remote-status{margin:0;color:#b8cde0;font-size:13px}.student-remote-status.is-success{color:#86efac;font-weight:800}@media(max-width:680px){.student-remote{padding:19px}.student-remote-head{align-items:flex-start}.student-remote-question{min-width:78px;padding:10px 8px}.student-remote-question strong{font-size:30px}.student-remote-head p{font-size:13px}.student-remote-options{gap:9px}.student-remote-options button{min-height:84px}.student-remote-footer{display:block}.student-remote-submit{width:100%}.student-remote-status{text-align:center;margin-top:11px}}
.student-remote-history{position:relative;z-index:1;margin:22px 0;padding:18px;border:1px solid rgba(255,255,255,.15);border-radius:14px;background:rgba(0,0,0,.16)}.student-remote-history[hidden]{display:none}.student-remote-history-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:14px}.student-remote-history-head h3{margin:5px 0 0;font:800 21px/1.1 Manrope}.student-remote-history-head>span{padding:6px 9px;border:1px solid rgba(134,239,172,.35);border-radius:99px;color:#a7f3d0;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.student-remote-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}.student-remote-grid-cell{display:grid;place-items:center;min-height:45px;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:rgba(255,255,255,.07);color:#d8e6f3}.student-remote-grid-cell small{display:block;color:#9fb8cf;font-size:9px;line-height:1}.student-remote-grid-cell strong{display:block;margin-top:4px;color:#fff;font:900 17px/1 Manrope}.student-remote-grid-cell.is-answered{border-color:rgba(245,211,22,.6);background:rgba(245,211,22,.12)}.student-remote-grid-cell.is-current{border-color:#6ee7a3;background:rgba(110,231,163,.18);box-shadow:0 0 0 2px rgba(110,231,163,.24)}.student-remote-grid-cell.is-current strong{color:#a7f3d0}.student-remote-history-note{margin:12px 0 0;color:#a9c2d7;font-size:11px}.student-remote-history-note:before{content:'🔒';margin-right:5px}@media(max-width:520px){.student-remote-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.student-remote-grid-cell{min-height:42px}.student-remote-history-head{align-items:start;flex-direction:column}}

.student-progress{margin:0 0 26px;padding:24px;background:#071c39;color:#f8fbff;border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 15px 35px rgba(4,56,103,.16)}.student-progress-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.student-progress-head .kicker{color:var(--yellow)}.student-progress-head h2{margin:6px 0 5px;font:800 clamp(24px,3vw,36px)/1.05 Manrope;letter-spacing:-.03em}.student-progress-head p{margin:0;color:#c6d9eb}.student-progress-badge{padding:7px 10px;border:1px solid rgba(255,255,255,.16);border-radius:99px;color:#c6d9eb;font-size:11px;font-weight:800;white-space:nowrap}.student-progress-graph{padding:8px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden}.student-progress-graph svg{display:block;width:100%;height:auto;min-height:170px}.student-progress-graph .progress-limit{stroke:#34d399;stroke-width:2;stroke-dasharray:4 4;opacity:.65}.student-progress-graph .progress-path{fill:none;stroke:#fbbf24;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.student-progress-graph .progress-point{stroke:#071c39;stroke-width:2}.student-progress-graph .progress-value{font:900 10px Manrope;fill:#e8f2fb}.student-progress-graph .progress-date{font:800 9px 'DM Sans';fill:#91a7bd}.student-progress-summary{display:flex;align-items:flex-start;gap:10px;margin-top:18px;padding:13px 15px;background:rgba(52,211,153,.06);border:1px solid rgba(52,211,153,.14);border-radius:11px}.student-progress-summary span{font-size:20px}.student-progress-summary p{margin:0;color:#cbd8e5;font-size:12px;line-height:1.55}.student-progress-summary strong{color:#86efac}.student-progress-summary.is-warning strong{color:var(--yellow)}@media(max-width:680px){.student-progress{padding:19px}.student-progress-head{align-items:flex-start}.student-progress-head p{font-size:13px}.student-progress-badge{font-size:10px;padding:6px 8px}.student-progress-graph svg{min-height:150px}}
.path-start{margin-top:0}.path-start .panel-head{display:block}.path-intro{margin:8px 0 0;color:var(--muted);font-size:14px;max-width:620px}.path-start .path-items{margin-top:20px}
.side-socials{margin:15px 0 0;padding:14px 12px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.06);display:grid;gap:5px}.side-socials-kicker{color:var(--yellow);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.side-socials strong{margin-bottom:4px;color:#fff;font:800 15px Manrope}.side-socials a{padding:3px 0;color:#b9cee2;font-size:11px;font-weight:700}.side-socials a:hover{color:#fff}.student-socials{display:none}
@media(max-width:1050px){.student-socials{display:block}.side-socials{display:none}}
.exam-score-card{margin:22px 0;padding:24px;border:1px solid #cbddea;border-radius:18px;background:#fff;box-shadow:0 12px 28px rgba(4,56,103,.08)}.exam-score-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.exam-score-head h2{margin:6px 0 8px;color:var(--navy);font:800 clamp(24px,3vw,36px)/1.08 Manrope;letter-spacing:-.04em}.exam-score-head p{max-width:720px;margin:0;color:var(--muted);font-size:14px}.exam-score-badge{flex:none;padding:10px 13px;border-radius:999px;background:var(--yellow);color:var(--navy);font:900 12px Manrope;text-transform:uppercase;letter-spacing:.06em}.exam-score-figure{margin:20px auto 0;max-width:850px;text-align:center}.exam-score-figure img{display:block;width:100%;max-height:520px;object-fit:cover;object-position:center 30%;border:1px solid #d9e2ea;border-radius:10px;background:#fff}.exam-score-figure figcaption{margin-top:7px;color:var(--muted);font-size:11px}.exam-score-explain{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;margin-top:17px}.exam-score-explain>div{padding:13px 14px;border-left:4px solid var(--blue);border-radius:9px;background:#f2f7fb}.exam-score-explain>div:nth-child(2){border-left-color:var(--yellow);background:#fff9d9}.exam-score-explain strong,.exam-score-explain span{display:block}.exam-score-explain strong{color:var(--navy);font:800 12px Manrope}.exam-score-explain span{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.4}.exam-score-explain>a{align-self:center;color:var(--blue);font-size:12px;font-weight:800;white-space:nowrap}@media(max-width:680px){.exam-score-card{padding:18px}.exam-score-head{display:block}.exam-score-badge{display:inline-flex;margin-top:11px}.exam-score-figure img{max-height:440px}.exam-score-explain{grid-template-columns:1fr}.exam-score-explain>a{justify-self:start}}
.student-video-card{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);gap:22px;align-items:stretch;margin:22px 0;padding:24px;border:1px solid #c9dceb;border-radius:16px;background:linear-gradient(120deg,#fff 0%,#edf7fd 100%);box-shadow:0 12px 28px rgba(4,56,103,.08)}.student-video-copy h2{margin:6px 0 8px;color:var(--navy);font:800 clamp(23px,3vw,34px)/1.08 Manrope;letter-spacing:-.04em}.student-video-copy p{max-width:680px;margin:0;color:var(--muted);font-size:14px}.student-video-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:17px}.student-video-button,.student-video-secondary{display:inline-flex;align-items:center;padding:11px 14px;border-radius:9px;font-size:12px;font-weight:800}.student-video-button{background:var(--yellow);color:var(--navy);box-shadow:0 5px 0 #d4b500}.student-video-secondary{background:var(--navy);color:#fff}.student-video-visual{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:160px;border-radius:13px;background:linear-gradient(145deg,#075da1,#061b39);color:#fff;text-align:center;box-shadow:8px 8px 0 var(--yellow)}.student-video-play{display:grid;place-items:center;width:48px;height:48px;margin-bottom:10px;border-radius:50%;background:var(--yellow);color:var(--navy);font-size:20px;padding-left:3px}.student-video-visual strong{font:800 18px/1.05 Manrope}.student-video-visual small{margin-top:8px;color:#cfe8f8;font-size:11px}.legacy-verification-library{display:none!important}
.student-main{position:relative;isolation:isolate}.student-main:before,.student-main:after{content:'';position:absolute;z-index:-1;border-radius:50%;pointer-events:none}.student-main:before{width:330px;height:330px;right:-150px;top:120px;background:rgba(255,217,28,.16)}.student-main:after{width:240px;height:240px;left:-140px;top:600px;background:rgba(125,185,232,.14)}
.code-zone{display:grid;gap:22px;margin:22px 0;padding:20px;border:2px solid rgba(13,103,173,.22);border-radius:22px;background:linear-gradient(135deg,#fff 0%,#f2faff 72%,#fff9c9 100%);box-shadow:7px 8px 0 rgba(13,103,173,.1)}.code-zone-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 3px 2px}.code-zone-head h2{margin:5px 0 0;color:var(--navy);font:800 clamp(21px,2.7vw,30px)/1.08 Manrope;letter-spacing:-.04em}.code-zone-head>span{padding:8px 11px;border-radius:999px;background:var(--navy);color:var(--yellow);font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.code-schedule{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:10px;align-items:stretch}.code-schedule-head,.code-schedule-agency{padding:13px 14px;border-radius:13px;background:rgba(255,255,255,.78);border:1px solid rgba(13,103,173,.14)}.code-schedule-head{display:flex;flex-direction:column;justify-content:center}.code-schedule-head strong{margin:3px 0;color:var(--navy);font:800 16px/1.15 Manrope}.code-schedule-head small,.code-schedule-agency small{color:var(--muted);font-size:11px;line-height:1.35}.code-schedule-agency{display:grid;gap:6px}.code-schedule-agency>strong{color:var(--blue);font:800 15px Manrope}.code-schedule-agency span{color:var(--navy);font-size:12px;line-height:1.35}.code-schedule-agency span b{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.welcome{position:relative;overflow:hidden;padding:28px 32px;border:2px solid rgba(255,255,255,.9);border-radius:28px;background:linear-gradient(120deg,#fff 0%,#f4fbff 56%,#fff8c7 100%);box-shadow:8px 8px 0 rgba(13,103,173,.12)}.welcome:after{content:'✦';position:absolute;right:27%;top:16px;color:rgba(13,103,173,.18);font-size:55px;transform:rotate(12deg)}.welcome>div:first-child{position:relative;z-index:1}.welcome h1{color:var(--navy)}.welcome-tags span{padding:7px 11px;border:1px solid rgba(13,103,173,.17);border-radius:999px;background:#fff;font-weight:800}.welcome-tags span:nth-child(2){background:#fff6a9;border-color:#efd21a}.welcome-tags span:nth-child(3){background:#eaf6ff}.progress-ring{border:7px solid #fff;box-shadow:0 8px 0 rgba(13,103,173,.14),0 15px 25px rgba(13,103,173,.16)}.progress-ring:before{content:'★';position:absolute;z-index:2;right:-4px;top:-13px;color:#f4bb00;font-size:23px;text-shadow:0 2px 0 #fff}
.quick-action{position:relative;overflow:hidden;min-height:150px;border:2px solid rgba(255,255,255,.86);border-radius:22px;box-shadow:6px 7px 0 rgba(6,27,57,.1);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.quick-action:after{position:absolute;right:16px;bottom:12px;font-size:31px;opacity:.82;filter:drop-shadow(0 2px 0 rgba(255,255,255,.35))}.quick-action.yellow:after{content:'🎯'}.quick-action.blue:after{content:'🛣️'}.quick-action.dark:after{content:'🏁'}.quick-action:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:8px 10px 0 rgba(6,27,57,.13);filter:saturate(1.07)}.quick-action>div{position:relative;z-index:1}.quick-action h2{letter-spacing:-.02em}.quick-number{font-size:13px;font-weight:900;background:rgba(255,255,255,.5);border-radius:12px;padding:8px 9px;align-self:flex-start}.student-pulse{border:2px solid #f0d52c;border-left:8px solid var(--yellow);border-radius:18px;background:linear-gradient(100deg,#fffdf0,#fff);box-shadow:5px 6px 0 rgba(239,195,0,.12)}.pulse-mark{padding:5px 9px!important;background:#071c39;color:var(--yellow);border-radius:999px;letter-spacing:.08em}.path-start{border:2px solid rgba(13,103,173,.28);background:linear-gradient(135deg,#fff 0%,#f3faff 70%,#fff8cf 100%);box-shadow:7px 7px 0 rgba(13,103,173,.1)}.path-start .path-items article{position:relative;background:rgba(255,255,255,.82);border-radius:16px;transition:transform .18s ease,box-shadow .18s ease}.path-start .path-items article:hover{transform:translateY(-3px);box-shadow:0 8px 15px rgba(4,56,103,.1)}.path-start .path-items .current{border:2px solid var(--yellow);box-shadow:0 0 0 4px rgba(255,217,28,.18)}.path-start .path-items .current:after{content:'EN COURS';position:absolute;right:10px;top:8px;color:#8a6a00;font-size:9px;font-weight:900;letter-spacing:.08em}.zoom-card{border:2px solid rgba(255,217,28,.68);box-shadow:8px 8px 0 rgba(13,103,173,.12)}.zoom-card .zoom-button{box-shadow:0 4px 0 rgba(6,27,57,.16)}.student-remote,.student-kahoot{border-radius:22px}.student-kahoot{border:2px solid rgba(255,217,28,.5);box-shadow:7px 7px 0 rgba(13,103,173,.1)}
@media(max-width:680px){.welcome{padding:22px 20px;border-radius:22px}.welcome:after{right:12%;font-size:40px}.quick-action{min-height:132px}.quick-action:after{font-size:26px}.path-start .path-items .current:after{position:static;display:block;margin-top:4px}.student-main:before{right:-220px}.student-main:after{left:-190px}.student-video-card{grid-template-columns:1fr;padding:19px}.student-video-actions{display:grid}.student-video-button,.student-video-secondary{justify-content:center;text-align:center}.student-video-visual{min-height:130px}}
@media(max-width:680px){.code-zone{padding:15px;border-radius:18px}.code-zone-head{display:block}.code-zone-head>span{display:inline-flex;margin-top:10px}}
@media(max-width:680px){.code-schedule{grid-template-columns:1fr}.code-schedule-head,.code-schedule-agency{padding:12px}}
.side-nav>a{gap:10px;padding:9px 11px;border-radius:14px}.side-nav>a .side-icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.08);color:var(--yellow);font:900 16px/1 Manrope;letter-spacing:-.06em;transition:transform .18s ease,background .18s ease,color .18s ease}.side-nav>a .side-icon-code{font-size:11px;letter-spacing:-.12em}.side-nav>a .side-icon-rousseau{background:var(--yellow);border-color:var(--yellow);color:var(--navy)}.side-nav>a:hover .side-icon,.side-nav>a.active .side-icon{transform:rotate(-5deg) scale(1.06);background:var(--yellow);border-color:var(--yellow);color:var(--navy)}.side-nav>a:hover .side-icon-rousseau,.side-nav>a.active .side-icon-rousseau{transform:rotate(5deg) scale(1.06)}
.side-more{margin-top:4px;border-top:1px solid rgba(255,255,255,.12);padding-top:9px}.side-more summary{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:14px;color:#bfd0e3;font-weight:600;cursor:pointer;list-style:none}.side-more summary::-webkit-details-marker{display:none}.side-more summary:hover{background:rgba(255,255,255,.1);color:#fff}.side-more summary .side-icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.08);color:var(--yellow);font:900 21px/1 Manrope;transition:transform .18s ease,background .18s ease}.side-more[open] summary .side-icon{transform:rotate(45deg);background:var(--yellow);color:var(--navy)}.side-more-links{display:grid;gap:4px;margin:5px 0 0 10px;padding-left:10px;border-left:1px dashed rgba(255,255,255,.18)}.side-more-links a{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:11px;color:#9fb5cc;font-size:13px;font-weight:600}.side-more-links a:hover{background:rgba(255,255,255,.09);color:#fff}.side-more-links .side-icon{width:27px;height:27px;display:grid;place-items:center;flex:0 0 27px;border:1px solid rgba(255,255,255,.12);border-radius:9px;color:var(--yellow);font:900 12px/1 Manrope}.side-more-links .side-icon-rousseau{background:var(--yellow);color:var(--navy)}
.path-start{margin-top:0}.path-start .panel-head{display:block}.path-intro{margin:8px 0 0;color:var(--muted);font-size:14px;max-width:620px}.path-start .path-items{margin-top:20px}
