/* Finn's Economics: Past Paper Finder styles */
/* Finn's Economics palette (from the live site's Kadence globals) */
.fe-ppf{
  --forest:#0E3B2E; --forest-2:#15503F; --gold:#C9A66B; --gold-soft:#F1E7D4;
  --navy:#14213D; --ink:#1F2A44; --slate:#3A5A78; --mist:#6E8AA3;
  --paper:#F5F3EE; --card:#FFFFFF; --card-2:#FAF9F6; --sage:#EAF0EB; --sand:#EFEAE0;
  --red:#9B2C1F; --red-soft:#F7E7E3;
  --shadow-1:0 1px 2px rgba(20,33,61,.05),0 2px 6px rgba(20,33,61,.05);
  --shadow-2:0 2px 4px rgba(20,33,61,.05),0 10px 24px rgba(20,33,61,.08);
  --display:"Fraunces",Georgia,"Times New Roman",serif;
  --body:"Work Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  color-scheme:light;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--body);
  font-size:15.5px;
  line-height:1.55;
  padding-inline:16px;
  padding-block:28px 56px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.36 0 0 0 0 0.30 0 0 0 0 0.20 0 0 0 0.035 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}
.fe-ppf *{box-sizing:border-box}
.fe-ppf [hidden]{display:none !important}
.fe-ppf .wrap{max-width:1160px;margin:0 auto;display:flex;flex-direction:column;gap:22px}

/* hero card */
.fe-ppf .hero{background:var(--forest);color:var(--paper);border-radius:18px;padding:clamp(22px,4vw,40px);box-shadow:var(--shadow-2);display:flex;flex-direction:column;gap:18px}
.fe-ppf .hero h1{font-family:var(--display);font-weight:500;font-size:clamp(30px,4.6vw,46px);line-height:1.05;margin:0;letter-spacing:-.01em;text-wrap:balance;color:var(--paper)}
.fe-ppf .hero .lede,.fe-ppf .hero .suggest,.fe-ppf .hero .stats,.fe-ppf .hero .boards{font-family:var(--body)}
.fe-ppf .lede{margin:0;max-width:60ch;color:#D9E3DD;font-size:16.5px}

/* board chooser */
.fe-ppf .boards{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fe-ppf .boards button{font:inherit;font-size:14.5px;font-weight:500;border:0;box-shadow:inset 0 0 0 1px rgba(201,166,107,.45);background:transparent;color:#E6EDE8;padding:8px 15px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:baseline;gap:7px}
.fe-ppf .boards button:hover:not(:disabled){background:rgba(201,166,107,.18)}
.fe-ppf .boards button[aria-pressed="true"]{background:var(--gold);color:var(--navy);font-weight:600;box-shadow:none}
.fe-ppf .boards button em{font-style:normal;font-size:12px;opacity:.65;font-variant-numeric:tabular-nums}
.fe-ppf .boards button:disabled{opacity:.42;cursor:default;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.fe-ppf .boards .bl{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#9FBCAC;font-weight:600;margin-right:2px}

.fe-ppf .searchbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.fe-ppf .search{flex:1 1 340px;position:relative}
.fe-ppf .search svg{position:absolute;left:18px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--mist);pointer-events:none}
.fe-ppf .search input{width:100%;font:inherit;font-size:17px;padding:16px 18px 16px 50px;border:0;border-radius:999px;background:var(--card);color:var(--navy);box-shadow:0 6px 18px rgba(0,0,0,.18)}
.fe-ppf .search input::placeholder{color:var(--mist)}
.fe-ppf .search input:focus{outline:3px solid var(--gold);outline-offset:2px}
.fe-ppf .tabs{display:flex;gap:4px;background:rgba(255,255,255,.08);padding:5px;border-radius:999px}
.fe-ppf .tabs button{font:inherit;font-weight:500;border:0;background:transparent;color:#CFDAD3;padding:10px 16px;border-radius:999px;cursor:pointer;white-space:nowrap}
.fe-ppf .tabs button[aria-selected="true"]{background:var(--gold);color:var(--navy);font-weight:600}
.fe-ppf .suggest{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13.5px;color:#BFD0C6}
.fe-ppf .suggest button{font:inherit;font-size:13.5px;border:0;background:rgba(255,255,255,.1);color:var(--paper);padding:5px 12px;border-radius:999px;cursor:pointer}
.fe-ppf .suggest button:hover{background:rgba(201,166,107,.35)}
.fe-ppf .stats{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:13.5px;color:#BFD0C6}
.fe-ppf .stats b{font-family:var(--display);font-weight:500;font-size:20px;color:var(--gold);margin-right:5px;font-variant-numeric:tabular-nums}

/* layout */
.fe-ppf .layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:22px;align-items:start}
@media (max-width:860px){.fe-ppf .layout{grid-template-columns:minmax(0,1fr)}}
.fe-ppf aside{background:var(--card-2);border-radius:16px;padding:20px;box-shadow:var(--shadow-1);position:sticky;top:calc(env(safe-area-inset-top,0px) + 14px)}
@media (max-width:860px){.fe-ppf aside{position:static}}
.fe-ppf aside summary{font-family:var(--display);font-size:20px;font-weight:500;color:var(--navy);cursor:pointer;list-style:none}
.fe-ppf aside summary::-webkit-details-marker{display:none}
.fe-ppf .fbody{display:flex;flex-direction:column;gap:18px;margin-top:14px}
.fe-ppf .fgroup{display:flex;flex-direction:column;gap:8px}
.fe-ppf .flabel{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);font-weight:600}
.fe-ppf select{font:inherit;font-size:14.5px;padding:10px 12px;border:0;border-radius:10px;background:var(--card);color:var(--navy);width:100%;box-shadow:inset 0 0 0 1px rgba(20,33,61,.08)}
.fe-ppf .pills{display:flex;flex-wrap:wrap;gap:6px}
.fe-ppf .pills button{font:inherit;font-size:13.5px;border:0;background:var(--sand);color:var(--ink);padding:6px 12px;border-radius:999px;cursor:pointer}
.fe-ppf .pills button[aria-pressed="true"]{background:var(--forest);color:var(--paper)}
.fe-ppf .clear{font:inherit;font-size:13.5px;background:none;border:0;color:var(--forest);cursor:pointer;padding:0;text-align:left;font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--gold)}

.fe-ppf .resulthead{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;margin:2px 4px 14px}
.fe-ppf .resulthead h2{font-family:var(--display);font-weight:500;font-size:22px;margin:0;color:var(--navy)}
.fe-ppf .resulthead h2 b{font-weight:600;color:var(--forest);font-variant-numeric:tabular-nums}
.fe-ppf .resulthead span{font-size:13.5px;color:var(--slate)}
.fe-ppf .list{display:flex;flex-direction:column;gap:16px}

/* question card */
.fe-ppf .qcard{background:var(--card);border-radius:16px;box-shadow:var(--shadow-1);padding:22px 24px 20px;display:flex;flex-direction:column;gap:10px;transition:box-shadow .2s}
.fe-ppf .qcard:hover{box-shadow:var(--shadow-2)}
.fe-ppf .qtop{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.fe-ppf .qnum{font-family:var(--display);font-weight:600;font-size:16px;background:var(--forest);color:var(--gold);border-radius:10px;min-width:48px;height:40px;display:grid;place-items:center;padding:0 11px;font-variant-numeric:tabular-nums;white-space:nowrap}
.fe-ppf .qmeta{display:flex;flex-direction:column;line-height:1.3}
.fe-ppf .qmeta b{font-weight:600;color:var(--navy)}
.fe-ppf .qmeta small{color:var(--slate);font-size:13px}
.fe-ppf .tagrow{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
.fe-ppf .tag{font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--gold-soft);color:#6B5024;white-space:nowrap}
.fe-ppf .tag.cw{background:var(--sand);color:var(--ink);font-weight:500}
.fe-ppf .tag.opt{background:var(--sage);color:var(--forest);font-weight:500}
.fe-ppf .case{font-size:14px;color:var(--slate)}
.fe-ppf .case strong{color:var(--forest);font-weight:600}
.fe-ppf .case.kw{font-size:13.5px;color:var(--mist)}
.fe-ppf .qtext{font-family:var(--display);font-weight:400;font-size:18px;line-height:1.5;color:var(--navy);margin:2px 0 0;white-space:pre-line;max-width:70ch}
.fe-ppf .qtext.clamp{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.fe-ppf .stim{background:var(--card-2);border-radius:10px;padding:10px 14px;font-size:14.5px;color:var(--slate);max-width:70ch}
.fe-ppf .stim b{color:var(--ink);font-weight:600}
.fe-ppf mark{background:#F3E3BF;color:inherit;border-radius:3px;padding:0 2px}
.fe-ppf .textbtn{font:inherit;font-size:13.5px;background:none;border:0;color:var(--forest);padding:0;cursor:pointer;font-weight:600;align-self:flex-start}
.fe-ppf .topics{display:flex;flex-wrap:wrap;gap:6px}
.fe-ppf .topics button{font:inherit;font-size:12.5px;border:0;padding:3px 10px;border-radius:999px;cursor:pointer;background:var(--sage);color:var(--forest)}
.fe-ppf .topics button.main{background:var(--forest);color:var(--paper)}
.fe-ppf .actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.fe-ppf .btn{font:inherit;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:10px;border:0;cursor:pointer;background:var(--sand);color:var(--navy)}
.fe-ppf .btn:hover{background:#E6DFD1}
.fe-ppf .btn.primary{background:var(--forest);color:var(--paper)}
.fe-ppf .btn.primary:hover{background:var(--forest-2)}
.fe-ppf .btn.gold{background:var(--gold);color:var(--navy);font-weight:600}
.fe-ppf .btn.gold:hover{background:#D3B37E}
.fe-ppf .btn.ghost{background:var(--sage);color:var(--forest)}
.fe-ppf .btn small{font-size:12px;opacity:.7;font-variant-numeric:tabular-nums}
.fe-ppf .btn svg{width:15px;height:15px;flex:none}

/* insight + unlock panels */
.fe-ppf .panel{border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.fe-ppf .panel.insight{background:var(--sage)}
.fe-ppf .panel.lock{background:var(--gold-soft)}
.fe-ppf .panel h3{font-family:var(--display);font-weight:500;font-size:18px;margin:0;color:var(--forest)}
.fe-ppf .panel.lock h3{color:#5A4320}
.fe-ppf .igrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.fe-ppf .icell{background:rgba(255,255,255,.7);border-radius:10px;padding:10px 12px}
.fe-ppf .icell h4{margin:0 0 3px;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--forest)}
.fe-ppf .icell p{margin:0;font-size:14.5px}
.fe-ppf .marking{font-size:13.5px;color:var(--slate)}
.fe-ppf .fine{font-size:12px;color:var(--mist)}
.fe-ppf .lockrow{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.fe-ppf .panel.lock p{margin:0;font-size:14.5px;max-width:62ch}
.fe-ppf .price{font-family:var(--display);font-size:22px;color:var(--navy)}

/* marks split */
.fe-ppf .aosplit{display:flex;flex-wrap:wrap;gap:6px}
.fe-ppf .aosplit span{font-size:12.5px;background:var(--card-2);border-radius:999px;padding:3px 10px;color:var(--slate)}
.fe-ppf .aosplit span b{color:var(--forest);font-weight:600}

/* mcq */
.fe-ppf .opts{list-style:none;padding:0;margin:4px 0 0;display:grid;gap:8px;max-width:70ch}
.fe-ppf .opts button{width:100%;text-align:left;font:inherit;font-size:15.5px;display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:center;background:var(--card-2);color:var(--navy);border:0;border-radius:12px;padding:10px 14px;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(20,33,61,.06)}
.fe-ppf .opts button:hover{background:var(--sand)}
.fe-ppf .opts .l{font-family:var(--display);font-weight:600;width:30px;height:30px;border-radius:50%;background:var(--sand);display:grid;place-items:center}
.fe-ppf .opts button.right{background:var(--sage)}
.fe-ppf .opts button.right .l{background:var(--forest);color:var(--gold)}
.fe-ppf .opts button.wrong{background:var(--red-soft)}
.fe-ppf .opts button.wrong .l{background:var(--red);color:#fff}
.fe-ppf .verdict{font-weight:600;font-size:14.5px;min-height:1em}
.fe-ppf .verdict.ok{color:var(--forest)} .fe-ppf .verdict.no{color:var(--red)}
.fe-ppf .reveal{font:inherit;font-size:13.5px;background:var(--sand);border:0;border-radius:999px;padding:5px 13px;cursor:pointer;color:var(--navy);align-self:flex-start}

.fe-ppf .empty{background:var(--card);border-radius:16px;padding:40px 28px;text-align:center;color:var(--slate);box-shadow:var(--shadow-1)}
.fe-ppf .empty h3{font-family:var(--display);font-weight:500;color:var(--navy);margin:0 0 6px}
.fe-ppf .more{align-self:center;margin-top:6px}
.fe-ppf .loading{background:var(--card);border-radius:16px;padding:40px 28px;text-align:center;color:var(--slate);box-shadow:var(--shadow-1)}

/* papers table */
.fe-ppf .papers{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.fe-ppf .pcard{background:var(--card);border-radius:14px;box-shadow:var(--shadow-1);padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.fe-ppf .pcard .ser{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:600;filter:brightness(.8)}
.fe-ppf .pcard h3{font-family:var(--display);font-weight:500;font-size:19px;margin:0;color:var(--navy);line-height:1.2}
.fe-ppf .pcard p{margin:0;font-size:13.5px;color:var(--slate)}
.fe-ppf .pcard .pnote{font-size:12.5px;color:var(--mist)}
.fe-ppf .pcard .actions{margin-top:auto}
.fe-ppf .pcard .btn{padding:7px 12px;font-size:13.5px}

.fe-ppf .foot{font-size:12.5px;color:var(--slate);max-width:85ch;margin:6px 4px 0}
.fe-ppf button:focus-visible,.fe-ppf a:focus-visible,.fe-ppf select:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
@media (max-width:560px){.fe-ppf .qcard{padding:18px}.fe-ppf .tagrow{margin-left:0}.fe-ppf .tabs{width:100%}.fe-ppf .tabs button{flex:1;padding:9px 6px;font-size:14px}.fe-ppf .search input{font-size:16px}.fe-ppf .qtext{font-size:17px}}
@media (prefers-reduced-motion:no-preference){.fe-ppf .qcard,.fe-ppf .pcard{animation:feRise .22s ease-out both}}
@keyframes feRise{from{transform:translateY(4px)}to{transform:none}}
