:root{--bg:#0c0612;--panel:#120a1b;--panel-2:#171024;--text:#e9e3f4;--muted:#b7a9cf;--accent:#f642e6;--accent-2:#7a5cff;--ok:#39e383;--warn:#ffcf5a;--err:#ff6b7a;--shadow:0 6px 24px rgba(0,0,0,.35);--radius:14px;--font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Inter, "Helvetica Neue", Arial, "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace}html,body,#root{height:100%}*{box-sizing:border-box}body{margin:0;font-family:var(--font);color:var(--text);background:radial-gradient(90rem 60rem at 20% 10%,rgba(246,66,230,.18),transparent 60%),radial-gradient(70rem 50rem at 80% 0%,rgba(122,92,255,.16),transparent 60%),linear-gradient(#0a0710,#0a0710 40%,#0c0612)}body[data-theme=privat-neon]{--accent:#f642e6;--accent-2:#7a5cff}body[data-theme=friend]{--accent:#4fd1c5;--accent-2:#63b3ed}body[data-theme=coach]{--accent:#ffd166;--accent-2:#06d6a0}body[data-theme=dev]{--accent:#7aa2f7;--accent-2:#bb9af7}body[data-theme=creative]{--accent:#ff79c6;--accent-2:#8be9fd}body[data-theme=pastel]{--accent:#ffb3d1;--accent-2:#b6b3ff}.nova-shell{max-width:980px;margin:0 auto;padding:18px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;margin-bottom:12px;background:linear-gradient(180deg,#ffffff0a,#0000000a),var(--panel);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);box-shadow:0 0 40px #f642e614,0 10px 30px #00000059;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.topbar .left,.topbar .center,.topbar .right{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.badge,.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#ffffff0f;color:var(--text);font-size:12.5px;border:1px solid rgba(255,255,255,.08)}.chip{background:#7a5cff1f;border-color:#7a5cff40}.select,.input-compact,.btn,.btn-logout{height:34px;border-radius:10px;padding:0 10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:var(--text);font-size:14px}.select:focus,.input-compact:focus{outline:2px solid rgba(246,66,230,.45);border-color:transparent}.btn{background:linear-gradient(180deg,#f642e640,#7a5cff40);border:1px solid rgba(246,66,230,.45);box-shadow:0 6px 16px #f642e638;font-weight:600;cursor:pointer}.btn.on{background:linear-gradient(180deg,#3fd07c40,#7a5cff2e);border-color:#3fd07c99}.btn.danger{background:linear-gradient(180deg,#ff6b7a40,#7a5cff2e);border-color:#ff6b7a99}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-logout{display:inline-flex;align-items:center;text-decoration:none;font-weight:600}.input-compact{width:130px}.select{min-width:160px}.nova-chat-container{height:calc(100vh - 260px);overflow:auto;padding:6px 6px 120px;scroll-behavior:smooth}.message{display:flex;gap:10px;margin:12px 4px;align-items:flex-start}.message.user{flex-direction:row-reverse}.avatar{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;font-weight:700;color:#0a0710;background:linear-gradient(180deg,var(--accent),var(--accent-2));box-shadow:0 0 14px #f642e68c}.bubble{max-width:78%;background:linear-gradient(180deg,#ffffff0f,#ffffff05);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px 14px;box-shadow:var(--shadow);line-height:1.5;word-wrap:break-word}.message.user .bubble{background:linear-gradient(180deg,#7a5cff2e,#f642e624);border-color:#f642e659}.meta{opacity:.7;font-size:12px;margin-bottom:6px}.typing{display:flex;align-items:center;gap:6px;margin:10px 12px}.typing .dot{width:8px;height:8px;border-radius:999px;background:var(--accent);opacity:.85;animation:blink 1.2s infinite;box-shadow:0 0 10px #f642e6b3}.typing .dot:nth-child(2){animation-delay:.15s}.typing .dot:nth-child(3){animation-delay:.3s}@keyframes blink{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-4px);opacity:1}}.input-container{position:sticky;bottom:8px;display:flex;gap:10px;padding:10px;background:linear-gradient(180deg,#0a07101a,#0a071099);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);box-shadow:0 12px 36px #00000059,0 0 40px #7a5cff1f;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.input-message{flex:1;height:44px;border-radius:12px;padding:0 14px;background:#ffffff0f;color:var(--text);border:1px solid rgba(255,255,255,.12);font-size:15px}.input-message:focus{outline:2px solid rgba(122,92,255,.5);border-color:transparent}.btn-envoyer{min-width:120px;height:44px;border-radius:12px;font-weight:800;color:#0b0713;cursor:pointer;background:linear-gradient(90deg,var(--accent),var(--accent-2));border:1px solid rgba(255,255,255,.14);box-shadow:0 10px 28px #f642e659}.btn-envoyer:disabled{filter:grayscale(.35);opacity:.7;cursor:not-allowed}.nova-chat-container::-webkit-scrollbar{width:10px}.nova-chat-container::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--accent),var(--accent-2));border-radius:999px;border:2px solid rgba(0,0,0,.25)}.nova-chat-container::-webkit-scrollbar-track{background:#ffffff0a;border-radius:999px}.console-wrap{background:linear-gradient(180deg,#ffffff0d,#ffffff05);border:1px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden;box-shadow:0 0 40px #7a5cff1f}.console-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:#00000059;border-bottom:1px solid rgba(255,255,255,.08)}.console-header .left{display:flex;align-items:center;gap:8px}.console-header .title{font-weight:800;letter-spacing:.4px}.dot{width:10px;height:10px;border-radius:999px;display:inline-block}.dot-pink{background:var(--accent);box-shadow:0 0 12px #f642e6cc}.dot-violet{background:var(--accent-2);box-shadow:0 0 12px #7a5cffcc}.console-input,.console-select,.console-btn{height:32px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:var(--text);font-size:13px}.console-input{width:200px;padding:0 10px}.console-select{padding:0 8px}.console-btn{padding:0 10px;font-weight:700;cursor:pointer}.console-btn.ghost{background:transparent;border-color:#fff3}.console-body{max-height:220px;overflow:auto;font-family:var(--mono);padding:8px 10px;background:linear-gradient(180deg,#0a07108c,#0a0710d9)}.log-row{display:grid;grid-template-columns:84px 70px 80px 1fr auto;gap:8px;align-items:start;padding:6px 8px;border-bottom:1px dashed rgba(255,255,255,.06);font-size:12.5px}.log-row .time{opacity:.7}.log-row .badge{padding:2px 8px;border-radius:999px;font-weight:800;text-transform:uppercase;font-size:11px}.log-row .src{opacity:.75}.log-row .meta summary{cursor:pointer;opacity:.85}.log-row .meta pre{margin:6px 0 0;padding:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px}.log-row.error .badge{background:#ff6b7a40;color:#ffd9de;border:1px solid rgba(255,107,122,.65)}.log-row.warn .badge{background:#ffcf5a38;color:#fff0cc;border:1px solid rgba(255,207,90,.65)}.log-row.info .badge{background:#7a5cff38;color:#e9e3ff;border:1px solid rgba(122,92,255,.6)}.log-row.debug .badge{background:#f642e62e;color:#ffe9fb;border:1px solid rgba(246,66,230,.55)}@media (max-width: 680px){.bubble{max-width:100%}.topbar{gap:6px}.select{min-width:140px}.input-compact{width:110px}.nova-chat-container{height:calc(100vh - 300px)}}.login-shell{min-height:100svh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 800px at 10% 10%,rgba(255,0,153,.1),transparent 60%),radial-gradient(900px 700px at 90% 90%,rgba(137,99,255,.12),transparent 55%),#0b0a0f}.login-card{width:min(560px,92vw);background:#ffffff0f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:clamp(18px,3.6vw,28px);color:#fff;box-shadow:0 10px 50px #00000059}.brand{display:flex;align-items:center;gap:14px;margin-bottom:14px}.brand .logo{width:44px;height:44px;display:grid;place-items:center;background:linear-gradient(135deg,#ff5cc9,#7a5cff);border-radius:12px;font-size:22px}.brand .titles h1{font-size:clamp(20px,4.2vw,26px);margin:0 0 2px}.brand .hint{margin:0;opacity:.85;font-size:14px}.login-form{display:grid;gap:12px;margin-top:14px}.field span{display:block;font-size:13px;opacity:.85;margin-bottom:6px}.input-wrap{position:relative}.input{width:100%;font:inherit;padding:12px 44px 12px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.22);background:#00000059;color:#fff;outline:none}.input:focus{border-color:#a78bfa;box-shadow:0 0 0 3px #a78bfa40}.ghost-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:transparent;border:0;font-size:18px;cursor:pointer;color:#fff;padding:6px 8px;border-radius:8px}.ghost-eye:hover{background:#ffffff1a}.error{padding:10px 12px;border-radius:10px;background:#ff46461f;border:1px solid rgba(255,70,70,.35);color:#ffb3b3;font-size:14px}.btn-primary{width:100%;padding:12px 14px;border-radius:12px;background:linear-gradient(135deg,#ff5cc9,#7a5cff);border:0;color:#0b0a0f;font-weight:700;cursor:pointer}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.extras{display:flex;gap:12px;margin-top:6px;flex-wrap:wrap}.link{background:transparent;border:0;color:#d7c9ff;cursor:pointer;padding:6px 0}.link:hover{text-decoration:underline}.login-footer{display:flex;gap:8px;align-items:center;justify-content:center;opacity:.8;font-size:13px;margin-top:16px}.login-footer .dot{opacity:.6}@media (max-width:420px){.login-card{padding:16px;border-radius:14px}}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0px,rgba(255,255,255,.03) 1px,transparent 1px,transparent 2px),repeating-linear-gradient(90deg,rgba(255,255,255,.02) 0px,rgba(255,255,255,.02) 2px,transparent 2px,transparent 4px),radial-gradient(1200px 800px at 20% 20%,rgba(246,66,230,.14),transparent 70%),radial-gradient(1000px 700px at 80% 80%,rgba(122,92,255,.12),transparent 65%);background-blend-mode:screen;animation:glitchShift 6s infinite linear;pointer-events:none;z-index:-1}@keyframes glitchShift{0%{transform:translate(0);opacity:.85}20%{transform:translate(-6px,3px);opacity:.75}40%{transform:translate(3px,-4px);opacity:.9}60%{transform:translate(-2px,5px);opacity:.8}80%{transform:translate(4px,-3px);opacity:.88}to{transform:translate(0);opacity:.85}}.login-card,.topbar,.input-container{box-shadow:0 0 25px #f642e659,0 0 60px #7a5cff47;animation:neonPulse 4s ease-in-out infinite}@keyframes neonPulse{0%,to{box-shadow:0 0 25px #f642e640,0 0 60px #7a5cff33}50%{box-shadow:0 0 45px #f642e680,0 0 90px #7a5cff66}}body.fx-ultra{position:relative;overflow-x:hidden}body.fx-ultra:before{content:"";position:fixed;top:-2px;right:-2px;bottom:-2px;left:-2px;pointer-events:none;z-index:-1;background:repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0px,rgba(255,255,255,.04) 1px,transparent 1px,transparent 3px),radial-gradient(1200px 800px at 18% 18%,rgba(246,66,230,.1),transparent 60%),radial-gradient(1100px 700px at 82% 78%,rgba(122,92,255,.1),transparent 62%),linear-gradient(#0a0710,#0a0710 40%,#0c0612);mix-blend-mode:screen;animation:fxScan 16s linear infinite;will-change:transform,opacity,background-position}@keyframes fxScan{0%{transform:translateZ(0);background-position:0 0;opacity:.88}50%{transform:translate3d(-6px,2px,0);background-position:0 12px;opacity:.94}to{transform:translateZ(0);background-position:0 0;opacity:.88}}body.fx-ultra:after{content:"";position:fixed;top:-2px;right:-2px;bottom:-2px;left:-2px;pointer-events:none;z-index:-1;background:repeating-linear-gradient(180deg,rgba(255,0,128,.1) 0 3px,transparent 3px 6px),repeating-linear-gradient(180deg,rgba(120,90,255,.1) 0 5px,transparent 5px 9px);mix-blend-mode:lighten;animation:fxBands 2.4s steps(24) infinite;opacity:.55;filter:contrast(130%)}@keyframes fxBands{0%{transform:translate(0)}20%{transform:translate(-6px) skew(-.3deg)}25%{transform:translate(7px) skew(.2deg)}40%{transform:translate(-3px)}60%{transform:translate(4px)}75%{transform:translate(-8px) skew(.4deg)}to{transform:translate(0)}}.login-card,.topbar,.input-container,.console-wrap{box-shadow:0 0 28px #f642e652,0 0 64px #7a5cff47}body.fx-ultra .login-card,body.fx-ultra .topbar,body.fx-ultra .input-container,body.fx-ultra .console-wrap{animation:fxNeon 4.5s ease-in-out infinite}@keyframes fxNeon{0%,to{box-shadow:0 0 24px #f642e647,0 0 60px #7a5cff38}50%{box-shadow:0 0 48px #f642e68c,0 0 110px #7a5cff73}}.fx-rgb,.btn-envoyer,.btn-primary,.brand .logo{position:relative;text-shadow:0 0 14px rgba(246,66,230,.45),0 0 26px rgba(122,92,255,.35),1px 0 0 rgba(255,40,160,.65),-1px 0 0 rgba(100,170,255,.65);filter:saturate(110%)}body.fx-ultra .fx-rgb,body.fx-ultra .btn-envoyer,body.fx-ultra .btn-primary,body.fx-ultra .brand .logo{animation:fxRGB 3.2s ease-in-out infinite}@keyframes fxRGB{0%,to{transform:translateZ(0)}45%{transform:translate3d(.4px,-.2px,0)}55%{transform:translate3d(-.6px,.3px,0)}}body.fx-ultra .nova-shell,body.fx-ultra .login-card{will-change:transform;animation:fxJitter 7s ease-in-out infinite}@keyframes fxJitter{0%,to{transform:translateZ(0)}30%{transform:translate3d(-.6px,.3px,0)}60%{transform:translate3d(.5px,-.4px,0)}}@media (prefers-reduced-motion: reduce){body.fx-ultra:before,body.fx-ultra:after,body.fx-ultra .login-card,body.fx-ultra .topbar,body.fx-ultra .input-container,body.fx-ultra .console-wrap,body.fx-ultra .fx-rgb,body.fx-ultra .btn-envoyer,body.fx-ultra .btn-primary,body.fx-ultra .brand .logo,body.fx-ultra .nova-shell{animation:none!important}}@media (max-width: 680px){body.fx-ultra:after{opacity:.38}body.fx-ultra:before{opacity:.82}.fx-rgb,.btn-envoyer,.btn-primary{text-shadow:0 0 10px rgba(246,66,230,.35),0 0 18px rgba(122,92,255,.28),0 0 0 rgba(0,0,0,0),0 0 0 rgba(0,0,0,0)}}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 800px at 15% 20%,rgba(255,92,201,.18),transparent 60%),radial-gradient(1000px 700px at 80% 85%,rgba(122,92,255,.16),transparent 55%),#0b0a0f}.login-card{width:min(480px,92vw);background:#140022cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:clamp(18px,3.6vw,28px);color:#fff;box-shadow:0 0 40px #f642e640,0 0 80px #7a5cff40}.login-title{font-family:Orbitron,sans-serif;font-size:clamp(28px,6vw,42px);font-weight:800;text-align:center;letter-spacing:2px;margin:0 0 12px;position:relative;color:#fff;text-transform:uppercase;z-index:1}.login-title:before,.login-title:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;overflow:hidden;color:#ff2fbf;clip:rect(0,900px,0,0);animation:glitchClip 2.5s infinite linear alternate-reverse}.login-title:after{color:#00e5ff;animation-delay:.8s}@keyframes glitchClip{0%{clip:rect(0,9999px,0,0);transform:translate(0)}10%{clip:rect(0,9999px,40px,0);transform:translate(-2px,-2px)}20%{clip:rect(0,9999px,80px,0);transform:translate(2px,2px)}30%{clip:rect(0,9999px,20px,0);transform:translate(-2px,2px)}40%{clip:rect(0,9999px,60px,0);transform:translate(2px,-2px)}50%{clip:rect(0,9999px,100px,0);transform:translate(0)}60%{clip:rect(0,9999px,30px,0);transform:translate(2px,1px)}70%{clip:rect(0,9999px,70px,0);transform:translate(-1px,-1px)}80%{clip:rect(0,9999px,90px,0);transform:translate(1px,-2px)}to{clip:rect(0,9999px,10px,0);transform:translate(0)}}.login-title{animation:neonPulse 4s ease-in-out infinite}@keyframes neonPulse{0%,to{text-shadow:0 0 8px #ff2fbf,0 0 16px #7a5cff}50%{text-shadow:0 0 18px #ff2fbf,0 0 36px #7a5cff}}.console-wrap{background:#0a0614a6;border:1px solid rgba(255,255,255,.06);border-radius:14px;overflow:hidden;box-shadow:0 0 40px #be50ff33,inset 0 0 60px #ff008c0d;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.console-header{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;background:linear-gradient(180deg,#ff00b414,#6400b414);border-bottom:1px solid rgba(255,255,255,.06)}.console-header .left{display:flex;gap:8px;align-items:center}.dot{width:10px;height:10px;border-radius:50%}.dot-pink{background:#ff5ac8;box-shadow:0 0 8px #ff5ac8}.dot-violet{background:#a66bff;box-shadow:0 0 8px #a66bff}.title{opacity:.9;font-weight:600;letter-spacing:.2px}.console-header .center{display:flex;gap:8px;flex:1;justify-content:center}.console-input,.console-select{height:26px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#fff;padding:0 10px;outline:none}.console-input{min-width:280px}.console-select{min-width:120px}.console-header .right{display:flex;gap:8px;align-items:center}.console-btn{height:26px;padding:0 10px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(90deg,#ff4bbd,#7a66ff);color:#fff;font-weight:600}.console-btn.ghost{background:#ffffff0f}.console-btn.danger{background:#ff50641c;border-color:#ff507859}.console-body{height:100%;max-height:178px;overflow:auto;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.55}.log-row{display:grid;grid-template-columns:72px 58px 72px 1fr auto;gap:8px;align-items:start;padding:4px 6px;border-radius:8px;border:1px solid transparent}.log-row:hover{background:#ffffff08;border-color:#ffffff0f}.time{opacity:.7}.badge{padding:2px 8px;border-radius:999px;font-weight:700;text-transform:uppercase;font-size:11px}.badge.info{background:#62c6ff26;color:#a8dcff;border:1px solid rgba(98,198,255,.35)}.badge.warn{background:#ffbe5a26;color:#ffd9a0;border:1px solid rgba(255,190,90,.35)}.badge.error{background:#ff507826;color:#ffc2d0;border:1px solid rgba(255,80,120,.35)}.badge.debug{background:#a66bff26;color:#dac6ff;border:1px solid rgba(166,107,255,.35)}.src{opacity:.8}.msg{white-space:pre-wrap;word-break:break-word}.meta summary{cursor:pointer;opacity:.8}.meta pre{margin:.4rem 0 0;max-width:520px;overflow:auto}
