Panel Rules
CoinPost Terminal
CoinPost Terminal Design Rules
This page turns `coinpost.ai`'s main rail and section-splitting pattern into an executable ruleset. Outer dividers stay full-bleed, content stays inside a `1660px` rail, the light theme stays pure white, and texture is limited to the empty space.
- Main rail: 1660px
- Buttons: 36px
- AI chip: 12px / 48px
01 Typeface
Typeface and Size Scale
This set defines the page voice. CoinPost Terminal relies on stable sans, restrained mono, and a fine enough hierarchy, not decorative type.
Notes
Body copy, headings, buttons, and navigation use `Geist Sans` by default. Monospace is reserved for numbers, paths, timestamps, sequence ids, and code so the page does not turn into a fake terminal.
This version expands the scale to `display / h1 / h2 / h3 / h4 / body.l / body.m / body.s / label / overline / caption / mono`, twelve levels in total, enough for docs, feeds, and explanatory blocks.
Examples
Parameters / Class
--cpt-font-sans
--cpt-font-mono
.cpt-type-sample--display
.cpt-type-sample--h1
.cpt-type-sample--body-m
.cpt-type-sample--h4 / .cpt-type-sample--body-s
.cpt-type-sample--label / .cpt-type-sample--overline / .cpt-ai-chip__text
02 Palette
Palette and Theme Tokens
Colors are managed as semantic tokens. In light theme the brand color is tightened to `#1C809B` so it does not feel washed out or too heavy.
Notes
Background returns to pure white. Texture is only a terminal hint in empty areas and stays out of content containers. Standard modules use flat fills and thin borders instead of gradients.
The AI gradient is reserved for icons and local hover states instead of coloring whole panels.
Examples
#1C809B
#F5F7FA
rgba(22,31,49,0.12)
#A655F7 → #24D0EB
Light Neutrals
#FFFFFF
#FFFFFF
#F5F7FA
#161F31
hsl(240 4% 32%)
hsl(240 4% 46%)
rgba(22,31,49,0.12)
Dark Neutrals
#18181B
#09090B
#27272A
rgba(255,255,255,0.94)
rgba(255,255,255,0.70)
#A1A1AA
rgba(255,255,255,0.10)
#E35706#F27313#F38F36#F7BB77#437DFC#65A0FD#9AC4FE#D91A45#EB3E5B#F16E81#F49FA9#359489#44B8A7#53D2BE#ADF4E5#3EB5D7#4AD0EF#81E7FA#D42422#E74341#EE6E6C#F4A6A5#3EA44B#4FC660#66DC7E#C6F6D2#C68B0B#E7B413#F5CA0FParameters / Class
--cpt-brand
--cpt-bg-base / --cpt-bg-elevated / --cpt-bg-soft
--cpt-text-primary / --cpt-text-secondary / --cpt-text-tertiary / --cpt-line
See design.md 2.1
.cpt-ai-chip__icon
--cpt-success / --cpt-warning / --cpt-error / --cpt-info
See design.md 2.3
See design.md 2.4
.cpt-* / --cpt-*
03 Components
Common Components
Components use thin borders, flat surfaces, and explicit sizing. The AI chip is tighter, and the button set now includes the common white surface button from the reference site.
Notes
The AI chip is back to a size closer to the reference: `12px` text, `48px` height, `24px` icon. It starts as white with a light border and only shifts into a soft violet-to-cyan gradient on hover.
Buttons are standardized at `36px`. Alongside primary and secondary buttons there is now a dedicated `surface button` for white actions such as `Load More` and `Today`. The internal secondary navigation is broken out into a fixed `cpt-subnav` instead of being forced back into the top bar.
Examples
Lists the latest topics with `limit`, `cursor`, and `locale` parameters.
Card Surface
radius.md + shadow.cardMenu / Popover
radius.lg + shadow.modal.smFocus Ring
shadow.focusInput Focus
radius.md + shadow.focus.inputParameters / Class
.cpt-ai-chip
.cpt-ai-chip__icon
.cpt-button
.cpt-button--surface
.cpt-button--surface-hover / .cpt-ai-chip--hover
.cpt-subnav / .cpt-subnav__item / .cpt-is-active
.cpt-endpoint-card
--cpt-radius-md / --cpt-radius-lg / --cpt-radius-xl / --cpt-radius-full
--cpt-shadow-card / --cpt-shadow-modal-sm / --cpt-shadow-focus / --cpt-shadow-focus-input
04 Decorations
Decorations and Dividers
The diamond is a structural node, not card skin. It belongs at the intersection of the rail and the horizontal divider and is responsible for section cuts and closures.
Notes
Start with a full reading rail, then cut sections inside it. Horizontal dividers handle sentence breaks, and the diamond tells you: this is a module boundary.
Offset shadows are reserved for focus objects. They are not the same layer as the diamond and should never be stacked on the same object.
Examples
Module A
Market SummarySection Break
Disclaimer / Rail Marker / Module SplitFocus Object
Only focus objects may use offset shadowsParameters / Class
.cpt-section__inner::before / ::after
.cpt-section
.cpt-section__inner
.cpt-panel--offset
.cpt-divider-showcase / .cpt-focus-card
05 Layout
Layout Skeletons
The rail expands to a max width of `1660px`, and several content skeletons are defined instead of relying on one page structure.
Notes
Section dividers stay full-bleed while the content rail sits at `1660px`. Wide screens are common, so this version allows a bolder central width, but reading pressure still has to be controlled with columns and whitespace.
In addition to the main rail skeleton, the rules include reference skeletons for continuous feed, primary-secondary split, and card matrix.
To make the skeletons easier to inspect directly, all four structures are split into standalone HTML pages so you do not have to judge only from thumbnails.
Examples
Rail Flow
Continuous sections stacked vertically. Good for rule docs, feeds, and a docs homepage.
Primary / Secondary
Main stage with side rail. Good for homepage hero blocks, market summaries, and high-priority entry points.
Card Matrix
High-density card matrix. Good for topic entry pages, module indexes, and navigation hubs.
Viewport / Rail
Full-bleed backgrounds with a centered rail. Good for banded sections, chapter transitions, and large closing blocks.
Parameters / Class
--cpt-container / .cpt-section__inner
.cpt-section__inner
.cpt-layout-rail / .cpt-split-demo / .cpt-matrix-demo / .cpt-container-ruler
layout-rail-flow / layout-primary-secondary / layout-card-matrix / layout-viewport-rail
.cpt-hero / .cpt-split-demo
.cpt-spec__copy / .cpt-spec__example / .cpt-spec__specs
This page turns the `coinpost.ai` layout system into a `CoinPost Terminal` rules page. Class names use the `cpt-` prefix, variables use `--cpt-*`, the light background is back to pure white, and the AI chip and surface button are both defined as reusable styles.