@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap');
:root{--paper:#f4f0e7;--ink:#20231f;--muted:#77796f;--line:#d9d4c8;--blue:#2548d8;--white:#fffdf8;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--mono:'DM Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}a{color:inherit}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 7vw}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:700;letter-spacing:-.04em;font-size:20px}.brand-mark{display:grid;place-items:center;background:var(--blue);color:white;width:30px;height:30px;font-family:var(--serif);font-style:italic;border-radius:50%}.brand-light{font-weight:400;color:var(--muted)}nav{display:flex;gap:28px}nav a{text-decoration:none;font-size:13px;color:#55584f}.hero{padding:100px 12vw 82px;min-height:520px;position:relative;border-bottom:1px solid var(--line);background-image:radial-gradient(#d5d0c4 0.7px,transparent .7px);background-size:17px 17px}.eyebrow{font:11px var(--mono);letter-spacing:.12em;color:var(--blue);margin:0 0 20px}.hero h1{font:700 clamp(58px,8vw,104px)/.98 var(--serif);letter-spacing:-.06em;margin:0;max-width:700px}.hero h1 em{color:var(--blue);font-weight:600}.intro{font-size:17px;line-height:1.7;max-width:470px;color:#62645b;margin:28px 0}.primary-link{display:inline-flex;gap:35px;align-items:center;background:var(--blue);color:white;text-decoration:none;padding:15px 19px;font-size:13px}.primary-link span{font-size:20px}.hero-note{position:absolute;right:12vw;bottom:45px;font:11px var(--mono);color:var(--muted)}.dot{display:inline-block;width:7px;height:7px;background:#5b8a5d;border-radius:50%;margin-right:8px}.section{padding:76px 12vw;border-bottom:1px solid var(--line)}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:30px}.section h2{font:600 40px var(--serif);letter-spacing:-.04em;margin:0}.muted{font-size:13px;color:var(--muted);max-width:260px;line-height:1.6}.subject-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.subject-card{background:var(--white);border:1px solid var(--line);padding:23px;min-height:135px;cursor:pointer;transition:.18s;text-align:left}.subject-card:hover,.subject-card.active{border-color:var(--blue);transform:translateY(-2px)}.subject-card .num{font:11px var(--mono);color:var(--blue)}.subject-card h3{font:600 22px var(--serif);margin:18px 0 5px}.subject-card p{font-size:12px;color:var(--muted);margin:0}.filters{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:12px;margin-bottom:20px}.filters label,.admin-form label{font:11px var(--mono);color:var(--muted);display:grid;gap:8px}.filters select,.filters input,.admin-form input,.admin-form textarea,.admin-form select{width:100%;border:1px solid var(--line);background:var(--white);padding:12px;font:14px var(--sans);color:var(--ink);border-radius:0}.question-list{display:grid;gap:12px}.question{background:var(--white);border:1px solid var(--line);padding:24px}.question-top{display:flex;justify-content:space-between;gap:12px;font:10px var(--mono);color:var(--blue);text-transform:uppercase;letter-spacing:.08em}.question h3{font:600 21px/1.35 var(--serif);margin:18px 0}.question .marks{color:var(--muted)}.question-actions{display:flex;gap:10px;flex-wrap:wrap}.small-btn,.admin-button{border:1px solid var(--blue);background:transparent;color:var(--blue);padding:9px 13px;font:12px var(--sans);cursor:pointer}.small-btn.primary,.admin-button.primary{background:var(--blue);color:white}.answer{display:none;border-top:1px solid var(--line);margin-top:18px;padding-top:16px;font-size:14px;line-height:1.7}.answer.open{display:block}.answer strong{display:block;font:10px var(--mono);letter-spacing:.1em;color:var(--blue);margin:12px 0 5px}.empty{padding:30px;border:1px dashed var(--line);color:var(--muted);font-size:14px}.paper-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.paper-links a{background:var(--white);border:1px solid var(--line);padding:22px;text-decoration:none;display:grid;gap:14px}.paper-links b{font:600 22px var(--serif)}.paper-links span{font-size:12px;color:var(--muted)}footer{padding:28px 7vw;display:flex;justify-content:space-between;font:10px var(--mono);color:var(--muted)}
.admin-wrap{max-width:900px;margin:60px auto;padding:0 22px}.admin-panel{background:var(--white);border:1px solid var(--line);padding:30px}.admin-panel h1{font:600 38px var(--serif);margin:0 0 8px}.admin-panel>p{color:var(--muted);font-size:13px;line-height:1.6}.admin-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:25px}.admin-form .wide{grid-column:1/-1}.admin-form textarea{min-height:100px;resize:vertical}.admin-actions{display:flex;gap:10px;align-items:center;margin-top:18px}.admin-list{display:grid;gap:8px;margin-top:28px}.admin-row{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid var(--line);padding:14px 0}.admin-row small{display:block;color:var(--muted);margin-top:4px}.danger{color:#a23c32;border-color:#a23c32}.notice{padding:12px;background:#eef0fb;color:#273f9c;font-size:13px;margin:15px 0}.error{color:#a23c32;font-size:13px}.hidden{display:none!important}
@media(max-width:700px){.topbar{padding:0 5vw}nav{gap:12px}nav a{font-size:11px}.hero{padding:75px 7vw 100px}.hero-note{left:7vw;right:auto}.section{padding:55px 7vw}.subject-grid,.paper-links{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr}.section-head{display:block}.muted{margin-top:12px}.admin-form{grid-template-columns:1fr}.admin-form .wide{grid-column:auto}footer{padding:24px 5vw;gap:12px;flex-wrap:wrap}}
