:root{--ink:#172433;--muted:#697584;--line:#e1e6eb;--paper:#f4f6f8;--white:#fff;--blue:#294b69;--green:#17804a;--red:#b13a3a;--shadow:0 12px 40px rgba(15,18,23,.06)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #4b91ea;outline-offset:3px}.nav{height:68px;position:sticky;top:10px;z-index:5;margin:10px auto 0;width:min(1180px,calc(100% - 40px));padding:0 18px;border:1px solid rgba(255,255,255,.8);border-radius:19px;background:rgba(255,255,255,.78);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 8px 30px rgba(0,0,0,.045);display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;width:176px;height:54px;overflow:hidden}.brand img{display:block;width:176px;height:auto}.desktop{display:flex;align-items:center;gap:27px;flex:1;height:100%}.desktop a{font-size:12px;color:#62656b;transition:color .2s}.desktop a:hover,.desktop a.active{color:#111}.navright{display:flex;gap:15px;align-items:center}.discord-nav{display:inline-flex;align-items:center;gap:10px;background:#111214;color:#fff;border:1px solid #111214;border-radius:100px;padding:11px 16px;font-size:11px;font-weight:600;white-space:nowrap;transition:background .2s,transform .2s}.discord-nav:hover{background:#292a2d;transform:translateY(-1px)}.discord-nav span{font-size:13px}.textbtn,.quietlink{border:0;background:transparent;color:#444;font-size:12px}.darkbtn{background:#111214;color:white;border:1px solid #111214;border-radius:9px;padding:13px 17px;display:inline-flex;gap:20px;align-items:center;font-weight:600;font-size:12px;transition:transform .2s,background .2s}.darkbtn:hover{background:#292a2d;transform:translateY(-1px)}.darkbtn.small{padding:10px 15px;display:inline-block}.menubtn{display:none;border:0;background:transparent;font-size:20px}.mobilemenu{display:none}.home,.page{width:min(1040px,calc(100% - 48px));margin:0 auto}.hero{padding:98px 0 62px;max-width:820px}.eyebrow{font-size:10px;letter-spacing:.13em;font-weight:700;color:#767980;display:flex;align-items:center;gap:9px}.dot{width:7px;height:7px;border-radius:50%;background:#185bba;display:inline-block}.hero h1{font-size:clamp(38px,6.4vw,68px);line-height:1.06;letter-spacing:-.058em;font-weight:600;max-width:830px;margin:24px 0 22px}.hero>p{font-size:15px;line-height:1.7;color:#6b6e74;max-width:635px}.heroactions{display:flex;align-items:center;gap:25px;margin-top:30px}.quietlink{font-weight:600}.quietlink span{margin-left:8px}.hero-meta{display:flex;gap:13px;color:#96999e;font-size:10px;letter-spacing:.025em;margin-top:48px}.discord{background:#101114;color:white;border-radius:19px;padding:27px 32px;display:flex;align-items:center;justify-content:space-between;min-height:138px;transition:transform .2s,box-shadow .2s}.discord:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.discord>div{display:flex;align-items:center;gap:20px}.discordicon{width:48px;height:48px;border:1px solid #393a3d;border-radius:15px;display:grid;place-items:center;font-size:24px;color:#fff}.discord small{font-size:9px;letter-spacing:.15em;color:#9c9da1}.discord h2{font-size:24px;letter-spacing:-.035em;margin:5px 0}.discord p{font-size:12px;color:#aaa;margin:0}.arrow{font-size:22px}.features{padding:90px 0 50px}.sectionhead{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.sectionhead h2{font-size:32px;letter-spacing:-.045em;margin:12px 0 0}.muted{font-size:11px;color:#888}.featuregrid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.feature{min-height:252px;border:1px solid var(--line);border-radius:14px;padding:19px;background:rgba(255,255,255,.55);display:flex;flex-direction:column;transition:.2s}.feature:hover{background:white;transform:translateY(-3px);box-shadow:var(--shadow)}.featureindex{font-size:9px;letter-spacing:.12em;color:#85888e}.featureicon{font-size:23px;margin:23px 0 12px}.feature h3{font-size:15px;letter-spacing:-.02em;margin:0 0 8px}.feature p{font-size:11px;line-height:1.6;color:#777;margin:0}.cardlink{margin-top:auto;padding-top:20px;font-size:10px;font-weight:700}.cardlink b{float:right}.quote{margin:55px 0 90px;padding:35px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}.quote>span{font-family:Georgia;font-size:42px;color:#bbb;line-height:.6}.quote p{font-size:23px;line-height:1.4;letter-spacing:-.04em;margin:6px}.quote a{font-size:11px;color:#777}.page{min-height:67vh;padding:84px 0 80px}.pageintro{margin-bottom:38px}.pageintro h1{font-size:clamp(42px,6vw,62px);letter-spacing:-.06em;line-height:1;margin:19px 0 14px;font-weight:600}.period{color:#1456ae}.pageintro p{font-size:14px;line-height:1.65;color:#777;max-width:640px;margin:0}.searchbar{height:54px;background:#fff;border:1px solid var(--line);border-radius:11px;display:flex;align-items:center;gap:12px;padding:0 16px;box-shadow:0 3px 12px rgba(0,0,0,.02)}.searchbar>span{font-size:22px;color:#8c8e92}.searchbar input{flex:1;min-width:0;border:0;outline:0;font-size:13px;background:transparent}.searchbar kbd{font-size:9px;border:1px solid #e5e5e2;border-radius:4px;padding:3px 5px;color:#999}.filterrow{display:flex;align-items:center;gap:18px;margin:23px 0 20px;flex-wrap:wrap}.filterlabel,.difficulty small{font-size:9px;letter-spacing:.12em;color:#898b90;font-weight:700}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{background:transparent;border:1px solid #e0e0dd;color:#63666a;border-radius:100px;padding:7px 12px;font-size:10px;transition:.15s}.chip:hover{border-color:#888}.chip.selected{background:#151619;border-color:#151619;color:white}.reset{margin-left:auto;color:#777;background:none;border:0;font-size:10px}.invisible{visibility:hidden}.topicmeta{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font-size:10px;color:#898b90}.topicmeta span:first-child{font-weight:700;color:#444}.topiclist{border-bottom:1px solid var(--line)}.topic{min-height:76px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 120px 120px 115px;gap:14px;align-items:center;padding:12px 4px}.topic:last-child{border:0}.topic h3{font-size:13px;margin:0 0 5px;font-weight:600}.topic p{font-size:10px;color:#888;margin:0}.gradepill{justify-self:start;background:#eeefec;border-radius:100px;padding:6px 9px;font-size:9px;color:#555}.rate{display:flex;flex-direction:column}.rate b{font-size:11px;font-weight:600}.rate small{font-size:9px;color:#999;margin-top:3px}.video{color:#777;font-size:10px;justify-self:end}.video span{color:#c13232;margin-right:6px}.novideo{font-size:9px;color:#aaa;justify-self:end}.source-note{font-size:10px;line-height:1.7;color:#8a8c90;margin-top:18px}.source-note a{text-decoration:underline;text-underline-offset:2px}.empty{padding:35px;text-align:center;color:#888;font-size:13px}.paperfilters,.practicefilters{display:flex;gap:13px;align-items:end;margin:28px 0 22px;flex-wrap:wrap}.paperfilters label,.practicefilters label{font-size:10px;color:#777;display:flex;flex-direction:column;gap:8px}.paperfilters select,.practicefilters select{background:white;border:1px solid var(--line);border-radius:8px;padding:10px 33px 10px 12px;font-size:11px;color:#222;min-width:150px}.paper-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.paper-card{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.7);padding:20px;min-height:265px;display:flex;flex-direction:column}.paper-top{display:flex;align-items:center;justify-content:space-between}.paper-symbol{font-size:20px;font-weight:700;letter-spacing:-.05em}.tag{background:#f0f0ed;color:#777;border-radius:100px;padding:6px 9px;font-size:8px;letter-spacing:.07em}.paper-card h2{font-size:23px;letter-spacing:-.04em;margin:23px 0 4px}.paper-card>p{font-size:11px;color:#888;margin:0 0 22px}.paper-links{display:flex;gap:12px;flex-direction:column;margin-top:auto}.paper-links a{font-size:10px;font-weight:600;border-top:1px solid var(--line);padding-top:11px}.paper-card>small{font-size:9px;color:#999;line-height:1.55;margin-top:12px}.callout{display:flex;gap:13px;background:#f0f1ee;border-radius:10px;padding:14px 16px;margin-top:20px;color:#76787c}.callout>span{font-size:16px}.callout p{font-size:10px;line-height:1.6;margin:0}.callout b{color:#3c3e42}.stats{display:grid;grid-template-columns:repeat(4,1fr);background:white;border:1px solid var(--line);border-radius:12px;padding:17px;margin-bottom:18px}.stats>div{padding:4px 20px;border-right:1px solid var(--line)}.stats>div:first-child{padding-left:7px}.stats>div:last-child{border:0}.stats small{display:block;color:#92949a;font-size:8px;letter-spacing:.1em}.stats small span{font-size:12px}.stats b{display:block;font-size:24px;margin-top:10px;letter-spacing:-.04em}.stats i{font-size:12px;font-style:normal;color:#777;margin-left:2px}.practicefilters{align-items:end;margin:22px 0}.difficulty{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.difficulty small{margin-right:5px}.questioncard{background:white;border:1px solid var(--line);border-radius:15px;padding:25px 27px;box-shadow:0 7px 25px rgba(0,0,0,.025)}.questiontop{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#999;letter-spacing:.1em}.qtopic{color:#1856a8;font-size:10px;font-weight:600;margin-top:32px}.questioncard h2{font-size:22px;line-height:1.45;letter-spacing:-.03em;font-weight:500;margin:10px 0 22px}.hint{background:#f6f6f3;border-radius:8px;padding:11px 13px;font-size:10px;color:#73767b;line-height:1.5}.hint span{font-size:8px;letter-spacing:.1em;color:#37393b;font-weight:700;margin-right:8px}.answers{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:20px 0}.answer{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid var(--line);border-radius:9px;background:white;padding:12px;font-size:11px;color:#45474b}.answer>span{width:22px;height:22px;border:1px solid #e4e4e1;border-radius:6px;display:grid;place-items:center;font-size:9px;color:#888}.answer:hover:not(:disabled){border-color:#9c9c99;background:#fafaf8}.answer.correct{border-color:#49a478;background:#f0faf4}.answer.wrong{border-color:#d47777;background:#fff5f4}.written{display:flex;align-items:end;gap:10px;margin:24px 0}.written label{font-size:10px;color:#777;display:flex;flex-direction:column;gap:8px}.written input{border:1px solid var(--line);border-radius:8px;padding:12px;min-width:240px;font-size:12px}.feedback{border-radius:9px;padding:14px;margin:18px 0;font-size:11px;line-height:1.6}.feedback p{margin:7px 0 0}.feedback.ok{background:#eff8f2;color:#286341}.feedback.no{background:#fff5f3;color:#743d36}.questionbottom{border-top:1px solid var(--line);padding-top:16px;margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:10px}.questionbottom>span{color:#999;font-size:9px}.nextbtn{border:0;background:none;font-size:10px;font-weight:700;color:#333}.nextbtn:disabled{opacity:.35;cursor:not-allowed}.nextbtn span{margin-left:9px}.local-note{font-size:10px;color:#999;margin-top:14px}.authgate{background:white;border:1px solid var(--line);border-radius:16px;padding:42px;text-align:center;max-width:520px;margin:0 auto;box-shadow:var(--shadow)}.lockicon{width:48px;height:48px;border-radius:14px;background:#f4f4f1;display:grid;place-items:center;margin:0 auto 22px;font-size:20px}.authgate .eyebrow{justify-content:center}.authgate h2{font-size:24px;letter-spacing:-.04em;margin:15px 0 9px}.authgate p{font-size:12px;line-height:1.65;color:#888;margin:0 auto 21px;max-width:370px}.authgate .quietlink{display:block;margin-top:15px}.notespage{min-height:62vh}.modalback{position:fixed;inset:0;z-index:20;background:rgba(20,20,20,.35);backdrop-filter:blur(9px);display:grid;place-items:center;padding:20px}.modalback.hidden,.hidden{display:none}.modal{position:relative;width:min(460px,100%);background:white;border:1px solid rgba(255,255,255,.8);border-radius:17px;padding:35px;box-shadow:0 30px 100px rgba(0,0,0,.22)}.modal .eyebrow{font-size:9px}.modal h2{font-size:25px;line-height:1.15;letter-spacing:-.045em;margin:15px 0 12px}.modal p{font-size:12px;color:#777;line-height:1.7}.close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:24px;color:#888}.modalbuttons{display:flex;align-items:center;gap:18px;margin:24px 0}.modal>small{color:#a1a1a1;font-size:9px}footer{border-top:1px solid var(--line);width:min(1180px,calc(100% - 48px));margin:0 auto;padding:23px 0 20px;display:grid;grid-template-columns:1fr auto;gap:15px;color:#8b8e92;font-size:10px}footer>div:first-child{display:flex;flex-direction:column;gap:6px}.footbrand{font-family:Montserrat,sans-serif;font-size:11px;letter-spacing:.06em;color:#17181a}footer>div:nth-child(2){display:flex;gap:20px;align-items:center}footer small{grid-column:1/-1;color:#aaa;font-size:9px}.privacy{max-width:600px}@media(max-width:780px){.nav{width:calc(100% - 24px);height:58px;margin-top:8px;top:8px;padding:0 13px;gap:11px;border-radius:16px}.menubtn{display:block}.brand,.brand img{width:146px}.brand{height:48px}.desktop{display:none}.navright{margin-left:auto;gap:10px}.discord-nav{padding:10px 13px;font-size:10px;gap:7px}.textbtn{font-size:11px}.darkbtn.small{font-size:10px;padding:9px 11px}.mobilemenu{display:flex;position:fixed;z-index:4;top:72px;left:12px;right:12px;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:13px;padding:8px 16px;flex-direction:column}.mobilemenu.hidden{display:none}.mobilemenu a{padding:13px 3px;border-bottom:1px solid var(--line);font-size:13px}.mobilemenu a:last-child{border:0}.mobilemenu span{float:right;color:#aaa}.home,.page{width:calc(100% - 36px)}.hero{padding:72px 0 48px}.hero h1{font-size:clamp(38px,9vw,56px)}.hero>p{font-size:13px}.featuregrid{grid-template-columns:1fr 1fr}.features{padding-top:65px}.feature{min-height:230px}.sectionhead h2{font-size:27px}.sectionhead>.muted{display:none}.page{padding-top:66px}.topic{grid-template-columns:1fr 92px 82px;gap:8px}.topic .rate{display:none}.topic p{max-width:340px;line-height:1.5}.video{font-size:9px}.paper-grid{grid-template-columns:1fr}.paper-card{min-height:230px}.paper-card h2{margin-top:16px}.stats{padding:12px 5px}.stats>div{padding:4px 10px}.stats small{font-size:7px;letter-spacing:.05em}.stats b{font-size:19px}.practicefilters{align-items:start}.practicefilters label{flex:1}.practicefilters select{min-width:125px}.difficulty{width:100%}.questioncard{padding:20px 17px}.questioncard h2{font-size:19px}.answers{grid-template-columns:1fr}.questionbottom{align-items:start}.questionbottom>span{max-width:55%;line-height:1.5}.written{align-items:stretch;flex-direction:column}.written input{min-width:0;width:100%}.written .darkbtn{align-self:start}.authgate{padding:32px 20px}footer{width:calc(100% - 36px)}}@media(max-width:420px){.brand,.brand img{width:105px}.navright{gap:6px}.discord-nav{padding:9px 10px;font-size:9px;gap:5px}.hero-meta{font-size:8px;gap:8px}.discord{padding:22px 18px}.discord>div{gap:12px}.discord h2{font-size:20px}.discord p{font-size:10px}.discordicon{width:40px;height:40px}.filterrow{gap:11px}.filterlabel{width:100%}.topic{grid-template-columns:1fr 75px 45px}.gradepill{font-size:8px;padding:5px 7px}.video{font-size:8px}.stats small{font-size:6px}.stats>div{padding:4px 7px}.stats b{font-size:17px}.feature{padding:14px}.feature h3{font-size:13px}.quote p{font-size:19px}footer{grid-template-columns:1fr}footer>div:nth-child(2){justify-content:flex-start}footer small{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.accessveil{position:fixed;inset:0;z-index:4;background:rgba(246,246,243,.67);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);display:grid;place-items:center;padding:20px}.accessmodal{width:min(440px,100%);background:rgba(255,255,255,.96);border:1px solid white;border-radius:17px;padding:34px;text-align:center;box-shadow:0 25px 90px rgba(0,0,0,.15)}.accessmodal .lockicon{margin-bottom:17px}.accessmodal h2{font-size:23px;letter-spacing:-.04em;line-height:1.25;margin:0 auto 10px;max-width:330px}.accessmodal p{font-size:12px;color:#888;margin:0 0 23px}.accessmodal>div:last-of-type{display:flex;justify-content:center;gap:9px}.outlinebtn{background:white;border:1px solid #dededb;border-radius:9px;padding:13px 17px;font-size:12px;font-weight:600}.accessmodal small{display:block;font-size:9px;color:#aaa;margin-top:18px}
.avatar{width:32px;height:32px;border-radius:50%;border:0;background:#111;color:white;font-size:12px;font-weight:700}.navright{position:relative}.profilemenu{position:absolute;right:0;top:42px;min-width:170px;padding:11px;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}.profilemenu.hidden{display:none}.profilemenu span{font-size:10px;color:#777;padding:3px}.profilemenu button{border:0;border-top:1px solid var(--line);background:white;text-align:left;padding:9px 3px 2px;font-size:11px}.testlogin{display:flex;flex-direction:column;gap:8px;margin:18px 0}.testlogin label{font-size:10px;color:#666}.testlogin input{border:1px solid var(--line);border-radius:8px;padding:12px;font-size:12px}.testlogin .darkbtn{align-self:flex-start}.loginerror{color:#b13a3a;min-height:12px;font-size:10px}.testnote{background:white;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow)}.note-toolbar{display:flex;align-items:center;justify-content:space-between;padding-bottom:13px;border-bottom:1px solid var(--line)}.note-toolbar label{display:flex;align-items:center;gap:9px;font-size:10px;color:#777}.note-toolbar select{border:1px solid var(--line);border-radius:7px;background:white;padding:7px;font-size:10px}.note-toolbar span{font-size:9px;color:#4b8d66}.testnote textarea{border:0;outline:0;resize:vertical;min-height:300px;width:100%;padding:17px 3px;font:14px/1.7 'DM Sans',sans-serif;color:#222}.testnote textarea:focus-visible{outline:2px solid #4b91ea;outline-offset:-2px}
.freebadge{font-size:8px;letter-spacing:.1em;color:#7b7d82;border:1px solid var(--line);border-radius:100px;padding:7px 10px}.notebook{display:grid;grid-template-columns:220px 1fr;gap:14px;align-items:start}.notelist{border:1px solid var(--line);border-radius:12px;padding:10px;background:rgba(255,255,255,.65);display:flex;flex-direction:column;gap:7px}.newnote{justify-content:center;padding:10px;margin-bottom:4px}.noteitem{border:1px solid transparent;border-radius:8px;background:transparent;padding:10px;text-align:left;display:flex;flex-direction:column;gap:5px}.noteitem:hover,.noteitem.active{border-color:var(--line);background:white}.noteitem span{font-size:11px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.noteitem small{font-size:9px;color:#92949a}.notetitle{width:100%;border:0;border-bottom:1px solid var(--line);outline:0;padding:16px 3px 12px;font-size:19px;font-weight:600;letter-spacing:-.03em;background:transparent}.notefoot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:10px;color:#96989c;font-size:9px}.delete-note{background:transparent;border:0;color:#a44;font-size:10px}.delete-note:hover{text-decoration:underline}@media(max-width:650px){.notebook{grid-template-columns:1fr}.notelist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.newnote{grid-column:1/-1}.noteitem{min-width:0}}
.freebadge{white-space:nowrap}.video-library{margin-top:24px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.55);overflow:hidden}.video-library summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:16px 18px;font-size:12px;font-weight:600}.video-library summary::-webkit-details-marker{display:none}.video-library summary:after{content:'＋';font-size:16px;color:#85888e}.video-library[open] summary:after{content:'−'}.video-library summary b{font-size:9px;color:#888;font-weight:500;margin-left:auto;margin-right:14px}.video-library>p{font-size:10px;color:#888;line-height:1.6;margin:0;padding:0 18px 13px}.video-library-list{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr}.video-library-list>a{padding:11px 16px;display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line);font-size:10px}.video-library-list>a:nth-child(odd){border-right:1px solid var(--line)}.video-library-list>a:hover{background:#fff}.playmark{font-size:9px;color:#bd3030}.videoout{margin-left:auto;color:#999}.video-library-list .empty{grid-column:1/-1}@media(max-width:620px){.video-library-list{grid-template-columns:1fr}.video-library-list>a:nth-child(odd){border-right:0}.video-library summary{padding:14px;font-size:11px}.video-library summary b{margin-right:8px}}
/* PMT past paper library */
.paper-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0 30px}.paper-search{height:52px;display:flex;align-items:center;gap:12px;padding:0 16px;border-radius:15px;background:#f0f0ee;flex:1;max-width:600px}.paper-search>span{font-size:23px;color:#777}.paper-search input{border:0;outline:0;background:transparent;min-width:0;flex:1;font-size:14px}.paperfilters{margin:0}.paperfilters label{font-size:10px;color:#777;display:flex;flex-direction:column;gap:6px}.paperfilters select{border:1px solid #e1e1de;border-radius:10px;background:#fff;padding:11px 28px 11px 12px;font-size:11px;min-width:135px}.paperset{border:1px solid #e7e7e4;border-radius:20px;background:#fff;padding:20px 18px 24px;margin:0 0 22px}.paperset>header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eee;padding:0 4px 15px;margin-bottom:17px}.paperset>header h2{font-size:19px;font-weight:500;margin:0}.paperset>header span{font-size:10px;color:#999}.paper-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 16px}.paper-card.paper-tile{padding:8px;border:0;background:#fff;min-height:0}.paper-preview{height:185px;width:100%;border:1px solid #eee;border-radius:18px;background:#f4f4f3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;overflow:hidden;transition:background .2s,transform .2s}.paper-preview:hover{background:#ececea;transform:translateY(-2px)}.pdf-glyph{width:68px;height:88px;border:1px solid #ccc;border-radius:3px;background:#fff;box-shadow:0 3px 12px #00000012;display:grid;place-items:center;font-size:13px;font-weight:700;color:#666;position:relative}.pdf-glyph:before,.pdf-glyph:after{content:'';position:absolute;left:10px;right:10px;height:1px;background:#d7d7d7}.pdf-glyph:before{top:35px}.pdf-glyph:after{top:43px}.previewtitle{font-size:10px;line-height:1.5;color:#666}.previewmeta{font-size:9px;color:#999}.paper-card.paper-tile h3{font-size:16px;font-weight:500;margin:9px 4px 13px}.paper-action{display:flex;align-items:center;justify-content:center;border:0;border-radius:12px;background:#f4f4f3;padding:12px 10px;margin:8px 4px 0;font-size:12px;color:#191919;text-align:center;transition:background .18s}.paper-action:hover{background:#e9e9e7}.paper-attribution{font-size:10px;line-height:1.7;color:#888;margin-top:22px}.paper-attribution a{text-decoration:underline;text-underline-offset:2px}
@media(max-width:780px){.paper-toolbar{align-items:stretch;flex-direction:column}.paper-search{max-width:none}.paperfilters{align-items:end}.paperfilters label{flex:1}.paperfilters select{min-width:0;width:100%}.paperset{padding:15px 10px}.paper-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.paper-preview{height:155px}}
@media(max-width:480px){.paper-grid{grid-template-columns:1fr 1fr}.paper-card.paper-tile{padding:3px}.paper-preview{height:128px}.previewtitle{font-size:8px}.paper-card.paper-tile h3{font-size:13px}.paper-action{font-size:10px;padding:11px 5px}.paperset>header h2{font-size:16px}.paperset>header span{font-size:8px}}

/* Refined navy/slate revision library */
:root{--ink:#172433;--muted:#667382;--line:#e0e6ec;--paper:#f4f6f8;--blue:#294b69}
.topic-page,.papers-page{width:min(1240px,calc(100% - 48px));padding-top:70px}.topic-page .pageintro,.papers-page .pageintro{margin:0 auto 32px;max-width:900px}.topic-page .pageintro h1,.papers-page .pageintro h1{font-size:clamp(48px,6vw,70px);letter-spacing:-.065em;color:#172433}.topic-page .pageintro p,.papers-page .pageintro p{font-size:16px;color:#677382;max-width:700px}.topic-page .period,.papers-page .period{color:#355a7c}.topic-browser,.paper-browser{background:#fff;border:1px solid #e1e6ec;border-radius:24px;padding:28px 30px 30px;box-shadow:0 14px 44px rgba(21,37,53,.045)}.topic-controls{margin-bottom:24px}.topic-page .searchbar{height:60px;border-radius:14px;background:#f5f7f9;border-color:#e7ebef;box-shadow:none}.topic-page .searchbar input{font-size:15px}.topic-page .searchbar>span{color:#536477}.topic-page .searchbar kbd{font-size:11px}.topic-page .filterrow{margin:18px 0 0;gap:16px}.topic-page .filterlabel{font-size:10px;color:#637184;letter-spacing:.11em}.topic-page .chips{gap:8px}.topic-page .chip{font-size:12px;padding:9px 15px;border-color:#d9e0e6;color:#354559}.topic-page .chip.selected{background:#243f59;border-color:#243f59;color:#fff}.topic-page .reset{font-size:12px;color:#53677b}.topic-page .topicmeta{padding:15px 2px;margin-bottom:18px;border-bottom-color:#e7ebef;font-size:12px;color:#798594}.topic-page .topicmeta span:first-child{font-size:14px;color:#29394a}.topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.topic-card{min-height:190px;padding:20px;border:1px solid #e4e9ee;border-radius:17px;background:#fff;display:flex;flex-direction:column;transition:transform .18s,border-color .18s,box-shadow .18s}.topic-card:hover{transform:translateY(-2px);border-color:#c6d1db;box-shadow:0 10px 28px rgba(25,43,62,.06)}.topic-card-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.topic-grade{display:inline-flex;border:1px solid #dce4ea;background:#f4f7f9;color:#40566b;border-radius:100px;padding:6px 10px;font-size:11px;font-weight:600}.topic-rate{display:flex;flex-direction:column;align-items:flex-end}.topic-rate b{font-size:17px;line-height:1;color:#284965}.topic-rate small{margin-top:4px;color:#83909d;font-size:9px;text-transform:uppercase;letter-spacing:.07em}.topic-card h2{font-size:19px;line-height:1.3;letter-spacing:-.025em;color:#1b2938;font-weight:650;margin:17px 0 7px}.topic-card>p{font-size:13px;line-height:1.55;color:#718090;margin:0}.topic-card-foot{margin-top:auto;padding-top:17px;display:flex;align-items:center;justify-content:space-between;gap:10px}.topic-tier{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#7a8794;font-weight:650}.topic-video{display:inline-flex;gap:8px;align-items:center;color:#294b69;font-size:12px;font-weight:650}.topic-video:hover{text-decoration:underline;text-underline-offset:3px}.topic-no-video{font-size:10px;color:#8a96a1}.topic-page .video-library{margin-top:26px}.topic-page .source-note{font-size:12px;color:#768391;max-width:900px}.topic-page .source-note a{color:#405e79}.paper-browser{padding:30px}.paper-browser-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:2px 2px 24px;border-bottom:1px solid #e7ebef}.paper-browser-heading h1{font-size:43px;line-height:1.05;letter-spacing:-.055em;margin:12px 0 9px;color:#172433}.paper-browser-heading p{font-size:14px;color:#758190;margin:0;line-height:1.6}.paper-browser-heading .eyebrow{color:#637489}.paper-count{flex:none;color:#6d7b89;font-size:14px;padding-bottom:3px}.paper-controls{display:grid;grid-template-columns:minmax(190px,1.7fr) repeat(4,minmax(125px,1fr));gap:14px;padding:22px 0 25px}.paper-controls label{display:flex;flex-direction:column;gap:8px;color:#354457;font-size:12px;font-weight:600}.paper-controls input,.paper-controls select{height:52px;width:100%;border:1px solid #dce3e9;border-radius:12px;background:#fafbfc;padding:0 14px;color:#263647;font-size:13px;font-weight:450;outline:none}.paper-controls input:focus,.paper-controls select:focus{border-color:#56738d;box-shadow:0 0 0 3px #294b691c}.paper-group{margin-top:11px}.paper-group>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 1px;border-bottom:1px solid #e6ebef}.paper-group>header h2{font-size:18px;font-weight:650;letter-spacing:-.025em;color:#1d2d3e;margin:0}.paper-group>header span{font-size:11px;color:#82909c}.paper-list{display:flex;flex-direction:column}.paper-row{display:flex;align-items:center;gap:15px;padding:15px 2px;border-bottom:1px solid #edf0f3}.paper-row:last-child{border-bottom:0}.paper-row-icon{width:46px;height:46px;flex:none;display:grid;place-items:center;border-radius:12px;background:#edf2f6;color:#3d5c78;font-size:22px}.paper-row-info{min-width:0;flex:1}.paper-row-info h3{font-size:15px;font-weight:650;color:#1e2d3d;margin:0 0 4px}.paper-row-info p{font-size:12px;color:#74818e;margin:0}.paper-row-actions{display:flex;align-items:center;gap:9px}.paper-open,.paper-mark{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:142px;padding:12px 15px;border-radius:10px;font-size:11px;font-weight:650;transition:background .18s,border-color .18s}.paper-open{color:#fff;background:#233f59;border:1px solid #233f59}.paper-open:hover{background:#172f46}.paper-mark{color:#304a63;border:1px solid #ccd7e1;background:#fff}.paper-mark:hover{background:#f2f5f7;border-color:#aebdca}.paper-open span,.paper-mark span{font-size:13px}.paper-attribution{font-size:11px;color:#768391;margin:24px 2px 0}.paper-attribution a{color:#3e5d79;text-decoration:underline;text-underline-offset:3px}.papers-page .empty,.topic-page .empty{grid-column:1/-1;border:1px dashed #d8e0e6;border-radius:14px;color:#667788;background:#fafbfc}
@media(max-width:1000px){.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.paper-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.paper-controls label:first-child{grid-column:span 3}}
@media(max-width:680px){.topic-page,.papers-page{width:calc(100% - 30px);padding-top:52px}.topic-browser,.paper-browser{padding:18px 15px 20px;border-radius:18px}.topic-grid{grid-template-columns:1fr}.topic-card{min-height:170px}.paper-browser-heading{align-items:flex-start;flex-direction:column;gap:10px;padding-bottom:18px}.paper-browser-heading h1{font-size:36px}.paper-controls{grid-template-columns:1fr 1fr;gap:10px;padding:17px 0}.paper-controls label:first-child{grid-column:span 2}.paper-controls input,.paper-controls select{height:48px}.paper-row{align-items:flex-start;flex-wrap:wrap;gap:10px;padding:14px 0}.paper-row-icon{width:40px;height:40px}.paper-row-info{width:calc(100% - 55px);flex:initial;align-self:center}.paper-row-info h3{font-size:14px}.paper-row-info p{font-size:11px}.paper-row-actions{width:100%;padding-left:50px}.paper-open,.paper-mark{min-width:0;flex:1;padding:11px 8px;font-size:10px}}
/* Landing page visual language */
.hero{max-width:1120px;margin:0 auto;text-align:center;padding:100px 0 68px}.hero .eyebrow{justify-content:center}.hero h1{max-width:1080px;margin:25px auto 22px;font-size:clamp(48px,7vw,82px);line-height:1.05;letter-spacing:-.065em;color:#172433}.hero-highlight{display:inline-block;background:#e5ebf1;border-radius:12px;padding:0 .13em .05em}.hero>p{font-size:18px;line-height:1.65;color:#667382;margin:0 auto;max-width:660px}.heroactions{justify-content:center;gap:12px;margin-top:30px}.hero .darkbtn{background:#233f59;border-color:#233f59;border-radius:12px;padding:16px 20px;font-size:14px}.hero .darkbtn:hover{background:#172f46}.outlinebtn{display:inline-flex;align-items:center;gap:22px;border:1px solid #cdd7e0;border-radius:12px;background:#fff;padding:16px 20px;color:#29445e;font-weight:650;font-size:14px;transition:background .18s,border-color .18s}.outlinebtn:hover{background:#f4f7f9;border-color:#afbdc9}.hero-meta{justify-content:center;font-size:11px;color:#74818f}.features{padding:70px 0 50px}.sectionhead h2{font-size:36px;color:#172433}.featuregrid{gap:16px}.feature{min-height:260px;padding:22px;border-radius:18px;background:#fff;border-color:#e2e7ec}.featureindex{font-size:10px;color:#718091}.featureicon{color:#345571;margin:28px 0 14px}.feature h3{font-size:17px;color:#1c2b3a}.feature p{font-size:13px;line-height:1.65;color:#718090}.cardlink{font-size:12px;color:#294b69}
@media(max-width:780px){.hero{padding:76px 0 50px}.hero h1{font-size:clamp(42px,9vw,62px)}.hero>p{font-size:15px}.hero-meta{font-size:9px;gap:9px;flex-wrap:wrap}.features{padding-top:50px}.sectionhead h2{font-size:29px}}

/* Final polish: light, spacious surfaces and a consistent slate palette. */
:root{--paper:#f7f8fa;--line:#e3e8ed;--blue:#294b69;--shadow:0 18px 55px rgba(27,45,63,.055)}
body{background:#f7f8fa;color:#172433}
.nav{background:rgba(255,255,255,.86);border-color:#fff;box-shadow:0 8px 32px rgba(27,45,63,.055)}
.pageintro .eyebrow,.eyebrow{color:#657588}
.page:not(.topic-page):not(.papers-page) .pageintro{max-width:920px;margin:0 auto 36px}
.page:not(.topic-page):not(.papers-page) .pageintro h1{font-size:clamp(48px,6.5vw,72px);color:#172433}
.page:not(.topic-page):not(.papers-page) .pageintro p{font-size:16px;color:#6c7885}
.topic-page,.papers-page{padding-top:76px}
.topic-page .pageintro,.papers-page .pageintro{max-width:1240px;margin-bottom:36px}
.topic-browser,.paper-browser{border-radius:22px;box-shadow:0 12px 40px rgba(27,45,63,.035)}
.topic-card{box-shadow:0 2px 8px rgba(27,45,63,.018)}
.topic-card h2{font-size:20px}
.topic-card>p{font-size:14px;line-height:1.65}
.topic-video{padding:8px 11px;border:1px solid #d9e2e9;border-radius:9px;background:#f8fafb}
.topic-video:hover{background:#eef3f6;text-decoration:none}
.paper-browser-heading h1{font-size:clamp(42px,5vw,58px)}
.paper-controls{grid-template-columns:minmax(220px,1.6fr) repeat(4,minmax(130px,1fr));gap:12px}
.paper-controls input,.paper-controls select{background:#fff;border-color:#dfe5ea;border-radius:11px}
.paper-group{margin-top:18px}
.paper-group>header{padding:16px 4px}
.paper-row{padding:17px 4px}
.paper-row-info h3{font-size:16px}
.paper-row-info p{font-size:13px}
.paper-open,.paper-mark{font-size:12px;border-radius:11px}
.feature{box-shadow:0 3px 12px rgba(27,45,63,.02)}
.feature:hover{box-shadow:0 14px 34px rgba(27,45,63,.07)}
@media(max-width:1000px){.paper-controls{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.topic-page,.papers-page{padding-top:54px}.topic-card h2{font-size:19px}.topic-card>p{font-size:13px}.paper-controls{grid-template-columns:1fr 1fr}.paper-controls label:first-child{grid-column:span 2}.page:not(.topic-page):not(.papers-page) .pageintro h1{font-size:clamp(42px,11vw,58px)}.paper-row-info p{font-size:11px}}

/* Practice: a quiet exam-paper canvas with immediate, transparent marking. */
.practicepage{width:min(1120px,calc(100% - 48px))}
.practicepage .pageintro{margin-bottom:30px}
.practicepage .stats{border-radius:15px;box-shadow:0 5px 22px rgba(24,42,59,.025)}
.practicefilters{padding:15px 18px;background:#fff;border:1px solid #e4e9ee;border-radius:14px}
.practicefilters label{color:#415264;font-size:12px;font-weight:600}
.practicefilters select{border-radius:10px;border-color:#dce4ea;padding:12px 36px 12px 13px;font-size:12px}
.practicefilters .chip{font-size:11px;padding:8px 13px;border-color:#d9e1e8;color:#40566b}
.practicefilters .chip.selected{background:#294b69;border-color:#294b69}
.exam-sheet{min-height:650px;padding:26px 30px 20px;border:2px solid #c9d2da;border-radius:17px;box-shadow:none;display:flex;flex-direction:column;background:#fff}
.exam-sheet .questiontop{padding-bottom:13px;border-bottom:1px solid #e8edf1;color:#7b8793;font-size:10px}
.exam-question{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;padding:25px 0 0;align-items:start}
.exam-number{font:700 22px/1.5 Georgia,serif;color:#182432}
.exam-body .qtopic{display:none}
.exam-body h2{font:500 clamp(20px,2.3vw,27px)/1.55 Georgia,'Times New Roman',serif;letter-spacing:0;color:#1b2026;margin:0 0 17px}
.exam-body .hint{background:#f7f9fb;border:1px solid #edf0f3;border-radius:9px;padding:10px 12px;font:13px/1.55 'DM Sans',sans-serif;color:#697786;max-width:720px}
.exam-body .hint span{font:700 10px 'DM Sans',sans-serif;letter-spacing:.08em;color:#41566b}
.fraction{display:inline-flex;vertical-align:middle;flex-direction:column;text-align:center;line-height:1.1;margin:0 .2em;font-size:.88em}
.fraction>span:first-child{border-bottom:1.5px solid currentColor;padding:0 .2em .08em}
.fraction>span:last-child{padding-top:.08em}
.working-area{flex:1;min-height:260px;margin:20px 0 16px;border-bottom:2px dotted #aeb8c1;position:relative}
.working-area span{position:absolute;bottom:8px;left:0;color:#a0aab4;font-size:10px;letter-spacing:.04em}
.exam-answer{border-top:1px solid #e8edf1;padding-top:17px}
.exam-answer .written{margin:0;align-items:end;gap:12px}
.exam-answer .written label{font-size:12px;font-weight:600;color:#445465}
.exam-answer .written input{min-width:180px;border-radius:9px;font-size:14px;padding:12px 14px}
.exam-answer .written .darkbtn{background:#294b69;border-color:#294b69;border-radius:9px;padding:12px 15px;font-size:12px}
.exam-answer .answers{margin:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.exam-answer .answer{font-size:13px;border-radius:10px;padding:13px 15px}
.exam-sheet .feedback{margin:15px 0 0;font-size:13px}
.exam-sheet .questionbottom{margin-top:auto;padding-top:15px;color:#788593}
.exam-sheet .questionbottom>span{font-size:11px;color:#788593}
.exam-sheet .nextbtn{font-size:12px;color:#294b69}
.topic-source{font-size:11px;color:#7c8996}
.topic-page .topic-card{min-height:165px}
.topic-page .topic-card-foot{padding-top:20px}
.topic-page .topicmeta{margin-bottom:18px}
.topic-page .video-library{display:none}
@media(max-width:680px){.practicepage{width:calc(100% - 30px)}.exam-sheet{padding:18px 16px;min-height:570px}.exam-question{grid-template-columns:25px 1fr;gap:6px;padding-top:20px}.exam-number{font-size:19px}.working-area{min-height:210px}.exam-answer .answers{grid-template-columns:1fr}.exam-answer .written{align-items:stretch;flex-direction:column}.exam-answer .written input{min-width:0;width:100%}.exam-answer .written .darkbtn{align-self:flex-start}.practicefilters{padding:13px;gap:10px}}
