thingino-product-styling
Use this skill when creating or refining UI for Thingino-related products, catalog pages, and camera-facing web screens.
Style baseline (from current Thingino sites)
- Theme and framework:
- Bootstrap 5 in dark theme (
data-bs-theme="dark").
- Clean, utility-first layout with lightweight custom CSS.
- Typography:
- Sans UI text with Montserrat or Noto Sans.
- Monospace for technical/config data (PT Mono style).
- Color language:
- Primary accent is orange (
#f80 / #ff8800) for active states, borders, and highlights.
- Dark neutrals for surfaces and backgrounds.
- Muted gray secondary text; brighter links on hover.
- Components and spacing:
- Card sections with clear headers, small helper text, and compact action buttons.
- Product grids using responsive columns (
row-cols-*) and centered images.
- Keep whitespace generous and readable.
Product card/content pattern
- Product title should be prominent and easy to scan.
- Product image should be centered and responsive (
img-fluid).
- Hardware tuple line should be concise and technical:
SOC, SENSOR, WIFI, FLASH.
- Optional install/help link should be visually secondary (info-toned/muted).
- Prefer simple, repeatable markup over heavy custom components.
Interaction and UX pattern
- Keep controls straightforward:
- Secondary buttons for navigation/actions.
- Orange accent for active/current state.
- Use subtle feedback:
- Soft hover color shifts.
- Light animation only for status/attention (loading, recording, copied).
- Avoid noisy visual effects:
- No heavy gradients, glassmorphism, or dense shadows unless required.
Chart pattern (Chart.js)
For time-series charts in camera-facing pages (e.g. ISP Inspector, Sensor Data
Collector), keep one visual language:
- Lines:
- Data series:
borderWidth: 2, solid (no borderDash).
- Reference/threshold lines:
borderWidth: 1, solid, tension: 0.
tension: 0.4 on data series for smooth curves.
fill: false — no area fills.
- Keep few series per chart so colors alone distinguish them.
- Points:
pointRadius: 1.
pointBackgroundColor and pointBorderColor set to the line color;
pointBorderWidth: 1.
- Reference lines:
pointRadius: 0, pointHoverRadius: 0.
- Hover / tooltip:
interaction: { mode: "index", intersect: false } — one tooltip at the
hovered x index listing every series value.
- Hide the legend (
legend: { display: false }) when the tooltip already
names each series.
- Use Chart.js default tooltips; no custom HTML tooltips.
Do / Don't
- Do:
- Preserve Thingino visual identity: dark base + orange accent + technical clarity.
- Use readable contrast and predictable alignment.
- Keep metadata compact and scannable.
- Don't:
- Introduce unrelated color systems as primaries.
- Over-style cards with large decorative wrappers.
- Hide critical hardware details behind interactions.
Quick implementation checklist
- Set dark theme and Bootstrap baseline.
- Define fonts and orange accent token first.
- Build responsive product cards with centered images and hardware tuples.
- Validate active/hover/button states use Thingino accent language.
- Ensure technical text remains legible and compact on mobile.
- Charts follow the Chart pattern: 2px solid data lines, 1px reference lines,
index-mode tooltip, legend hidden when tooltips name each series.
1---2name: thingino-product-styling3description: Style Thingino-related product pages and UI blocks to match Thingino web and camera UI patterns.4license: MIT5---6# thingino-product-styling78Use this skill when creating or refining UI for Thingino-related products, catalog pages, and camera-facing web screens.910## Style baseline (from current Thingino sites)11121. Theme and framework:13 - Bootstrap 5 in dark theme (`data-bs-theme="dark"`).14 - Clean, utility-first layout with lightweight custom CSS.152. Typography:16 - Sans UI text with Montserrat or Noto Sans.17 - Monospace for technical/config data (PT Mono style).183. Color language:19 - Primary accent is orange (`#f80` / `#ff8800`) for active states, borders, and highlights.20 - Dark neutrals for surfaces and backgrounds.21 - Muted gray secondary text; brighter links on hover.224. Components and spacing:23 - Card sections with clear headers, small helper text, and compact action buttons.24 - Product grids using responsive columns (`row-cols-*`) and centered images.25 - Keep whitespace generous and readable.2627## Product card/content pattern28291. Product title should be prominent and easy to scan.302. Product image should be centered and responsive (`img-fluid`).313. Hardware tuple line should be concise and technical:32 - `SOC, SENSOR, WIFI, FLASH`.334. Optional install/help link should be visually secondary (info-toned/muted).345. Prefer simple, repeatable markup over heavy custom components.3536## Interaction and UX pattern37381. Keep controls straightforward:39 - Secondary buttons for navigation/actions.40 - Orange accent for active/current state.412. Use subtle feedback:42 - Soft hover color shifts.43 - Light animation only for status/attention (loading, recording, copied).443. Avoid noisy visual effects:45 - No heavy gradients, glassmorphism, or dense shadows unless required.4647## Chart pattern (Chart.js)4849For time-series charts in camera-facing pages (e.g. ISP Inspector, Sensor Data50Collector), keep one visual language:51521. Lines:53 - Data series: `borderWidth: 2`, solid (no `borderDash`).54 - Reference/threshold lines: `borderWidth: 1`, solid, `tension: 0`.55 - `tension: 0.4` on data series for smooth curves.56 - `fill: false` — no area fills.57 - Keep few series per chart so colors alone distinguish them.582. Points:59 - `pointRadius: 1`.60 - `pointBackgroundColor` and `pointBorderColor` set to the line color;61 `pointBorderWidth: 1`.62 - Reference lines: `pointRadius: 0`, `pointHoverRadius: 0`.633. Hover / tooltip:64 - `interaction: { mode: "index", intersect: false }` — one tooltip at the65 hovered x index listing every series value.66 - Hide the legend (`legend: { display: false }`) when the tooltip already67 names each series.68 - Use Chart.js default tooltips; no custom HTML tooltips.6970## Do / Don't71721. Do:73 - Preserve Thingino visual identity: dark base + orange accent + technical clarity.74 - Use readable contrast and predictable alignment.75 - Keep metadata compact and scannable.762. Don't:77 - Introduce unrelated color systems as primaries.78 - Over-style cards with large decorative wrappers.79 - Hide critical hardware details behind interactions.8081## Quick implementation checklist82831. Set dark theme and Bootstrap baseline.842. Define fonts and orange accent token first.853. Build responsive product cards with centered images and hardware tuples.864. Validate active/hover/button states use Thingino accent language.875. Ensure technical text remains legible and compact on mobile.886. Charts follow the Chart pattern: 2px solid data lines, 1px reference lines,89 index-mode tooltip, legend hidden when tooltips name each series.