@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Marcellus&display=swap');
:root{
  color-scheme:dark; --bg:#0d101c; --panel:#181b2c; --panel2:#1d2035; --muted:#999ab5; --ink:#f6f0e9;
  --line:rgba(215,198,168,.13); --gold:#e6bd7a; --gold-dark:#aa824a; --purple:#a89bff; --teal:#73d9be;
  --red:#ed9e9e; --sidebar:#111424; --shadow:0 18px 54px rgba(0,0,0,.24);
  font:15px/1.5 'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--ink);background:var(--bg);}
body:before{content:'';pointer-events:none;position:fixed;inset:0;background:radial-gradient(ellipse 70% 50% at 77% -18%,rgba(115,95,181,.12),transparent),radial-gradient(ellipse 50% 60% at -10% 90%,rgba(87,108,177,.065),transparent);z-index:-1}
button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit;text-decoration:none}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
h1,h2,h3,h4,p{margin:0}h1,h2,h3,.fantasy{font-family:'Marcellus',Georgia,serif;font-weight:400}h1{font-size:clamp(29px,3vw,45px);line-height:1.17}h2{font-size:26px}h3{font-size:19px}
small{font-size:12px}svg{display:block}.dim{color:var(--muted)}.muted{color:var(--muted);font-size:13px}.gold{color:var(--gold)}.teal{color:var(--teal)}.purple{color:var(--purple)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.shell{display:flex;min-height:100vh}.sidebar{flex:0 0 253px;width:253px;position:sticky;top:0;height:100vh;padding:34px 19px 22px;background:linear-gradient(168deg,#16182a 0%,#111423 72%);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:3}
.brand{display:flex;gap:13px;align-items:center;padding:2px 11px 26px}.brand-mark{width:45px;height:49px;display:grid;place-items:center;position:relative;color:var(--gold);font-size:26px;filter:drop-shadow(0 0 8px rgba(227,176,105,.25))}.brand-mark:before{content:'';position:absolute;inset:2px 3px;background:rgba(210,167,101,.07);border:1px solid rgba(231,187,122,.7);clip-path:polygon(50% 0,100% 18%,100% 70%,50% 100%,0 70%,0 18%)}.brand-mark span{position:relative}
.brand-name{font-size:18px;font-weight:800;letter-spacing:.06em;line-height:1.1}.brand-name b{color:var(--gold)}.brand-tag{color:#817c96;font-size:9px;letter-spacing:.2em;margin-top:6px;font-weight:800}
.nav-label,.micro-label{font-size:10px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:#84849c}.nav-label{margin:19px 17px 12px}.nav-list{display:grid;gap:6px}.nav-item{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:13px 16px;border:1px solid transparent;color:#a9a9c0;background:none;border-radius:12px;font-weight:700;transition:background .15s,color .15s}.nav-item:hover{background:#24253a;color:var(--ink)}.nav-item.active{background:linear-gradient(105deg,rgba(217,174,109,.19),rgba(217,174,109,.055));color:#f6d3a0;border-color:rgba(217,174,109,.2)}.nav-ico{font-size:19px;width:22px;text-align:center;line-height:1}
.sidebar-bottom{margin-top:auto;padding:15px 13px 7px}.sidebar-bottom .side-orb{font-size:27px;color:var(--gold);margin-bottom:8px}.sidebar-bottom strong{display:block;font-size:13px;color:#e8e0e4}.sidebar-bottom p{font-size:12px;color:#86869f;margin-top:3px;line-height:1.6}.sidebar-bottom .side-line{height:1px;background:var(--line);margin-bottom:20px}
.main{flex:1;min-width:0;max-width:1700px;margin:auto;width:100%}.topbar{height:94px;padding:0 4.1%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(215,198,168,.08)}.crumb{display:flex;align-items:center;gap:10px;color:#9e9ab1;font-size:13px;font-weight:600}.crumb .spark{color:var(--gold)}.top-actions{display:flex;align-items:center;gap:10px}.profile-button{border:1px solid var(--line);background:#1d2032;color:var(--ink);border-radius:13px;padding:7px 12px 7px 7px;display:flex;gap:10px;align-items:center}.avatar{display:grid;place-items:center;flex-shrink:0;width:39px;height:39px;border-radius:11px;background:linear-gradient(145deg,#524168,#292942);border:1px solid #777092;font-size:21px}.profile-button .profile-text{text-align:left;font-size:12px;line-height:1.35}.profile-button strong{display:block;font-size:13px}.profile-button .arrow{color:var(--gold);margin-left:6px}
.content{padding:37px 4.1% 70px;max-width:1500px;margin:0 auto}.notice{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;background:rgba(118,105,193,.1);border:1px solid rgba(157,137,251,.17);color:#c4bfe4;border-radius:12px;font-size:12px;margin-bottom:24px}.notice strong{color:#e1d5fe}.notice button{color:#eed39e;background:transparent;border:0;font-size:12px;font-weight:800}.section-header{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:29px 0 17px}.section-header h2{font-size:24px;margin-top:4px}.section-header .muted{font-size:12px}
.hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(230px,.85fr);align-items:center;gap:24px;background:radial-gradient(circle at 80% 48%,rgba(139,117,224,.2),transparent 40%),linear-gradient(115deg,#24253e,#1c2036 65%,#222641);border:1px solid rgba(224,194,146,.18);border-radius:20px;padding:36px 41px;min-height:268px;box-shadow:var(--shadow)}.hero:after{content:'✧   ✦   ✧';position:absolute;right:-34px;top:-18px;font-size:160px;color:rgba(224,194,146,.045);letter-spacing:-25px;transform:rotate(10deg);pointer-events:none}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-weight:800;display:flex;align-items:center;gap:9px;margin-bottom:15px}.eyebrow:before{content:'✦';font-size:14px}
.hero h1{max-width:550px}.hero p{color:#aaaac5;max-width:490px;font-size:14px;margin-top:13px;line-height:1.65}.hero .btn{margin-top:21px}.hero-right{position:relative;z-index:1;display:grid;place-items:center;align-content:center;min-height:185px}.hero-orb{width:160px;height:160px;border-radius:50%;display:grid;place-items:center;position:relative;background:radial-gradient(circle,rgba(233,191,121,.22),rgba(233,191,121,.045) 54%,transparent 70%);border:1px solid rgba(232,191,125,.2);box-shadow:0 0 0 16px rgba(230,185,121,.027),0 0 0 35px rgba(230,185,121,.025),0 0 80px rgba(188,156,233,.16);font-size:63px;color:var(--gold)}.hero-orb:before,.hero-orb:after{content:'✧';font-size:28px;color:rgba(234,208,163,.65);position:absolute;left:-24px;top:12px}.hero-orb:after{left:auto;right:-17px;top:auto;bottom:12px;font-size:20px}.hero-orb span{filter:drop-shadow(0 4px 14px rgba(255,219,136,.35))}.hero-stamp{font-size:10px;letter-spacing:.19em;text-transform:uppercase;color:#b7aab1;margin-top:26px;text-align:center}
.btn{border:0;border-radius:11px;min-height:42px;padding:10px 17px;font-weight:800;font-size:13px;display:inline-flex;gap:10px;align-items:center;justify-content:center;transition:transform .15s,filter .15s}.btn:hover{transform:translateY(-2px);filter:brightness(1.09)}.btn-primary{color:#282133;background:linear-gradient(110deg,#f2d49d,#d9af6e);box-shadow:0 8px 22px rgba(212,162,100,.16)}.btn-secondary{background:#2a2b46;color:#d9d4ef;border:1px solid rgba(178,170,214,.18)}.btn-outline{background:transparent;color:var(--gold);border:1px solid rgba(218,177,111,.34)}.btn-danger{background:rgba(234,114,133,.1);color:#ffb5bd;border:1px solid rgba(239,148,161,.22)}.btn-sm{padding:8px 12px;min-height:34px;font-size:12px}.btn-full{width:100%}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:20px}.stat-card{background:rgba(30,32,51,.83);border:1px solid var(--line);border-radius:15px;padding:18px 20px;min-width:0}.stat-top{display:flex;justify-content:space-between;color:#aaa6c1;font-size:11px;font-weight:700;gap:5px}.stat-icon{font-size:20px}.stat-val{font-family:'Marcellus',Georgia,serif;font-size:31px;color:var(--ink);margin-top:7px;line-height:1.2}.stat-sub{font-size:11px;color:#8587a5;margin-top:4px}
.grid-split{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(285px,1fr);gap:18px}.panel{background:linear-gradient(155deg,rgba(31,34,55,.95),rgba(25,28,45,.96));border:1px solid var(--line);border-radius:17px;padding:21px 22px;min-width:0}.panel-header{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:18px}.panel-header h3{font-size:19px}.panel-header .muted{font-size:11px}.quest-list{display:grid;gap:12px}.quest{display:flex;align-items:center;gap:14px;padding:13px 15px;border-radius:12px;background:rgba(12,15,30,.35);border:1px solid rgba(255,255,255,.045)}.quest-icon{display:grid;place-items:center;width:39px;height:39px;flex-shrink:0;border-radius:10px;background:#2e2c46;color:var(--gold);font-size:21px}.quest.done .quest-icon{background:rgba(84,182,149,.15);color:var(--teal)}.quest-copy{min-width:0;flex:1}.quest-title{font-size:13px;font-weight:800}.quest-detail{color:#8889a7;font-size:11px;margin-top:2px}.quest-reward{color:var(--gold);font-size:12px;font-weight:800;white-space:nowrap}.quest.done .quest-reward{color:var(--teal)}
.level-card{margin-bottom:21px;padding:17px 17px 14px;background:rgba(11,14,29,.3);border-radius:13px;border:1px solid rgba(255,255,255,.055)}.level-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.level-head strong{font-size:14px}.progress-meta{display:flex;justify-content:space-between;gap:8px;margin-top:15px;margin-bottom:7px;font-size:11px;color:#a4a3b6}.progress{height:8px;border-radius:90px;background:rgba(255,255,255,.065);overflow:hidden}.progress-fill{height:100%;width:0;background:linear-gradient(90deg,#a495ea,#e3b879);border-radius:90px;transition:width .3s}.duo-portraits{display:flex;align-items:center;justify-content:space-around;padding:10px 0 22px}.duo-person{text-align:center;min-width:0}.duo-person .avatar{height:61px;width:61px;border-radius:17px;margin:0 auto 8px;font-size:32px}.duo-person strong{display:block;font-size:13px;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duo-person small{color:#9999ae}.duo-link{font-size:30px;color:var(--gold)}
.section-copy{margin-bottom:22px;color:#a8a8bc;max-width:700px}.title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px}.title-row h1{font-size:35px;margin:4px 0 7px}.title-row p{color:#9998b1;font-size:13px}.subject-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.subject-card{min-height:184px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--line);background:linear-gradient(155deg,#23243d,#1a1e32);border-radius:17px;padding:20px;position:relative;overflow:hidden;color:var(--ink);transition:transform .17s,border-color .17s}.subject-card:after{content:'✧';position:absolute;right:12px;top:-12px;font-size:90px;color:rgba(255,255,255,.025)}.subject-card:hover{transform:translateY(-4px);border-color:rgba(223,186,131,.55)}.subject-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:13px;background:var(--subject-soft);font-size:26px;margin-bottom:20px;color:var(--subject-color)}.subject-card strong{font-family:'Marcellus',Georgia,serif;font-size:19px}.subject-card p{color:#9595ae;font-size:12px;margin-top:3px}.subject-card .enter{color:var(--gold);font-size:12px;font-weight:800;margin-top:auto;padding-top:17px}
.quiz-wrap{max-width:850px;margin:auto}.quiz-step{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:13px;margin-bottom:14px}.quiz-step strong{color:var(--gold)}.quiz-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-bottom:22px}.quiz-progress span{height:6px;border-radius:20px;background:#34334b}.quiz-progress span.past{background:var(--gold)}.quiz-progress span.now{background:var(--purple)}.quiz-card{background:linear-gradient(135deg,#252640,#1b2036);border:1px solid rgba(224,194,146,.19);padding:clamp(22px,4vw,39px);border-radius:20px;box-shadow:var(--shadow)}.quiz-card h2{font-size:clamp(23px,3vw,32px);line-height:1.35;margin:14px 0 25px}.answer-grid{display:grid;gap:11px}.answer{display:flex;align-items:center;gap:13px;width:100%;padding:15px 17px;text-align:left;border:1px solid #3d3c56;background:rgba(12,14,27,.4);border-radius:11px;color:#e6e4f0;font-size:14px;transition:background .15s,border-color .15s}.answer:hover:not(:disabled){border-color:#8f7ca1;background:rgba(128,110,173,.12)}.answer .letter{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border:1px solid #77728f;border-radius:8px;color:#b7afce;font-size:12px;font-weight:800}.answer.correct{border-color:rgba(115,217,190,.72);background:rgba(84,180,148,.12)}.answer.wrong{border-color:rgba(241,144,154,.63);background:rgba(228,101,125,.1)}.answer.correct .letter{border-color:var(--teal);color:var(--teal)}.answer.wrong .letter{border-color:var(--red);color:var(--red)}.answer:disabled{opacity:1;cursor:default}.explanation{padding:15px 17px;border:1px solid rgba(227,187,123,.18);background:rgba(227,187,123,.06);border-radius:12px;color:#d3c4aa;font-size:13px;margin-top:17px}.quiz-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:23px}.quiz-footer small{color:#9493ae}.result-center{text-align:center}.result-trophy{font-size:65px;margin:4px 0 10px}.result-score{font-family:'Marcellus',Georgia,serif;font-size:65px;color:var(--gold);line-height:1.2}.result-center p{color:var(--muted);margin:7px 0 24px}.result-buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.challenge-banner{padding:23px;background:radial-gradient(circle at 90% 10%,rgba(124,108,228,.18),transparent 45%),#24233b;border:1px solid rgba(212,174,116,.2);border-radius:16px;display:flex;gap:22px;align-items:center;justify-content:space-between}.challenge-banner .label{color:var(--gold);letter-spacing:.16em;font-size:10px;font-weight:800;text-transform:uppercase}.challenge-banner h3{font-size:23px;margin:7px 0}.challenge-banner p{color:#a7a5bd;font-size:12px}.challenge-banner .big{font-size:39px;color:var(--gold)}
.leader-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.leader-card{padding:27px;border:1px solid var(--line);background:linear-gradient(155deg,#27273d,#1b1d30);border-radius:18px;position:relative;overflow:hidden}.leader-card.winner{border-color:rgba(237,188,112,.4)}.leader-card .crown{position:absolute;right:20px;top:13px;font-size:28px;color:var(--gold)}.leader-card .avatar{width:75px;height:75px;font-size:39px;margin-bottom:15px}.leader-card h3{font-size:26px}.leader-card .rank{color:var(--gold);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.leader-card .score{font-family:'Marcellus',Georgia,serif;font-size:48px;color:var(--gold);margin:15px 0 4px}.leader-card .score-unit{color:var(--muted);font-size:13px}.leader-card .leader-line{display:flex;justify-content:space-between;padding-top:12px;margin-top:12px;border-top:1px solid var(--line);font-size:13px}.leader-line span{color:var(--muted)}
.badge-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.achievement{border:1px solid var(--line);border-radius:12px;background:#1a1e31;padding:18px 11px;text-align:center}.achievement .symbol{font-size:32px;filter:grayscale(1);opacity:.34}.achievement.unlocked .symbol{filter:none;opacity:1}.achievement strong{display:block;font-size:12px;margin-top:8px}.achievement small{color:#9996af;font-size:10px}.achievement.unlocked{border-color:rgba(213,170,113,.3);background:#25253a}
.subject-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.tab{border:1px solid var(--line);border-radius:999px;background:#1b1d30;color:#a5a3ba;font-size:12px;padding:8px 14px;font-weight:800}.tab.active{background:rgba(229,191,123,.17);color:var(--gold);border-color:rgba(229,191,123,.3)}.notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.note-card{background:linear-gradient(150deg,#23243a,#1a1d2f);border:1px solid var(--line);border-radius:15px;padding:20px;min-height:180px;display:flex;flex-direction:column}.note-card .note-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.note-card h3{margin:12px 0 9px;font-size:20px}.note-card p{color:#9e9cb1;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.note-foot{border-top:1px solid var(--line);padding-top:12px;margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#8786a3;gap:8px}.note-foot button{color:#dfa7ac;background:transparent;border:0;font-size:11px}.subject-pill{font-size:10px;font-weight:800;border-radius:6px;padding:5px 8px;background:rgba(164,157,245,.13);color:#c8bfff}.empty{padding:40px 20px;border:1px dashed rgba(218,184,136,.2);border-radius:16px;text-align:center;background:rgba(31,32,49,.4)}.empty .big{font-size:45px;margin-bottom:9px}.empty p{color:var(--muted);margin:9px 0 17px;font-size:13px}
.form-panel{max-width:740px;margin:auto}.field{display:grid;gap:7px;margin:18px 0}.field label{color:#d4cdda;font-size:12px;font-weight:800}.input{background:#111526;border:1px solid #44435b;border-radius:11px;color:var(--ink);padding:12px 14px;width:100%;outline:none}.input:focus{border-color:var(--gold)}textarea.input{resize:vertical;min-height:175px;line-height:1.5}.form-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.subtle{color:#8c89a5}.loading-page{display:grid;place-items:center;min-height:70vh}.boot{height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#a6a1b7}.boot-rune{font-size:60px;color:var(--gold);margin-bottom:20px}.boot p{font-family:Georgia,serif;letter-spacing:.08em}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at 50% 20%,rgba(131,104,189,.18),transparent 42%)}.login-panel{max-width:460px;width:100%;padding:34px;background:linear-gradient(135deg,#26263c,#191d31);border:1px solid rgba(229,191,123,.25);border-radius:23px;box-shadow:var(--shadow)}.login-crest{text-align:center;font-size:54px;color:var(--gold)}.login-panel h1{font-size:31px;text-align:center;margin:10px 0}.login-panel .intro{color:var(--muted);font-size:13px;text-align:center;margin-bottom:25px}.error-box{padding:12px 14px;background:rgba(236,135,145,.1);border:1px solid rgba(236,135,145,.35);color:#facbd0;border-radius:10px;margin:15px 0;font-size:13px}.security-note{font-size:12px;color:#aca8c2;text-align:center;margin-top:21px}.security-note span{color:var(--teal)}.toast{position:fixed;bottom:29px;right:30px;z-index:50;max-width:350px;color:#191b2d;background:#f2d49d;padding:12px 18px;border-radius:12px;font-weight:800;font-size:13px;box-shadow:0 12px 35px #0005}.toast.error{background:#f2a9b0}.mobile-nav{display:none}.clickable{cursor:pointer}.section-foot{margin-top:25px;color:#777993;font-size:11px}
@media(max-width:1200px){.sidebar{flex-basis:221px;width:221px}.content{padding-left:3%;padding-right:3%}.topbar{padding:0 3%}.hero{padding:27px 28px}.hero-right{transform:scale(.85)}}
@media(max-width:950px){.sidebar{display:none}.content{padding:24px 4% 105px}.topbar{height:75px;padding:0 4%}.mobile-nav{display:flex;position:fixed;z-index:10;bottom:0;left:0;right:0;padding:8px 9px calc(8px + env(safe-area-inset-bottom));background:#161829ee;backdrop-filter:blur(20px);border-top:1px solid var(--line);justify-content:space-around}.mobile-nav button{background:transparent;border:0;color:#8e8ca8;display:grid;justify-items:center;gap:3px;padding:6px 7px;font-size:10px;font-weight:800;min-width:58px}.mobile-nav button.active{color:var(--gold)}.mobile-nav .nav-ico{font-size:22px}}
@media(max-width:740px){.hero{grid-template-columns:1fr;min-height:0;padding:25px}.hero-right{display:none}.grid-split{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.badge-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.leader-grid{grid-template-columns:1fr}.notes-grid{grid-template-columns:1fr}.title-row{flex-direction:column;gap:10px}.challenge-banner{gap:8px}.challenge-banner .big{font-size:30px}}
@media(max-width:450px){.topbar .crumb span:not(.spark){display:none}.topbar .profile-button{padding:5px 8px 5px 5px}.content{padding:21px 15px 105px}.hero{padding:23px 21px}.hero h1{font-size:30px}.hero p{font-size:12px}.stats{gap:9px}.stat-card{padding:15px 13px}.stat-val{font-size:25px}.stat-top{font-size:10px}.panel{padding:18px 15px}.subject-card{padding:15px;min-height:167px}.subject-card strong{font-size:16px}.subject-icon{width:44px;height:44px;font-size:24px}.subject-card p{font-size:11px}.quiz-card{padding:20px 15px}.quiz-card h2{font-size:24px}.answer{padding:12px 10px;font-size:13px}.quiz-footer{flex-wrap:wrap}.title-row h1{font-size:30px}.notice{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
/* Duel quotidien : les deux participants reçoivent une série déterministe identique. */
.duel-choice{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.duel-button{display:grid;justify-items:center;align-content:center;gap:7px;text-align:center;padding:15px 7px;background:#20243a;border:1px solid rgba(231,186,120,.22);border-radius:13px;color:var(--ink);min-height:111px;font-size:12px;font-weight:800}
.duel-button:hover{border-color:var(--gold);background:#302d42}.duel-button>span:first-child{font-size:24px;line-height:1.2}.duel-button small{font-size:10px;color:var(--gold)}
.duel-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 23px}.duel-result{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.duel-result>span{color:#afadc3}.duel-result strong{white-space:nowrap}
@media(max-width:740px){.duel-choice{grid-template-columns:repeat(3,minmax(0,1fr))}.duel-results{grid-template-columns:1fr}}
@media(max-width:450px){.duel-choice{grid-template-columns:repeat(2,minmax(0,1fr))}.duel-button{min-height:100px}}

/* V2 : cours et fiche de personnage */
.course-toolbar{display:grid;grid-template-columns:1fr 2fr 90px 2fr;align-items:center;gap:12px;margin-bottom:22px}
.course-toolbar label{font-size:13px;color:var(--muted,#a5a6bb)}
.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.course-card{display:flex;flex-direction:column;gap:12px;min-width:0}
.course-card h3{margin:0}.course-card p{line-height:1.7;white-space:pre-line}
.course-card>details{margin-top:auto;border-top:1px solid rgba(190,190,220,.15);padding-top:12px}
.course-card summary{cursor:pointer;color:#e9c98c;font-weight:700;padding:8px 0}
.course-exercise{padding:12px;border-radius:12px;background:rgba(130,110,190,.10)}
.course-card>.btn{align-self:flex-start}
.character-sheet{margin:18px 0 26px;padding:20px;border:1px solid rgba(215,184,114,.28);border-radius:16px;background:rgba(175,132,61,.06)}
.character-sheet h3{margin:0 0 18px}.character-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.character-stat{display:flex;justify-content:space-between;gap:10px;padding:13px;border-radius:10px;background:rgba(255,255,255,.035);font-size:14px}
.character-stat strong{color:#e9c98c}.xp-track{height:8px;background:rgba(255,255,255,.12);border-radius:20px;overflow:hidden;margin:20px 0 10px}
.xp-track>div{height:100%;background:linear-gradient(90deg,#9778d6,#e9c98c)}
@media(max-width:800px){.course-toolbar{grid-template-columns:1fr}.course-grid{grid-template-columns:1fr}.character-stats{grid-template-columns:1fr}.mobile-nav{overflow-x:auto;justify-content:flex-start}.mobile-nav button{min-width:85px}}

/* RÉVISE+ DUO V3 — Académie des héros */
.academy-hero{display:grid;grid-template-columns:1fr 180px;gap:24px;align-items:center;background:radial-gradient(circle at 90% 15%,rgba(204,154,90,.20),transparent 45%),linear-gradient(120deg,#24223b,#191c31 80%);border:1px solid rgba(231,188,120,.28);border-radius:24px;padding:32px 36px;margin:0 0 20px;overflow:hidden}
.academy-hero h1{max-width:680px;margin:14px 0}.academy-hero h1 em{font-style:normal;color:var(--gold)}.academy-hero p{max-width:690px;color:#b3b0c5;line-height:1.7}.academy-hero-art{font-size:94px;text-align:center;position:relative;text-shadow:0 0 70px #a88ce8a8}.academy-hero-art span{position:absolute;top:-10px;right:10px;color:var(--gold);font-size:27px}
.v3-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 20px}.v3-mini-stat{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:19px;display:flex;flex-direction:column;gap:5px}.v3-mini-stat strong{font-family:Georgia,serif;color:var(--gold);font-size:28px;line-height:1.1}.v3-mini-stat span{font-size:12px;color:var(--muted)}
.v3-tabs{display:flex;gap:10px;margin:18px 0;flex-wrap:wrap}.v3-toolbar{display:grid;grid-template-columns:1.25fr 1fr .7fr;gap:13px;align-items:end;margin:18px 0}.v3-toolbar label{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:12px;font-weight:700}.v3-toolbar select,.v3-toolbar input{width:100%}
.v3-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.v3-topic{display:flex;flex-direction:column;gap:14px;min-width:0}.v3-topic h3{font-size:23px}.v3-topic p{color:var(--muted);font-size:13px;flex:1}.v3-card-actions{display:flex;gap:9px;flex-wrap:wrap}.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}.v3-bars{font-size:12px;color:var(--muted)}.v3-bars .progress{margin-top:9px}.v3-sources{margin-top:22px}.v3-sources p{color:var(--muted);font-size:13px;margin:8px 0 15px}.v3-source-list{display:flex;flex-wrap:wrap;gap:8px}.v3-source-list a{font-size:11px;color:var(--gold);background:rgba(229,185,120,.07);border:1px solid rgba(229,185,120,.18);border-radius:9px;padding:7px 10px}.v3-source-list a:hover{background:rgba(229,185,120,.17)}
.v3-back{display:flex;align-items:center;gap:18px;color:var(--muted);font-size:12px;margin-bottom:21px}.v3-detail-header{border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:22px}.v3-detail-header h1{margin:10px 0}.v3-detail-header p{color:var(--muted)}.v3-detail-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(310px,.8fr);gap:17px;align-items:start}.v3-lesson{display:flex;flex-direction:column;gap:24px}.v3-lesson-part{display:grid;grid-template-columns:38px 1fr;gap:12px}.v3-step-num{height:37px;width:37px;border:1px solid #b99969aa;border-radius:10px;color:var(--gold);display:grid;place-items:center;font-family:Georgia,serif}.v3-lesson-part h3{margin:0 0 7px}.v3-lesson-part p{color:#bdbbd0;font-size:14px;line-height:1.8}.v3-formula{background:linear-gradient(120deg,rgba(214,165,104,.12),rgba(131,107,199,.07));padding:18px;border:1px solid rgba(222,188,128,.24);border-radius:13px;display:flex;flex-direction:column;gap:8px}.v3-formula span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold)}.v3-formula strong{font-size:15px;font-weight:600;overflow-wrap:anywhere}.v3-chapter-side{position:sticky;top:20px;display:grid;gap:14px}.v3-chapter-side p{font-size:12px;color:var(--muted)}.v3-tier{display:flex;align-items:center;gap:12px;width:100%;padding:14px 12px;background:#222539;border:1px solid var(--line);border-radius:12px;color:var(--ink);text-align:left}.v3-tier:hover{border-color:#dcb57999;background:#28283e}.v3-tier-icon{font-size:25px}.v3-tier span:nth-child(2){display:grid;gap:2px;flex:1}.v3-tier small{color:var(--muted);font-size:11px}.btn-full{width:100%;justify-content:center}.v3-combat-shell{max-width:850px;margin:0 auto;padding:36px}.v3-combat-shell h1{font-size:clamp(24px,3vw,34px);margin:24px 0 12px}.v3-boss{display:flex;gap:20px;align-items:center;background:#24243a;border:1px solid #3f394f;border-radius:15px;padding:14px 20px;margin-top:24px}.v3-boss-emoji{font-size:46px}.v3-boss small{color:var(--muted)}.v3-boss .progress{margin-top:10px}.v3-answer-grid{display:grid;gap:12px;margin:24px 0}.v3-answer{display:flex;gap:14px;align-items:center;text-align:left;padding:15px 16px;background:#22253a;border:1px solid #34364f;border-radius:13px;color:#f4f0f7;white-space:normal;line-height:1.5}.v3-answer .letter{display:grid;place-items:center;width:33px;height:33px;flex:0 0 33px;background:#37354d;border-radius:9px;color:var(--gold);font-weight:800}.v3-answer:hover,.v3-answer.selected{border-color:#d4b477;background:#302d43}.v3-answer.correct{border-color:#72cdae;background:rgba(84,198,158,.12)}.v3-answer.wrong{border-color:#eb9bab;background:rgba(221,115,127,.12)}.v3-actionline{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:23px;flex-wrap:wrap}.v3-hint,.v3-feedback{padding:18px;border:1px solid var(--line);border-radius:13px;margin-top:15px}.v3-hint{background:#282640;color:var(--gold)}.v3-feedback p{margin-top:10px;line-height:1.7}.v3-feedback.success{background:#1a322e;border-color:#498f7d}.v3-feedback.retry{background:#372b36;border-color:#946b86}.v3-result{max-width:900px;margin:auto;text-align:center}.v3-result h1{font-size:60px;color:var(--gold);margin:8px}.v3-result h2{margin-bottom:12px}.v3-result-emblem{font-size:73px}.v3-result>p{color:var(--muted)}.v3-review{display:grid;gap:10px;text-align:left;margin-top:28px}.v3-review details{border:1px solid var(--line);padding:14px;border-radius:12px;background:#222439}.v3-review summary{cursor:pointer;font-weight:700}.v3-review p{margin-top:10px;color:#c3bed3}.v3-result .v3-actionline{justify-content:center}
.v3-duo-panel{margin:15px 0}.v3-duo-panel>p{margin:12px 0;color:var(--muted)}.v3-duo-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.v3-duo-row:last-child{border-bottom:0}.v3-duo-row>div:first-child{flex:1}.v3-duo-row small{display:block;color:var(--muted);margin-top:3px}.v3-duo-scores{font-weight:800;color:var(--gold);white-space:nowrap}.v3-duo-scores span{font-size:11px;color:var(--muted);margin:0 8px}
#v3-plan-form{display:flex;flex-direction:column;gap:12px;margin-top:19px}#v3-plan-form .field{display:grid;gap:8px;color:var(--muted);font-size:12px}.v3-event{display:flex;align-items:center;gap:15px;padding:13px 0;border-bottom:1px solid var(--line)}.v3-event>div:nth-child(2){flex:1}.v3-event small{display:block;color:var(--muted)}.v3-event>button{background:transparent;border:0;color:var(--muted);font-size:20px}.v3-datebox{border:1px solid #b9976777;border-radius:10px;width:52px;height:59px;display:flex;flex-direction:column;align-items:center;justify-content:center}.v3-datebox strong{font-size:24px;color:var(--gold)}.v3-datebox small{font-size:10px}.v3-spaced{margin-top:18px}.v3-spaced>p{margin:10px 0}
.v3-profile-extra{display:grid;gap:18px;margin-top:20px}.v3-character-banner{display:flex;gap:23px;align-items:center}.v3-character-banner>div:nth-child(2){flex:1}.v3-character-avatar{font-size:80px}.v3-character-companion{font-size:60px}.v3-character-banner .progress{margin:10px 0}.v3-attribute-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:17px 0}.v3-attribute{border:1px solid var(--line);background:#222439;border-radius:13px;padding:16px}.v3-attribute .progress{margin-top:10px}.v3-attribute strong,.v3-attribute span{font-size:12px}.v3-equipment{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:20px}.v3-gear{display:grid;justify-items:center;align-content:center;text-align:center;gap:7px;min-height:138px;border:1px solid #554865;background:#28273d;color:var(--ink);border-radius:13px;padding:12px 7px}.v3-gear-icon{font-size:39px}.v3-gear strong{font-size:12px}.v3-gear small{font-size:10px;color:var(--muted)}.v3-gear.equipped{border-color:#dfbf86;background:#35303f}.v3-gear.locked{filter:grayscale(.85);opacity:.48;cursor:not-allowed}
@media(max-width:1200px){.v3-equipment{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.v3-detail-grid{grid-template-columns:1fr}.v3-chapter-side{position:static}.v3-toolbar{grid-template-columns:1fr 1fr}.v3-topic-grid{grid-template-columns:1fr}.v3-equipment{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:580px){.academy-hero{grid-template-columns:1fr;padding:26px 21px}.academy-hero-art{display:none}.v3-stat-grid{gap:8px}.v3-mini-stat{padding:12px 9px}.v3-mini-stat strong{font-size:23px}.v3-mini-stat span{font-size:10px}.v3-toolbar{grid-template-columns:1fr}.v3-detail-grid{grid-template-columns:1fr}.v3-combat-shell{padding:19px 15px}.v3-combat-shell h1{font-size:24px}.v3-attribute-grid{grid-template-columns:1fr}.v3-equipment{grid-template-columns:repeat(2,minmax(0,1fr))}.v3-character-banner{gap:10px}.v3-character-avatar{font-size:46px}.v3-character-companion{font-size:32px}.v3-duo-row{flex-wrap:wrap}.v3-duo-row>div:first-child{min-width:100%}}

.v3-profile-page{max-width:1120px}
.v3-demo-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.v3-demo-actions button{white-space:nowrap}
.v3-plan-hint{display:block;margin-top:7px;font-size:12px;color:var(--gold)}
