/* Bus PEI v1.0 interface */
:root{--bus-gold:#f4b740;--bus-deep:#062e4e;--bus-blue:#087ca7;--focus:#ffd166}
body{background:radial-gradient(circle at 90% 0,#dff3f7 0,transparent 30%),linear-gradient(145deg,#fbfcfd,#eef5f7)}
button,a,input,textarea{font:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.startup-loading,.startup-error{max-width:760px;margin:10vh auto;padding:28px;text-align:center;font-family:Inter,system-ui,sans-serif}
.startup-error{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 45px #173c4f18}
.startup-error button{border:0;border-radius:11px;background:var(--bus-blue);color:#fff;padding:12px 18px;font-weight:850;cursor:pointer}
.appbar{display:grid;grid-template-columns:auto minmax(240px,1fr) auto;align-items:center;gap:12px 20px;padding:10px clamp(14px,3vw,44px);background:linear-gradient(105deg,var(--bus-deep),#075a79);border-bottom:3px solid var(--bus-gold)}
.brand{min-width:0;text-align:left}.brand img{width:112px;height:42px}.brand span{font-size:14px;letter-spacing:.025em;white-space:nowrap}
.access-bar{justify-self:end;margin:0}.appbar nav{justify-self:end}.appbar nav button{min-height:40px}
.hero{background:linear-gradient(130deg,var(--bus-deep),#08789a 70%,#e9a731 150%);overflow:hidden;position:relative}
.hero:after{content:'🚌';position:absolute;right:27%;bottom:-42px;font-size:150px;opacity:.055;transform:rotate(-5deg);pointer-events:none}
.hero-logo{position:relative;z-index:1}
.card,.section-card,.case-choice,.question-card,.case-card{border-color:#cadde5}
.card:hover,.section-card:hover,.case-choice:hover{border-color:#79b6c9}
.primary{background:linear-gradient(135deg,#087ca7,#075d83);box-shadow:0 7px 18px #075d8325}
.primary:hover{filter:brightness(.96)}
.answer-btn:hover:not(:disabled){border-color:#58a4bf;background:#f4fbfd}
.answer-btn.correct{border-color:#208b59;background:#e8f8f0;color:#115f3b}.answer-btn.wrong{border-color:#c74444;background:#fff0f0;color:#8c2929}.answer-btn:disabled{cursor:default}
.feedback{align-items:center;border:1px solid currentColor}.feedback b{font-size:17px}.feedback span{margin-left:auto}
.quiz-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px;flex-wrap:wrap}.quiz-actions>button:not(.primary){border:1px solid var(--line);background:#f3f7f9;color:var(--ink);padding:13px 20px;border-radius:12px;font-weight:850;cursor:pointer}.quiz-actions>.primary{margin-left:auto}
.exam-navigation{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 16px;margin:15px 0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;box-shadow:0 8px 22px #173c4f0b}
.exam-navigation>div:first-child{white-space:nowrap;color:var(--muted);font-size:13px}.exam-navigation>div:first-child b{color:var(--ink);font-size:16px}
.exam-question-grid{display:flex;gap:7px;overflow-x:auto;padding:4px 3px 7px;scrollbar-width:thin}
.exam-question-grid button{flex:0 0 34px;height:34px;border:1px solid #c9d9e1;border-radius:9px;background:#f3f7f9;color:#405b6a;font-weight:850;cursor:pointer}
.exam-question-grid button.answered{background:#e9f8f1;border-color:#7ac6a0;color:#126542}.exam-question-grid button.current{background:var(--bus-deep);border-color:var(--bus-deep);color:#fff;box-shadow:0 0 0 3px #9ed8e655}
.finish-exam{border:1px solid #e2a254;background:#fff8ec;color:#94520b;border-radius:10px;padding:9px 12px;font-weight:850;cursor:pointer;white-space:nowrap}
.case-exam-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.case-exam-head>div:first-child{min-width:0}.case-exam-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.case-exam-tools .timer{min-width:96px;text-align:center}
.case-card>textarea{display:block;width:100%;margin:8px 0 16px;border:1px solid #c8d7df;border-radius:14px;padding:15px;font:16px/1.55 system-ui;resize:vertical;min-height:210px}
.case-table-wrap:focus-visible{outline-offset:1px}
.img-modal{overscroll-behavior:contain}.img-modal button{font-weight:700}.img-modal img{border-radius:10px;max-width:min(96vw,1200px)}
.premium-panel{text-align:left}.premium-panel>h1,.premium-panel>.premium-eyebrow,.premium-panel>.premium-icon,.premium-panel>.premium-reason,.premium-panel>.premium-price,.premium-panel>.premium-benefits,.premium-panel>.premium-note{text-align:center}.premium-panel .premium-pay{text-align:center}.premium-close{display:grid;place-items:center}
@media(max-width:1050px){.appbar{grid-template-columns:auto 1fr}.appbar nav{grid-column:1/-1;justify-self:stretch;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.appbar nav button{text-align:center}.access-bar{justify-self:end}}
@media(max-width:760px){.appbar{position:relative;grid-template-columns:1fr;gap:9px;padding:10px 12px}.brand{justify-self:center}.brand span{display:inline}.access-bar{grid-row:auto;justify-self:stretch;width:100%;order:initial}.appbar nav{grid-column:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.appbar nav button{background:#ffffff0b}.hero{min-height:auto;border-radius:22px}.hero h1{font-size:clamp(31px,11vw,46px)}.hero:after{right:-12px}.exam-navigation{grid-template-columns:1fr}.exam-question-grid{order:3}.finish-exam{width:100%}.case-exam-head{align-items:stretch;flex-direction:column}.case-exam-tools{justify-content:stretch}.case-exam-tools .timer{flex:1}.case-exam-tools .finish-exam{flex:2}.feedback{align-items:flex-start;flex-direction:column;gap:5px}.feedback span{margin:0}.quiz-actions>*{flex:1 1 150px}.quiz-actions>.primary{margin-left:0}.result{padding:28px 18px;margin:20px auto}}
@media(max-width:430px){.brand span{font-size:12px}.brand img{width:92px}.appbar nav button{font-size:12px}.hero{padding:25px 20px}.hero-stats{display:grid}.question-card,.case-card{padding:15px}.exam-question-grid button{flex-basis:32px;height:32px}.premium-panel{border-radius:19px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-logo{animation:none}}
