A standardized gb-input / gb-textarea / gb-select
set. The --hair-control token (3:1) is the new WCAG 1.4.11 control-border
guarantee. All four directions use it. Each shows default / focus / disabled / error
states with icon+text on error (no color-only signaling). Same canonical tokens; four
incompatible visual treatments.
The minimal treatment — a single hairline under the field, no fill, no
surrounding box. Maximum paper; minimum chrome. Focus swaps the hairline
from --hair-control to --green and bumps its
weight 1→2 px. Best for clean forms where the form itself is
quiet and the page chrome is loud; weakest where users need strong
affordance ("this is editable") at a glance.
A raised field with a 1 px --hair-control
border and 4 px radius. Most familiar — a textbook form control.
Focus swaps border + adds a 2 px --green ring outside
the box. Error swaps border to --err and shows icon+text
below. Best general-purpose choice; trades the engraved-paper
minimalism of A for unambiguous affordance.
A boxed field with a JetBrains-Mono eyebrow label sitting inside
the top edge — "CASE NAME", "REPORTER", etc. The label is part of the
field's frame, not above it; required fields get a red *
in the eyebrow. Strongest signal that "this is a labeled form field";
uses more vertical space and trades visual lightness for affordance
density. Good for dense, vertical-stacked forms.
A field set inside a --sunken surface, with the input
itself on --paper + 1px inset hairline. The form "carves
into" the page — most paper-native of the four. Wraps all three
controls in a single sunken region with a top-level eyebrow label.
Best where the form is part of a larger block of sunken content
(a settings card, an integration panel); risks looking "embedded"
when the field should feel like a free-standing input.
A · underline: Single hairline under field. Maximum paper, minimum chrome. Familiar to anyone who's filled out a paper form.
B · box: raised field with 4 px radius + 1 px border. Most textbook. Best general-purpose.
C · box-eyebrow: Boxed field with the label sitting inside the top edge as a JetBrains-Mono eyebrow. Highest density / strongest labeled-field affordance.
D · sunken: Fields carved into a --sunken surface. Most paper-native; works best as part of a larger sunken block.
All four use --hair-control (3:1) for the control boundary, --green for the focus ring, and --err + an icon + text for the error state — no color-only signaling. The global
:focus-visible baseline from the Phase 5c recommendation is applied throughout. Disabled uses opacity 0.55 (1.4.3-exempt) plus cursor: not-allowed.