@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--bg:#f6f4ef;--paper:#fffefa;--ink:#242429;--muted:#77747d;--line:#e8e3db;--lav:#ddd8f4;--mint:#d8eadf;--blue:#dbe8f2;--peach:#f0ddd2;--rose:#efd9df;--accent:#615892;--shadow:0 18px 50px rgba(67,57,46,.08)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--bg)}body{background:radial-gradient(circle at 15% 0,#efebfa 0,transparent 25%),radial-gradient(circle at 100% 30%,#e6f1ea 0,transparent 25%),var(--bg)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.wordmark{font-size:24px;font-weight:700;letter-spacing:-.06em}.wordmark span{color:#8e83c9}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:13px;padding:12px 17px;font-weight:700;transition:.18s}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--ink);color:#fff}.button.subtle{background:var(--paper);border-color:var(--line)}.button.danger-ghost{background:#fff;border-color:#edd8dc;color:#a04c5b}.button.wide{width:100%}.text-link{font-weight:650;color:var(--muted)}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:700;color:#7b70ac}.soft-chip,.code-pill{display:inline-flex;border-radius:999px;padding:8px 12px;background:var(--lav);font-size:12px;font-weight:700;border:0}.alert{padding:12px 14px;border-radius:12px;margin:14px 0}.alert.danger{background:#f6e5e8;color:#8f3c4b}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:1fr 1fr}.grid.compact{gap:10px}.form-stack{display:grid;gap:14px}.form-stack label,.editor-layout label{display:grid;gap:7px;font-size:13px;font-weight:650}.form-stack input,.editor-layout input,.editor-layout select,.editor-layout textarea,.launch-box select{border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px;outline:0;width:100%}.form-stack input:focus,.editor-layout input:focus,.editor-layout select:focus,.editor-layout textarea:focus{border-color:#9186c4;box-shadow:0 0 0 4px rgba(145,134,196,.12)}hr{border:0;border-top:1px solid var(--line);width:100%}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-box{width:min(520px,100%);background:rgba(255,254,250,.92);border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:var(--shadow)}.auth-box h1{font-size:42px;letter-spacing:-.05em;margin:24px 0 8px}.success-state{text-align:center;padding-top:20px}.success-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--mint);margin:auto;font-size:30px}.join-page{min-height:100vh;padding:24px 6vw}.landing-nav{display:flex;justify-content:space-between;align-items:center}.join-layout{min-height:calc(100vh - 80px);display:grid;grid-template-columns:1.1fr .75fr;gap:8vw;align-items:center;max-width:1200px;margin:auto}.join-copy h1{font-size:clamp(48px,7vw,86px);line-height:.98;letter-spacing:-.07em;margin:24px 0}.join-copy h1 em{font-style:normal;color:#77709e}.join-copy>p{color:var(--muted);font-size:18px;line-height:1.65;max-width:600px}.preview-strip{display:flex;gap:12px;margin-top:34px}.mini-card{width:110px;padding:16px;border-radius:18px;font-size:22px;font-weight:700}.mini-card small{font-size:11px;color:var(--muted)}.mint{background:var(--mint)}.lavender{background:var(--lav)}.peach{background:var(--peach)}.join-panel{background:rgba(255,254,250,.94);border:1px solid var(--line);border-radius:30px;padding:30px;box-shadow:var(--shadow)}.join-form{display:grid;gap:18px}.big-label{font-size:14px;font-weight:700}.pin-input,.nickname-input{width:100%;border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px;text-align:center;font-size:30px;font-weight:700;outline:none}.pin-input{letter-spacing:.22em}.privacy-note{text-align:center;color:var(--muted);font-size:12px;margin-bottom:0}.app-shell{min-height:100vh;display:grid;grid-template-columns:220px 1fr}.side-nav{height:100vh;position:sticky;top:0;padding:26px 18px;border-right:1px solid var(--line);background:rgba(255,254,250,.78);display:flex;flex-direction:column}.side-nav nav{display:grid;gap:5px;margin-top:42px}.side-nav nav a,.side-bottom a{padding:11px 12px;border-radius:11px;color:var(--muted);font-weight:650;display:flex;gap:11px}.side-nav nav a:hover,.side-bottom a:hover{background:var(--lav);color:var(--ink)}.side-bottom{margin-top:auto;display:grid}.admin-main{padding:38px clamp(20px,4vw,58px);min-width:0}.page-title-row,.editor-top,.game-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.page-title-row h1,.editor-top h1,.game-head h1{font-size:42px;letter-spacing:-.05em;margin:5px 0}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric-card,.surface{background:rgba(255,254,250,.93);border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 30px rgba(74,64,53,.04)}.metric-card{padding:18px}.metric-card span{font-size:12px;color:var(--muted)}.metric-card strong{display:block;font-size:28px;margin-top:8px}.content-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:18px}.surface{padding:20px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-head h2{font-size:19px;margin:0}.section-head p{font-size:12px;color:var(--muted);margin:4px 0 0}.launch-box{display:flex;gap:10px;margin:20px 0}.launch-box select{flex:1}.quiz-list,.session-list{display:grid}.quiz-row,.session-row{display:flex;align-items:center;gap:12px;padding:14px 4px;border-top:1px solid var(--line)}.quiz-row>div:nth-child(2),.session-row>div{flex:1}.quiz-row small,.session-row small,.player-admin-row small,.leader-row small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.subject-dot{width:10px;height:10px;border-radius:50%;background:#8e83c9}.quiz-row>span{background:var(--lav);border-radius:999px;padding:5px 9px;font-size:12px}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#aaa;margin-right:8px}.status-dot.question{background:#62a078}.status-dot.finished{background:#a8a3a5}.arrow{color:var(--muted)}.empty{text-align:center;padding:35px 10px}.empty-icon{width:50px;height:50px;border-radius:15px;background:var(--lav);display:grid;place-items:center;margin:auto;font-size:24px}.editor-layout{display:grid;grid-template-columns:300px 1fr;gap:20px;align-items:start}.editor-meta{position:sticky;top:20px;display:grid;gap:14px}.question-list{display:grid;gap:14px}.question-editor{display:grid;gap:13px}.question-editor-head{display:flex;justify-content:space-between;align-items:center}.drag{color:#aaa;margin-right:8px}.icon-button{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:#fff}.answers-editor{display:grid;grid-template-columns:1fr 1fr;gap:10px}.answers-editor label{display:grid;grid-template-columns:25px 1fr;align-items:center;border-radius:12px;padding-left:10px}.answers-editor label:nth-child(1){background:var(--lav)}.answers-editor label:nth-child(2){background:var(--mint)}.answers-editor label:nth-child(3){background:var(--blue)}.answers-editor label:nth-child(4){background:var(--peach)}.answers-editor input{border:0;border-left:1px solid rgba(0,0,0,.08);border-radius:0 10px 10px 0}.add-question{width:100%;border:1px dashed #bdb8b0;background:transparent;border-radius:16px;padding:17px;margin-top:14px;font-weight:700}.pin-badge{background:var(--lav);border-radius:18px;padding:13px 20px;text-align:center}.pin-badge small{display:block;font-size:10px}.pin-badge strong{font-size:30px;letter-spacing:.14em}.control-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.control-main{min-height:650px;display:flex;flex-direction:column}.live-top{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.live-pill{display:flex;align-items:center;gap:7px}.live-pill i{width:8px;height:8px;border-radius:50%;background:#74a786;box-shadow:0 0 0 5px rgba(116,167,134,.12)}.question-preview{flex:1;display:grid;place-content:center;text-align:center;padding:40px}.question-preview h2{font-size:clamp(30px,4vw,52px);letter-spacing:-.04em}.waiting-orb{width:90px;height:90px;border-radius:50%;margin:auto;background:linear-gradient(145deg,var(--lav),var(--mint))}.host-answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:left}.host-answer-grid div{padding:15px;border-radius:13px;background:#f8f6f1}.host-answer-grid b{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:8px;background:var(--lav);margin-right:10px}.host-actions{display:flex;gap:8px;flex-wrap:wrap}.control-side{display:grid;gap:18px;align-content:start}.player-admin-list{display:grid;max-height:330px;overflow:auto}.player-admin-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.player-admin-row>div{flex:1}.avatar{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:12px;font-size:11px;font-weight:800}.avatar.xl{width:72px;height:72px;border-radius:22px;font-size:20px}.seed-1{background:var(--lav)}.seed-2{background:var(--mint)}.seed-3{background:var(--blue)}.seed-4{background:var(--peach)}.seed-5{background:var(--rose)}.seed-6{background:#e7e4d2}.seed-7{background:#dce9e8}.seed-8{background:#e5daed}.progress-track{height:10px;border-radius:999px;background:#ece8e1;overflow:hidden;margin:18px 0}.progress-track div{height:100%;background:#7f74b4;transition:.3s}.answer-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.answer-stats div{text-align:center;padding:9px;background:#f7f4ee;border-radius:10px}.player-app,.public-display{min-height:100vh}.loading-screen{min-height:100vh;display:grid;place-items:center}.pulse-logo{font-size:32px;font-weight:700;animation:pulse 1.5s infinite}.pulse-logo span{color:#8e83c9}@keyframes pulse{50%{opacity:.45}}.player-lobby,.play-screen,.result-screen,.leader-screen{min-height:100vh;padding:24px clamp(18px,5vw,70px)}.player-lobby header,.play-top{display:flex;justify-content:space-between;align-items:center}.lobby-center{min-height:calc(100vh - 90px);display:grid;place-content:center;text-align:center}.lobby-center h1{font-size:clamp(42px,8vw,74px);letter-spacing:-.06em;margin:12px}.lobby-center p{color:var(--muted)}.lobby-count{font-weight:700;margin-top:18px}.face-row{display:flex;justify-content:center;margin-top:14px}.face-row .avatar{margin-left:-7px;border:3px solid var(--bg)}.play-top>div{display:flex;align-items:center;gap:10px}.score-box{text-align:right!important;display:block!important}.score-box span{display:block;color:var(--muted);font-size:11px}.score-box strong{font-size:22px}.timer-line{height:6px;background:#e9e5de;border-radius:99px;margin-top:20px;overflow:hidden}.timer-line div{height:100%;background:#776da7;transition:width .1s linear}.student-question{width:min(930px,100%);margin:7vh auto}.student-question h1{font-size:clamp(34px,6vw,68px);text-align:center;letter-spacing:-.05em;margin:18px 0 7vh}.student-question>.eyebrow{text-align:center}.student-answers{display:grid;grid-template-columns:1fr 1fr;gap:14px}.student-answers button{min-height:100px;border:1px solid var(--line);border-radius:18px;background:var(--paper);font-size:18px;font-weight:650;text-align:left;padding:20px;transition:.15s}.student-answers button:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.student-answers button span{display:inline-grid;width:30px;height:30px;place-items:center;border-radius:9px;background:var(--lav);margin-right:10px}.student-answers button:nth-child(2) span{background:var(--mint)}.student-answers button:nth-child(3) span{background:var(--blue)}.student-answers button:nth-child(4) span{background:var(--peach)}.answer-feedback{text-align:center;color:var(--muted);margin-top:18px}.text-answer{display:flex;gap:10px;max-width:650px;margin:auto}.text-answer input{flex:1;border:1px solid var(--line);border-radius:14px;padding:15px;font-size:18px}.result-screen.good{background:linear-gradient(180deg,#edf5ef,var(--bg))}.result-screen.bad{background:linear-gradient(180deg,#f6e9eb,var(--bg))}.result-center{min-height:calc(100vh - 80px);display:grid;place-content:center;text-align:center}.result-mark{width:90px;height:90px;border-radius:28px;background:#fff;display:grid;place-items:center;margin:auto;font-size:52px}.result-center h1{font-size:clamp(40px,8vw,80px);margin:14px}.points-earned{margin-top:18px;font-weight:700}.rank-hero{text-align:center;padding:35px}.rank-hero p,.rank-hero span{color:var(--muted)}.rank-hero strong{font-size:80px;display:block;letter-spacing:-.07em}.leader-list{width:min(680px,100%);margin:auto;display:grid;gap:8px}.leader-row{display:flex;align-items:center;gap:12px;background:rgba(255,254,250,.9);border:1px solid var(--line);border-radius:15px;padding:11px 14px}.leader-row.me{background:var(--lav)}.leader-row>div{flex:1}.leader-row em{font-style:normal;font-weight:700}.display-lobby,.display-question,.display-leader{min-height:100vh;padding:4vh 5vw}.display-lobby{display:grid;grid-template-rows:auto 1fr auto;text-align:center}.display-lobby>div:nth-child(2){place-self:center}.display-lobby p{font-size:22px;color:var(--muted)}.display-lobby h1{font-size:clamp(90px,16vw,190px);letter-spacing:.08em;margin:0}.display-faces{display:flex;justify-content:center}.display-faces .avatar{margin-left:-5px}.display-question header{display:flex;justify-content:space-between}.display-question>div{width:min(1200px,100%);margin:8vh auto}.display-question h1{font-size:clamp(48px,7vw,100px);letter-spacing:-.06em;text-align:center}.display-answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.display-answer-grid div{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:24px;font-size:24px}.display-answer-grid b{margin-right:15px}.display-leader{text-align:center}.podium{min-height:75vh;display:flex;align-items:flex-end;justify-content:center;gap:20px}.podium article{width:250px;border-radius:25px 25px 0 0;padding:30px;background:var(--paper);display:grid;gap:10px;justify-items:center}.podium .p1{min-height:420px;order:2;background:var(--lav)}.podium .p2{min-height:330px;order:1}.podium .p3{min-height:280px;order:3}.podium strong{font-size:25px}.podium em{font-style:normal}@media(max-width:900px){.join-layout,.content-grid,.control-layout,.editor-layout{grid-template-columns:1fr}.join-copy{display:none}.app-shell{grid-template-columns:74px 1fr}.side-nav{padding:22px 12px}.side-nav .wordmark{font-size:0}.side-nav .wordmark:before{content:'l.';font-size:24px}.side-nav a span{display:none}.metric-grid{grid-template-columns:1fr 1fr}.editor-meta{position:static}.control-main{min-height:520px}}@media(max-width:600px){.grid.two,.answers-editor,.student-answers,.display-answer-grid{grid-template-columns:1fr}.preview-strip{flex-wrap:wrap}.join-page{padding:18px}.join-panel{padding:22px}.admin-main{padding:24px 14px}.page-title-row,.editor-top,.game-head{align-items:flex-start;flex-direction:column}.metric-grid{grid-template-columns:1fr 1fr}.launch-box,.text-answer{flex-direction:column}.host-answer-grid{grid-template-columns:1fr}.podium{gap:6px}.podium article{width:31%;padding:12px}.podium .p1{min-height:310px}.podium .p2{min-height:250px}.podium .p3{min-height:210px}}
.type-badge{display:inline-flex;margin-left:10px;padding:4px 8px;border-radius:999px;background:var(--mint);font-size:11px;color:#476156}.image-field{display:none}.structured-editor{display:grid;gap:12px}.structured-title{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.pair-list{display:grid;gap:8px}.pair-row{display:grid;grid-template-columns:1fr auto 1fr auto;gap:8px;align-items:center}.mini-remove{border:0;background:#f3e5e7;border-radius:10px;width:34px;height:34px}.structured-editor small{display:block;color:var(--muted);margin-top:6px}.question-image{display:block;max-width:min(720px,100%);max-height:300px;object-fit:contain;border-radius:20px;margin:0 auto 22px}.interactive-card{max-width:850px;margin:auto;display:grid;gap:16px}.interaction-help{text-align:center;color:var(--muted)}.sortable-list{display:grid;gap:9px}.sortable-item{display:grid;grid-template-columns:auto auto 1fr;gap:12px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:16px;cursor:grab}.sortable-item.dragging{opacity:.4}.sortable-item b{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:var(--lav)}.match-list{display:grid;gap:10px}.match-list label{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center;background:var(--paper);border:1px solid var(--line);padding:14px;border-radius:15px}.drag-bank{display:flex;gap:9px;flex-wrap:wrap;min-height:70px;padding:12px;border:1px dashed #aaa;border-radius:16px}.drag-token{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:11px 14px;font-weight:700;cursor:grab}.drop-zones{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.drop-zone{min-height:150px;background:rgba(255,255,255,.5);border:2px dashed #c9c4bb;border-radius:18px;padding:14px}.drop-zone.over{background:var(--mint)}.zone-items{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.host-question-image{max-width:420px;max-height:220px;object-fit:contain;border-radius:18px;margin:15px auto}.structured-preview{grid-column:1/-1;text-align:center}.display-question-image{display:block;max-width:min(700px,80vw);max-height:280px;object-fit:contain;border-radius:22px;margin:20px auto}.display-structure{display:grid;gap:12px;max-width:900px;margin:30px auto}.display-structure span{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px;font-size:22px}.display-structure span b{margin-right:15px}.display-structure.two-col{grid-template-columns:1fr 1fr}.display-drop-zones{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px}.display-drop-zones div{min-height:140px;border:2px dashed #c9c4bb;border-radius:20px;padding:20px;font-size:22px}.display-text-hint{text-align:center;font-size:26px;color:var(--muted)}
@media(max-width:600px){.pair-row{grid-template-columns:1fr}.pair-row span{display:none}.match-list label{grid-template-columns:1fr}.display-structure.two-col{grid-template-columns:1fr}.student-question.type-order h1,.student-question.type-match h1,.student-question.type-dragdrop h1{font-size:34px;margin-bottom:30px}}

/* V3.1 — expérience élève entièrement repensée pour les questions interactives */
.structured-play{padding-bottom:36px}.structured-play .student-question{width:min(1080px,100%);margin:32px auto}.structured-play .student-question h1{font-size:clamp(30px,4.7vw,58px);margin:14px auto 28px;max-width:950px}.interactive-stage{background:rgba(255,254,250,.82);border:1px solid rgba(232,227,219,.9);border-radius:30px;padding:20px;box-shadow:0 24px 70px rgba(58,52,77,.1);backdrop-filter:blur(16px);display:grid;gap:18px}.mode-intro{display:flex;align-items:center;gap:14px;padding:3px 3px 14px;border-bottom:1px solid var(--line)}.mode-icon{width:50px;height:50px;border-radius:16px;background:var(--lav);display:grid;place-items:center;font-size:25px;font-weight:800;flex:none}.mode-intro strong{font-size:19px}.mode-intro p{margin:3px 0 0;color:var(--muted);font-size:14px}.structured-footer{position:sticky;bottom:10px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:15px;background:rgba(255,254,250,.94);border:1px solid var(--line);border-radius:18px;padding:12px 12px 12px 17px;box-shadow:0 12px 35px rgba(55,48,40,.13);backdrop-filter:blur(16px)}.structured-footer>span{color:var(--muted);font-size:14px}.structured-footer>span.ready{color:#347257;font-weight:700}.structured-submit{min-width:220px;min-height:48px;border-radius:14px}.structured-submit:disabled{opacity:.4;cursor:not-allowed;transform:none!important}
/* Ordre */
.order-board{display:grid;gap:10px;touch-action:none}.order-card{position:relative;display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:14px;min-height:74px;background:#fff;border:1px solid var(--line);border-radius:19px;padding:10px 12px;box-shadow:0 4px 14px rgba(47,43,37,.04);user-select:none;transition:transform .16s,box-shadow .16s,border-color .16s}.order-card:hover{border-color:#cfc8e7;box-shadow:0 10px 24px rgba(62,54,90,.09)}.order-card.is-grabbed{transform:scale(.99);border-color:#8e83bc}.order-card.drag-source{opacity:.24}.order-number{width:42px;height:42px;border-radius:13px;background:var(--lav);display:grid;place-items:center;font-size:17px;font-weight:800}.order-label{font-size:17px;font-weight:700;line-height:1.25}.order-actions{display:flex;align-items:center;gap:6px}.order-actions button{width:39px;height:39px;border:0;border-radius:11px;background:#f2f0eb;font-size:18px;font-weight:800}.order-actions button:disabled{opacity:.24}.grip{font-size:25px;color:#aaa3b5;padding:5px;cursor:grab}.drag-ghost,.classify-ghost{position:fixed!important;z-index:9999!important;pointer-events:none!important;margin:0!important;transform:rotate(1.5deg) scale(1.03);box-shadow:0 24px 55px rgba(44,37,68,.24)!important;opacity:.96!important}
/* Associations */
.match-progress{display:flex;justify-content:space-between;align-items:center;background:#f7f5f0;border-radius:14px;padding:10px 14px;color:var(--muted);font-size:14px}.match-progress b{color:var(--ink);font-size:18px}.match-progress button{border:0;background:transparent;color:var(--accent);font-weight:700}.match-board{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);gap:10px}.match-column{display:grid;gap:9px;align-content:start}.match-column>small{font-weight:800;letter-spacing:.1em;color:var(--muted);padding:0 6px}.match-center{display:grid;gap:9px;padding-top:27px}.match-center span{height:72px;display:grid;place-items:center;color:#d3ceda;letter-spacing:3px}.match-card{width:100%;min-height:72px;border:1px solid var(--line);border-radius:17px;background:#fff;padding:10px 13px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;text-align:left;column-gap:11px;align-items:center;transition:.16s}.match-card strong{font-size:15px;line-height:1.25}.match-card em{grid-column:2;font-size:11px;color:var(--muted);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-index,.choice-dot{grid-row:1/3;width:34px;height:34px;border-radius:11px;background:var(--blue);display:grid;place-items:center;font-weight:800}.choice-dot{background:#eeeae4}.match-card.selected{border:2px solid #776da7;background:#f1eefb;transform:translateX(4px);box-shadow:0 10px 24px rgba(86,75,137,.13)}.match-card.target{border-color:#b9b0d7;background:#fbfaff}.match-card.paired{border-color:#94c5a7;background:#f0f8f3}.match-card.paired .match-index,.match-card.paired .choice-dot{background:var(--mint)}.match-card.shake{animation:matchShake .3s}@keyframes matchShake{25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}
/* Classement */
.token-bank-wrap{background:#f7f4ee;border-radius:20px;padding:14px}.bank-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.bank-title span{font-size:12px;color:var(--muted);background:white;padding:5px 9px;border-radius:999px}.token-bank{min-height:92px;display:flex;gap:9px;flex-wrap:wrap;align-items:flex-start}.classify-token{border:1px solid var(--line);background:#fff;border-radius:15px;padding:11px 13px;min-height:58px;display:grid;gap:2px;text-align:left;cursor:pointer;touch-action:none;box-shadow:0 4px 11px rgba(47,43,37,.04);transition:.15s}.classify-token span{font-weight:750;font-size:14px}.classify-token small{font-size:9px;color:var(--muted)}.classify-token.selected{outline:3px solid rgba(97,88,146,.25);border-color:#776da7;background:#f2effb;transform:translateY(-3px)}.classify-token.drag-source{opacity:.2}.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.category-zone{min-height:180px;border:2px dashed #d2ccc2;border-radius:20px;padding:12px;background:rgba(255,255,255,.55);transition:.16s}.category-zone header{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;padding-bottom:10px;border-bottom:1px solid rgba(0,0,0,.06)}.category-zone header span{width:32px;height:32px;border-radius:10px;background:var(--lav);display:grid;place-items:center;font-weight:800}.category-zone header strong{font-size:15px}.category-zone header em{font-style:normal;font-size:12px;background:#fff;padding:4px 8px;border-radius:999px}.category-items{display:flex;gap:7px;flex-wrap:wrap;align-content:flex-start;padding-top:11px;min-height:110px}.category-items>p{width:100%;text-align:center;color:#aaa49b;font-size:12px;margin:auto}.category-zone .classify-token{min-height:49px;padding:8px 10px}.category-zone .classify-token small{display:none}.category-zone.hovered{border-style:solid;border-color:#776da7;background:#f0edfa;transform:scale(1.015)}.category-zone.filled{border-style:solid}.zone-1 header span{background:var(--mint)}.zone-2 header span{background:var(--blue)}.zone-3 header span{background:var(--peach)}
@media(max-width:700px){.structured-play{padding:14px 10px 28px}.structured-play .play-top{padding:0 3px}.structured-play .student-question{margin:22px auto}.structured-play .student-question h1{font-size:29px;margin:10px auto 20px}.interactive-stage{border-radius:23px;padding:13px;gap:14px}.mode-icon{width:43px;height:43px;border-radius:13px}.mode-intro strong{font-size:16px}.mode-intro p{font-size:12px}.structured-footer{align-items:stretch;flex-direction:column;bottom:5px;padding:10px}.structured-footer>span{text-align:center}.structured-submit{width:100%;min-width:0}.order-card{grid-template-columns:38px 1fr auto;gap:9px;min-height:66px;padding:8px}.order-number{width:36px;height:36px}.order-label{font-size:14px}.order-actions{gap:3px}.order-actions button{width:34px;height:34px}.grip{display:none}.match-board{grid-template-columns:1fr;gap:10px}.match-center{display:none}.match-column>small{padding-top:5px}.match-card{min-height:64px}.match-right{margin-left:14px;width:calc(100% - 14px)}.match-card.selected{transform:none}.category-grid{grid-template-columns:1fr}.category-zone{min-height:130px}.category-items{min-height:65px}.token-bank{min-height:76px}.classify-token{flex:1 1 135px}.question-image{max-height:220px}}
/* V3.1 — écran public des modes interactifs */
.display-mode-head{text-align:center;margin:0 auto 24px;display:grid;gap:5px}.display-mode-head strong{font-size:clamp(20px,2vw,30px)}.display-mode-head span{color:var(--muted);font-size:16px}.display-order-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:1000px;margin:auto}.display-order-cards span{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:15px 18px;font-size:21px;font-weight:700}.display-order-cards b{width:40px;height:40px;border-radius:12px;background:var(--lav);display:grid;place-items:center}.display-order-cards em{font-style:normal;color:#aaa3b5;font-size:26px}.display-match-board{display:grid;grid-template-columns:1fr 50px 1fr;gap:15px;max-width:1080px;margin:auto}.display-match-board section{display:grid;gap:10px}.display-match-board section span{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:14px 16px;font-size:19px;font-weight:700;display:flex;align-items:center;gap:13px}.display-match-board section b{width:34px;height:34px;border-radius:10px;background:var(--blue);display:grid;place-items:center;flex:none}.display-match-board>div{display:grid;place-items:center;color:#c4becd;letter-spacing:4px}.display-token-bank{max-width:1050px;margin:0 auto 20px;padding:14px;border-radius:20px;background:#f0ede7;display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.display-token-bank span{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:10px 14px;font-size:17px;font-weight:700}.display-drop-zones div{display:grid;align-content:start;gap:8px;background:rgba(255,255,255,.55)}.display-drop-zones div b{width:38px;height:38px;border-radius:12px;background:var(--lav);display:grid;place-items:center}.display-drop-zones div small{color:var(--muted);margin-top:20px}@media(max-width:750px){.display-order-cards{grid-template-columns:1fr}.display-match-board{grid-template-columns:1fr}.display-match-board>div{display:none}}
/* === LUMA V4 : comptes élèves et progression annuelle === */
.landing-actions{display:flex;gap:22px;align-items:center}.connected-student{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;background:#f5f1ff;margin-bottom:18px}.connected-student div{display:flex;flex-direction:column}.account-callout{margin-top:22px;padding:18px;border-radius:20px;background:#f7f9ff;border:1px solid #e7e8f2}.account-callout p{margin:5px 0 14px;color:#727487;font-size:14px}.student-dashboard{min-height:100vh;background:#f5f4fa;padding:28px 5vw 70px}.student-top{display:flex;align-items:center;justify-content:space-between;max-width:1180px;margin:auto}.student-top>div{display:flex;align-items:center;gap:18px}.student-hero{max-width:1180px;margin:34px auto 20px;padding:34px;border-radius:34px;background:linear-gradient(135deg,#fff,#f2edff);display:flex;align-items:center;gap:22px;box-shadow:0 20px 50px rgba(70,58,110,.08)}.student-hero h1{font-size:clamp(32px,5vw,58px);margin:4px 0}.student-avatar{width:92px;height:92px;border-radius:30px;display:grid;place-items:center;font-size:28px;font-weight:900;background:#dff7ec}.level-orb{margin-left:auto;width:110px;height:110px;border-radius:50%;background:#27243a;color:#fff;display:grid;place-content:center;text-align:center}.level-orb small{opacity:.7}.level-orb strong{font-size:42px}.year-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:2fr repeat(4,1fr);gap:16px}.year-card,.year-stat{background:white;border-radius:24px;padding:22px;box-shadow:0 12px 34px rgba(60,50,90,.05)}.year-stat{display:flex;flex-direction:column;justify-content:center}.year-stat span{color:#77798b;font-size:13px}.year-stat strong{font-size:28px;margin-top:7px}.xp-track{height:13px;background:#eceaf3;border-radius:999px;overflow:hidden;margin:20px 0 10px}.xp-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ab9df2,#73d9b1)}.student-content{max-width:1180px;margin:18px auto}.history-list{display:flex;flex-direction:column}.history-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:24px;padding:17px 4px;border-bottom:1px solid #eeedf3}.history-row div{display:flex;flex-direction:column}.history-row small{color:#858697;margin-top:4px}.history-row span{color:#737487}.history-row b{font-size:18px}.class-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.class-chip{padding:9px 12px;border-radius:999px;background:#f2effb;font-size:13px}.student-admin-table{margin-top:18px}.student-list{display:flex;flex-direction:column}.student-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:15px;padding:14px 0;border-bottom:1px solid #efedf4}.student-row>div:nth-child(2){display:flex;flex-direction:column}.student-row small{color:#808193}.student-kpis{display:flex;gap:8px}.student-kpis span{padding:7px 10px;border-radius:999px;background:#f4f3f8;font-size:12px}.icon-button{border:0;background:#fff0f0;color:#bb4e4e;width:34px;height:34px;border-radius:12px;font-size:20px}.alert.success{background:#eafbf3;color:#217153}.student-auth .auth-box{max-width:480px}
@media(max-width:900px){.year-grid{grid-template-columns:repeat(2,1fr)}.xp-card{grid-column:1/-1}.student-hero{align-items:flex-start;flex-wrap:wrap}.level-orb{margin-left:0}.student-kpis{display:none}.student-row{grid-template-columns:auto 1fr auto}.landing-actions{gap:10px;font-size:13px}}
@media(max-width:560px){.student-dashboard{padding:18px 14px 50px}.student-top .button{display:none}.student-hero{padding:24px;border-radius:26px}.student-avatar{width:68px;height:68px;border-radius:22px}.level-orb{width:82px;height:82px}.level-orb strong{font-size:31px}.year-grid{grid-template-columns:1fr 1fr}.year-stat strong{font-size:22px}.history-row{grid-template-columns:1fr auto}.history-row span{display:none}.landing-actions a:last-child{display:none}}
/* === V4.1 : import Pronote === */
.pronote-import-card{margin-bottom:18px;padding:26px;background:linear-gradient(135deg,rgba(255,254,250,.98),rgba(241,238,252,.92))}.pronote-import-card .section-head h2{font-size:25px;margin:8px 0 2px}.import-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#ded8f5;color:#554c86;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.import-explanation{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.import-explanation>div{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:start;padding:14px;border:1px solid rgba(111,101,151,.12);background:rgba(255,255,255,.68);border-radius:16px}.import-explanation b{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--lav)}.import-explanation span{font-size:12px;line-height:1.5;color:var(--muted)}.pronote-form{display:grid;gap:14px}.pronote-form label:not(.file-drop){display:grid;gap:7px;font-size:13px;font-weight:650}.pronote-form input,.pronote-form select{border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px;width:100%}.file-drop{min-height:140px;border:2px dashed #c9c2dc;border-radius:20px;background:rgba(255,255,255,.65);display:grid;place-items:center;align-content:center;gap:4px;text-align:center;cursor:pointer;transition:.18s}.file-drop:hover,.file-drop.has-file{border-color:#766ba8;background:#f7f4ff;transform:translateY(-1px)}.file-drop input{position:absolute;opacity:0;pointer-events:none}.file-drop .file-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#26232f;color:#fff;font-size:22px;margin-bottom:5px}.file-drop small{color:var(--muted)}.credentials-result{margin-top:18px;border-radius:17px;padding:14px 16px;background:#eaf8f1;display:flex;align-items:center;justify-content:space-between;gap:16px}.credentials-result div{display:grid;gap:3px}.credentials-result span{font-size:12px;color:#527064}.import-details{margin-top:12px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid var(--line);font-size:12px}.import-details summary{font-weight:700;cursor:pointer}.import-details p{margin:8px 0;color:var(--muted)}
@media(max-width:800px){.import-explanation{grid-template-columns:1fr}.credentials-result{align-items:stretch;flex-direction:column}.credentials-result .button{width:100%}}


/* === LUMA V5 : console Live & animations Apple Glass === */
.live-console{margin-top:18px;position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(239,236,250,.92))}.live-console:before{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:#cfc7ff55;filter:blur(45px);right:-100px;top:-130px}.live-console-kicker{font-size:10px;letter-spacing:.18em;font-weight:900;color:#7569ad}.chaos-toggle{border:1px solid #d8d1ed;background:#fff;border-radius:999px;padding:8px 13px;font-weight:800}.chaos-toggle.active{background:#24212f;color:#fff;box-shadow:0 0 0 5px #7569ad1c}.event-tabs{display:flex;gap:6px;margin:15px 0 12px;overflow:auto}.event-tabs button{border:0;border-radius:999px;padding:7px 10px;background:#eeebf4;font-size:11px;font-weight:800;white-space:nowrap}.event-tabs button.active{background:#24212f;color:white}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-height:400px;overflow:auto;padding-right:3px}.event-card{min-height:75px;border:1px solid rgba(80,68,113,.10);background:rgba(255,255,255,.75);border-radius:16px;padding:10px 7px;display:grid;place-items:center;gap:5px;transition:.2s}.event-card:hover{transform:translateY(-3px);background:#fff;box-shadow:0 12px 28px rgba(62,49,99,.10)}.event-card b{width:32px;height:32px;border-radius:11px;background:#eeeaf9;display:grid;place-items:center;font-size:16px}.event-card span{font-size:10px;font-weight:800;line-height:1.1}.admin-event-toast{position:absolute;left:50%;bottom:18px;transform:translate(-50%,20px);background:#1e1c25;color:#fff;padding:11px 16px;border-radius:999px;opacity:0;pointer-events:none;transition:.25s;z-index:3;font-size:12px;font-weight:800}.admin-event-toast.show{opacity:1;transform:translate(-50%,0)}
.live-layer{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:22px;background:rgba(8,8,14,0);backdrop-filter:blur(0);pointer-events:none;opacity:0;transition:.45s}.live-layer.visible{opacity:1;background:rgba(12,11,19,.38);backdrop-filter:blur(18px)}.live-event-card{width:min(520px,92vw);min-height:390px;border-radius:42px;padding:38px;display:grid;justify-items:center;align-content:center;text-align:center;color:white;background:linear-gradient(145deg,rgba(43,39,59,.86),rgba(24,22,34,.92));border:1px solid rgba(255,255,255,.28);box-shadow:0 50px 120px rgba(0,0,0,.35),inset 0 1px rgba(255,255,255,.25);transform:scale(.78) translateY(25px);opacity:0;transition:.55s cubic-bezier(.2,.9,.2,1)}.visible .live-event-card{transform:scale(1) translateY(0);opacity:1}.live-event-card:before{content:"";position:absolute;width:230px;height:230px;border-radius:50%;background:rgba(154,136,255,.34);filter:blur(65px)}.live-event-card>*{position:relative}.live-event-orb{width:104px;height:104px;border-radius:34px;display:grid;place-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);font-size:45px;font-weight:900;box-shadow:inset 0 1px rgba(255,255,255,.3),0 18px 40px rgba(0,0,0,.18);animation:liveFloat 2s ease-in-out infinite}.live-event-card p{font-size:11px;letter-spacing:.24em;font-weight:900;opacity:.65;margin:28px 0 7px}.live-event-card h2{font-size:clamp(38px,8vw,64px);letter-spacing:-.065em;line-height:.95;margin:0}.live-event-card>span{font-size:17px;line-height:1.5;max-width:390px;margin-top:16px;opacity:.88}.live-event-card small{margin-top:22px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.13)}.theme-gold,.theme-legendary{background:linear-gradient(145deg,#806219ee,#21190bea)}.theme-mint{background:linear-gradient(145deg,#277158ee,#102a22ed)}.theme-blue,.theme-ice{background:linear-gradient(145deg,#326d8fee,#122837ed)}.theme-danger{background:linear-gradient(145deg,#8e3042ee,#2d1117ed)}.theme-violet{background:linear-gradient(145deg,#624fa1ee,#201933ed)}.theme-rainbow{background:linear-gradient(135deg,#7846a8ed,#237ba4ed,#27936eed)}.theme-dark{background:linear-gradient(145deg,#16151aed,#050506f5)}@keyframes liveFloat{50%{transform:translateY(-8px) rotate(2deg)}}
.particle-layer{position:fixed;inset:0;pointer-events:none;z-index:999;overflow:hidden}.particle-layer i{position:absolute;top:-40px;font-style:normal;font-size:25px;animation:particleFall 3s var(--delay) cubic-bezier(.2,.7,.3,1) forwards}@keyframes particleFall{to{transform:translate(var(--drift),110vh) rotate(520deg);opacity:.1}}.fx-shake .player-app{animation:screenShake .6s}.fx-dark .player-app{filter:brightness(.28) saturate(.5)}.fx-stress .student-question{animation:stressPulse .55s infinite}.fx-fog .student-answers,.fx-fog .interactive-stage{filter:blur(12px);animation:fogClear 5s forwards}.fx-lightning:after{content:"";position:fixed;inset:0;background:white;z-index:900;animation:flash .6s forwards;pointer-events:none}@keyframes screenShake{20%{transform:translateX(-12px)}40%{transform:translateX(11px)}60%{transform:translateX(-7px)}80%{transform:translateX(4px)}}@keyframes stressPulse{50%{transform:scale(1.012);box-shadow:0 0 0 8px #ef52651c}}@keyframes fogClear{to{filter:blur(0)}}@keyframes flash{0%,40%{opacity:1}20%,100%{opacity:0}}.secret-ranking{background:radial-gradient(circle at 50% 30%,#332e4f,#121118);color:white}.mystery-orb{width:120px;height:120px;border-radius:40px;background:#ffffff14;border:1px solid #ffffff35;display:grid;place-items:center;font-size:60px;margin:auto;animation:liveFloat 2s infinite}
@media(max-width:700px){.event-grid{grid-template-columns:repeat(2,1fr)}.live-event-card{min-height:340px;border-radius:32px;padding:28px}.live-event-orb{width:84px;height:84px;border-radius:27px;font-size:36px}}

/* === LUMA V5.2 : Command Center & flux Live fiable === */
.v52-layout{margin-bottom:20px}.live-command-center{padding:0;overflow:hidden;position:relative;background:linear-gradient(145deg,#fbfbfd 0%,#f4f1fa 100%);border:1px solid rgba(45,36,70,.08)}
.live-command-header{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;padding:30px 32px 24px;border-bottom:1px solid rgba(55,46,82,.08);background:rgba(255,255,255,.72)}.live-command-header h2{font-size:30px;letter-spacing:-.04em;margin:5px 0 8px}.live-command-header p{max-width:760px;color:var(--muted);line-height:1.55;margin:0}.live-command-actions{display:flex;gap:10px;flex-shrink:0}.chaos-toggle{display:flex;gap:8px;align-items:center;border:0;background:#17151d;color:#fff;border-radius:14px;padding:12px 16px;font-weight:850;box-shadow:0 9px 24px rgba(23,21,29,.16)}.chaos-toggle.active{background:linear-gradient(135deg,#713ce6,#de4da4);box-shadow:0 10px 32px rgba(113,60,230,.28)}
.event-category-nav{display:flex;gap:7px;padding:16px 24px;border-bottom:1px solid rgba(55,46,82,.07);overflow:auto;background:rgba(255,255,255,.46)}.event-category-nav button{border:1px solid rgba(55,46,82,.08);background:#fff;color:#656170;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:750;white-space:nowrap}.event-category-nav button.active{background:#1d1a24;color:#fff;border-color:#1d1a24}
.live-command-body{display:grid;grid-template-columns:minmax(0,1fr) 330px;min-height:650px}.event-library{padding:26px;max-height:790px;overflow:auto}.event-section+.event-section{margin-top:30px}.event-section-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:13px}.event-section-title h3{font-size:18px;margin:0 0 3px}.event-section-title p{font-size:12px;color:var(--muted);margin:0}.event-section-title>span{font-size:11px;color:#888391;background:#ece9f1;padding:6px 9px;border-radius:999px}.event-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.event-command-card{position:relative;min-height:106px;border:1px solid rgba(47,39,69,.08);border-radius:20px;background:rgba(255,255,255,.9);padding:14px;display:grid;grid-template-columns:48px 1fr 18px;align-items:center;gap:12px;text-align:left;transition:.22s cubic-bezier(.2,.8,.2,1);overflow:hidden}.event-command-card:before{content:"";position:absolute;width:80px;height:80px;border-radius:50%;right:-35px;top:-38px;background:var(--event-tint,#8b78d8);opacity:.09;filter:blur(4px)}.event-command-card:hover{transform:translateY(-3px);box-shadow:0 15px 34px rgba(48,38,75,.10);border-color:rgba(88,68,146,.18)}.event-command-card.selected{border-color:#745ed0;box-shadow:0 0 0 3px rgba(116,94,208,.12),0 16px 36px rgba(48,38,75,.12)}.event-command-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:color-mix(in srgb,var(--event-tint,#8b78d8) 14%,white);color:color-mix(in srgb,var(--event-tint,#8b78d8) 80%,#18151f);font-size:21px;font-weight:900}.event-command-copy{min-width:0;display:flex;flex-direction:column}.event-command-copy strong{font-size:13px;line-height:1.15}.event-command-copy small{font-size:11px;color:#5d5870;margin-top:5px;font-weight:700}.event-command-copy em{font-size:9px;font-style:normal;text-transform:uppercase;letter-spacing:.08em;color:#9994a2;margin-top:7px}.event-command-arrow{font-size:23px;color:#b1acb8}.theme-card-gold,.theme-card-legendary{--event-tint:#d69e26}.theme-card-danger{--event-tint:#d8475f}.theme-card-violet{--event-tint:#7450d6}.theme-card-blue,.theme-card-ice{--event-tint:#2b8fcb}.theme-card-mint{--event-tint:#27a877}.theme-card-rainbow{--event-tint:#d64f9f}.theme-card-dark{--event-tint:#393545}.theme-card-orange{--event-tint:#e37a2d}.theme-card-fog{--event-tint:#90a1ad}
.event-inspector{border-left:1px solid rgba(55,46,82,.08);background:rgba(246,244,250,.75);padding:22px;position:sticky;top:10px;height:fit-content;min-height:650px}.inspector-placeholder{height:600px;display:grid;place-items:center;align-content:center;text-align:center;color:#918c9a;padding:30px}.inspector-placeholder>span{width:70px;height:70px;border-radius:24px;background:#ebe7f2;display:grid;place-items:center;font-size:28px}.inspector-placeholder h3{color:#393541;margin:18px 0 6px}.inspector-placeholder p{font-size:13px;line-height:1.5}.inspector-card{position:relative;min-height:600px;border-radius:28px;padding:28px 24px;display:flex;flex-direction:column;align-items:flex-start;color:#fff;overflow:hidden;background:linear-gradient(145deg,#403a54,#201d2a);box-shadow:0 22px 55px rgba(35,29,50,.18)}.inspector-card:before,.inspector-card:after{content:"";position:absolute;border-radius:50%;filter:blur(35px);opacity:.42}.inspector-card:before{width:220px;height:220px;background:#9b82ff;right:-90px;top:-80px}.inspector-card:after{width:170px;height:170px;background:#fff;left:-110px;bottom:-80px;opacity:.12}.inspector-card>*{position:relative;z-index:1}.inspector-icon{width:78px;height:78px;border-radius:25px;background:#ffffff20;border:1px solid #ffffff3b;display:grid;place-items:center;font-size:34px;font-weight:900;box-shadow:inset 0 1px #ffffff55}.inspector-kicker{font-size:10px;letter-spacing:.12em;font-weight:850;text-transform:uppercase;opacity:.65;margin-top:24px}.inspector-card h3{font-size:31px;line-height:1;letter-spacing:-.045em;margin:8px 0 10px}.inspector-card>strong{font-size:16px;background:#ffffff1c;padding:8px 11px;border-radius:10px}.inspector-card>p{font-size:14px;line-height:1.6;opacity:.88;margin:20px 0}.inspector-flow{display:flex;align-items:center;gap:7px;font-size:9px;font-weight:850;letter-spacing:.07em;margin:8px 0 22px}.inspector-flow span{background:#ffffff17;padding:7px 8px;border-radius:8px}.inspector-flow i{opacity:.45}.inspector-fire{width:100%;margin-top:auto;background:#fff!important;color:#201c28!important}.inspector-note{font-size:10px;line-height:1.45;opacity:.58;text-align:center;margin:12px auto 0}.theme-panel-gold,.theme-panel-legendary{background:linear-gradient(145deg,#9b701e,#2e210c)}.theme-panel-danger{background:linear-gradient(145deg,#9b3048,#301018)}.theme-panel-blue,.theme-panel-ice{background:linear-gradient(145deg,#276f98,#102735)}.theme-panel-mint{background:linear-gradient(145deg,#24785d,#102c23)}.theme-panel-violet{background:linear-gradient(145deg,#694fab,#211a35)}.theme-panel-rainbow{background:linear-gradient(135deg,#7a43ad,#287baa,#269875)}.theme-panel-dark{background:linear-gradient(145deg,#25232b,#08080a)}
.live-history{display:flex;justify-content:space-between;gap:20px;padding:18px 25px;border-top:1px solid rgba(55,46,82,.08);background:#fff}.live-history>div:first-child{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.stream-health{font-size:10px;color:#6b8c78}.stream-health i{display:inline-block;width:7px;height:7px;background:#46ad73;border-radius:50%;margin-right:5px;box-shadow:0 0 0 4px #46ad7315}.event-history-list{display:flex;gap:7px;overflow:auto;justify-content:flex-end}.history-event{display:flex;align-items:center;gap:6px;padding:7px 9px;border-radius:11px;background:#f1eff5;font-size:10px;font-weight:750;white-space:nowrap}.history-event b{width:22px;height:22px;border-radius:7px;background:#fff;display:grid;place-items:center}.history-event small{color:#8a8590}.admin-event-toast{position:fixed;left:50%;bottom:25px;z-index:1500;transform:translate(-50%,30px);padding:13px 18px;border-radius:15px;background:#1d1a24;color:#fff;font-size:12px;font-weight:800;opacity:0;transition:.25s;box-shadow:0 15px 45px #0003}.admin-event-toast.show{opacity:1;transform:translate(-50%,0)}.admin-event-toast.error{background:#9b3048}.admin-event-toast.success{background:#1e654d}
/* Unique player events */
.live-layer{transition:opacity .35s,backdrop-filter .4s,background .4s}.live-layer.leaving{opacity:0}.live-event-card{position:relative;overflow:hidden;isolation:isolate}.live-event-card:after{content:"";position:absolute;inset:-60%;background:conic-gradient(from 0deg,transparent,#ffffff19,transparent 28%);animation:eventSweep 4.2s linear infinite;z-index:-1}.event-progress{position:absolute;left:24px;right:24px;bottom:18px;height:3px;background:#ffffff28;border-radius:9px;overflow:hidden}.event-progress:after{content:"";display:block;height:100%;background:#fff;animation:eventProgress 4.65s linear forwards}.event-rings i{position:absolute;inset:50%;width:120px;height:120px;margin:-60px;border:2px solid #fff6;border-radius:50%;animation:ringOut 2s infinite}.event-rings i+ i{animation-delay:.6s}.event-stars,.event-coins,.event-crown,.event-clock,.event-slash,.event-crystal,.event-bolt,.event-mask,.event-heart,.event-thief,.event-equal{position:absolute;inset:auto 0 70%;font-size:28px;letter-spacing:18px;opacity:.22;animation:decorFloat 2.4s ease-in-out infinite}.event-crown,.event-clock,.event-slash,.event-crystal,.event-bolt,.event-mask,.event-heart{font-size:170px;letter-spacing:0;inset:3% 0 auto;opacity:.08}.event-thief,.event-equal{font-size:34px;letter-spacing:5px;inset:auto 0 8%;opacity:.18}.event-clouds i{position:absolute;width:240px;height:80px;border-radius:50%;background:#fff3;filter:blur(20px);animation:cloudMove 4s linear infinite}.event-clouds i:nth-child(1){top:15%;left:-35%}.event-clouds i:nth-child(2){top:45%;right:-35%;animation-direction:reverse}.event-clouds i:nth-child(3){bottom:8%;left:-25%;animation-delay:1s}.event-bursts i{position:absolute;width:10px;height:10px;border-radius:50%;box-shadow:0 -45px #fff,32px -32px #fff,-32px -32px #fff,45px 0 #fff,-45px 0 #fff,32px 32px #fff,-32px 32px #fff,0 45px #fff;animation:burstPulse 1.5s infinite}.event-bursts i:nth-child(1){top:18%;left:18%}.event-bursts i:nth-child(2){top:23%;right:17%;animation-delay:.5s}.event-bursts i:nth-child(3){bottom:15%;left:50%;animation-delay:1s}.event-jackpot .live-event-orb,.event-legendary .live-event-orb{animation:liveFloat 1.5s infinite,orbGlow 1s alternate infinite}.event-freeze_time .live-event-orb{animation:crystalSpin 4s linear infinite}.event-shake .live-event-card{animation:cardShock .7s}.event-dark_mode .live-event-card{box-shadow:0 0 0 100vmax rgba(0,0,0,.82),0 50px 120px #000}.event-stress .live-event-card{animation:stressCard .65s infinite}.particle-burst{animation:particleBurst 3s var(--delay) ease-out forwards!important}.fx-jackpot .player-app{filter:saturate(1.35) brightness(1.05)}.fx-legendary .player-app{filter:saturate(1.5) contrast(1.05)}
@keyframes eventSweep{to{transform:rotate(360deg)}}@keyframes eventProgress{from{width:100%}to{width:0}}@keyframes ringOut{from{transform:scale(.4);opacity:.8}to{transform:scale(2.5);opacity:0}}@keyframes decorFloat{50%{transform:translateY(-12px)}}@keyframes cloudMove{from{transform:translateX(0)}to{transform:translateX(220%)}}@keyframes burstPulse{50%{transform:scale(1.5);opacity:.2}}@keyframes orbGlow{to{box-shadow:0 0 65px #fff8,inset 0 1px #fff}}@keyframes crystalSpin{to{transform:rotate(360deg)}}@keyframes cardShock{20%{transform:translateX(-15px) rotate(-1deg)}40%{transform:translateX(13px) rotate(1deg)}60%{transform:translateX(-8px)}80%{transform:translateX(5px)}}@keyframes stressCard{50%{transform:scale(1.025)}}@keyframes particleBurst{0%{opacity:1;transform:scale(.2)}100%{opacity:0;transform:translate(var(--drift),var(--rise)) scale(1.6) rotate(300deg)}}
@media(max-width:1100px){.live-command-body{grid-template-columns:1fr}.event-inspector{position:relative;min-height:0;border-left:0;border-top:1px solid rgba(55,46,82,.08)}.inspector-placeholder{height:220px}.inspector-card{min-height:480px}.event-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.live-command-header{padding:23px 19px;flex-direction:column}.live-command-actions{width:100%;flex-wrap:wrap}.live-command-actions>*{flex:1}.event-library{padding:18px 14px}.event-card-grid{grid-template-columns:1fr}.event-command-card{min-height:88px}.live-history{flex-direction:column}.event-history-list{justify-content:flex-start}.live-event-card{min-height:390px}.live-event-card h2{font-size:44px}}

/* V5.3 — notifications Live non bloquantes */
.live-layer{inset:0 0 auto 0;z-index:1200;display:flex;justify-content:center;align-items:flex-start;padding:14px 14px 0;background:transparent!important;backdrop-filter:none!important;pointer-events:none;opacity:0;transform:translateY(-22px);transition:opacity .28s ease,transform .42s cubic-bezier(.2,.9,.2,1)}
.live-layer.visible{opacity:1;transform:translateY(0);background:transparent!important;backdrop-filter:none!important}
.live-layer.leaving{opacity:0;transform:translateY(-18px)}
.live-event-card{width:min(760px,calc(100vw - 28px));min-height:0;border-radius:24px;padding:14px 16px;display:grid;grid-template-columns:58px minmax(0,1fr) auto;grid-template-rows:auto;gap:13px;align-items:center;justify-items:stretch;text-align:left;color:#fff;background:linear-gradient(135deg,rgba(42,39,54,.96),rgba(19,18,25,.94));border:1px solid rgba(255,255,255,.27);box-shadow:0 18px 55px rgba(23,20,35,.28),inset 0 1px rgba(255,255,255,.25);transform:none;opacity:1;overflow:hidden;isolation:isolate;pointer-events:none}
.visible .live-event-card{transform:none;opacity:1}
.live-event-card:before{width:150px;height:150px;right:-20px;top:-70px;left:auto;background:rgba(154,136,255,.32);filter:blur(45px)}
.live-event-card:after{inset:-180%;animation:eventSweep 5s linear infinite;opacity:.65}
.live-event-orb{grid-column:1;width:58px;height:58px;border-radius:18px;font-size:27px;box-shadow:inset 0 1px rgba(255,255,255,.34),0 10px 24px rgba(0,0,0,.16);animation:bannerIcon 2s ease-in-out infinite}
.live-event-copy{grid-column:2;min-width:0;position:relative;z-index:2}
.live-event-card p{font-size:9px;letter-spacing:.17em;margin:0 0 3px;opacity:.64}
.live-event-card h2{font-size:clamp(20px,4.4vw,29px);letter-spacing:-.04em;line-height:1;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.live-event-card>span,.live-event-copy>span{display:block;font-size:12px;line-height:1.35;max-width:none;margin-top:5px;opacity:.87;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.live-event-card small{grid-column:3;margin:0;padding:7px 10px;border-radius:999px;font-size:9px;font-weight:850;letter-spacing:.06em;white-space:nowrap;background:rgba(255,255,255,.13)}
.event-progress{left:74px;right:16px;bottom:7px;height:2px}
.event-progress:after{animation:eventProgress 3.35s linear forwards}
.event-rings,.event-stars,.event-coins,.event-crown,.event-clock,.event-slash,.event-crystal,.event-clouds,.event-bolt,.event-bursts,.event-mask,.event-heart,.event-thief,.event-equal{position:absolute!important;inset:0!important;pointer-events:none;opacity:.18;z-index:0}
.event-rings i{width:58px;height:58px;margin:-29px;left:45px;top:50%}
.event-stars,.event-coins,.event-thief,.event-equal{font-size:18px;letter-spacing:8px;text-align:right;padding:15px 18px}
.event-crown,.event-clock,.event-slash,.event-crystal,.event-bolt,.event-mask,.event-heart{font-size:92px;text-align:right;padding-right:40px;line-height:1}
.event-clouds i{width:150px;height:42px}
.event-bursts i{transform:scale(.55)}
.event-jackpot .live-event-orb,.event-legendary .live-event-orb{animation:bannerIcon 1.4s infinite,orbGlow 1s alternate infinite}
.event-freeze_time .live-event-orb{animation:crystalSpin 4s linear infinite}
.event-shake .live-event-card{animation:bannerShock .55s}
.event-dark_mode .live-event-card{box-shadow:0 18px 55px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.18)}
.event-stress .live-event-card{animation:bannerStress .8s infinite}
@keyframes bannerIcon{50%{transform:translateY(-2px) scale(1.04)}}
@keyframes bannerShock{20%{transform:translateX(-7px)}40%{transform:translateX(6px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
@keyframes bannerStress{50%{box-shadow:0 18px 55px rgba(239,82,101,.3),inset 0 1px rgba(255,255,255,.25)}}
@media(max-width:700px){.live-layer{padding:9px 9px 0}.live-event-card{width:calc(100vw - 18px);min-height:0;border-radius:19px;padding:11px 12px;grid-template-columns:48px minmax(0,1fr);gap:10px}.live-event-orb{width:48px;height:48px;border-radius:15px;font-size:23px}.live-event-card h2{font-size:20px}.live-event-copy>span{font-size:11px}.live-event-card small{display:none}.event-progress{left:70px;right:12px;bottom:5px}.event-crown,.event-clock,.event-slash,.event-crystal,.event-bolt,.event-mask,.event-heart{font-size:70px;padding-right:15px}}


/* === LUMA V5.4 : micro-récompenses XP non bloquantes === */
.xp-toast-layer{position:fixed;z-index:1190;top:96px;left:50%;width:min(610px,calc(100vw - 24px));transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:9px;pointer-events:none}
.xp-toast{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:11px;padding:10px 13px;border-radius:18px;background:rgba(255,255,255,.90);border:1px solid rgba(255,255,255,.95);box-shadow:0 13px 38px rgba(37,31,57,.16),inset 0 1px #fff;backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);opacity:0;transform:translateY(-15px) scale(.97);transition:.38s cubic-bezier(.2,.85,.2,1);color:#24202c;overflow:hidden}
.xp-toast.show{opacity:1;transform:translateY(0) scale(1)}.xp-toast.leave{opacity:0;transform:translateY(-10px) scale(.98)}
.xp-toast.mine{background:linear-gradient(135deg,rgba(247,244,255,.95),rgba(238,255,248,.93));box-shadow:0 15px 42px rgba(87,66,155,.20),inset 0 1px #fff}.xp-toast.public{width:92%;opacity:.96}
.xp-toast-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#765be0,#a78cf8);color:#fff;font-size:20px;box-shadow:0 8px 20px rgba(111,83,210,.27);animation:xpIconFloat 1.6s ease-in-out infinite}
.xp-toast.public .xp-toast-icon{background:linear-gradient(145deg,#2e9a75,#65cda7)}
.xp-toast small{display:block;font-size:8px;letter-spacing:.13em;font-weight:900;color:#858091;margin-bottom:2px}.xp-toast strong{display:block;font-size:13px;line-height:1.2}.xp-toast strong b{color:#6d50ce}.xp-toast p{font-size:11px;line-height:1.35;margin:3px 0 0;color:#615b6a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xp-toast:after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:linear-gradient(90deg,#765be0,#58c69b);transform-origin:left;animation:xpToastLife 3.2s linear forwards}
@keyframes xpIconFloat{50%{transform:translateY(-3px) rotate(3deg)}}@keyframes xpToastLife{to{transform:scaleX(0)}}
@media(max-width:700px){.xp-toast-layer{top:78px;width:calc(100vw - 16px)}.xp-toast{grid-template-columns:39px minmax(0,1fr);padding:9px 10px;border-radius:16px}.xp-toast-icon{width:39px;height:39px;border-radius:12px;font-size:18px}.xp-toast strong{font-size:12px}.xp-toast p{font-size:10px}.xp-toast.public{width:96%}}


/* === LUMA V6 : Missions & badges === */
.rewards-page{padding-bottom:80px}.rewards-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:42px;border-radius:32px;background:linear-gradient(135deg,#fff,#f2edff);box-shadow:0 24px 70px #5b3fd21a;margin:24px 0 34px}.rewards-hero h1{font-size:clamp(34px,5vw,58px);margin:4px 0}.coin-orb{min-width:190px;padding:24px;border-radius:26px;background:rgba(255,255,255,.78);backdrop-filter:blur(22px);box-shadow:0 16px 45px #5842a51c;text-align:center}.coin-orb small{display:block;color:#777}.coin-orb strong{display:block;font-size:28px;margin-top:6px}.reward-section{margin-top:34px}.mission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.mission-card{display:flex;gap:16px;padding:22px;border-radius:26px;background:#fff;box-shadow:0 15px 45px #0000000a;border:1px solid #ececf2}.mission-card.done{background:linear-gradient(145deg,#f1fff7,#fff)}.reward-icon{width:48px;height:48px;border-radius:16px;background:#f1edff;display:grid;place-items:center;font-size:24px;flex:0 0 auto}.mission-card h3{margin:3px 0 7px}.mission-card p{margin:0;color:#666}.mission-track{height:8px;background:#ececf2;border-radius:99px;overflow:hidden;margin:17px 0 9px}.mission-track i{display:block;height:100%;background:linear-gradient(90deg,#7666ff,#a384ff);border-radius:inherit}.mission-card footer{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:#6b6b73}.badge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.badge-card{padding:24px;border-radius:26px;text-align:center;background:#fff;border:1px solid #ececf2;box-shadow:0 15px 40px #00000008;transition:.25s}.badge-card.locked{filter:grayscale(1);opacity:.48}.badge-card.earned:hover{transform:translateY(-5px)}.badge-medal{width:78px;height:78px;display:grid;place-items:center;margin:0 auto 14px;border-radius:50%;font-size:38px;background:linear-gradient(145deg,#fff,#eee);box-shadow:inset 0 0 0 1px #fff,0 12px 28px #0001}.tier-bronze .badge-medal{background:linear-gradient(145deg,#f6d3b4,#b87333)}.tier-silver .badge-medal{background:linear-gradient(145deg,#fff,#aeb5c2)}.tier-gold .badge-medal{background:linear-gradient(145deg,#fff7b2,#e3ad22)}.tier-diamond .badge-medal{background:linear-gradient(145deg,#e9ffff,#8fd9ff)}.badge-card small{text-transform:uppercase;letter-spacing:.12em}.badge-card h3{margin:7px 0}.badge-card p{font-size:14px;color:#666}.badge-card footer{font-size:12px;color:#777;margin-top:14px}.admin-reward-list{display:grid;gap:12px}.admin-reward-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;padding:14px;border-radius:20px;background:#f8f8fb}.admin-reward-row small{display:block;color:#777;margin-top:3px}.reward-pill{padding:8px 12px;border-radius:99px;background:#eee9ff;font-weight:700;font-size:12px}.reward-float{position:fixed;z-index:9999;top:92px;left:50%;width:min(520px,calc(100% - 28px));display:flex;gap:14px;align-items:center;padding:15px 18px;border-radius:22px;background:rgba(255,255,255,.93);backdrop-filter:blur(22px);box-shadow:0 20px 60px #0002;border:1px solid #fff;pointer-events:none;transform:translate(-50%,-25px) scale(.96);opacity:0;transition:.42s cubic-bezier(.2,.8,.2,1)}.reward-float.show{transform:translate(-50%,0) scale(1);opacity:1}.reward-float>span{font-size:30px}.reward-float strong,.reward-float small,.reward-float b{display:block}.reward-float small{color:#666;margin-top:2px}.reward-float b{color:#6d4aff;margin-top:4px}.reward-float.badge{background:linear-gradient(135deg,rgba(255,249,218,.96),rgba(255,255,255,.94))}.reward-float.mission{background:linear-gradient(135deg,rgba(235,255,244,.96),rgba(255,255,255,.94))}@media(max-width:700px){.rewards-hero{padding:26px;align-items:flex-start;flex-direction:column}.coin-orb{width:100%}.admin-reward-row{grid-template-columns:auto 1fr}.admin-reward-row form,.admin-reward-row .reward-pill{grid-column:2}.reward-float{top:74px}}

/* === LUMA V6.1 : défis longue durée & boutique === */
.shop-page{padding-bottom:90px}.shop-hero{display:flex;justify-content:space-between;align-items:center;gap:28px;margin:24px 0 34px;padding:42px;border-radius:34px;background:linear-gradient(135deg,#fff,#eef8f3 58%,#eee8ff);box-shadow:0 25px 75px #493a8214}.shop-hero h1{font-size:clamp(38px,6vw,66px);letter-spacing:-.055em;margin:5px 0 12px}.shop-hero p{max-width:720px;color:#67636e}.shop-section{margin-top:34px}.shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:18px}.shop-card{position:relative;display:flex;flex-direction:column;min-height:330px;padding:18px;border-radius:28px;background:rgba(255,255,255,.92);border:1px solid #ebe8f1;box-shadow:0 16px 50px #0000000c;overflow:hidden;transition:.25s}.shop-card:hover{transform:translateY(-4px);box-shadow:0 22px 60px #31284a18}.shop-card.equipped{box-shadow:0 0 0 3px #7864e7,0 22px 60px #5844c525}.shop-card.equipped:after{content:'ÉQUIPÉ';position:absolute;right:14px;top:14px;padding:6px 9px;border-radius:999px;background:#292532;color:#fff;font-size:9px;font-weight:900;letter-spacing:.1em}.shop-preview{height:130px;border-radius:22px;display:grid;place-items:center;font-size:48px;background:linear-gradient(145deg,#f6f4ff,#e7f7ef);position:relative;overflow:hidden}.shop-preview:after{content:'';position:absolute;inset:-50%;background:conic-gradient(transparent,#ffffff80,transparent 25%);animation:shopSweep 6s linear infinite}.shop-copy{padding:17px 5px;flex:1}.shop-copy small{text-transform:uppercase;letter-spacing:.13em;font-size:9px;font-weight:900;color:#777}.shop-copy h3{font-size:20px;margin:5px 0 8px}.shop-copy p{font-size:13px;color:#6f6a75;margin:0}.shop-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.shop-card footer strong{font-size:17px}.shop-card .button[disabled]{opacity:.42;cursor:not-allowed;transform:none}.rarity-rare .shop-preview{background:linear-gradient(145deg,#eaf6ff,#dce7ff)}.rarity-epic .shop-preview{background:linear-gradient(145deg,#f4eaff,#e2d7ff)}.rarity-legendary .shop-preview{background:linear-gradient(145deg,#fff7cc,#ffd889)}.rarity-legendary{border-color:#e9cb67}.equipped-title{display:inline-flex;margin-top:6px;padding:6px 10px;border-radius:999px;background:#ece7ff;color:#5d4eb6;font-size:12px;font-weight:800}.student-avatar.frame-mint{box-shadow:0 0 0 5px #bcebd5,0 14px 36px #68bd9638}.student-avatar.frame-lavender{box-shadow:0 0 0 5px #cfc4ff,0 14px 36px #7a64d43b}.student-avatar.frame-fire{box-shadow:0 0 0 5px #ffb05e,0 0 28px #ff7a3f99}.student-avatar.frame-neon{box-shadow:0 0 0 4px #7cf4ff,0 0 12px #7cf4ff,0 0 30px #7e5cff}.student-avatar.frame-crown{box-shadow:0 0 0 5px #f5cd4d,0 0 30px #f5cd4d80}.student-avatar.effect-spark:after,.student-avatar.effect-confetti:after,.student-avatar.effect-orbit:after,.student-avatar.effect-aurora:after{content:'✨';position:absolute;inset:-18px;display:grid;place-items:start end;animation:effectFloat 2s ease-in-out infinite;pointer-events:none}.student-avatar.effect-confetti:after{content:'🎉';}.student-avatar.effect-orbit:after{content:'•';border:2px solid #7967e6;border-radius:50%;animation:orbit 3s linear infinite}.student-avatar.effect-aurora:after{content:'';border-radius:50%;background:conic-gradient(#75e8d0,#8d72ff,#ff91c8,#75e8d0);filter:blur(10px);opacity:.5;z-index:-1;animation:orbit 5s linear infinite}.student-avatar{position:relative}.theme-sky{background:radial-gradient(circle at 20% 0,#dff3ff,transparent 35%),#f5fbff}.theme-forest{background:radial-gradient(circle at 15% 0,#dcefe1,transparent 30%),radial-gradient(circle at 100% 40%,#c7dfcf,transparent 35%),#edf4ee}.theme-sunset{background:radial-gradient(circle at 10% 10%,#ffd9c6,transparent 35%),radial-gradient(circle at 90% 20%,#d9ccff,transparent 38%),#fff6ef}.theme-cosmos{background:radial-gradient(circle at 20% 10%,#463878,transparent 28%),radial-gradient(circle at 80% 0,#21375e,transparent 30%),#171625;color:#f8f6ff}.theme-cosmos .surface,.theme-cosmos .year-card,.theme-cosmos .year-stat,.theme-cosmos .student-hero{background:rgba(255,255,255,.09);color:#fff;border-color:#ffffff1f}.theme-cosmos .muted,.theme-cosmos small,.theme-cosmos p{color:#d8d3e5}@keyframes shopSweep{to{transform:rotate(360deg)}}@keyframes effectFloat{50%{transform:translateY(-5px) rotate(8deg)}}@keyframes orbit{to{transform:rotate(360deg)}}@media(max-width:700px){.shop-hero{padding:26px;align-items:flex-start;flex-direction:column}.shop-hero .coin-orb{width:100%}.shop-grid{grid-template-columns:1fr 1fr}.shop-card{min-height:310px;padding:13px}.shop-preview{height:105px}.shop-card footer{align-items:stretch;flex-direction:column}.shop-card footer .button{width:100%}}@media(max-width:480px){.shop-grid{grid-template-columns:1fr}}

/* === LUMA V6.2 : catalogue pédagogique === */
.catalog-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.catalog-head h1{font-size:clamp(38px,5vw,64px);letter-spacing:-.055em;margin:4px 0}.catalog-toolbar{position:sticky;top:18px;z-index:20;padding:16px;border-radius:24px;background:rgba(255,254,250,.88);backdrop-filter:blur(24px);box-shadow:0 18px 50px #332a5012}.catalog-search{display:flex;align-items:center;gap:12px;padding:13px 16px;border:1px solid var(--line);background:#fff;border-radius:16px}.catalog-search span{font-size:24px;color:#827b8c}.catalog-search input{border:0;outline:0;width:100%;font-size:16px}.catalog-filters{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.catalog-filters select,.filter-toggle{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px;font-weight:650;color:#5e5964}.filter-toggle.active{background:#fff4cf;border-color:#e8c75a;color:#886c09}.catalog-summary{display:flex;align-items:center;gap:7px;margin:24px 2px 14px;color:var(--muted)}.catalog-summary strong{font-size:20px;color:var(--ink)}.view-switch{margin-left:auto;display:flex;padding:4px;border-radius:12px;background:#eae6df}.view-switch button{border:0;background:transparent;padding:7px 10px;border-radius:9px}.view-switch button.active{background:#fff;box-shadow:0 3px 9px #0001}.quiz-catalog.grid-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}.catalog-card{display:flex;flex-direction:column;border-radius:28px;background:#fff;border:1px solid #ebe7e0;box-shadow:0 15px 45px #33283e0b;overflow:hidden;transition:.25s}.catalog-card:hover{transform:translateY(-4px);box-shadow:0 24px 65px #31263e18}.catalog-cover{height:154px;padding:17px;position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,var(--quiz-color),color-mix(in srgb,var(--quiz-color),#15112b 35%))}.catalog-cover:after{content:'';position:absolute;width:170px;height:170px;border-radius:50%;right:-45px;bottom:-70px;background:#fff2}.cover-orb{position:absolute;width:100px;height:100px;border-radius:50%;left:-20px;top:-35px;background:#fff2;filter:blur(2px)}.subject-label{position:relative;z-index:2;display:inline-flex;padding:6px 10px;border-radius:999px;background:#ffffff28;backdrop-filter:blur(12px);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.favorite-button{position:absolute;right:14px;top:13px;z-index:4;width:38px;height:38px;border:0;border-radius:50%;background:#ffffff25;color:#ffffffa0;font-size:18px}.favorite-button.on{background:#fff2c8;color:#d39b08}.cover-icon{position:absolute;left:18px;bottom:20px;font-size:39px;z-index:2}.cover-theme{position:absolute;left:70px;bottom:24px;font-size:14px;font-weight:800;z-index:2}.catalog-body{padding:19px 19px 12px;flex:1}.catalog-meta{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;color:#766f7c;text-transform:uppercase;letter-spacing:.06em}.difficulty{padding:5px 8px;border-radius:999px;background:#eee}.difficulty.facile{background:#dcf4e6;color:#27734a}.difficulty.moyen{background:#e7e6fa;color:#5b50a6}.difficulty.difficile{background:#ffead5;color:#a45b18}.difficulty.expert{background:#f7dfe5;color:#9f324c}.catalog-body h2{font-size:21px;line-height:1.15;letter-spacing:-.025em;margin:11px 0 8px}.catalog-body p{font-size:13px;line-height:1.45;color:#746f79;margin:0;min-height:38px}.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.tag-row span{padding:5px 8px;border-radius:8px;background:#f3f0eb;font-size:10px;font-weight:700;color:#6b6570}.quiz-facts{display:flex;gap:14px;border-top:1px solid #eee9e2;margin-top:15px;padding-top:13px;font-size:10px;color:#817a85}.quiz-facts b{display:block;color:#38333c;font-size:12px}.catalog-actions{display:flex;align-items:center;gap:8px;padding:12px 15px 16px}.launch-form{flex:1}.launch-form .button{width:100%}.catalog-actions details{position:relative}.catalog-actions summary{list-style:none;padding:10px;cursor:pointer}.card-menu{position:absolute;right:0;bottom:42px;width:150px;padding:7px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 12px 35px #0002;z-index:5}.card-menu button{display:block;width:100%;padding:9px;border:0;background:transparent;text-align:left;border-radius:8px}.card-menu button:hover{background:#f4f1ec}.quiz-catalog.list-view{display:grid;gap:10px}.quiz-catalog.list-view .catalog-card{display:grid;grid-template-columns:180px 1fr auto;min-height:155px}.quiz-catalog.list-view .catalog-cover{height:100%}.quiz-catalog.list-view .catalog-body p{min-height:0}.quiz-catalog.list-view .catalog-actions{align-self:center}.quiz-identity-preview{display:flex;align-items:center;gap:12px;padding:18px;border-radius:20px;background:linear-gradient(135deg,var(--preview-color),color-mix(in srgb,var(--preview-color),#211936 35%));color:#fff;margin-bottom:6px}.quiz-identity-preview span{font-size:34px}.quiz-identity-preview small{font-weight:800}.editor-meta input[type=color]{height:48px;padding:4px}
@media(max-width:900px){.catalog-toolbar{position:relative;top:0}.quiz-catalog.grid-view{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.quiz-catalog.list-view .catalog-card{grid-template-columns:140px 1fr}.quiz-catalog.list-view .catalog-actions{grid-column:2}.catalog-head{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.catalog-head h1{font-size:42px}.catalog-filters select,.filter-toggle{flex:1 1 45%}.quiz-catalog.grid-view{grid-template-columns:1fr}.quiz-catalog.list-view .catalog-card{display:flex}.quiz-catalog.list-view .catalog-cover{height:120px}.catalog-actions .button{padding:10px 12px}}

.generator-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px}.generator-main,.generator-side{padding:26px;border-radius:28px}.generator-intro{display:flex;gap:16px;align-items:center;margin-bottom:24px}.generator-intro>span{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#ede8ff;color:#6756c9;font-size:28px}.generator-layout label{display:grid;gap:8px;font-size:13px;font-weight:700}.generator-layout input,.generator-layout select{width:100%;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff}.generator-layout output{display:inline-flex;margin-top:6px;padding:7px 10px;border-radius:10px;background:#eee9ff;font-weight:900}.type-picker{border:0;padding:0;margin:26px 0 0}.type-picker legend{font-weight:800;margin-bottom:12px}.type-picker{display:flex;flex-wrap:wrap;gap:9px}.type-picker label input{display:none}.type-picker label span{display:block;padding:10px 13px;border-radius:12px;background:#f0ede8;color:#706a73}.type-picker label input:checked+span{background:#28242d;color:#fff}.generator-side{align-self:start;position:sticky;top:20px}.magic-preview{text-align:center;padding:28px 10px}.magic-preview>span{display:grid;place-items:center;width:90px;height:90px;margin:auto;border-radius:30px;background:linear-gradient(145deg,#e7ddff,#d7f3e4);font-size:48px;font-weight:900}.magic-preview h3{font-size:24px;margin:18px 0 8px}.generator-side small{display:block;color:#777;text-align:center;margin-top:13px}@media(max-width:850px){.generator-layout{grid-template-columns:1fr}.generator-side{position:static}.generator-main .grid.two{grid-template-columns:1fr}}

/* === V6.3 : identité sociale, classements et boutique épurée === */
.profile-identity{position:relative;overflow:hidden}.profile-identity:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(122,102,238,.18),transparent 68%);right:-60px;top:-90px;pointer-events:none}.empty-title-link{display:inline-flex;margin-top:8px;font-weight:800;color:#6f62db;text-decoration:none;border-bottom:1px dashed currentColor}.rank-showcase{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:16px;margin:18px 0}.rank-hero-card,.rank-mini-card{background:linear-gradient(145deg,#171735,#28235e);color:#fff;border-radius:28px;padding:24px;box-shadow:0 20px 50px rgba(35,31,85,.2)}.rank-hero-card strong,.rank-mini-card strong{display:block;font-size:clamp(2.2rem,5vw,4rem);line-height:1;margin:10px 0}.rank-hero-card p,.rank-mini-card p,.rank-hero-card small{margin:0;color:rgba(255,255,255,.7)}.rank-mini-card{background:#fff;color:#24232d;border:1px solid rgba(80,70,130,.1);box-shadow:0 15px 40px rgba(60,45,110,.08)}.rank-mini-card p{color:#777583}.leaderboard-header{display:flex;align-items:end;justify-content:space-between;margin:34px 0 20px}.leaderboard-header h1{font-size:clamp(2.5rem,6vw,5rem);margin:0}.scope-tabs{display:flex;background:#fff;border-radius:18px;padding:5px;box-shadow:0 10px 30px rgba(50,40,100,.08)}.scope-tabs a{padding:12px 18px;border-radius:14px;text-decoration:none;color:#666379;font-weight:800}.scope-tabs a.active{background:#6f5ce7;color:#fff}.my-rank-banner{display:flex;align-items:center;gap:18px;background:linear-gradient(110deg,#7864ea,#9a68ee);color:white;border-radius:24px;padding:18px 24px;margin-bottom:15px}.my-rank-banner strong{font-size:2rem}.my-rank-banner p{margin:0}.annual-leaderboard{display:grid;gap:10px}.annual-rank-row{display:grid;grid-template-columns:52px 56px minmax(170px,1.1fr) minmax(180px,1fr) minmax(130px,.7fr);align-items:center;gap:14px;background:rgba(255,255,255,.92);border:1px solid rgba(70,60,120,.09);border-radius:22px;padding:13px 18px;transition:.2s ease}.annual-rank-row:hover{transform:translateY(-2px);box-shadow:0 13px 35px rgba(50,40,100,.09)}.annual-rank-row.is-me{border:2px solid #8069ed;background:linear-gradient(90deg,#f2efff,#fff)}.rank-number{font-size:1.25rem;text-align:center}.student-avatar.small{width:50px;height:50px;font-size:1rem}.rank-person{display:flex;flex-direction:column}.rank-person small,.rank-score small{color:#777583}.rank-cosmetics{display:flex}.leader-title{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;background:linear-gradient(100deg,#2b254d,#7157cc);color:#fff;font-weight:900;font-size:.75rem;letter-spacing:.03em;box-shadow:0 7px 18px rgba(80,60,170,.2);max-width:100%}.no-title{font-size:.78rem;color:#aaa7b3}.rank-score{text-align:right;display:flex;flex-direction:column}.podium-profile .leader-title{margin-top:7px}.podium-profile .avatar{transition:.25s}.shop-category-head{margin-bottom:12px}.shop-category-head h2{font-size:1.8rem;margin:0}.shop-description{color:#656273!important;line-height:1.35!important;font-size:.9rem!important}.shop-copy small{text-transform:uppercase;letter-spacing:.08em;font-weight:900;font-size:.68rem}.shop-section{margin-top:24px}.shop-section+.shop-section{padding-top:8px;border-top:1px solid rgba(90,75,140,.08)}
@media(max-width:800px){.rank-showcase{grid-template-columns:1fr 1fr}.rank-hero-card{grid-column:1/-1}.annual-rank-row{grid-template-columns:42px 46px 1fr auto}.rank-cosmetics{grid-column:3/-1}.rank-score{grid-column:4;grid-row:1/3}.leaderboard-header{align-items:start;flex-direction:column;gap:14px}.scope-tabs{width:100%}.scope-tabs a{flex:1;text-align:center}}@media(max-width:520px){.rank-showcase{grid-template-columns:1fr}.rank-hero-card{grid-column:auto}.annual-rank-row{grid-template-columns:34px 42px 1fr}.rank-score{grid-column:3;grid-row:auto;text-align:left}.rank-cosmetics{grid-column:3}.student-top nav{display:flex;flex-wrap:wrap;gap:6px}.student-top .button{padding:8px 10px;font-size:.78rem}}


/* === V6.4 : navigation élève respirante + classement anonymisé === */
.student-top{gap:28px;position:relative;z-index:20}
.student-nav{display:flex;align-items:center;gap:10px;padding:7px;background:rgba(255,255,255,.78);border:1px solid rgba(79,65,130,.09);border-radius:22px;box-shadow:0 12px 35px rgba(53,42,94,.07);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.student-nav>a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:15px;color:#666277;font-size:.9rem;font-weight:800;white-space:nowrap;transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}
.student-nav>a:hover{transform:translateY(-1px);background:#f1eefc;color:#29263b}
.student-nav>a.active{background:#29263b;color:#fff;box-shadow:0 8px 20px rgba(41,38,59,.18)}
.student-nav>a.play-link{background:linear-gradient(135deg,#7362e8,#8f6be9);color:#fff;box-shadow:0 9px 23px rgba(113,91,220,.25)}
.student-nav>a.logout-link{padding-inline:12px;color:#8e8998;background:transparent}
.privacy-caption{margin:8px 0 0;color:#777386;font-size:.94rem}
.you-chip{display:inline-flex;margin-left:7px;padding:3px 7px;border-radius:999px;background:#765fe7;color:#fff;font-style:normal;font-size:.62rem;line-height:1;vertical-align:middle}
.annual-rank-row .student-avatar.small{font-size:1.25rem}
.rank-person strong{display:flex;align-items:center;flex-wrap:wrap}
@media(max-width:980px){.student-top{align-items:flex-start;flex-direction:column;gap:14px}.student-nav{width:100%;overflow-x:auto;justify-content:flex-start;scrollbar-width:none}.student-nav::-webkit-scrollbar{display:none}.student-nav>a{flex:0 0 auto}}
@media(max-width:560px){.student-top .student-nav>a{display:inline-flex!important}.student-nav{border-radius:18px;padding:6px;gap:6px}.student-nav>a{min-height:39px;padding:0 12px;font-size:.78rem}.student-nav>a.logout-link{display:none!important}.privacy-caption{font-size:.84rem}}

/* V6.4.1 — le masquage du catalogue doit primer sur les vues flex/grid. */
.catalog-card[hidden],.quiz-catalog .catalog-card[hidden]{display:none!important}


/* === V7 : statistiques amusantes + cartes Luma === */
.fun-stats{margin:28px 0}.fun-stats h2{font-size:clamp(1.8rem,4vw,3rem);margin:4px 0}.fun-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.fun-stat-grid article{position:relative;overflow:hidden;padding:22px;border-radius:25px;background:rgba(255,255,255,.88);border:1px solid rgba(90,75,140,.1);box-shadow:0 16px 45px rgba(61,45,110,.07)}.fun-stat-grid article>span{display:grid;place-items:center;width:46px;height:46px;border-radius:16px;background:linear-gradient(145deg,#eee9ff,#dff7eb);font-size:1.35rem;margin-bottom:17px}.fun-stat-grid strong{display:block;font-size:1.08rem}.fun-stat-grid p{margin:7px 0 0;color:#777386;font-size:.88rem}.cards-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:34px;border-radius:34px;background:radial-gradient(circle at 82% 20%,rgba(255,255,255,.2),transparent 24%),linear-gradient(135deg,#17152d,#493c91 58%,#7c65e8);color:#fff;margin:28px 0}.cards-hero h1{font-size:clamp(2.5rem,6vw,5rem);margin:5px 0 8px}.cards-hero p{max-width:700px;color:rgba(255,255,255,.75)}.card-count-orb{min-width:170px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;text-align:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(18px)}.card-count-orb strong{display:block;font-size:3rem}.card-count-orb span{display:block;font-size:.8rem}.card-collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;padding-bottom:45px}.collectible-card{min-height:360px;padding:20px;border-radius:30px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;background:linear-gradient(145deg,#242134,#4a445d);box-shadow:0 22px 55px rgba(35,28,70,.19);border:1px solid rgba(255,255,255,.18);transform-style:preserve-3d}.collectible-card:before{content:"";position:absolute;inset:-50%;background:conic-gradient(from 90deg,transparent,rgba(255,255,255,.18),transparent 30%);animation:cardAura 8s linear infinite}.collectible-card>*{position:relative;z-index:1}.collectible-card header,.collectible-card footer{display:flex;justify-content:space-between;align-items:center}.collectible-card header span{font-size:2.4rem}.collectible-card header small,.collectible-card footer em{font-style:normal;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;font-weight:900}.collectible-card h2{font-size:2rem;margin:6px 0 10px}.collectible-card p{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900;opacity:.72}.collectible-card div>span{line-height:1.5;opacity:.85}.collectible-card footer b{font-size:1.25rem}.collectible-card.rarity-common{background:linear-gradient(145deg,#334a52,#6f9b9d)}.collectible-card.rarity-rare{background:linear-gradient(145deg,#173e78,#4d85e5)}.collectible-card.rarity-epic{background:linear-gradient(145deg,#49236d,#a150d3)}.collectible-card.rarity-legendary{background:linear-gradient(145deg,#6d3b0c,#eaa728)}.collectible-card.rarity-mythic{background:radial-gradient(circle at 70% 10%,#ffeda3,transparent 20%),linear-gradient(145deg,#241342,#d23f89 48%,#ffb84c)}.collectible-card.locked{filter:grayscale(.85);opacity:.55}.card-shine{position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.18) 45%,transparent 70%);transform:translateX(-130%);animation:cardShine 5s ease-in-out infinite}@keyframes cardAura{to{transform:rotate(360deg)}}@keyframes cardShine{45%,100%{transform:translateX(130%)}}
.card-dock{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:75;display:flex;align-items:center;gap:9px;padding:8px;background:rgba(22,20,37,.86);border:1px solid rgba(255,255,255,.16);border-radius:22px;box-shadow:0 20px 55px rgba(16,12,40,.3);backdrop-filter:blur(22px);pointer-events:auto}.card-dock-toggle{border:0;background:linear-gradient(135deg,#7d68ed,#a667df);color:#fff;border-radius:16px;padding:12px 17px;font-weight:900}.card-hand{display:none;gap:8px}.card-dock.open .card-hand{display:flex}.joker-chip{position:relative;border:1px solid rgba(255,255,255,.14);background:#302b48;color:#fff;border-radius:15px;padding:9px 12px;min-width:80px;text-align:left}.joker-chip b{display:block}.joker-chip small{opacity:.65}.joker-chip.rarity-legendary,.joker-chip.rarity-mythic{background:linear-gradient(135deg,#704113,#bd7b17)}.joker-chip.rarity-epic{background:linear-gradient(135deg,#4d2a6e,#8d45ba)}.joker-chip:disabled{opacity:.4}.card-reveal-layer{position:fixed;top:90px;right:18px;z-index:90;width:min(360px,calc(100vw - 36px));pointer-events:none}.card-reveal{padding:19px;border-radius:26px;color:#fff;background:linear-gradient(145deg,#252039,#745fdf);box-shadow:0 22px 60px rgba(29,20,72,.32);animation:cardRevealIn .55s cubic-bezier(.2,.8,.2,1),cardRevealOut .45s 4.7s forwards}.card-reveal header{display:flex;justify-content:space-between;align-items:center}.card-reveal .card-icon{font-size:2.5rem}.card-reveal h3{font-size:1.5rem;margin:10px 0 6px}.card-reveal p{margin:0;line-height:1.45;opacity:.82}.card-reveal footer{margin-top:14px;font-size:.72rem;letter-spacing:.1em;font-weight:900}.card-reveal.rarity-legendary{background:linear-gradient(145deg,#4c2e09,#d99120)}.card-reveal.rarity-mythic{background:linear-gradient(145deg,#251341,#bd327f,#e6a331)}.card-reveal.rarity-epic{background:linear-gradient(145deg,#372052,#9045bd)}@keyframes cardRevealIn{from{opacity:0;transform:translateY(-20px) scale(.9) rotateY(20deg)}to{opacity:1;transform:none}}@keyframes cardRevealOut{to{opacity:0;transform:translateY(-12px) scale(.96)}}body.card-fog-pulse .question-shell:after{content:"";position:absolute;inset:0;background:rgba(239,243,255,.42);backdrop-filter:blur(4px);pointer-events:none;animation:fogPulse 2.5s forwards}@keyframes fogPulse{0%{opacity:0}30%{opacity:1}100%{opacity:0}}
@media(max-width:800px){.fun-stat-grid{grid-template-columns:1fr 1fr}.cards-hero{align-items:flex-start;flex-direction:column}.card-count-orb{min-width:120px}.card-dock{max-width:calc(100vw - 20px)}.card-hand{max-width:65vw;overflow-x:auto}.joker-chip{flex:0 0 auto}}@media(max-width:520px){.fun-stat-grid{grid-template-columns:1fr}.card-collection-grid{grid-template-columns:1fr}.card-dock{bottom:8px}.card-dock.open{align-items:flex-end}.card-dock-toggle{padding:11px}.card-reveal-layer{top:72px}}

/* V7.1 — main de jokers stable et spectaculaire */
.card-dock[hidden]{display:none!important}.card-dock{left:18px;right:18px;bottom:14px;transform:none;max-width:none;justify-content:flex-start;padding:10px 12px;border-radius:26px;background:rgba(18,18,31,.86);border:1px solid rgba(255,255,255,.16);box-shadow:0 24px 80px rgba(10,8,25,.38);backdrop-filter:blur(28px) saturate(150%)}
.card-dock-toggle{display:flex;align-items:center;gap:11px;min-width:170px;padding:10px 14px;text-align:left;background:linear-gradient(135deg,#7f6cf4,#ad67dd);box-shadow:0 10px 28px rgba(122,93,235,.36)}.card-dock-toggle .dock-symbol{display:grid;place-items:center;width:36px;height:36px;border-radius:13px;background:rgba(255,255,255,.18);font-size:1.15rem}.card-dock-toggle b,.card-dock-toggle small{display:block}.card-dock-toggle small{font-size:.7rem;opacity:.78}.card-dock-toggle i{margin-left:auto;font-style:normal;transition:.25s}.card-dock.open .card-dock-toggle i{transform:rotate(180deg)}
.card-hand{gap:10px;overflow-x:auto;scrollbar-width:none;padding:2px 2px 2px 4px}.card-hand::-webkit-scrollbar{display:none}.card-dock.open .card-hand{display:flex}.joker-card-mini{position:relative;isolation:isolate;flex:0 0 150px;min-height:116px;padding:11px 12px 12px;border:1px solid rgba(255,255,255,.18);border-radius:20px;color:#fff;text-align:left;overflow:hidden;cursor:pointer;background:linear-gradient(145deg,#33424d,#597887);box-shadow:0 12px 30px rgba(0,0,0,.18);transition:transform .2s,box-shadow .2s,border-color .2s}.joker-card-mini:hover,.joker-card-mini:focus-visible{transform:translateY(-4px) scale(1.015);box-shadow:0 18px 40px rgba(0,0,0,.28);border-color:rgba(255,255,255,.45);outline:none}.joker-card-mini.rarity-rare{background:linear-gradient(145deg,#173b75,#3d82e8)}.joker-card-mini.rarity-epic{background:linear-gradient(145deg,#412160,#9e4ed2)}.joker-card-mini.rarity-legendary{background:linear-gradient(145deg,#6d3a08,#e39a1b)}.joker-card-mini.rarity-mythic{background:radial-gradient(circle at 78% 12%,rgba(255,239,155,.9),transparent 24%),linear-gradient(145deg,#24113f,#c23887 55%,#ed9c32)}.joker-glow{position:absolute;inset:-55%;z-index:-1;background:conic-gradient(from 90deg,transparent,rgba(255,255,255,.2),transparent 28%);animation:cardAura 9s linear infinite}.joker-mini-top{display:flex;justify-content:space-between;align-items:center}.joker-mini-top em{font-style:normal;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;font-weight:900;opacity:.78}.joker-mini-top b{font-size:.75rem;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.18)}.joker-mini-icon{display:block;font-size:2rem;margin:10px 0 5px;text-shadow:0 6px 18px rgba(0,0,0,.25)}.joker-mini-name{display:block;font-weight:950;line-height:1.05}.joker-card-mini small{display:block;margin-top:5px;font-size:.62rem;line-height:1.2;opacity:.72}
.card-inspector{position:fixed;inset:0;z-index:130;display:grid;grid-template-columns:minmax(220px,330px) minmax(280px,460px);place-content:center;gap:30px;padding:30px;background:rgba(10,9,20,.38);backdrop-filter:blur(18px);opacity:0;transition:.22s;pointer-events:none}.card-inspector.visible{opacity:1;pointer-events:auto}.card-inspector-close{position:absolute;top:24px;right:24px;width:46px;height:46px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(20,18,35,.75);color:#fff;font-size:1.7rem;cursor:pointer}.inspector-card-art{position:relative;overflow:hidden;min-height:440px;border-radius:38px;padding:28px;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#33424d,#597887);border:1px solid rgba(255,255,255,.28);box-shadow:0 35px 100px rgba(12,8,38,.48);transform:perspective(900px) rotateY(-7deg) rotateX(2deg)}.rarity-rare .inspector-card-art{background:linear-gradient(145deg,#153a74,#4387ec)}.rarity-epic .inspector-card-art{background:linear-gradient(145deg,#3d1c5f,#a653d8)}.rarity-legendary .inspector-card-art{background:radial-gradient(circle at 80% 12%,#ffe4a0,transparent 22%),linear-gradient(145deg,#623407,#df971b)}.rarity-mythic .inspector-card-art{background:radial-gradient(circle at 75% 10%,#fff3b0,transparent 20%),linear-gradient(145deg,#20103d,#bc347f 52%,#efaa35)}.inspector-card-art small,.inspector-card-art em{font-style:normal;text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:950}.inspector-card-art small{position:absolute;top:28px;left:28px}.inspector-card-art em{position:absolute;bottom:28px}.inspector-card-art b{font-size:6rem;text-shadow:0 18px 45px rgba(0,0,0,.3)}.inspector-aura{position:absolute;inset:-55%;background:conic-gradient(from 20deg,transparent,rgba(255,255,255,.25),transparent 26%);animation:cardAura 7s linear infinite}.card-inspector-copy{align-self:center;padding:32px;border-radius:34px;background:rgba(255,255,255,.94);box-shadow:0 30px 90px rgba(13,10,40,.22)}.card-inspector-copy>p:first-child{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:950;color:#7868df}.card-inspector-copy h2{font-size:clamp(2.2rem,5vw,4.2rem);line-height:.95;margin:10px 0 18px}.card-inspector-copy>p:nth-of-type(2){font-size:1.08rem;line-height:1.55;color:#696576}.card-inspector-copy>div{margin:22px 0;padding:14px 16px;border-radius:18px;background:#f0edff;color:#5e4fc1;font-weight:800}.activate-joker{width:100%;border:0;border-radius:19px;padding:17px 20px;background:linear-gradient(135deg,#7a68ee,#a957cf);color:#fff;font-size:1rem;font-weight:950;box-shadow:0 14px 35px rgba(118,89,224,.3);cursor:pointer}.activate-joker:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.card-inspector-copy>small{display:block;margin-top:12px;text-align:center;color:#817d8b}.card-inspector.has-error .card-inspector-copy>small{color:#bd3b53;font-weight:800}
@media(max-width:800px){.card-dock{left:8px;right:8px;bottom:8px}.card-dock-toggle{min-width:auto}.card-dock-toggle>span:nth-child(2){display:none}.card-hand{max-width:calc(100vw - 85px)}.joker-card-mini{flex-basis:128px;min-height:104px}.card-inspector{grid-template-columns:1fr;align-content:start;overflow-y:auto;padding:74px 16px 28px}.inspector-card-art{min-height:270px;transform:none}.inspector-card-art b{font-size:4.5rem}.card-inspector-copy{padding:24px}.card-inspector-copy h2{font-size:2.4rem}}
/* V7.2 — collection de cartes et activation fiable */
.cards-v72{max-width:1440px}.cards-command-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:center;gap:42px;margin:28px 0 20px;padding:clamp(30px,5vw,68px);min-height:430px;border-radius:42px;color:#fff;background:radial-gradient(circle at 82% 18%,rgba(255,255,255,.22),transparent 16%),radial-gradient(circle at 20% 110%,rgba(93,238,208,.25),transparent 30%),linear-gradient(135deg,#111326,#29265c 46%,#7866e9 100%);box-shadow:0 32px 90px rgba(34,27,94,.24)}.cards-command-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to right,black,transparent 82%)}.cards-command-copy,.cards-hero-orbit{position:relative;z-index:1}.cards-kicker{display:inline-flex;padding:8px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.09);font-size:.68rem;letter-spacing:.18em;font-weight:950}.cards-command-copy h1{max-width:760px;margin:18px 0 14px;font-size:clamp(3rem,7vw,6.4rem);line-height:.88;letter-spacing:-.07em}.cards-command-copy p{max-width:650px;margin:0;color:rgba(255,255,255,.72);font-size:1.08rem;line-height:1.6}.cards-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.cards-hero-actions .button.soft{color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18)}.cards-hero-orbit{min-height:310px;display:grid;place-items:center}.collection-core{position:relative;z-index:2;display:grid;place-items:center;width:190px;aspect-ratio:1;border-radius:50%;text-align:center;background:rgba(15,16,35,.55);border:1px solid rgba(255,255,255,.24);box-shadow:inset 0 0 40px rgba(255,255,255,.08),0 25px 80px rgba(0,0,0,.25);backdrop-filter:blur(25px)}.collection-core strong{display:block;font-size:4.3rem;line-height:.8}.collection-core span{display:block;margin-top:8px;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;opacity:.72}.orbit-card{position:absolute;display:grid;place-items:center;width:112px;height:154px;border-radius:24px;font-size:2.3rem;font-weight:950;border:1px solid rgba(255,255,255,.25);box-shadow:0 24px 55px rgba(0,0,0,.28);backdrop-filter:blur(12px)}.orbit-one{transform:translate(-125px,-62px) rotate(-13deg);background:linear-gradient(145deg,#2a5675,#75b6ce)}.orbit-two{transform:translate(126px,-35px) rotate(15deg);background:linear-gradient(145deg,#5a2b85,#bd62e6)}.orbit-three{transform:translate(48px,118px) rotate(8deg);background:linear-gradient(145deg,#7b3a0b,#f0a52a)}.collection-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 24px}.collection-overview article{display:flex;align-items:center;gap:14px;padding:20px;border-radius:24px;background:rgba(255,255,255,.9);border:1px solid rgba(69,53,116,.08);box-shadow:0 16px 45px rgba(54,39,103,.06)}.collection-overview article>span{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:linear-gradient(145deg,#eeeaff,#e1f7ef);font-weight:950;color:#6858cf}.collection-overview strong,.collection-overview small{display:block}.collection-overview strong{font-size:1.3rem}.collection-overview small{margin-top:3px;color:#858091}.card-library-shell{padding:30px;border-radius:34px;background:rgba(255,255,255,.7);border:1px solid rgba(73,57,120,.08)}.card-library-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.card-library-head h2{font-size:2.4rem;margin:3px 0 0}.card-library-tools{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.card-library-tools select,.card-search{min-height:46px;border:1px solid #e6e1f3;border-radius:15px;background:#fff}.card-library-tools select{padding:0 14px}.card-search{display:flex;align-items:center;gap:8px;padding:0 14px}.card-search input{width:260px;border:0;outline:0;background:transparent}.card-filter-pills{display:flex;gap:9px;flex-wrap:wrap;margin:22px 0}.card-filter-pills button{border:0;border-radius:999px;padding:10px 15px;background:#f0edf8;color:#6f687c;font-weight:850;cursor:pointer}.card-filter-pills button.active{background:#24213c;color:#fff}.card-gallery-v72{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:18px}.card-piece-v72{position:relative;isolation:isolate;overflow:hidden;min-height:390px;padding:20px;border:1px solid rgba(255,255,255,.22);border-radius:32px;color:#fff;text-align:left;background:linear-gradient(145deg,#33444d,#698893);box-shadow:0 22px 52px rgba(28,24,60,.16);cursor:pointer;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,filter .25s}.card-piece-v72:hover{transform:translateY(-7px) rotateX(1deg);box-shadow:0 34px 70px rgba(28,24,60,.24)}.card-piece-v72.rarity-rare{background:linear-gradient(145deg,#173b75,#4b8df0)}.card-piece-v72.rarity-epic{background:linear-gradient(145deg,#3e1d62,#a956dc)}.card-piece-v72.rarity-legendary{background:radial-gradient(circle at 80% 8%,#ffe7a3,transparent 20%),linear-gradient(145deg,#6a3809,#e6a020)}.card-piece-v72.rarity-mythic{background:radial-gradient(circle at 78% 9%,#fff1aa,transparent 18%),linear-gradient(145deg,#20103d,#bf3582 52%,#f0aa34)}.card-piece-v72.locked{filter:grayscale(.82);opacity:.58}.card-piece-v72[hidden]{display:none!important}.piece-holo{position:absolute;inset:-55%;z-index:-2;background:conic-gradient(from 30deg,transparent,rgba(255,255,255,.23),transparent 24%);animation:cardAura 9s linear infinite}.piece-grid{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:25px 25px}.card-piece-v72 header,.card-piece-v72 footer{display:flex;justify-content:space-between;align-items:center}.card-piece-v72 header em{font-style:normal;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;font-weight:950}.card-piece-v72 header b{padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.17)}.piece-icon{display:grid;place-items:center;flex:1;font-size:5.4rem;text-shadow:0 18px 45px rgba(0,0,0,.3)}.piece-copy small{font-size:.62rem;letter-spacing:.14em;font-weight:900;opacity:.68}.piece-copy h3{font-size:2rem;line-height:.95;margin:8px 0 9px}.piece-copy p{margin:0;line-height:1.4;opacity:.78}.card-piece-v72 footer{margin-top:22px;padding-top:14px;border-top:1px solid rgba(255,255,255,.16);font-size:.7rem}.card-piece-v72 footer i{font-style:normal;font-weight:900}.card-empty{text-align:center;padding:70px 20px}.card-empty>span{font-size:3rem}.collection-card-modal{position:fixed;inset:0;z-index:200;opacity:0;transition:.22s}.collection-card-modal.visible{opacity:1}.collection-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(9,8,20,.48);backdrop-filter:blur(18px)}.collection-modal-panel{position:relative;z-index:1;display:grid;grid-template-columns:minmax(250px,360px) minmax(300px,500px);gap:30px;place-items:center;max-width:960px;margin:50vh auto 0;transform:translateY(-50%) scale(.96);padding:30px;transition:.25s}.collection-card-modal.visible .collection-modal-panel{transform:translateY(-50%) scale(1)}.collection-modal-close{position:absolute;right:20px;top:20px;z-index:3;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#2a263e;font-size:1.5rem;cursor:pointer}.collection-modal-card{position:relative;overflow:hidden;width:100%;min-height:490px;border-radius:38px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#33444d,#698893);box-shadow:0 38px 100px rgba(0,0,0,.38);transform:perspective(900px) rotateY(-7deg)}.rarity-rare .collection-modal-card{background:linear-gradient(145deg,#173b75,#4b8df0)}.rarity-epic .collection-modal-card{background:linear-gradient(145deg,#3e1d62,#a956dc)}.rarity-legendary .collection-modal-card{background:radial-gradient(circle at 80% 8%,#ffe7a3,transparent 20%),linear-gradient(145deg,#6a3809,#e6a020)}.rarity-mythic .collection-modal-card{background:radial-gradient(circle at 78% 9%,#fff1aa,transparent 18%),linear-gradient(145deg,#20103d,#bf3582 52%,#f0aa34)}.collection-modal-card small,.collection-modal-card em{position:absolute;font-style:normal;text-transform:uppercase;letter-spacing:.15em;font-size:.7rem;font-weight:950}.collection-modal-card small{top:28px;left:28px}.collection-modal-card em{bottom:28px}.collection-modal-card b{font-size:7rem}.modal-card-aura{position:absolute;inset:-50%;background:conic-gradient(from 20deg,transparent,rgba(255,255,255,.25),transparent 25%);animation:cardAura 7s linear infinite}.collection-modal-copy{padding:34px;border-radius:34px;background:rgba(255,255,255,.96);box-shadow:0 30px 90px rgba(10,8,35,.25)}.collection-modal-copy>p:first-child{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:950;color:#7564d9}.collection-modal-copy h2{font-size:clamp(2.4rem,5vw,4.8rem);line-height:.9;margin:10px 0 18px}.collection-modal-copy>p:nth-of-type(2){font-size:1.06rem;line-height:1.55;color:#6f6a7b}.collection-modal-copy>div{display:flex;justify-content:space-between;gap:18px;margin:18px 0;padding:16px;border-radius:18px;background:#f1eefe}.collection-modal-copy>div strong,.collection-modal-copy>div span,.collection-modal-copy>div b{display:block}.collection-modal-copy .button{margin-top:6px}.card-inspector.has-success .card-inspector-copy{box-shadow:0 30px 90px rgba(33,175,119,.26)}.card-inspector.has-success .activate-joker{background:linear-gradient(135deg,#2ebd83,#69d8ae)}
@media(max-width:900px){.cards-command-hero{grid-template-columns:1fr}.cards-hero-orbit{min-height:260px}.collection-overview{grid-template-columns:1fr 1fr}.card-library-head{align-items:stretch;flex-direction:column}.card-library-tools{justify-content:flex-start}.collection-modal-panel{grid-template-columns:1fr;overflow-y:auto;max-height:100vh;margin:0 auto;transform:none!important;padding-top:80px}.collection-modal-card{min-height:300px;transform:none}.collection-modal-copy{width:100%}}
@media(max-width:560px){.cards-command-hero{padding:30px 22px;min-height:0}.cards-command-copy h1{font-size:3.5rem}.cards-hero-orbit{transform:scale(.78);margin:-20px 0}.collection-overview{grid-template-columns:1fr}.card-library-shell{padding:20px 14px}.card-library-tools{display:grid}.card-search input{width:100%}.card-gallery-v72{grid-template-columns:1fr}.card-piece-v72{min-height:340px}.collection-modal-panel{padding:70px 12px 24px}.collection-modal-copy{padding:24px}.collection-modal-card b{font-size:5rem}}
/* V8 — Coffre collectif */
.chest-page{padding-bottom:80px}.chest-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:220px 1fr;gap:34px;align-items:center;margin:28px 0;padding:42px;border-radius:36px;background:radial-gradient(circle at 20% 30%,#fff8c8 0,transparent 30%),linear-gradient(135deg,#291d56,#6750d8 56%,#8d7cff);color:white;box-shadow:0 32px 90px #4d3ab044}.chest-hero:after{content:"";position:absolute;inset:-50%;background:conic-gradient(transparent,#ffffff22,transparent 25%);animation:chestSweep 8s linear infinite}.chest-hero>*{position:relative;z-index:1}.chest-orbit{height:190px;display:grid;place-items:center;position:relative}.chest-orbit span{font-size:100px;filter:drop-shadow(0 25px 24px #140d43);animation:chestFloat 3s ease-in-out infinite}.chest-orbit i,.chest-orbit b{position:absolute;border:1px solid #ffffff55;border-radius:50%;inset:16px;animation:spin 10s linear infinite}.chest-orbit b{inset:42px;animation-direction:reverse}.chest-progress{display:flex;gap:16px;align-items:center;margin-top:24px}.chest-progress>div{height:18px;flex:1;background:#ffffff26;border-radius:99px;padding:3px;box-shadow:inset 0 1px 8px #0003}.chest-progress i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#8effd1,#fff099);box-shadow:0 0 22px #8effd1}.chest-progress strong{font-size:24px}.chest-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:22px;margin:24px 0}.merit-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.merit-stats span{padding:16px;background:#f6f5ff;border-radius:18px;color:#625d78}.merit-stats b{display:block;font-size:24px;color:#292442}.key-big{font-size:48px}.key-list{display:flex;flex-wrap:wrap;gap:10px}.key-list span{padding:10px 14px;border-radius:999px;background:#fff7d6;border:1px solid #f3d26b;font-weight:800;color:#72540c}.chest-reveal{position:relative;overflow:hidden;text-align:center;padding:46px;margin:24px 0;border-radius:38px;background:linear-gradient(135deg,#fff,#f3efff);box-shadow:0 28px 80px #5a43a42b;border:1px solid #fff}.chest-reveal.reward-gold,.chest-reveal.reward-legendary{background:radial-gradient(circle at top,#fff9cc,#fff 44%,#f4efff)}.reward-shine{position:absolute;inset:-80%;background:conic-gradient(transparent,#fff8,transparent 18%);animation:chestSweep 7s linear infinite}.chest-reveal>*{position:relative}.reward-haul{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin:24px}.reward-haul span{padding:16px 20px;border-radius:20px;background:#ffffffbb;box-shadow:0 10px 30px #4d3ab019}.reward-haul b{font-size:24px}.claimed-badge{display:inline-block;padding:14px 22px;border-radius:999px;background:#dff9ea;color:#147946}.button.giant{font-size:18px;padding:16px 28px}.rule-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:22px}.rule-grid article{padding:20px;background:#f8f7ff;border-radius:22px}.rule-grid span{font-size:34px;display:block;margin-bottom:8px}.rule-grid p{font-size:13px;margin-bottom:0}@keyframes chestFloat{50%{transform:translateY(-12px) rotate(2deg)}}@keyframes chestSweep{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:760px){.chest-hero{grid-template-columns:1fr;padding:28px}.chest-orbit{height:130px}.chest-orbit span{font-size:78px}.chest-grid{grid-template-columns:1fr}.rule-grid{grid-template-columns:repeat(2,1fr)}.merit-stats{grid-template-columns:repeat(2,1fr)}}

/* V8.1 Privacy First */
.privacy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.privacy-hero{display:flex;align-items:center;gap:22px;background:linear-gradient(135deg,#eefdf7,#f3f0ff)}.privacy-shield,.privacy-student-hero>span{display:grid;place-items:center;width:74px;height:74px;border-radius:24px;background:#fff;font-size:34px;box-shadow:0 16px 40px rgba(70,70,110,.12)}.privacy-checks{display:grid;gap:10px}.privacy-checks span{padding:11px 13px;border-radius:14px;background:#f4f7f7;font-weight:700}.privacy-switches{display:grid;gap:12px}.privacy-switches label{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid #e7e8ee;border-radius:16px}.privacy-student-list,.privacy-log{display:grid;gap:10px}.privacy-student{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border-radius:18px;background:#f7f8fa}.privacy-student small{display:block;color:#70717a;margin-top:4px}.privacy-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.privacy-actions form{margin:0}.privacy-log>div{display:flex;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #eee}.privacy-student-hero{display:flex;gap:22px;align-items:center;padding:28px;border-radius:28px;background:linear-gradient(135deg,#edfdf7,#f3efff);margin:20px 0}.privacy-simple{margin-top:18px}@media(max-width:760px){.privacy-grid{grid-template-columns:1fr}.privacy-student{align-items:flex-start;flex-direction:column}.privacy-actions{width:100%}.privacy-actions .button{flex:1}.privacy-log>div{gap:8px;flex-direction:column}}
.student-reset-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.student-reset-form input{width:118px;min-height:38px;padding:8px 10px;border:1px solid rgba(34,31,49,.14);border-radius:12px;background:#fff}.student-reset-form .button{min-height:38px;padding:8px 12px}@media(max-width:760px){.student-reset-form{width:100%;}.student-reset-form input{flex:1}}

/* V9 Academy */
.academy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px}.academy-subject{padding:22px}.academy-subject h2{margin:0 0 16px}.academy-levels{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.academy-levels a{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:18px;background:linear-gradient(135deg,rgba(116,103,232,.1),rgba(255,255,255,.75));border:1px solid rgba(116,103,232,.14);text-decoration:none;color:inherit;transition:.2s}.academy-levels a:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(65,54,140,.12)}.academy-levels strong{font-size:1.25rem}.academy-levels span{font-weight:800}.academy-levels small{color:var(--muted)}@media(max-width:600px){.academy-grid{grid-template-columns:1fr}.academy-levels{grid-template-columns:1fr}}
/* V10 Academy */
.academy-hero-v10{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:38px;border-radius:34px;background:radial-gradient(circle at 90% 10%,#bdf4ff 0,transparent 31%),linear-gradient(135deg,#fff 0%,#f0edff 50%,#e8fbf5 100%);border:1px solid #ffffff;box-shadow:0 24px 75px rgba(85,70,160,.13);overflow:hidden}.academy-hero-v10 h1{font-size:clamp(36px,5vw,66px);letter-spacing:-.055em;margin:.1em 0}.academy-hero-v10 p{max-width:700px;font-size:17px}.academy-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.academy-orbit{width:170px;height:170px;flex:0 0 auto;border-radius:50%;display:grid;place-content:center;text-align:center;background:linear-gradient(145deg,#7568e8,#a987ef);color:white;box-shadow:0 25px 55px #7869e84d,inset 0 1px 1px #ffffff88;animation:academyFloat 5s ease-in-out infinite}.academy-orbit span{font-size:72px;line-height:.8}.academy-orbit small{text-transform:uppercase;letter-spacing:.15em;margin-top:10px}.academy-section{margin-top:34px}.section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:15px}.section-title h2{margin:0;font-size:28px}.collection-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px}.collection-card{position:relative;min-height:150px;padding:22px;border-radius:25px;background:linear-gradient(145deg,#fff,#f8f6ff);border:1px solid #ebe8ff;box-shadow:0 13px 35px rgba(54,45,105,.08);color:inherit;text-decoration:none;transition:.25s}.collection-card:nth-child(3n+2){background:linear-gradient(145deg,#f1fff9,#e9f9ff)}.collection-card:nth-child(3n){background:linear-gradient(145deg,#fff8eb,#fff1f4)}.collection-card:hover{transform:translateY(-5px);box-shadow:0 20px 45px rgba(54,45,105,.14)}.collection-card h3{font-size:19px;margin:26px 0 8px}.collection-card strong,.collection-card small{display:block}.collection-card small{color:#77728c;margin-top:5px}.collection-spark{position:absolute;top:16px;right:18px;font-size:25px;color:#8a78ea}.academy-search-wrap input{min-width:300px;border-radius:18px;padding:13px 17px}.academy-grid-v10{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:18px}.academy-world{padding:22px;border-radius:28px;background:white;border:1px solid #eceaf4;box-shadow:0 15px 40px rgba(50,44,90,.08)}.academy-world[hidden]{display:none!important}.academy-world header{display:flex;gap:14px;align-items:center}.academy-world header>span{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;font-size:28px;background:#f1efff}.academy-world h3{margin:0;font-size:21px}.academy-world header p{margin:4px 0 0;color:#77728c}.academy-levels-v10{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:18px}.academy-levels-v10 a{display:grid;grid-template-columns:auto 1fr;gap:0 9px;padding:12px;border-radius:16px;background:#f8f7fc;text-decoration:none;color:inherit}.academy-levels-v10 a:hover{background:#efedff}.academy-levels-v10 b{grid-row:1/3;font-size:18px}.academy-levels-v10 span{font-weight:750}.academy-levels-v10 small{color:#827d91}.world-cyan header>span{background:#e2fbff}.world-gold header>span{background:#fff4d5}.world-green header>span{background:#e7f9ec}.world-blue header>span{background:#e6f3ff}.world-red header>span{background:#ffe9ed}.world-orange header>span{background:#fff0df}.world-rose header>span{background:#ffeaf2}.world-amber header>span{background:#fff2df}.world-slate header>span{background:#eef1f5}@keyframes academyFloat{50%{transform:translateY(-9px) rotate(2deg)}}@media(max-width:720px){.academy-hero-v10{padding:26px}.academy-orbit{display:none}.section-title{align-items:stretch;flex-direction:column}.academy-search-wrap input{min-width:0;width:100%}.academy-grid-v10{grid-template-columns:1fr}.academy-levels-v10{grid-template-columns:1fr}}

/* V12 — Admin Command Center */
.command-dashboard{max-width:1500px;margin:0 auto}.command-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:24px;padding:30px 34px;border:1px solid rgba(255,255,255,.8);border-radius:28px;background:radial-gradient(circle at 88% 15%,rgba(159,140,255,.22),transparent 30%),linear-gradient(135deg,rgba(255,255,255,.96),rgba(247,246,255,.9));box-shadow:0 18px 60px rgba(55,48,91,.09)}.command-kicker{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#6f63a8}.pulse-dot{width:9px;height:9px;border-radius:50%;background:#62b383;box-shadow:0 0 0 6px rgba(98,179,131,.12);animation:commandPulse 2s infinite}.command-hero h1{font-size:clamp(36px,4vw,58px);letter-spacing:-.055em;margin:8px 0 6px}.command-hero p{max-width:720px;margin:0;color:var(--muted);font-size:16px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.control-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.control-strip article{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.86);box-shadow:0 10px 30px rgba(45,38,70,.045)}.control-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;font-size:19px;font-weight:800}.control-icon.violet{background:#ece8ff;color:#6657b6}.control-icon.green{background:#e5f8ed;color:#27855a}.control-icon.blue{background:#e7f3ff;color:#3676ac}.control-icon.amber{background:#fff2d9;color:#9a691b}.control-strip small,.control-strip em{display:block;color:var(--muted);font-size:11px;font-style:normal}.control-strip strong{display:block;font-size:27px;line-height:1.1;margin:2px 0}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);gap:18px}.dashboard-main-column,.dashboard-side-column{display:grid;gap:18px;align-content:start}.command-panel{border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.9);box-shadow:0 12px 40px rgba(46,40,74,.055);padding:22px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-heading.compact{margin-bottom:14px}.panel-heading h2{font-size:21px;letter-spacing:-.025em;margin:4px 0}.panel-heading p{margin:0;color:var(--muted);font-size:12px}.panel-label{font-size:10px;font-weight:850;letter-spacing:.15em;color:#8076a8}.live-label{color:#27855a}.keyboard-hint{padding:7px 10px;border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:11px}.command-launch-form{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:12px}.quiz-picker{display:grid;gap:7px;font-size:12px;font-weight:750}.quiz-picker select{width:100%;height:58px;padding:0 16px;border:1px solid #ded9e8;border-radius:15px;background:#fbfaff;outline:0}.quiz-picker select:focus{border-color:#7b6fc3;box-shadow:0 0 0 4px rgba(123,111,195,.12)}.launch-command{height:58px;align-self:end;display:flex;align-items:center;gap:11px;text-align:left;padding:0 17px;border:0;border-radius:15px;background:linear-gradient(135deg,#29243b,#514886);color:white;box-shadow:0 12px 26px rgba(50,42,91,.22)}.launch-command>span{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#ffffff18}.launch-command strong,.launch-command small{display:block}.launch-command small{margin-top:2px;color:#d9d4ee;font-size:10px}.live-session-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.live-session-card{padding:18px;border:1px solid #e7e3ee;border-radius:19px;background:linear-gradient(145deg,#fff,#faf9ff)}.live-session-top,.session-numbers,.session-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.status-badge{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border-radius:999px;background:#f0eef4;color:#686273;font-size:9px;font-weight:850;letter-spacing:.08em}.status-badge i{width:7px;height:7px;border-radius:50%;background:#8c8794}.status-question,.status-reveal,.status-leaderboard{background:#e6f8ed;color:#247851}.status-question i,.status-reveal i,.status-leaderboard i{background:#46a875;box-shadow:0 0 0 4px #46a87522}.session-pin{font-size:12px;color:#655a95}.live-session-card h3{margin:16px 0 3px;font-size:17px}.live-session-card>p{margin:0;color:var(--muted);font-size:11px}.session-numbers{margin:17px 0 10px;font-size:11px;color:var(--muted)}.session-numbers b{color:var(--ink)}.session-progress{height:7px;background:#ebe8f1;border-radius:99px;overflow:hidden}.session-progress i{display:block;height:100%;background:linear-gradient(90deg,#7767cd,#71b795);border-radius:99px}.session-actions{justify-content:flex-start;margin-top:15px}.session-actions form{margin:0}.session-actions .button{padding:9px 13px;font-size:11px}.calm-state{grid-column:1/-1;display:flex;align-items:center;gap:15px;padding:24px;border:1px dashed #d7d2df;border-radius:18px;background:#fbfafc}.calm-state>span{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#e5f8ed;color:#27855a;font-size:22px}.calm-state strong,.calm-state p{display:block;margin:0}.calm-state p{margin-top:4px;color:var(--muted);font-size:12px}.icon-refresh{width:38px;height:38px;border:1px solid var(--line);border-radius:12px;background:white;font-size:19px}.icon-refresh.spinning{animation:spin .7s linear infinite}.activity-chart{height:220px;display:grid;grid-template-columns:repeat(7,1fr);gap:14px;align-items:end;padding:15px 8px 0}.chart-column{height:100%;display:grid;grid-template-rows:22px 1fr 24px;text-align:center;gap:5px}.chart-value{font-size:10px;color:var(--muted)}.chart-track{height:100%;display:flex;align-items:flex-end;justify-content:center;border-radius:10px;background:linear-gradient(to top,#f7f6fb,transparent)}.chart-track i{display:block;width:min(36px,65%);min-height:4px;border-radius:8px 8px 3px 3px;background:linear-gradient(to top,#7567c9,#a99ee5);transition:.3s}.chart-column small{text-transform:uppercase;font-size:9px;color:var(--muted);font-weight:750}.analytics-footer{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:#7567c9}.panel-link{color:#6d62a0;font-size:11px;font-weight:750}.quick-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick-action-grid a{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid #ebe7f0;border-radius:16px;background:#fcfbfd;transition:.18s}.quick-action-grid a:hover{transform:translateY(-2px);border-color:#cfc7e7;box-shadow:0 10px 25px rgba(73,59,120,.08)}.quick-action-grid a>span{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#eeeaff;color:#6658ae}.quick-action-grid strong,.quick-action-grid small{display:block}.quick-action-grid strong{font-size:12px}.quick-action-grid small{font-size:9px;color:var(--muted);margin-top:2px}.class-health-list,.mini-leaderboard,.recent-command-list{display:grid}.class-health-row,.mini-leader,.recent-command-list a{display:flex;align-items:center;gap:11px;padding:12px 0;border-top:1px solid #efedf2}.class-health-row:first-child,.mini-leader:first-child,.recent-command-list a:first-child{border-top:0}.class-health-row>div:first-child,.mini-leader>div,.recent-command-list a>div{flex:1;min-width:0}.class-health-row strong,.class-health-row small,.mini-leader strong,.mini-leader small,.recent-command-list strong,.recent-command-list small{display:block}.class-health-row small,.mini-leader small,.recent-command-list small{color:var(--muted);font-size:9px;margin-top:3px}.health-score{text-align:right;width:86px}.health-score span{font-size:11px;font-weight:800}.health-score i{display:block;height:5px;margin-top:5px;border-radius:99px;background:#ece9ef;overflow:hidden}.health-score b{display:block;height:100%;background:#70b38e}.rank{width:29px;height:29px;display:grid;place-items:center;border-radius:10px;background:#f0edf5;font-size:10px;font-weight:850}.rank-1{background:#fff0c6;color:#8a6214}.rank-2{background:#eaf0f5;color:#5e6b76}.rank-3{background:#f6e4d5;color:#8a5b35}.mini-leader>b{font-size:10px}.recent-status{width:8px;height:8px;border-radius:50%;background:#aaa}.recent-status.question,.recent-status.reveal,.recent-status.leaderboard{background:#57aa78}.recent-command-list time{font-size:9px;color:var(--muted);white-space:nowrap}.empty-state-pro{text-align:center;padding:25px}.empty-state-pro p{color:var(--muted)}@keyframes commandPulse{50%{box-shadow:0 0 0 10px rgba(98,179,131,0)}}
@media(max-width:1180px){.control-strip{grid-template-columns:repeat(2,1fr)}.dashboard-layout{grid-template-columns:1fr}.dashboard-side-column{grid-template-columns:repeat(2,minmax(0,1fr))}.recent-panel{grid-column:1/-1}}
@media(max-width:760px){.command-hero{align-items:flex-start;flex-direction:column;padding:23px}.hero-actions{width:100%}.hero-actions .button{flex:1}.control-strip{grid-template-columns:1fr 1fr}.control-strip article{padding:14px}.control-icon{width:40px;height:40px}.control-strip strong{font-size:22px}.dashboard-side-column{grid-template-columns:1fr}.recent-panel{grid-column:auto}.command-launch-form{grid-template-columns:1fr}.live-session-grid{grid-template-columns:1fr}.activity-chart{gap:7px}.command-panel{padding:17px}.quick-action-grid{grid-template-columns:1fr 1fr}.keyboard-hint{display:none}}
@media(max-width:480px){.control-strip{grid-template-columns:1fr}.quick-action-grid{grid-template-columns:1fr}.command-hero h1{font-size:36px}.admin-main{padding:22px 14px}}

/* V13 — Live Pilot Command Center */
.pilot-shell{max-width:1600px;margin:0 auto}.pilot-topbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px}.pilot-title{display:flex;align-items:center;gap:15px}.pilot-back{width:42px;height:42px;border:1px solid var(--line);border-radius:14px;display:grid;place-items:center;background:#fff}.pilot-kicker,.pilot-panel-head span{font-size:10px;letter-spacing:.16em;font-weight:850;color:#756aa5}.pilot-title h1{font-size:30px;letter-spacing:-.04em;margin:3px 0}.pilot-title p{margin:0;color:var(--muted);font-size:12px}.pilot-top-actions{display:flex;align-items:center;gap:10px}.pilot-sync,.pilot-screen{border:1px solid var(--line);border-radius:12px;padding:10px 13px;background:#fff;font-size:11px;font-weight:750}.pilot-sync{display:flex;align-items:center;gap:8px}.pilot-sync i{width:7px;height:7px;border-radius:50%;background:#55aa78;box-shadow:0 0 0 5px #55aa7820}.pilot-pin{display:flex;align-items:center;gap:11px;padding:8px 10px 8px 14px;border-radius:15px;background:#242232;color:#fff}.pilot-pin small{font-size:8px;color:#bbb7c9;letter-spacing:.1em}.pilot-pin strong{font-size:19px;letter-spacing:.12em}.pilot-pin button{width:31px;height:31px;border:0;border-radius:9px;background:#ffffff17;color:#fff}.pilot-statusbar{display:grid;grid-template-columns:1.3fr repeat(5,1fr);border:1px solid var(--line);border-radius:19px;background:#fff;margin-bottom:16px;overflow:hidden}.pilot-statusbar>div{padding:15px 17px;border-left:1px solid var(--line)}.pilot-statusbar>div:first-child{border-left:0}.pilot-statusbar strong{display:block;font-size:18px}.pilot-statusbar small{display:block;margin-top:4px;color:var(--muted);font-size:9px}.status-live{display:flex;align-items:center;gap:8px}.status-live i{width:8px;height:8px;border-radius:50%;background:#55aa78}.status-live b{text-transform:capitalize}.pilot-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.55fr);gap:16px}.pilot-stage,.pilot-panel{background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:22px;box-shadow:0 10px 35px rgba(45,40,64,.045)}.pilot-stage{padding:20px;min-height:560px;display:flex;flex-direction:column}.pilot-stage-head,.pilot-panel-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.pilot-stage-head>div{display:flex;gap:8px}.pilot-tag,.pilot-timer{padding:7px 10px;border-radius:9px;background:#eeeafa;font-size:9px;font-weight:850}.pilot-timer{background:#edf6f0;color:#377a56}.pilot-focus{border:0;background:none;color:var(--muted);font-size:11px}.pilot-question{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:32px}.pilot-question h2{font-size:clamp(27px,3vw,46px);line-height:1.08;letter-spacing:-.045em;max-width:1000px;margin:18px auto}.pilot-question>p{color:var(--muted)}.pilot-idle-mark{width:72px;height:72px;border-radius:23px;display:grid;place-items:center;background:linear-gradient(145deg,#29253b,#796db8);color:#fff;font-size:33px;font-weight:850;box-shadow:0 18px 35px #5d529530}.pilot-question-image{max-width:min(720px,90%);max-height:245px;object-fit:contain;border-radius:16px}.pilot-answer-grid{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.pilot-answer{display:flex;align-items:center;text-align:left;gap:12px;padding:13px;border:1px solid #e8e4ee;border-radius:14px;background:#fbfafd}.pilot-answer b{width:30px;height:30px;border-radius:9px;background:#ece8f7;display:grid;place-items:center}.pilot-answer.correct{border-color:#80c79e;background:#edf9f2}.pilot-answer.correct b{background:#5daa7c;color:#fff}.pilot-explanation{padding:12px 15px;border-radius:12px;background:#f4f1fb}.pilot-progress{height:7px;border-radius:99px;background:#eeeaf2;overflow:hidden}.pilot-progress div{height:100%;background:linear-gradient(90deg,#7467c6,#66b287);transition:.3s}.pilot-distribution{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:13px}.pilot-distribution>div span{display:flex;justify-content:space-between;font-size:9px;font-weight:800}.pilot-distribution i{display:block;height:5px;background:#eeeaf1;border-radius:99px;margin-top:5px;overflow:hidden}.pilot-distribution em{display:block;height:100%;background:#7164bc}.pilot-right{display:grid;gap:16px;align-content:start}.pilot-panel{padding:18px}.pilot-panel-head h2{font-size:17px;margin:3px 0}.pilot-panel-head kbd{font-size:9px;padding:5px 7px;border:1px solid var(--line);border-radius:7px;background:#faf9fc}.pilot-actions{display:grid;gap:9px;margin-top:15px}.pilot-primary-action{display:flex;align-items:center;gap:13px;width:100%;padding:16px;border:0;border-radius:15px;text-align:left;background:linear-gradient(135deg,#282438,#514887);color:#fff}.pilot-primary-action>span{width:36px;height:36px;border-radius:11px;background:#ffffff18;display:grid;place-items:center}.pilot-primary-action strong,.pilot-primary-action small{display:block}.pilot-primary-action small{color:#d7d2e7;font-size:9px;margin-top:3px}.pilot-action-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pilot-action-pair button,.pilot-danger{padding:11px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:10px;font-weight:750}.pilot-danger{color:#a24b59;border-color:#eed9dd}.pilot-live-feed{display:grid;margin-top:10px;max-height:275px;overflow:auto}.pilot-feed-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #efedf2}.pilot-feed-row:first-child{border-top:0}.pilot-feed-row>span{width:26px;height:26px;border-radius:9px;display:grid;place-items:center}.pilot-feed-row.ok>span{background:#e3f6ea;color:#26845a}.pilot-feed-row.bad>span{background:#f8e7ea;color:#a44a59}.pilot-feed-row>div{flex:1}.pilot-feed-row strong,.pilot-feed-row small{display:block}.pilot-feed-row small{font-size:9px;color:var(--muted)}.pilot-feed-row>b{font-size:9px}.pilot-roster-panel{grid-column:1/2}.pilot-roster-tools{display:flex;border:1px solid var(--line);border-radius:10px;padding:3px}.pilot-roster-tools button{border:0;background:none;border-radius:7px;padding:6px 9px;font-size:9px}.pilot-roster-tools button.active{background:#eeeafa}.pilot-roster{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin-top:10px}.pilot-player{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #efedf2}.pilot-player:nth-child(-n+2){border-top:0}.pilot-rank{width:22px;color:var(--muted);font-size:9px;text-align:center}.pilot-player>div{flex:1;min-width:0}.pilot-player strong,.pilot-player small{display:block}.pilot-player strong{font-size:11px}.pilot-player small{font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pilot-player>b{font-size:10px}.pilot-online{width:7px;height:7px;border-radius:50%;background:#c5c1ca}.pilot-online.on{background:#56ab78;box-shadow:0 0 0 4px #56ab7818}.pilot-insights-panel{grid-column:2/3}.pilot-insights{display:grid;gap:10px;margin-top:12px}.pilot-insights>div{padding:13px;border-radius:13px;background:#f8f7fa}.pilot-insights small,.pilot-insights strong,.pilot-insights span{display:block}.pilot-insights small{font-size:8px;color:var(--muted)}.pilot-insights strong{font-size:18px;margin:3px 0}.pilot-insights span{font-size:9px;color:var(--muted)}.pilot-empty{color:var(--muted);font-size:10px}.pilot-event-drawer{position:fixed;z-index:1002;top:0;right:0;width:min(470px,94vw);height:100vh;background:#fbfafc;border-left:1px solid var(--line);box-shadow:-25px 0 70px #28223820;transform:translateX(105%);transition:.25s;display:flex;flex-direction:column}.pilot-event-drawer.open{transform:none}.pilot-drawer-backdrop{position:fixed;z-index:1001;inset:0;background:#201c2d55;opacity:0;pointer-events:none;transition:.2s}.pilot-drawer-backdrop.show{opacity:1;pointer-events:auto}.pilot-event-drawer header{display:flex;justify-content:space-between;padding:22px;border-bottom:1px solid var(--line)}.pilot-event-drawer header span{font-size:9px;letter-spacing:.15em;color:#756aa5}.pilot-event-drawer h2{margin:4px 0}.pilot-event-drawer header button{border:0;background:#eeeaf2;width:35px;height:35px;border-radius:11px;font-size:22px}.pilot-event-tabs{display:flex;gap:6px;padding:12px;overflow:auto}.pilot-event-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;font-size:9px;white-space:nowrap}.pilot-event-tabs button.active{background:#292538;color:#fff}.pilot-event-list{padding:0 14px 14px;overflow:auto;display:grid;gap:8px}.pilot-event-card{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:left}.event-symbol{width:36px;height:36px;border-radius:11px;background:#eeeafa;display:grid;place-items:center}.pilot-event-card>div{flex:1}.pilot-event-card strong,.pilot-event-card small{display:block}.pilot-event-card small{font-size:8px;color:var(--muted);margin-top:2px}.pilot-event-card em{font-size:8px;font-style:normal;color:#756aa5}.pilot-event-drawer footer{margin-top:auto;padding:14px 18px;border-top:1px solid var(--line);font-size:9px;color:var(--muted)}.pilot-toast{position:fixed;z-index:1100;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;padding:11px 16px;border-radius:12px;background:#292538;color:#fff;font-size:11px;transition:.2s}.pilot-toast.show{opacity:1;transform:translate(-50%,0)}.pilot-toast.bad{background:#9f4757}.pilot-focus-mode .side-nav{display:none}.pilot-focus-mode .app-shell{grid-template-columns:1fr}.pilot-focus-mode .pilot-right,.pilot-focus-mode .pilot-roster-panel,.pilot-focus-mode .pilot-insights-panel,.pilot-focus-mode .pilot-statusbar{display:none}.pilot-focus-mode .pilot-grid{grid-template-columns:1fr}.pilot-focus-mode .pilot-stage{min-height:calc(100vh - 150px)}
@media(max-width:1100px){.pilot-statusbar{grid-template-columns:repeat(3,1fr)}.pilot-statusbar>div:nth-child(4){border-left:0}.pilot-grid{grid-template-columns:1fr}.pilot-roster-panel,.pilot-insights-panel{grid-column:auto}.pilot-right{grid-template-columns:1fr 1fr}.pilot-roster{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.pilot-topbar{align-items:flex-start;flex-direction:column}.pilot-top-actions{width:100%;flex-wrap:wrap}.pilot-sync,.pilot-screen{display:none}.pilot-pin{margin-left:auto}.pilot-statusbar{grid-template-columns:repeat(2,1fr)}.pilot-statusbar>div:nth-child(odd){border-left:0}.pilot-right{grid-template-columns:1fr}.pilot-roster{grid-template-columns:1fr}.pilot-player:nth-child(2){border-top:1px solid #efedf2}.pilot-answer-grid{grid-template-columns:1fr}.pilot-distribution{grid-template-columns:1fr 1fr}.pilot-question{padding:22px 8px}.pilot-stage{min-height:480px}}


/* V13.1 — Event Center hotfix */
.pilot-event-drawer{top:50%!important;right:24px!important;width:min(760px,calc(100vw - 48px))!important;height:min(720px,calc(100vh - 48px))!important;border:1px solid var(--line)!important;border-radius:24px!important;box-shadow:0 30px 100px rgba(26,22,40,.28)!important;transform:translate(110%, -50%) scale(.98)!important;overflow:hidden!important;background:#fbfafc!important}
.pilot-event-drawer.open{transform:translate(0,-50%) scale(1)!important}
.pilot-event-drawer header{padding:20px 22px!important;background:#fff;align-items:center}
.pilot-event-tabs{padding:12px 18px!important;background:#f7f5fa;border-bottom:1px solid var(--line)}
.pilot-event-list{padding:16px 18px 20px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.pilot-event-card{position:relative;min-height:82px;padding:14px!important;transition:.18s ease;cursor:pointer;overflow:hidden}
.pilot-event-card:hover{transform:translateY(-1px);border-color:#bdb4df;box-shadow:0 8px 22px rgba(57,48,92,.08)}
.pilot-event-card.loading{opacity:.55;pointer-events:none}
.pilot-event-card.loading:after{content:'';position:absolute;right:14px;top:14px;width:15px;height:15px;border:2px solid #c8c1dc;border-top-color:#514887;border-radius:50%;animation:pilotSpin .7s linear infinite}
.pilot-event-card.selected{border-color:#6f62b7;background:#f1edff;box-shadow:0 0 0 3px rgba(111,98,183,.12)}
.pilot-event-card.selected:after{content:'✓';position:absolute;right:12px;top:10px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#5b4faa;color:#fff;font-size:12px;font-weight:900}
.pilot-event-drawer footer{background:#fff!important;padding:14px 18px!important}
.pilot-event-confirmation{display:grid;gap:9px}.pilot-event-confirmation>span{font-weight:750;color:#4c4566}
.pilot-event-recent{display:flex;gap:7px;flex-wrap:wrap}.pilot-event-pill{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;background:#f0edf7;font-size:8px;color:#4c4566}.pilot-event-pill b{font-size:10px}
@keyframes pilotSpin{to{transform:rotate(360deg)}}
@media(max-width:720px){.pilot-event-drawer{right:10px!important;width:calc(100vw - 20px)!important;height:calc(100vh - 20px)!important}.pilot-event-list{grid-template-columns:1fr!important}.pilot-event-tabs{overflow-x:auto!important}.pilot-event-card{min-height:74px}}

/* V13.2 — navigation et filtrage fiable du centre d’événements */
.pilot-event-tabs{
  position:sticky;top:0;z-index:4;
  display:grid!important;
  grid-template-columns:repeat(9,minmax(86px,1fr));
  gap:8px!important;padding:14px 18px!important;
  overflow-x:auto!important;overscroll-behavior-x:contain;
  scrollbar-width:thin;background:rgba(248,247,251,.96)!important;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)
}
.pilot-event-tabs button{
  min-width:86px;height:62px;padding:7px 8px!important;
  display:grid;grid-template-columns:30px 1fr auto;grid-template-rows:1fr;
  align-items:center;gap:7px;border-radius:14px!important;
  border:1px solid #e5e0eb!important;background:#fff!important;
  color:#514b5b;box-shadow:0 1px 0 rgba(38,31,55,.03);
  transition:transform .16s,border-color .16s,background .16s,box-shadow .16s
}
.pilot-event-tabs button:hover{transform:translateY(-1px);border-color:#c7bedf!important;box-shadow:0 8px 22px rgba(61,50,92,.08)}
.pilot-event-tabs button>span{width:30px;height:30px;border-radius:10px;background:#f0ecf8;display:grid;place-items:center;font-size:12px;font-weight:850;color:#675c9f}
.pilot-event-tabs button>b{font-size:10px;text-align:left;white-space:nowrap}
.pilot-event-tabs button>small{min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#f0edf4;display:grid;place-items:center;font-size:8px;font-weight:800;color:#777080}
.pilot-event-tabs button.active{background:#2c2838!important;color:#fff!important;border-color:#2c2838!important;box-shadow:0 10px 25px rgba(44,40,56,.2)}
.pilot-event-tabs button.active>span{background:#ffffff18;color:#fff}
.pilot-event-tabs button.active>small{background:#ffffff20;color:#fff}
.pilot-event-filter-status{display:flex;justify-content:space-between;align-items:center;padding:11px 20px;border-bottom:1px solid var(--line);background:#fff;color:#736d7a;font-size:10px}
.pilot-event-filter-status span{font-weight:800;color:#36313f}.pilot-event-filter-status b{font-size:9px;font-weight:650}
.pilot-event-card.is-filtered{display:none!important}
.pilot-event-list{align-content:start}
@media(max-width:980px){.pilot-event-tabs{grid-template-columns:repeat(9,104px)!important}.pilot-event-tabs button{min-width:104px}}
@media(max-width:720px){.pilot-event-tabs{padding:10px 12px!important;grid-template-columns:repeat(9,96px)!important;gap:7px!important}.pilot-event-tabs button{min-width:96px;height:54px;grid-template-columns:26px 1fr}.pilot-event-tabs button>span{width:26px;height:26px}.pilot-event-tabs button>small{display:none}.pilot-event-filter-status{padding:9px 14px}}

/* === LUMA V14 — Régie événements compacte et professionnelle === */
.v14-event-console{position:fixed;z-index:1202;inset:24px;background:#f7f6f9;border:1px solid #e4e0e8;border-radius:24px;box-shadow:0 32px 100px rgba(28,24,42,.28);transform:translateY(14px) scale(.985);opacity:0;pointer-events:none;transition:.22s ease;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr)}
.v14-event-console.open{transform:none;opacity:1;pointer-events:auto}.v14-console-open{overflow:hidden}.v14-event-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;background:#fff;border-bottom:1px solid #e6e2e9}.v14-event-header span{font-size:9px;letter-spacing:.18em;font-weight:850;color:#756aa5}.v14-event-header h2{font-size:27px;margin:4px 0 3px}.v14-event-header p{margin:0;color:#7d7782;font-size:10px}.v14-event-header button{width:42px;height:42px;border:0;border-radius:14px;background:#f0edf3;font-size:25px;cursor:pointer}.v14-event-toolbar{display:grid;grid-template-columns:minmax(240px,330px) 1fr;gap:14px;align-items:center;padding:12px 18px;background:#fbfafc;border-bottom:1px solid #e5e1e8}.v14-event-search{height:42px;border:1px solid #ddd8e2;border-radius:12px;background:#fff;display:flex;align-items:center;gap:9px;padding:0 13px}.v14-event-search span{font-size:18px;color:#71677d}.v14-event-search input{border:0;outline:0;width:100%;font:inherit;font-size:11px;background:transparent}.v14-event-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin}.v14-event-tabs button{border:1px solid #ddd8e2;background:#fff;border-radius:999px;padding:8px 11px;font-size:9px;font-weight:760;white-space:nowrap;display:flex;align-items:center;gap:6px;cursor:pointer}.v14-event-tabs button small{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#f1eef4;display:grid;place-items:center;font-size:8px}.v14-event-tabs button.active{background:#292536;border-color:#292536;color:#fff}.v14-event-tabs button.active small{background:#ffffff1f;color:#fff}.v14-event-layout{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 340px}.v14-event-catalogue{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);background:#f7f6f9}.v14-event-section-title{display:flex;justify-content:space-between;align-items:center;padding:13px 18px;border-bottom:1px solid #e6e2e9}.v14-event-section-title strong,.v14-event-section-title span{display:block}.v14-event-section-title strong{font-size:12px}.v14-event-section-title span{font-size:9px;color:#837d88;margin-top:2px}.v14-event-section-title>b{font-size:9px;color:#706a74}.v14-event-list{padding:14px 16px 20px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-content:start}.v14-event-card{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;gap:11px;align-items:center;min-height:94px;padding:13px;border:1px solid #e1dde4;border-radius:15px;background:#fff;text-align:left;cursor:pointer;transition:.16s ease}.v14-event-card:hover{border-color:#bbb1d6;box-shadow:0 8px 22px rgba(45,38,67,.07);transform:translateY(-1px)}.v14-event-card.selected{border-color:#7465b7;box-shadow:0 0 0 3px rgba(116,101,183,.11);background:#fcfbff}.v14-event-card.is-filtered{display:none!important}.v14-event-card.loading{opacity:.55;pointer-events:none}.v14-event-card.sent{border-color:#54a879;background:#f1fbf5}.v14-event-icon,.v14-preview-icon{width:42px;height:42px;border-radius:13px;background:#efebfa;display:grid;place-items:center;font-size:17px;font-weight:850}.v14-event-copy{min-width:0}.v14-event-copy strong,.v14-event-copy small,.v14-event-copy em{display:block}.v14-event-copy strong{font-size:12px}.v14-event-copy small{font-size:9px;line-height:1.35;color:#77717c;margin:3px 0 7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.v14-event-copy em{font-size:8px;color:#7469a5;font-style:normal}.v14-event-copy em b{font-weight:850}.v14-event-arrow{color:#aaa3af;font-size:21px}.v14-event-empty{margin:auto;text-align:center;color:#7e7784;font-size:11px}.v14-event-inspector{min-height:0;border-left:1px solid #e2dee6;background:#fff;padding:18px;overflow:auto;display:flex;flex-direction:column;gap:12px}.v14-event-preview{padding:18px;border-radius:17px;background:#f7f5fa;border:1px solid #e6e1eb}.v14-event-preview small{display:block;margin-top:13px;font-size:8px;font-weight:850;letter-spacing:.14em;color:#756aa5}.v14-event-preview h3{font-size:21px;margin:5px 0 7px}.v14-event-preview p{font-size:10px;line-height:1.55;color:#706a74;margin:0}.v14-event-specs{display:grid;grid-template-columns:1fr;gap:7px}.v14-event-specs>div{padding:11px 12px;border:1px solid #e8e4eb;border-radius:12px;display:flex;justify-content:space-between;gap:12px}.v14-event-specs span{font-size:9px;color:#817b86}.v14-event-specs strong{font-size:9px;text-align:right}.v14-event-guidance{padding:12px 13px;border-radius:12px;background:#fff9e9;border:1px solid #efe2b7}.v14-event-guidance strong{font-size:9px}.v14-event-guidance p{font-size:9px;line-height:1.45;color:#716a5c;margin:4px 0 0}.v14-event-activate{border:0;border-radius:14px;background:#2d293b;color:#fff;padding:14px 16px;text-align:left;cursor:pointer}.v14-event-activate span,.v14-event-activate small{display:block}.v14-event-activate span{font-size:11px;font-weight:850}.v14-event-activate small{font-size:8px;color:#d8d3e2;margin-top:3px}.v14-event-activate:disabled{opacity:.42;cursor:not-allowed}.v14-event-feedback{min-height:18px;font-size:9px;color:#5e5767}.v14-active-events{margin-top:auto;border-top:1px solid #e9e5ec;padding-top:13px}.v14-active-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.v14-active-head strong{font-size:10px}.v14-active-head span{font-size:8px;color:#7d7584}.v14-event-recent{display:grid;gap:6px}.v14-recent-row{display:flex;gap:9px;align-items:center;padding:8px 0;border-top:1px solid #f0edf2}.v14-recent-row:first-child{border-top:0}.v14-recent-row>span{width:28px;height:28px;border-radius:9px;background:#f0ecf7;display:grid;place-items:center}.v14-recent-row strong,.v14-recent-row small{display:block}.v14-recent-row strong{font-size:9px}.v14-recent-row small{font-size:8px;color:#837c87}.pilot-drawer-backdrop{z-index:1201!important}
@media(max-width:1050px){.v14-event-console{inset:12px}.v14-event-layout{grid-template-columns:minmax(0,1fr) 300px}.v14-event-toolbar{grid-template-columns:260px 1fr}.v14-event-list{grid-template-columns:1fr}}
@media(max-width:760px){.v14-event-console{inset:0;border-radius:0}.v14-event-header{padding:15px 16px}.v14-event-header h2{font-size:22px}.v14-event-toolbar{grid-template-columns:1fr;padding:10px 12px}.v14-event-layout{grid-template-columns:1fr}.v14-event-inspector{position:absolute;inset:auto 0 0;height:48vh;border-left:0;border-top:1px solid #ddd8e2;box-shadow:0 -18px 50px rgba(25,22,36,.13)}.v14-event-catalogue{padding-bottom:48vh}.v14-event-list{padding:10px 12px}.v14-event-card{min-height:84px}.v14-event-section-title{padding:10px 12px}}


/* === LUMA V15 · MODE BANQUE === */
.launch-form{align-items:center;gap:8px}.launch-mode{max-width:145px;border:1px solid #dedee8;background:#fff;border-radius:11px;padding:10px 11px;font:inherit;color:#28283a}.bank-mode-badge{display:inline-flex;margin-left:8px;padding:4px 8px;border-radius:999px;background:#fff2c4;color:#7a5700;font-size:10px;font-weight:900;letter-spacing:.08em}.bank-control-panel{background:linear-gradient(145deg,#fffdf5,#fff8dc);border-color:#ead89a}.bank-admin-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.bank-admin-kpis div{background:#fff;border:1px solid #eee2b8;border-radius:14px;padding:12px}.bank-admin-kpis small{display:block;color:#7c7358;font-size:10px;text-transform:uppercase;font-weight:800}.bank-admin-kpis strong{font-size:22px}.bank-admin-help{font-size:12px;color:#6d654f;line-height:1.5;margin:12px 0 0}.bank-phase-screen{min-height:100vh;background:radial-gradient(circle at 50% 15%,#fff5bd 0,#f6f3ec 40%,#ececf3 100%);padding:20px}.bank-phase-card{max-width:680px;margin:8vh auto 0;background:#fff;border:1px solid #e9dfb9;border-radius:32px;padding:38px;text-align:center;box-shadow:0 28px 90px #40391520}.bank-vault{font-size:72px;filter:drop-shadow(0 15px 18px #7e641f2a)}.bank-phase-card h1{font-size:clamp(42px,8vw,76px);margin:8px 0;color:#292516}.bank-safe-line{display:inline-block;background:#f2f2f7;padding:10px 16px;border-radius:999px}.bank-risk-meter{height:10px;background:#eee;border-radius:999px;overflow:hidden;margin:22px auto 10px;max-width:420px}.bank-risk-meter span{display:block;height:100%;background:linear-gradient(90deg,#62bd79,#efb84a,#e86363);border-radius:inherit}.bank-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}.bank-choice-grid button{border:1px solid #dcdce5;background:#f7f7fa;border-radius:20px;padding:22px;display:grid;gap:7px;font:inherit;cursor:pointer}.bank-choice-grid button span{font-size:34px}.bank-choice-grid button strong{font-size:20px}.bank-choice-grid button small{color:#696979}.bank-choice-grid button.risk{background:#29283a;color:#fff;border-color:#29283a}.bank-choice-grid button.risk small{color:#d4d3df}.bank-choice-confirmed{margin-top:25px;padding:18px;background:#e9f8ee;color:#19743a;border-radius:16px;font-weight:900}.display-bank-phase{min-height:100vh;background:radial-gradient(circle at top,#fff4b7,#151523 68%);color:#fff;text-align:center;padding:40px}.display-bank-phase h1{font-size:clamp(45px,7vw,92px);margin:7vh 0 25px}.display-bank-total{display:inline-grid;background:#ffffff15;border:1px solid #ffffff28;border-radius:28px;padding:24px 50px}.display-bank-total small{text-transform:uppercase;letter-spacing:.15em}.display-bank-total strong{font-size:64px;color:#ffe178}.display-bank-decisions{display:flex;justify-content:center;gap:18px;margin-top:35px}.display-bank-decisions div{min-width:170px;background:#fff;color:#232332;border-radius:22px;padding:20px}.display-bank-decisions b{display:block;font-size:40px}.display-bank-decisions span{color:#77778a}@media(max-width:700px){.bank-choice-grid{grid-template-columns:1fr}.bank-phase-card{padding:24px}.bank-admin-kpis{grid-template-columns:1fr}.launch-mode{max-width:120px}.display-bank-decisions{flex-direction:column;align-items:center}.display-bank-decisions div{width:80%}}
