/* God Save Our Ping - community theme, October 2026.
   Silk icons: Mark James / famfamfam, CC BY 2.5. See assets/icons/silk/readme.txt. */
:root {
  --site-max: 1100px;
  --bg: #122014;
  --bg-soft: #243b26;
  --panel: #e9eadc;
  --panel-2: #dce1ce;
  --panel-3: #d2d9c2;
  --ink: #263321;
  --ink-strong: #172614;
  --ink-dim: #5c6753;
  --brand: #375e23;
  --brand-2: #365e24;
  --border: #8b9776;
  --border-2: #69784e;
  --shadow: 0 2px 4px #0004;
  --radius: 2px;
  --radius-lg: 3px;
}
html { color-scheme: light; background: #142016; scroll-padding-top: 16px; }
body {
  color: #263321;
  font: 13px/1.55 Tahoma, Verdana, Arial, sans-serif;
  background:
    repeating-linear-gradient(135deg, #ffffff03 0 1px, transparent 1px 5px),
    linear-gradient(90deg, #101b12, #283d28 22%, #283d28 78%, #101b12);
  background-attachment: fixed;
}
a, .panel ul li a { color: #365e24; }
a:hover, .panel ul li a:hover { color: #6f5817; text-decoration: underline; }
:focus-visible { outline: 2px solid #a67a14; outline-offset: 3px; }
::selection { color: #1f321d; background: #f3df8d; }
.wrap, .retro-wrap { width: min(calc(100% - 32px), 1100px); max-width: 1100px; margin: 0 auto; padding: 0; }
.main { padding-top: 16px; }
.meta, .muted, .small { color: #5c6753; }
.flash-ok { color: #315f20; }
.flash-err { color: #9b291d; }

/* The masthead is part of the page, not a floating toolbar. */
/* One masthead for the main site, download pages and the Cloud. The two-tone split is pinned to
   the middle of the logo row (--mast-mid = half the row height), so the logo, title and right-hand
   items sit centred on it whether or not a tab row follows. */
.sitebar {
  --mast-mid: 57px;
  position: relative; top: auto;
  border: 0; border-top: 4px solid #b49a43; border-bottom: 1px solid #080f09;
  background:
    repeating-linear-gradient(125deg, transparent 0 26px, #ffffff04 26px 27px, transparent 27px 53px),
    linear-gradient(180deg, #476a39 0, #2e4c2a var(--mast-mid), #203c23 var(--mast-mid), #172d1b calc(var(--mast-mid) * 2), #172d1b 100%);
  box-shadow: inset 0 1px 0 #ffffff35, 0 3px 0 #6d775047, 0 4px 12px #0005;
}
.sitebar .wrap {
  position: relative; display: flex; flex-wrap: wrap; align-items: center; align-content: flex-start;
  justify-content: space-between; gap: 0; padding: 0;
  min-height: 0; border-left: 1px solid #ffffff0d; border-right: 1px solid #0003;
}
/* Beats the Kamtape page's inline padding; kept here because its release tool regenerates that HTML. */
header.sitebar.download-sitebar .wrap { padding-bottom: 0; min-height: 0; }
header.sitebar.download-sitebar .standalone-label,
.sitebar.cloud-sitebar .cloud-nav { margin-right: 18px; }
.sitebar .brand { display: inline-flex; align-items: center; color: inherit; text-decoration: none; gap: 16px; padding: 13px 18px; margin: 0; min-width: 0; }
.sitebar .brand-logo { width: 76px; height: 88px; object-fit: contain; filter: drop-shadow(1px 2px 1px #0006); }
.sitebar .brand-text { white-space: normal; }
.sitebar .brand .title {
  color: #f5edc5; font: bold 34px/1.1 "Trebuchet MS", Tahoma, sans-serif;
  letter-spacing: -1.2px; text-shadow: 1px 2px 0 #102014;
}
.sitebar .brand .version { margin-top: 6px; color: #c7d0b7; font: 11px/1.4 Tahoma, sans-serif; letter-spacing: .2px; }
.sitebar .site-nav-shell { display: block; flex: 0 0 100%; width: 100%; margin: 0; }
.portal-tools { position: absolute; top: var(--mast-mid); transform: translateY(-50%); right: 18px; width: min(340px,calc(100% - 510px)); overflow-wrap: anywhere; text-align: right; font-size: 11px; line-height: 1.8; color: #d4dcc7; }
.portal-tools strong { color: #fff4bf; }
.portal-tools a { color: #f0d986; }
.portal-tools a:hover { color: #fff6cf; }
.portal-tools-line { display: block; }
.portal-tool-divider { padding: 0 6px; color: #82916e; }
.sitebar .wrap .site-nav-shell .tabs {
  position: static; display: flex; flex-wrap: wrap; width: 100%; max-height: none;
  margin: 0; padding: 0; gap: 0; visibility: visible; opacity: 1; overflow: visible;
  border: 1px solid #081609; border-bottom: 0;
  background: linear-gradient(#526c3d, #3b542c 47%, #2e4422 48%, #22351a);
  box-shadow: inset 0 1px 0 #ffffff35;
}
.sitebar .wrap .site-nav-shell .tabs > a {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  width: auto; min-height: 36px; padding: 8px 14px; margin: 0;
  border: 0; border-right: 1px solid #162a11; border-left: 1px solid #ffffff14; border-radius: 0;
  color: #e9ecd8; background: transparent; box-shadow: none;
  font: bold 11px/1.3 Tahoma, Verdana, sans-serif; text-shadow: 0 1px 0 #18280f;
  text-decoration: none; transition: none;
}
.sitebar .wrap .site-nav-shell .tabs > a:hover { color: #fff9da; background: #ffffff12; }
.sitebar .wrap .site-nav-shell .tabs > a[aria-current="page"] {
  color: #34361a; padding: 8px 14px; border-left-color: #f5e5a2; border-right-color: #857137;
  background: linear-gradient(#f6e9ad, #d9c276 48%, #c9ad58 49%, #ba9b47);
  text-shadow: 0 1px 0 #fff8d999; box-shadow: inset 0 1px 0 #fff9dc;
}
.portal-nav-icon, .portal-icon { display: inline-block; flex: 0 0 16px; width: 16px; height: 16px; max-width: none; vertical-align: -3px; object-fit: contain; }
.nav-menu-button { display: none; }

/* Classic framed panels: a dark caption and a light, readable interior. */
.card, .panel, .mp-card, .user-card {
  min-width: 0; color: #263321; border: 1px solid #192a18; border-radius: 2px;
  background: linear-gradient(#f0f0e4, #e4e7d6 140px);
  box-shadow: inset 0 0 0 1px #fff8, 0 2px 4px #0004;
}
.card, .panel { padding: 14px; }
.card h1, .card h2, .card h3, .panel h1, .panel h2, .panel h3, .prose h2, .prose h3 { color: #304b26; border-color: #a4ad8e; }
.card > h1, .card > h2, .card > h3, .panel > h1, .panel > h2, .panel > h3, .portal-caption {
  margin: -14px -14px 13px; padding: 8px 12px;
  border: 0; border-bottom: 1px solid #1b3114;
  color: #f2e6b5; font: bold 13px/1.4 Tahoma, Verdana, sans-serif;
  background: linear-gradient(#64774c, #435b32 48%, #384e2a 49%, #304526);
  box-shadow: inset 0 1px 0 #d7e2b94d; text-shadow: 0 1px 0 #1f3218;
}
.card > h2:not(:first-child), .panel > h2:not(:first-child) { margin-top: 20px; }
.card > h1, .panel > h1 { font-size: 17px; }
.panel > .rowg:first-child { margin: -14px -14px 14px; padding: 10px 13px; background: #d5dcc4; border-bottom: 1px solid #9ba783; }
.panel > .rowg:first-child h1 { color: #2b4521; font: bold 21px/1.2 "Trebuchet MS", sans-serif; }
.panel ul li a::before { color: #6b814b; }
.prose { max-width: 76ch; }
.prose p { margin: 0 0 13px; }
.prose h2 { margin-top: 24px; font-size: 16px; }
.two-col, .grid { gap: 14px; }
.two-col > aside { position: static; }
.badge, .feed-type-badge, .user-card-stats span {
  padding: 2px 5px; border: 1px solid #9caa80; border-radius: 2px;
  color: #425332; background: linear-gradient(#f4f5e8, #dce3ca);
  font: 10px/1.4 Tahoma, sans-serif; box-shadow: inset 0 1px 0 #fff;
}
.button, .btn, .btnlink, button:not(.plain-button):not(.unstyled-button), input[type="submit"], input[type="button"] {
  min-height: 28px; padding: 5px 11px; border-radius: 2px;
  border: 1px solid #52643c; border-top-color: #88996a;
  color: #263b1e; background: linear-gradient(#f6f7df, #dbe2bb 47%, #c3cf9b 48%, #b1c080);
  box-shadow: inset 0 1px 0 #fffff6, 0 1px 1px #0002;
  font: bold 11px/1.35 Tahoma, Verdana, sans-serif; text-shadow: 0 1px 0 #ffffff80;
  text-decoration: none; cursor: pointer;
}
.button:hover, .btn:hover, .btnlink:hover, button:not(.plain-button):not(.unstyled-button):hover {
  color: #1b3212; border-color: #72844d; background: linear-gradient(#fff9d9, #e5e9bf 47%, #d0daa3 48%, #c4ce8f); text-decoration: none;
}
.button:active, .btn:active, button:not(.plain-button):not(.unstyled-button):active { box-shadow: inset 0 1px 3px #263c2955; }
.button-danger, button.button-danger, .btn.danger {
  color: #6b251b; border-color: #9c7566; background: linear-gradient(#ffefe2, #dcc0a8 49%, #d1ad93 50%, #c29b81);
}
.input, .textarea, input[type="text"], input[type="search"], input[type="password"], input[type="email"], input[type="url"], input[type="number"], textarea, select {
  min-width: 0; max-width: 100%; border: 1px solid #8f9c7b; border-top-color: #6f7c5d; border-radius: 2px;
  color: #263321; background: linear-gradient(#e8ebdb, #fffef3 6px);
  box-shadow: inset 1px 1px 2px #3342211c; font-family: Tahoma, Verdana, sans-serif;
}
input::placeholder, textarea::placeholder { color: #7b826d; opacity: 1; }
.input:focus, textarea:focus, select:focus { border-color: #8e7024; box-shadow: inset 0 1px 2px #0001, 0 0 0 2px #b7a65b33; }
option { color: #263321; background: #fffef3; }
input[type="file"] { color: #33492a; background: #e8ecd9; border: 1px solid #a3af8c; }
input[type="checkbox"], input[type="radio"] { accent-color: #526e31; }
textarea.code { font-family: Consolas, "Courier New", monospace; }
.kvs span, .kvs strong { color: inherit; }
.kvs { gap: 5px 14px; }
.thead { color: #f3eac6; background: #4e653a; }
.trow { color: #263321; border-color: #bec7a9; }
.trow:hover { background: #f7f4df; }
code, kbd, samp { color: #344a29; background: #d6ddc6; border-color: #9ca989; }
pre, blockquote, details, fieldset { color: #304329; background: #dbe1cb; border-color: #a4b18d; }

/* Front page: browse / feed / community. */
.portal-datebar { display: flex; justify-content: space-between; gap: 12px; padding: 0 1px 9px; font-size: 10px; color: #c2cbb2; }
.portal-datebar a { color: #ecd78e; }
.retro-grid.portal-layout { display: grid; grid-template-columns: 174px minmax(0, 1fr) 216px; gap: 12px; align-items: start; }
.portal-layout .portal-left, .portal-layout .portal-right { display: grid; gap: 12px; position: static; min-width: 0; }
.portal-layout .portal-main { display: block; min-width: 0; }
.portal-layout .portal-box { padding: 12px; margin: 0; }
.portal-box, .portal-promo { overflow-wrap: anywhere; }
.portal-layout .portal-box > h2, .portal-layout .portal-box > h3 { margin: -12px -12px 10px; padding: 7px 9px; font-size: 12px; }
.portal-box h2 img, .portal-box h3 img { margin-right: 5px; }
.portal-box p { margin: 0 0 10px; font-size: 11px; line-height: 1.55; }
.portal-box p:last-child { margin-bottom: 0; }
.portal-nav-list, .portal-page-list { margin: 0; padding: 0; list-style: none; }
.portal-nav-list li { margin: 0; padding: 0; border-bottom: 1px solid #bdc7a8; }
.portal-nav-list li:last-child { border-bottom: 0; }
.portal-box .portal-nav-list a { display: flex; align-items: center; gap: 7px; padding: 7px 2px; font-size: 11px; font-weight: bold; }
.portal-box .portal-nav-list a::before, .portal-box .portal-page-list a::before { display: none; }
.portal-nav-list a:hover { background: #f7f3d9; text-decoration: none; }
.portal-account-actions { display: grid; gap: 6px; }
.portal-account-actions .button { display: block; text-align: center; }
.portal-page-list li { margin: 0; padding: 8px 0; border-bottom: 1px dotted #a2b08a; }
.portal-page-list li:first-child { padding-top: 0; }
.portal-page-list li:last-child { border-bottom: 0; }
.portal-box .portal-page-list a { font-size: 11px; font-weight: bold; line-height: 1.35; overflow-wrap: anywhere; }
.portal-page-list small { display: block; margin-top: 2px; color: #647357; font-size: 10px; }
.portal-more { display: block; padding-top: 9px; margin-top: 8px; border-top: 1px solid #a9b78e; font-size: 10px; font-weight: bold; text-align: right; }
.portal-promo { padding: 10px; border: 1px solid #c5ad58; color: #f8edbf; background: linear-gradient(#536e36, #2d4825); box-shadow: inset 0 0 0 1px #ffffff14; }
.portal-promo strong { display: block; font: bold 14px/1.25 "Trebuchet MS", sans-serif; }
.portal-promo p { margin: 7px 0 11px; color: #dce2c6; font-size: 11px; }
.portal-promo .button { display: block; text-align: center; border-color: #99843e; background: linear-gradient(#f8edbb, #e0c975 48%, #cfb155 49%, #bfa14b); }
.portal-layout .unified-feed { padding: 0; overflow: hidden; }
.portal-layout .feed-toolbar {
  display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 10px;
  margin: 0; padding: 9px 12px; border: 0; border-bottom: 1px solid #1d3317;
  color: #e5e9d6; background: linear-gradient(#687c4c, #465e33 48%, #3b512c 49%, #314628);
  box-shadow: inset 0 1px 0 #d9e4ba66;
}
.portal-layout .feed-toolbar h1 { margin: 0; padding: 0; border: 0; color: #f6e5a8; font: bold 15px/1.3 "Trebuchet MS", Tahoma, sans-serif; text-shadow: 0 1px 0 #233318; }
.portal-layout .feed-toolbar .meta { color: #cdd7ba; margin-top: 2px; font-size: 10px; }
.portal-layout .feed-toolbar .badge { color: #ecebd3; border-color: #879765; background: #31482a; box-shadow: inset 0 1px 0 #ffffff1a; }
.portal-layout .pane-scroll { padding: 10px; max-height: none; height: auto; overflow: visible; }
.portal-layout .feed-list { display: grid; gap: 12px; padding: 0; margin: 0; }
.portal-layout .feed-card {
  min-width: 0; margin: 0; padding: 0 12px 12px; overflow: hidden;
  color: #273522; border: 1px solid #9ba683; border-radius: 1px;
  background: #f7f6eb; box-shadow: inset 0 0 0 1px #fff;
}
.portal-layout .feed-card::before { display: none; }
.portal-layout .feed-card-head { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 10px; margin: 0 -12px 11px; padding: 10px 11px; background: linear-gradient(#e5e9d5, #d7ddc5); border-bottom: 1px solid #aeb899; }
.portal-layout .feed-author-mark { display: grid; place-items: center; width: 42px; height: 45px; border: 1px solid #6f794a; border-radius: 1px; background: linear-gradient(#647c46, #344d2b); box-shadow: inset 0 0 0 1px #ced7aa55; color: #f3e4a3; font: bold 23px/1 Georgia, serif; }
.portal-layout .feed-card-kicker { gap: 7px; margin: 0 0 3px; color: #6c755f; font: 9px/1.4 Tahoma, sans-serif; }
.portal-layout .feed-type-badge { padding: 0; border: 0; color: #546645; background: transparent; font-size: 9px; font-weight: bold; box-shadow: none; }
.portal-layout .feed-card-title { margin: 0; padding: 0; border: 0; color: #2e4d22; font: bold 16px/1.25 "Trebuchet MS", Tahoma, sans-serif; overflow-wrap: anywhere; }
.portal-layout .feed-card-meta { margin-top: 3px; color: #6a725d; font-size: 10px; }
.portal-layout .feed-body { margin: 0 0 10px; color: #30372b; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.portal-layout .feed-body a { color: #47662d; text-decoration: underline; }
.portal-layout .feed-media { margin-top: 7px; }
.portal-layout .feed-media img { display: block; width: auto; max-width: 100%; max-height: 370px; margin: 0 auto; object-fit: contain; border: 1px solid #9eaa89; border-radius: 1px; background: #253222; }
.portal-layout .feed-media video { max-height: 370px; border-radius: 0; }
.portal-layout .feed-media iframe { background: #fffef3; }
.portal-layout .feed-attachments { border-top: 1px dotted #abb793; margin-top: 8px; padding-top: 8px; }
.portal-layout .feed-attachment-title { color: #68725e; font-size: 10px; overflow-wrap: anywhere; }
.portal-layout .feed-attachment-title span { color: #7b826d; }
.portal-layout .feed-actions { margin-top: 9px; gap: 7px; }
.portal-layout .feed-actions .button, .portal-layout .feed-actions .button-danger { min-height: 24px; padding: 4px 8px; font-size: 10px; }
.portal-layout .status-card { padding: 0; margin: 0; gap: 0; border: 0; background: none; box-shadow: none; }
.portal-layout .status-heading { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-bottom: 4px; }
.portal-layout .status-heading h3 { margin: 0; padding: 0; border: 0; color: #3c552b; background: none; font-size: 11px; }
.portal-layout .status-pill { display: inline-flex; align-items: center; gap: 4px; padding: 2px 5px; border: 1px solid #a8b78d; border-radius: 2px; color: #405b2d; background: #dce5c8; font-size: 9px; box-shadow: none; }
.portal-layout .status-dot, .portal-layout .status-mini-dot { width: 6px; height: 6px; background: #5b8b36; box-shadow: inset 0 1px 0 #b8cf8f; }
.portal-layout .status-metrics { display: block; margin: 0; padding: 0; border: 1px solid #a9b792; background: #f2f2e4; }
.portal-layout .status-metric { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 0; padding: 6px 8px; border: 0; border-bottom: 1px solid #c4ceb0; background: none; box-shadow: none; }
.portal-layout .status-metric:last-child { border: 0; }
.portal-layout .status-metric .k { color: #607052; font-size: 10px; }
.portal-layout .status-metric .v { margin-top: 0; color: #364d27; font: bold 15px/1.2 Tahoma, sans-serif; }
.portal-layout .status-checkline { margin: 4px 0 8px; display: block; }
.portal-layout .status-fineprint, .portal-layout .status-refresh-state { color: #768065; font-size: 9px; }
.portal-layout .status-health { border-color: #aaba93; margin-top: 10px; padding-top: 8px; }
.portal-layout .status-health-row { color: #617154; font-size: 10px; }
.portal-layout .status-health-row strong { color: #3f582b; }
.portal-layout .status-actions { display: flex; gap: 6px; margin-top: 10px; }
.portal-layout .status-actions .button { min-height: 24px; padding: 4px 6px; font-size: 9px; }
.portal-layout .status-refresh-state { margin-top: 4px; }

/* Directories and account pages. */
.mp-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.mp-card, .user-card { border-color: #8e9b76; border-radius: 2px; }
.mp-card:hover, .user-card:hover { box-shadow: inset 0 0 0 1px #fff, 0 2px 4px #0003; }
.mp-thumb, .mp-thumb-placeholder { height: 150px; border-color: #99a782; background: linear-gradient(#9aa780, #687d54); color: #fff2c0; }
.mp-card-title, .user-card-title { color: #365129; font-family: "Trebuchet MS", Tahoma, sans-serif; }
.mp-card-meta, .user-card-meta { color: #758263; }
.mp-card-summary, .user-card-bio { color: #4d5d42; }
.user-avatar { border-radius: 2px; border-color: #8f9a76; color: #f4e6b1; background: linear-gradient(#708252, #425c34); }
.admin-page .main, .admin-page .admin-page-heading { color: #e5e7d5; }
.admin-page .card, .admin-page .panel { color: #263321; }

/* Existing Discord animation, framed like a community banner. */
.main .discord-hero { min-height: 280px; padding: 24px; border: 2px solid #9a8541; border-radius: 2px; box-shadow: inset 0 0 0 1px #1d331b, 0 3px 8px #0004; }
.main .discord-hero h1 { max-width: 650px; font: bold 29px/1.1 "Trebuchet MS", sans-serif; }
.main .discord-hero p { font-size: 13px; line-height: 1.6; max-width: 540px; }
.main .discord-hero .badge { color: #f9e6a3; background: #283d1acc; border-color: #a28c49; margin-bottom: 10px; }
.main .discord-tile { min-height: 100px; color: #34472a; border: 1px solid #1e341b; border-radius: 1px; background: #e3e7d3; box-shadow: inset 0 1px 0 #fff9, 0 2px 4px #0003; }
.main .discord-tile h2 { color: #3c552a; font-size: 14px; }
.main .discord-tile p { color: #5d6b4e; font-size: 12px; }
.main .discord-strip { color: #dbe2c8; background: #203921; border-color: #7b895b; font-size: 12px; }
.main .discord-strip .meta { color: #aeba98; font-size: 11px; }

/* The Cloud stays separate; its upload hooks and access rules do not change. */
.cloud-body {
  --cloud-bg: #162219; --cloud-panel: #e4e8d4; --cloud-panel-2: #edf0de;
  --cloud-ink: #2c3d25; --cloud-muted: #657354; --cloud-border: #8f9d77;
  --cloud-link: #42622e; --cloud-accent: #557138; --cloud-accent-2: #3e6428; --cloud-danger: #9b291d;
  font-family: Tahoma, Verdana, sans-serif;
  background: repeating-linear-gradient(135deg,#ffffff03 0 1px,transparent 1px 5px), linear-gradient(90deg,#101b12,#293e29 30%,#293e29 70%,#101b12);
}
.cloud-body .cloud-shell { max-width: 1100px; padding-top: 16px; }
.cloud-body .sitebar .cloud-nav { display: flex; flex-wrap: wrap; gap: 8px; }
.cloud-body .sitebar .cloud-button { border-color: #b8be8b; }
.cloud-body .cloud-topbar { padding: 17px 20px; border: 1px solid #0c1e10; border-top: 3px solid #baa04d; border-radius: 1px; background: linear-gradient(#597245,#293f26); box-shadow: inset 0 1px 0 #ffffff3b,0 2px 4px #0003; }
.cloud-body .cloud-brand-title { color: #f5e8b3; font: bold 25px/1.2 "Trebuchet MS",sans-serif; text-shadow: 0 1px 0 #152917; }
.cloud-body .cloud-brand-subtitle { color: #c6d2b5; font-size: 11px; }
.cloud-body .cloud-card, .cloud-body .cloud-panel, .cloud-body .cloud-file-card { color: #2c3d25; border: 1px solid #1c301a; border-radius: 2px; background: linear-gradient(#eff0e2,#e0e5ce); box-shadow: inset 0 0 0 1px #ffffff9c,0 2px 4px #0003; }
.cloud-body .cloud-card h1 { color: #344f28; font: bold 24px/1.2 "Trebuchet MS",sans-serif; }
.cloud-body .cloud-card h2, .cloud-body .cloud-panel h2 { color: #3e562c; }
.cloud-body .cloud-label, .cloud-body .cloud-file-title { color: #344f28; }
.cloud-body .cloud-card h1, .cloud-body .cloud-card h2, .cloud-body .cloud-panel h2, .cloud-body .cloud-panel h3, .cloud-body .cloud-file-title { text-shadow: none; }
.cloud-body .cloud-input, .cloud-body .cloud-select { color: #293c23; border-color: #8f9e78; border-radius: 2px; background: linear-gradient(#e3e9d2,#fffef2 6px); }
.cloud-body .cloud-button { min-height: 31px; border: 1px solid #71834e; border-radius: 2px; color: #293c1c; background: linear-gradient(#f5f4d5,#d5dfae 48%,#c2cd96 49%,#afbf7d); font: bold 11px/1.4 Tahoma,sans-serif; text-shadow: 0 1px 0 #ffffff80; box-shadow: inset 0 1px 0 #ffffee,0 1px 1px #0002; }
.cloud-body .cloud-button:hover { color: #263c17; background: linear-gradient(#fff7d2,#e2e7b7 48%,#ccd99f 49%,#bdcb8d); }
.cloud-body .cloud-button.danger { color: #7d3424; border-color: #9c7e65; }
.cloud-body .cloud-topbar .cloud-button { border-color: #b8be8b; }
.cloud-body .cloud-drop { border: 2px dashed #8d9d6a; border-radius: 2px; color: #425a30; background: #f5f4df; }
.cloud-body .cloud-badge { color: #526b39; background: #d6dfc1; border-color: #adbb94; border-radius: 1px; }
.cloud-body .cloud-file-row, .cloud-body .cloud-share-row { border-color: #afb99b; background: #eef0e1; }
.cloud-body .cloud-preview { border-color: #99a680; background: #cad2b7; }

/* Direct software page: retain the existing download and verification data. */
.download-body .download-hero { color: #304227; border: 1px solid #1f331a; border-top: 4px solid #baa04b; border-radius: 2px; background: linear-gradient(120deg,#f0f0df,#d2dcc0); box-shadow: inset 0 0 0 1px #fff9,0 2px 6px #0003; }
.download-body .download-hero::before, .download-body .download-hero::after { display: none; }
.download-body .download-hero h1 { color: #345029; font: bold 36px/1.08 "Trebuchet MS",sans-serif; letter-spacing: -.7px; text-shadow: none; }
.download-body .download-summary { color: #596b48; font-size: 14px; }
.download-body .download-kicker { color: #657c46; }
.download-body .release-card { border-radius: 2px; border-color: #9caa81; background: #e6ebd3; }
.download-body .release-version { color: #3f582a; }
.download-body .download-button { color: #2b3d1c; border: 1px solid #8e793c; background: linear-gradient(#f8edb6,#dbc16a 48%,#c9a74b 49%,#bda047); box-shadow: inset 0 1px 0 #fff8d6,0 1px 2px #0003; }
.download-body .download-content-grid .card h2 { color: #f2e6b5; }
.download-body .detail, .download-body .verification-copy { color: #647252; }
.download-body .detail strong { color: #3c552b; }
.download-body .download-list li { color: #526247; border-color: #b5c09e; }
.download-body .download-notice { color: #b9c7a6; }

.footer, .download-body .download-footer {
  width: min(calc(100% - 32px),1100px); margin: 22px auto 0; padding: 13px 0 20px;
  color: #acb99a; border: 0; border-top: 1px solid #647649; background: transparent;
  box-shadow: inset 0 1px 0 #0e1d10; font: 10px/1.6 Tahoma,Verdana,sans-serif;
}
.footer a, .download-footer a { color: #d0c38d; }
.footer-separator { padding: 0 7px; color: #72815b; }

/* Keep desktop sidebars alongside the feed, with every panel reachable on short screens. */
@media (min-width: 1001px) {
  .portal-layout .portal-left, .portal-layout .portal-right {
    position: sticky; top: 16px; align-self: start;
    max-height: calc(100vh - 32px);
    max-height: calc(100dvh - 32px);
    overflow-y: auto; overflow-x: hidden;
    grid-auto-rows: max-content; align-content: start;
    padding: 2px 4px 4px 2px;
    scrollbar-width: thin; scrollbar-color: #879768 #243b26;
    scroll-padding-block: 8px;
  }
}

@media (min-width: 761px) and (max-width: 1000px) {
  .retro-grid.portal-layout { grid-template-columns: 165px minmax(0,1fr); grid-template-areas: "left main" "right main"; }
  .portal-layout .portal-left { grid-area: left; }
  .portal-layout .portal-main { grid-area: main; }
  .portal-layout .portal-right { grid-area: right; }
  .sitebar .brand .title { font-size: 29px; }
  .sitebar .wrap .site-nav-shell .tabs > a { padding-left: 10px; padding-right: 10px; }
  .sitebar .wrap .site-nav-shell .tabs > a[aria-current="page"] { padding-left: 10px; padding-right: 10px; }
  .portal-nav-icon { display: none; }
  .portal-tools { right: 12px; }
}
@media (max-width: 760px) {
  body { font-size: 14px; }
  .wrap, .retro-wrap { width: calc(100% - 20px); }
  .main { padding-top: 12px; }
  .sitebar { --mast-mid: 39px; }
  .sitebar .wrap { min-height: 0; }
  .cloud-body .cloud-shell { padding-top: 12px; }
  .sitebar.cloud-sitebar .cloud-nav { margin-right: 4px; gap: 6px; }
  .sitebar.cloud-sitebar .brand .version { display: none; }
  .sitebar .brand { padding: 12px 4px; gap: 11px; max-width: calc(100% - 70px); }
  .sitebar .brand-logo { width: 45px; height: 54px; }
  .sitebar .brand .title { font-size: 24px; letter-spacing: -.6px; }
  .sitebar .brand .version { font-size: 10px; margin-top: 4px; }
  .portal-tools { display: none; }
  .sitebar .site-nav-shell { flex: 0 0 auto; width: auto; margin-left: auto; }
  .sitebar .nav-menu-button { display: inline-flex; min-height: 42px; padding: 8px 12px; border-radius: 2px; color: #f2e8ba; border-color: #9fa974; background: linear-gradient(#65804b,#3e592e); font: bold 12px/1.3 Tahoma,sans-serif; box-shadow: inset 0 1px 0 #ffffff35; }
  .sitebar .wrap .site-nav-shell .tabs {
    position: absolute; top: calc(100% - 1px); right: 0; left: auto; z-index: 50;
    display: none; width: min(290px,calc(100vw - 20px)); padding: 4px; border: 1px solid #ad9b57;
    background: #30482a; box-shadow: 0 4px 8px #0005;
  }
  .sitebar .wrap .site-nav-shell.is-open .tabs { display: grid; grid-template-columns: 1fr; gap: 2px; }
  .sitebar .wrap .site-nav-shell .tabs > a { width: 100%; justify-content: flex-start; min-height: 44px; padding: 11px 12px; border: 1px solid #ffffff13; font-size: 12px; }
  .sitebar .wrap .site-nav-shell .tabs > a[aria-current="page"] { padding: 11px 12px; }
  .retro-grid.portal-layout { display: flex; flex-direction: column; gap: 12px; }
  .portal-layout .portal-left { display: none; }
  .portal-layout .portal-main, .portal-layout .portal-right { width: 100%; }
  .portal-layout .portal-right { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .portal-datebar { font-size: 10px; }
  .portal-datebar > span:last-child { display: none; }
  .portal-layout .feed-toolbar { align-items: center; padding: 10px; }
  .portal-layout .feed-toolbar h1 { font-size: 16px; }
  .portal-layout .feed-toolbar .meta { font-size: 10px; }
  .portal-layout .feed-card-title { font-size: 17px; }
  .portal-layout .feed-card-kicker, .portal-layout .feed-card-meta { font-size: 10px; }
  .portal-layout .feed-body { font-size: 14px; line-height: 1.55; }
  .portal-layout .pane-scroll { padding: 8px; }
  .portal-layout .feed-actions { display: flex; flex-wrap: wrap; }
  .portal-layout .feed-actions > *, .portal-layout .feed-actions form { width: auto; }
  .portal-layout .feed-actions .button, .portal-layout .feed-actions .button-danger { min-height: 40px; padding: 9px 12px; }
  .portal-box p, .portal-box .portal-page-list a { font-size: 12px; }
  .portal-layout .status-actions { flex-direction: column; }
  .portal-layout .status-actions .button { min-height: 38px; padding: 9px; }
  .card, .panel { padding: 14px; }
  .two-col, .grid { grid-template-columns: 1fr; gap: 12px; }
  .mp-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .button, .btn, .btnlink, button:not(.plain-button):not(.unstyled-button), input[type="submit"], input[type="button"] { min-height: 42px; padding: 10px 12px; font-size: 12px; }
  .input, input[type="text"], input[type="search"], input[type="password"], input[type="email"], textarea, select { font-size: 16px; min-height: 44px; }
  .main .discord-hero { min-height: 300px; padding: 20px; }
  .main .discord-hero h1 { font-size: 27px; }
  .cloud-body .cloud-topbar { padding: 14px; }
  .cloud-body .cloud-brand-title { font-size: 22px; }
  .cloud-body .cloud-button { min-height: 42px; padding: 10px 12px; }
  .download-body .download-hero h1 { font-size: 30px; }
  .footer, .download-body .download-footer { width: calc(100% - 20px); margin-top: 18px; }
}
@media (max-width: 480px) {
  .sitebar { --mast-mid: 36px; }
  .sitebar .brand { gap: 8px; }
  .sitebar .brand .title { font-size: 21px; }
  .sitebar .brand-logo { width: 39px; height: 48px; }
  .portal-layout .portal-right, .mp-grid, .user-grid { grid-template-columns: 1fr; }
  .portal-layout .feed-card-head { grid-template-columns: 36px minmax(0,1fr); gap: 8px; }
  .portal-layout .feed-author-mark { width: 36px; height: 40px; font-size: 21px; }
  .portal-layout .feed-card-kicker { flex-wrap: wrap; gap: 3px 6px; }
  .portal-layout .feed-card-title { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0s !important; }
}

/* Cloud: normal site header, then a Cloud bar with its own links. */
.cloud-body .cloud-strip-shell { padding: 16px 0 0; }
.cloud-strip {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px;
  padding: 9px 14px; border: 1px solid #192a18; border-top: 3px solid #b49a43; border-radius: 2px;
  background: linear-gradient(#64774c, #435b32 48%, #384e2a 49%, #304526);
  box-shadow: inset 0 1px 0 #d7e2b94d, 0 2px 4px #0004;
}
.cloud-strip-text { min-width: 0; }
.cloud-strip-title { display: block; color: #f2e6b5; font-size: 18px; font-weight: bold; line-height: 1.3; text-decoration: none; text-shadow: 0 1px 0 #1f3218; }
.cloud-strip-title:hover { color: #fff4c4; text-decoration: none; }
.cloud-strip-sub { display: block; color: #cbd6b4; font-size: 11px; }
.cloud-body .cloud-strip .cloud-nav { display: flex; flex-wrap: wrap; gap: 8px; width: auto; }
.cloud-body .cloud-strip .cloud-nav .cloud-button { width: auto; min-width: 96px; }
.cloud-body .cloud-strip .cloud-button.is-current { color: #4a3a00; border-color: #8e793c; background: linear-gradient(#f8edb6, #dbc16a 48%, #c9a74b 49%, #bda047); }
.cloud-body .cloud-card, .cloud-body .cloud-panel { padding: 14px; }
.cloud-body .cloud-card > h1:first-child, .cloud-body .cloud-card > h2:first-child, .cloud-body .cloud-panel > h2:first-child {
  margin: -14px -14px 13px; padding: 8px 12px;
  border: 0; border-bottom: 1px solid #1b3114;
  color: #f2e6b5; font: bold 13px/1.4 Tahoma, Verdana, sans-serif; letter-spacing: 0;
  background: linear-gradient(#64774c, #435b32 48%, #384e2a 49%, #304526);
  box-shadow: inset 0 1px 0 #d7e2b94d; text-shadow: 0 1px 0 #1f3218;
}
.cloud-body .cloud-card > h1:first-child { font-size: 15px; }

/* Pinned superpages at the top of Minipages. */
.mp-pinned { margin-bottom: 16px; padding-bottom: 14px; border-bottom: 1px solid #a4ad8e; }
.panel .mp-pinned-title { display: flex; align-items: center; gap: 6px; margin: 0 0 10px; padding: 0; color: #304b26; font-size: 14px; background: none; border: 0; box-shadow: none; text-shadow: none; }
.mp-card-super { border-top: 3px solid #b49a43; }
.mp-super-badge { display: inline-block; padding: 0 6px; border: 1px solid #a88a2c; border-radius: 2px; color: #5a4300; background: linear-gradient(#fff2b8, #e0c35c); font-size: 10px; font-weight: bold; }

/* Kamtape Studio superpage. */
.kamtape-page .kam-summary { margin: 0 0 14px; font-size: 14px; }
.kamtape-page .kam-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 6px; }
.kamtape-page .kam-details > div { padding: 9px 10px; border: 1px solid #b5c09e; background: #f5f4e6; }
.kamtape-page .kam-details strong, .kamtape-page .kam-details span { display: block; }
.kamtape-page .kam-details strong { color: #3c552b; font-size: 13px; }
.kamtape-page .kam-details span { color: #5d6b4e; font-size: 12px; }
.kamtape-page .kam-list, .kamtape-page .kam-steps { margin: 0; padding-left: 22px; }
.kamtape-page .kam-list li, .kamtape-page .kam-steps li { padding: 3px 0; }
.kamtape-page .kam-hash { display: block; padding: 8px 10px; border: 1px solid #a4ad8e; background: #fbfaee; color: #2f4224; font: 12px/1.5 Consolas, "Cascadia Mono", monospace; overflow-wrap: anywhere; user-select: all; }
.kamtape-page .kam-notice { margin: 14px 0 0; padding: 9px 11px; border-left: 3px solid #b49a43; background: #f3ecd0; font-size: 12px; }
.kamtape-page .kam-side { display: grid; gap: 14px; align-content: start; }
.kamtape-page .kam-version { margin-bottom: 10px; color: #3f582a; font-size: 18px; font-weight: bold; }
.kamtape-page .kam-download { display: flex; width: 100%; min-height: 44px; align-items: center; justify-content: center; font-weight: bold; color: #2b3d1c; border-color: #8e793c; background: linear-gradient(#f8edb6, #dbc16a 48%, #c9a74b 49%, #bda047); }
.kamtape-page .kam-meta { margin: 8px 0 0; text-align: center; }
@media (max-width: 760px) {
  .kamtape-page .kam-details { grid-template-columns: 1fr; }
  .cloud-body .cloud-strip-shell { padding-top: 12px; }
  .cloud-strip { padding: 9px 10px; }
}

/* Members page: private profiles (only admins and the owner see these). */
.user-private-badge { display: inline-block; margin-left: 4px; padding: 0 6px; border: 1px solid #8f9a76; border-radius: 2px; color: #4d5d42; background: #d6dcc4; font-size: 10px; font-weight: bold; vertical-align: 1px; }

/* Kamtape Studio: builds for every system. */
.kamtape-page .kam-detected { margin: 0 0 8px; color: #3c552b; font-weight: bold; }
.kamtape-page .kam-toggle { display: block; width: 100%; margin-top: 10px; min-height: 0; padding: 5px 8px; border: 1px solid #8f9a76; border-radius: 2px; color: #365e24; background: #eef0e1; font-size: 11px; font-weight: bold; cursor: pointer; }
.kamtape-page .kam-toggle:hover { background: #f8f0c8; color: #6f5817; }
.kamtape-page .kam-toggle[hidden], .kamtape-page .kam-builds[hidden] { display: none; }
.kamtape-page .kam-builds { margin: 16px 0 4px; padding: 0 12px 10px; border: 1px solid #a4ad8e; border-top: 3px solid #b49a43; background: #f5f4e6; }
.kamtape-page .kam-builds > h2 { margin: 0 -12px 10px; }
.kamtape-page .kam-build-list { list-style: none; margin: 0; padding: 0; }
.kamtape-page .kam-build-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; align-items: center; padding: 9px 0; border-top: 1px dotted #a8b28f; }
.kamtape-page .kam-build-list li:first-child { border-top: 0; }
.kamtape-page .kam-build-text strong, .kamtape-page .kam-build-text span { display: block; }
.kamtape-page .kam-build-text strong { color: #2b4521; font-size: 13px; }
.kamtape-page .kam-build-text span { color: #5d6b4e; font-size: 11px; overflow-wrap: anywhere; }
.kamtape-page .kam-build-hash { grid-column: 1 / -1; color: #4d5d42; font: 10px/1.4 Consolas, "Cascadia Mono", monospace; overflow-wrap: anywhere; user-select: all; }
.kamtape-page .kam-semi { margin: 8px 0 0; color: #5d6b4e; }
@media (max-width: 520px) {
  .kamtape-page .kam-build-list li { grid-template-columns: 1fr; }
  .kamtape-page .kam-toggle { min-height: 40px; }
}