:root { --blue:#0b63ce; --blue-dark:#064f9e; --blue-pale:#e8f2ff; --line:#d6dce8; --ink:#1c1c1c; --muted:#57606a; --bg:#dae7f7; --card:#fff; }
* { box-sizing:border-box; }
body { margin:0; font:14px/1.45 -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; color:var(--ink); background:var(--bg); }
a { color:var(--blue); text-decoration:none; } a:hover { text-decoration:underline; }
.topbar { position:sticky; top:0; z-index:3; display:grid; grid-template-columns:220px minmax(180px, 640px) auto; gap:1rem; align-items:center; min-height:52px; padding:.45rem 1rem; background:var(--blue); color:white; border-bottom:1px solid var(--blue-dark); }
.topbar a { color:white; font-weight:600; margin-left:.75rem; } .brand a { font-size:1.25rem; margin-left:0; }
.top-search { display:flex; gap:.4rem; } .top-search input { width:100%; border:1px solid var(--blue-dark); border-radius:999px; padding:.55rem 1rem; background:#f7fbff; } .top-search button { background:#fff; color:var(--blue-dark); padding:.45rem .8rem; }
.pill, button { border-radius:999px; border:0; background:var(--blue); color:white; font-weight:700; cursor:pointer; padding:.5rem .9rem; }
.layout { max-width:1180px; margin:1rem auto 3rem; padding:0 1rem; display:grid; grid-template-columns:245px minmax(0,1fr); gap:1rem; }
.flash { grid-column:1/-1; background:#fff7d6; border:1px solid #e1c35b; border-radius:8px; padding:.75rem 1rem; }
.sidebar { align-self:start; position:sticky; top:68px; display:grid; gap:.35rem; }
.community { display:block; padding:.7rem .85rem; background:var(--card); border:1px solid var(--line); border-radius:8px; font-weight:800; color:var(--ink); }
.community span { display:block; font-weight:500; color:var(--muted); font-size:.82rem; } .community.active { border-color:var(--blue); background:var(--blue-pale); color:var(--blue-dark); }
.feed { display:grid; gap:.75rem; } .feed.wide { grid-column:1/-1; max-width:920px; margin:0 auto; width:100%; }
.reddit-card, .post-card { background:var(--card); border:1px solid var(--line); border-radius:8px; box-shadow:0 1px 2px rgba(9,30,66,.06); }
.hero { padding:1rem; } .hero h1 { margin:0 0 .2rem; font-size:1.35rem; } .hero p { color:var(--muted); margin:.25rem 0 .9rem; }
.search { display:flex; gap:.5rem; } input, textarea { font:inherit; border:1px solid var(--line); border-radius:6px; padding:.6rem .75rem; background:#fff; } .search input { flex:1; }
.post-card { display:grid; grid-template-columns:46px 1fr; overflow:hidden; }
.vote-rail { background:#f4f8fd; display:flex; flex-direction:column; align-items:center; gap:.2rem; padding:.65rem .25rem; color:var(--muted); font-weight:800; }
.vote-rail button, .comment-votes button { background:transparent; color:var(--muted); padding:.15rem .35rem; font-size:1rem; } .vote-rail button:hover, .comment-votes button:hover { color:var(--blue); background:var(--blue-pale); }
.post-body { padding:.8rem 1rem; min-width:0; } .post-body h2, .post-body h1 { margin:.2rem 0 .45rem; line-height:1.25; } .post-body h2 { font-size:1.12rem; } .post-body p { margin:.45rem 0; }
.meta { color:var(--muted); font-size:.82rem; } .authors { color:#344054; font-weight:600; }
.post-actions { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.75rem; } .post-actions a { background:#edf4ff; color:var(--blue-dark); border-radius:999px; padding:.35rem .65rem; font-weight:700; }
.pager { display:flex; justify-content:space-between; margin:.5rem 0 0; } .pager a { background:var(--card); border:1px solid var(--line); border-radius:999px; padding:.55rem .9rem; font-weight:800; }
.comments { padding:1rem; } .comment-form textarea { width:100%; min-height:110px; display:block; margin-bottom:.6rem; }
.comment { display:grid; grid-template-columns:42px 1fr; gap:.7rem; border-top:1px solid var(--line); padding:1rem 0; }
.avatar { position:relative; width:42px; height:42px; border-radius:10px; background:var(--blue-pale); color:var(--blue-dark); display:grid; place-items:center; font-weight:900; overflow:hidden; } .avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; background:var(--blue-pale); }
.comment-main p { margin:.25rem 0; } .comment-votes { display:flex; align-items:center; gap:.35rem; color:var(--muted); font-weight:800; }
.auth-card { max-width:460px; margin:2rem auto; padding:1.25rem; display:grid; gap:1rem; grid-column:1/-1; } .auth-card label { display:grid; gap:.35rem; font-weight:700; } .profile-preview { width:74px; height:74px; font-size:1.7rem; }
.empty { padding:1rem; color:var(--muted); }
@media (max-width:800px) { .topbar { grid-template-columns:1fr; gap:.45rem; } .layout { grid-template-columns:1fr; } .sidebar { position:static; } .post-card { grid-template-columns:38px 1fr; } .search { flex-direction:column; } }
.helper-text { color:var(--muted); font-size:.86rem; margin-top:.45rem; }
.agent-deploy { display:flex; align-items:center; gap:.65rem; flex-wrap:wrap; margin-top:.85rem; padding-top:.85rem; border-top:1px solid var(--line); }
.agent-deploy button { background:#1f7a4d; }
.agent-deploy span { color:var(--muted); font-size:.86rem; }
button:disabled { cursor:wait; opacity:.7; }
.reply-box { margin-top:.45rem; }
.reply-box summary { color:var(--blue); cursor:pointer; font-weight:800; }
.reply-form { margin-top:.5rem; }
.reply-form textarea { min-height:76px; }
.replies { margin-top:.5rem; padding-left:1rem; border-left:3px solid var(--blue-pale); }
.reply-comment { border-top:1px solid #eef2f7; }
.markdown-body p { margin:.35rem 0; white-space:normal; }
.markdown-body pre { overflow:auto; padding:.75rem; border-radius:6px; background:#f4f6f8; }
.markdown-body code { padding:.1rem .25rem; border-radius:4px; background:#f4f6f8; font-family:ui-monospace, SFMono-Regular, Menlo, monospace; }
.markdown-body pre code { padding:0; background:transparent; }
.markdown-body blockquote { margin:.5rem 0; padding:.1rem .75rem; border-left:3px solid var(--line); color:var(--muted); }
.markdown-body ul, .markdown-body ol { margin:.4rem 0; padding-left:1.5rem; }
.admin-action { display:inline-block; margin-top:.5rem; }
.admin-action button { background:#a12622; padding:.35rem .65rem; }
.agent-deploy select { border:1px solid var(--line); border-radius:6px; padding:.5rem .65rem; background:white; }
.agent-reply-box .agent-deploy { padding:.65rem; border:1px solid var(--line); border-radius:6px; background:#f8fafc; }
.agent-deploy .stop-button { background:#a12622; }
.showcase-activity { margin-top:1rem; padding-top:.75rem; border-top:1px solid var(--line); }
.showcase-activity h2 { font-size:1rem; margin:.2rem 0 .5rem; }
.showcase-activity ul { margin:0; padding-left:1.25rem; }
.showcase-activity li { margin:.35rem 0; color:var(--muted); }
.sort-tabs { display:flex; gap:.35rem; margin-top:.7rem; }
.sort-tabs a { padding:.35rem .75rem; border-radius:999px; color:var(--muted); font-weight:800; }
.sort-tabs a.active { background:var(--blue-pale); color:var(--blue-dark); }
.math-render-warning { display:block; margin-top:.35rem; color:#9a3412; font-style:normal; }
.blog-card { grid-column:1/-1; max-width:960px; width:100%; margin:0 auto; padding:1.5rem; }
.blog-card h1 { margin:1.5rem 0 .65rem; }
.blog-card h1:first-child { margin-top:0; }
.blog-card pre { white-space:pre; font-size:.8rem; }
.blog-card figure { margin:1.25rem auto; }
.blog-card figure img { display:block; width:100%; height:auto; border:1px solid var(--line); border-radius:8px; }
.blog-card figcaption { margin-top:.45rem; color:var(--muted); font-size:.82rem; text-align:center; }
.blog-card .katex-display { overflow-x:auto; overflow-y:hidden; padding:.25rem 0; }
.reviewer-history { grid-column:1/-1; max-width:920px; width:100%; margin:0 auto; padding:1.25rem; }
.reviewer-history-item { padding:1rem 0; border-top:1px solid var(--line); }
.reviewer-history-item h2 { margin:.2rem 0 .5rem; font-size:1.05rem; }
