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 withmask, 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:
| Setting | Default | Effect |
|---|---|---|
| Tracer colour | #ff6a00 | The accent used for the active tab, links, the TOP chip, rank highlights and the footer line |
| Corner cut | 12 | How much the chamfer cuts the corners of buttons, chips and tab items, 0–20px |
| Operation banner | on | Shows 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 inplugin.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 → ThemesThen 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 fromassets/fonts/, never from a CDN.


