:root{--bg: #f4f1ff;--bg2: #ffe9f3;--fg: #272043;--muted: #6f6a8c;--card: #ffffff;--line: #e6e1fb;--primary: #6c4cf5;--primary2: #ff5ca8;--ok: #12b76a;--ko: #f04438;--warn: #f79009;--shadow: 0 6px 20px rgba(108, 76, 245, .12);--radius: 20px;--c-french: #ff6b8b;--c-math: #4c8bf5;--c-english: #12b6a6;--c-physics_chemistry: #8b5cf6;--c-svt: #34c759;--c-italian: #ff9f1c;--c-history_geography: #c2410c;--c-default: #6c4cf5}@media(prefers-color-scheme:dark){:root{--bg: #17132b;--bg2: #241338;--fg: #f1efff;--muted: #a39fc2;--card: #221d3d;--line: #382f63;--shadow: 0 6px 20px rgba(0,0,0,.35)}}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--fg);font:18px/1.5 ui-rounded,Nunito,Quicksand,Segoe UI,system-ui,sans-serif;background:radial-gradient(1200px 500px at 85% -10%,var(--bg2),transparent 60%),var(--bg)}main{max-width:820px;margin:0 auto;padding:20px 16px 60px}h1{font-size:1.9rem;line-height:1.2;margin:.6rem 0 1rem;letter-spacing:-.01em}h2{font-size:1.25rem;margin:1.6rem 0 .6rem}a{color:var(--primary);font-weight:600}nav{position:sticky;top:0;z-index:10;display:flex;gap:6px 16px;align-items:center;flex-wrap:wrap;padding:10px 18px;color:#fff;background:linear-gradient(100deg,var(--primary),var(--primary2));box-shadow:0 4px 18px #6c4cf559}nav a{color:#fff;text-decoration:none;font-weight:700;padding:6px 12px;border-radius:99px;opacity:.92}nav a:hover,nav a.router-link-exact-active{background:#ffffff38;opacity:1}nav .brand{font-size:1.3rem;padding-left:0}nav .spacer{flex:1}nav .muted{color:#ffffffd9;font-size:.9rem}nav button.secondary{color:#fff;border-color:#ffffffb3;padding:6px 14px}nav button.secondary:hover{background:#fff3}.card{background:var(--card);border:2px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:14px;box-shadow:var(--shadow)}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.tile{--c: var(--c-default);display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;color:#fff;background:linear-gradient(145deg,var(--c),color-mix(in srgb,var(--c) 65%,#fff));border:0;text-align:center;font-weight:800;font-size:1.15rem;padding:26px 12px;margin:0;transition:transform .15s ease,box-shadow .15s ease}.tile:hover{transform:translateY(-4px) rotate(-1deg);box-shadow:0 12px 26px color-mix(in srgb,var(--c) 45%,transparent)}.tile .emoji{font-size:2.8rem;line-height:1;filter:drop-shadow(0 3px 4px rgba(0,0,0,.2))}button,.btn{font:inherit;font-weight:800;padding:11px 22px;border-radius:99px;border:0;cursor:pointer;text-decoration:none;display:inline-block;color:#fff;background:linear-gradient(100deg,var(--primary),var(--primary2));box-shadow:0 4px #00000024;transition:transform .1s ease,filter .1s ease}button:hover,.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}button:active,.btn:active{transform:translateY(2px);box-shadow:none}button.secondary,.btn.secondary{background:transparent;color:var(--primary);border:2px solid var(--primary);box-shadow:none}button.danger{background:var(--ko)}button:disabled{opacity:.5;cursor:default;transform:none}textarea{font:inherit;width:100%;padding:11px 14px;border-radius:14px;border:2px solid var(--line);background:var(--card);color:var(--fg);resize:vertical}textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #6c4cf52e}input,select{font:inherit;padding:11px 14px;border-radius:14px;border:2px solid var(--line);background:var(--card);color:var(--fg);width:100%;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #6c4cf52e}label{display:block;margin:12px 0 4px;color:var(--muted);font-size:.9rem;font-weight:700}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row>input{flex:1;min-width:160px;width:auto}.muted{color:var(--muted)}.error{color:var(--ko);font-weight:700}.badge{font-size:.75rem;font-weight:800;padding:3px 10px;border-radius:99px;background:#fff3d6;color:#a15c00}.progress{height:12px;border-radius:99px;background:var(--line);overflow:hidden;margin:0 0 16px}.progress>div{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary2));border-radius:99px;transition:width .3s ease}.qnum{display:inline-grid;place-items:center;width:34px;height:34px;margin-right:8px;border-radius:50%;color:#fff;font-weight:800;background:linear-gradient(135deg,var(--primary),var(--primary2))}.choice{display:flex;gap:12px;align-items:center;padding:12px 14px;margin:8px 0;border:2px solid var(--line);border-radius:16px;cursor:pointer;transition:all .12s ease}.choice:hover{border-color:var(--primary);transform:translate(3px)}.choice:has(input:checked){border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);font-weight:700}.choice input{width:20px;height:20px;accent-color:var(--primary)}.ok{color:var(--ok)}.ko{color:var(--ko)}.score{text-align:center;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 14%,var(--card)),color-mix(in srgb,var(--primary2) 14%,var(--card)))}.score .big{font-size:3.2rem;line-height:1.1}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:10px 8px;border-bottom:2px solid var(--line)}th{color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}@media(max-width:520px){body{font-size:17px}h1{font-size:1.6rem}nav .muted{display:none}}.zonescroll{overflow-x:auto;border-radius:16px;border:2px solid var(--line);background:#fff}.zonebox{position:relative;min-width:680px;line-height:0}.zonebox img{width:100%;display:block;-webkit-user-select:none;user-select:none}.zonebox.editing{cursor:crosshair}.zone{position:absolute;transform:translate(-50%,-50%);width:auto;field-sizing:content;min-width:110px;max-width:260px;padding:3px 6px;font-size:.8rem;font-weight:800;text-align:center;border-radius:8px;border:2px solid;background:#ffffffed;box-shadow:0 2px 6px #00000026}.zone.ok{background:#dcfce7}.zone.ko{background:#fee2e2}.zexp{position:absolute;transform:translate(-50%);font-size:.75rem;font-weight:800;line-height:1.2;color:#fff;background:var(--ok);padding:1px 8px;border-radius:99px;white-space:nowrap}.zmark{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:2px solid;background:#fff;font-size:.75rem;font-weight:800;line-height:1;cursor:pointer}.zmark.sel{background:#fde68a;outline:3px solid var(--primary)}.zlegend{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}.zchip{font-size:.8rem;font-weight:800;padding:2px 10px;border-radius:99px;border:2px solid;background:var(--card)}.zlist{display:grid;grid-template-columns:28px 1fr 1fr auto;gap:8px;align-items:center;margin:6px 0}@supports not (field-sizing: content){.zone{width:190px}}.auth{display:grid;grid-template-columns:1.15fr 1fr;min-height:100vh}.hero{position:relative;overflow:hidden;color:#fff;padding:36px 40px;display:flex;align-items:center;background:radial-gradient(900px 500px at 10% 0%,rgba(255,255,255,.18),transparent 60%),linear-gradient(145deg,#5b3df0,#b14cf0 55%,#ff5ca8)}.hero-in{position:relative;z-index:1;max-width:560px}.hero .logo{font-size:1.6rem;font-weight:900;margin-bottom:18px}.hero .pill{display:inline-block;background:#fff3;border:1px solid rgba(255,255,255,.35);padding:4px 14px;border-radius:99px;font-weight:800;font-size:.8rem;letter-spacing:.03em}.hero h1{font-size:2.7rem;line-height:1.1;margin:16px 0 12px;letter-spacing:-.02em}.hero .lead{font-size:1.15rem;opacity:.95;margin:0 0 22px}.features{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:10px}.features li{display:flex;gap:14px;align-items:center;background:#ffffff24;border:1px solid rgba(255,255,255,.25);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:18px;padding:10px 14px;transition:transform .15s}.features li:hover{transform:translate(6px)}.features .ficon{font-size:1.8rem;width:44px;height:44px;display:grid;place-items:center;background:#ffffff38;border-radius:14px;flex:none}.features strong{display:block;font-size:1rem}.features span:not(.ficon){display:block;font-size:.85rem;opacity:.9;line-height:1.3}.hero .subjects{font-weight:700;font-size:.85rem;opacity:.9}.float{position:absolute;font-size:3.2rem;opacity:.25;animation:bob 7s ease-in-out infinite;-webkit-user-select:none;user-select:none}.float.f1{top:8%;right:10%}.float.f2{bottom:12%;right:6%;animation-delay:-2s}.float.f3{bottom:6%;left:42%;animation-delay:-4s}.float.f4{top:40%;right:30%;animation-delay:-1s;font-size:2.4rem}@keyframes bob{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-14px) rotate(6deg)}}@media(prefers-reduced-motion:reduce){.float{animation:none}.features li{transition:none}}.panel{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px 20px;gap:12px}.langs{align-self:flex-end;display:flex;gap:6px}.langs button{padding:4px 12px;font-size:.8rem;background:var(--card);color:var(--muted);box-shadow:none;border:2px solid var(--line)}.langs button.on{background:var(--primary);color:#fff;border-color:var(--primary)}.authcard{width:100%;max-width:430px;margin:0;padding:22px}.authcard h2{margin:.2rem 0;font-size:1.5rem}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--bg);padding:5px;border-radius:99px;margin-bottom:14px}.tabs button{background:transparent;color:var(--muted);box-shadow:none;padding:9px 8px;font-size:.95rem}.tabs button.on{background:var(--card);color:var(--primary);box-shadow:0 2px 8px #6c4cf533}button.wide{width:100%;padding:13px;font-size:1.05rem}.center{text-align:center}small.muted{display:block;font-size:.75rem;margin-top:2px}@media(max-width:860px){.auth{grid-template-columns:1fr}.hero{padding:24px 20px}.hero h1{font-size:2rem}.features li:nth-child(n+4){display:none}.float{display:none}.panel{order:-1;padding-bottom:0}}
