:root { color-scheme: light dark; font: 16px/1.4 system-ui, sans-serif; } body { max-width: 1000px; margin: 0 auto; padding: 2rem; } section, rocket-sortable-list { display: block; padding: 1rem; border: 1px solid color-mix(in srgb, currentColor 25%, transparent); border-radius: 0.75rem; } .kanban { min-width: 0; } .kanban rocket-kanban-board { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; } [data-kanban-lane-cards], rocket-sortable-list { display: grid; gap: 0.5rem; } rocket-drag-group { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; } rocket-bento-workspace { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; } .nested-frame rocket-sortable-list { margin-top: 0.75rem; padding: 0.5rem; } .nested-frame [data-drag-item] > rocket-sortable-list [data-sortable-item] { margin: 0; } rocket-sortable-tree { display: block; font: 13px/1.35 ui-monospace, "SFMono-Regular", Consolas, monospace; } [data-tree-children] { min-height: 24px; padding-left: 16px; } [data-tree-children][hidden] { display: none; } rocket-sortable-tree > [data-tree-children] { padding-left: 0; } [data-tree-node] { margin: 0; } [data-tree-row] { position: relative; display: flex; align-items: center; gap: 4px; min-height: 26px; padding: 2px 6px; border-radius: 2px; background: transparent; cursor: grab; touch-action: none; } [data-tree-row]:hover { background: color-mix(in srgb, currentColor 7%, transparent); } [data-tree-row]:focus-visible { outline: 1px solid Highlight; outline-offset: -1px; } [data-tree-row] span { display: inline-block; min-width: 14px; color: color-mix(in srgb, currentColor 55%, transparent); } [data-tree-row][aria-expanded="false"] span { transform: rotate(-90deg); } [data-tree-node][data-tree-kind="folder"] > [data-tree-row] { font-weight: 600; } [data-tree-row][data-tree-into] { background: color-mix(in srgb, Highlight 15%, transparent); outline: 1px solid Highlight; outline-offset: -1px; } [data-tree-row][data-tree-before]::before, [data-tree-children][data-tree-end]::after { content: ""; display: block; height: 2px; background: Highlight; } [data-tree-row][data-tree-before]::before { position: absolute; inset: -1px 0 auto; } [data-bento-grid] { display: grid; grid-template-columns: repeat(var(--bento-columns, 4), minmax(0, 1fr)); grid-auto-rows: 76px; gap: 8px; min-height: 330px; padding: 8px; border: 1px dashed color-mix(in srgb, currentColor 35%, transparent); border-radius: 0.5rem; } [data-bento-item] { position: relative; display: flex; align-items: center; justify-content: center; min-width: 0; padding: 0.5rem; border: 1px solid color-mix(in srgb, currentColor 35%, transparent); border-radius: 0.5rem; background: Canvas; cursor: grab; touch-action: none; } [data-bento-item]:not([data-drag-preview]) { transition: transform 180ms cubic-bezier(0.2, 0, 0, 1); } [data-bento-projecting]:not([data-dragging]) { opacity: 0.45; } @media (prefers-reduced-motion: reduce) { [data-bento-item] { transition: none; } } [data-bento-item] strong { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } [data-bento-resize] { position: absolute; right: 4px; bottom: 4px; border: 0; background: transparent; cursor: nwse-resize; touch-action: none; } [data-bento-target] { z-index: 2; border: 2px dashed Highlight; border-radius: 0.5rem; background: color-mix(in srgb, Highlight 18%, transparent); pointer-events: none; } [data-bento-resizing] { opacity: 0.7; } [data-drop-list] { min-height: 8rem; } [data-drop-list] h3 { margin-top: 0; } [data-drag-item] { margin-block: 0.5rem; } [data-kanban-card], [data-sortable-item], [data-drag-item] { padding: 0.75rem; border: 1px solid color-mix(in srgb, currentColor 22%, transparent); border-radius: 0.5rem; background: Canvas; cursor: grab; touch-action: none; transition: opacity 120ms ease, border-color 120ms ease, box-shadow 120ms ease, background 120ms ease; } [data-kanban-card-main] { all: unset; cursor: inherit; } [data-dragging] { opacity: 0.45; cursor: grabbing; } [data-drag-preview] { margin: 0; opacity: 0.9; pointer-events: none; box-shadow: 0 12px 30px color-mix(in srgb, CanvasText 20%, transparent); transform: rotate(1deg) scale(1.02); } body:has([data-drag-active], [data-resize-active]) { user-select: none; -webkit-user-select: none; } [data-drop-active] { background: color-mix(in srgb, Highlight 8%, transparent); } [data-kanban-card], [data-sortable-item], [data-drag-item], [data-kanban-lane-cards], [data-drop-list], rocket-sortable-list { position: relative; } [data-kanban-lane-cards] { min-height: 12px; } :is([data-kanban-card], [data-sortable-item], [data-drag-item])[data-drop-before]::before, :is([data-kanban-lane-cards], [data-drop-list], rocket-sortable-list)[data-drop-end]::after { content: ""; position: absolute; left: 0; right: 0; height: 3px; border-radius: 3px; background: Highlight; pointer-events: none; z-index: 2; } :is([data-kanban-card], [data-sortable-item], [data-drag-item])[data-drop-before]::before { top: -7px; } :is([data-kanban-lane-cards], [data-drop-list], rocket-sortable-list)[data-drop-end]::after { bottom: -7px; } [data-selected] { outline: 2px solid Highlight; outline-offset: 2px; } .demo-block { margin-block: 2rem; } .docs-shell { max-width: 1000px; margin: 0 auto; } .docs-header { max-width: 680px; margin-block: 1rem 3rem; } .eyebrow { color: Highlight; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; } .docs-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; } .docs-card { padding: 1rem; border: 1px solid color-mix(in srgb, currentColor 20%, transparent); border-radius: 0.75rem; } pre { overflow: auto; padding: 0.75rem; border-radius: 0.5rem; background: color-mix(in srgb, CanvasText 8%, Canvas); } .docs-note { margin-block: 3rem 1rem; color: color-mix(in srgb, currentColor 70%, transparent); } @media (max-width: 700px) { .docs-grid, rocket-bento-workspace { grid-template-columns: 1fr; } }