Tier 2tvOS: tokens only. The shipped tvOS app is React Native (react-native-tvos): app-drawn rows and buttons, a native stack, no TabView. Focus is a --component-bg-active fill; the system lift is turned off.--component-bg-active · --text-secondary · --yellow-solid · --solid · --green-solid · --line
Avatar header, sectioned rows, sign out up top
The header holds the avatar, username, disk usage and a Sign out button, which signs out without asking.
Sections: Playback settings, Storage settings, an untitled Privacy controls row, App and device information. Values sit as sublines under the title.
Booleans are an app-drawn 70×40 switch, --green-solid when on. The proxy chooser is a pushed list.
moviebuff
99 GB of 100 GB free
Sign out
Playback settings
Choose your proxy
Amsterdam
Remember current place in video files
Show subtitles
Do not select subtitles by default
Storage settings
Move deleted files to trash
Account · Choose your proxy focusedEvery row takes focus. The proxy name is the subline; the chevron pushes the chooser.
Avatar
120px
account image, 12px radius
Disk
24px · 250px bar
“%1$s of %2$s free”, --yellow-solid on --solid
Section
32px Md
--text-secondary, sentence case
Section gap
64px
after each section
Value
32px subline
--text-secondary, under the title
Switch
70 × 40
--green-solid on, --solid off
Sign out
sm button
header, no confirmation
Privacy
subline
“Diagnostics on · Product analytics off”
Contract: platforms/apple/DESIGN.md.
Do not add a 51×31 system toggle or a lift on focus. The app owns both the switch and the focus fill.