/* Colour tokens mirror the live forum's Discourse "Light" scheme (color_definitions_light-default). */
:root{--primary:#222;--primary-very-high:#434343;--primary-high:#646464;--primary-medium:#919191;--primary-low-mid:#bcbcbc;--primary-low:#e9e9e9;--primary-very-low:#f8f8f8;--secondary:#fff;--tertiary:#08c;--tertiary-hover:#069;--tertiary-low:#d1efff;--quaternary:#e45735;--success:#090;--header_background:#fff;--header_primary:#333;--highlight-bg:#ffffc9;
--fg:var(--primary);--muted:var(--primary-high);--faint:var(--primary-medium);--line:var(--primary-low);--accent:var(--tertiary);--bg:var(--secondary);--soft:var(--primary-very-low);--brand:var(--primary)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:15px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--primary);background:var(--secondary)}
a{color:var(--tertiary)}a:hover{color:var(--tertiary-hover)}
.wrap{max-width:1110px;margin:0 auto;padding:0 12px}
/* Discourse .d-header: 4em tall, white, soft shadow */
.d-header{position:sticky;top:0;z-index:10;background:var(--header_background);box-shadow:0 2px 4px -1px rgba(0,0,0,.25)}
.d-header .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
.d-header .brand img{display:block;max-height:40px;width:auto}
.header-links{display:flex;gap:6px;align-items:center;font-size:14px}.header-links a{color:var(--header_primary);text-decoration:none;font-weight:500;padding:7px 10px;border-radius:4px}.header-links a:hover{background:var(--primary-low)}
.header-links a.btn{background:var(--tertiary);color:var(--secondary);font-weight:600}.header-links a.btn:hover{background:var(--tertiary-hover)}
.banner{background:var(--highlight-bg);border-bottom:1px solid #e0d98a;padding:9px 12px;font-size:14px;text-align:center;color:var(--primary)}
/* Discourse #banner: the pinned banner topic rendered in full above the topic list */
.banner-topic{background:var(--tertiary-low);border-bottom:1px solid #b8dff5;padding:18px 0 14px}
.banner-topic .banner-title{margin:0 0 8px;font-size:20px;font-weight:700}.banner-topic .banner-title a{color:var(--primary);text-decoration:none}
.banner-topic .cooked{font-size:15px;line-height:1.55;max-width:none}.banner-topic .cooked p{margin:0 0 10px}.banner-topic .cooked ul{margin:0 0 10px;padding-left:22px}
main{padding:12px 12px 40px}
footer{padding:20px 12px 40px;color:var(--primary-medium);font-size:13px;border-top:1px solid var(--primary-low);margin-top:24px}footer a{color:var(--primary-high)}

/* Discourse list controls + nav-pills (3.x: subtle active background with a tertiary underline) */
.list-controls{display:flex;align-items:center;justify-content:space-between;margin:14px 0 6px;flex-wrap:wrap;gap:8px}
.nav-pills{display:flex;gap:2px}.nav-item{padding:8px 12px;border-radius:4px;color:var(--primary-high);text-decoration:none;font-weight:600;font-size:15px;line-height:1.2}
.nav-item:hover{background:var(--primary-very-low);color:var(--primary)}.nav-item.active{background:var(--primary-low);color:var(--primary);box-shadow:inset 0 -3px 0 var(--tertiary)}
.count{color:var(--primary-medium);font-size:14px}.category-description{color:var(--primary-high);margin:4px 0 12px}

/* Discourse .topic-list */
table.topic-list{width:100%;border-collapse:collapse;table-layout:fixed}
.topic-list th{text-align:left;font-weight:400;color:var(--primary-medium);font-size:14px;padding:12px 5px;border-bottom:3px solid var(--primary-low)}
.topic-list th.posters,.topic-list td.posters{width:150px}.topic-list th.num,.topic-list td.num{width:65px;text-align:center}.topic-list th.num:last-child,.topic-list td.age{width:80px}
.topic-list td{padding:12px 5px;border-bottom:1px solid var(--primary-low);vertical-align:top}
.topic-list tr.pinned{background:var(--primary-very-low)}
.link-top-line{display:block;font-size:16.5px;line-height:1.35}.link-top-line a.title{color:var(--primary);text-decoration:none;word-wrap:break-word}.link-top-line a.title:visited{color:var(--primary-medium)}.link-top-line a.title:hover{color:var(--tertiary)}
.pin,.solved{margin-right:6px;font-size:14px}.solved{color:var(--success);font-weight:700}
.link-bottom-line{margin-top:6px}
.badge-category{display:inline-flex;align-items:center;gap:6px;color:var(--primary-high);font-size:13px;font-weight:600;text-decoration:none}
.badge-color{display:inline-block;width:9px;height:9px;flex:none}
.topic-list td.posters{padding-top:14px;white-space:nowrap}.topic-list td.posters .avatar{margin-right:4px}
.topic-list td.num{color:var(--primary-medium);font-size:14px;padding-top:16px}.topic-list td.views.heatmap-med{color:var(--quaternary);opacity:.8}.topic-list td.views.heatmap-high{color:var(--quaternary);font-weight:600}
.topic-list td.age{white-space:nowrap}
.avatar{border-radius:50%;color:var(--secondary);display:inline-flex;align-items:center;justify-content:center;font-weight:700;flex:none;vertical-align:middle;text-shadow:0 0 1px rgba(0,0,0,.2)}

/* Topic page: Discourse #topic-title + .topic-post grid (avatar column left) */
.topic-header{padding:14px 0 10px;border-bottom:1px solid var(--primary-low);margin-bottom:4px}
.topic-header h1{font-size:27px;line-height:1.2;margin:0 0 8px;font-weight:700;color:var(--primary)}
.post{display:grid;grid-template-columns:45px minmax(0,690px);column-gap:16px;padding:16px 0 14px;border-bottom:1px solid var(--primary-low)}
.post.accepted .cooked{border-left:3px solid var(--success);padding-left:14px}
.post .meta{display:flex;align-items:center;gap:10px;color:var(--primary-medium);font-size:14px;margin-bottom:8px;flex-wrap:wrap}.post .meta time{margin-left:auto;color:var(--primary-medium)}
.author{font-weight:700;color:var(--primary);font-size:15px}.staff{background:var(--tertiary-low);color:var(--tertiary-hover);border-radius:3px;padding:1px 6px;font-size:12px;font-weight:600}.solution{color:var(--success);font-weight:700}
.cooked{font-size:15px;line-height:1.6;overflow-wrap:anywhere}
.cooked img{max-width:100%;height:auto}.cooked pre{background:var(--primary-very-low);padding:12px;border-radius:4px;overflow:auto;font-size:13px}
.cooked code{background:var(--primary-very-low);padding:1px 4px;border-radius:3px;font-size:90%}.cooked pre code{background:none;padding:0}
.cooked blockquote,.cooked aside.quote{border-left:5px solid var(--primary-low);background:var(--primary-very-low);margin:8px 0;padding:8px 12px;color:var(--primary-high)}
.cooked aside.quote .title{font-weight:600;font-size:13px;margin-bottom:4px}.cooked .quote-controls{display:none}
.cooked .mention{background:var(--primary-low);border-radius:4px;padding:0 4px;text-decoration:none;color:var(--primary)}
.cooked .lightbox-wrapper .meta{display:none}
.topic-foot{color:var(--primary-medium);font-size:14px;margin-top:18px}
@media (max-width:760px){.topic-list th.posters,.topic-list td.posters{display:none}}
@media (max-width:640px){.topic-list th.views,.topic-list td.views{display:none}.header-links a:not(.btn){display:none}.link-top-line{font-size:16px}.post{grid-template-columns:36px minmax(0,1fr)}}
