// Toast

Toast

Chamfered transient notification that slides in from the edge; status colour rides the cut and the left accent bar.

.talos-toast is the transient notification. It shares the alert’s two-layer chamfer hairline and 2px left status bar, but lives in a fixed .talos-toast-region and enters on a pure-CSS keyframe — you add or remove the node, CSS slides + fades it in. The status colour is the only chroma: it paints the chamfered edge, the icon, the title, and the left bar at once.

Default — neutral

PREVIEW
◆
Snapshot saved
Checkpoint atlas-01 written to cold store.
<div class="talos-toast">
  <span class="talos-toast__icon">◆</span>
  <div class="talos-toast__title">Snapshot saved</div>
  <div class="talos-toast__body">Checkpoint atlas-01 written to cold store.</div>
  <button class="talos-toast__close" aria-label="Dismiss">×</button>
</div>

A 3-column grid (icon · title+body · close) on --talos-surface-3 with the float shadow. With no status modifier the edge + accents read as neutral foreground.

Status variants

PREVIEW
✓
Synced
All replicas consistent.
◆
Build queued
Build #482 waiting on the test gate.
▲
Replica lag
eu-west-3 is 4s behind primary.
✕
Push rejected
Remote refused: non-fast-forward.
<div class="talos-toast talos-toast--success">…</div>
<div class="talos-toast talos-toast--info">…</div>
<div class="talos-toast talos-toast--warning">…</div>
<div class="talos-toast talos-toast--danger">…</div>

Each modifier rebinds one channel triplet (--_status-hsl); the base rules build the edge, icon, title, and left bar from it. Four colours, one source of truth per toast.

In the region

PREVIEW
✓
Synced
All replicas consistent.
◆
Build queued
Build #482 waiting on the test gate.
<div class="talos-toast-region">
  <div class="talos-toast talos-toast--success">…</div>
  <div class="talos-toast talos-toast--info">…</div>
</div>

.talos-toast-region is position: fixed bottom-right and stacks toasts in a column. The region is pointer-events: none (inert); each toast re-enables its own pointer events so only the cards are clickable. (The demo above pins it position: static so it sits inline.)

Animation

Every .talos-toast runs the talos-toast-in keyframe on mount — slide from the right edge + fade to opaque, on --talos-dur-slow / --talos-ease-liquid. It is suppressed under prefers-reduced-motion: reduce. There is no exit keyframe; removal is up to the consumer.

Classes

ClassEffect
.talos-toast-regionfixed bottom-right column container; inert (pointer-events: none)
.talos-toastone notification card — chamfered, shadowed, slides in via talos-toast-in
.talos-toast__iconleading glyph, painted in the status colour
.talos-toast__titleuppercase HUD heading, status-coloured
.talos-toast__bodysecondary-text message line
.talos-toast__closedismiss button (top-right)
.talos-toast--successrecolours edge + accents to --talos-success
.talos-toast--warningrecolours edge + accents to --talos-warning
.talos-toast--dangerrecolours edge + accents to --talos-danger
.talos-toast--inforecolours edge + accents to --talos-info

Shares the status vocabulary with .talos-alert and .talos-badge.