@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400..700&family=Instrument+Sans:wght@400..600&family=JetBrains+Mono:wght@400;500&display=swap');
:root{
  --bg:#fbfbfa; --bg-card:#ffffff; --bg-inset:#f1f1ee; --bg-hover:#f5f5f2;
  --border:#e7e7e3; --border-strong:#cfcfc9;
  --text:#101014; --text-2:#54555e; --text-3:#9b9ba3;
  --accent:#002fa7; --accent-light:#2450d4;
  --display:'Bricolage Grotesque','Instrument Sans',-apple-system,sans-serif;
  --sans:'Instrument Sans',-apple-system,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;display:flex;min-height:100vh;flex-direction:column}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-light)}
.wrap{max-width:820px;margin:0 auto;padding:0 28px;width:100%}

nav{border-bottom:1px solid var(--border)}
nav .wrap{display:flex;align-items:baseline;justify-content:space-between;padding-top:22px;padding-bottom:18px}
.wordmark{font-family:var(--display);font-size:1.1rem;font-weight:620;letter-spacing:-0.02em;color:var(--text)}
.wordmark::before{content:"\25D0  ";color:var(--accent);font-weight:400}
nav ul{display:flex;gap:28px;list-style:none}
nav ul a{font-size:.85rem;color:var(--text-2);letter-spacing:.02em;padding-bottom:4px}
nav ul a.active{color:var(--text);border-bottom:2px solid var(--accent)}

main{flex:1}
.page{padding:72px 0 96px}
h1{font-family:var(--display);font-size:2.2rem;font-weight:640;letter-spacing:-0.025em;margin-bottom:10px}
h2.rule{font-family:var(--display);font-size:1.15rem;font-weight:600;margin:40px 0 4px}
.prose{max-width:60ch;display:flex;flex-direction:column;gap:18px;font-size:1.02rem;line-height:1.7;margin-top:24px}

.draft-note{font-family:var(--mono);font-size:.68rem;color:var(--text-3);letter-spacing:.06em;margin-top:8px}
.ph{background:var(--bg-inset);border:1px dashed var(--border-strong);border-radius:6px;padding:28px;font-family:var(--mono);font-size:.75rem;color:var(--text-3);letter-spacing:.03em;line-height:1.8}

.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}
.card{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:24px;display:flex;flex-direction:column;gap:8px;color:inherit}
.card:hover{border-color:var(--accent)}
.card h3{font-family:var(--display);font-size:1.15rem;font-weight:600;letter-spacing:-0.015em}
.card p{font-size:.9rem;color:var(--text-2)}

.res-row{display:flex;justify-content:space-between;align-items:baseline;padding:16px 4px;border-bottom:1px solid var(--border)}
.res-row:first-of-type{border-top:1px solid var(--border)}
.res-row .t{font-weight:500;font-size:.95rem}
.res-row .d{color:var(--text-3);font-size:.85rem;margin-left:16px;flex:1}
.res-row .m{font-family:var(--mono);font-size:.68rem;color:var(--accent);letter-spacing:.06em;white-space:nowrap}

.post{display:block;padding:18px 4px;border-bottom:1px solid var(--border)}
.post .pt{font-family:var(--display);font-size:1.02rem;font-weight:560;letter-spacing:-0.01em;color:var(--text)}
.post:hover .pt{color:var(--accent)}
.post .pd{font-family:var(--mono);font-size:.68rem;color:var(--text-3);float:right}
.post .ps{font-size:.88rem;color:var(--text-2);margin-top:4px}

footer{border-top:1px solid var(--border)}
footer .wrap{padding:32px 28px 44px;color:var(--text-3);font-size:.8rem;display:flex;justify-content:space-between}
@media(max-width:640px){.grid{grid-template-columns:1fr}h1{font-size:1.8rem}}

.crumb{font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;margin-bottom:18px}
.crumb a{color:var(--text-3)}
.crumb a:hover{color:var(--accent)}
.pager{display:flex;justify-content:space-between;gap:16px;margin-top:56px;padding-top:20px;border-top:1px solid var(--border);font-size:.88rem}
.pager a{max-width:45%}
.pager .next{margin-left:auto;text-align:right}

.prose ul{padding-left:1.2em;display:flex;flex-direction:column;gap:10px}
.prose li{font-size:1.02rem;line-height:1.7}
.prose li::marker{color:var(--accent)}

.rev{color:#b3261e}

.thesis-card{display:block;border:1px solid var(--accent);border-radius:6px;padding:20px 24px;margin:28px 0 8px;color:inherit}
.thesis-card:hover{background:var(--bg-hover)}
.thesis-card .tc-t{font-family:var(--display);font-weight:620;font-size:1.15rem;color:var(--accent)}
.thesis-card .tc-d{font-size:.9rem;color:var(--text-2);margin-top:4px}
.reads{display:grid;grid-template-columns:230px 1fr 84px;border-top:1px solid var(--border);margin-top:8px}
.reads a{display:contents;color:inherit}
.reads .c{padding:14px 10px 14px 0;border-bottom:1px solid var(--border);font-size:.88rem}
.reads .c1{font-weight:500;color:var(--text)}
.reads a:hover .c1{color:var(--accent)}
.reads .c2{color:var(--text-2)}
.reads .c3{font-family:var(--mono);font-size:.68rem;color:var(--accent);letter-spacing:.06em;text-align:right}
@media(max-width:640px){.reads{grid-template-columns:1fr 70px}.reads .c2{display:none}}

.deck{border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--bg-card)}
.deck img{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#fbfbfa}
.deck-bar{display:flex;align-items:center;justify-content:center;gap:20px;padding:10px;border-top:1px solid var(--border);background:var(--bg-inset)}
.deck-bar button{font-family:var(--mono);font-size:.9rem;line-height:1;color:var(--accent);background:var(--bg-card);border:1px solid var(--border-strong);border-radius:4px;padding:6px 14px;cursor:pointer}
.deck-bar button:hover{border-color:var(--accent);background:var(--bg-hover)}
.deck-bar span{font-family:var(--mono);font-size:.72rem;color:var(--text-3);letter-spacing:.06em;min-width:66px;text-align:center}

.revbox{font-family:var(--mono);font-size:.8rem;line-height:1.65;color:#b3261e;border:2px dashed #b3261e;border-radius:6px;padding:16px 20px;margin:24px 0}
.revbox b{font-weight:500;letter-spacing:.08em;display:block;margin-bottom:8px}
.revbox ul{margin:0;padding-left:18px}
.revbox li{margin:3px 0}

.about-map{margin:4px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:8px}
.about-map li{padding-left:4px}
.about-map li strong{color:var(--text)}

.post .ps{max-width:64ch;line-height:1.55}
.thesis-card .tc-l{font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;color:var(--text-3);display:block;margin-bottom:6px}
