@font-face{font-family:Neue Machina;src:url(/assets/PPNeueMachina-InktrapBold-C-mkOt06.otf) format("opentype");font-weight:700;font-display:swap}@font-face{font-family:Nikkei Maru;src:url(/assets/PPNikkeiMaru-Regular-MIqS4f16.otf) format("opentype");font-weight:400;font-display:swap}@font-face{font-family:Nikkei Maru;src:url(/assets/PPNikkeiMaru-Light-aVN6it9I.otf) format("opentype");font-weight:300;font-display:swap}:root{--font-display: "Neue Machina", "Space Grotesk", system-ui, sans-serif;--font-body: "Nikkei Maru", "M PLUS Rounded 1c", system-ui, sans-serif;--ranker-primary: #F5B800;--ranker-black: #0A0A0A;--ranker-white: #FFFFFF;--ranker-surtitle: #4A4A4A;--ranker-gray-light: #C4C4C4;--ranker-footer-bg: #E8ECEF;--sem-green: #2BAE66;--sem-red: #E94B3C;--sem-orange: #F5821F;--sem-blue: #1F6FA8;--cat-1: #F5B800;--cat-2: #2BAE66;--cat-3: #1F6FA8;--cat-4: #F5821F;--cat-5: #A85A2F;--cat-6: #E94B3C;--cat-7: #C4C4C4;--bg: var(--ranker-white);--surface: #F7F7F7;--text: var(--ranker-black);--text-muted: var(--ranker-surtitle);--border: #E6E6E6;--accent: var(--ranker-primary);--radius: 10px;--radius-sm: 6px;--shadow: 0 1px 2px rgba(10,10,10,.06), 0 8px 24px rgba(10,10,10,.06)}:root[data-theme=dark]{--bg: var(--ranker-black);--surface: #141414;--text: var(--ranker-white);--text-muted: var(--ranker-gray-light);--border: #262626}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1,h2,h3,.display{font-family:var(--font-display);font-weight:700;letter-spacing:-.01em}.app{display:grid;grid-template-columns:240px 1fr;height:100%}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:22px 16px;display:flex;flex-direction:column;gap:4px}.brand{display:flex;align-items:center;gap:10px;margin-bottom:28px;padding:0 6px}.brand img{height:26px}.brand .sub{font-family:var(--font-display);font-size:12px;color:var(--accent);letter-spacing:.04em;text-transform:uppercase}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-muted);font-size:14px;cursor:pointer}.nav-item:hover{background:#f5b80014;color:var(--text)}.nav-item.active{background:var(--accent);color:#0a0a0a;font-weight:600}.sidebar .spacer{flex:1}.user-chip{font-size:12px;color:var(--text-muted);padding:8px 12px;border-top:1px solid var(--border)}.main{overflow:auto}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:5}.topbar h1{font-size:20px;margin:0}.content{padding:28px;max-width:1100px}.btn{font-family:var(--font-body);font-size:14px;font-weight:600;padding:10px 16px;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;background:var(--accent);color:#0a0a0a}.btn:hover{filter:brightness(1.05)}.btn.ghost{background:transparent;border-color:var(--border);color:var(--text)}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.grid{display:grid;gap:16px}.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 820px){.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr 1fr}}@media (max-width: 520px){.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.input,.select,.textarea{font-family:var(--font-body);font-size:14px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.textarea{min-height:120px;resize:vertical;width:100%;display:block}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--accent);border-color:var(--accent)}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--border)}th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600}tr:hover td{background:#f5b8000a}.badge{display:inline-block;font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px}.badge.a_faire{background:#2a2a2a;color:var(--text-muted)}.badge.en_cours{background:#1f6fa82e;color:#7db8e0}.badge.relecture{background:#f5821f2e;color:#f5a15a}.badge.termine{background:#2bae662e;color:#5fd196}.badge.publie{background:var(--sem-green);color:#041a0c}.verrous{display:flex;flex-wrap:wrap;gap:8px}.verrou{display:flex;align-items:center;gap:6px;font-size:12px;padding:5px 10px;border-radius:var(--radius-sm);border:1px solid var(--border)}.verrou .dot{width:8px;height:8px;border-radius:50%}.verrou.ok .dot{background:var(--sem-green)}.verrou.ko .dot{background:var(--sem-red)}.verrou.na{opacity:.4}.verrou.na .dot{background:var(--gray-light, #C4C4C4)}.login-wrap{display:grid;place-items:center;height:100%}.login-card{width:380px}.login-card .logo{height:30px;margin-bottom:8px}.login-card .tag{color:var(--accent);font-family:var(--font-display);font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:22px}.muted{color:var(--text-muted);font-size:13px}.err{color:var(--sem-red);font-size:13px;margin-top:8px}.spinner{width:15px;height:15px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;display:inline-block;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hero-num{font-family:var(--font-display);font-size:40px;color:var(--accent);line-height:1}.rich h1{font-size:28px;margin:0 0 14px;line-height:1.2}.rich h2{font-size:20px;margin:26px 0 8px}.rich h3{font-size:16px;margin:18px 0 6px}.rich p{margin:0 0 12px}.rich ul,.rich ol{margin:0 0 14px;padding-left:22px}.rich li{margin-bottom:5px}.rich strong{color:var(--text)}.rich table{width:100%;border-collapse:collapse;margin:14px 0;font-size:14px}.rich th,.rich td{border:1px solid var(--border);padding:8px 10px;text-align:left}.rich th{background:var(--surface);font-weight:600}.rich a{color:var(--accent);text-decoration:underline}.rich[contenteditable]{cursor:text;transition:border-color .15s ease,box-shadow .15s ease}.rich[contenteditable]:hover{border-color:#f5b80066}.rich[contenteditable]:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f5b80026}.editor-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:3px;margin-bottom:10px;padding:6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);position:sticky;top:8px;z-index:4}.editor-toolbar button{font-family:var(--font-body);font-size:13px;min-width:30px;padding:6px 10px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text);cursor:pointer;transition:background .12s ease}.editor-toolbar button:hover{background:#f5b80024}.editor-toolbar button:active{background:#f5b80047}.editor-toolbar .sep{width:1px;align-self:stretch;background:var(--border);margin:2px 5px}.btn{transition:transform .13s ease,filter .15s ease,box-shadow .22s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px -10px #f5b8008c}.btn:active{transform:translateY(0) scale(.98)}.btn.ghost:hover{box-shadow:none;border-color:var(--accent);color:var(--accent)}.nav-item{transition:background .18s ease,color .18s ease,transform .13s ease}.nav-item:hover{transform:translate(3px)}.nav-item.active{transform:none}.card{transition:transform .2s ease,border-color .2s ease,box-shadow .28s ease}.tile{cursor:pointer}.tile:hover{transform:translateY(-4px);border-color:#f5b80080;box-shadow:0 18px 36px -20px #000000bf,0 0 0 1px #f5b80026}.tile:active{transform:translateY(-1px)}.verrou{transition:transform .15s ease,border-color .15s ease,background .15s ease}.verrou:hover{transform:translateY(-1px);border-color:var(--accent)}.badge{transition:transform .15s ease}.input,.select,.textarea{transition:border-color .15s ease,box-shadow .15s ease}.input:focus,.select:focus,.textarea:focus{box-shadow:0 0 0 3px #f5b80026}.brand img{transition:transform .35s cubic-bezier(.2,.7,.2,1)}.brand:hover img{transform:rotate(-4deg) scale(1.06)}@media (prefers-reduced-motion: no-preference){@keyframes rc-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes rc-fade{0%{opacity:0}to{opacity:1}}@keyframes rc-pop{0%{opacity:0;transform:scale(.85)}60%{transform:scale(1.04)}to{opacity:1;transform:none}}@keyframes rc-slide-x{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}@keyframes rc-glow{0%,to{opacity:.35;transform:scale(1)}50%{opacity:.7;transform:scale(1.15)}}@keyframes rc-sheen{0%{background-position:-180% 0}to{background-position:180% 0}}.content>*{animation:rc-rise .5s cubic-bezier(.2,.7,.2,1) both}.content>*:nth-child(2){animation-delay:.06s}.content>*:nth-child(3){animation-delay:.12s}.content>*:nth-child(4){animation-delay:.18s}.content>*:nth-child(5){animation-delay:.24s}.content>*:nth-child(n+6){animation-delay:.3s}.grid>*{animation:rc-rise .55s cubic-bezier(.2,.7,.2,1) both}.grid>*:nth-child(2){animation-delay:.05s}.grid>*:nth-child(3){animation-delay:.1s}.grid>*:nth-child(4){animation-delay:.15s}.grid>*:nth-child(5){animation-delay:.2s}.grid>*:nth-child(6){animation-delay:.25s}.verrous .verrou{animation:rc-pop .42s ease both}.verrous .verrou:nth-child(2){animation-delay:.04s}.verrous .verrou:nth-child(3){animation-delay:.08s}.verrous .verrou:nth-child(4){animation-delay:.12s}.verrous .verrou:nth-child(5){animation-delay:.16s}.verrous .verrou:nth-child(6){animation-delay:.2s}.verrous .verrou:nth-child(7){animation-delay:.24s}.verrous .verrou:nth-child(n+8){animation-delay:.28s}.brand{animation:rc-fade .6s ease both}.sidebar .nav-item{animation:rc-slide-x .45s cubic-bezier(.2,.7,.2,1) both}.sidebar .nav-item:nth-child(2){animation-delay:.04s}.sidebar .nav-item:nth-child(3){animation-delay:.08s}.sidebar .nav-item:nth-child(4){animation-delay:.12s}.sidebar .nav-item:nth-child(5){animation-delay:.16s}.sidebar .nav-item:nth-child(6){animation-delay:.2s}.sidebar .nav-item:nth-child(7){animation-delay:.24s}.login-card{animation:rc-rise .6s cubic-bezier(.2,.7,.2,1) both}.badge.termine{animation:rc-pop .4s ease both}.hero-num{position:relative}.hero-num:before{content:"";position:absolute;left:-10px;top:-6px;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle,rgba(245,184,0,.5),transparent 70%);filter:blur(6px);z-index:-1;animation:rc-glow 3.4s ease-in-out infinite}.shimmer{background:linear-gradient(100deg,var(--surface) 30%,rgba(245,184,0,.08) 50%,var(--surface) 70%);background-size:200% 100%;animation:rc-sheen 1.4s linear infinite}}
