@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:.3rem;overflow-x:auto;flex:1}.tab{display:inline-flex;align-items:center;gap:.42rem;border:none;background:none;padding:.5rem .85rem;font:inherit;font-size:.92rem;font-weight:600;color:var(--muted);border-radius:999px;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}.tab svg{flex:none}.tab:hover{background:var(--bg);color:var(--ink)}.tab.active{background:var(--accent);color:#fff}.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)}.timer-reading{color:var(--muted);font-weight:600;font-size:.9rem}.quizhead-right{display:flex;align-items:center;gap:.4rem}.examsecs{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:.6rem 0 .35rem}.examsecs-on{background:var(--ink);color:#fff;border-color:var(--ink)}.examsecs-note{font-size:.85rem;max-width:52ch}.voicebtn{background:none;border:none;cursor:pointer;font-size:1.05rem;padding:0 .2rem;line-height:1}.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}.signpost{display:flex;flex-direction:column;align-items:center;gap:5px}.signrow{display:flex;align-items:center;justify-content:center;gap:1.1rem;flex-wrap:wrap}.scenehint{font-size:.82rem;color:var(--muted);width:100%;margin:.15rem 0 0}.replaybtn{border:none;background:none;padding:0;font:inherit;font-weight:700;color:#2563eb;cursor:pointer}.replaybtn:hover{text-decoration:underline}.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-codesigns{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.7rem .9rem;margin:.4rem 0 1rem}.course-codesigns figure{margin:0;text-align:center}.course-codesigns figcaption{font-size:.72rem;font-weight:700;color:var(--accent-dark);margin-top:.2rem;font-variant-numeric:tabular-nums}.catalog-code{display:inline-block;background:var(--accent-soft);color:var(--accent-dark);border-radius:6px;padding:0 .4rem;margin-right:.45rem;font-size:.8rem;font-weight:800}.flash-sign{margin:0;text-align:center}.reviewline{margin:.6rem 0 0;font-size:.88rem}.reviewline a{color:var(--accent-dark);text-decoration:none;font-weight:600}.reviewline a:hover{text-decoration:underline}.flash-sign figcaption{margin:.35rem auto 0;width:fit-content}.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}.buy-once{font-weight:700}.buy-guarantee{color:var(--ok);font-weight:600}.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}.waitlist-fine{font-size:.78rem;color:var(--muted);margin-top:.5rem;max-width:60ch}.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.thanks{font-weight:600;color:var(--ok)}.acc-optin{display:flex;align-items:flex-start;gap:.5rem;font-size:.88rem;color:var(--muted);cursor:pointer;max-width:46ch}.acc-optin input{margin-top:.2rem;accent-color:var(--accent)}.acc-offline-unblock{margin-top:.5rem;align-self:flex-start}.admin-draftpick{font-size:.82rem;color:var(--muted);display:inline-flex;align-items:center;gap:.35rem}.admin-draftpick select{font:inherit;padding:.15rem .3rem;border:1.5px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink)}.admin-purge{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;width:100%;margin-top:.6rem;padding-top:.6rem;border-top:1px solid var(--line)}.cmp-title{margin:1.4rem 0 .5rem}.cmp{width:100%;max-width:34rem;border-collapse:collapse;font-size:.9rem}.cmp th,.cmp td{border:1.5px solid var(--line);padding:.45rem .6rem;text-align:left;vertical-align:top}.cmp thead th{font-family:var(--display)}.cmp tbody th{font-weight:600;color:var(--muted)}.cmp .cmp-pass{background:var(--surface);font-weight:700}.buy-waiver{margin:.7rem auto .5rem;text-align:left}.streakline{font-weight:700;margin:.1rem 0 .3rem}.dailydone{font-size:.82rem;color:var(--ok);font-weight:600;margin:.15rem 0 .35rem}.dash-course-bar{display:block;margin:.3rem 0 .6rem}.examplan{border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:.9rem 1.1rem;margin:1rem 0}.examplan h3,.examplan-form p{margin:0 0 .4rem}.examplan-count{margin:0 0 .4rem;font-size:1.05rem}.readiness{margin:0;padding-left:.7rem;border-left:4px solid var(--accent)}.readiness-unknown{border-left-color:var(--line);color:var(--muted)}.readiness-graves{margin:.4rem 0 0;font-weight:600}.examplan-sync{margin:0 0 .5rem;font-size:.85rem}.examplan-weak{margin:.5rem 0 0;font-size:.92rem}.examplan-weak .linkbtn{font-size:.92rem}.examplan-pass{margin:.8rem 0 0;padding-top:.7rem;border-top:1px dashed var(--line)}.examplan-pass p{margin:0 0 .3rem;max-width:60ch}.examplan-pass .btn{margin-top:.3rem}.examplan-won{font-weight:700;margin:.2rem 0 .6rem}.examplan-clear{margin:.7rem 0 0}.examplan .btnrow{margin-top:.6rem}.course-navdone{margin-left:.35rem;color:var(--ok);font-weight:800}.failcoach{border:1.5px solid var(--line);border-left:5px solid var(--accent);border-radius:var(--radius);background:var(--surface);padding:1rem 1.2rem;margin:1rem 0}.failcoach h3{margin:0 0 .35rem}.failcoach>p{color:var(--muted);margin:0 0 .6rem}.failcoach .waitlist{margin-top:.9rem;padding-top:.9rem;border-top:1px dashed var(--line)}.linkbtn{background:none;border:none;padding:0;font:inherit;font-size:.82rem;color:var(--accent);text-decoration:underline;cursor:pointer}.themebar-more{margin:.1rem 0 .25rem}.crash{min-height:60vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:.6rem;padding:2rem 1rem}.crash p{max-width:55ch;color:var(--muted);margin:0}.crash .btn{margin-top:1rem}.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:700px){.tabs{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--surface);border-top:1.5px solid var(--line);box-shadow:0 -3px 12px #1e253014;padding:.3rem .35rem calc(.3rem + env(safe-area-inset-bottom));gap:0;justify-content:space-around;overflow:visible}.tab{flex:1 1 0;flex-direction:column;gap:2px;padding:.32rem .2rem;font-size:.66rem;border-radius:12px;min-width:0}.tab svg{width:21px;height:21px}.tab.active{background:var(--accent-soft);color:var(--accent-dark)}.content,.appfooter{padding-bottom:86px}.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-halt{0%,to{transform:rotate(4deg)}50%{transform:rotate(-4deg)}}.ca-agent-halt{animation:ca-agent-halt 2.8s ease-in-out infinite;transform-box:fill-box;transform-origin:0% 100%}@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(-75deg)}14%,58%{transform:rotate(0)}68%,to{transform:rotate(-75deg)}}.ca-rail-arm{animation:ca-rail-arm 12s ease-in-out infinite;transform-box:fill-box;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}}.acc-form{max-width:420px;display:flex;flex-direction:column;gap:.9rem;margin-top:1rem}.acc-form h3{margin:0}.acc-form label{display:flex;flex-direction:column;gap:.3rem;font-weight:600;font-size:.92rem}.acc-form input{font:inherit;padding:.6rem .8rem;border:1.5px solid var(--line);border-radius:10px}.acc-form input:focus{outline:none;border-color:var(--accent)}.acc-switch{background:none;border:none;color:var(--accent);cursor:pointer;font:inherit;text-decoration:underline;padding:0;align-self:flex-start}.btn-google{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font:inherit;font-weight:600;cursor:pointer;padding:.65rem 1rem;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:#3c4043}.btn-google:hover{background:#f7f8fa;border-color:#c8ccd2}.acc-or{display:flex;align-items:center;text-align:center;color:var(--muted);font-size:.85rem}.acc-or:before,.acc-or:after{content:"";flex:1;height:1px;background:var(--line)}.acc-or span{padding:0 .8rem}.acc-error{color:#b3261e;font-weight:600}.acc-card{display:flex;flex-direction:column;gap:.8rem;align-items:flex-start;margin-top:1rem}.acc-badge{display:inline-block;margin-left:.5rem;padding:.1rem .55rem;background:var(--accent);color:#fff;border-radius:999px;font-size:.75rem;font-weight:700;vertical-align:middle}.acc-premium-yes{color:var(--ok);font-weight:700}.acc-offline{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .8rem;margin-top:1rem;padding:.8rem 1rem;max-width:420px;background:var(--surface);border:1.5px solid var(--line);border-left:4px solid var(--yellow);border-radius:10px}.acc-offline-icon{font-size:1.1rem;line-height:1}.acc-offline p{margin:0;flex:1 1 12rem;min-width:0;font-size:.92rem;font-weight:600}.acc-offline-retry{margin-top:0;padding:.45rem .9rem;font-size:.9rem}.acc-offline-still{flex-basis:100%;margin:0;font-size:.88rem;font-weight:600}.acc-checking{margin-top:.6rem}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem;margin:.8rem 0 1.4rem}.kpi-card{border:1.5px solid var(--line);border-radius:12px;padding:.9rem 1rem;background:var(--surface)}.kpi-value{font-family:var(--display);font-size:1.9rem;font-weight:800;margin:0;letter-spacing:-.02em}.kpi-label{margin:.15rem 0 0;font-size:.82rem;color:var(--muted);font-weight:600}.kpi-sub{margin:.1rem 0 0;font-size:.8rem;color:var(--muted)}.admin-cols{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}@media(max-width:700px){.admin-cols{grid-template-columns:1fr}}.admin-minis{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;margin-bottom:1.2rem}.bk{border:1.5px solid var(--line);border-radius:12px;background:var(--surface);padding:.75rem .9rem;min-width:0}.bk-title{margin:0 0 .55rem;font-size:.85rem;font-weight:700;color:var(--accent-dark)}.bk-note{margin:.2rem 0 .8rem;font-size:.85rem}.bk-empty{margin:0;font-size:.85rem}.bk-row{display:grid;grid-template-columns:minmax(0,1.2fr) 1fr 2.2rem;align-items:center;gap:.5rem;padding:.18rem 0}.bk-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem}.bk-bar{height:8px;border-radius:999px;background:var(--accent-soft);overflow:hidden}.bk-fill{display:block;height:100%;border-radius:999px;background:var(--accent)}.bk-num{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.admin-chart{display:flex;align-items:flex-end;gap:4px;margin:.8rem 0 1.4rem;padding:.6rem .4rem .4rem;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);overflow-x:auto}.admin-chart-col{flex:1 1 0;min-width:34px;display:flex;flex-direction:column;align-items:center;gap:3px}.admin-chart-val{font-size:.72rem;font-weight:700;color:var(--ink);min-height:.9rem}.admin-chart-bar{width:70%;max-width:34px;background:var(--accent);border-radius:4px 4px 0 0}.admin-chart-day{font-size:.66rem;color:var(--muted);white-space:nowrap}.admin-badge{margin-left:.6rem;background:var(--yellow-soft, #fdf3cc);border:1px solid var(--yellow, #f7c600);border-radius:999px;padding:.1rem .6rem;font-size:.78rem;font-weight:700}.admin-pending td{background:var(--yellow-soft, #fdf3cc)}.admin-review-text{max-width:380px}.admin-reply-shown{display:block;margin-top:.3rem;padding-left:.5rem;border-left:3px solid var(--yellow);color:var(--muted);font-size:.85rem}.admin-reply-row td{background:var(--bg)}.admin-reply-input{width:100%;box-sizing:border-box;margin-bottom:.4rem;padding:.45rem .6rem;border:1px solid var(--line);border-radius:8px;font:inherit}.admin-actions{white-space:nowrap}.admin-actions .btn-xs{font-size:.78rem;padding:.3rem .7rem;margin-left:.35rem}.admin-ok{color:var(--ok, #1a7f37);font-weight:700;margin-right:.3rem}.review-invite{margin-top:.9rem;font-size:1.02rem;font-weight:600}.shareline{margin:.9rem 0 0}.btn-share{border-color:var(--accent, #1d4ed8);color:var(--accent-dark, #1d4ed8);font-weight:700}.admin-table{min-width:0;width:100%}.admin-contact{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-bottom:.9rem}.admin-contact-label{font-size:.85rem;font-weight:700;color:var(--accent-dark)}.admin-contact .btn-xs{font-size:.78rem;padding:.3rem .7rem}.admin-contact a.btn{text-decoration:none}.btn-disabled{opacity:.5;pointer-events:none}.admin-contact-hint{flex-basis:100%;margin:.15rem 0 0;font-size:.78rem;color:var(--muted)}.admin-flash{flex-basis:100%;margin:.2rem 0 0;font-size:.82rem;font-weight:600;color:var(--ok, #1a7f37);overflow-wrap:anywhere}.admin-online{color:var(--ok, #1a7f37);white-space:nowrap}.admin-exam-soon{font-weight:700;color:var(--accent-dark, #1d4ed8);white-space:nowrap}.admin-table input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.admin-table td{padding:.35rem .6rem}.btn-lien{background:none;border:none;padding:0;font:inherit;cursor:pointer;color:var(--accent);text-decoration:underline;white-space:nowrap}.admin-mono{font-family:ui-monospace,Cascadia Mono,monospace;font-size:.85rem}.admin-num{text-align:right;font-weight:700}.nudge-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;background:#1e25308c;animation:nudge-in .18s ease-out}.nudge{width:min(30rem,100%);display:flex;flex-direction:column;gap:.7rem;padding:1.6rem;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center}.nudge-icon{font-size:2rem;line-height:1}.nudge h3{margin:0;font-family:var(--display);font-size:1.4rem}.nudge>p{margin:0;color:var(--muted)}.nudge-list{margin:.2rem 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.45rem;text-align:left;font-size:.95rem}.nudge-list li{display:flex;gap:.55rem;align-items:flex-start}.nudge-list li:before{content:"✓";color:var(--ok);font-weight:800}.nudge .btn-google{width:100%;margin-top:.3rem}.nudge-fine{margin:0;font-size:.82rem;color:var(--muted)}.nudge-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem;margin:0 0 1.2rem;padding:.85rem 1rem;background:var(--yellow-soft);border:1.5px solid var(--yellow);border-radius:10px}.nudge-banner p{margin:0;font-weight:600}.synced{margin:0 0 1rem;color:var(--ok);font-weight:600;font-size:.95rem}@keyframes nudge-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.nudge-backdrop{animation:none}}.car-anim{animation:car-in 1.4s cubic-bezier(.22,.65,.3,1) both}@keyframes car-in{0%{transform:translate(var(--fx),var(--fy))}to{transform:translate(0)}}.intent{animation:intent-in .5s ease both 1.3s}.intent-ants{animation:intent-in .5s ease both 1.3s,ants 1.1s linear infinite 1.8s}@keyframes intent-in{0%{opacity:0}to{opacity:.9}}@keyframes ants{to{stroke-dashoffset:-12}}.car-go{offset-distance:0%;animation:car-go 1.5s cubic-bezier(.45,.05,.55,.95) both}@keyframes car-go{0%{offset-distance:0%}to{offset-distance:100%}}.blinker{animation:blink .85s linear infinite}.blinker-fast{animation:blink .45s linear infinite}.lens-flash{animation:blink 1s linear infinite}.ring-anim{transform-origin:120px 120px;animation:ring-in 1.4s cubic-bezier(.22,.65,.3,1) both}@keyframes blink{0%,54%{opacity:1}55%,to{opacity:0}}@keyframes ring-in{0%{transform:rotate(var(--sweep))}to{transform:rotate(0)}}@media(prefers-reduced-motion:reduce){.car-anim,.intent,.intent-ants,.blinker,.blinker-fast,.lens-flash,.ring-anim,.car-go{animation:none!important}}.featrow{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:.8rem 0 1.2rem}@media(max-width:560px){.featrow{grid-template-columns:1fr}}.duebadge{display:inline-block;margin-left:.5rem;padding:.05rem .5rem;background:var(--ko);color:#fff;border-radius:999px;font-size:.78rem;font-weight:800;vertical-align:middle}.prembanner{display:block;width:100%;text-align:left;margin:1rem 0 .2rem;padding:.7rem 1rem;font:inherit;font-size:.92rem;font-weight:600;color:var(--ink);background:var(--yellow-soft);border:1.5px solid var(--yellow);border-radius:10px;cursor:pointer;transition:background .15s ease}.prembanner:hover{background:#fbe9a8}.promobox{margin:.8rem 0;padding:.7rem 1rem;font-size:.95rem;color:var(--ink);background:var(--yellow-soft);border:1.5px solid var(--yellow);border-radius:10px}.gate{display:flex;flex-direction:column;gap:.7rem;max-width:30rem}.gate-icon{font-size:2rem;line-height:1}.gate h3{margin:0;font-family:var(--display);font-size:1.4rem}.gate p{margin:0;color:var(--muted)}.gate .gate-free{color:var(--ink);font-weight:600}.gate .btnrow{margin-top:.3rem}.gate-inline{margin-top:1.2rem;padding:1.1rem 1.3rem;text-align:left;background:var(--yellow-soft);border:1.5px solid var(--yellow);border-radius:var(--radius)}.checkout-note{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;margin:0 0 1.2rem;padding:.85rem 1rem;background:var(--surface);border:1.5px solid var(--line);border-radius:10px}.checkout-note p{margin:0;font-weight:600}.checkout-ok{border-color:var(--ok);background:var(--ok-soft)}.notedismiss{background:none;border:none;font:inherit;cursor:pointer;color:var(--muted)}.review-ask{margin-top:1rem;padding:1rem 1.2rem;background:var(--surface);border:1.5px solid var(--line);border-left:5px solid var(--yellow);border-radius:var(--radius)}.review-ask h3{margin:0 0 .3rem}.review-ask>p{margin:0 0 .7rem;color:var(--muted)}.review-form{margin-top:.4rem}.review-form textarea{font:inherit;padding:.6rem .8rem;border:1.5px solid var(--line);border-radius:10px;resize:vertical}.review-form textarea:focus{outline:none;border-color:var(--accent)}.review-stars{display:flex;align-items:center;gap:.15rem}.review-stars-label{font-weight:600;font-size:.92rem;margin-right:.4rem}.star{background:none;border:none;cursor:pointer;padding:.1rem;font-size:1.5rem;line-height:1;color:var(--line);-webkit-text-stroke:1px var(--muted)}.star-on{color:var(--yellow);-webkit-text-stroke:1px var(--ink)}.review-thanks{margin-top:1rem}.pricestrike{opacity:.6;font-weight:600}.gate-promo{background:var(--yellow-soft);border:1.5px solid var(--yellow);border-radius:10px;padding:.6rem .9rem;font-size:.93rem;margin:.2rem 0 .4rem}.pricetag .pricestrike{font-size:1.05rem;font-weight:700;margin-left:.4rem}.admin-flash-warn{color:var(--ko);font-weight:700}.promofix{background:var(--ok-soft);border:1.5px solid #b7e0c2;border-radius:10px;padding:.6rem .9rem;font-size:.92rem;margin:.2rem 0 .6rem;color:var(--ink)}.examlevel-tag{display:inline-block;margin-left:.5rem;padding:.08rem .5rem;font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#6b5400;background:var(--yellow-soft);border-radius:999px;vertical-align:middle}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.examchart-legend{font-size:.82rem;margin:0 0 .5rem}.examcol-bar-relaxed{opacity:.55;outline:2px dashed var(--muted);outline-offset:-2px}
