/* Edupstairs Traffic Practice — visual language adapted from the School Past Papers explorer. */
/* Layout fix v0.2: use the same standalone-page structure as the School
   Past Exam Papers explorer. Do not override the theme's global .container:
   that selector is also used by the site header, menus and footer. */
body.etpc-standalone-page .etpc-standalone-main,
.etpc-standalone-main{display:block!important;float:none!important;clear:both;position:relative;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;min-height:1px}
.etpc-shell{--etpc-navy:#071b46;--etpc-blue:#245eea;--etpc-ink:#17243d;--etpc-muted:#6b798e;display:block;float:none!important;clear:both;position:relative;box-sizing:border-box;width:min(1240px,calc(100% - 36px))!important;max-width:1240px!important;margin:28px auto 64px!important;padding:0!important;color:var(--etpc-ink);font-family:inherit;text-align:left}
.etpc-shell *, .etpc-shell *:before,.etpc-shell *:after{box-sizing:border-box}
.etpc-shell [hidden]{display:none!important}
.etpc-shell button,.etpc-shell input,.etpc-shell select{font:inherit}
.etpc-shell button{cursor:pointer}.etpc-shell button:disabled{opacity:.45;cursor:not-allowed}
.etpc-sr{position:absolute!important;width:1px!important;height:1px!important;clip:rect(0,0,0,0)!important;overflow:hidden!important}
.etpc-hero{position:relative;overflow:hidden;padding:46px 46px 38px;border-radius:22px;background:linear-gradient(117deg,#071b46,#0a2c69 58%,#0b367d);color:#fff;box-shadow:0 18px 45px rgba(10,32,79,.16)}
.etpc-hero:before,.etpc-hero:after{content:"";position:absolute;border:1px solid rgba(101,145,255,.16);transform:rotate(45deg);pointer-events:none}
.etpc-hero:before{width:280px;height:280px;right:160px;top:-145px}.etpc-hero:after{width:180px;height:180px;right:60px;bottom:-105px}.etpc-hero>*{position:relative;z-index:2}
.etpc-kicker{display:inline-block;padding:7px 11px;border:1px solid rgba(117,168,255,.38);border-radius:8px;background:rgba(255,255,255,.03);color:#9bc0ff;font-size:11px;font-weight:800;letter-spacing:.05em}
.etpc-hero h1{max-width:850px;margin:20px 0 13px;color:#fff;font-size:clamp(32px,4vw,53px);letter-spacing:-.044em;line-height:1.06}.etpc-hero p{max-width:730px;color:#c9d6ee;font-size:15px;line-height:1.7;margin:0}
.etpc-search{display:flex;align-items:center;gap:6px;max-width:815px;margin:26px auto 0;background:#fff;border-radius:12px;padding:6px;box-shadow:0 12px 28px rgba(0,0,0,.2)}
.etpc-search input{flex:1;min-width:0;height:47px;color:#21314f!important;background:transparent!important;border:0!important;box-shadow:none!important;outline:0!important;padding:0 14px!important;font-size:14px!important}
.etpc-search button,.etpc-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 19px;border:0!important;border-radius:9px;background:var(--etpc-blue)!important;color:#fff!important;font-size:13px;font-weight:800;line-height:1.4;text-decoration:none!important}
.etpc-search button:hover,.etpc-button:hover{background:#174cc5!important}
.etpc-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin:17px auto 0}
.etpc-pills button{padding:8px 13px;border:1px solid rgba(255,255,255,.2);border-radius:100px;background:rgba(255,255,255,.07);color:#d8e6ff;font-size:11px;font-weight:800}
.etpc-pills button.active{background:#fff;color:#1747ab;border-color:#fff}
.etpc-filterbox{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:29px;padding:18px;background:#fff;border:1px solid #e6ebf3;border-radius:16px;box-shadow:0 8px 26px rgba(28,47,86,.06)}
.etpc-filterbox label{display:block;margin-bottom:7px;color:#53647d;font-size:12px;font-weight:800}.etpc-filterbox select{display:block;width:100%;height:43px;padding:0 12px;border:1px solid #dbe2ec;border-radius:9px;background:#fff;color:#34425d;font-size:13px}
.etpc-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:32px 2px 18px;padding-bottom:11px;border-bottom:1px solid #e9edf4}
.etpc-heading h2{margin:0!important;font-size:20px!important;color:#17243d}.etpc-heading p{margin:0;color:#718097;font-size:12px}
.etpc-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.etpc-card{display:flex;flex-direction:column;min-height:240px;padding:22px;border:1px solid #e1e7f0;border-radius:15px;background:#fff;box-shadow:0 5px 16px rgba(27,44,78,.04)}
.etpc-cardtop{display:flex;align-items:center;justify-content:space-between;gap:12px}.etpc-card-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:#f1f5fc;font-size:23px}.etpc-count{max-width:60%;padding:6px 9px;border-radius:50px;background:#f1f5fb;color:#586987;text-align:center;font-size:10px;font-weight:800;line-height:1.4}
.etpc-card-kicker{margin-top:17px;color:#6d7f9d;font-size:10px;font-weight:800;letter-spacing:.08em}.etpc-card h3{margin:7px 0 9px;color:#17243d;font-size:18px;line-height:1.3}.etpc-card p{margin:0 0 22px;color:#6b798e;font-size:13px;line-height:1.6}.etpc-open{margin-top:auto;align-self:flex-start;padding:10px 15px;border:1px solid #d9e2f2;border-radius:8px;background:#f5f8ff;color:#1c4fbd;font-size:12px;font-weight:800}.etpc-open:not(:disabled):hover{background:#e6edff}
.etpc-empty{padding:25px;background:#fff;border:1px dashed #c9d4e4;text-align:center;border-radius:12px;color:#718097}
.etpc-footer{margin-top:35px;padding:17px 3px;border-top:1px solid #e6ebf2;color:#77829a;font-size:12px;line-height:1.7}
.etpc-quiz{scroll-margin-top:25px}.etpc-quizcard{margin-top:30px;padding:29px;background:#fff;border-radius:18px;border:1px solid #dee6f0;box-shadow:0 12px 30px rgba(27,44,78,.06)}.etpc-center{text-align:center;color:#586883}
.etpc-quizhead{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.etpc-quizhead h2{margin:10px 0 0;font-size:25px;color:#17243d}.etpc-kicker-light{color:#2d60bd;font-size:10px;font-weight:900;letter-spacing:.075em}.etpc-textbutton{border:0;background:none;color:#6a768a;font-weight:800;font-size:12px}
.etpc-quizstats{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:21px;color:#6c788f;font-size:12px}.etpc-meter{height:9px;margin-top:9px;border-radius:100px;background:#ebf0f7;overflow:hidden}.etpc-meter span{display:block;height:100%;background:#245eea;transition:width .2s}
.etpc-qmeta{margin:24px 0 7px;color:#6b7b96;font-size:12px;font-weight:700}.etpc-qtext{font-size:20px;line-height:1.5;color:#17243d;margin:0 0 20px}
.etpc-artwork{padding:13px;background:#fff5e7;color:#795424;font-size:12px;border:1px solid #e9cea0;border-radius:10px}
.etpc-options{border:0;margin:0;padding:0}.etpc-options legend{margin:0 0 12px;color:#65758e;font-size:12px;font-weight:700}.etpc-answer{display:flex;align-items:flex-start;gap:13px;margin:9px 0;padding:15px;border:1px solid #dfe6f0;border-radius:11px;background:#fff;cursor:pointer;font-size:14px;line-height:1.5}
.etpc-answer strong{display:grid;place-items:center;flex:0 0 28px;height:28px;border:1px solid #cdd8e7;border-radius:50%;background:#f6f8fc;color:#375178;font-size:12px}.etpc-answer input{position:absolute;opacity:0}.etpc-answer:has(input:focus-visible){outline:3px solid #8db0f6;outline-offset:2px}.etpc-answer.selected{border-color:#3973df;background:#f0f5ff}.etpc-answer.selected strong{background:#245eea;border-color:#245eea;color:#fff}
.etpc-quizactions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:23px}.etpc-grow{flex:1}.etpc-outline{padding:11px 15px;border:1px solid #d2dded;border-radius:8px;color:#244e9f;background:#fff;font-weight:800;font-size:12px}
.etpc-review{margin-top:10px;border:1px solid #e0e8f1;border-radius:10px;overflow:hidden}.etpc-review summary{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px;cursor:pointer;font-size:13px;font-weight:700}.etpc-reviewinner{padding:15px;background:#f8faff;border-top:1px solid #e7edf5;font-size:13px;line-height:1.6}.etpc-reviewinner p{margin:0 0 8px}.etpc-reviewinner a{font-weight:800;color:#255bcb}.etpc-pass{color:#19734b}.etpc-fail{color:#a35230}.etpc-error{color:#9b331a}
@media(max-width:920px){.etpc-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.etpc-shell{width:calc(100% - 22px)!important;margin-top:15px!important}.etpc-hero{padding:32px 21px 27px;border-radius:18px}.etpc-hero h1{font-size:33px}.etpc-search{flex-direction:column;align-items:stretch}.etpc-search button{width:100%}.etpc-filterbox,.etpc-cards{grid-template-columns:1fr}.etpc-quizcard{padding:19px}.etpc-heading{align-items:flex-start;flex-direction:column}.etpc-qtext{font-size:18px}.etpc-pills button{flex:1 1 calc(50% - 10px)}}

/* v0.2: selectors intentionally scoped so Voice does not turn cards into
   floated columns or apply theme widths to the hero/search/filter section. */
#etpc-app.etpc-shell .etpc-hero,
#etpc-app.etpc-shell .etpc-filterbox,
#etpc-app.etpc-shell .etpc-cards,
#etpc-app.etpc-shell .etpc-quiz,
#etpc-app.etpc-shell .etpc-footer{float:none!important;clear:both;max-width:100%;width:100%}
#etpc-app.etpc-shell .etpc-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
#etpc-app.etpc-shell .etpc-card{float:none!important;width:auto!important;max-width:none!important;min-width:0;margin:0!important}
#etpc-app.etpc-shell .etpc-search{width:100%;max-width:815px;margin-left:auto!important;margin-right:auto!important}
#etpc-app.etpc-shell .etpc-hero h1{color:#fff!important}
#etpc-app.etpc-shell .etpc-pills button{color:#d8e6ff}
#etpc-app.etpc-shell .etpc-pills button.active{color:#1747ab}
@media(max-width:920px){#etpc-app.etpc-shell .etpc-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:650px){#etpc-app.etpc-shell .etpc-cards{grid-template-columns:minmax(0,1fr)!important}}

/* v0.3: protected administrator illustration previews and device-only history. */
#etpc-app.etpc-shell .etpc-media{position:relative;display:flex;align-items:center;flex-direction:column;gap:12px;max-width:640px;margin:12px auto 25px;padding:22px 18px;background:#f8fbff;border:1px solid #dce5f3;border-radius:15px;text-align:center}
#etpc-app.etpc-shell .etpc-media img{display:block;object-fit:contain;max-width:min(100%,480px);height:auto;max-height:420px;margin:0 auto;border-radius:8px}
#etpc-app.etpc-shell .etpc-media figcaption{color:#718097;font-size:12px;line-height:1.5}
#etpc-app.etpc-shell .etpc-progress{width:100%;max-width:100%;margin-top:25px;background:#fff;border:1px solid #e1e7f0;border-radius:15px;padding:22px;box-shadow:0 5px 16px rgba(27,44,78,.04)}
#etpc-app.etpc-shell .etpc-progress-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
#etpc-app.etpc-shell .etpc-progress h2{font-size:19px!important;margin:7px 0 5px;color:#17243d}
#etpc-app.etpc-shell .etpc-progress p{font-size:13px;color:#718097;margin:0;line-height:1.6}
#etpc-app.etpc-shell .etpc-history-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:17px}
#etpc-app.etpc-shell .etpc-history-item{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px;border:1px solid #e5ebf4;border-radius:10px;background:#f8faff;font-size:13px}
#etpc-app.etpc-shell .etpc-history-item small{display:block;font-size:11px;color:#7c899c;margin-top:4px}
#etpc-app.etpc-shell .etpc-history-item>span{white-space:nowrap;color:#1e51b8}
@media(max-width:680px){#etpc-app.etpc-shell .etpc-history-list{grid-template-columns:1fr}#etpc-app.etpc-shell .etpc-media{padding:16px 12px}}

/* v0.4.2: question progression and ad-safe page flow.
   Never hide or remove ad elements. Preserve native theme/ad injections
   above, below and alongside the content where the ad provider places them. */
#etpc-main-content{display:flow-root;min-width:0;overflow:visible!important}
#etpc-main-content > :not(#etpc-app){clear:both;max-width:100%;box-sizing:border-box}
#etpc-main-content :is(.adsbygoogle,.google-auto-placed,.ad-slot,.advertisement,.ad-container){clear:both;max-width:100%;box-sizing:border-box}
#etpc-app.etpc-shell,#etpc-app.etpc-shell .etpc-quiz,#etpc-app.etpc-shell .etpc-quizcard{min-width:0;overflow-wrap:anywhere}
#etpc-app.etpc-shell .etpc-round-note{margin:12px 0 0;color:#42618c;font-size:12px;line-height:1.5}
#etpc-app.etpc-shell .etpc-answer-hint{margin:12px 0 0;color:#536885;font-size:12px;font-weight:700}
#etpc-app.etpc-shell .etpc-button:disabled{opacity:.5;cursor:not-allowed}

/* v0.4.5: dependable administrator illustration display and quiet failure message. */
#etpc-app.etpc-shell .etpc-media img[hidden],
#etpc-app.etpc-shell .etpc-media .etpc-media-error[hidden]{display:none!important}
#etpc-app.etpc-shell .etpc-media .etpc-media-error{color:#735633;font-size:13px;line-height:1.6;margin:8px auto}
