:root{color-scheme:dark;--bg:#101815;--panel:#19231e;--panel2:#202e26;--line:#334239;--ink:#f1f0df;--muted:#a5b3a7;--accent:#d7f99a;--accentink:#202e19;--orange:#f2bb85;--danger:#ffb2a7;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,input,a{touch-action:manipulation}button,input,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--orange);outline-offset:4px}a{color:var(--accent);text-underline-offset:4px}button{min-height:48px}input{font-size:16px}h1,h2,h3,p{margin:0}h1{font-size:clamp(38px,5vw,64px);line-height:1.04;letter-spacing:-2.5px;font-weight:600}h2{font-size:28px;letter-spacing:-.8px;font-weight:550}h3{font-size:19px;font-weight:550;line-height:1.35}p{line-height:1.6}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:650;color:var(--muted)}.shell{max-width:1200px;margin:auto;padding:0 36px}.header{height:96px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;gap:10px;align-items:center;background:none;font-size:24px;letter-spacing:-1px;font-weight:650}.brandmark{display:grid;place-items:center;background:var(--accent);color:var(--accentink);border-radius:12px;width:38px;height:38px;font-size:25px}.brand small{font-size:11px;letter-spacing:1px;text-transform:uppercase;font-weight:500;margin-left:9px;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:15px}.pill{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;background:var(--panel2);border:1px solid var(--line);border-radius:30px;font-size:12px}.textbutton{background:transparent;color:var(--muted);padding:8px}.nav{display:flex;gap:7px;padding:20px 0 28px;overflow:auto;scrollbar-width:none}.nav button{background:transparent;color:var(--muted);border-radius:30px;padding:10px 19px;white-space:nowrap;font-size:13px;min-height:42px}.nav button.active{background:var(--accent);color:var(--accentink);font-weight:650}.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:30px;align-items:center;padding:24px 0 34px}.hero h1{margin:15px 0 18px;max-width:650px}.hero h1 em{font-family:Georgia,serif;color:var(--accent);font-weight:400}.hero p{max-width:480px;color:var(--muted);font-size:15px}.dedication{font-size:12px;color:var(--muted);margin-top:20px}.roadart{width:100%;height:240px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:15px;padding:15px 23px;border-radius:12px;font-weight:600;font-size:14px;min-height:52px}.primary{background:var(--accent);color:var(--accentink)}.secondary{background:var(--panel2);border:1px solid var(--line)}.hero .primary{margin-top:23px}.dashboard{display:grid;grid-template-columns:1fr 310px;gap:22px}.card{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:25px}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0 20px}.sectionhead h2{font-size:23px}.topicgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.topic{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:19px;text-align:left;display:flex;gap:15px;align-items:center;transition:background .15s,transform .15s}.topic:hover{background:var(--panel2);transform:translateY(-2px)}.topicicon{display:grid;place-items:center;width:43px;height:43px;background:var(--panel2);border-radius:12px;color:var(--accent);font-size:24px;flex-shrink:0}.topicbody{flex:1;min-width:0}.topic h3{font-size:14px;margin-bottom:5px}.topic small{font-size:11px;color:var(--muted)}.bar{height:4px;background:var(--line);border-radius:10px;overflow:hidden;margin-top:12px}.bar i{display:block;height:100%;background:var(--accent);width:var(--progress,0%)}.readiness{display:flex;justify-content:center;margin:20px 0}.ring{width:156px;height:156px;border-radius:50%;background:conic-gradient(var(--accent) var(--progress,0%),var(--line) 0);display:grid;place-items:center}.ring>div{width:134px;height:134px;border-radius:50%;background:var(--panel);display:flex;flex-direction:column;justify-content:center;align-items:center}.ring strong{font-size:40px;letter-spacing:-2px;font-weight:500}.ring small{font-size:11px;color:var(--muted);margin-top:4px}.readiness-copy{text-align:center;font-size:13px;color:var(--muted)}.statline{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--line);font-size:12px}.sidebar .card+.card{margin-top:16px}.examcard{background:var(--accent);color:var(--accentink)}.examcard .eyebrow{color:#4f613b}.examcard h3{font-size:26px;margin:12px 0}.examcard p{font-size:13px;color:#4d5f3c}.examcard button{background:var(--accentink);color:var(--accent);width:100%;margin-top:20px}.splitrow{display:flex;justify-content:space-between;gap:12px;align-items:center}.tag{font-size:11px;padding:5px 8px;background:var(--panel2);border-radius:5px;color:var(--accent)}.pageintro{margin:20px 0 30px}.pageintro h1{font-size:44px;margin:12px 0}.pageintro p{max-width:650px;color:var(--muted)}.footer{margin-top:50px;padding:26px 0 35px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;font-size:11px;color:var(--muted);line-height:1.8}.footer a{color:var(--muted)}.footer div:last-child{text-align:right}.login{max-width:1000px;margin:0 auto;min-height:100svh;display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center;padding:45px 25px}.login h1{font-size:64px;margin:30px 0 20px}.login p{color:var(--muted)}.login .card{padding:30px}.login .card h2{margin:20px 0 10px}.tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:20px}.tabs button{flex:1;background:none;color:var(--muted);border-bottom:2px solid transparent}.tabs button.active{color:var(--accent);border-color:var(--accent)}label{display:block;font-size:12px;margin:20px 0 8px;color:var(--muted)}input{width:100%;min-height:54px;border-radius:10px;background:var(--bg);border:1px solid var(--line);padding:14px;color:var(--ink)}.login .primary{width:100%;margin-top:24px}.error{color:var(--danger);font-size:13px;line-height:1.5;margin-top:15px}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#49342e;color:#ffe5d8;border:1px solid #986951;padding:16px 22px;border-radius:12px;z-index:100;max-width:90vw;width:max-content}.quiz{max-width:740px;margin:20px auto 40px}.quiztop{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}.quiz .bar{margin:15px 0 35px}.quiz h1{font-size:clamp(26px,4vw,36px);letter-spacing:-1px;line-height:1.28;margin:18px 0 28px}.answers{display:grid;gap:12px}.answer{display:flex;align-items:center;gap:15px;text-align:left;min-height:74px;border:1px solid var(--line);background:var(--panel);border-radius:13px;padding:16px;font-size:15px;line-height:1.4}.answer .letter{border:1px solid var(--line);width:30px;height:30px;display:grid;place-items:center;flex-shrink:0;border-radius:8px;font-size:12px}.answer.selected{border-color:var(--accent);background:#293927}.answer.correct{border-color:var(--accent)}.answer.wrong{border-color:var(--danger)}.feedback{margin-top:24px;border:1px solid var(--line);background:var(--panel);padding:22px;border-radius:15px}.feedback h3{color:var(--accent);margin-bottom:12px}.feedback p{font-size:14px}.feedback a{display:inline-block;font-size:12px;margin-top:14px}.quizbottom{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:25px}.quizbottom small{font-size:11px;color:var(--muted)}.numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.number strong{display:block;font-size:32px;letter-spacing:-1px;font-weight:500;color:var(--accent);margin-bottom:13px}.number p{font-size:13px;min-height:62px}.number a{font-size:11px;display:inline-block;margin-top:12px}.sign-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.sign-card{text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:25px;min-height:275px}.sign-card p{font-size:13px}.sign-card h3{margin:15px 0 10px}.sign-card a{font-size:11px}.signface{margin:0 auto;width:108px;height:108px;display:grid;place-items:center;background:#f3cd42;color:#171c18;font-size:23px;font-weight:800}.stop{background:#c84b3f;color:white;clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%)}.yield{background:#cb4a3c;color:white;clip-path:polygon(0 0,100% 0,50% 100%);font-size:15px;align-items:start;padding-top:20px}.do-not-enter{border-radius:50%;background:#c84b3f;color:white;font-size:15px;padding:15px}.wrong-way{background:#c84b3f;color:white;border:4px solid white;height:65px;margin-top:22px;margin-bottom:21px;font-size:17px}.speed{background:#f9f8e9;border:4px solid #1b211a;border-radius:9px;font-size:23px;padding:8px}.railroad{border-radius:50%;border:4px solid #1b211a;font-size:30px}.school{clip-path:polygon(50% 0,100% 35%,100% 100%,0 100%,0 35%);padding-top:25px;font-size:17px}.warning,.merge,.pedestrian{transform:rotate(45deg);width:80px;height:80px;margin-top:14px;margin-bottom:14px;border:3px solid #1b211a}.signface span{display:block}.warning span,.merge span,.pedestrian span{transform:rotate(-45deg);font-size:32px}.pedestrian span{font-size:15px}.no-turn{border:9px solid #c84b3f;border-radius:50%;background:white;position:relative;font-size:55px}.no-turn:after{content:'';position:absolute;width:100%;height:9px;background:#c84b3f;transform:rotate(-45deg)}.slow{clip-path:polygon(0 0,100% 0,50% 100%);background:#eb8645;border-top:16px solid #bc423b;font-size:16px;align-items:start;padding-top:13px}.history{display:grid;gap:10px}.history button{width:100%;text-align:left}.result h1{font-size:56px;color:var(--accent);margin:20px 0}.result{max-width:760px;margin:auto}.review-item{margin-top:14px}.review-item h3{font-size:17px;margin-bottom:10px}.review-item p{font-size:13px}.review-item a{font-size:12px}.empty{padding:55px 25px;text-align:center}.empty h2{margin:15px 0}.empty p{color:var(--muted);margin-bottom:25px}.loading{padding:80px;text-align:center}.info{font-size:12px;color:var(--muted);line-height:1.6;margin-top:15px}.examstart{max-width:650px;margin:30px auto}.examstart h1{font-size:44px;margin:20px 0}.examstart p{color:var(--muted)}.examstats{display:flex;gap:35px;margin:30px 0}.examstats strong{display:block;font-size:32px;color:var(--accent)}.examstats small{color:var(--muted)}.install{font-size:12px;line-height:1.8}.install summary{cursor:pointer}.resumebar{background:var(--panel2);padding:15px 20px;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px;font-size:13px}.authhint{font-size:11px!important;margin-top:17px}.copyright{font-size:11px;color:var(--muted);margin-top:30px}.progressnote{font-size:11px;color:var(--muted);margin-top:16px}body.light{color-scheme:light;--bg:#f6f5ee;--panel:#fffef8;--panel2:#eaece0;--line:#d7ddcc;--ink:#203025;--muted:#64715f;--accent:#426432;--accentink:#ffffff;--orange:#956235;--danger:#af3e30}.light .examcard{background:#d7edb8;color:#25391f}.light .examcard button{background:#294222;color:#f0f6e7}.light .answer.selected{background:#e8efd9}.light .brandmark{color:white}.light .roadart{opacity:.9}
@media(max-width:900px){.shell{padding:0 24px}.dashboard{grid-template-columns:1fr 260px}.topicgrid{grid-template-columns:1fr}.hero{grid-template-columns:1.6fr 1fr}.numbers,.sign-grid{grid-template-columns:repeat(2,1fr)}.login{gap:30px}.login h1{font-size:52px}}
@media(max-width:600px){.shell{padding:0 20px}.header{height:78px}.brand{font-size:22px}.brand small{display:none}.header-actions{gap:4px}.header-actions .pill{font-size:11px;padding:8px 10px}.nav{margin:0 -20px;padding:16px 20px 20px;gap:4px;position:sticky;top:0;background:var(--bg);z-index:10;border-bottom:1px solid var(--line)}.nav button{padding:9px 14px;font-size:12px}.hero{display:block;padding:26px 0}.hero h1{font-size:45px;letter-spacing:-2px}.hero p{font-size:14px}.roadart{display:none}.dashboard{display:flex;flex-direction:column}.sidebar{display:grid;grid-template-columns:1fr;gap:14px;order:-1}.sidebar .card+.card{margin:0}.sidebar .readiness-card{display:grid;grid-template-columns:100px 1fr;column-gap:18px;padding:20px}.readiness-card>.eyebrow{grid-column:2;align-self:end}.readiness{grid-column:1;grid-row:1/4;margin:0;align-items:center}.ring{width:95px;height:95px}.ring>div{width:80px;height:80px}.ring strong{font-size:27px}.ring small{font-size:9px}.readiness-copy{text-align:left;font-size:12px}.readiness-card .statline{display:none}.readiness-card .progressnote{grid-column:2;margin:8px 0 0;font-size:10px}.examcard{padding:20px}.examcard h3{font-size:23px}.examcard button{margin-top:14px}.topicgrid{grid-template-columns:1fr}.topic{padding:17px}.footer{flex-direction:column;margin-top:30px;padding-bottom:calc(30px + env(safe-area-inset-bottom))}.footer div:last-child{text-align:left}.numbers{gap:10px}.number{padding:18px}.number strong{font-size:27px}.number p{min-height:90px;font-size:12px}.sign-grid{gap:10px}.sign-card{padding:20px 12px;min-height:270px}.sign-card h3{font-size:16px}.sign-card p{font-size:12px}.pageintro h1{font-size:36px}.pageintro{margin-top:28px}.login{display:block;padding:30px 22px}.login h1{font-size:45px;margin:28px 0 15px}.login>.intro>p{font-size:14px}.login .card{margin-top:30px;padding:25px}.login .dedication{margin:12px 0}.login .roadart{display:none}.quiz{margin-top:20px}.quiz h1{font-size:27px}.quizbottom{position:sticky;bottom:0;background:var(--bg);padding:16px 0 calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.quizbottom .primary{min-width:160px}.answer{min-height:77px;font-size:14px}.examstart h1{font-size:38px}.examstats{gap:28px}.result h1{font-size:48px}.resumebar{padding:12px;align-items:start}.resumebar button{font-size:12px;padding:10px}.header .textbutton{font-size:11px}.card{border-radius:16px}.topicicon{font-size:22px}.tag{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.officialsign{height:120px;width:130px;display:grid;place-items:center;margin:0 auto;background:#fff;border-radius:12px;padding:8px}.officialsign img{object-fit:contain;max-width:100%;max-height:100%;height:100px;width:110px}

.answer:disabled{opacity:1;cursor:default}.answer.correct .letter{border-color:var(--accent);color:var(--accent)}
