STYLE.md ·
How Cue works. Every rule, written down.
The video creator, as a website. It has three pieces:
- A player. Chapters sit on the scrubber. Captions can be switched off and resized, speed is adjustable, and a paid-partnership notice shows for the first seconds of a sponsored video.
- A transcript that follows along. The line you're hearing lights up and stays in view inside the box; the page itself never scrolls. Click any line to jump there, or search inside it.
- A video wall. Filter by series and sort by newest or most watched. Every thumbnail carries CC, its length and, where it applies, "Paid partnership".
The type is Unbounded, Manrope and JetBrains Mono, on a warm white with ink and one hot pink. Sun yellow is only for paid partnerships and the line you're on. Captions are always white on near-black.
Bold · accessible · upfront
Best for
- Video creators. Cooking, tech, travel, how-to, education and vlog channels with their own site. It's written to the advertising disclosure and caption expectations (see "Creators: what we build in").
- Anyone who publishes video and wants it findable:
- tech reviews (Pixel Bench: reviews never sponsored, affiliate links marked)
- travel and outdoors (Trailhead: gifted gear marked, safety notes)
- course libraries, webinar archives, church and community media, podcasts with video
- Audiences: viewers who want to find the step they need, watch with the sound off, or know who paid.
Less suited to: a film or TV streaming catalogue (a streaming style), a news site (Masthead), or a single promo video on a business site (any style with an embed).
Personality and voice
Bold and friendly, like the creator talking to camera, and upfront about money.
- Headlines: "Cook it with me." · "Every word, searchable." · "How brand deals work here."
- Buttons: "Watch the latest" · "Become a member" · "Send enquiry"
- Microcopy:
- "This video includes a paid partnership with Copperline."
- "2 lines mention 'grams'"
- "If I earn from a link, it says so next to the link."
- Words to avoid: "#sp" or "#collab" instead of a clear label, "honest review" on anything paid for, and "link in bio" for disclosures.
Colour
| Token | Studio (light) | Screening (dark) | Role |
|---|---|---|---|
--paper |
#fbfaf7 |
#0f0e13 |
Page |
--card |
#ffffff |
#18171d |
Transcript, tiers, side boxes |
--well |
#f1eee8 |
#141318 |
Alternate sections |
--line |
#e2ded6 |
#2c2a33 |
Hairlines |
--ink / --ink-2 |
#14131a / #3b3842 |
#f2f0f5 / #d2cfd8 |
Text, the top line |
--muted |
#5f5b66 |
#a29eab |
Views, dates, timecodes |
--hot |
#b01d50 |
#ff8cb0 |
The one accent: play, buttons, links, the playhead, the lit words |
--sun |
#ffd43b |
#e9bf1f |
Paid partnerships and the line you're on (with ink) |
--screen |
#0f0e13 |
#060509 |
The player, and behind every caption |
Measured contrast (WCAG).
- Studio:
- ink on paper 17.7:1
- muted on paper 6.3:1
- hot on paper 6.4:1 (5.8:1 on well, 5.5:1 on its soft fill), white on hot 6.7:1
- ink on sun 13.0:1
- captions: white on near-black 18:1 or more
- Screening:
- ink 17.0:1
- muted 7.3:1 (6.8:1 on card)
- hot 8.8:1, text on hot 8.5:1, hot on its soft fill 7.8:1
- ink on sun 10.4:1
- Example dials on paper (light / dark): electric blue (Pixel Bench), forest green (Trailhead) and rust orange (Rust & Revival) all meet AA as text and behind white or dark button text.
Typography
- Display: Unbounded, 500–800. Headlines, video titles, thumbnail words, prices.
- Body: Manrope, 400–800. Reading, captions, buttons.
- Mono: JetBrains Mono, 500–600. Timecodes, durations, labels.
| Token | Size | Use |
|---|---|---|
--fs-h1 |
clamp(38px, 5vw, 76px) | Page headline |
--fs-h2 |
clamp(28px, 3.2vw, 46px) | Section headline |
--fs-h3 |
21px | Card titles |
--fs-lead |
clamp(17.5px, 1.35vw, 20.5px) | Intro paragraphs |
--fs-body |
16.5px | Body |
| Captions | 16 / 20 / 26px | --cap-size on .player, the viewer's choice |
The signature move: the lit words turn hot pink with a playhead under them that plays through on load.
Layout
- Frame: a 1200px wrap with a
max(20px, 4vw)gutter. An ink top line carries a sun pill for the newest video; the header is sticky with the play-button mark. - Hero: copy on the left; the player on the right, with the title and its meta (views, date, partnership) under it.
- Then: the transcript beside chapters, the partnership note and the recipe or notes; the video wall; series; memberships; how brand deals work; an ink closing card with a scrubber playing along the bottom.
- Watch page: the player, title, partnership and description on the left; chapters, transcript and up next on the right.
Shape
- Rounded:
--r-s10px,--r-m16px,--r-l24px; buttons are pills. - The player: a near-black frame with a rounded screen, a 6px scrubber with chapter gaps, and caption boxes with 4px corners.
- Thumbnails: drawn scenes in each video's hue with a big word, never stock photos or faces you don't have permission to use.
- The mark: a rounded play button with a progress bar under it.
Motion language
- Player: the big play button shrinks away; the scene pans and shifts hue by chapter as it plays; the partnership note fades after the first seconds.
- Transcript: the current line lights up; the box scrolls itself (never the page), and pauses following for a few seconds after you scroll or search.
- Wall: filtering and sorting slide cards to their new places (FLIP); thumbnails lift on hover.
- Elsewhere: the headline's playhead plays through on load, the closing card's scrubber loops, sections reveal with a 14px rise over 650ms, and the phone menu drops in.
- Motion switch in the footer (
[data-motion-toggle],html.calm, remembered assite-motion, with the default fromprefers-reduced-motion). Calm stops the slides, playhead and loops; the player still plays. - Screening switch (
[data-theme-toggle]), remembered assite-theme;theme-colorfollows.
Imagery and illustration
In a real build the player holds your own videos (YouTube, Vimeo, Mux or your host). The template simulates playback with a drawn scene so it works without a video file. Use your own thumbnails; keep the badges.
Signature components
- Player:
.player[data-player][data-duration]withscript[type="application/json"][data-cues], which holds{cues, chapters, hue}, where cues are[start, end, text]and chapters are[start, title]. Inside:.screenwith.scene-title,.paid-note[data-paid-for],.captionand.bigplay.controlswith.scrub-wrap,input.scrub,.ticks,button.pp,.time,.chapter-now,button[data-cc],select[data-cap-size]andselect[data-speed]
- Transcript:
.transcript[data-transcript="#player"]withinput[type=search],.countand.lines > button[data-t], where each line is aspantimecode plusspan.txt. - Chapters:
.chapters[data-chapters="#player"] > button[data-t]. - Video wall:
.vgrid[data-vgrid], containing:.seg > button[data-series]and.seg > button[data-vsort][data-vgrid-count]and.none.vwall > a.vcard[data-series][data-age][data-views], each with.thumb[data-word](.badge,.badge.paid,.durand.bar) andb+small
- Supporting pieces:
.partner,.tiers > .tier(.pick),.card,.person,.facts,.notice,.side-box,.watchwith.watch-side,.vtitlewith.vmeta, and.close-card(--close-em).
Multi-page kit
- Phone menu:
.menu-btn[aria-controls]opens.site-menu. Escape, an outside click or choosing a link closes it, and Tab stays inside while it's open. - Current page:
aria-current="page", shown as a hot-soft pill. - Inner pages:
.page-head(with a playhead along the bottom),.crumbs, a.tagand a smaller.h1. - Fields:
.field,.fields,.field-wide,fieldset.field-set,.check,.form-card,[aria-invalid="true"];form[data-template]. - Tiles, segmented control, gate, slider, switch, tables:
.choices,.seg,[data-gate],input.range,.switch[role=switch],.table. - Events:
cue(t, chapter, line),play,pause,videos(series, sort, shown). - Helpers:
Cue.refresh(root),Cue.time(seconds), and on a player elementcueSeek(t),cueNow()andcuePlay().
Creators: what we build in
We checked these for Australian creators in October 2026:
- Disclose brand arrangements clearly. Under the AANA Code of Ethics, advertising must be clearly distinguishable, and Ad Standards' guidance for influencers says any brand arrangement, including gifted products, should be disclosed. Hashtags mustn't be buried. For video it encourages written disclosure as well as spoken, since people watch with the sound off. The template says it at the start of the video, shows it on screen, marks the thumbnail, and repeats it under the video.
- Affiliate links marked. Every affiliate link is labelled next to the link, with a switch to hide them.
- Captions and transcripts. WCAG 2.2 requires captions for prerecorded video with sound (1.2.2, Level A). Every video has captions you can resize, and a full transcript as text.
- Memberships. Prices in AUD including GST, billing stated, and cancelling explained.
These notes are design guidance, not legal advice.
Do and don't
- Do caption every video, and publish the transcript as text.
- Do say "paid partnership" or "gifted" in the video, on the thumbnail and in the description.
- Do keep the transcript's scrolling inside its box.
- Don't use sun yellow for anything but partnerships and the current line.
- Don't autoplay with sound.
- Don't put captions on anything but near-black.
Accessibility
- AA contrast throughout (measured above), a skip link and a 3px focus ring (white inside the player).
- Player: every control is a labelled button or select; the scrubber says the time, total and chapter (
aria-valuetext);kor Space plays and pauses; captions are visual (the transcript is the accessible text, so captions arearia-hidden); the caption and size choices are remembered. - Transcript: each line is a button with its timecode; search results are announced; following pauses when you scroll.
- Wall: series and sort are toggle buttons, the count is announced, and badges are text.
- Testing: responsive to 360px, and tested with motion on and off, in Studio and Screening.
How to make it yours
| Dial | Range |
|---|---|
| Accent | Hot pink (default), electric blue (Pixel Bench), forest green (Trailhead), rust orange (Rust & Revival). Set --hot, --hot-2, --hot-soft, --focus (plus --on-hot at night) and --close-em. |
| Player | Your host's embed behind the same controls, captions from your WebVTT files, chapters from your descriptions. |
| Wall | Your series and sort orders. |
| Tiers | Your membership platform and prices. |
| Not negotiable | Captions and a transcript on every video, disclosure in the video, on the thumbnail and in the description, the transcript that follows along, and the Motion switch. |


