/* Révisions Juliette V5 : interface plus expressive, toujours calme et accessible. */
:root{--navy:#253965;--deep:#17264a;--ink:#203450;--teal:#167b87;--muted:#586a83;--line:#dce5f3;--bg:#f6f8fe;--shadow:0 12px 32px rgba(29,53,110,.08)}
body{background:radial-gradient(circle at 77% 8%,#f1eafb 0,transparent 29%),radial-gradient(circle at 15% 35%,#e8f8f5 0,transparent 34%),#f7f9fe;color:var(--ink)}
.sidebar{background:linear-gradient(180deg,#233a65 0%,#172747 100%);border-right:0;padding-top:25px;box-shadow:8px 0 30px rgba(20,39,73,.055)}
.brand{padding-bottom:38px;color:#fff}.brand-mark{background:linear-gradient(130deg,#7a66de,#fd8d81);box-shadow:0 9px 22px rgba(0,0,0,.16);height:49px;width:49px}
.brand-mark span{font-size:13px;color:#fff;position:relative;top:-10px;left:-2px}
.brand strong{font-size:15px}.brand small{color:#c1d7f4;font-size:11px}
.nav-caption{color:#a8bde4;margin-top:0;margin-bottom:13px}
.nav-items{gap:6px}.nav{min-height:44px;color:#d9e5fa;padding:10px 12px;font-size:13.3px;position:relative;transition:background .2s,color .2s,transform .2s}
.nav span{opacity:.95}.nav:hover{background:rgba(255,255,255,.11);color:#fff;transform:translateX(2px)}
.nav.active,.nav.active:hover{background:#f1f5ff;color:#263b6a;box-shadow:0 6px 16px rgba(6,20,51,.09)}
.nav.active::before{content:"";position:absolute;left:0;top:9px;bottom:9px;border-radius:9px;width:4px;background:#f88385}
.nav-primary{background:linear-gradient(105deg,#dcfbf2,#e4f1ff)!important;color:#123e69!important;margin-top:11px;box-shadow:0 7px 18px rgba(0,0,0,.12)}
.nav-primary::after{content:"";height:1px;position:absolute;top:-9px;left:7px;right:7px;background:rgba(255,255,255,.2)}
.sidebar-bottom{border-top-color:rgba(255,255,255,.15);color:#e4ecfb;margin-top:17px;padding-top:16px}
.sidebar-bottom small{color:#b7c7df}.privacy-dot{background:#83e2c4}
.cahier-sidebar{margin-top:auto;border:1px solid rgba(255,255,255,.27);border-radius:15px;background:linear-gradient(110deg,rgba(124,103,209,.45),rgba(242,139,138,.35));padding:13px 11px;color:#fff;text-decoration:none;display:flex;align-items:center;gap:10px;transition:transform .2s}
.cahier-sidebar:hover{transform:translateY(-2px)}.cahier-icon{font-size:25px;color:#ffdb94}.cahier-sidebar strong{font-size:12px;display:block}.cahier-sidebar small{font-size:10px;color:#eff2ff;display:block;margin-top:2px}
.topbar{background:rgba(255,255,255,.92);border-bottom:1px solid #e3e5f3;position:relative}
.topbar:after{content:"";height:3px;position:absolute;bottom:-1px;left:0;right:0;background:linear-gradient(90deg,#54c6bb,#8f77dc,#f98f7c,#ffd88a)}
.topbar-title{color:#47628a}.avatar{background:linear-gradient(145deg,#ffc9b7,#e8cbfc);color:#5b3c77;box-shadow:0 4px 12px rgba(96,57,132,.12)}
.calm-toggle{background:#eff1ff;color:#4d5191;border:1px solid #dedff8;border-radius:999px;font-size:11px;font-weight:750;padding:7px 11px;white-space:nowrap}
.calm-toggle[aria-pressed="true"]{background:#dff4f0;color:#23635f;border-color:#bee6df}
.top-cahier{font-size:11px;font-weight:800;border-radius:999px;background:#fff0d6;color:#7c4c30;padding:8px 13px;text-decoration:none;white-space:nowrap}
.container{max-width:1250px;width:100%;padding-top:33px}
.view.current{animation:v5-fade .4s ease-out both}
@keyframes v5-fade{from{opacity:.7;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.hero{min-height:315px;border-radius:25px;background:linear-gradient(115deg,#25386c 4%,#4e4e9f 53%,#8b5fa9 100%);box-shadow:0 16px 38px rgba(46,50,111,.16)}
.hero:before{content:"";position:absolute;width:450px;height:450px;right:11%;top:-220px;border:1px solid rgba(255,255,255,.23);border-radius:50%;box-shadow:0 0 0 48px rgba(255,255,255,.035),0 0 0 96px rgba(255,255,255,.03)}
.hero-copy{padding:42px 45px}.hero h1{font-size:clamp(31px,3.5vw,45px);letter-spacing:-.045em}.hero p{font-size:14px;max-width:390px;color:#e8e6fd}
.eyebrow{color:#8163c7;letter-spacing:.14em}.eyebrow.light{color:#aff1df}.btn{transition:filter .2s,transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-1px)}.btn-primary{background:#187b89;border-color:#187b89}.btn-primary:hover{background:#155e6e}
.btn-coral{background:#ffb389;color:#33294e;border-color:#ffb389}.btn-coral:hover{background:#ffd4a7;color:#33294e}
.hero-card{border:2px solid rgba(255,255,255,.8);right:40px;top:74px;box-shadow:0 24px 38px rgba(27,18,69,.22);transform:rotate(6deg)}
.hero-card:before{content:"✦";font-size:22px;color:#f28d84;position:absolute;top:-20px;right:-19px}.orb1{background:#efc4b4;opacity:.4}.orb2{background:#90e1d3;opacity:.25}
.v5-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:19px}
.v5-resource{border:1px solid #e1dcf9;background:linear-gradient(125deg,#faf7ff,#f2f0ff);padding:20px;border-radius:20px;display:flex;align-items:center;gap:14px;color:#342e70;text-align:left;text-decoration:none;box-shadow:0 6px 19px rgba(60,37,131,.05);min-height:93px;transition:transform .18s,border-color .18s,box-shadow .18s}
.v5-resource:hover{transform:translateY(-3px);border-color:#bfaae9;box-shadow:0 11px 28px rgba(60,37,131,.1)}
.v5-resource-create{border-color:#bde8e2;background:linear-gradient(130deg,#e8faf5,#f5fffd);color:#175f65;cursor:pointer}
.v5-resource strong{display:block;font-size:15px;line-height:1.3}.v5-resource small{display:block;font-size:11px;line-height:1.45;color:#64728b;margin-top:5px}
.resource-illustration{height:45px;width:45px;flex-shrink:0;background:#fff;border-radius:14px;display:grid;place-items:center;font-size:25px;box-shadow:0 3px 9px rgba(31,47,90,.08)}
.v5-resource-arrow{margin-left:auto;font-size:24px;font-weight:700;flex:none}
.section-heading h2{font-size:25px;color:#28345c}.section-heading.spaced{border-top:1px solid #dde4f0;padding-top:27px}
.metric{border:1px solid #e0e5f6;border-radius:18px;box-shadow:0 8px 25px rgba(31,49,91,.06);position:relative;overflow:hidden}
.metric::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:#75cfca}
.metric:nth-child(2)::before{background:#ec96ac}.metric:nth-child(3)::before{background:#aa91e6}
.metric strong{color:#243e65}.metric>span{color:#52637e;font-size:12.5px}
.fiche-card{border:1px solid #dee5f2;border-top:5px solid #6cbacb;border-radius:19px;box-shadow:0 8px 22px rgba(37,62,102,.055);position:relative;overflow:hidden}
.fiche-card:after{content:"✦";position:absolute;right:16px;top:13px;color:#dce5ef;font-size:23px}
.fiche-card h3{font-size:19px;line-height:1.24}.fiche-card p{font-size:13px}
.fiche-card.v5-subject-maths{border-top-color:#7971e4}.fiche-card.v5-subject-maths .card-subject{color:#6c53be}
.fiche-card.v5-subject-physique{border-top-color:#f5a45c}.fiche-card.v5-subject-physique .card-subject{color:#a36522}
.fiche-card.v5-subject-svt{border-top-color:#58b991}.fiche-card.v5-subject-svt .card-subject{color:#207d57}
.fiche-card.v5-subject-histoire{border-top-color:#df90aa}.fiche-card.v5-subject-histoire .card-subject{color:#a14e6c}
.fiche-card.v5-subject-langues{border-top-color:#59a8e9}.fiche-card.v5-subject-langues .card-subject{color:#286fa8}
.fiche-card:hover{transform:translateY(-3px);box-shadow:0 17px 34px rgba(40,57,103,.1)}
.help-strip{background:#e9f7f9;border-color:#bce4ec}.due-home{border-left:5px solid #57beba}
.page-head{border-bottom:1px solid #dce5ef;padding-bottom:23px;margin-bottom:21px}
.page-head h1{font-size:clamp(29px,4vw,40px);color:#253b67}.page-head p{color:#4e6480;font-size:15px;max-width:860px}
.search-wrap,.filters select{box-shadow:0 4px 13px rgba(26,48,86,.035)}
.v4-flow{position:relative;gap:21px}.v4-flow:before{content:"";position:absolute;top:20px;bottom:22px;left:48px;width:3px;border-radius:2px;background:linear-gradient(#66c3b7,#a192e6,#f3a38a);opacity:.65}
.v4-step{position:relative;z-index:1;border:1px solid #dfe4f1;border-radius:22px;box-shadow:0 11px 25px rgba(34,58,96,.06);padding:27px 28px}
.v4-step:nth-child(1){border-top:5px solid #71c7c2}.v4-step:nth-child(2){border-top:5px solid #9a84e2}.v4-step:nth-child(3){border-top:5px solid #ffb088}
.v4-step:nth-child(2) .v4-num{background:#eae6ff;color:#6e52bd}.v4-step:nth-child(3) .v4-num{background:#fff0e2;color:#c2743f}
.v4-step .v4-num{box-shadow:0 0 0 5px #fff}.v4-main h2{font-size:22px}.v4-more{background:#f7f9fe}
.v4-review label.wide{background:#f7f9ff;padding:10px;border-radius:10px;border:1px solid #e3e7f8}
.v5-quality{display:flex;flex-direction:column;gap:5px;border:1px solid #e3d7aa;background:#fff9e8;color:#735725;border-radius:13px;padding:12px 15px;margin-top:14px;font-size:13px}
.v5-quality strong{font-size:14px}.v5-quality-good{background:#e9f8ee;border-color:#afe1c4;color:#276f52}
.detail-header{border-bottom:1px solid #dfe5f3;padding-bottom:16px;margin-bottom:17px}.detail-header h1{color:#263961}
.v5-detail-marker{display:inline-block;background:#efeafb;color:#6d56b2;padding:6px 10px;border-radius:999px;letter-spacing:.08em;font-size:10px;font-weight:850}
.study-controls{background:#eff3fa;border:1px solid #dde6f2;border-radius:16px;padding:11px;max-width:790px;margin:18px auto}
.study-controls .switch{border-color:#d6e0f5}.detail-learning-status{border-left:4px solid #77b7de}
.sheet.v5-paper{border:1px solid #dce5f2;border-radius:19px;padding:33px 40px;max-width:880px;box-shadow:0 16px 36px rgba(38,61,106,.07);position:relative}
.sheet.v5-paper:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;border-radius:19px 0 0 19px;background:linear-gradient(#8a7adf,#65cabc,#ffad8e)}
.sheet-top{background:linear-gradient(115deg,#253d70,#6650a6);border-radius:14px;padding:24px 26px;margin-bottom:25px}
.sheet-top h2{font-size:29px}.sheet-top .smallcaps{color:#b6f6e1}
.paper-section{margin:20px 0 24px}.paper-section h3{color:#253967;letter-spacing:.055em;font-size:13px;margin:0 0 11px}
.paper-section:not(.paper-highlight):not(.paper-warn):not(.v5-lesson):not(.v5-diagram-section){border-left:3px solid #dce4f5;padding-left:17px}
.paper-highlight{background:linear-gradient(130deg,#e2f6f1,#eaf7fb);border:1px solid #c6e9e4;padding:19px 22px}
.paper-warn{background:#fff1ec;border:1px solid #ffdfd1}
.v5-lesson{padding:24px 26px;border:1px solid #e5e0fa;border-radius:15px;background:linear-gradient(155deg,#fff,#fbfaff);box-shadow:0 5px 16px rgba(67,61,127,.045)}
.v5-lesson h3{font-size:18px;color:#5944a3;margin:0 0 9px}.v5-course-label{display:inline-block;border-radius:99px;background:#f0ebff;padding:4px 10px;color:#6957a5;font-size:11px;font-weight:700;margin-bottom:13px}
.v5-course{font-size:15px;line-height:1.85;overflow-wrap:anywhere}.v5-course p{margin:0 0 15px;font-size:15px;line-height:1.85;white-space:normal}
.v5-course p:last-child{margin-bottom:0}.v5-course h4{margin:19px 0 8px;color:#3b4d88;font-size:15px}
.v5-course ol,.v5-course ul{padding-left:24px;margin:7px 0 16px}.v5-course li{font-size:15px;line-height:1.7;margin:5px 0}
.v5-diagram-section{background:#f5f9ff;border:1px solid #dce8f7;padding:21px 23px;border-radius:16px}
.v5-diagram-heading{display:flex;justify-content:space-between;gap:9px;align-items:center;flex-wrap:wrap}.v5-diagram-heading h3{font-size:15px;margin-bottom:8px}
.v5-figure-label{border:1px solid #bfdeda;padding:4px 8px;border-radius:99px;background:#ecf9f6;color:#2c7776;font-size:10px;font-weight:700}
.v5-diagram{background:#fff;border:1px solid #e0e8f4;border-radius:13px;padding:18px 15px;text-align:center}
.v5-diagram>h4{font-size:16px;color:#25466e;margin:0 0 13px}
.v5-diagram-track{display:flex;align-items:stretch;gap:8px;justify-content:center;max-width:100%;overflow:visible}
.v5-diagram-node,.v5-step-node{min-width:0;flex:1;background:#e9f8f3;border:1px solid #c6e9e2;padding:14px 9px;border-radius:12px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:6px}
.v5-diagram-node>span,.v5-step-node>span{font-size:11px;color:#3e677a;font-weight:650}
.v5-diagram-node>strong,.v5-step-node>strong{font-size:17px;color:#244b61;overflow-wrap:anywhere;line-height:1.35}
.v5-diagram-action{background:#f2ecff;border-color:#ddcef9}.v5-diagram-action strong{color:#6250a3}
.v5-diagram-output{background:#fff1e7;border-color:#ffdbb7}.v5-diagram-output strong{color:#996039}
.v5-diagram-arrow{align-self:center;font-weight:850;color:#9270c7;font-size:22px;flex:none}
.v5-step-node{background:#f1f6ff}.v5-step-node:nth-child(4n+1){background:#e9f8f3}.v5-step-node:nth-child(4n+3){background:#f2ecff}
.v5-loop-label{font-size:12px;color:#5d7290;margin-top:11px;font-weight:700}
.v5-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v5-comparison .v5-diagram-node:nth-child(2){background:#fff1e7;border-color:#ffdbb7}
.v5-diagram-caption{font-size:13px!important;line-height:1.6!important;margin:13px auto 0!important;color:#536980;max-width:640px}
.v5-diagram-controls{margin-top:10px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.v5-diagram-controls>span{font-size:11px;color:#66778a}.v5-play{border:1px solid #cddfe8}
.v5-diagram.is-playing .v5-diagram-node,.v5-diagram.is-playing .v5-step-node{animation:v5-show-node .48s ease-out backwards}
.v5-diagram.is-playing .v5-diagram-arrow{animation:v5-arrow-appear .45s ease-out .48s backwards}
.v5-diagram.is-playing .v5-diagram-track>:nth-child(3){animation-delay:.5s}.v5-diagram.is-playing .v5-diagram-track>:nth-child(4){animation-delay:1s}.v5-diagram.is-playing .v5-diagram-track>:nth-child(5){animation-delay:1.4s}.v5-diagram.is-playing .v5-diagram-track>:nth-child(6){animation-delay:1.6s}.v5-diagram.is-playing .v5-diagram-track>:nth-child(7){animation-delay:2s}
@keyframes v5-show-node{from{opacity:.25;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes v5-arrow-appear{from{opacity:.25;transform:scale(.65)}to{opacity:1;transform:scale(1)}}
.v5-attached-figure{margin:15px 0 26px;padding:15px;background:#fff;border:1px solid #d8e7f1;border-radius:14px;text-align:center}
.v5-attached-figure img{width:auto;max-width:100%;height:auto;max-height:360px;object-fit:contain}
.v5-attached-figure figcaption{font-size:11px;color:#5e7089;margin-top:9px}
.v5-hidden-file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.v5-illustration-button{position:relative;cursor:pointer}
.v5-calm *, .v5-calm *::before,.v5-calm *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(max-width:1050px){.top-cahier{display:none}.container{padding-left:26px;padding-right:26px}.hero-card{right:20px}}
@media(max-width:740px){
 .sidebar{height:72px;background:#fff;border-top:1px solid #e3e7f0;padding:4px 4px calc(4px + env(safe-area-inset-bottom));box-shadow:0 -6px 15px rgba(40,51,83,.07)}
 .sidebar .nav-items{grid-template-columns:repeat(6,minmax(0,1fr));gap:1px}
 .sidebar .nav{min-width:0;min-height:55px;padding:6px 0;color:#65758b;font-size:9.4px;font-weight:700;border-radius:10px;white-space:normal;line-height:1.15}
 .sidebar .nav span{font-size:20px}.sidebar .nav.active{background:#e9f5f5;color:#136e77;box-shadow:none}.sidebar .nav.active::before{top:auto;bottom:2px;left:20%;right:20%;width:auto;height:3px;background:#168c92}
 .sidebar .nav-primary{margin-top:0;box-shadow:none;background:#e9f1ff!important;color:#1c6695!important}.sidebar .nav-primary:after{display:none}
 .topbar{height:65px;padding:0 13px}.topbar-right #top-date{display:none}.topbar-right{gap:9px}.calm-toggle{font-size:10px;padding:7px 9px}.top-cahier{display:inline;font-size:10px;padding:8px 9px}.avatar{height:31px;width:31px}
 .topbar-title{font-size:9px;letter-spacing:.08em;max-width:84px}
 .container{padding:19px 14px 92px}.hero{min-height:280px;border-radius:20px}.hero-copy{padding:32px 24px}.hero h1{font-size:30px}
 .v5-shortcuts{grid-template-columns:1fr;gap:10px;margin-top:12px}.v5-resource{min-height:80px;padding:13px;border-radius:16px}.resource-illustration{height:38px;width:38px;font-size:21px}.v5-resource strong{font-size:14px}
 .metric{border-radius:13px}.metric strong{font-size:26px}
 .v4-flow:before{left:30px}.v4-step{padding:18px 15px}.v4-main h2{font-size:19px}
 .sheet.v5-paper{padding:16px;border-radius:13px}.sheet-top{padding:18px 16px}
 .v5-lesson{padding:17px 14px}.v5-lesson h3{font-size:16px}.v5-course,.v5-course p,.v5-course li{font-size:14px;line-height:1.8}
 .v5-diagram-section{padding:12px}.v5-diagram{padding:11px 8px}
 .v5-diagram-track{gap:3px}.v5-diagram-node,.v5-step-node{padding:11px 5px;border-radius:9px}
 .v5-diagram-node strong,.v5-step-node strong{font-size:12px}.v5-diagram-node span,.v5-step-node span{font-size:9px}.v5-diagram-arrow{font-size:14px}
}
@media(max-width:410px){.topbar-title{display:none}.v5-shortcuts{margin-top:11px}.card-grid{grid-template-columns:1fr}.metrics{gap:7px}.metric{padding:12px 9px}}
@media(prefers-reduced-motion:reduce){.view.current,.fiche-card,.v5-resource,.nav,.v5-diagram.is-playing .v5-diagram-node,.v5-diagram.is-playing .v5-step-node,.v5-diagram.is-playing .v5-diagram-arrow{animation:none!important;transition:none!important}}
@media print{
 @page{size:A4;margin:13mm}
 .v5-shortcuts,.calm-toggle,.cahier-sidebar,.v5-diagram-controls,.v5-quality{display:none!important}
 .view.current{animation:none!important}.sheet.v5-paper{border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important}
 .sheet.v5-paper:before{display:none!important}
 .sheet-top{background:#253d70!important;border-radius:7px!important;padding:16px!important}
 .v5-lesson,.v5-diagram-section{box-shadow:none!important;break-inside:avoid;page-break-inside:avoid}
 .v5-course,.v5-course p,.v5-course li{font-size:11.7px;line-height:1.55}
 .v5-diagram{padding:10px!important}.v5-diagram-node,.v5-step-node{padding:9px 8px!important}
 .v5-diagram-node>strong,.v5-step-node>strong{font-size:13px!important}
 .v5-lesson{padding:13px 15px!important}.v5-lesson h3{font-size:14px!important}
 .v5-attached-figure{break-inside:avoid!important;page-break-inside:avoid!important}
 .v5-attached-figure img{max-height:110mm!important}
}
@media(max-width:740px){.cahier-sidebar{display:none!important}}
