:root{--bg:#070a12;--card:hsla(0,0%,100%,.06);--card-border:hsla(0,0%,100%,.14);--text:hsla(0,0%,100%,.92);--muted:hsla(0,0%,100%,.66);--soft:hsla(0,0%,100%,.1);--shadow:0 30px 80px rgba(0,0,0,.45);--radius:22px}body{background:var(--bg);color:#fff;font-family:Arial,sans-serif;margin:0;min-height:100vh;overflow-x:hidden;overflow-y:auto}body .pilot{background-color:#2c2a2a;overflow:scroll}.black_sjbd,.black_sjbd_edit{background-color:#161414;min-height:100vh}.black_sjbd_edit{overflow:scroll}text{font-family:Arial,sans-serif;font-size:14px;fill:#fff}.sjdb-home{background:radial-gradient(1200px 700px at 20% 10%,rgba(91,143,255,.18),transparent 55%),radial-gradient(900px 600px at 80% 30%,rgba(180,84,255,.16),transparent 60%),radial-gradient(900px 600px at 50% 90%,rgba(0,242,255,.12),transparent 55%),var(--bg);color:var(--text);display:flex;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,Apple Color Emoji,Segoe UI Emoji;justify-content:center;padding:25px 18px;place-items:center;align-items:flex-start;position:relative}.sjdb-bg{background-image:radial-gradient(circle at 12% 18%,hsla(0,0%,100%,.1) 1px,transparent 2px),radial-gradient(circle at 72% 30%,hsla(0,0%,100%,.08) 1px,transparent 2px),radial-gradient(circle at 42% 78%,hsla(0,0%,100%,.06) 1px,transparent 2px);background-size:220px 220px,260px 260px,300px 300px;filter:blur(.1px);inset:-40px;opacity:.55;pointer-events:none;position:absolute}.sjdb-card{backdrop-filter:blur(10px);background:linear-gradient(180deg,hsla(0,0%,100%,.08),hsla(0,0%,100%,.04));border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px;position:relative;width:min(920px,100%)}.sjdb-card--wide{width:min(1100px,100%)}.sjdb-header{align-items:center;border-bottom:1px solid var(--soft);display:flex;gap:18px;padding-bottom:14px}.sjdb-logo{background:hsla(0,0%,100%,.05);border-radius:18px;box-shadow:0 18px 45px rgba(0,0,0,.35);height:150px;object-fit:cover;width:150px}.sjdb-brand{display:grid;gap:6px}.sjdb-domain{font-size:22px;font-weight:800;letter-spacing:.5px}.sjdb-tagline{color:var(--muted);font-size:14px}.sjdb-content{padding:18px 4px 8px}.sjdb-title{font-size:clamp(22px,3vw,34px);line-height:1.15;margin:0 0 10px}.sjdb-muted{color:var(--muted);font-weight:600}.sjdb-lead{color:hsla(0,0%,100%,.84);font-size:16px;line-height:1.6;margin:0 0 14px}.sjdb-bullets{display:grid;gap:10px;list-style:none;margin:0;padding:0}.sjdb-bullets li{background:rgba(0,0,0,.16);border:1px solid var(--soft);border-radius:14px;color:hsla(0,0%,100%,.86);padding:10px 12px}.sjdb-footer{border-top:1px solid var(--soft);gap:14px;justify-content:space-between;margin-top:18px;padding-top:18px}.sjdb-actions,.sjdb-footer{align-items:center;display:flex;flex-wrap:wrap}.sjdb-actions{gap:8px}.sjdb-btn{align-items:center;background:linear-gradient(180deg,rgba(91,143,255,.28),rgba(180,84,255,.18));border:1px solid hsla(0,0%,100%,.22);border-radius:14px;color:hsla(0,0%,100%,.95);display:inline-flex;font-weight:700;gap:10px;padding:12px 16px;text-decoration:none;transition:transform .16s ease,filter .16s ease,border-color .16s ease}.sjdb-btn--danger{background:linear-gradient(180deg,hsla(0,100%,74%,.38),rgba(255,80,80,.22));border-color:hsla(0,100%,74%,.45)}.sjdb-btn:hover{border-color:hsla(0,0%,100%,.32);filter:brightness(1.08);transform:translateY(-1px)}.sjdb-btn:active{transform:translateY(0)}.sjdb-btn-arrow{font-weight:900;opacity:.9}.sjdb-meta{display:inline-flex;flex-wrap:wrap;gap:8px}.sjdb-pill{background:rgba(0,0,0,.14);border:1px solid var(--soft);border-radius:999px;color:hsla(0,0%,100%,.76);font-size:12px;padding:6px 10px}.sjdb-table-wrap{background:rgba(0,0,0,.2);border:1px solid var(--soft);border-radius:16px;margin-top:16px;overflow:hidden}.sjdb-table{border-collapse:collapse;font-size:14px;width:100%}.sjdb-table td,.sjdb-table th{border-bottom:1px solid var(--soft);padding:12px 14px;text-align:left}.sjdb-table th{color:var(--muted);font-weight:600;letter-spacing:.02em}.sjdb-table tbody tr:hover{background:hsla(0,0%,100%,.04)}.sjdb-dl{display:grid;gap:8px 16px;grid-template-columns:minmax(0,140px) minmax(0,1fr);margin:0}.sjdb-dl dt{color:var(--muted);font-weight:700}.sjdb-dl dd{margin:0}.admin-form{display:grid;gap:12px;margin:12px 0 0}.admin-form h2{font-size:clamp(18px,3.2vw,22px);margin:16px 0 6px}.admin-form h3{font-size:clamp(16px,2.8vw,18px);margin:12px 0 6px}.admin-form label{color:hsla(0,0%,100%,.82);display:block;font-weight:600;margin-bottom:4px}.admin-form input,.admin-form select,.admin-form textarea{background:rgba(0,0,0,.35);border:1px solid hsla(0,0%,100%,.2);border-radius:12px;color:hsla(0,0%,100%,.94);outline:none;padding:10px 12px;width:100%}.admin-form textarea{min-height:120px}.admin-form button{justify-self:flex-start}.qr-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:16px}.qr-card{background:#fff;border:1px solid #e4e6eb;border-radius:12px;padding:16px;text-align:center}.qr-card img{height:180px;margin:12px auto;object-fit:contain;width:180px}.qr-label{display:block;font-weight:600;margin-top:6px}.qr-code{color:#4b5563;font-size:.85rem;word-break:break-all}.qr-missing{background:#f8f8f9;border-radius:10px;color:#9ca3af;padding:40px 12px}@media (max-width:520px){.sjdb-card{padding:18px}.sjdb-logo{border-radius:16px;height:74px;width:74px}.sjdb-domain{font-size:20px}}@media (max-width:720px){.sjdb-home{align-items:stretch;padding:18px 14px 28px}.sjdb-card{width:100%}.sjdb-header{align-items:flex-start;flex-direction:column}.sjdb-logo{height:96px;width:96px}.sjdb-footer{align-items:stretch;flex-direction:column}.sjdb-btn{justify-content:center}.sjdb-meta{width:100%}.sjdb-table-wrap{overflow-x:auto}.sjdb-table td,.sjdb-table th{white-space:nowrap}.sjdb-dl{grid-template-columns:1fr}.admin-form{gap:10px}.qr-card img{height:150px;width:150px}}.o_blk_1{align-items:center;display:flex;justify-content:center;padding:15px}.o_blk_1 h1{color:#fff}#chat-box{border:1px solid #ccc;height:300px;margin-bottom:10px;overflow-y:scroll;padding:10px}#send-button svg{pointer-events:none}#controls{left:10px;position:absolute;top:10px;z-index:10}#chat-interface{background:linear-gradient(180deg,#f9f9f9,#ececec);border-left:2px solid #ccc;display:flex;flex-direction:column;font-family:Arial,sans-serif;height:80vh;width:300px}.chat-message{display:flex;margin-bottom:10px}.chat-message.user{justify-content:flex-end}.chat-message.ai{justify-content:flex-start}.chat-bubble{border-radius:10px;font-size:.9em;line-height:1.4;max-width:60%;padding:10px}.chat-bubble.user{background-color:#4caf50;border-bottom-right-radius:0;color:#fff}.chat-bubble.ai{background-color:#2196f3;border-bottom-left-radius:0;color:#fff}#chat-input button:hover{background:#45a047}#chat-input button svg{fill:#fff;height:20px;width:20px}#visualization{display:block;flex:2;overflow:hidden;position:relative}#visualization svg{display:block;height:100%;width:100%}#statistics-visualization{height:70px;position:relative}#cluster-visualization,#keywords-cluster{position:relative}#main-container{display:flex;height:100vh;overflow:hidden}#chat-section{background:#f1f1f1;border-right:1px solid #ccc;display:flex;flex:1;flex-direction:column;height:90%;max-width:350px}#chat-container,#chat-section{overflow-y:auto;position:relative}#chat-container{flex:1;padding:10px}#chat-input{align-items:center;background:#f9f9f9;border-top:1px solid #ccc;display:flex;padding:10px}#chat-input input{border:1px solid #ccc;border-radius:20px;flex:1;font-size:1em;margin-right:10px;padding:10px}#chat-input button{align-items:center;background:#4caf50;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;width:40px}#visualization-section{background:#202040;color:#fff;display:flex;flex:2;flex-direction:column;position:relative}#visualization-controls{background:#333;border-bottom:1px solid #444;color:#fff;display:flex;height:50px;justify-content:space-around;padding:10px}#visualization-controls button{background:#555;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:10px 15px}#visualization-controls button:hover{background:#777}.page,.page_fix{display:flex;flex-direction:column;gap:24px;min-height:100vh;padding:24px 20px 32px}.page_fix{overflow:hidden}.first_title{align-items:center;display:flex;flex-direction:column;justify-content:center;margin:auto}.first_title h1{font-size:4.5rem;margin:0;padding-top:15px}header{align-items:center;display:flex;justify-content:space-between}.badge,.badge2{background:#101e4a;border-radius:999px;color:#fff;font-size:.85rem;padding:6px 12px}.badge2{position:absolute}.card{background:#fff;border-radius:18px;box-shadow:0 12px 28px rgba(16,30,74,.08);padding:20px}.soli{align-items:center;background-color:#085da2;bottom:97px;height:174px;justify-content:center;left:0;padding:10px;position:absolute;right:0;width:509px}.info{padding:20px}.card h2{color:#1f3b73;text-align:center}.lien_jeu{color:#00008b;font-weight:700}.stack{display:flex;gap:16px;margin:auto}.btn{align-items:center;background:#101e4a;border:none;border-radius:14px;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;justify-content:center;padding:14px 18px;text-decoration:none;width:auto}.btn-outline{background:transparent;border:1px solid #101e4a;color:#101e4a}.input{border:1px solid #d3d8e6;border-radius:12px;font-size:1rem;padding:14px 16px;width:100%}.hint{color:#4b5563;font-size:.9rem}.hint2{color:#8a0609;font-size:3rem;margin-block:0}.hint2,.status{font-weight:600}.status{background:#e9efff;border-radius:12px;color:#1d3a8a;font-size:.9rem;padding:10px 14px}.status:empty{display:none}.status.closed{background:#ffe8e8;color:#a32424}.info_link{align-items:center;background:#085da2;border-radius:12px;color:#f2f4f9;display:flex;flex-direction:column;font-size:.9rem;font-weight:600;height:100px;justify-content:space-evenly;padding:10px 14px}.link{color:#e2e6ee}.scoreboard-winner{background:#3db62e}.scoreboard-winner td:first-child:before{content:"🏆 "}.scoreboard-finished{align-items:center;background:rgba(21,128,61,.2);border-radius:999px;color:#15803d;display:inline-flex;font-size:.8rem;font-weight:600;gap:4px;margin-left:8px;padding:2px 8px;white-space:nowrap}.progress{display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin-top:8px}.progress span{background:#f1f4ff;border-radius:10px;font-weight:600;padding:10px 0;text-align:center}.progress span.completed{background:#d7f5e1;color:#166534}footer{color:#6b7280;font-size:.85rem;margin-top:auto;text-align:center}.pilot-page,.scoreboard-page{margin:0 auto;max-width:1200px;padding:24px 16px 40px}.pilot-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px}.pilot-summary{display:grid;font-size:1.05rem;gap:12px}.pilot-layout{display:grid;gap:24px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.pilot-actions{display:grid;gap:12px}.pilot-actions a,.pilot-actions form{width:100%}.pilot-actions a,.pilot-actions button{background:#2c2c5a;border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:600;padding:12px 16px;text-align:center;text-decoration:none;width:100%}.pilot-actions a:hover,.pilot-actions button:hover{background:#3c3c7a}.pilot-finish-dialog{border:none;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.35);padding:0;width:min(90vw,420px)}.pilot-finish-dialog::backdrop{background:rgba(5,7,20,.65)}.pilot-finish-dialog__content{color:#1f2937;display:grid;gap:12px;padding:20px}.pilot-finish-dialog__label{display:grid;font-weight:600;gap:8px}.pilot-finish-dialog__label select{background:#fff;border:1px solid #d1d5db;border-radius:10px;padding:10px 12px}.pilot-finish-dialog__actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.pilot-finish-dialog__actions button{background:#2c2c5a;border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:10px 14px}.pilot-finish-dialog__actions button[disabled]{cursor:not-allowed;opacity:.6}.pilot-finish-dialog__actions button:last-child{background:#64748b}.pilot-teams{background:hsla(0,0%,100%,.08);border-radius:16px;padding:16px}.pilot-teams header{align-items:baseline;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.pilot-teams__count{font-size:1.4rem;font-weight:700}.team-list{display:grid;gap:10px;list-style:none;margin:0;padding:0}.team-list li{align-items:center;background:rgba(16,16,32,.75);border-radius:12px;display:flex;justify-content:space-between;padding:10px 12px}.team-list__code{font-size:.95rem;opacity:.85}.team-list__state{background:#1f3b73;border-radius:999px;font-size:.85rem;padding:4px 10px}.team-list__qr{font-size:.85rem;opacity:.85}.scoreboard-page{max-width:1400px}.scoreboard-header{align-items:center;background-color:#66b7fd;border-radius:25px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:10px}.scoreboard-status{background:#1f3b73;border-radius:999px;font-size:.85rem;font-weight:600;letter-spacing:.04em;padding:6px 14px;text-transform:uppercase}.scoreboard-meta{align-items:center;display:flex;font-size:1rem;gap:16px}.scoreboard-table{background:#0c5492;border-collapse:collapse;border-radius:16px;margin-top:24px;overflow:hidden;width:100%}.scoreboard-table td,.scoreboard-table th{padding:14px 16px;text-align:left}.scoreboard-table thead{background:hsla(0,0%,100%,.08)}.scoreboard-table tbody tr:nth-child(2n){background:hsla(0,0%,100%,.04)}.scoreboard-progress{background:hsla(0,0%,100%,.2);border-radius:999px;height:10px;overflow:hidden;position:relative}.scoreboard-progress span{background:linear-gradient(90deg,#3ab5ff,#8bf7d3);border-radius:999px;height:100%;left:0;position:absolute;top:0}.scoreboard-progress-meta{font-size:.85rem;margin-top:6px;opacity:.8}.scoreboard-empty{font-style:italic;opacity:.8;padding:20px;text-align:center}@media (max-width:1024px){.pilot-layout{grid-template-columns:1fr}}@media (max-width:720px){.page,.page_fix{padding:20px 16px 28px}.first_title h1{font-size:2.2rem}.badge2{position:static}.pilot-header{align-items:flex-start;flex-direction:column}.pilot-actions,.pilot-actions a,.pilot-actions form{width:100%}.team-list li{flex-direction:column;gap:6px}.scoreboard-header,.scoreboard-meta,.team-list li{align-items:flex-start}.scoreboard-meta{flex-direction:column}.scoreboard-table{display:block;overflow-x:auto}}#analysis-visualization,#keywords-visualization{flex:1;overflow:hidden}#tabs{background:#333;border-bottom:1px solid #444;display:flex}#tabs .tab-button{background:#444;border:none;color:#fff;cursor:pointer;flex:1;font-size:14px;padding:10px;text-align:center}#tabs .tab-button.active{background:#202040;border-bottom:2px solid #00bcd4}#tabs-content{flex:1;position:relative}#keywords-cluster,#response-analysis,#statistics-visualization{display:block;height:100%;margin:auto;width:100%}.tab-content{align-items:center;display:none;height:100%;justify-content:center;position:relative}.tab-content.active{display:flex}#keywords-visualization,#reponse_visualisation,#statistics-visualization{height:100%;width:100%}.back_head_desk{background-position:50%;background-repeat:no-repeat;background-size:cover;min-height:100vh}.home-countdown{animation:homePulse 1s infinite;color:#fff;font-size:3.5rem;font-weight:800;margin-top:12px;text-shadow:0 8px 18px rgba(0,0,0,.35)}.home-qr{align-items:center;display:flex;flex-direction:column;gap:8px}.home-qr img{background:#fff;border-radius:16px;box-shadow:0 12px 24px rgba(0,0,0,.2);height:150px;padding:12px;width:150px}.winner-screen{display:flex;flex-direction:column;gap:24px}.winner-header{text-align:center}.winner-card{align-items:center;background:#183d73;border-radius:16px;box-shadow:0 12px 28px rgba(16,30,74,.08);display:flex;flex-direction:column;gap:12px;margin:auto;padding:24px;width:500px}.winner-card h2{font-size:2.4rem;margin:0;text-align:center}.hint_win{color:#fff;font-size:1.5rem;margin:0;padding:25px}@keyframes homePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.countdownOverlay{backdrop-filter:blur(2px);background:rgba(0,0,0,.25);display:grid;inset:0;place-items:center;position:fixed;z-index:9999}.countdownOverlay[hidden]{display:none}.countdownCard{background:hsla(0,0%,100%,.92);border:4px solid rgba(0,0,0,.85);border-radius:18px;box-shadow:0 14px 40px rgba(0,0,0,.25);padding:22px 18px 18px;position:relative;text-align:center;width:min(86vw,520px)}.countdownBurst{background:radial-gradient(circle at 30% 30%,rgba(255,214,0,.9),transparent 45%),radial-gradient(circle at 70% 30%,rgba(255,0,92,.85),transparent 45%),radial-gradient(circle at 50% 75%,rgba(0,194,255,.8),transparent 50%);border-radius:26px;filter:saturate(1.1);inset:-18px;position:absolute;transform:rotate(-2deg);z-index:-1}.countdownNumber{animation:countdownPop .9s ease-in-out both;color:#ff2d55;font-size:clamp(64px,18vw,140px);font-weight:900;letter-spacing:-.04em;text-shadow:3px 0 0 rgba(0,0,0,.85),-3px 0 0 rgba(0,0,0,.85),0 3px 0 rgba(0,0,0,.85),0 -3px 0 rgba(0,0,0,.85),6px 10px 0 rgba(0,0,0,.12)}.countdownSub{color:rgba(0,0,0,.78);font-size:1rem;font-weight:800;margin-top:4px}@keyframes countdownPop{0%{opacity:0;transform:scale(.5) rotate(-6deg)}45%{opacity:1;transform:scale(1.15) rotate(2deg)}70%{transform:scale(.96) rotate(-1deg)}to{transform:scale(1) rotate(0deg)}}.countdownOverlay.is-out{animation:fadeOut .22s ease-in forwards}@keyframes fadeOut{to{opacity:0}}.sjdb-card--auth{width:min(760px,100%)}.sjdb-auth{display:grid;gap:16px;padding-top:18px}.sjdb-auth-head{display:grid;gap:6px}.sjdb-auth-title{font-size:clamp(20px,2.6vw,28px);line-height:1.15;margin:0}.sjdb-auth-subtitle{color:hsla(0,0%,100%,.72);font-size:14px;line-height:1.5;margin:0}.sjdb-alert{background:rgba(255,80,80,.12);border:1px solid hsla(0,100%,74%,.35);border-radius:14px;padding:12px}.sjdb-alert-text{color:hsla(0,0%,100%,.86);font-size:14px;line-height:1.45;margin-top:6px}.sjdb-form{display:grid;gap:12px;margin:0}.sjdb-field{display:grid;gap:6px}.sjdb-label{color:hsla(0,0%,100%,.78);font-size:13px;font-weight:650}.sjdb-input{background:rgba(0,0,0,.22);border:1px solid hsla(0,0%,100%,.16);border-radius:14px;color:hsla(0,0%,100%,.92);outline:none;padding:12px;transition:border-color .16s ease,transform .16s ease,filter .16s ease}.sjdb-input::placeholder{color:hsla(0,0%,100%,.38)}.sjdb-input:focus{border-color:rgba(120,190,255,.45);filter:brightness(1.06)}.sjdb-actions{display:grid;gap:10px;margin-top:4px}.sjdb-btn--full{justify-content:center;padding:13px 16px;width:100%}.sjdb-auth-foot{border-top:1px solid hsla(0,0%,100%,.1);padding-top:8px}.sjdb-foot-note{color:hsla(0,0%,100%,.6);font-size:12.5px;line-height:1.45}@media (max-width:420px){.sjdb-auth{gap:14px}.sjdb-input{border-radius:13px;padding:11px}.sjdb-btn--full{padding:12px 14px}}.sjdb-form{margin:0 auto;max-width:420px}.sjdb-field{width:100%}.sjdb-input{max-width:100%;width:100%}.sjdb-actions{margin:8px auto 0;max-width:420px}@media (min-width:1024px){.sjdb-actions,.sjdb-form{max-width:380px}}@media (max-width:480px){.sjdb-actions,.sjdb-form{max-width:100%}}.sjdb-auth{align-items:center;text-align:center}.sjdb-label{text-align:left}@media (max-width:520px){.sjdb-pill{background:rgba(0,0,0,.14);border:1px solid var(--soft);border-radius:999px;color:hsla(0,0%,100%,.76);font-size:20px;padding:11px 18px;text-decoration:none!important}.sjdb-bullets li{background:none;border:none;border-radius:0}}.fullscreen-toggle{background:rgba(15,23,42,0);border:1px solid hsla(0,0%,100%,.4);border-radius:999px;color:#fff;cursor:pointer;font-weight:600;margin-top:8px;padding:8px 14px}.fullscreen-toggle:hover{background:rgba(15,23,42,.8)}