A FlatBB theme built like the lobby screen of a competitive shooter: a night operation banner over a HUD
stat strip, gunmetal panels with hairline frames and cut corners, a CS:GO skin-rarity colour scale that
ranks every member, and an operator card beside each post. Desktop is a three-column war room; phones get
one column, a slide-out drawer and a bottom HUD tab bar.

Light mode is a daylight board with the same HUD; dark mode is the night version. Both are made of FlatBB
tokens, so nothing here hard-wires a colour.

Look

  • Header — a generated operation banner (night skyline over water, cyan radar sweep, crosshair,
    orange marker diamonds) with the site's own stats in a HUD bar under it: topics, replies, members,
    online. The member's point balance rides at the far right of the banner.
  • Operator cards — every post shows the author's rank, worked out from their message count alone
    (no query in the loop): Tân binh → Đặc vụ → Cựu binh → Chuyên gia → Xạ thủ → Huyền thoại. The tier
    picks the rarity colour of the card's edge, the avatar ring and the progress bar; the insignia badge
    is a sprite chosen from the username. On phones the card collapses into one short author strip.
  • Lists — topic rows carry the author's avatar, a rarity-tinted left edge on the unread ones, and a
    two-cell read-out of views and replies: numbers with words on desktop, crosshair and bullet glyphs on
    phones where there is no room for text.
  • Sprites — 23 hand-drawn SVG glyphs (helmet, armor, bullet, knife, dogtag, medkit, radio, drone,
    scope, map, coin…) drawn as alpha shapes and tinted with mask, so one file recolours to any surface.
  • Type — Oswald, self-hosted in assets/fonts/ with the Vietnamese subset, as one variable file per
    subset (400–700). No external font request.
  • Admin — untouched: every rule is scoped body:not(.page-admin).

Settings

Admin → Appearance → Themes → Customize:

SettingDefaultEffect
Tracer colour#ff6a00The accent used for the active tab, links, the TOP chip, rank highlights and the footer line
Corner cut12How much the chamfer cuts the corners of buttons, chips and tab items, 0–20px
Operation banneronShows or hides the header artwork

Files

  • assets/banner.jpg — the operation banner, generated for this theme and cropped to a 1600×320 strip
    (JPEG, quality 92, 4:4:4). The layout appends the file's mtime as ?v= so a replaced banner is never
    served from a stale browser cache.
  • assets/icons/*.svg — the 23 sprite glyphs.
  • assets/fonts/ — Oswald variable woff2 subsets (latin, latin-ext, vietnamese).
  • assets/theme.css — component styles; every colour comes from the tokens in plugin.php.
  • views/layout.php, views/topic_rows.php, views/post.php — stamped copies of the core templates.
  • lang/vi.php — Vietnamese labels for the tab bar, the ranks and the theme name. A theme that is only
    previewed (not enabled) cannot load its language pack, so its own labels stay in English until it is
    activated.

The theme is a plugin with 'type' => 'theme': no routes, no tables, no admin pages, no queries.
Its stylesheet loads after app.css and after every plugin stylesheet, so plugin surfaces
(store avatars, red packets, prefixes, pay-to-read, the support portal) are restyled rather than replaced.

Install

php flatbb plugin:sync        # or "Scan plugins folder" in Admin → Appearance → Themes

Then Preview the theme and Activate when it looks right. php flatbb theme:check tactical_ops
reports whether any stamped template drifted from the core version it was copied from.

Listed on the DDVN Market only (2000 points) — not published to www.flatbb.com.

Credits

The banner, the sprites and the HUD art were made for this theme — no third-party icon pack, no
stock imagery. Oswald is licensed under the SIL Open Font License 1.1 and is served from
assets/fonts/, never from a CDN.