.container { container: editor / inline-size; } .editor { display: flex; flex-direction: column; gap: var(--s-3); } .tracks { display: none; } .list { display: flex; flex-direction: column; } @container editor (min-width: 40rem) { .tracks { display: grid; grid-template-columns: max-content minmax(0, 1fr) max-content; column-gap: var(--s-3); row-gap: var(--s-2); align-items: center; } .list { display: none; } } .axisToggle { display: flex; align-items: center; gap: 2px; align-self: end; padding: 0; background: none; border: none; font-size: var(--font-3xs); line-height: 1rem; color: var(--color-text-high); white-space: nowrap; cursor: pointer; &:hover { color: var(--color-text); } &:focus-visible { outline: var(--focus-ring); } } .axisLead { justify-self: start; } .axisTrail { justify-self: end; } .axis { position: relative; height: 1rem; align-self: end; & .axisLabel { position: absolute; top: 0; transform: translateX(-50%); font-size: var(--font-3xs); line-height: 1rem; color: var(--color-text-high); white-space: nowrap; &.axisLabelFirst { transform: translateX(0); } &.axisLabelLast { transform: translateX(-100%); } } } .dayLabel { display: flex; align-items: center; gap: var(--s-1); font-size: var(--font-xs); font-weight: var(--weight-semi); white-space: nowrap; } .noteFlag { color: var(--color-text-accent); flex-shrink: 0; } .track { position: relative; height: 32px; background-color: var(--color-bg-high); border-radius: var(--radius-field); touch-action: none; cursor: crosshair; user-select: none; } .tick { position: absolute; top: 0; bottom: 0; width: 1px; background-color: var(--color-bg-higher); pointer-events: none; &.tickMidnight { background-color: var(--color-border); } } .bar { container: bar / inline-size; position: absolute; top: 3px; bottom: 3px; display: flex; align-items: center; justify-content: center; padding: 0; background-color: var(--color-success-low); border: 1px solid var(--color-success); border-radius: var(--radius-field); cursor: grab; z-index: 1; &:focus-visible { outline: var(--focus-ring); } } .barPreview { border-style: dashed; opacity: 0.7; pointer-events: none; } .barTimes, .barTimesShort { display: none; max-width: 100%; padding-inline: var(--s-1); font-size: var(--font-3xs); color: var(--color-text); white-space: nowrap; overflow: hidden; pointer-events: none; } @container bar (min-width: 3rem) { .barTimesShort { display: block; } } @container bar (min-width: 7.5rem) { .barTimes { display: block; } .barTimesShort { display: none; } } .handle { position: absolute; top: 0; bottom: 0; width: 8px; cursor: ew-resize; &.handleStart { left: -2px; } &.handleEnd { right: -2px; } } .fillHandle { position: absolute; right: 8px; bottom: -5px; width: 10px; height: 10px; background-color: var(--color-success); border: 2px solid var(--color-bg); border-radius: var(--radius-full); cursor: ns-resize; opacity: 0; .bar:hover &, .bar:focus-visible & { opacity: 1; } } .commitment { position: absolute; top: 3px; bottom: 3px; display: flex; align-items: center; justify-content: center; overflow: hidden; background: repeating-linear-gradient( -45deg, var(--color-bg-higher) 0 5px, transparent 5px 10px ); border: 1px dashed var(--color-border-high); border-radius: var(--radius-field); pointer-events: none; z-index: 2; } .commitmentName { max-width: 100%; padding-inline: var(--s-1); font-size: var(--font-3xs); color: var(--color-text-high); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; background-color: var(--color-bg); border-radius: var(--radius-full); } .liveLabel { position: absolute; bottom: calc(100% + 4px); z-index: 3; padding: 0 var(--s-1-5); background-color: var(--color-bg-higher); border-radius: var(--radius-field); font-size: var(--font-2xs); white-space: nowrap; pointer-events: none; } .editButton { display: flex; align-items: center; justify-content: center; padding: var(--s-1); background: none; border: none; border-radius: var(--radius-field); color: var(--color-text-high); cursor: pointer; &:hover { color: var(--color-text); } &:focus-visible { outline: var(--focus-ring); } } .footer { font-size: var(--font-xs); color: var(--color-text-high); } .listDay { display: flex; flex-direction: column; gap: var(--s-1-5); padding-block: var(--s-2); border-bottom: 1px solid var(--color-bg-higher); &:last-child { border-bottom: none; } } .listDayHeader { display: flex; align-items: center; gap: var(--s-1); font-size: var(--font-xs); font-weight: var(--weight-semi); } .listDayBody { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-1-5); } .timeChip { padding: var(--s-0-5) var(--s-2); background-color: var(--color-success-low); border: 1px solid var(--color-success); border-radius: var(--radius-full); font-size: var(--font-xs); color: var(--color-text); cursor: pointer; &:focus-visible { outline: var(--focus-ring); } } .commitmentChip { padding: var(--s-0-5) var(--s-2); background: repeating-linear-gradient( -45deg, var(--color-bg-higher) 0 5px, transparent 5px 10px ); border: 1px dashed var(--color-border-high); border-radius: var(--radius-full); font-size: var(--font-xs); color: var(--color-text-high); } .addChip { display: inline-flex; align-items: center; gap: var(--s-0-5); padding: var(--s-0-5) var(--s-1); background: none; border: none; border-radius: var(--radius-full); font-size: var(--font-xs); color: var(--color-text-accent); cursor: pointer; &:focus-visible { outline: var(--focus-ring); } } .listNote { display: flex; align-items: center; gap: var(--s-1); font-size: var(--font-2xs); color: var(--color-text-high); } .dayEditor { display: flex; flex-direction: column; gap: var(--s-3); min-width: 240px; } .dayEditorTitle { font-size: var(--font-sm); font-weight: var(--weight-bold); } .dayEditorRange { display: flex; align-items: flex-end; gap: var(--s-2); } .dayEditorAdd { align-self: start; }