/* The same top-left drawer is used on phones, tablets and desktops. */
.workspace{margin-left:0}
.topbar{position:sticky;top:0;z-index:20;min-height:78px;height:auto;padding:14px 28px;gap:18px;background:#fff;border-top:3px solid var(--gold);box-shadow:0 3px 16px #0b254505}
.topbar-left{display:flex;align-items:center;gap:18px;min-width:0}
.menu-toggle,.menu-close{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:10px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--green)}
.menu-toggle:hover,.menu-close:hover{background:var(--mint);border-color:#b7c8dd}
.menu-toggle[aria-expanded="true"]{background:var(--mint);border-color:var(--gold)}
.menu-toggle svg{width:23px;height:23px;stroke-width:2}
.header-brand{display:flex;align-items:center;gap:10px;flex-shrink:0}
.header-brand img{display:block;border-radius:50%;border:1px solid #e9d5a8}
.header-brand span{font:8px/1.5 system-ui;letter-spacing:1.5px;color:var(--muted)}
.header-brand b{display:block;color:var(--green);font-size:18px;letter-spacing:3px}
.topbar .breadcrumb{padding-left:20px;border-left:1px solid var(--border)}
.sidebar{position:fixed;inset:0 auto 0 0;margin:0;width:min(350px,calc(100vw - 24px));max-width:none;height:100dvh;max-height:100dvh;display:flex;flex-direction:column;gap:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:22px 18px;border:0;border-right:1px solid var(--border);border-top:4px solid var(--gold);border-radius:0;background:#fff;color:var(--ink);box-shadow:12px 0 45px #0b254526}
.sidebar:not([open]){display:none}
.sidebar::backdrop{background:#071b35a3}
body:has(#navigation-drawer[open]){overflow:hidden}
.drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:25px}
.sidebar .brand{margin:0;gap:10px;font-size:9px;letter-spacing:1.3px;width:auto}
.sidebar .brand-logo{width:62px;height:62px}
.sidebar .brand b{display:block;margin:0;font-size:20px;letter-spacing:4px}
.sidebar .brand small{display:block;font-size:7px;letter-spacing:0;margin-top:4px}
.sidebar .sidebar-label{display:block;margin:0 12px 13px;font:10px/1.8 var(--font);letter-spacing:.8px}
.sidebar .main-nav{display:flex;flex-direction:column;justify-content:flex-start;gap:5px;width:100%}
.sidebar .main-nav a,.sidebar .main-nav button{flex:none;display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:13px;width:100%;min-height:62px;padding:12px 14px;border-radius:10px;line-height:1.6}
.sidebar .main-nav a svg,.sidebar .main-nav button svg{width:21px;height:21px}
.sidebar .main-nav a span,.sidebar .main-nav button span{font-size:12px;text-align:left}
.sidebar .main-nav a small,.sidebar .main-nav button small{display:block;font:11px/1.4 system-ui;margin-top:3px;color:var(--muted)}
.sidebar .main-nav a.active{box-shadow:inset 3px 0 var(--gold)}
.sidebar .sidebar-bottom{display:block;margin-top:24px}
.sidebar .sidebar-bottom p{display:none}
.sidebar .private-tag{margin-top:14px}
.toast{left:50%}
.skip-link{z-index:25}
@media(max-width:1000px){.topbar .breadcrumb{display:none}}
@media(max-width:700px){.topbar{min-height:72px;padding:10px 14px;gap:10px}.topbar-left{gap:11px}.topbar-right{gap:8px}.topbar .language-tag{display:none}.header-brand{gap:8px}.header-brand img{width:38px;height:38px}.header-brand span{font-size:7px;letter-spacing:1px}.header-brand b{font-size:16px;letter-spacing:2px}.topbar .account-link{font-size:10px;max-width:105px;overflow-wrap:anywhere}.sidebar{padding:18px 14px}.sidebar .menu-close{width:44px;height:44px}main{min-height:calc(100dvh - 159px)}}
.sidebar .admin-entry-link{display:block;padding:14px 12px 0;font:11px system-ui;color:var(--muted)}
.site-announcement{padding:14px 18px;margin-bottom:24px;border:1px solid #e7d4a8;border-radius:10px;background:#fff7e5;color:#725924;font-size:12px;line-height:2}

.sidebar .main-nav button{background:#fff;border:0;color:#66768b;text-align:left;font:inherit;transition:background .15s}
.sidebar .main-nav button:hover:enabled{background:#f1f5fb}.sidebar .main-nav button span{font-weight:600}.sidebar .main-nav button:disabled{opacity:.55}
.sidebar .main-nav [data-menu-logout]{margin-top:10px;border-top:1px solid var(--border);border-radius:0 0 10px 10px;padding-top:18px}
.exam-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px;padding:24px 26px;border:1px solid #cfddec;border-radius:16px;background:#eaf1fa}.exam-heading h1{font-size:27px}.exam-heading p{font-size:12px;color:var(--muted);margin-top:7px}.exam-heading .eyebrow{color:#92702c}.exam-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 25px}.exam-tabs a{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--border);border-radius:12px;background:#fff;font:600 13px/1.5 system-ui}.exam-tabs a>span{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;background:#edf3fb;color:#7a8da7;flex-shrink:0}.exam-tabs small{display:block;font:10px/1.7 var(--font);color:var(--muted);margin-top:3px}.exam-tabs [aria-current="page"]{background:var(--green);border-color:var(--green);color:#fff}.exam-tabs [aria-current="page"]>span{background:#ffffff1f;color:var(--gold-light)}.exam-tabs [aria-current="page"] small{color:#c6d6e9}.exam-coming{padding:36px;max-width:850px}.exam-coming .card-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:#f9efd9;color:#9b752c;margin-bottom:18px}.exam-coming h2{font-size:23px}.exam-coming p{font-size:13px;color:var(--muted);line-height:2;margin:13px 0 23px}.exam-status{border:1px solid #e4d1a2;border-radius:20px;padding:6px 11px;background:#fff7e5;color:#8c6c29;font:11px system-ui;white-space:nowrap}.exam-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:25px 0}.exam-card{padding:24px;border:1px solid var(--border);border-radius:15px;background:#fff}.exam-card .eyebrow{color:#9a792f}.exam-card h3{font:600 21px system-ui;margin:13px 0}.exam-card p{font-size:11px;color:var(--muted);line-height:2;margin:12px 0 18px}.exam-card .text-link{font-size:12px}.profile-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 25px}.school-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:22px 0 30px}.school-card{padding:23px;border:1px solid var(--border);border-radius:14px;background:#fff}.school-card .unit-box{display:inline-block;font:600 19px system-ui;margin-bottom:13px}.school-card h2{font-size:16px}.school-card p{font-size:11px;color:var(--muted);margin:9px 0 17px}.school-card a{font-size:12px}.feedback-panel{max-width:740px;padding:28px}.feedback-panel label{display:block;font-size:12px;font-weight:600;margin:17px 0 7px}.feedback-panel input,.feedback-panel textarea,.feedback-panel select{width:100%;padding:12px;border:1px solid #ccd8e6;border-radius:9px;background:#fff;color:var(--ink);font:13px/1.8 var(--font)}.feedback-panel textarea{min-height:150px;resize:vertical}.feedback-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.feedback-panel .btn{margin-top:20px}.feedback-result{font-size:12px;line-height:2;margin-top:16px}.feedback-success{padding:18px;background:#edf4e8;border:1px solid #d2e0c9;border-radius:10px}.feedback-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.profile-admin{display:block;margin-top:24px;font-size:11px;color:var(--muted)}
@media(max-width:900px){.exam-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-cards{grid-template-columns:1fr}.school-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.exam-heading{padding:20px;align-items:flex-start;flex-direction:column;gap:12px}.exam-heading h1{font-size:24px}.exam-heading p{font-size:11px}.exam-tabs{gap:8px}.exam-tabs a{font-size:11px;padding:13px 10px;gap:8px}.exam-tabs small{font-size:9px}.exam-tabs a>span{width:25px;height:25px}.exam-coming{padding:24px}.exam-coming h2{font-size:20px}.school-grid{grid-template-columns:1fr 1fr;gap:10px}.school-card{padding:18px 14px}.school-card h2{font-size:14px}.feedback-panel{padding:22px}.feedback-fields{grid-template-columns:1fr;gap:0}.profile-actions .btn{flex:1}.exam-card{padding:22px}}
/* Five study sections, including the official past-paper archive. */
.exam-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}
.pyq-intro{display:grid;grid-template-columns:1fr auto;gap:16px 24px;margin-bottom:24px;padding:25px}.pyq-intro h2{font-size:22px}.pyq-intro p{font-size:12px;line-height:2;color:var(--muted);margin-top:8px}.pyq-source-badge{align-self:start;white-space:nowrap;background:#eaf1fa;color:#34577b;padding:7px 11px;border-radius:20px;font:9px system-ui;letter-spacing:1px}.pyq-intro .pyq-key-guide{grid-column:1/-1;background:#fff8e8;border:1px solid #eedfbf;color:#705c32;border-radius:9px;padding:13px 16px;margin:0}.pyq-intro .notice{grid-column:1/-1;margin:0}.pyq-filters{gap:16px;align-items:flex-end}.pyq-filters label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:600}.pyq-filters select{min-width:185px;font-weight:400}.pyq-filters>p{margin-left:auto;padding-bottom:13px;font-size:11px;color:var(--muted)}.pyq-list{display:grid;gap:20px}.pyq-card{padding:24px}.pyq-card-header{display:flex;align-items:center;gap:17px;margin-bottom:18px}.pyq-year{padding:14px 13px;border:1px solid #dce5f1;border-radius:12px;background:#edf3fb;color:var(--green);font:600 25px system-ui;flex-shrink:0}.pyq-card-header h3{font:600 16px/1.6 system-ui}.pyq-card-header .eyebrow{font-size:9px;letter-spacing:1.2px;margin-bottom:5px}.pyq-exam-meta{font:10px/1.7 system-ui;color:var(--muted);margin-top:6px}.pyq-key-status{margin-left:auto;border-radius:20px;padding:6px 10px;font:10px system-ui;white-space:nowrap}.pyq-key-status.is-final{color:#355d35;background:#edf5e9;border:1px solid #d7e7cf}.pyq-key-status.is-tentative{background:#fff4df;color:#8a6524;border:1px solid #ead8b0}.pyq-card-note{font-size:11px;line-height:2;padding:13px 16px;background:#f3f6fb;border-radius:9px;margin-bottom:16px;color:#65748a}.pyq-paper-list{border-top:1px solid var(--border)}.pyq-paper{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid var(--border)}.pyq-paper>div{display:flex;align-items:center;gap:11px;min-width:0;font:12px/1.7 system-ui}.pyq-paper svg{color:#7590b0;width:19px;height:19px}.pyq-paper small{display:block;font:10px/1.7 system-ui;color:var(--muted);margin-top:4px}.pyq-paper .btn{flex-shrink:0;font-size:10px;min-height:40px;padding:9px 13px}.pyq-key-footer{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 0 0;border:0;color:inherit;font:inherit}.pyq-key-footer b{font-size:12px}.pyq-key-footer p{font-size:10px;line-height:2;color:var(--muted);margin-top:6px;max-width:650px}.pyq-key-footer a{white-space:nowrap;flex-shrink:0}.pyq-archive{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px}.pyq-archive h3{font-size:14px}.pyq-archive p{font-size:11px;color:var(--muted);margin-top:6px;line-height:2}.pyq-archive a{flex-shrink:0}
@media(max-width:1000px){.exam-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-tabs>a:last-child{grid-column:1/-1}.pyq-paper{align-items:flex-start;flex-direction:column;gap:12px}.pyq-key-footer{align-items:flex-start;flex-direction:column;gap:13px}}
@media(max-width:700px){.pyq-intro{display:block;padding:20px}.pyq-intro h2{font-size:19px}.pyq-source-badge{display:inline-block;margin:15px 0}.pyq-intro .pyq-key-guide{margin:0 0 12px}.pyq-card{padding:19px}.pyq-card-header{flex-wrap:wrap;gap:12px}.pyq-year{font-size:22px;padding:12px 10px}.pyq-card-header>div{flex:1;min-width:160px}.pyq-card-header h3{font-size:14px}.pyq-key-status{margin:0}.pyq-filters{display:grid;grid-template-columns:1fr;gap:12px}.pyq-filters label,.pyq-filters select{width:100%;min-width:0}.pyq-filters>p{margin:0;padding:0}.pyq-paper .btn{width:100%;white-space:normal}.pyq-key-footer .btn{width:100%}.pyq-archive{flex-direction:column;align-items:flex-start;padding:20px}}
.pyq-filters{flex-wrap:wrap}.pyq-search{flex:1;min-width:210px}.pyq-search input{min-height:46px;width:100%;padding:11px 13px;background:#fff;border:1px solid var(--border);border-radius:9px;font:12px/1.6 var(--font);color:var(--ink)}.pyq-filters>p{flex:1 1 100%;padding:0}.pyq-key-status.is-unlisted{background:#edf0f5;color:#65748a;border:1px solid #dde3ed}.pyq-paper-note{white-space:normal;max-width:620px}.pyq-more-wrap{display:flex;justify-content:center;margin:23px 0}.pyq-more-wrap:empty{display:none}.pyq-missing-paper{padding:18px 0;font-size:12px;line-height:2;color:var(--muted)}.pyq-availability{margin-top:24px}.pyq-availability summary{cursor:pointer;font-size:13px;font-weight:600}.pyq-availability p,.pyq-availability li{font-size:11px;line-height:2;color:var(--muted);margin:12px 0}.pyq-availability a{color:var(--green);text-decoration:underline;text-underline-offset:3px}.pyq-availability ul{padding-left:20px}
@media(max-width:700px){.pyq-search{min-width:0}.pyq-filters>p{width:100%}}
.pyq-key-status.is-unofficial{background:#f7eede;color:#86632c;border:1px solid #ead7b0}.pyq-archived-note{font-family:var(--font)!important;color:#8b6b37!important;line-height:1.9!important}
.pyq-key-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.pyq-key-links .btn{white-space:normal;text-align:center}
@media(max-width:700px){.pyq-key-links{width:100%}.pyq-key-links .btn{flex:1 1 100%}}
