@font-face{font-family:Outfit;src:url(/fonts/outfit-latin-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Outfit;src:url(/fonts/outfit-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Outfit;src:url(/fonts/outfit-latin-800-normal.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}:root{--bg: #faf8f2;--surface: #ffffff;--ink: #1e2530;--muted: #5d6472;--line: #e9e4d6;--accent: #1d4ed8;--accent-dark: #1a3fae;--accent-soft: #e8effd;--yellow: #f7c600;--yellow-soft: #fdf3cc;--ok: #1a7f37;--ok-soft: #e6f4ea;--ko: #b42318;--ko-soft: #fdecea;--radius: 14px;--shadow: 0 1px 2px rgba(30, 37, 48, .06), 0 2px 6px rgba(30, 37, 48, .08);--display: "Outfit", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2,h3{line-height:1.25;font-family:var(--display);font-weight:800;letter-spacing:-.02em}h2{font-size:1.55rem;margin:0 0 .75rem}h3{font-size:1.1rem;margin:1.75rem 0 .75rem}p{margin:.4rem 0}a{color:var(--accent)}.shell{min-height:100vh;display:flex;flex-direction:column}.content{flex:1;width:100%;max-width:960px;margin:0 auto;padding:1.5rem 1rem 3rem}.topbar{display:flex;align-items:center;gap:1rem;padding:.6rem 1rem;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.topbar:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:3px;background:repeating-linear-gradient(90deg,var(--yellow) 0 20px,transparent 20px 34px);opacity:.85;pointer-events:none}.brand{display:flex;align-items:center;gap:.5rem;font-family:var(--display);font-weight:800;font-size:1.1rem;color:var(--ink);text-decoration:none;letter-spacing:-.02em}.tabs{display:flex;gap:.25rem;overflow-x:auto;flex:1}.tab{border:none;background:none;padding:.45rem .7rem;font:inherit;font-size:.92rem;font-weight:600;color:var(--muted);border-radius:8px;cursor:pointer;white-space:nowrap}.tab:hover{background:var(--bg);color:var(--ink)}.tab.active{background:var(--accent-soft);color:var(--accent-dark)}.langbtn{border:1px solid var(--line);background:var(--surface);font:inherit;font-size:.85rem;font-weight:700;padding:.35rem .65rem;border-radius:8px;cursor:pointer;color:var(--ink)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}.panel.center{text-align:center}.lead{color:var(--muted);max-width:60ch}.muted{color:var(--muted);font-size:.9rem;font-weight:400}.empty{color:var(--muted);background:var(--bg);border-radius:8px;padding:1rem}.btn{display:inline-block;margin-top:.75rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-weight:600;font-size:.95rem;padding:.6rem 1.1rem;border-radius:10px;cursor:pointer}.btn:hover{border-color:var(--accent);color:var(--accent-dark)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dark);color:#fff}.btn-ghost{border:none;background:none;color:var(--muted);margin-top:0}.btnrow{display:flex;gap:.75rem;flex-wrap:wrap}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem;margin:1rem 0}.card{border:1.5px solid var(--line);border-radius:var(--radius);padding:1.1rem;background:var(--surface);transition:transform .15s,border-color .15s}.card:hover{transform:translateY(-2px)}.card h3{margin:0 0 .3rem}.card-cta{background:var(--accent-soft);border-color:#c9d9f8}.bignum{font-family:var(--display);font-size:2.1rem;font-weight:800;margin:0;letter-spacing:-.02em}.themebars{display:flex;flex-direction:column;gap:.55rem}.themebar{display:grid;grid-template-columns:minmax(140px,220px) 1fr 56px;align-items:center;gap:.75rem}.themebar-label{font-size:.9rem}.themebar-value{font-size:.85rem;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.bar{display:block;height:10px;background:var(--bg);border-radius:5px;overflow:hidden;border:1px solid var(--line)}.bar-fill{display:block;height:100%;background:var(--accent);border-radius:5px 4px 4px 5px;min-width:2px}.examchart{position:relative;display:flex;align-items:flex-end;gap:10px;height:150px;padding:.5rem .75rem 1.6rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.examchart-threshold{position:absolute;left:0;right:0;border-top:2px dashed var(--yellow);z-index:1}.examchart-threshold span{position:absolute;right:6px;top:-1.35em;font-size:.72rem;font-weight:700;color:#8a6d00}.examcol{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;width:34px}.examcol-value{font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums}.examcol-bar{width:16px;background:var(--accent);border-radius:4px 4px 0 0;min-height:3px}.examcol-bar-failed{background:repeating-linear-gradient(135deg,#667085 0,#667085 4px,#d3d9e1 4px,#d3d9e1 8px)}.examcol-mark{position:absolute;bottom:-1.35rem;font-size:.8rem;font-weight:700}.quizhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.timer{font-weight:700;font-variant-numeric:tabular-nums}.timer-low{color:var(--ko)}.timebar{height:6px;background:var(--bg);border-radius:3px;overflow:hidden;margin-bottom:1rem}.timebar-fill{height:100%;background:var(--yellow);transition:width 1s linear}.timeoutnotice{background:#fff3cd;border:1px solid #ffe08a;color:#7a5900;border-radius:10px;padding:.6rem .9rem;font-size:.9rem;font-weight:600}.youranswer{font-weight:600}.qcard{margin:.5rem 0 1rem}.qtext{margin:.5rem 0 .75rem;font-size:1.15rem}.qmedia{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin:.75rem 0 1rem}.qmedia svg{flex-shrink:0}.scene{width:240px;max-width:100%;height:auto;border-radius:12px}.scenehint{font-size:.82rem;color:var(--muted);width:100%;margin:.15rem 0 0}.badge{display:inline-block;font-size:.78rem;font-weight:700;padding:.2rem .6rem;border-radius:999px}.badge-grave{background:#fff3cd;color:#7a5900;border:1px solid #ffe08a}.opts{display:flex;flex-direction:column;gap:.5rem}.opt{display:flex;align-items:center;gap:.75rem;text-align:left;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:.98rem;padding:.7rem .9rem;border-radius:10px;cursor:pointer}.opt:hover:not(:disabled){border-color:var(--accent)}.opt:disabled{cursor:default}.optletter{flex-shrink:0;width:1.7rem;height:1.7rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--bg);font-weight:700;font-size:.85rem}.optmark{margin-left:auto;font-weight:800;font-size:1.05rem}.opt-selected{border-color:var(--accent);background:var(--accent-soft)}.opt-selected .optletter{background:var(--accent);color:#fff}.opt-correct{border-color:var(--ok);background:var(--ok-soft)}.opt-correct .optmark{color:var(--ok)}.opt-wrong{border-color:var(--ko);background:var(--ko-soft)}.opt-wrong .optmark{color:var(--ko)}.expl{margin-top:1rem;padding:.9rem 1rem;border-radius:10px;border:1px solid var(--line);background:var(--bg)}.expl-ok{border-left:4px solid var(--ok)}.expl-ko{border-left:4px solid var(--ko)}.explverdict{font-weight:700;margin-top:0}.explref{font-size:.8rem;color:var(--muted);margin-bottom:0}.verdict{display:flex;gap:1rem;align-items:flex-start;border-radius:var(--radius);padding:1.25rem;margin-bottom:1.25rem}.verdict h2{margin:0}.verdict-ok{background:var(--ok-soft);border:1px solid #b7e0c3}.verdict-ko{background:var(--ko-soft);border:1px solid #f4c4bd}.verdicticon{font-size:1.9rem;font-weight:800;line-height:1}.verdict-ok .verdicticon{color:var(--ok)}.verdict-ko .verdicticon{color:var(--ko)}.verdictscore{font-size:1.05rem}.gravefail{font-weight:600;color:var(--ko)}.faultlist{display:flex;flex-direction:column;gap:1.5rem;margin-top:1rem}.faultlist .qcard{border-top:1px solid var(--line);padding-top:1.25rem;margin:0}.themegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.9rem;margin-top:1rem}.themecard{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:1rem;font:inherit;text-align:left;cursor:pointer;color:var(--ink);transition:transform .15s,border-color .15s,box-shadow .15s}.themecard:hover{border-color:var(--yellow);box-shadow:var(--shadow);transform:translateY(-3px)}.themecard .bar{width:100%;height:7px;margin-top:.35rem}.themeicon{width:40px;height:40px;border-radius:11px;background:var(--yellow-soft);display:flex;align-items:center;justify-content:center;font-size:1.15rem;color:var(--accent-dark);font-weight:800}.themename{font-weight:700;font-family:var(--display)}.premium-banner{display:inline-block;background:#e6f4ea;color:var(--ok);border:1px solid #b7e0c3;border-radius:999px;padding:.3rem .9rem;font-size:.85rem;font-weight:700}.course-layout{display:grid;grid-template-columns:250px 1fr;gap:1.5rem;margin-top:1.25rem;align-items:start}.course-nav{display:flex;flex-direction:column;gap:.2rem;position:sticky;top:70px}.course-navitem{display:flex;align-items:center;gap:.55rem;text-align:left;border:none;background:none;font:inherit;font-size:.9rem;font-weight:600;color:var(--muted);padding:.5rem .65rem;border-radius:8px;cursor:pointer}.course-navitem:hover{background:var(--bg);color:var(--ink)}.course-navitem.active{background:var(--accent-soft);color:var(--accent-dark)}.course-navnum{flex-shrink:0;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--bg);display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800}.course-navitem.active .course-navnum{background:var(--accent);color:#fff}.course-content{min-width:0}.course-title{margin-top:0;font-size:1.3rem}.course-h{margin:1.5rem 0 .5rem;font-size:1.02rem;color:var(--accent-dark)}.course-p{max-width:70ch}.course-ul{padding-left:1.2rem;max-width:75ch}.course-ul li{margin-bottom:.4rem;font-size:.95rem}.course-tablewrap{overflow-x:auto;margin:.75rem 0}.course-table{border-collapse:collapse;font-size:.92rem;min-width:380px}.course-table th,.course-table td{border-bottom:1px solid var(--line);padding:.5rem .9rem;text-align:left}.course-table th{background:var(--accent-soft);color:var(--accent-dark)}.course-signs{display:flex;flex-wrap:wrap;gap:1rem;margin:.9rem 0}.course-signs figure{margin:0;width:108px;text-align:center}.course-signs figcaption{font-size:.72rem;color:var(--muted);margin-top:.3rem;line-height:1.3}.course-scene{margin:1rem 0}.course-scene figcaption{font-size:.82rem;color:var(--muted);margin-top:.35rem}.course-tip{background:var(--accent-soft);border-radius:10px;padding:.75rem 1rem;font-size:.93rem;max-width:75ch}.course-trap{background:#fff3cd;border:1px solid #ffe08a;border-radius:10px;padding:.75rem 1rem;font-size:.93rem;max-width:75ch}.catalog-search{width:100%;max-width:440px;font:inherit;padding:.6rem .9rem;border:1.5px solid var(--line);border-radius:10px;margin-bottom:.5rem}.catalog-search:focus{outline:none;border-color:var(--accent)}.catalog-family{margin-bottom:.75rem}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:.75rem;margin-top:.75rem}.catalog-card{display:flex;gap:.85rem;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:.8rem;background:var(--surface)}.catalog-card img{flex-shrink:0}.catalog-name{margin:0 0 .25rem;font-weight:700;font-size:.9rem;line-height:1.3}.catalog-rule{margin:0;font-size:.84rem;color:var(--muted);line-height:1.45}.flashcard{display:flex;gap:.9rem;align-items:center;text-align:left;width:100%;border:1.5px solid var(--accent);border-radius:var(--radius);background:var(--accent-soft);padding:1rem 1.2rem;font:inherit;cursor:pointer;color:var(--ink);margin-top:1rem}.flashcard:hover{box-shadow:var(--shadow)}@media(max-width:760px){.course-layout{grid-template-columns:1fr}.course-nav{position:static;flex-direction:row;flex-wrap:wrap}}.pricecard{border:1.5px solid var(--accent);border-radius:var(--radius);padding:1.5rem;margin:1rem 0;background:var(--surface);max-width:480px}.pricefree{font-weight:700;color:var(--ok)}.pricetag{font-family:var(--display);font-size:2.4rem;font-weight:800;margin:.4rem 0;letter-spacing:-.02em}.waitlist label{font-weight:600}.waitrow{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.waitrow input{flex:1;min-width:220px;font:inherit;padding:.6rem .8rem;border:1.5px solid var(--line);border-radius:10px}.waitrow input:focus{outline:none;border-color:var(--accent)}.waitrow .btn{margin-top:0}.thanks{font-weight:600;color:var(--ok)}.appfooter{border-top:1px solid var(--line);background:var(--surface);padding:1.25rem 1rem 2rem;text-align:center}.disclaimer{font-size:.8rem;color:var(--muted);max-width:70ch;margin:0 auto .6rem}.footlinks{display:flex;gap:1.1rem;justify-content:center;flex-wrap:wrap;font-size:.85rem}.footlinks a{color:var(--muted);text-decoration:none}.footlinks a:hover{color:var(--accent);text-decoration:underline}@media(max-width:640px){.topbar{flex-wrap:wrap}.tabs{order:3;width:100%}.themebar{grid-template-columns:110px 1fr 48px}.themebar-label{font-size:.8rem}.panel{padding:1.1rem}}.chapter-art{margin:.2rem 0 1.2rem}.chapter-art svg{display:block;width:100%;height:auto;max-height:160px;border-radius:14px;border:1px solid var(--line);background:linear-gradient(180deg,#eef2fb,#f6f4ec);font-family:Outfit,system-ui,sans-serif}.chapter-art svg *{transform-box:fill-box}@keyframes ca-tl-red{0%,55%{opacity:.14}60%,to{opacity:1}}@keyframes ca-tl-amber{0%,42%{opacity:.14}46%,55%{opacity:1}60%,to{opacity:.14}}@keyframes ca-tl-green{0%,3%{opacity:.14}6%,42%{opacity:1}46%,to{opacity:.14}}.ca-tl-red{animation:ca-tl-red 6s infinite}.ca-tl-amber{animation:ca-tl-amber 6s infinite}.ca-tl-green{animation:ca-tl-green 6s infinite}@keyframes ca-agent-arm{0%,to{transform:rotate(0)}50%{transform:rotate(-7deg)}}.ca-agent-arm{animation:ca-agent-arm 2.4s ease-in-out infinite;transform-origin:20% 90%}@keyframes ca-voc{0%,4%{opacity:0}10%,26%{opacity:1}33%,to{opacity:0}}.ca-voc-z1{opacity:0;animation:ca-voc 7.5s infinite}.ca-voc-z2{opacity:0;animation:ca-voc 7.5s infinite 2.5s}.ca-voc-z3{opacity:0;animation:ca-voc 7.5s infinite 5s}@keyframes ca-pri-yellow{0%,12%{transform:translate(0);opacity:1}40%{transform:translateY(-165px);opacity:1}42%,to{transform:translateY(-165px);opacity:0}}.ca-pri-yellow{animation:ca-pri-yellow 8s linear infinite}@keyframes ca-pri-blue{0%{transform:translate(-190px);opacity:1}16%,48%{transform:translate(0);opacity:1}76%{transform:translate(430px);opacity:1}78%,to{transform:translate(430px);opacity:0}}.ca-pri-blue{animation:ca-pri-blue 8s ease-in-out infinite}@keyframes ca-vit-car{0%{transform:translate(-80px);opacity:1}34%{transform:translate(215px);animation-timing-function:linear;opacity:1}48%{transform:translate(305px);animation-timing-function:ease-out;opacity:1}72%,90%{transform:translate(360px);opacity:1}96%,to{transform:translate(360px);opacity:0}}.ca-vit-car{animation:ca-vit-car 7s linear infinite}@keyframes ca-vit-react{0%,34%{transform:scaleX(0);opacity:1}48%,90%{transform:scaleX(1);opacity:1}96%,to{transform:scaleX(1);opacity:0}}rect.ca-vit-react{animation:ca-vit-react 7s linear infinite;transform-origin:0 50%}@keyframes ca-vit-brake{0%,48%{transform:scaleX(0);opacity:1}72%,90%{transform:scaleX(1);opacity:1}96%,to{transform:scaleX(1);opacity:0}}rect.ca-vit-brake{animation:ca-vit-brake 7s ease-out infinite;transform-origin:0 50%}@keyframes ca-vit-label{0%,40%{opacity:0}52%,90%{opacity:1}96%,to{opacity:0}}text.ca-vit-react,text.ca-vit-brake{animation:ca-vit-label 7s linear infinite}@keyframes ca-dep-fast{0%{transform:translate(-90px)}16%{transform:translate(40px)}30%{transform:translate(120px,-34px)}55%{transform:translate(330px,-34px)}70%{transform:translate(430px)}to{transform:translate(700px)}}.ca-dep-fast{animation:ca-dep-fast 7.5s linear infinite}@keyframes ca-dep-slow{0%{transform:translate(0)}to{transform:translate(150px)}}.ca-dep-slow{animation:ca-dep-slow 7.5s linear infinite}@keyframes ca-sta-car{0%{transform:translate(-330px) rotate(0);opacity:1}24%,32%{transform:translate(60px) rotate(0);opacity:1}48%{transform:translate(8px,18px) rotate(-16deg);opacity:1}62%,88%{transform:translate(-10px,34px) rotate(0);opacity:1}94%,to{transform:translate(-10px,34px) rotate(0);opacity:0}}.ca-sta-car{animation:ca-sta-car 9s ease-in-out infinite}@keyframes ca-aut-flow{0%{transform:translate(-60px)}to{transform:translate(720px)}}.ca-aut-flow1{animation:ca-aut-flow 5s linear infinite}.ca-aut-flow2{animation:ca-aut-flow 5s linear infinite 2.6s;transform:translate(-60px)}@keyframes ca-aut-merge{0%{transform:translate(30px,118px) rotate(-10deg)}34%{transform:translate(255px,96px) rotate(-10deg)}46%{transform:translate(320px,73px) rotate(0)}to{transform:translate(720px,73px) rotate(0)}}.ca-aut-merge{animation:ca-aut-merge 6.5s linear infinite}@keyframes ca-usa-pieton{0%{transform:translate(0);opacity:0}6%{opacity:1}62%{transform:translateY(-104px);opacity:1}68%,to{transform:translateY(-104px);opacity:0}}.ca-usa-pieton{animation:ca-usa-pieton 7s linear infinite}@keyframes ca-etat-ring{0%{transform:translate(0) scale(1.25);opacity:.4}6%,27%{transform:translate(0) scale(1);opacity:1}33%{transform:translate(160px) scale(1.25);opacity:.4}39%,60%{transform:translate(160px) scale(1);opacity:1}66%{transform:translate(320px) scale(1.25);opacity:.4}72%,94%{transform:translate(320px) scale(1);opacity:1}to{transform:translate(320px) scale(1);opacity:0}}.ca-etat-ring{animation:ca-etat-ring 8s ease-in-out infinite}@keyframes ca-rail-light{0%,45%{opacity:1}50%,95%{opacity:.12}to{opacity:1}}.ca-rail-light{animation:ca-rail-light 1s infinite}@keyframes ca-rail-arm{0%,6%{transform:rotate(-64deg)}14%,58%{transform:rotate(0)}68%,to{transform:rotate(-64deg)}}.ca-rail-arm{animation:ca-rail-arm 12s ease-in-out infinite;transform-origin:4px 50%}@keyframes ca-rail-train{0%,20%{transform:translate(0);opacity:1}52%{transform:translate(-950px);opacity:1}53%,to{transform:translate(-950px);opacity:0}}.ca-rail-train{animation:ca-rail-train 12s ease-in infinite}@keyframes ca-veh-needle{0%{transform:rotate(-78deg)}to{transform:rotate(64deg)}}.ca-veh-needle{animation:ca-veh-needle 3.4s ease-in-out infinite alternate;transform-origin:50% 100%}@keyframes ca-veh-tell{0%,20%{opacity:.18}30%,70%{opacity:1}80%,to{opacity:.18}}.ca-veh-tell1{animation:ca-veh-tell 4.8s infinite}.ca-veh-tell2{animation:ca-veh-tell 4.8s infinite 1.6s}.ca-veh-tell3{animation:ca-veh-tell 4.8s infinite 3.2s}@keyframes ca-chg-road{0%{transform:translate(0)}to{transform:translate(-80px)}}.ca-chg-road{animation:ca-chg-road .9s linear infinite}@keyframes ca-chg-bob{0%,to{transform:translate(0)}50%{transform:translateY(-2px)}}.ca-chg-bob{animation:ca-chg-bob 1.3s ease-in-out infinite}@keyframes ca-chg-flag{0%,to{transform:skew(0)}50%{transform:skew(-8deg)}}.ca-chg-flag{animation:ca-chg-flag .7s ease-in-out infinite;transform-origin:0% 100%}@keyframes ca-inf-car{0%{transform:translate(-90px);opacity:1}42%{transform:translate(700px);opacity:1}43%,to{transform:translate(700px);opacity:0}}.ca-inf-car{animation:ca-inf-car 6.5s linear infinite}@keyframes ca-inf-flash{0%,24%{opacity:0}26.5%{opacity:.75}30%,to{opacity:0}}.ca-inf-flash{animation:ca-inf-flash 6.5s linear infinite;opacity:0;pointer-events:none}@keyframes ca-inf-lens{0%,24%{opacity:0}26.5%{opacity:1}30%,to{opacity:0}}.ca-inf-lens{animation:ca-inf-lens 6.5s linear infinite;opacity:0}@keyframes ca-inf-pv{0%,28%{transform:scale(0);opacity:0}35%{transform:scale(1.12);opacity:1}40%,94%{transform:scale(1);opacity:1}99%,to{transform:scale(1);opacity:0}}.ca-inf-pv{animation:ca-inf-pv 6.5s ease-out infinite;transform-origin:50% 50%}@media(prefers-reduced-motion:reduce){.chapter-art *{animation:none!important;opacity:1!important}}
